Science Score: 31.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
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: aivyh123
  • Language: Python
  • Default Branch: master
  • Size: 101 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

README

概述

使用YOLOv5预训练模型及深度学习框架,对Pascal VOC2012数据集实现目标检测。

下载VOC2012数据集

http://host.robots.ox.ac.uk/pascal/VOC/voc2012/

只解压AnnotationsJPEGImages这两个文件夹。
Annotations存放标注用的.xml文件,一个.xml对应一张图片。
JPEGImages存放原始图片。
ImageSets存放配置文件,指示训练和测试中使用哪些图片,需自己编写合适的,故不解压原有的。

解压至项目根目录下的my_VOC2012目录中,注意JPEGImages目录需改名为images

若使用自己的数据集,应将AnnotationsJPEGImages两个文件夹放置到my_VOC2012目录中。

GitHub拉取YOLOv5源码

https://github.com/ultralytics/yolov5.git

项目配置conda环境

新建conda环境 bash conda create -n YOLOv5_for_VOC2012 python=3.8 启动 bash conda activate YOLOv5_for_VOC2012 先配置GPU训练环境(根据本机的CUDA配置) bash pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117 再根据YOLOv5项目自带的requirements.txt下载依赖包 bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

数据集划分

编写my_split.py用于划分训练、验证、测试集,代码测试时可以只选一小部分图像。
输出的.txt文件记录了数据集的划分情况,存放于./my_VOC2012/ImageSets/Main下。 bash python my_split.py

标注文件格式转换

编写my_xml2label.py用于将VOC提供的.xml格式的标注转为适合YOLOv5框架使用的标注格式。
其针对.txt文件中指示的每一张图像,将其对应的.xml标注转换并保存在./my_VOC2012/labels目录下。

注意my_xml2label.py的第68行包含绝对路径,需修改为本机的相应路径。 bash python my_xml2label.py

创建数据集配置文件

根据VOC2012数据集的情况,在./data目录下创建myvoc.yaml配置文件。
配置文件中描述了分类的类别数量、各类别名称,以及记录了数据集划分情况的.txt文件的路径(需使用my_xml2label.py生成的位于my_VOC2012目录下的.txt文件)。

下载预训练模型

https://github.com/ultralytics/yolov5/releases/tag/v5.0 下载,这里选用了yolov5m.pt,存放在./weights目录下。

修改模型配置文件

根据选用的模型创建或修改相应的模型配置文件,模型配置文件位于./models目录下。
由于使用的yolov5m.pt权重文件已有相应的yolov5m.yaml,故仅需修改Parameters中的nc一项,改为4与模型的分类数量相同。

开始训练

运行项目根目录下的train.py启动训练。 bash python train.py --img 416 --batch 4 --epoch 1 --data ./data/myvoc.yaml --cfg ./models/yolov5m.yaml --weights ./weights/yolov5m.pt 需要训练的epoch数量以及各文件的路径根据实际情况填写。
在./runs/train/exp/weights下会保存本次训练中的最优、最终模型。

开始验证

运行项目根目录下的val.py启动验证。 bash python val.py --img 416 --data ./data/myvoc.yaml --weights ./runs/train/exp/weights/best.pt 在./runs/val/exp下会保存本次验证的相关结果图片。

开始检测

运行项目根目录下的detect.py启动检测。待检测的全部图片放在./data/images目录下。 bash python detect.py --img 416 --weights ./runs/train/exp/weights/best.pt --source ./data/images 在./runs/detect/exp下会保存本次检测的相关结果图片。

Owner

  • Name: aivyh123
  • Login: aivyh123
  • Kind: user

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
  • Push event: 2
Last Year
  • Push event: 2