A critical aspect of autonomous system safety is ensuring the perception stack is robust to real-world sensor degradation. This project applies a SOTIF (Safety Of The Intended Functionality)-style methodology to systematically evaluate a CNN-based traffic sign classifier against camera occlusions like rain and dust.
To enable this research, I first developed camera-occlusion, a standalone, open-source Python library for generating realistic, physically-inspired sensor noise. Using this library, I built a config-driven experimental framework to train and test models under various conditions, automatically generating a detailed analysis of performance degradation, model introspection reports, and robustness metrics. This demonstrates a practical, end-to-end approach to identifying and quantifying insufficiencies in ML model performance as required by modern safety standards.
A gallery of effects generated by the camera-occlusion library.
camera-occlusion library to create realistic data augmentations.The analysis revealed clear patterns in model robustness. For example, training a model on images with simulated light rain not only improved its performance on heavy rain but also generalized better to dust conditions than the model trained on clean data. This provides concrete evidence that targeted, realistic data augmentation is a highly effective strategy for improving the SOTIF of perception systems. The tooling and methodology serve as a blueprint for conducting similar robustness audits on other computer vision models.
Filters learned from clean data.
Filters learned from rainy data show different structural patterns.