Ultralytics YOLO27:
视觉 AI

什么是 R-CNN?快速概览

了解 RCNN 及其对目标检测的影响。我们将介绍其关键组件、应用,以及它在推动 Fast RCNN 和 YOLO 等技术发展中的作用。

ABAbirami Vina6 min read
R-CNN 如何执行基于区域的目标检测

目标检测是一项计算机视觉任务,可识别和定位图像或视频中的对象,应用于自动驾驶监控医学影像等领域。早期的目标检测方法,例如 Viola-Jones 检测器,以及结合支持向量机 (SVM) 的方向梯度直方图 (HOG),依赖人工设计的特征和滑动窗口。这些方法通常难以在包含多个不同形状和大小对象的复杂场景中准确检测对象。

基于区域的卷积神经网络 (R-CNN) 改变了我们处理目标检测的方式。它是计算机视觉发展史上的重要里程碑。要理解像 Ultralytics YOLOv8 这样的模型是如何出现的,我们首先需要了解 R-CNN 这样的模型。

R-CNN 模型架构由 Ross Girshick 及其团队创建,它会生成区域提议,使用预训练的卷积神经网络 (CNN) 提取特征,进行对象分类,并优化边界框。这听起来可能有些复杂,但读完本文后,你将清楚了解 R-CNN 的工作原理,以及它为何具有如此重要的影响。让我们一起来看看!

R-CNN 如何工作?#

R-CNN 模型的目标检测过程包含三个主要步骤:生成区域提议、提取特征,以及在优化边界框的同时对对象进行分类。下面我们逐步介绍。

R-CNN 工作原理示意图

图 1:R-CNN 的工作原理。

区域提议:RCNN 的骨干#

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

选择性搜索工作原理示意图

图 2:选择性搜索的工作原理。

这些区域提议有助于识别对象可能存在的所有位置。在接下来的步骤中,模型可以专注于这些特定区域,而不是整幅图像,从而高效处理最相关的区域。使用区域提议可以在全面性与计算效率之间取得平衡。

图像特征提取:捕捉细节#

R-CNN 模型目标检测过程的下一步是从区域提议中提取特征。每个区域提议都会调整为 CNN 所需的统一尺寸(例如 224x224 像素)。调整尺寸有助于 CNN 高效处理每个提议。在变形之前,每个区域提议的尺寸会略微扩展,以包含区域周围额外的 16 个像素上下文,从而提供更多周边信息,改善特征提取效果。

调整尺寸后,这些区域提议会输入类似 AlexNet 的 CNN,而该 CNN 通常已在 ImageNet 等大型数据集上完成预训练。CNN 会处理每个区域,提取能够捕捉边缘、纹理和图案等重要细节的高维特征向量。这些特征向量浓缩了区域中的关键信息,并将原始图像数据转换为模型可用于进一步分析的格式。在后续阶段,能否准确分类和定位对象,取决于这一将视觉信息转换为有意义数据的关键过程。

使用 AlexNet 从区域提议中提取特征

图 3:使用 AlexNet 从区域提议中提取特征。

对象分类:识别检测到的对象#

第三步是对这些区域中的对象进行分类。这意味着要确定区域提议中每个对象所属的类别。随后,提取出的特征向量会输入机器学习分类器。

在 R-CNN 中,通常使用支持向量机 (SVM) 来完成这项任务。每个 SVM 都经过训练,用于识别特定的对象类别:它会分析特征向量,并判断某个区域是否包含该类别的实例。简单来说,每个对象类别都有一个专用分类器,用于检查每个区域提议中是否存在该特定对象。

在训练过程中,分类器会获得带有正样本和负样本的标注数据:

  • 正样本:包含目标对象的区域。
  • 负样本:不包含该对象的区域。

分类器会学习区分这些样本。边界框回归会进一步优化检测到的对象的位置和大小,方法是调整最初提出的边界框,使其更好地匹配实际对象边界。R-CNN 模型通过结合分类和边界框回归,能够识别并准确定位对象。

边界框回归示例

图 4。边界框回归示例。(来源:towardsdatascience.com)

整合流程:使用 NMS 优化检测结果#

完成分类和边界框回归步骤后,模型通常会为同一对象生成多个相互重叠的边界框。此时会应用非极大值抑制 (NMS) 来优化检测结果,仅保留最准确的边界框。模型通过应用 NMS 消除冗余和重叠的边界框,只保留置信度最高的检测结果。

NMS 会评估所有边界框的置信度分数(表示检测到的对象实际存在的可能性),并抑制那些与得分更高的边界框存在显著重叠的边界框。

非极大值抑制示例

图 5。非极大值抑制示例。(来源:towardsdatascience.com)

下面分解介绍 NMS 的步骤:

  • **排序:**按照置信度分数降序排列边界框。
  • **选择:**选择得分最高的边界框,并移除所有与其发生显著重叠的边界框(依据交并比 IoU 判断)。
  • **迭代:**针对下一个得分最高的边界框重复这一过程,直到处理完所有边界框。

总的来说,R-CNN 模型通过生成区域提议、使用 CNN 提取特征、对对象进行分类并通过边界框回归优化其位置,以及使用非极大值抑制 (NMS),只保留最准确的检测结果,从而完成对象检测。

R-CNN 是目标检测领域的里程碑#

R-CNN 是目标检测发展史上的标志性模型,因为它引入了一种全新的方法,大幅提升了准确率和性能。在 R-CNN 出现之前,目标检测模型很难兼顾速度和精度。R-CNN 通过生成区域提议并使用 CNN 提取特征,实现了对图像中对象的精确定位和识别。

R-CNN 为 Fast R-CNN、Faster R-CNN 和 Mask R-CNN 等模型铺平了道路,这些模型进一步提升了效率和准确率。通过将深度学习与基于区域的分析相结合,R-CNN 在该领域树立了新的标准,并为各种现实世界的应用开辟了可能性。

使用 R-CNN 改变医学影像#

R-CNN 的一个有趣应用场景是医学影像。R-CNN 模型已用于检测和分类不同类型的肿瘤,例如医学扫描中的脑肿瘤,包括 MRI 和 CT 扫描。将 R-CNN 模型应用于医学影像可以提高诊断准确率,并帮助放射科医生在早期识别恶性肿瘤。R-CNN 即使检测微小肿瘤和早期肿瘤的能力,也能显著影响癌症等疾病的治疗和预后。

使用 R-CNN 检测脑肿瘤

图 6:使用 RCNN 检测脑肿瘤。

除了肿瘤检测,R-CNN 模型还可应用于其他医学影像任务。例如,它可以识别骨折、检测眼部扫描中的视网膜疾病,以及分析肺部图像中的肺炎和 COVID-19 等病症。无论面对何种医疗问题,早期检测都能带来更好的患者结局。通过利用 R-CNN 在识别和定位异常方面的精确性,医疗保健服务提供者可以提高医学诊断的可靠性和速度。随着目标检测简化诊断流程,患者能够获得及时且准确的治疗方案。

R-CNN 的局限性及其后继模型#

尽管表现出色,R-CNN 仍存在一些缺点,例如计算复杂度高、推理速度慢。这些缺点使 R-CNN 模型不适合实时应用。将区域提议和分类拆分为不同步骤,也可能导致性能效率降低。

多年来,出现了各种目标检测模型来解决这些问题。Fast R-CNN 将区域提议与 CNN 特征提取合并为一个步骤,从而加快了处理速度。Faster R-CNN 引入区域提议网络 (RPN) 来简化提议生成,而 Mask R-CNN 则增加了像素级分割,以实现更详细的检测。

R-CNN、Fast R-CNN、Faster R-CNN 和 Mask R-CNN 对比

图 7。R-CNN、Fast R-CNN、Faster R-CNN 和 Mask R-CNN 对比。

大约在 Faster R-CNN 出现的同时,YOLO(只看一次)系列开始推动实时目标检测的发展。YOLO 模型在一次网络前向传递中预测边界框和类别概率。例如,Ultralytics YOLOv8 凭借先进功能,为许多计算机视觉任务提供了更高的准确率和速度。

要点总结#

RCNN 改变了计算机视觉领域,展示了深度学习如何改变目标检测。它的成功启发了该领域的许多新思路。尽管 Faster R-CNN 和 YOLO 等更新的模型已经出现,用于弥补 RCNN 的缺陷,但它的贡献仍是一个值得铭记的重要里程碑。

随着研究不断推进,我们将看到更出色、更快速的目标检测模型。这些进步不仅会改善机器理解世界的方式,还会推动许多行业的发展。目标检测的未来令人期待!

想继续探索 AI?加入 Ultralytics 社区吧!探索我们的 GitHub 代码仓库,了解我们最新的人工智能创新成果。查看我们覆盖各个行业的 AI 解决方案,例如农业制造业。加入我们,一起学习并推动进步!

Explore solutions

用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

使用 Ultralytics YOLO 模型在汽车行业应用计算机视觉。视觉 AI 提升道路安全、驾驶辅助和车辆自动化水平,让道路更加智能。
了解更多
农业中的计算机视觉

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

使用 Ultralytics YOLO 模型在汽车行业应用计算机视觉。视觉 AI 提升道路安全、驾驶辅助和车辆自动化水平,让道路更加智能。
了解更多
农业中的计算机视觉

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

使用 Ultralytics YOLO 模型在汽车行业应用计算机视觉。视觉 AI 提升道路安全、驾驶辅助和车辆自动化水平,让道路更加智能。
了解更多
农业中的计算机视觉

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅