使用tf-faster-rcnn训练和测试自己的数据集(亲测可训练)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/zhou4411781/article/details/97317106

tf-faster-rcnn github地址为:https://github.com/endernewton/tf-faster-rcnn.git
自己配置测试过caffe版的的faster-rcnn,后来又测试了tensorflow版的faster-rcnn,配置如下。网上版本也较多,我测试的GPU版的,改动的地方不多。

训练模型:

1.进入tf-faster-rcnn/lib中 执行make

2.放入自己的数据集,步骤与py-faster-rcnn一样,参见另一篇博客:https://blog.csdn.net/zhou4411781/article/details/96480898

3.修改步长和迭代次数 tf-faster-rcnn/experiments/scripts/train_faster_rcnn.sh 和test_faster_rcnn.sh,要同步修改,否则会报错

4.添加自己的类,lib/datatsets/pascal_voc.py
第36行:

  self._classes = ('__background__',  # always index 0 	'cat', 'dog')

5.开始训练:

./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc res101

测试模型:

1.tools/demo.py中的类别改成自己的类别
第35行:

CLASSES = ('__background__','cat', 'dog')

2.将图片放入demo中,并更改demo.py的第153行为图片名称

im_names = ['000001.jpg','000002.jpg','000003.jpg']

3.修改网络模型,根据自己的设置的迭代次数更改,迭代次数跟“训练模型”中第2点设置一致,例如7000次。
第40行:

  NETS = {'vgg16': ('vgg16_faster_rcnn_iter_70000.ckpt',),'res101': ('res101_faster_rcnn_iter_7000.ckpt',)}
  DATASETS= {'pascal_voc': ('voc_2007_trainval',),'pascal_voc_0712': ('voc_2007_trainval',)}

4.修改类别数为自己的类别数(实际类别数+1)
第141行:

net.create_architecture("TEST", 3, 
tag='default', anchor_scales=[8, 16, 32])

5.demo测试:

python ./tools/demo.py 

在tf-faster-rcnn下会生成一个plot_images文件夹,其中包含你测试结果的图片

猜你喜欢

转载自blog.csdn.net/zhou4411781/article/details/97317106