Every year, more than 50 million people around the world are adversely affected by road accidents. 1.35 million have their lives cut short, and a large proportion of the affected suffer serious, long lasting injuries.
And the affect isn't limited to human cost. WHO estimates that most countries lose 3% of their gross domestic product as a result of road accidents alone.
A close examination of the cause of road accidents paints a surprising picture. A large proportion - from 20% to almost half of all accidents on certain roads - are caused by drowsy drivers. And while vehicle manufacturers have tried to combat this by introducing attention alert systems of their own, their cost makes them unattainable for a vast majority of the affected - 93% of road fatalities happen in low and middle income countries (WHO).
It is this problem that we aim to address with Drow-Z.
Drow-Z lays the foundation for a computer-vision based drowsiness detection and alert system. It reads the feed from the vehicle's camera, and sends an alert when it detects that the driver is drowsy. And it works locally, so there's no worry of the feed making rounds in data warehouses.
The system is resilient to variety in drivers' faces, and needs a closed-eyed image of the driver for initial calibration. It uses a combination of Eye Aspect Ratio (EAR) detection and Motion Detection to determine whether or not the driver is drowsy. The motion detection makes it so that even if the driver's eyes are obscured by sunglasses or in any other way, the system still works as per the driver's needs. The thing to look out for in real time systems like this are false-negatives i.e. instances where the driver is drowsy, but the system cannot detect it. We saw no false negative in our testing of the system, and the false positives (where the system detected a drowsy driver in cases where there was none) were few and far between, happening half a dozen times during the entire testing process.
We followed a scrum-like framework of development, dividing the main script into three modules, with one person working on each for four hours every cycle before sitting down in a huddle to discuss the results and the problems. Each huddle lasted about an hour, where we collaboratively identified and fixed problems, and discussed iterations to make the system better. We built a simple Eye-blink based system in the first few cycles, iterated it to one that adapts to different faces, and added motion detection to it in subsequent cycles before integrating everything into a single cohesive system at the end.
The major problem which limited us was that of time and hardware. We couldn't train a face detection model of our own due to these limitations, and resorted to using a pre-trained model. If we had more time, we'd have built a better face detection model and optimized it. Another thing we'd have done if we had more time was include more face variety in the testing process. Colored spectacles which obscure the eyes, and multiple faces have been documented to cause error in the operation of similar systems in the past, so more time for testing these fringe cases would have made the system more robust.



Log in or sign up for Devpost to join the conversation.