faster-rcnn小刀

来源:互联网 发布:东海航空 知乎 编辑:程序博客网 时间:2024/04/30 11:43

最近又把大神的faster rcnn程序搬出来,有点小感悟,小发现。
非极大值抑制NMS,绝逼是个好东西,说明如下。

  • proposal输出结果
    原始的proposal输出结果如下:
    这里写图片描述

疑似目标区域,如上,这是在逗我么,一团乱麻(6000个候选框)。经过非极大值抑制之后:
这里写图片描述

啥感觉,是不是有点眉目了,NMS功不可没。但是,说实话,结果依然很凌乱,其实仅从性能来说,相比Selective Search等传统预检测器没啥优势,不过它个很好的替代方案。

- 二次识别
以上丑陋的输出结果,距离最终的检测结果差距依然很大,咋办呢? “上分类器啊”
既然有了候选框,把所有的候选框放在分类器上做一次分类识别,岂不可以筛除好多block? let do it.
这正是faster rcnn 中识别网络做的事:
这里写图片描述

识别网络结构如上图所示,通过此网络,可输出修正窗口信息和类别置信度信息。经过识别网络后的修正后的图像块如下:
这里写图片描述

效果真的难以让人信服有木有,这时候NMS又该上场了:“让我拯救地球!!”
这时候,图像块个数由163缩小到了14块。快大功告成了。
用分类阈值一卡,done!!. 识别结果新鲜出炉。!!

NMS与分类器共同作用,使得看似很难的任务变得容易实现,好好理解一下NMS吧。
参考博客NMS

- matlab与caffe之间的接口

matlab与caffe之间接口
matlab与caffe接口可方便的进行中间结果数据的查看,及图表绘制等操作,其实比python要方便一些。

net.blobs(‘blob_name’).get_data() 语句可以获取feature_Map数据
net.params(‘layer_name’,1).get_data() 获取param1数据,一般为kernel
net.params(‘layer_name’,2).get_data() 获取param2数据,一般为biase

  • faster rcnn proposal层分析
    proposal网络最终输出初检测结果,其中包括anchor下的得分值。anchor有 3个尺度【128,256,512】,3个长宽(width:height)比【2:1,1:1,1:2】。
    9个anchor的组成方式为:
    [2:1]—>128,256,512
    [1:1]—->128,256,512
    [1:2]—->128,256,512
原创粉丝点击