以下文章是通过yolov3方式训练的方式
Darknet-YOLO:https://pjreddie.com/darknet/yolo/ (用来训练模型)
labelImg:https://github.com/tzutalin/labelImg(用来给照片打标签,给需要识别的物体打上标签)
1、准备工作
1.拍照片要求 (本人用的照片是416*416的) (用的照片大概用了1000多张,考虑从不同角度、灯光、距离、场景)
尺寸: 正方形 (416*416)
2.给照片打标签,一个照片上可以打上多个标签名称,自己可以研究一下labelImg的使用方法
3.将打好标签的图片放入文件夹
下面我介绍一下文件夹中的内容
Annotations (存放 由 labelImg 训练好的 xml文件)
test.txt、train.txt、val.txt中存放图片名字
JPeGImages文件夹中存放图片
以上就是图片准备工作
2.yolov3工作
大家按照官网步骤操作即可
下面有两位大神的训练步骤可以借鉴
https://blog.csdn.net/qq_21578849/article/details/84980298
https://www.jianshu.com/p/f4518fe04da1
有voc训练和tiny训练方式,我两种方式都试了一下,建议大家使用tiny训练方式,因为我试了voc的训练方式,训练出来的模型特别的卡顿
以上yolov3训练需要将近四五个小时左右,所以需要大家耐心等待
然后我们将权重文件训练为iOS中需要的mlmodel模型
我用的是下面的这个方式,大家可以尝试一下
https://github.com/Mrlawrance/yolov3-ios
我用这个人的训练方式遇到一个问题就是 执行下面convert.py 操作的时候要把 -w去掉换成下面这句
修改后的方法
python convert.py darknet53.cfg darknet53.weights model_data/darknet53_weights.h5
大家如果在训练的过程中有遇到什么问题也可以交流一下