关于这两个模型的环境配置,如何跑通demo来检测一张图片等内容,在我之前的博客有详细介绍
https://blog.csdn.net/hesongzefairy/article/details/105228434 (Windows10下快速复现keras yolov3)
https://blog.csdn.net/hesongzefairy/article/details/105238349(Windows10下快速复现Keras Faster RCNN)
keras下的代码比较简洁,我就以YOLOv3训练自己的数据来举个例子,Faster RCNN与之类似
训练方法参考了up主的视频,非常感谢https://www.bilibili.com/video/BV1XJ411D7wF
方便起见采用其提供的项目地址来实现训练自己的数据集https://github.com/bubbliiiing/yolo3-keras
Step1:使用labelimg标记数据
up主的视频有很详细的介绍如何标记数据,不再赘述如何使用labelimg
Step2:处理数据集
使用的是VOC2007数据集格式,我们将标记好的文件以及原图数据分别存放在\VOCdevkit\VOC2007\路径下
然后准备运行voc2yolo3.py文件,但是可能会报错提示找不到文件路径,自己根据情况修改路径即可,运行之后会修改ImageSets\Main\train.txt文件中的数据,其实就是存放训练文件名字的地方。
需要注意的是,在model_data文件夹中有一个voc_classes.txt,需要根据自己的类别作相应修改
最后准备运行voc_annotation.py生成一个数据的映射关系,同样需要先做修改,classes需要修改
运行之后,可以查看2007_train中的数据映射关系,其实就是数据的绝对路径
这样数据的处理就完成了
Step3:启动训练
修改train.py中的一些参数,位置在代码134行main函数后
如果是按照上面的步骤来设置文件夹的名称,路径基本上不用修改
这里再提示一下,给的数据集必须大于10张才能正常训练
Step4:启动预测
将log文件中保存的权重文件last1.h5拿出来放到model_data中,然后修改yolo.py中的model_path为last1.h5对应的路径和名称以及classes_path,最后就可以运行predict.py来测试一幅图像的预测结果了。