yolov5-based-well-detection

The hidden danger of manhole cover detection based on KDWC-YOLOv5(Knowledge Distillation Well Cover-YOLOv5)

https://github.com/benny0323/yolov5-based-well-detection

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

The hidden danger of manhole cover detection based on KDWC-YOLOv5(Knowledge Distillation Well Cover-YOLOv5)

Basic Info
  • Host: GitHub
  • Owner: Benny0323
  • License: agpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 20.2 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

The hidden danger of manhole cover detection based on KDWC-YOLOv5(Knowledge Distillation Well Cover-YOLOv5)

[![](https://img.shields.io/github/stars/Benny0323/Yolov5-based-well-detection)](https://github.com/Benny0323/Yolov5-based-well-detection) [![](https://img.shields.io/github/forks/Benny0323/Yolov5-based-well-detection)](https://github.com/Benny0323/Yolov5-based-well-detection) [![](https://img.shields.io/github/issues/Benny0323/Yolov5-based-well-detection)](https://github.com/Benny0323/Yolov5-based-well-detection) [![](https://img.shields.io/github/license/Benny0323/Yolov5-based-well-detection)](hhttps://github.com/Benny0323/Yolov5-based-well-detection/blob/main/LICENSE)

image

🧨 Congratulations! We achieve 0.948 of mAP on 350 test images in a competition!

To-do list: - [x] Model Ensembling https://github.com/ultralytics/yolov5/issues/318 - [x] Shape IOU https://github.com/malagoutou/Shape-IoU - [x] Multi-scale training - [x] Knowledge distillation https://blog.roboflow.com/what-is-knowledge-distillation/ - [x] keep training model, delving into best epoch and hyperparameter settings - [x] Publish dataets after the competition ends. - [x] Publish a web app made by my team. - [x] Publish a WeChat mini program made by my team.

Pre-requisties

  • Linux

  • Python>=3.7

  • NVIDIA GPU (memory>=30G) + CUDA cuDNN

Strat evaluating

Install dependencies

pip install -r requirements.txt

Download the checkpoint and dataset

Our model‘s best checkpoint and dataset are located at the links below, you can download them freely.

Checkpoint: https://drive.google.com/file/d/1fclRgDYc_duWns63MbTeKRffmSPdP7BA/view?usp=sharing

Dataset: https://drive.google.com/file/d/16f29aRAM8zAsiaks8zuPdAzIkuEz1RKA/view?usp=sharing

Evaluation

If you want to get the mAP value, run the following command: python val.py If you want to get the images with bounding boxes, run the following command: python detect.py If you have a GPU cluster, I also provide you with a script file using sbatch to submit, and you can run it with: sbatch yolov5_val.sh/sbatch yolov5_detect.sh Tips: You can also use "--" to add parameters in the running command according to yourslef. E.g. If I want to output a txt file with the order of "Image name Confidence coefficient Coordinates", you can run the command below: python detect.py --save-txt --save-conf

Training by yourself

If you want to train our model by yourself, you should firstly change the specify the path of your dataset in "data/A30.yaml", and you also nedd to specify a pretrained model, we use yolov5m, or you can choose other pretrained model via official link, then can run the following command: python train.py Tip1: You can also use "--" to add multi-scale parameters in the running command if you want to multi-scale training: python train.py --multi-scale Tip2: It is better to put the pretrained model under the root directory.

Web App Demo

https://github.com/Benny0323/Yolov5-based-well-detection/assets/104205136/e3cab7d1-74a7-456b-b506-537bc038d5a8

Wechat Mini Program Demo

https://github.com/user-attachments/assets/0cf1a184-dbdb-4163-8c53-7d4ce4215d3d

If you want to get the this app's developing codes or have any other questions, please feel free to conatact czh345068@gmail.com.

Star History

Star History Chart

Owner

  • Name: Benny Chan
  • Login: Benny0323
  • Kind: user
  • Location: Hanghou,Zhejiang Province
  • Company: Hangzhou Dianzi University

Hi. I'm an undergraduate student from Hangzhou Dianzi University who is specialized in Artificial Intelligence!

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  type: software
  message: If you use YOLOv5, please cite it as below.
  authors:
  - family-names: Jocher
    given-names: Glenn
    orcid: "https://orcid.org/0000-0001-5950-6979"
  title: "YOLOv5 by Ultralytics"
  version: 7.0
  doi: 10.5281/zenodo.3908559
  date-released: 2020-5-29
  license: AGPL-3.0
  url: "https://github.com/ultralytics/yolov5"

GitHub Events

Total
  • Watch event: 2
  • Push event: 7
Last Year
  • Watch event: 2
  • Push event: 7

Dependencies

utils/docker/Dockerfile docker
  • pytorch/pytorch 2.0.0-cuda11.7-cudnn8-runtime build
utils/google_app_engine/Dockerfile docker
  • gcr.io/google-appengine/python latest build
requirements.txt pypi
  • Pillow >=10.0.1
  • PyYAML >=5.3.1
  • gitpython >=3.1.30
  • matplotlib >=3.3
  • numpy >=1.22.2
  • opencv-python >=4.1.1
  • pandas >=1.1.4
  • psutil *
  • requests >=2.23.0
  • scipy >=1.4.1
  • seaborn >=0.11.0
  • setuptools >=65.5.1
  • thop >=0.1.1
  • torchvision >=0.9.0
  • tqdm >=4.64.0
  • ultralytics >=8.0.147
utils/google_app_engine/additional_requirements.txt pypi
  • Flask ==2.3.2
  • gunicorn ==19.10.0
  • pip ==23.3
  • werkzeug >=3.0.1