Inspiration
Our inspiration for Project Autopilot stemmed from a deep concern over the high number of preventable road accidents caused by driver inattention and fatigue, alongside the promise of autonomous driving technologies to revolutionize road safety. Recognizing the gap between today's road safety measures and the potential of tomorrow's self-driving vehicles, we were motivated to harness AI, data analytics, and machine learning to enhance driver awareness and road safety in real-time. Project Autopilot aims to merge current driving practices with future technologies, offering a solution that not only predicts high-risk areas but also guides drivers safely, bridging the gap to a future where road safety is a given, and every journey is secure.
What it does
AutoPilot helps users reach their destination safe and sound with features like route optimization, drowsiness and sleep detection, and Semi-Autonomous driving capability incorporated in the car ecosystem. Let's say the user wants to travel from Chicago, IL to Fairfax, VA he/she is presented with all the possible routes that can be taken along with accident prone areas in the route making it easy and safe for him to choose the best route. Along the way, the application also detects if the user doses off or feels drowsy alerting him. When the user wants to go into auto pilot mode the semi autonomous drive mode feature can be activated where the steering angle is adjusted according to the road curvature.
How we built it
For the data driven route optimization, we built a robust batch data pipeline which ingests the data from National Highway Traffic Safety Administration(NHTSA) FTP site which consists crash data of last 5 years in US based on Latitude and Longitude. This data is fetched in the Web application where we show the user multiple routes with accident prone areas from Source to Destination.
For the real time driver monitoring, we utilized dlib and OpenCV libraries for accurate detection of facial features essential for monitoring drowsiness. Implements continuous computation of horizontal and vertical eye distances to gauge the driver's level of alertness. Issues real-time alerts to prompt the driver when signs of drowsiness or sleepiness are observed, ensuring prompt action and enhanced road safety.
For the Semi-Autonomous driving capability, we utilized a system where machine learning algorithms predict steering angles based on road curvature. This implementation involves Convolutional Neural Networks (CNN) to solve a regression problem. The input consists of sequential images captured from the car's perspective, with corresponding output being a series of predicted steering angles. Employs real-time analysis to continuously adjust steering angle, ensuring responsive and safe navigation.
Challenges we ran into
We encountered several challenges, Firstly, deciphering the complex data schema of crash data which involved scanning through hundreds of columns. Additionally, constructing a managed, orchestrated Google cloud workflow presented its own set of hurdles, as we strived to ensure seamless data processing and integration across various cloud services. Lastly, training the facial recognition model to detect drowsiness and inattention was particularly time-consuming, challenging us to optimize our approach to machine learning and data analysis without sacrificing accuracy or performance.
Accomplishments that we're proud of
In Project AutoPilot, our team, comprising front-end and back-end engineers, a data engineer, and a data scientist, achieved remarkable feats within a limited timeframe, a testament to our seamless collaboration across various domains. We successfully developed a robust data pipeline to extract and analyze years of crash data, integrated it with a user-friendly React application to guide drivers through safer routes, and innovated with real-time facial data analysis to detect driver drowsiness. These accomplishments not only showcase our technical expertise but also our collective drive to create something meaningful.
What we learned
Collaborating with teammates from diverse backgrounds provided valuable insights into approaching problems from multiple perspectives, enriching our problem-solving process.
Developing an understanding of each other's work and learning new technologies through collaboration fostered a dynamic and supportive team environment.
Acquiring skills in processing large datasets enhanced our ability to handle and extract meaningful insights from extensive data, contributing to the project's success and our professional growth.
What's next for Project AutoPilot
Looking ahead, We plan to introduce voice-enabled suggestions, allowing drivers to receive real-time guidance without taking their eyes off the road. Integrating weather data will also be a key development, providing drivers with updates and suggestions tailored to current weather conditions, enhancing safety during adverse conditions. Additionally, we aim to enrich our navigation features by including recommended pit stops, enabling drivers to plan rest breaks on long journeys effectively. Transitioning our data pipeline from batch processing to real-time streaming is another critical step, which will significantly improve the responsiveness and accuracy of our safety alerts and recommendations.
Built With
- airflow
- deeplearning
- dlib
- google-cloud
- opencv
- react
- tensorflow
Log in or sign up for Devpost to join the conversation.