Skip to content

Echo-Nie/YOLODrone-Inspection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

YOLO-Drone: Object Detection Platform Based on YOLOX

Project Name: YOLO-Drone

Full Name: Object Detection and Visualization System Based on YOLO Series

Description: A personal full-stack development project β€” independently designed, developed, and maintained. Currently used for the final presentation of the course "New Technologies Topics (2)" instructed by teacher Jin Xin.

Why we made it: Just for fun. πŸ˜„

License: This project is released under the GPL-3.0 license πŸ“œ. It is intended to be used for design learning and educational purposes only. You are welcome to study and learn from this codebase, but please refrain from copying or plagiarizing the work. Respect the spirit of open-source! ✨

GitHub Repository: Echo-Nie/Drone-inspection-platform: Just for fun

πŸš€πŸ’» Since I've already forgotten how to write Vue, I'm currently sticking to the basic front-end trio (HTML, CSS, JS). I plan to refactor and maintain the code using Vue after October!

YOLO-Drone

Python Flask PyTorch OpenCV JavaScript HTML5 CSS3

Build Status GitHub repo size GitHub last commit GitHub issues GitHub pull requests License: GPL-3.0 license GitHub Commit Count

πŸ‘₯ Team

Image

πŸ” Project Overview

This project is a lightweight object detection platform built upon YOLO Series, supporting image upload, model inference, result visualization, and historical record querying. The frontend is implemented using HTML + CSS + JavaScript for interactive user experience, while the backend is powered by Flask to provide robust web services. The overall architecture is simple and efficient, suitable for real-world applications such as drone aerial image analysis and intelligent surveillance.

We base our implementation on the Ultralytics YOLO open-source framework, utilizing the pre-trained yolo_x.pt model. The complete detection pipeline is integrated into the Flask platform, enabling an end-to-end workflow from image upload to result display.

πŸ› οΈ Tech Stack

Category Technology / Tool
Deep Learning Framework PyTorch, Ultralytics YOLO
Model Version YOLOv_x
Backend Service Flask
Frontend HTML5 + CSS3 + JavaScript
Image Processing OpenCV
Data Storage JSON Files (for storing detection history)
Deployment Dependencies Werkzeug (file upload), Jinja2 (template rendering)

πŸ“¦ Project Structure

YOLO-Drone/
β”œβ”€β”€ assets/                   # Contains static resources used in the README (e.g., images, icons)
β”œβ”€β”€ models/                   # Stores trained machine learning model files (e.g., uav.pt, yolov9c.pt)
β”œβ”€β”€ routes/                   # Contains routing logic for defining API or page access paths
β”œβ”€β”€ services/                 # Business logic modules: detection, history, data statistics, etc.
β”œβ”€β”€ static/                   # Static resource directory (directly accessible by the frontend)
β”‚   β”œβ”€β”€ css/                  
β”‚   β”œβ”€β”€ js/                  
β”‚   └── results/              # Stores output images from object detection
β”‚       └── detect/           # Subdirectory for detection results; stores images generated during detection
β”œβ”€β”€ templates/                # Frontend HTML templates used to render web content
β”œβ”€β”€ uploads/                  # Directory for storing user-uploaded files
β”œβ”€β”€ app.py                    # Starts the web server
β”œβ”€β”€ config.py                 # Configuration file
β”œβ”€β”€ requirements.txt          # List of Python dependencies required for the project
└── detection_history.json    # File that records detection history (e.g., timestamps, results)

πŸš€ Quick Start

Install Dependencies

pip install -r requirements.txt

Launch the Server

python app.py

πŸ‘‰ UI Display

Visit http://localhost:5000 to access the object detection platform.

Index

Index

statics

output

πŸ–₯️ Core Features

  • βœ… Image Upload and Real-Time Detection
  • βœ… Detection Result Visualization (bounding boxes, class labels, confidence scores)
  • βœ… Detection Statistics Display (total objects, average confidence, per-class counts)
  • βœ… Detection History Management (automatically saves timestamp, image link, and detected objects)
  • βœ… Multi-Page Navigation (Home / History / About Us)

πŸ’‘ Acknowledgments

Special thanks to the following open-source projects:

  • Ultralytics YOLO β€” Efficient YOLO model implementation
  • Flask β€” Lightweight web framework
  • OpenCV β€” Core image processing library
  • Werkzeug β€” Flask dependency for file upload management

🧩 Future Enhancements

  • Support for real-time video stream detection (e.g., RTSP, webcam input)
  • Use SQLite or MongoDB for persistent detection history storage
  • βœ… (In Test) Expose model as an API for integration with other systems
  • ❌ Deploy to cloud or server for public access(Temporarily offline )
  • βœ… (In Test) Support for real-time video stream detection (e.g., RTSP, webcam input)
  • βœ… Complete the mobile device adaptation.

🀝 How to Contribute

We welcome all forms of contributions to make YOLO-Drone even better! Here are some ways you can contribute:

  • πŸ› Report Issues: If you encounter any bugs or have suggestions for new features, please open an issue on our Issue Page. Your feedback helps us improve the project!
  • πŸš€ Submit Pull Requests: If you'd like to contribute code, please fork the repository and submit a pull request. We appreciate your efforts in making the codebase better!
  • πŸ“ Document Enhancement: You can help us improve the documentation by correcting typos, adding more details, or making it more readable. Every small improvement counts! 😊
  • πŸ“§ Contact Us: If you have any questions, feel free to contact us via Contact via Email
  • 🌠 If you find this project helpful, please give it a star!⭐

Your support and contributions are greatly appreciated! 🌟