Watch - https://www.youtube.com/watch?v=dTuUm56Euo0
-
Open DNDS project in your code editor (PyCharm Recommended, VsCode or any other editor will work too as long as you know how to use them)
-
Create a python vitual environment
venv
insideDriving_Negligence_Dissuader_System/
like soDriving_Negligence_Dissuader_System/venv
-
Run the commands below to create and activate the vitual environment. (If you are using PyCharm, you can create a virtual environment in the settings/python_interpretor section)
python3.8 -m venv venv source venv/bin/activate
-
Install all the dependencies listed in the
requirements.txt
file (You can install the requirements manually one by one or you can install them all by running the following command. Make sure you install the specified versions, as other versions might not work)pip install -r requirements.txt
-
Wait for the requirements to install and the interpreter to update.
-
Run
__init__.py
to run the project.
Note: If you want to use different video for input or you want to use video input from a camera, you can change the value of video_stream
variable in each of the detection.py file.
drowsy_yawn_detection.py
lane_detection.py
object_detection.py
DNDS is a vehicle safety recommendation system that monitors the driver’s facial behaviour to detect the driver’s drowsiness and yawning. The system also monitors the road in front to detect the road lanes, the lane curvature, the vehicle centre offset, and objects of multiple classes on the road, such as humans, animals, and other vehicles, etc.
The homepage is where the user interacts with multiple functionalities that the system provides such as Drowsiness Detection System (DDS), Yawning Detection System (YDS), Lane Detection System (LDS), and Object Detection System (ODS), etc. There are multiple components for the user to interact with. Most notably the Drowsiness Detection, Yawning Detection, Object Detection, Pedestrian Detection. And Driving Negligence Dissuader buttons.
When a user decides to click the Drowsiness Detection button on the home page, they are switched to the DDS/YDS page. Here the user is facilitated with information about Eye Aspect Ratio (EAR), Mouth Aspect Ratio (MAR), and the number of detections. A live video session shows the drowsiness and yawing detections in real-time.
When a user decides to click the Lane Detection button on the home page, they are switched to the YDS page. Here, the user is facilitated with information about the Curve Radius (CR) and the Vehicle Center Offset (VCO) of the vehicle from the lane. A live video session shows the highlighted lane in real-time. The user is warned of any detections by an audio message as well as a warning message below the video footage when the system the vehicle wandering off their lane.
When a user decides to click the Object Detection button on the home page, they are switched to the ODS page. Here the user is facilitated with information about the detected objects and the number of items of the same class. A real-time video session shows the objects enclosed in bounding boxes and the detection confidence for that object.
When a user decides to click the Driving Negligence Dissuader button on the home page, they are switched to the DND page. Here, the user is facilitated with all the information about each detection system in their designated corner. Live video sessions for each system show the detections in real-time. The user is warned of any detections by an audio message as well as a warning message below the video footage of the system, where the warning is generated upon detection.