實際操作步驟記錄,備忘:
-
1.確定分類數(shù)量,名稱
-
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 修改文件內(nèi)容
-
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
開始訓練
部分訓練參數(shù)說明:
Region xx: cfg文件中yolo-layer的索引;
Avg IOU:當前迭代中,預(yù)測的box與標注的box的平均交并比,越大越好,期望數(shù)值為1;
Class: 標注物體的分類準確率,越大越好,期望數(shù)值為1;
obj: 越大越好,期望數(shù)值為1;
No obj: 越小越好;
.5R: 以IOU=0.5為閾值時候的recall; recall = 檢出的正樣本/實際的正樣本
0.75R: 以IOU=0.75為閾值時候的recall;