【深度学习】py-faster-rcnn中修改anchor的大小和数量

本文用到的是caffe下,rbg大神写的py-faster-rcnn


针对不同的数据集不同大小的目标,修改anchor的大小和数量,是很有必要的,可以加快收敛的速度,提高检测精度,


原始的数据集是VOC数据集,图片基本集中在500*375左右。在lib文件夹下generate_anchor.py中设计的anchor为128*128,256*256,512*512(不考虑ratios的话),而这样的设计基本符合VOC中目标大小的分布,但是如果你做的是小目标的检测,比如你的大部分目标为8*8-20*20的样子,很明显这里就不再适用了。

.


方便修改anchor的大小,使得可以直接从generate_anchor修改anchor来起到真正修改anchor的作用,需要将调用generate_anchor.py的代码稍作修改.

1.在lib文件夹下,proposal_layer.pyzhon中将的修改如下图,基本含义就是调用默认的参数。



2.在anchor_target_layer.py中同理,作修改,红色框表示注释掉绿色框表示新增代码




3.在generate_anchor.py中修改如下【不考虑ratios的话,anchor最小生成8*8的anchor(6*16*1.0/12.0base_size*16*scales_min】,总共60个anchor【5*12即ratios*scales】,实验证明,增加anchor的数量,训练所耗费的时间增加的并不明显~


4.在models中修改train.protxt还有test.prototxt,这里只以train做了展示,test基本一样的修改。




猜你喜欢

转载自blog.csdn.net/e01528/article/details/80171109