了解 RCNN 及其对物体检测的影响。我们将介绍其关键组件、应用以及在推进快速 RCNN 和YOLO 等技术中的作用。
了解 RCNN 及其对物体检测的影响。我们将介绍其关键组件、应用以及在推进快速 RCNN 和YOLO 等技术中的作用。
物体检测是一项计算机视觉任务,可识别和定位图像或视频中的物体,用于自动驾驶、监控和医疗成像等应用。早期的物体检测方法,如 Viola-Jones 检测器和带有支持向量机(SVM)的定向梯度直方图(HOG),依赖于手工制作的特征和滑动窗口。这些方法往往难以准确detect 复杂场景中的物体,这些场景中有多个不同形状和大小的物体。
基于区域的卷积神经网络(R-CNN)改变了我们处理物体检测的方式。它是计算机视觉史上的一个重要里程碑。要了解像 YOLOv8 等模型是如何出现的,我们首先需要了解 R-CNN 等模型。
由 Ross Girshick 及其团队创建的 R-CNN 模型架构生成区域提议,使用预训练的卷积神经网络 (CNN) 提取特征,对对象进行分类,并细化边界框。虽然这看起来令人生畏,但在本文结束时,您将清楚地了解 R-CNN 的工作原理以及它为何如此有影响力。让我们来看看!
R-CNN 模型的目标检测过程涉及三个主要步骤:生成区域提议、提取特征以及在细化其边界框的同时对对象进行分类。让我们逐步了解每个步骤。

第一步,R-CNN 模型扫描图像以创建大量区域提议。区域提议是可能包含对象的潜在区域。诸如选择性搜索之类的方法用于查看图像的各个方面,例如颜色、纹理和形状,将其分解为不同的部分。选择性搜索首先将图像分成较小的部分,然后合并相似的部分以形成较大的感兴趣区域。此过程持续进行,直到生成大约 2,000 个区域提议。

这些区域提议有助于识别物体可能存在的所有可能位置。在后续步骤中,该模型可以通过专注于这些特定区域而不是整个图像来有效地处理最相关的区域。使用区域提议可以平衡彻底性和计算效率。
R-CNN 模型的目标检测过程的下一步是从区域提议中提取特征。每个区域提议都被调整为 CNN 期望的一致大小(例如,224x224 像素)。调整大小有助于 CNN 有效地处理每个提议。在扭曲之前,每个区域提议的大小会略微扩大,以包括区域周围 16 像素的额外上下文,从而为更好的特征提取提供更多周围信息。
调整大小后,这些区域提案会被输入到类似 AlexNet 的 CNN 中,该 CNN 通常会在类似ImageNet大型数据集上进行预训练。CNN 会对每个区域进行处理,以提取高维特征向量,捕捉边缘、纹理和图案等重要细节。这些特征向量浓缩了各区域的基本信息。它们将原始图像数据转换成模型可用于进一步分析的格式。能否在下一阶段准确地对物体进行分类和定位,取决于能否将视觉信息转化为有意义的数据。

第三步是classify 这些区域内的物体进行classify 。这意味着要确定建议中发现的每个对象的类别。然后将提取的特征向量传递给机器学习分类器。
在R-CNN的情况下,支持向量机 (SVM) 通常用于此目的。每个SVM都经过训练,通过分析特征向量并确定特定区域是否包含该类的实例来识别特定的对象类别。本质上,对于每个对象类别,都有一个专用的分类器检查每个区域提议中是否存在该特定对象。
在训练过程中,分类器会获得带有正样本和负样本的标记数据:
分类器学习区分这些样本。边界框回归通过调整最初提出的边界框以更好地匹配实际对象边界,进一步细化检测到的对象的位置和大小。通过结合分类和边界框回归,R-CNN模型可以识别并准确定位对象。

在分类和边界框回归步骤之后,模型往往会为同一物体生成多个重叠的边界框。应用非最大值抑制NMS)来完善这些检测,保留最准确的边界框。该模型通过应用NMS 消除多余和重叠的边框,只保留最可靠的检测结果。
NMS 的工作原理是评估所有边界框的置信度分数(表示检测到的物体实际存在的可能性),并抑制那些与高分边界框明显重叠的边界框。

下面是NMS 的步骤分解:
综上所述,R-CNN 模型通过生成区域建议、使用 CNN 提取特征、使用边界框回归对物体进行分类并完善其位置,以及使用非最大抑制NMS)只保留最准确的检测结果来检测物体。
R-CNN 是目标检测历史上一个具有里程碑意义的模型,因为它引入了一种新方法,大大提高了准确性和性能。在 R-CNN 之前,目标检测模型难以平衡速度和精度。R-CNN 生成区域提议并使用 CNN 进行特征提取的方法可以精确地定位和识别图像中的物体。
R-CNN 为 Fast R-CNN、Faster R-CNN 和 Mask R-CNN 等模型铺平了道路,这些模型进一步提高了效率和准确性。通过将深度学习与基于区域的分析相结合,R-CNN 在该领域树立了新标准,并为各种实际应用开辟了可能性。
R-CNN 的一个有趣应用案例是医学成像。R-CNN 模型已被用于在核磁共振成像和 CT 扫描等医学扫描中detect 和classify 不同类型的肿瘤,如脑肿瘤。在医学成像中使用 R-CNN 模型可以提高诊断的准确性,帮助放射科医生在早期发现恶性肿瘤。R-CNN 甚至能detect 肿瘤和早期肿瘤,这对癌症等疾病的治疗和预后有重大影响。

除肿瘤检测外,R-CNN 模型还可应用于其他医学成像任务。例如,它可以识别骨折、detect 眼部扫描中的视网膜疾病,以及分析肺部图像以detect 肺炎和 COVID-19 等疾病。无论何种医疗问题,早期检测都能为患者带来更好的治疗效果。通过应用 R-CNN 在识别和定位异常方面的精确性,医疗保健提供商可以提高医疗诊断的可靠性和速度。物体检测简化了诊断过程,患者可以受益于及时准确的治疗方案。
虽然 R-CNN 令人印象深刻,但它也有一些缺点,例如计算复杂度高和推理时间慢。这些缺点使得 R-CNN 模型不适合实时应用。将区域提议和分类分成不同的步骤,可能会导致效率降低。
多年来,已经出现了各种目标检测模型来解决这些问题。Fast R-CNN 将区域提议和 CNN 特征提取结合到一个步骤中,从而加快了处理速度。Faster R-CNN 引入了区域提议网络 (RPN) 来简化提议生成,而 Mask R-CNN 添加了像素级分割以进行更详细的检测。

大约与 Faster R-CNN 同时,YOLO (You Only Look Once)系列开始推进实时物体检测。YOLO 模型通过网络一次性预测边界框和类概率。例如 Ultralytics YOLOv8为许多计算机视觉任务提供了更高的准确性和更快的速度,以及先进的功能。
RCNN 改变了计算机视觉领域的游戏规则,展示了深度学习如何改变物体检测。它的成功激发了该领域的许多新想法。尽管 Faster R-CNN 和YOLO 等新模型的出现弥补了 RCNN 的缺陷,但它的贡献是一个巨大的里程碑,值得铭记。
随着研究的不断深入,我们将看到更好更快的物体检测模型。 这些进步不仅会改善机器理解世界的方式,还会促进许多行业的发展。 目标检测的未来看起来令人兴奋!
想要继续探索人工智能?成为Ultralytics 社区的一员吧!访问我们的GitHub 仓库,了解我们最新的人工智能创新成果。查看我们横跨农业和制造业等多个领域的人工智能解决方案。加入我们,共同学习,共同进步!