Skip to content

luoruofeng/PreTrainYOLO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PreTrainYOLO

目标

在已有烟雾和火焰的数据集(Pascal VOC格式)和人物图片(不包含标注文件)的的条件下,使用yolov5训练出能够同时识别烟雾,火焰,人的模型。

思路:

  1. 将voc转换为coco格式
  2. 使用yolov5s模型给定图片的推理中人的信息存保存为coco标注,如果该图片有火烟雾就将两个coco融合为同一个coco标注文件,即包含吧烟雾,火,人的coco标注文件。
  3. 将coco转换为yolo数据集格式的txt标注数据。
  4. 如果图片宽或高超过640px则裁剪到640px大小内。
  5. yolov5训练。

数据来源

  1. 火焰和烟雾的数据集
  2. 带有人的图片可用从Visual Object Classes Challenge 2012 (VOC2012)下载,在通过python程序清洗掉不带人的图片。

开始

  1. data/img存放包含火,烟雾和人的图片
  2. data/voc存放pascal数据集的火监测xml数据(Pascal VOC格式)
  3. data/coco_result存放pascal转coco后的监测数据(执行python .\pascal2coco.py生成的结果)
python .\pascal2coco.py
  1. data/coco_result_merged存放监测到的人的数据和data/coco_result合并后的数据(执行python .\detect_person.py生成的结果)
python .\detect_person.py
  1. data/coco_result存放从data/coco_result_mergedcoco数据集格式转化为yolo数据集格式的数据(执行python .\coco2yolo.py生成的结果)
python .\coco2yolo.py
  1. 将该项目中的data/coco_resultdata/img 文件夹中的内容放入datasets的images和labels文件夹中。

  2. 调用python .\scale_down.py将图片最长的变改为640。等比例缩小图片。

python .\scale_down.py
  1. 编写data/fire.yaml确定训练路径和目标。

  2. 开始训练

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

python train.py --img 640 --epochs 3 --data C:\Users\luoru\Desktop\PreTrainYOLO\src\pre_train_yolo\data\fire.yaml --weights yolov5s.pt
  1. 获取最终的结果runs/exp/weigths/best.pt

  2. 使用test测试pt。

About

训练yolo的前置准备

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages