https://download.csdn.net/download/qq_37044856/19701526?spm=1001.2014.3001.5503
(源码及图片标记工具)
一. pytorch环境搭建
终端输入
pip3 install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
其间遇到报错Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问,解决办法:
pip3 install --user torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
下载成功后,输入python >>import torch,如果不报错就可以pip list 检查是否安装成功:
二.模型训练
1.下载工程,其中已包含voc2017数据集,把自己的图片放入\VOCdevkit\VOC2007\JPEGImages中,最好多于500张
2.双击运行图片标记工具labelImg.exe ,opendir 是JPEGImages文件夹,change save dir是\VOCdevkit\VOC2007\Annotations
增加标签,比如我只有烟雾一个识别类,就添加smoke,键盘W是画框,A是上一张,D是下一张
所有文件标注完后会在Annotations文件夹生成对应xml文件,其存放标注框名称及大小
3.运行voc2yolo3.py,会在\VOC2007\ImageSets\Main下生成train.txt,包含JPEGImages中所有文件名
在model_data里新建一个new_classes.txt,存入自己模型的识别类别,比如我的“smoke”,你有几个就写几行
修改voc_annotation.py里classes内容为刚刚new_classes里的内容,逗号隔开,例如
classes = ["smoke", "bike", "bird"]
4.运行voc_annotation,会生成2007_train.txt,每一行对应其图片路径及标记框。
5.修改train.py中num_classes为自己检测类的个数,修改cuda=false(GPU版本不用),运行train.py
我的训练集是500张图片,跑了8个小时
三.模型检测
1.logs文件夹下会生成很多个.pth文件,一轮epoch一个,一共100轮,选择最后生成的文件,这就是你的权重文件,复制到model_data中,重命名为自己的例如yolo_smoke.pth
2.修改yolo.py中model_path为自己刚刚重命名的.pth,classes_path为new_classes
运行predict.py进行检测,待检测图片放入img文件夹