Skip to main content

PerceMon: Online Monitoring for Perception Systems

  • Conference paper
  • First Online:
Runtime Verification (RV 2021)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12974))

Included in the following conference series:

Abstract

Perception algorithms in autonomous vehicles are vital for the vehicle to understand the semantics of its surroundings, including detection and tracking of objects in the environment. The outputs of these algorithms are in turn used for decision-making in safety-critical scenarios like collision avoidance, and automated emergency braking. Thus, it is crucial to monitor such perception systems at runtime. However, due to the high-level, complex representations of the outputs of perception systems, it is a challenge to test and verify these systems, especially at runtime. In this paper, we present a runtime monitoring tool, PerceMon that can monitor arbitrary specifications in Timed Quality Temporal Logic (TQTL) and its extensions with spatial operators. We integrate the tool with the CARLA autonomous vehicle simulation environment and the ROS middleware platform while monitoring properties on state-of-the-art object detection and tracking algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://github.com/CPS-VIDA/PerceMon.git.

  2. 2.

    https://github.com/carla-simulator/ros-bridge/.

References

  1. ASAM OpenSCENARIO Specification. Technical report, ASAM e. V. (March 2021). https://www.asam.net/standards/detail/openscenario/

  2. Annpureddy, Y., Liu, C., Fainekos, G., Sankaranarayanan, S.: S-TaLiRo: a tool for temporal logic falsification for hybrid systems. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 254–257. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19835-9_21

    Chapter  MATH  Google Scholar 

  3. Bortolussi, L., Nenzi, L.: Specifying and monitoring properties of stochastic spatio-temporal systems in signal temporal logic. In: Proceedings of the 8th International Conference on Performance Evaluation Methodologies and Tools, pp. 66–73. VALUETOOLS 2014, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering) (December 2014). https://doi.org/10.4108/icst.Valuetools.2014.258183

  4. Bouyer, P., Chevalier, F., Markey, N.: On the expressiveness of TPTL and MTL. In: Sarukkai, S., Sen, S. (eds.) FSTTCS 2005. LNCS, vol. 3821, pp. 432–443. Springer, Heidelberg (2005). https://doi.org/10.1007/11590156_35

    Chapter  MATH  Google Scholar 

  5. Dokhanchi, A., Amor, H.B., Deshmukh, J.V., Fainekos, G.: Evaluating perception systems for autonomous vehicles using quality temporal logic. In: Colombo, C., Leucker, M. (eds.) RV 2018. LNCS, vol. 11237, pp. 409–416. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03769-7_23

    Chapter  Google Scholar 

  6. Dokhanchi, A., Hoxha, B., Fainekos, G.: On-line monitoring for temporal logic robustness. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 231–246. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11164-3_19

    Chapter  Google Scholar 

  7. Donzé, A., Jin, X., Deshmukh, J.V., Seshia, S.A.: Automotive systems requirement mining using breach. In: 2015 American Control Conference (ACC), pp. 4097–4097 (July 2015). https://doi.org/10.1109/ACC.2015.7171970

  8. Dosovitskiy, A., Ros, G., Codevilla, F., Lopez, A., Koltun, V.: CARLA: an open urban driving simulator. In: Conference on Robot Learning, pp. 1–16. PMLR (October 2017). http://proceedings.mlr.press/v78/dosovitskiy17a.html

  9. Dreossi, T., et al.: VerifAI: a toolkit for the formal design and analysis of artificial intelligence-based systems. In: Dillig, I., Tasiran, S. (eds.) CAV 2019. LNCS, vol. 11561, pp. 432–442. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-25540-4_25

    Chapter  Google Scholar 

  10. Fainekos, G., Hoxha, B., Sankaranarayanan, S.: Robustness of specifications and its applications to falsification, parameter mining, and runtime monitoring with S-TaLiRo. In: Finkbeiner, B., Mariani, L. (eds.) RV 2019. LNCS, vol. 11757, pp. 27–47. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32079-9_3

    Chapter  Google Scholar 

  11. Fainekos, G.E., Pappas, G.J.: Robustness of temporal logic specifications for continuous-time signals. Theor. Comput. Sci. 410(42), 4262–4291 (2009). https://doi.org/10.1016/j.tcs.2009.06.021

    Article  MathSciNet  MATH  Google Scholar 

  12. Gabelaia, D., Kontchakov, R., Kurucz, A., Wolter, F., Zakharyaschev, M.: On the computational complexity of spatio-temporal logics. In: Proceedings of the 16th AAAI International FLAIRS Conference, pp. 460–464. AAAI Press (2003)

    Google Scholar 

  13. Haghighi, I., Jones, A., Kong, Z., Bartocci, E., Gros, R., Belta, C.: SpaTeL: a novel spatial-temporal logic and its applications to networked systems. In: Proceedings of the 18th International Conference on Hybrid Systems: Computation and Control, pp. 189–198. HSCC 2015, Association for Computing Machinery (2015). https://doi.org/10.1145/2728606.2728633

  14. Hekmatnejad, M.: Formalizing Safety, Perception, and Mission Requirements for Testing and Planning in Autonomous Vehicles. Ph.D. thesis, Arizona State University (2021)

    Google Scholar 

  15. Kato, S., et al.: Autoware on board: enabling autonomous vehicles with embedded systems. In: 2018 ACM/IEEE 9th International Conference on Cyber -Physical Systems (ICCPS), pp. 287–296 (April 2018). https://doi.org/10.1109/ICCPS.2018.00035

  16. Lee, T.B.: Report: Software bug led to death in Uber’s self-driving crash (May 2018). https://arstechnica.com/tech-policy/2018/05/report-software-bug-led-to-death-in-ubers-self-driving-crash/

  17. Maler, O., Nickovic, D.: Monitoring temporal properties of continuous signals. In: Lakhnech, Y., Yovine, S. (eds.) FORMATS/FTRTFT -2004. LNCS, vol. 3253, pp. 152–166. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30206-3_12

    Chapter  MATH  Google Scholar 

  18. Nenzi, L., Bortolussi, L., Ciancia, V., Loreti, M., Massink, M.: Qualitative and quantitative monitoring of spatio-temporal properties. In: Bartocci, E., Majumdar, R. (eds.) RV 2015. LNCS, vol. 9333, pp. 21–37. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23820-3_2

    Chapter  Google Scholar 

  19. Nickovic, D., Yamaguchi, T.: RTAMT: Online Robustness Monitors from STL. arXiv:2005.11827 [cs] (May 2020). http://arxiv.org/abs/2005.11827

  20. Quigley, M., et al.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software, vol. 3, p. 5. Kobe, Japan (2009)

    Google Scholar 

  21. Redmon, J.: Darknet: Open source neural networks in c (2013–2016). http://pjreddie.com/darknet/

  22. Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: unified, real-time object detection . In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 779–788 (2016). https://www.cv-foundation.org/openaccess/content%5Fcvpr%5F2016/html/Redmon%5FYou%5FOnly%5FLook%5FCVPR%5F2016%5Fpaper.html

  23. Redmon, J., Farhadi, A.: YOLOv3: An Incremental Improvement. arXiv:1804.02767 [cs] (April 2018). http://arxiv.org/abs/1804.02767

  24. Templeton, B.: Tesla In Taiwan Crashes Directly Into Overturned Truck, Ignores Pedestrian, With Autopilot On (June 2020). https://www.forbes.com/sites/bradtempleton/2020/06/02/tesla-in-taiwan-crashes-directly-into-overturned-truck-ignores-pedestrian-with-autopilot-on/

  25. Wojke, N., Bewley, A., Paulus, D.: Simple online and realtime tracking with a deep association metric. In: 2017 IEEE International Conference on Image Processing (ICIP), pp. 3645–3649 (September 2017). https://doi.org/10.1109/ICIP.2017.8296962

  26. Zapridou, E., Bartocci, E., Katsaros, P.: Runtime verification of autonomous driving systems in CARLA. In: Deshmukh, J., Ničković, D. (eds.) RV 2020. LNCS, vol. 12399, pp. 172–183. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-60508-7_9

    Chapter  Google Scholar 

Download references

Acknowledgment

This work was partially supported by the National Science Foundation under grant no. CNS-2039087 and grant no. CNS-2038666, and the tool was developed with support from Toyota Research Institute North America.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anand Balakrishnan .

Editor information

Editors and Affiliations

A Semantics for STQL

A Semantics for STQL

Consider a data stream \(\xi \) consisting of frames containing objects and annotated with a time stamp. Let \(i \in \mathbb {N}\) be the current frame of evaluation, and let \(\xi _i\) denote the \(i^{th}\) frame. We let \(\epsilon : V_t \cup V_f \rightarrow \mathbb {N}\cup \{\mathrm {NaN}\} \) denote a mapping from a pinned time or frame variable to a frame index (if it exists), and let \(\zeta : V_o \rightarrow \mathbb {N}\) be a mapping from an object variable to an actual object ID that was assigned by a quantifier. Finally, we let \(\mathcal {O}(\xi _i)\) denote the set of object IDs available in the frame \(i\), and let \(t(\xi _i)\) output the timestamp of the given frame.

Let \(\llbracket \varphi \rrbracket \) be the quality of the STQL formula, \(\varphi \), at the current frame \(i\), which can be recursively defined as follows:

  • For the propositional and temporal operations, the semantics simply follows the Boolean semantics for LTL or MTL, i.e.,

  • For constraints on time and frame variables,

    $$\begin{aligned} \llbracket x - \textsf {C\_TIME}\sim c \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \epsilon (x) - t(\xi _i) \sim c \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket f - \textsf {C\_FRAME}\sim c \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \epsilon (f) - i \sim c \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \end{aligned}$$
  • For operations on object variables,

    $$\begin{aligned} \llbracket \{id_j = id_j\} \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \zeta (id_j) = \zeta (id_k) \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {C}}\,}}(id_j) = c \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \mathcal {O}(\xi _i)(\zeta (id_j)).\text {class} = c \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {C}}\,}}(id_j) = {{\,\mathrm{\mathsf {C}}\,}}(id_k) \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \mathcal {O}(\xi _i)(\zeta (id_j)).\text {class} \\ \qquad \qquad = \mathcal {O}(\xi _i)(\zeta (id_k)).\text {class} \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {P}}\,}}(id_j) \sim r \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \mathcal {O}(\xi _i)(\zeta (id_j)).\text {prob} \sim r \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {P}}\,}}(id_j) \sim r \times {{\,\mathrm{\mathsf {P}}\,}}(id_k) \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } \mathcal {O}(\xi _i)(\zeta (id_j)).\text {prob} \sim r \\ \qquad \qquad \times \mathcal {O}(\xi _i)(\zeta (id_k)).\text {prob} \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \end{aligned}$$
  • For the area, latitudinal offset, and longitudinal offset,

    $$\begin{aligned} \llbracket {{\,\mathrm{\mathsf {Area}}\,}}(\mathcal {T}_1) \sim r \rrbracket&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } {{\,\mathrm{\mathsf {Area}}\,}}({{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}_1, \xi , \zeta )) \sim r \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {Lat}}\,}}(id_1, \mathrm {CRT}_1) \sim r \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } f_{lat}{}(id_1, \mathrm {CRT}_1, \xi , i, \epsilon , \zeta ) \sim r \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \\ \llbracket {{\,\mathrm{\mathsf {Lon}}\,}}(id_1, \mathrm {CRT}_1) \sim r \rrbracket (\xi , i, \epsilon , \zeta )&= {\left\{ \begin{array}{ll} \top ,\quad \text {if } f_{lon}(id_1, \mathrm {CRT}_1, \xi , i, \epsilon , \zeta ) \sim r \\ \bot ,\quad \text {otherwise.} \end{array}\right. } \end{aligned}$$

    where, \(\sim \in \{ <,>,\le ,\ge \}\), and

    • \(f_{lat}\) computes the lateral distance of the \(\mathrm {CRT}\) point of an object identified by \(\mathcal {O}(\zeta (id_1))\) from the Longitudinal axis;

    • \(f_{lon}\) computes the longitudinal distance of the \(\mathrm {CRT}\) point of an object identified by \(\mathcal {O}(\zeta (id_1))\) from the Lateral axis; and

    • \({{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}, \xi , \zeta )\) is the compound spatial object created after set operations on bounding boxes (defined below).

  • And, finally, for the spatial existence operator,

    Here, the compound spatial function, \({{\,\mathrm{\mathfrak {U}}\,}}\) is defined as follows:

    $$\begin{aligned} {{\,\mathrm{\mathfrak {U}}\,}}(\varnothing , \xi , \zeta )&= \emptyset \\ {{\,\mathrm{\mathfrak {U}}\,}}(\mathbb {U}, \xi , \zeta )&= \mathbb {U}\\ {{\,\mathrm{\mathfrak {U}}\,}}({{\,\mathrm{\mathfrak {BB}}\,}}(id), \xi , \zeta )&= \zeta (id).\text {bbox} \\ {{\,\mathrm{\mathfrak {U}}\,}}(\overline{\mathcal {T}}, \xi , \zeta )&= \mathbb {U}\setminus {{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}, \xi , \zeta ) \\ {{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}_1 \sqcup \mathcal {T}_2, \xi , \zeta )&= {{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}_1, \xi , \zeta ) \cup {{\,\mathrm{\mathfrak {U}}\,}}(\mathcal {T}_2, \xi , \zeta ) \end{aligned}$$

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Balakrishnan, A., Deshmukh, J., Hoxha, B., Yamaguchi, T., Fainekos, G. (2021). PerceMon: Online Monitoring for Perception Systems. In: Feng, L., Fisman, D. (eds) Runtime Verification. RV 2021. Lecture Notes in Computer Science(), vol 12974. Springer, Cham. https://doi.org/10.1007/978-3-030-88494-9_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-88494-9_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-88493-2

  • Online ISBN: 978-3-030-88494-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics