Blog Home

Preventing driver fatigue with the Nicla Vision and Edge Impulse FOMO

Arduino TeamJanuary 13th, 2023

Drivers who are experiencing tiredness become large dangers to both themselves and anyone else around them on the road, as reaction times, concentration, and alertness are all greatly impaired. This is why Shebin Jose Jacob decided to create a drowsiness detection system that can accurately tell when someone behind the wheel is fatigued and should pull over for some rest.

The solution is comprised of a single Nicla Vision board, which contains a 2MP camera for collecting images, an IMU, microphone, distance sensor, and finally a dual Arm Cortex-M7/M4 processor for quickly running embedded machine learning models. Data for the project was gathered by taking many pictures and labeling the bounding boxes surrounding the eyes as either closed or open. From here, Jacob trained a FOMO-based (Faster Objects, More Objects) object recognition model on the sample images and was able to achieve an accuracy of 100%.

Live classifications from the Nicla Vision further reinforced the model’s stated accuracy, which meant Jacob could move onto the final step of creating his project. The tinyML model was deployed as a fully-contained Arduino library, meaning that all the code had to do is get a new image, run it through the object recognition model, and check the result. A label of closed eyes, therefore, causes a buzzer to sound and a red LED to illuminate.

More details on this potentially life-saving application can be found here in Edge Impulse’s blog post.