两阶段物体检测器是一类以高精度著称的物体检测架构,尤其是在复杂场景中。与同类产品不同的是,这些检测器将物体检测任务分解为两个不同的步骤:首先识别图像中可能包含物体的潜在区域(区域提议),其次对这些提议区域内的物体进行分类,并使用边界框细化其位置。这种有条不紊的方法可以进行详细分析,但与其他方法相比,计算速度往往是代价。这些模型是计算机视觉(CV)发展的基石。
两级探测器的工作原理
两阶段检测器的运行涉及一个顺序流水线,通常利用深度神经网络(NN),特别是卷积神经网络(CNN)进行特征提取。
- 第 1 阶段:区域建议:第一阶段的目标是生成一组可管理的候选区域(感兴趣区域,或 RoIs),这些区域中可能存在物体。早期的R-CNN等模型使用选择性搜索等外部方法,而后来的进步,特别是更快的 R-CNN架构,则使用区域建议网络 (RPN) 将这一步骤集成到神经网络本身。RPN 可有效扫描骨干网络生成的特征图,并预测潜在对象的位置和大小。
- 第二阶段:分类和细化:第一阶段提出的区域将进入第二阶段。对于每个 RoI,都会从共享特征图中提取特征(使用 RoIPooling 或 RoIAlign 等技术处理不同的区域大小)。这些特征将输入检测头,检测头将执行两项任务:对 RoI 中的物体进行分类(如 "汽车"、"人"、"背景"),并完善边界框的坐标,以便更准确地匹配物体。
主要特点
两级探测器的主要特点是
- 高精度:将建议生成和分类/提炼分离开来,可使第二阶段将资源集中在较小的有希望区域上,从而提高定位和分类的准确性。它们往往在小物体和拥挤场景中表现出色。通常使用平均精度 (mAP)和联合交叉 (IoU) 等指标来衡量性能。
- 推理速度较慢:分两个不同阶段处理图像,特别是生成和单独处理大量区域提案的开销,使得这些检测器的计算量更大,通常比单级物体检测器更慢。这可能会限制它们在要求严格实时推理的应用中的使用。
著名建筑
两级探测器的发展包括几个有影响力的模型:
- R-CNN(具有 CNN 特征的区域):将区域建议与 CNN 特征相结合的开创性工作,但由于要独立处理每个区域,因此速度较慢。
- 快速 R-CNN:通过在共享卷积特征图上使用 RoIPooling 在不同建议之间共享计算来提高速度。(快速 R-CNN 论文)
- 更快的 R-CNN:通过 RPN 将区域建议步骤整合到网络中,进一步提高了速度和美观度,创建了一个近乎端到端的可训练系统。
- 掩码 R-CNN:通过增加一个分支来预测每个检测到的对象的分割掩码,从而扩展了更快的 R-CNN 来执行实例分割。(掩码 R-CNN 论文)
实际应用
两级探测器的高精度使其在精度要求极高的情况下非常有价值:
- 医学图像分析:在医学扫描(CT、核磁共振成像)中检测小肿瘤、病变或息肉等细微异常需要高精确度来帮助诊断。精确定位对于制定治疗计划至关重要。更多有关人工智能在医疗保健和研究领域的应用,请参阅《放射学》等期刊:人工智能。您可以探索脑肿瘤数据集等相关任务的数据集。
- 自动驾驶:准确检测和定位行人、骑车人、其他车辆和交通标志,尤其是小型或部分遮挡的交通标志,对于自动驾驶汽车的安全系统至关重要。Waymo等公司在很大程度上依赖于强大的感知系统。
- 详细了解场景:需要精细了解物体相互作用或精确计数的应用可从更高的精度中获益。
- 制造过程中的质量控制:在复杂的装配中识别微小缺陷或验证部件位置往往需要很高的精度。进一步了解人工智能在制造业中的应用。
训练这些模型通常需要大量标注数据集(如COCO 数据集)和仔细的调整。Ultralytics 为模型训练和了解性能指标提供了资源。Ultralytics 专注于高效的单级模型(如Ultralytics YOLO),而了解两级检测器则为更广泛的物体检测领域提供了宝贵的背景资料。