修改pvanet中nms算法的方法

pvanet的结构和fasterrcnn基本一样

因需求需要修改nms算法,搜了一些相关的,写篇文章记录一下。

./tools/test_net.py进行测试集合测试,(cpu版本)

将nms算法改为:做nms时,阈值大小根据目标框与图像中间的距离大小不同而改变

 

需要修改的地方:

 

1、test_net.py这个测试脚本会调用pva-faster-rcnn/lib/nms目录下的cpu_nms.so,cpu_nms.so由cpu_nms.pyx生成

所以cpu_nms.pyx文件里为cpu版本nms的算法代码,该代码由CPYTHON语言编写(网上CPYTHON语法一类的东西比较少)。

先用cpython语言,按照自己的需求修改cpu_nms.pyx。在def cpu_nms()这个函数中增加相应参数。

 

2、修改完cpu_nms.pyx文件保存,删除目录下的cpu_nms.so,在pva-faster-rcnn/lib目录中make一下,重新生成cpu_nms.so。

 

3、删除pva-faster-rcnn/lib/fast_rcnn/目录下的nms_wrapper.pyc,修改nms_wrapper.py中调用的 def nms() 和 def cpu_nms()。

 

4、test_net.py首先调用pva-faster-rcnn/lib/fast_rcnn/目录下test.py,test.py中修改在调用def nms()的地方,并把读取每个图片的图片中心点信息作为实参传给def nms()。

 

5、用test_net.py进行测试集测试时,会进行两次nms,第一次在rpn的时候会进行一次,所以需要修改pva-faster-rcnn/lib/rpn/目录下的proposal_layer.py文件中调用def nms()的地方。删除之前生成的proposal_layer.pyc

 

注:修改后的cpu版本检测速度比较慢,4~5s一张图片。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值