1. 目标检测技术演进全景图
目标检测作为计算机视觉领域的核心任务,经历了从传统两阶段方法到单阶段检测,再到无锚框技术的完整演进过程。这项技术能够同时完成目标的定位(在哪里)和识别(是什么)两大任务,在自动驾驶、工业质检、安防监控等领域有着广泛应用。本文将系统梳理目标检测技术的发展脉络,剖析各阶段代表性算法的核心思想与实现细节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 两阶段检测:精度优先的经典范式
2.1 R-CNN:开创性的两阶段检测框架
R-CNN(Regions with CNN features)是首个将深度学习成功应用于目标检测的算法。其核心流程分为三个关键步骤:
-
区域候选生成:使用Selective Search算法从原始图像中提取约2000个候选区域。该算法基于颜色、纹理、大小等特征进行层次化区域合并,相比传统滑动窗口方法显著减少了候选数量。
-
特征提取:将每个候选区域缩放到固定尺寸(通常为227×227),分别输入预训练的CNN网络(如AlexNet)提取4096维特征向量。这里存在明显的计算冗余——同一图像的不同区域会重复通过CNN。
-
分类与回归:对每个区域特征,先用SVM进行分类判断,再通过线性回归模型(Bounding Box Regression)精修候选框位置。最后使用非极大值抑制(NMS)去除高度重叠的冗余检测框。
实际工程中发现,Selective Search在CPU上处理一张图像约需2秒,而特征提取阶段由于重复计算,处理时间更长。这促使后续研究向特征共享方向发展。
技术演进:针对传统NMS的缺陷,后续出现了多种改进方案:
- Soft-NMS:通过连续函数降低相邻检测框的分数而非直接抑制,保留更多遮挡目标
- IoU-Net:引入IoU预测分支,提升定位质量评估的准确性
- Softer-NMS:考虑定位不确定性,实现更精细的框选择
2.2 Fast R-CNN:特征共享的革命性突破
Fast R-CNN通过两项关键创新大幅提升了检测效率:
-
整图特征提取:不再单独处理每个候选区域,而是将整张图像输入CNN(如VGG16)生成共享的特征图。候选区域通过RoI Pooling层从特征图上截取对应区域,统一转换为固定尺寸(如7×7)的特征块。
-
