Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3314221.3314633acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article
Open access

Scenic: a language for scenario specification and scene generation

Published: 08 June 2019 Publication History

Abstract

We propose a new probabilistic programming language for the design and analysis of perception systems, especially those based on machine learning. Specifically, we consider the problems of training a perception system to handle rare events, testing its performance under different conditions, and debugging failures. We show how a probabilistic programming language can help address these problems by specifying distributions encoding interesting types of inputs and sampling these to generate specialized training and test sets. More generally, such languages can be used for cyber-physical systems and robotics to write environment models, an essential prerequisite to any formal analysis. In this paper, we focus on systems like autonomous cars and robots, whose environment is a scene, a configuration of physical objects and agents. We design a domain-specific language, Scenic, for describing scenarios that are distributions over scenes. As a probabilistic programming language, Scenic allows assigning distributions to features of the scene, as well as declaratively imposing hard and soft constraints over the scene. We develop specialized techniques for sampling from the resulting distribution, taking advantage of the structure provided by Scenic's domain-specific syntax. Finally, we apply Scenic in a case study on a convolutional neural network designed to detect cars in road images, improving its performance beyond that achieved by state-of-the-art synthetic data generation methods.

Supplementary Material

WEBM File (p63-fremont.webm)
MP4 File (3314221.3314633.mp4)
Video Presentation

References

[1]
Dario Amodei, Chris Olah, Jacob Steinhardt, Paul F. Christiano, John Schulman, and Dan Mané. 2016. Concrete Problems in AI Safety. CoRR abs/1606.06565 (2016). arXiv:1606.06565.
[2]
Sylvain Arlot and Alain Celisse. 2010. A survey of cross-validation procedures for model selection. Statist. Surv. 4 (2010), 40-79.
[3]
Manfred Broy, Bengt Jonsson, Joost-Pieter Katoen, Martin Leucker, and Alexander Pretschner. 2005. Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science). Springer-Verlag New York, Inc., Secaucus, NJ, USA.
[4]
Guillaume Claret, Sriram K Rajamani, Aditya V Nori, Andrew D Gordon, and Johannes Borgström. 2013. Bayesian inference using data flow analysis. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering. ACM, 92-102.
[5]
Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, and Vladlen Koltun. 2017. CARLA: An Open Urban Driving Simulator. In Conference on Robot Learning, CoRL. 1-16.
[6]
Tommaso Dreossi, Daniel J. Fremont, Shromona Ghosh, Edward Kim, Hadi Ravanbakhsh, Marcell Vazquez-Chanlatte, and Sanjit A. Seshia. 2019. VerifAI: A Toolkit for the Design and Analysis of Artificial Intelligence-Based Systems. arXiv:1902.04245 https://github.com/BerkeleyLearnVerify/VerifAI.
[7]
DuPont. 2012. Global Automotive Color Popularity Report. https://web.archive.org/web/20130818022236/ http://www2.dupont.com/Media_Center/en_US/color_popularity/Images_2012/DuPont2012ColorPopularity.pdf.
[8]
Tayfun Elmas, Jacob Burnim, George Necula, and Koushik Sen. 2013. CONCURRIT: a domain specific language for reproducing concurrency bugs. In ACM SIGPLAN Notices, Vol. 48. ACM, 153-164.
[9]
Artur Filipowicz, Jeremiah Liu, and Alain Kornhauser. 2017. Learning to recognize distance to stop signs using the virtual world of Grand Theft Auto 5. Technical Report. Princeton University.
[10]
Matthew Fisher, Daniel Ritchie, Manolis Savva, Thomas Funkhouser, and Pat Hanrahan. 2012. Example-based Synthesis of 3D Object Arrangements. In ACM SIGGRAPH 2012 (SIGGRAPH Asia '12).
[11]
Daniel Fremont, Xiangyu Yue, Tommaso Dreossi, Shromona Ghosh, Alberto L. Sangiovanni-Vincentelli, and Sanjit A. Seshia. 2018. Scenic: Language-Based Scene Generation. Technical Report UCB/EECS-2018-8. EECS Department, University of California, Berkeley. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2018/EECS-2018-8.html.
[12]
Daniel J. Fremont, Alexandre Donzé, Sanjit A. Seshia, and David Wessel. 2015. Control Improvisation. In 35th IARCS Annual Conference on Foundation of Software Technology and Theoretical Computer Science (FSTTCS) (LIPIcs), Vol. 45. 463-474.
[13]
Daniel J. Fremont, Tommaso Dreossi, Shromona Ghosh, Xiangyu Yue, Alberto L. Sangiovanni-Vincentelli, and Sanjit A. Seshia. 2019. Scenic: A Language for Scenario Specification and Scene Generation. arXiv:1809.09310 https://github.com/BerkeleyLearnVerify/Scenic.
[14]
Rockstar Games. 2015. Grand Theft Auto V. Windows PC version. https://www.rockstargames.com/games/info/V.
[15]
Adele Goldberg and David Robson. 1983. Smalltalk-80: The Language and its Implementation. Addison-Wesley, Reading, Massachusetts.
[16]
Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. 2014. Generative adversarial nets. In Advances in neural information processing systems. 2672-2680.
[17]
Ian J. Goodfellow, Jonathon Shlens, and Christian Szegedy. 2014. Explaining and Harnessing Adversarial Examples. CoRR abs/1412.6572 (2014). arXiv:1412.6572.
[18]
Noah Goodman, Vikash K. Mansinghka, Daniel Roy, Keith Bonawitz, and Joshua B. Tenenbaum. 2008. Church: A universal language for generative models. In Uncertainty in Artificial Intelligence 24 (UAI). 220-229.
[19]
Noah D Goodman and Andreas Stuhlmüller. 2014. The Design and Implementation of Probabilistic Programming Languages. http://dippl.org. Accessed: 2018-7-11.
[20]
Andrew D Gordon, Thomas A Henzinger, Aditya V Nori, and Sriram K Rajamani. 2014. Probabilistic programming. In FOSE 2014. ACM, 167-181.
[21]
Ankush Gupta, Andrea Vedaldi, and Andrew Zisserman. 2016. Synthetic Data for Text Localisation in Natural Images. In Computer Vision and Pattern Recognition, CVPR. 2315-2324.
[22]
Max Jaderberg, Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. 2014. Synthetic Data and Artificial Neural Networks for Natural Scene Text Recognition. CoRR abs/1406.2227 (2014). arXiv:1406.2227.
[23]
Chenfanfu Jiang, Siyuan Qi, Yixin Zhu, Siyuan Huang, Jenny Lin, Lap-Fai Yu, Demetri Terzopoulos, and Song-Chun Zhu. 2018. Configurable 3D Scene Synthesis and 2D Image Rendering with Per-pixel Ground Truth Using Stochastic Grammars. International Journal of Computer Vision (2018), 1-22.
[24]
Matthew Johnson-Roberson, Charles Barto, Rounak Mehta, Sharath Nittur Sridhar, Karl Rosaen, and Ram Vasudevan. 2017. Driving in the Matrix: Can virtual worlds replace human-generated annotations for real world tasks?. In International Conference on Robotics and Automation, ICRA. 746-753.
[25]
Alexander Jung. 2018. imgaug. https://github.com/aleju/imgaug.
[26]
Tejas Kulkarni, Pushmeet Kohli, Joshua B. Tenenbaum, and Vikash K. Mansinghka. 2015. Picture: A probabilistic programming language for scene perception. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 4390-4399.
[27]
Xiaodan Liang, Zhiting Hu, Hao Zhang, Chuang Gan, and Eric P Xing. 2017. Recurrent Topic-Transition GAN for Visual Paragraph Generation. arXiv preprint arXiv:1703.07022 (2017).
[28]
Joerg Liebelt and Cordelia Schmid. 2010. Multi-view object class detection with a 3D geometric model. In Computer Vision and Pattern Recognition, CVPR. 1688-1695.
[29]
Marco Marchesi. 2017. Megapixel Size Image Creation using Generative Adversarial Networks. arXiv preprint arXiv:1706.00082 (2017).
[30]
Olivier Michel. 2004. Webots: Professional Mobile Robot Simulation. International Journal of Advanced Robotic Systems 1, 1 (2004), 39-42.
[31]
Brian Milch, Bhaskara Marthi, and Stuart Russell. 2004. BLOG: Relational modeling with unknown objects. In ICML 2004 workshop on statistical relational learning and its connections to other fields. 67-73.
[32]
Pascal Müller, Peter Wonka, Simon Haegler, Andreas Ulmer, and Luc Van Gool. 2006. Procedural modeling of buildings. In ACM Transactions On Graphics, Vol. 25. ACM, 614-623.
[33]
Yehuda Naveh, Michal Rimon, Itai Jaeger, Yoav Katz, Michael Vinov, Eitan Marcus, and Gil Shurek. 2006. Constraint-Based Random Stimuli Generation for Hardware Verification. In Proc. of AAAI. 1720-1727.
[34]
Aditya V Nori, Chung-Kil Hur, Sriram K Rajamani, and Selva Samuel. 2014. R2: An Efficient MCMC Sampler for Probabilistic Programs. In AAAI. 2476-2482.
[35]
Laminar Research. 2019. X-Plane 11. https://www.x-plane.com/.
[36]
Daniel Ritchie. 2014. Quicksand: A Lightweight Embedding of Probabilistic Programming for Procedural Modeling and Design. In 3rd NIPS Workshop on Probabilistic Programming. https://dritchie.github.io/pdf/qs.pdf.
[37]
Daniel Ritchie. 2016. Probabilistic programming for procedural modeling and design. Ph.D. Dissertation. Stanford University. https://purl.stanford.edu/vh730bw6700.
[38]
Germán Ros, Laura Sellart, Joanna Materzynska, David Vázquez, and Antonio M. López. 2016. The SYNTHIA Dataset: A Large Collection of Synthetic Images for Semantic Segmentation of Urban Scenes. In Computer Vision and Pattern Recognition, CVPR. 3234-3243.
[39]
Stuart Russell, Tom Dietterich, Eric Horvitz, Bart Selman, Francesca Rossi, Demis Hassabis, Shane Legg, Mustafa Suleyman, Dileep George, and Scott Phoenix. 2015. Letter to the Editor: Research Priorities for Robust and Beneficial Artificial Intelligence: An Open Letter. AI Magazine 36, 4 (2015).
[40]
Nasser Saheb-Djahromi. 1978. Probabilistic LCF. In Mathematical Foundations of Computer Science. Springer, 442-451.
[41]
Sanjit A. Seshia, Dorsa Sadigh, and S. Shankar Sastry. 2016. Towards Verified Artificial Intelligence. arXiv:1606.08514.
[42]
Michael Stark, Michael Goesele, and Bernt Schiele. 2010. Back to the Future: Learning Shape Models from 3D CAD Data. In British Machine Vision Conference, BMVC. 1-11.
[43]
Michael Sutton, Adam Greene, and Pedram Amini. 2007. Fuzzing: Brute Force Vulnerability Discovery. Addison-Wesley.
[44]
Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, and Pieter Abbeel. 2017. Domain randomization for transferring deep neural networks from simulation to the real world. In International Conference on Intelligent Robots and Systems, IROS. 23-30.
[45]
David Vazquez, Antonio M Lopez, Javier Marin, Daniel Ponsa, and David Geronimo. 2014. Virtual and realworld adaptation for pedestrian detection. IEEE transactions on pattern analysis and machine intelligence 36, 4 (2014), 797-809.
[46]
Sebastien C Wong, Adam Gatt, Victor Stamatescu, and Mark D McDonnell. 2016. Understanding data augmentation for classification: when to warp?. In Digital Image Computing: Techniques and Applications (DICTA), 2016 International Conference on. IEEE, 1-6.
[47]
Frank Wood, Jan Willem Meent, and Vikash Mansinghka. 2014. A new approach to probabilistic programming inference. In Artificial Intelligence and Statistics. 1024-1032.
[48]
Bichen Wu, Forrest N. Iandola, Peter H. Jin, and Kurt Keutzer. 2017. SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving. In Conference on Computer Vision and Pattern Recognition Workshops, CVPR Workshops. 446-454.
[49]
Yan Xu, Ran Jia, Lili Mou, Ge Li, Yunchuan Chen, Yangyang Lu, and Zhi Jin. 2016. Improved relation classification by deep recurrent neural networks with data augmentation. arXiv preprint arXiv:1601.03651 (2016).

Cited By

View all
  • (2024)Spatialyze: A Geospatial Video Analytics System with Spatial-Aware OptimizationsProceedings of the VLDB Endowment10.14778/3665844.366584617:9(2136-2148)Online publication date: 1-May-2024
  • (2024)CoolerSpace: A Language for Physically Correct and Computationally Efficient Color ProgrammingProceedings of the ACM on Programming Languages10.1145/36897418:OOPSLA2(846-875)Online publication date: 8-Oct-2024
  • (2024)TorchQL: A Programming Framework for Integrity Constraints in Machine LearningProceedings of the ACM on Programming Languages10.1145/36498418:OOPSLA1(833-863)Online publication date: 29-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
June 2019
1162 pages
ISBN:9781450367127
DOI:10.1145/3314221
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 08 June 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automatic test generation
  2. deep learning
  3. fuzz testing
  4. probabilistic programming
  5. scenario description language
  6. synthetic data

Qualifiers

  • Research-article

Funding Sources

Conference

PLDI '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)877
  • Downloads (Last 6 weeks)127
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Spatialyze: A Geospatial Video Analytics System with Spatial-Aware OptimizationsProceedings of the VLDB Endowment10.14778/3665844.366584617:9(2136-2148)Online publication date: 1-May-2024
  • (2024)CoolerSpace: A Language for Physically Correct and Computationally Efficient Color ProgrammingProceedings of the ACM on Programming Languages10.1145/36897418:OOPSLA2(846-875)Online publication date: 8-Oct-2024
  • (2024)TorchQL: A Programming Framework for Integrity Constraints in Machine LearningProceedings of the ACM on Programming Languages10.1145/36498418:OOPSLA1(833-863)Online publication date: 29-Apr-2024
  • (2024)Concretization of Abstract Traffic Scene Specifications Using Metaheuristic SearchIEEE Transactions on Software Engineering10.1109/TSE.2023.333125450:1(48-68)Online publication date: Jan-2024
  • (2024)Choose Your Simulator Wisely: A Review on Open-Source Simulators for Autonomous DrivingIEEE Transactions on Intelligent Vehicles10.1109/TIV.2024.33740449:5(4861-4876)Online publication date: May-2024
  • (2024)A Driver-Vehicle Model for ADS Scenario-Based TestingIEEE Transactions on Intelligent Transportation Systems10.1109/TITS.2024.337353125:8(8641-8654)Online publication date: Aug-2024
  • (2024)Fuzzing Digital Twin With Graphical Visualization of Electronic AVs Provable Test for Consumer SafetyIEEE Transactions on Consumer Electronics10.1109/TCE.2023.326952870:1(4633-4644)Online publication date: Feb-2024
  • (2024)Augmenting Scenario Description Languages for Intelligence Testing of Automated Driving Systems2024 IEEE Intelligent Vehicles Symposium (IV)10.1109/IV55156.2024.10588707(1112-1118)Online publication date: 2-Jun-2024
  • (2024)CARLOS: An Open, Modular, and Scalable Simulation Framework for the Development and Testing of Software for C-ITS2024 IEEE Intelligent Vehicles Symposium (IV)10.1109/IV55156.2024.10588502(3100-3106)Online publication date: 2-Jun-2024
  • (2024)SceneControl: Diffusion for Controllable Traffic Scene Generation2024 IEEE International Conference on Robotics and Automation (ICRA)10.1109/ICRA57147.2024.10610324(16908-16914)Online publication date: 13-May-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media