模型:https://github.com/AlexeyAB/darknet
测试
1.对COCO-model - image测试:
把测试图片放在x64文件夹下,并在此目录下打开cmd,
darknet.exe detector test data/coco.data yolo.cfg yolo.weights -i 0 -thresh 0.2
输入图片名:
得到检测效果:
2.测试视频:
步骤同上,改cmd命令:
darknet.exe detector demo data/coco.data yolo.cfg yolo.weights test.mp4 -i 0
训练自己样本
首先看训练所用的命令,来明确训练前需要做什么工作:
darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
共五个参数:
argv【0】:detector
argv【1】:train 表示训练
argv【2】:data/obj.data data文件夹下的.data文件,格式如下:
主要内容是说明类数,
.names文件用来说明类名,自己改;
train.txt是训练图片的名称(用给的标定程序可以生成,不用管)
argv【3】:yolo-obj.cfg 网络结构
argv【4】:darknet19_448.conv.23 迁移学习用的初始前23层的权重
可以看到,需要:
obj.data(需更改,类数)
obj.name(需更改,类名)
train.txt(需更改,图片位置)
yolo-obj.cfg(需更改,根据类数改最后一层的filters)
darknet19_448.conv.23(要下载)
步骤:
1.准备数据,标签做成如下格式:
object-class x y width height
可以直接用标定程序做。
标定程序下载:https://github.com/AlexeyAB/Yolo_mark
2.yolo-obj.cfg:
Create file yolo-obj.cfg with the same content as
in yolo-voc.2.0.cfg (or copy yolo-voc.2.0.cfg to yolo-obj.cfg)
and:
change line batch to batch=64
change line subdivisions to subdivisions=8
change line classes=20 to your number of objects
change line #237 from filters=125 to: filters=(classes + 5)x5,
so if classes=2 then should be filters=35.
filters=(classes + 5)x5.
3.
obj.data(需更改,类数)
obj.name(需更改,类名)
4.
darknet19_448.conv.23(要下载)放在x64下