Skip to content

AlaqmarG/street-scope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚧 Roadworks

Intelligent Road Safety Monitoring & Geospatial Analysis

Python

Leveraging computer vision and geospatial intelligence to transform urban infrastructure monitoring.


πŸ“– About The Project

Roadworks is an AI-driven prototype designed to automate the assessment of road safety conditions. By integrating street-level imagery with advanced geospatial networks, it provides actionable insights for smart city infrastructure.

Developed for the Smart City AI Industry Project (COSC 3P71), this system demonstrates the complete pipeline from raw data collection to intelligent, safety-aware navigation.

+

✨ Key Features

Feature Description
πŸ‘οΈ Computer Vision Automated detection of road defects like potholes and cracks using deep learning models.
πŸ—ΊοΈ Geospatial Mapping Seamless integration with OpenStreetMap (OSMnx) to construct accurate road networks.
πŸ“Š Safety Scoring Custom algorithms that weight graph edges based on visual danger scores ($S = \frac{1}{1+D}$).
🚦 Smart Navigation Directed graph construction enabling safety-prioritized route planning and analysis.

πŸ› οΈ Built With

  • Python Python 3.x
  • Pandas Pandas
  • NumPy NumPy
  • OSMnx & NetworkX (Graph Theory)
  • Folium (Interactive Visualizations)
  • YOLO / CVAT (Object Detection & Annotation)

🧩 Components & Usage

1. Data Collection (Component 1)

macOS App for Road Data Acquisition A native macOS application designed to collect high-frequency street-level imagery and GPS telemetry. It interfaces with an external GPS receiver (via NMEA/TCP) and a webcam to build the raw dataset.

Webcam Setup

How to Run:

# Install dependencies
pip install -r component1/requirements.txt

# Run the capture application
# Requires NMEA stream from a device (e.g., GPS2IP on iPhone)
python component1/capture_app.py --ip <nmea_ip> --port <nmea_port>

2. Geospatial Mapping (Component 2)

Network Construction & Safety Scoring Constructs a directed graph of the road network using OSMnx. It maps captured images to graph edges and calculates safety scores ($S = \frac{1}{1+D}$) to identify hazardous road segments.

Safety Map Coverage Heatmap

How to Run:

# Generate the road network graph and heatmaps
python component2/generate_graph.py

Output: component2/output/safety_map.html

3. AI Model (Component 3)

YOLOv8 Road Defect Detection A fine-tuned YOLOv8 model capable of detecting 10 types of road defects (potholes, cracks, etc.). It powers the safety scoring system by quantifying road damage from raw imagery.

Model Prediction

How to Run:

# Training (requires GPU recommended)
python component3/train_yolov8.py

# Inference on a dataset
python component3/infer_yolov8.py --source dataset/test_images

4. Intelligent Navigation (Component 4)

Safety-Aware Routing Engine The final product: a dynamic navigation system that finds the safest path between two points. It uses the weighted safety graph to route vehicles away from detected hazards.

Navigation System

How to Run:

# Launch the navigation GUI
python component4/main.py

πŸ‘₯ Authors

  • Connor Bernard
  • Alaqmar Gandhi
  • Braxton Holmes
  • Pamela Soltero

Department of Computer Science, Brock University


πŸ“„ License & Acknowledgments

This project is part of COSC 3P71. Special thanks to the open-source community for tools like OSMnx and NetworkX that made this analysis possible.

View Full Report (PDF)

About

🚧 Transforming street-level imagery into actionable safety insights for smarter cities.

Topics

Resources

Stars

Watchers

Forks

Contributors