写在前面
今天打算用faster-rcnn来训练自己的数据,折腾了一天,终于搞定了。在此感谢网上大神们的分享,但对于我这种菜鸟,即使有武功秘籍,也难免走火入魔。入坑一时难,一直入坑一直难,非得自己全部走一遍才能理解的更深。因此,建议刚开始入门的旁友要有耐心,不要心急,一步一步的解决,结果不会让你失望的
网上的教程很多,但有些博客的质量实在是…,好吧,我觉得有些文章对我这种菜鸟很不友好,甚至误导我的方向,在此写一下自己的实现步骤:
使用faster-rcnn来训练自己的数据和测试模型需要对网上downlode的源代码作如下修改:
训练
1,准备VOC格式的数据集(网上教程很多,对着做就行了,如果决定要做目标检测方向,制作数据集是基本功)
2,在pascal_voc.py里修改class的信息,background要保留,最后也就是一个background+类别
3,config文件可以修改,也可以不修改,但刚开始跑程序,建议batch size和迭代次数调的小一点
4,运行train.py开始训练
除此之外,不需要,不需要,不需要做任何的修改!
测试
1,修改demo.py的class信息,以及下面中的test类别数(训练类别数+1)
2,将修改后的demo.py文件放在一个新的.py文件里(起个新名字,我起的是demo1.py),别问我为什么,这样可以解决下面这个问题absl.flags._exceptions.UnrecognizedFlagError: Unknown command line flag ‘net’. Did you mean: network ?
请参考https://blog.youkuaiyun.com/j497205974/article/details/80074072
3,用demo.py文件进行测试,将要测试的图片放在Faster-RCNN-TensorFlo