图像识别-iOS-yolov3

以下文章是通过yolov3方式训练的方式
Darknet-YOLO:https://pjreddie.com/darknet/yolo/ (用来训练模型)
labelImg:https://github.com/tzutalin/labelImg(用来给照片打标签,给需要识别的物体打上标签)

1、准备工作

1.拍照片要求 (本人用的照片是416*416的) (用的照片大概用了1000多张,考虑从不同角度、灯光、距离、场景)
尺寸: 正方形 (416*416)
2.给照片打标签,一个照片上可以打上多个标签名称,自己可以研究一下labelImg的使用方法
3.将打好标签的图片放入文件夹


WeChatb5b5ed82c85ebf4fbcc354fff0a4b903.png

下面我介绍一下文件夹中的内容
Annotations (存放 由 labelImg 训练好的 xml文件)
test.txt、train.txt、val.txt中存放图片名字


WeChat37cdf426f937b7a5def886ac81f0a436.png

JPeGImages文件夹中存放图片


WeChat7970a0f481e899b701a1bc32086ac8e1.png

voc_label.py 用来跑 python程序,把文件里面的路径配置好,跑一下程序,然后会生成对应的文件
WeChat6428c823a4a37e43a1185cec957cbeaf.png

以上就是图片准备工作

2.yolov3工作
大家按照官网步骤操作即可

下面有两位大神的训练步骤可以借鉴
https://blog.csdn.net/qq_21578849/article/details/84980298
https://www.jianshu.com/p/f4518fe04da1
有voc训练和tiny训练方式,我两种方式都试了一下,建议大家使用tiny训练方式,因为我试了voc的训练方式,训练出来的模型特别的卡顿

yolov3是训练出来的权重文件
WeChat2b5a731007d42785168ea1068ca525eb.png

以上yolov3训练需要将近四五个小时左右,所以需要大家耐心等待

然后我们将权重文件训练为iOS中需要的mlmodel模型
我用的是下面的这个方式,大家可以尝试一下
https://github.com/Mrlawrance/yolov3-ios

我用这个人的训练方式遇到一个问题就是 执行下面convert.py 操作的时候要把 -w去掉换成下面这句


WeChatf7a6f089023445c62d647f1a4e5f136a.png

修改后的方法

python convert.py darknet53.cfg darknet53.weights model_data/darknet53_weights.h5

大家如果在训练的过程中有遇到什么问题也可以交流一下

你可能感兴趣的:(图像识别-iOS-yolov3)