前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >点云目标检测入门第一课——理解RPN

点云目标检测入门第一课——理解RPN

作者头像
点云乐课堂
发布2020-05-18 15:37:27
1.1K0
发布2020-05-18 15:37:27
举报
文章被收录于专栏:3D点云深度学习3D点云深度学习

大家好。

之前已经推送过一篇点云目标检测方面的文章,感兴趣的点这里,看MV3D。

通过阅读点云目标检测方面的文献,我们发现:大量的方法是借鉴图像处理领域目标检测已有成果,进行扩展和改进。因此,如果你在做点云之前,做过图像检测方面研究的话,非常有优势。如果没有的话,也没关系,现在学习也不迟。

最近几年深度学习在计算机视觉领域取得了巨大的成功,而在目标检测这一计算机视觉的经典问题上直到2015年才有了完全使用深度学习的方法,也就是大名鼎鼎的Faster-RCNN以及和它同一时期的工作YOLO。

目标检测就是要找到一张图中所有的物体和它们的位置,在这两篇文章之前,人们通常的做法是先用一些传统视觉的方法如selective search找到proposal,即比较可能是物体的一个区域,然后再用CNN判断这个物体究竟是不是物体,是哪个物体,以及用CNN去优化这个框的位置,这种方法最典型的代表就是Faster-RCNN的前身,RCNN和Fast-RCNN,当然它们也是同样出色的工作。Faster-RCNN和YOLO解决的问题是省去了selective search,直接用CNN得到最后的结果,并且性能比之前的方法有很大提升。这篇文章主要介绍一下Faster-RCNN中替换掉selective search的RPN(Region Proposal Network)以及对RPN的改进:SSD(Single Shot MultiBox Detector)。

这部分是非常重要的基础,搞懂之后,对于整个检测领域的成果的理解都会很有帮助。

Faster-RCNN由RPN和Fast-RCNN组成,RPN负责寻找proposal,Fast-RCNN负责对RPN的结果进一步优化。其实RPN已经可以找到图片中每个物体的种类和位置,如果更注重速度而不是精度的话完全可以只使用RPN。RPN是一个全卷积网络(FCN),由于没有全连接层,所以可以输入任意分辨率的图像,经过网络后就得到一个feature map,然后怎么利用这个feature map得到物体的位置和类别那?这里要先介绍一下文章中提到的anchor这个概念,把这个feature map上的每一个点映射回原图,得到这些点的坐标,然后着这些点周围取一些提前设定好的区域,如选取每个点周围5x5的一个区域,这些选好的区域可以用来训练RPN。假设我们对feature map上的每个点选取了K个anchor,feature map的大小为H*W*C,那么我们再对这个feature map做两次卷积操作,输出分别是H*W*num_class*K和H*W*4*K,分别对应每个点每个anchor属于每一类的概率以及它所对应的物体的坐标,那么怎么训练这个网络那?这个网络的lossfunction就是一个用于分类的softmax loss和一个用于回归的smooth L1 loss,输出对应的ground truth也很好得到,对于每个anchor,如果它和图片中某个物体的IOU(面积的交/面积的并)大于一个阈值,就认为它属于这一类,否则认为是背景,对于那些是背景的anchor回归的loss就是0,其他anchor位置的ground truth就是它们所对应的物体的位置。RPN其实也很简单,关键的地方就在于选取了一些anchor然后进行pixel-wise的学习。论文中RPN的插图如下图:

但是RPN也有缺点,最大的问题就是对小物体检测效果很差,假设输入为512*512,经过网络后得到的feature map是32*32,那么feature map上的一个点就要负责周围至少是16*16的一个区域的特征表达,那对于在原图上很小的物体它的特征就难以得到充分的表示,因此检测效果比较差。同年年底的工作SSD: Single Shot MultiBoxDetector很好的解决了这个问题。

SSD可以理解为multi-scale版本的RPN,它和RPN最大的不同在于RPN只是在最后的feature map上预测检测的结果,而最后一层的feature map往往都比较抽象,对于小物体不能很好地表达特征,而SSD允许从CNN各个level的feature map预测检测结果,这样就能很好地适应不同scale的物体,对于小物体可以由更底层的feature map做预测。这就是SSD和RPN最大的不同,其他地方几乎一样。下图是SSD的网络结构,可以看到不同层的feature map都可以做预测。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D点云深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档