参考官网https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects
一.给图片打标签:
删除文件夹里面的所有文件:x64/Release/data/img
把自己的.jpg图片放入上述文件夹
在文件x64/Release/data/obj.data中写出要检测对象的数量(右键用Notepad++编辑)
在文件x64/Release/data/obj.names中写出对象的名字每个写一行
win+R:cmd
cd\x64\Release
yolo_mark.cmd (h-help c-clear)
二.如何训练(检测自定义对象):
1.使用与yolov3.cfg相同的内容创建文件yolo-obj.cfg(或将yolov3.cfg复制到yolo-obj.cfg)并且:
a.更改为 batch = 64(第三行)
b.更改为 subdivision = 8(第四行)
c.将三个[yolo] -layers 的classes= 80更改为你需要检测物体的个数(第610 696 783行)
d.在[yolo]图层之前的3 [卷积]中将[filters = 255]更改为filters =(classes + 5)x3 (第603 689 766行)
因此,如果classes = 1,那么应该是filters = 18。 如果classes = 2则写入filters = 21。
(不要写入cfg文件:filters =(classes + 5)x3)
2.在目录build \ darknet \ x64 \ data \中创建文件obj.names,对象名称 - 每个都在新行中(标定文件夹复制过来就行)
3.在目录build \ darknet \ x64 \ data \中创建文件obj.data,包含(其中classes =对象数):(标定文件夹复制过来就行)
classes= 2
train = data/train.txt
valid = data/test.txt
names