欢迎访问个人网络日志🌹🌹知行空间🌹🌹
1 ROI
首先,何为ROI? ROI是Region of Interest的缩写,即感兴趣区域。在不同的情况下用户关心的图像区域是不同的,因此ROI所指含义也不同。对于物体检测的目标ROI,ROI就是要找到对象在图像中Bounding Box区域。如

对于物体检测的目标,我们关心的是对象是人,则上图中红色的框中人的框选区域就是ROI。
而在Fast RCNN中,ROI Pooling作用在backbone和检测头之间,其关心的是物体检测框的候选框proposal boxes,而非真正的target boxes,对proposal boxes经过置信度评分过滤和极大值抑制后才能生成target boxes。因此,此时的ROI指的是候选框proposal boxes所指的区域。如下图,目标框是准确框出图中的两只狗狗,但通过selective search或RPN网络生成的proposal boxes如图中花花绿绿的框所时,ROI Pooling和ROI Align正是作用在这些proposal boxes所指的ROI上。
2.ROI Pooling
将深度学习用于目标检测,网络架构一般是分成Backbone基干网络用于提取图像特征,和检测头用来实现分类和检测框位置回归。2015年4月份微软的Ross Girshick发表的Fast RCNN论文中提出了ROI Pooling, 解决了模型固定大小输入的问题,提升了检测的性能,一起来看ROI Pooling到底是怎么回事。
ROI Pooling顾名思意,就是池化操作的一种,只不过这个池化操作是作用在ROI上面,而非整个图像区域。先看fast RCNN的整体架构,
图片来自
fast RCNN论文
图中Deep ConvNet是深度卷积网络,也就是backbone是用来提取特征得到feature map的,feature map就是对输入的图像经过层层卷积后得到的shape为NCHW的张量,其中feature map的宽高大小通常等于输入图像宽高除以stride,stride是输入图像经过卷积池化得到的feature map的缩放倍数,ROI Pooling正是紧跟在feature map后面,作用在feature map的池化操作。输入图像中红色的框是一个proposal box,这个proposal box是selective search或region proposal network算法自动生成的ROI区域,还不是物体检测框bounding box,proposal boxes的尺度是相对于输入图像的,因此可根据stride参数,将其映射到feature map尺度上,也就是图中的ROI Projection。得到feature map和经过stride缩放投射到feature map上的proposal box后,就可以开始进行池化操作了。

从上图中可以看

本文介绍了ROI在目标检测中的作用及其两种实现方式ROIPooling和ROIAlign。ROIPooling通过池化操作解决模型固定大小输入的问题,提升检测性能;ROIAlign则通过双线性插值提高检测精度。


最低0.47元/天 解锁文章
979

被折叠的 条评论
为什么被折叠?



