基于区域的卷积神经网络(R-CNN)是一类用于计算机视觉的机器学习模型,专门针对目标检测和定位。R-CNN的原始目标是接收输入图像并输出一组边界框,其中每个边界框包含一个对象以及该对象的类别(例如汽车或行人)。一般来说,R-CNN架构会对CNN输出的特征图执行选择性搜索。
R-CNN已被扩展以执行其他计算机视觉任务,例如跟踪无人机摄像头中的对象、定位图像中的文本,以及在Google Lens中实现目标检测。Mask R-CNN也是MLPerf训练基准中的七项任务之一,该基准旨在加速神经网络的训练。
历史
R-CNN的发展经历了几个关键版本。最初的R-CNN于2013年11月提出,随后是2015年4月的Fast R-CNN和2015年6月的Faster R-CNN。Mask R-CNN于2017年3月问世,将框架扩展至实例分割。2017年12月,Cascade R-CNN被提出,它使用递增的Intersection over Union(IoU,也称为Jaccard指数)阈值进行训练,使每个阶段对邻近的误报更具选择性。2019年6月,Mesh R-CNN增加了从2D图像生成3D网格的能力。
架构
R-CNN家族共享基于区域提议和卷积特征提取的通用架构。核心思想是生成候选对象区域,使用CNN提取特征,并对每个区域进行分类。
选择性搜索
给定图像(或类似图像的特征图),选择性搜索(也称为层次分组)首先使用Felzenszwalb和Huttenlocher(2004)的算法对图像进行分割。然后,它基于颜色、纹理、大小和形状兼容性迭代合并相似的相邻区域,生成一组对象位置假设。算法步骤如下:
- 将图像分割为初始区域R = {r1, ..., rn}。
- 初始化相似度集合S = ∅。
- 对于每个相邻区域对(ri, rj),计算相似度s(ri, rj)并添加到S。
- 当S不为空时:
- 获取最高相似度s(ri, rj) = max(S)。
- 合并相应区域rt = ri ∪ rj。
- 从S中移除涉及ri和rj的相似度。
- 计算rt与其邻居之间的相似度,并添加到S。
- 将rt添加到R。
- 从R中的所有区域提取对象位置框L。
R-CNN
在原始R-CNN中,预测遵循两步过程。预处理选择性搜索步骤生成大量候选对象(通常多达2000个),称为感兴趣区域(ROI)。这些区域被转发到CNN,CNN为每个ROI独立预测对象类别分数和边界框估计。重要的是,ROI经过大量过滤以去除多余候选。过滤首先移除分配给背景类别的ROI,背景类别是CNN与其他类别一起评分的专门类别。剩余的ROI通常存在严重重复,因为覆盖同一对象的多个ROI都被分配了非背景类别。这通过启发式非极大值抑制(NMS)步骤解决。
Fast R-CNN
原始R-CNN在多达两千个感兴趣区域中的每一个上独立计算神经网络特征,而Fast R-CNN则在整个图像上运行一次神经网络。网络末端是一个ROIPooling模块,它从网络输出张量中切出每个ROI,重塑形状,并对其进行分类。与原始R-CNN一样,Fast R-CNN使用选择性搜索生成其区域提议。
Faster R-CNN
Faster R-CNN将ROI生成集成到神经网络本身中,消除了对外部选择性搜索的需求。这使得模型可以完全端到端训练,并且速度显著提高。
Mask R-CNN
早期版本专注于目标检测,而Mask R-CNN增加了实例分割,为每个检测到的对象生成分割掩码。Mask R-CNN还用一种称为ROIAlign的新方法取代了ROIPooling,该方法可以表示像素的分数部分,从而提高定位精度。
应用与影响
R-CNN模型已广泛应用于计算机视觉应用,包括自动驾驶、监控和图像搜索。该架构影响了后续的目标检测模型,并仍是视觉深度学习的基石概念。MLPerf基准将Mask R-CNN作为评估训练性能的标准任务,突显了其实用重要性。
参见
参考文献
- Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation. CVPR.
- Girshick, R. (2015). Fast R-CNN. ICCV.
- Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster R-CNN: Towards real-time object detection with region proposal networks. NeurIPS.
- He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask R-CNN. ICCV.
进一步阅读
- Parthasarathy, Dhruv (2017-04-27). "A Brief History of CNNs in Image Segmentation: From R-CNN to Mask R-CNN". Medium. Retrieved 2024-09-11.