实际操作步骤记录,备忘:
-
1.确定分类数量,名称
-
2.获取原始图片,重命名为001-XXX.bmp
-
3.yolov3-tiny_obj.cfg拷贝出来修改
-
3.1修改batch=64,subdivisions=8。
-
3.2修改classes和filters,共三处。如果检测两类物体,则classes=2,
-
filters=(classess+5)*3=(2+5)*3=21。
-
change line classes=80 to your number of objects in each of 3 [yolo]-layers:
-
change [filters=255] to filters=(classes + 5)x3 in the 3 [convolutional] before each [yolo] layer
4.4 修改文件内容
-
obj.name文件:
-
Type1
-
Type2
-
Type3
-
obj.data文件:
-
classes= 3
-
train = data/train.txt
-
valid = data/train.txt
-
names = data/obj.names
-
backup = backup/
-
train.txt文件:
-
data/img/1.JPG
-
data/img/10.JPG
-
。。。。。。。
5.5.使用打标软件打标
6.6.darknet.exe detector train data/obj.data yolov3-tiny_obj.cfg yolov3-tiny.conv.15
开始训练
部分训练参数说明:
Region xx: cfg文件中yolo-layer的索引;
Avg IOU:当前迭代中,预测的box与标注的box的平均交并比,越大越好,期望数值为1;
Class: 标注物体的分类准确率,越大越好,期望数值为1;
obj: 越大越好,期望数值为1;
No obj: 越小越好;
.5R: 以IOU=0.5为阈值时候的recall; recall = 检出的正样本/实际的正样本
0.75R: 以IOU=0.75为阈值时候的recall;