YOLOV3训练自己的模型-tiny

禹智科技 2019-01-29

实际操作步骤记录,备忘:
  1. 1.确定分类数量,名称
  2. 2.获取原始图片,重命名为001-XXX.bmp
  3. 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;