您的位置:首页 > 移动开发 > Objective-C

[论文阅读]HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection

2016-05-11 14:00 573 查看
本文是今年cvpr的一篇spotlight,也应该是目前为止faster rcnn所有变种中最好的一个。文章传送门:点击打开链接

和之前的RCNN以及之后的一些变种一样,本文也是region-based object detection framework。相比与faster rcnn,hypernet更擅长处理小物体,并且产生更高质量的proposal。

整体的框架见下图:





按照红框的依次介绍:

Network for Hyper Feature Extraction:

RCNN之后的framework在做小物体检测时有一个通病,就是物体的的信息会损失的非常厉害,比如原来32*32的物体,到最后一层feature map 只剩下了2*2,所以本文为了处理这个问题提出了两种方法,第一种,放大feature map,第二种,skip layer。按照标配输入1000*600的图最后的map size 会是62*37, 这样的话信息损失非常严重,所以作者想办法把最后的map放大到250*150,把第一层的map做一个max pooling, 把最后一层的map做一个deconv,然后把1,3,5层的map
LRN之后连在一起。LRN是必要的,因为不同层的feature resolution 不同,如果不做正则norm大的feature会压制住norm小的feature。

在产生hyper feature map之前,这些resize过的map会各自通过一层卷积,一方面缩小维度,另一方面增强语义。我比较疑惑地是为什么不直接用第二层的map,因为第一层pooling再加个卷积产生的map除开维度其实和第二层很像,有网友知道可以指点一下。此外,那个第五层的deconv我认为有很重要的意义。

另提一笔,skip layer feature在处理小物体检测中可以说已经多次被用到,从ION,deepproposal再到这篇文章,估计以后会是一种常规手段。

Region Proposal Generation:

这一部分我感觉作者讲的不怎么清楚,其中提到了另外一篇论文:《Object detection networks on convolutional feature maps》。此文我没有仔细读过,但是感觉和proposal产生关系不大,具体等读完了来更新。作者讲了RPN的另外一个坏处,就是RPN在产生proposal的时候,一个sliding window产生9个尺度大小不同的anchor作为proposal的基准,作者argue,尺度大小不同的proposal用同样的input去产生会有问题,所以用了这个方法。

具体给我的感觉。。。作者在产生的hyper feature map上随机产生了不同大小和尺度的proposal,然后每一个都feed到ROI pooling里面去,然后对这每一个proposal做一个判断是不是proposal,其中使用了一个卷积作为降维和防止overfit。

这一步给我的感觉是整篇文章最大的瓶颈,因为70%的时间就在这一步。加速的方法是把卷积层放到了ROI Pooling前面,但是performance会下降,这一点我想不大通为什么会下降。






Object Detection:

和fast rcnn到大同小异,Proposal 经过ROI Pooling之后增加一层卷积,然后做一个joint training。

小结

整个framework的训练和faster rcnn的第一个not end to end training的version非常像,都是先训练proposal generation这一块,然后再训练后面的detection,然后conv sharing 再train一遍。

本文的优点非常明显,proposal的质量非常高,top 100 proposal就达到了97%的recall(IOU 0.5),在IOU 0.7的情况下同样非常强,这应该得益于hyper feature map的原因。但是缺点是速度大于了1秒,当用加速版本,速度可以和faster rcnn基本持平。我认为在proposal generation这一步可以有一些思考的地方。

欢迎网友与我交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: