Inspiration
33% of all road accidents occur due to poor road conditions. The US reported over 5000 accidents related to potholes. While potholes lead to accident it also damages cars and with cars getting advanced with plethora of sensors on board that require fine grain calibration, hitting a pothole could disrupt the cliabraiton and potentially damage the components, this could lead in further accidents. We live in an age where 77% of drivers rely on navigation through smart phone, we wish to leverage the already available tech with a plethora of sensors on board for our project.
What it does
We crowdsource locating potholes and notify drivers of the potholes in their vicinity. The app is cross-platform and clicks pictures at a set interval and sends it to the server that runs image segmentation and a Neural network trained to detect potholes. If a pothole is spotted the global map is updated. When a new user goes through an area its gets pins for all the potholes in its vicinity.
How we built it
The app is built with Flutter and Dart. The map uses google map platform to get the map. We are using our own server to run the model , and we use firebase to store all the data. The app clicks a picture at a set interval and tags a picture with latitude and longitude data at the time of clicking a the picture. This is sent to our server that runs the Image segmentation an Object detection Model to detect the presence of potholes. If a potholes is detected the latitude and longitude are stored on the server and marked as an active pothole.
Challenges we ran into
Data Processing and Storage: Initially, we had to determine the most effective way to handle and store the pothole data. Deciding between Firebase and other databases required weighing real-time requirements and ease of use. Image Handling and YOLO Model Integration: Integrating image data from a mobile app, processing it with a YOLO model, and ensuring the results were accurate posed both technical and logistical challenges. Location-Based Querying: Implementing accurate, radius-based querying to filter potholes within a 5-mile radius required calculating distances precisely using geolocation formulas. Managing Environment Restrictions: Setting up packages and managing virtual environments in an externally managed environment created roadblocks, especially with dependency installations.
Accomplishments that we're proud of
End-to-End Functionality: Successfully built a functional backend API that can receive image data, detect potholes, and store them in Firebase. Real-Time Data Retrieval: Implemented a location-based feature to retrieve potholes within a specific radius, making the application truly location-aware and user-centric. Seamless Integration: Enabled integration between the Flask API and Firebase, allowing for scalable and efficient data management without excessive setup. Optimized Data Flow: Created a clear, streamlined process for receiving data from a mobile front end, processing it, and storing results, achieving efficient data handling within tight hackathon time constraints.
What we learned
Location-Based Filtering: We gained a deeper understanding of geolocation filtering, using the Haversine formula to calculate distances between latitude and longitude points. Working with Firebase: This project taught us more about Firebase’s real-time database capabilities and how to efficiently store and retrieve structured data with dynamically generated IDs. Image Processing and API Integration: Working with image data, converting it to Base64 for JSON compatibility, and processing it through an API pipeline was a valuable experience. Problem-Solving Under Constraints: We faced several environment-related restrictions and learned how to adapt quickly to keep the project on track within the hackathon time limits.
What's next for potplot
The future for PotPlot holds exciting possibilities. We aim to integrate the accelerometer to categorize the type of road surface in real time, which will be invaluable for route planning. This feature will enable our app to consider not only traffic conditions but also road quality when calculating ETA, allowing drivers to select smoother and safer routes. For autonomous vehicles, this data can inform driving strategies, like adjusting braking profiles on gravel roads, improving safety and efficiency.
Key features we plan to develop include:
- Mobile Notifications: Alert drivers as they approach high-density pothole zones, enhancing road safety through timely warnings.
- Advanced Analytics: Use data analysis to identify high-risk areas, providing critical insights for proactive road maintenance.
- Enhanced Image Processing: Optimize our YOLO model for faster, more precise pothole detection, ensuring real-time, accurate hazard mapping.
- User Reporting Features: Enable manual pothole reporting for users, boosting data coverage, especially in high-traffic or frequently updated regions.
With these advancements, PotPlot is set to transform road navigation and safety by making roads safer and helping authorities maintain infrastructure efficiently.
Log in or sign up for Devpost to join the conversation.