DIVYANSHI SINGH
refactor: Implemented professional modular structure (apds package)
c1f2fb8
|
Raw
History Blame Contribute Delete
2.91 kB
---
title: APDS - Automated Pavement Distress System
emoji: πŸ—οΈ
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.35.0
app_file: app.py
pinned: false
license: mit
---
# πŸ—οΈ APDS: Automated Pavement Distress System
An AI-powered Road Damage Assessment system using YOLOv11s & SAHI to detect potholes and cracks with high precision. Featuring a Streamlit dashboard for real-time analysis, it provides engineering reports based on IRC standards. Integrated with RAG technology to offer expert maintenance consulting derived from civil engineering manuals.
## πŸš€ Key Features
- **Multi-Task YOLOv11s**: Dual-purpose detection for potholes and longitudinal/transverse cracks.
- **Precision Boost (SAHI)**: Slicing Aided Hyper Inference for detecting micro-cracks in high-resolution field photography.
- **Civil Engineering Reports**: Automated calculation of repair materials and standard-compliant maintenance recommendations.
- **AI Expert Consultant (RAG)**: Retrieval-Augmented Generation using IRC engineering manuals to provide grounded, professional advice.
- **Interactive Dashboard**: Full suite of tools including Model Comparison, Video Analysis, and Field Camera simulators.
## πŸ› οΈ Installation & Setup
1. **Clone the repository**:
```bash
git clone https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git
cd YOUR_REPO_NAME
```
2. **Install Dependencies**:
```bash
pip install -r requirements.txt
```
3. **Set up Environment Variables**:
Create a `.env` file in the root directory and add your Gemini API Key:
```env
GOOGLE_API_KEY=your_api_key_here
```
4. **Add Model Weights**:
Ensure your `.pt` files are placed in the `models/` directory structure:
- `models/crack_detector_v12/best.pt`
- `models/pothole_v1/best.pt`
- `models/pothole_v2/best.pt` (Experiment V2)
5. **Run the App**:
```bash
streamlit run app.py
```
## πŸ“‚ Project Structure
Following high-level professional standards, this project is organized as a modular package:
- **`app.py`**: The main entry point for the Streamlit application.
- **`apds/`**: The core package containing the detection engine, geospatial logic, and AI consultant bridge.
- **`models/`**: Centralized storage for trained weights and performace validation artifacts.
- **`docs/`**: Indian Road Congress (IRC) engineering manuals used by the RAG system.
- **`tests/`**: Unit testing suite for core components.
- **`scripts/`**: Development and historical training scripts.
## πŸ“Š Methodology
This project utilizes **SAHI** to overcome the limitations of standard object detectors on small, narrow distresses like cracks. By tiling images during inference, we maintain resolution and capture the fine textures required for accurate road distress classification.
## πŸ“œ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.