Darknet训练自己数据集之木材识别并计数
一直没有用Darknet训练过自己的数据,最近拿Yolov3尝试了一下,效果很好,记录一下。
Ubuntu系统使用Darknet还是很方便的,如何编译就不说了,直接讲训练过程。
这里用了60张木材照片,用来识别木材的数量
做好标注后,将img文件夹放进data目录下
将train.txt放进data目录下
将obj.names放进data目录下
修改cfg文件夹下的yolov3-voc.cfg
搜索Yolo,共三处,每处修改三个内容
filters=3 * (种类+5)
classes = 种类
random = 0
在cfg文件夹下修改obj.data
加载原始权重,进行训练:
./darknet detector train cfg/obj.data cfg/yolov3-voc.cfg darknet53.conv.74
训练了8个小时,loss到了2.0左右,中断训练,进行测试
测试效果:
./darknet detector test cfg/obj.data cfg/yolov3-voc.cfg backup/yolov3-voc_last.weights
在image.c中添加输入总数的代码,输出数量
printf("all:%d", selected_detections_num);
完成整个训练过程,如果测试效果不好,可以继续训练
./darknet detector train cfg/obj.data cfg/yolov3-voc.cfg backup/yolov3-voc_last.weights
补充:
后面尝试将训练好的weights权重转换成.h5权重,检测出的结果出现问题,只检测出准确为1.00的目标,如下:
评论(0)
您还未登录,请登录后发表或查看评论