Skip to content

[KAIST CS632] Road damage detection using YOLOv8 on Xilinx FPGA, repair estimation with vLLM-Serve Phi-3.5 FAISS RAG, and data management via GS1 EPCISv2 and React dashboard

Notifications You must be signed in to change notification settings

SeungjaeLim/Efficient-Road-Repairs-System

Repository files navigation

{012E35F3-F81B-41FD-92F1-7C0D4B68187F}

Python Docker Flask FAISS React VLLM SBERT Model


Presentation    Demo Video

{A2C834C0-711F-4A9C-9916-E827ECB52532}

Overview

The Efficient Road Repairs System utilizes FPGA-porting of YOLO to detect road damage through vehicle black boxes during driving. The system employs a Large Multi-modal Model (LMM) RAG to generate repair cost estimates and stores this information in a GS1 EPCIS server, enabling centralized governmental management by web.

Features

  • YOLOv8 Damage Detection: Trained on the RDD2022 dataset.
  • FPGA Porting: Optimized for in-vehicle black box systems.
  • VLLM Serve: Efficient, high-throughput inference for LLMs.
  • Multimodal Inference: Utilizing Phi 3.5 for damage analysis and cost estimation.
  • Retrieval-Augmented Generation (RAG): Powered by FAISS for efficient data retrieval.
  • EPCIS Integration: Manages repair event tracking via GS1-compliant server.
  • Government Dashboard: React-based web interface for road damage management.

Project Structure

rrsys
├── backend
│   ├── flask-server       # Flask-based backend server
│   ├── llm-server         # VLLM inference engine
├── dashboard              # React web application
└── epcis-application-2.0  # GS1-compliant EPCIS server

Setup Instructions

Backend Setup

  1. Start the backend services:

    ./run/start_backend.sh
  2. Inside the Docker container, execute:

    ./start.sh
  3. To stop the backend services:

    ./stop.sh

    The backend server will be available at http://localhost:5000.

    The vllm server will be available at http://localhost:8082.

EPCIS Server Setup

  1. Start the EPCIS server:

    ./run/start_gs1.sh
  2. To initialize the EPCIS Swagger UI:

    cd epcis-application-2.0/src
    npm install
    node openApi.js

    The EPCIS server will be available at http://localhost:8090.

    The EPCIS swagger will be available at http://localhost:8081.

Web Dashboard Setup

  1. Start the web dashboard:

    ./run/start_web

    The dashboard web will be available at http://localhost:3000.

Usage

1. Detecting Road Damage

  • Road damage images and YOLO outputs are processed through the FPGA-integrated black box.
  • Detected damage types include longitudinal cracks, alligator cracks, transverse cracks, other corruptions, and potholes.

image

{FFAE9EF6-B7AB-42C9-B2DE-32A8C915AC7A}

{B51F03A2-A88F-46C6-B0F4-194315FE4653}

2. Generating Repair Estimates

  • The system uses Phi 3.5 and RAG to generate detailed repair cost estimates based on the detected damage.

{E19B7A2E-D01E-424A-BC66-16235BB40EFE} {8F82693C-4BBD-4EC5-9077-62B945BD8B1B}

{1954376C-2DBD-4AC3-8BA6-3466DBB92DF7} {FD84B347-A998-4D72-906E-FDA0929A1538} {EB9C144D-CDC7-4EEC-AAA1-2DEC5D211BC8}

3. Managing Events via EPCIS

  • The repair cost estimates, along with metadata such as damage dimensions and geolocation, are stored in the GS1 EPCIS server for centralized tracking.

{453E2109-C957-4DD8-AD5C-5D0B6B742D8D}

{ED3E0F31-9F85-4BC7-B61F-42023FB7BBB3} {9CBC9C68-8554-42CF-B88B-3CDDF1F1896C}

4. Viewing and Managing Events

  • Use the React dashboard to visualize and manage damage reports:
    • View repair costs, damage types, and geolocations.
    • Monitor historical repair events.

image image

EPCIS Integration

  • Events can be queried and managed via the EPCIS API:
    • Swagger UI: http://localhost:8081.
    • API Endpoints: Supports event queries, capture, and subscriptions.

Technologies Used

  • YOLOv8: For road damage detection.
  • FPGA: Optimized inference for in-vehicle systems.
  • Flask: Backend API.
  • React: Frontend framework.
  • FAISS: Efficient similarity search for RAG.
  • VLLM Serve: Fast Multimodal inference.
  • EPCIS: Event tracking and integration.

Contributions

Contributions are welcome! Please fork the repository and submit a pull request.

License

This project is licensed under the MIT License.

About

[KAIST CS632] Road damage detection using YOLOv8 on Xilinx FPGA, repair estimation with vLLM-Serve Phi-3.5 FAISS RAG, and data management via GS1 EPCISv2 and React dashboard

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published