Inspiration

Potholes are a major road safety concern, causing vehicle damage, traffic disruptions, and increased maintenance costs. Traditional road inspections rely heavily on manual surveys and public complaints, making it difficult to identify road damage efficiently across a city. We wanted to turn everyday public buses into mobile road inspection systems that help authorities identify potholes and make data-driven maintenance decisions.

What it does

CivicPath Vision detects potholes from road footage recorded by cameras mounted on public buses. The footage is stored locally and processed afterward using computer vision and AI. Detected potholes are associated with timestamps, GPS coordinates, confidence scores, and evidence images. The information is uploaded to a cloud backend and displayed on a web dashboard, where authorities can view incidents, explore their locations, filter reports by severity, and track repair status.

How we built it

We built the system using a combination of computer vision, machine learning, cloud infrastructure, and web technologies.

  • OpenCV 5: Processes recorded road footage, extracts video frames, and prepares images for detection.
  • YOLO: Detects potholes in extracted frames and generates bounding boxes and confidence scores.
  • GPS integration: Matches detection timestamps with GPS data from the corresponding journey.
  • AWS Lambda and API Gateway: Provide backend processing and API endpoints.
  • Amazon DynamoDB: Stores structured pothole metadata, including coordinates, timestamps, confidence, severity, and repair status.
  • Amazon S3: Stores pothole evidence images and optional video clips.
  • Web dashboard: Presents incident reports, geographic visualizations, severity filters, and repair tracking.

Our approach processes video after the journey rather than performing AI inference directly on the bus, reducing the need for continuous connectivity and real-time cloud processing.

Challenges we ran into

  • Working with a large pothole image dataset and managing model-training time and computational resources.
  • Designing a pipeline to extract video frames and process them efficiently.
  • Synchronizing video timestamps with GPS coordinates to associate detections with the correct locations.
  • Preventing repeated detections of the same pothole across multiple frames.
  • Designing AWS storage and API workflows for reliable evidence and metadata management.
  • Planning for GPS inaccuracies, changing road conditions, and the limitations of automated detection.

Accomplishments that we're proud of

  • Developing an end-to-end system design connecting computer vision, geographic data, cloud storage, and a web dashboard.
  • Establishing an AWS backend using DynamoDB for detection records and S3 for evidence storage.
  • Building dashboard functionality for incident listings, geographic visualization, severity filtering, reporting, and status management.
  • Designing an offline video-processing workflow that can use footage collected during routine public bus journeys.
  • Creating a foundation that can be extended to multiple buses and larger road networks.

What we learned

We learned how computer vision models can be integrated into a practical infrastructure-monitoring application. We explored video preprocessing, YOLO inference, GPS timestamp matching, cloud APIs, structured database design, object storage, and dashboard integration. We also learned that accurate pothole localization requires more than successful object detection: synchronization, camera geometry, data quality, and duplicate handling are equally important.

What's next for CivicPath Vision

  • Complete and evaluate the YOLO detection pipeline on road videos.
  • Improve GPS synchronization and pothole localization accuracy.
  • Integrate the detection pipeline with the AWS backend.
  • Add reliable handling of duplicate reports and missing GPS data.
  • Expand the dashboard with improved geographic filtering and maintenance workflows.
  • Evaluate performance across different roads, lighting conditions, and weather.
  • Test the system on larger datasets and prepare it for deployment across multiple public buses.

Built With

Share this project:

Updates

Submission history