Developer Shebin Jose Jacob and colleagues have taken a stab at reducing road fatalities by creating a smart driver drowsiness detection system, powered by an Arduino Nicla Vision board and Edge Impulse's Faster Objects, More Objects (FOMO) algorithm for resource-constrained devices.
"Driver drowsiness is a major contributing factor to motor vehicle accidents and can have serious consequences, including injury or death. As drowsy driving continues to be a major safety concern on our roads, we are developing a cutting-edge system to address this problem," Jacob explains. "Our solution combines the power of computer vision and artificial intelligence (AI) to monitor the driver's eyes and detect when they are closed for two seconds in a row."
Rather than rely on high-powered computers, which are not well-suited to retrofitting to existing vehicles, or cloud computing and the implications in both bandwidth use and privacy involved in streaming live video of a vehicle's driver for off-device analysis, Jacob and team turned to tinyML — running machine learning models directly on-device, in this case via Edge Impulse's lightweight FOMO algorithm.
Using FOMO, which was designed to perform well on microcontroller-class hardware, Jacob and colleagues were able to build the system on a low-cost Arduino Nicla Vision development board — using its integrated camera to monitor the driver and requiring only an LED and a buzzer as external hardware, to alert when the system has detected potentially dangerous drowsiness.
"In addition to detecting drowsy driving, our system can also be extended to monitor other behaviors that may impact road safety," Jacob continues, "such as distracted driving or impairment due to drugs or alcohol. By alerting drivers to these behaviors and reminding them to stay focused and alert, we can help to reduce the risk of accidents and keep our roads safer for everyone."
A full project write-up is available on the Edge Impulse website, along with links to the Arduino source code and the Edge Impulse Studio project on which it's based.