Project Idea | Driver distraction and drowsiness detection system – DCube
Project Title: DCube
Introduction:Car accident is the major cause of death in which around 1.3 million people die every year. Majority of these accidents are caused because of distraction or the drowsiness of driver. Construction of high-speed highway roads had diminished the margin of error for the driver. The countless number of people drives for long distance every day and night on the highway. Lack of sleep or distractions like the phone call, talking with the passenger, etc may lead to an accident. To prevent such accidents we propose a system which alerts the driver if the driver gets distracted or feels drowsy. Facial landmarks detection is used with help of image processing of images of the face captured using the camera, for detection of distraction or drowsiness. This whole system is deployed on portable hardware which can be easily installed in the car for use.
Design and methods to be used:
- Raspberry Pi
• Detection of drowsiness
• Detection of distraction
• Audio feedback system
• Different feedback based on type of distraction.
• Works in low light conditions
To overcome the problem we came up with the solution implemented in the form of image processing. To perform image processing, OpenCV and DLib open source libraries are used. Python is used as a language to implement the idea.
An infrared camera is used to continuously track the facial landmark and movement of eyes and lips of the driver. This project mainly targets the landmarks of lips and eyes of the driver. For detection of drowsiness, landmarks of eyes are tracked continuously. Images are captured using the camera at fix frame rate of 20fps. These images are passed to image processing module which performs face landmark detection to detect distraction and drowsiness of driver. If the driver is found to be distracted then a voice (audio) alert and is provided and a message is displayed on the screen. Following use cases are covered in this project
1. the If eyes of drivers are closed for a threshold period of time then it is considered that driver is feeling sleepy and corresponding audio alarm is used to make the driver aware.
2. If the mouth of driver remains open for the certain period of time then it is considered that driver is yawning and corresponding suggestion are provided to the driver to overcome drowsiness.
3. It driver don’t keep eyes on the road then it is observed using facial landmarks and the corresponding alarm is used to make the driver aware.
All this functionality is then implemented with the help of raspberry pi, an audio interfacing is used to provide audio feedback to the user and a small LED screen is used to display the message.
1. Python3 Interpreter.
2. OpenCV and Dlib libraries.
This project can be used in every vehicle currently on road to ensure the safety and reduce the chances of an accident due to drowsiness or distraction of driver.
1. This project can be implemented in the form of mobile application to reduce the cost of hardware.
2. This project can be integrated with car, so that automatic speed control can be imparted if the driver is found sleeping.
Link to the GitHub repository:
1. Yash Kondawar
2. Omkar Kulkarni
3. Santosh Kale
4. Niraj Joshi
Note: This project idea is contributed for ProGeek Cup 2.0- A project competition by GeeksforGeeks.