2025-6-10(1)
国内外研究进展
此部分主要从以下三个方面进行介绍:
- 单阶段、双阶段、端到端目标检测
- Anchor-based 与 Anchor-free目标检测
- 基于强化学习的目标检测
单阶段、双阶段、端到端目标检测
双阶段
双阶段检测器遵循“先生成区域提议,再进行分类和回归”的策略,以高精度著称。
- 第 1 阶段:区域建议:第一阶段的目标是生成一组可管理的候选区域(感兴趣区域,或 RoIs),这些区域中可能存在物体。早期的R-CNN(2013)等模型使用选择性搜索等外部方法,而后来的进步,特别是Faster R-CNN(2015)架构,则使用区域建议网络 (RPN) 将这一步骤集成到神经网络本身。RPN 可有效扫描骨干网络生成的特征图,并预测潜在对象的位置和大小。
- 第二阶段:分类和细化:第一阶段提出的区域将进入第二阶段。对于每个 RoI,都会从共享特征图中提取特征(使用 RoIPooling 或 RoIAlign 等技术处理不同的区域大小)。这些特征将输入检测头,检测头将执行两项任务:对 RoI 中的物体进行分类(如 "汽车"、"人"、"背景"),并完善边界框的坐标,以便更准确地匹配物体。
方法 | 说明 |
---|---|
R-CNN (2014) | 首次将卷积神经网络(CNN)引入目标检测。它首先使用选择性搜索(Selective Search)在图像上生成约2000个候选区域(Region Proposals),然后将每个区域缩放到固定大小并送入CNN提取特征,最后用SVM进行分类并用线性回归器微调边界框。该方法精度高但速度极慢。 |
Fast R-CNN (2015) | 针对R-CNN的计算冗余问题进行了改进。它将整张图直接输入CNN,得到一个全局特征图。然后,将选择性搜索生成的候选区域映射到该特征图上,通过RoI (Region of Interest) Pooling层提取固定大小的特征,从而共享了卷积计算,速度大幅提升。 |
Faster R-CNN (2015) | 双阶段检测器的里程碑。它提出了区域提议网络(Region Proposal Network, RPN),将区域提议步骤也整合到神经网络中,实现了与检测网络共享卷积特征。这使得整个检测流程几乎成为一个统一的框架,速度和精度都达到了当时的新高度。 |
Cascade R-CNN | 多级回归级联迭代提升精度 |
MimicDet(2020 ECCV) | 尝试将双阶段检测的精细化特征对齐机制迁移至单阶段框架,通过交错特征金字塔和级联回归策略,在保持单阶段效率优势的同时获得2.3%的精度提升link。 |
双阶段检测器依然是许多追求极致精度任务的基石。后续研究主要集中在改进其各个组件,如使用更强大的主干网络(如ResNeXt, Swin Transformer)、改进RoI池化方式(如RoIAlign, PrRoI Pooling)、以及更高效的特征融合结构(如FPN - Feature Pyramid Network)。尽管单阶段和端到端模型在速度上优势明显,但Faster R-CNN及其变体(如Mask R-CNN用于实例分割)仍然是工业界和学术界非常重要的基线模型。
单阶段
单阶段目标检测模型通过单一网络直接预测物体位置和类别,速度快,适合实时应用。
方法 | 说明 |
---|---|
YOLO (You Only Look Once, 2016) | 将目标检测视为一个单一的回归问题。它将输入图像划分为网格(Grid),每个网格单元负责预测该区域内的目标。YOLOv1实现了前所未有的检测速度,但对小目标和密集目标的检测效果不佳。 |
SSD (Single Shot MultiBox Detector, 2016) | 结合了YOLO的速度和Faster R-CNN中“锚框(Anchor Box)”的思想。SSD在多个不同尺度的特征图上进行预测,使得模型对不同大小的目标都有较好的检测能力,在速度和精度之间取得了很好的平衡。 |
RetinaNet | 通过特征金字塔网络和焦点损失解决类别不平衡问题,在COCO数据集上表现出色,适合检测大小不一的物体(RetinaNet Paper)。 |
性能飞跃: 以YOLO系列为代表的单阶段检测器发展迅猛。从YOLOv3、v4、v5到如今广泛使用的 YOLOv8, YOLOv9,现在已有YOLOv10,YOLOv11,YOLOe。通过不断优化主干网络、特征融合颈部(Neck)、检测头(Head)以及引入新的训练策略和损失函数,其精度已经可以媲美甚至超越许多双阶段检测器,同时保持极高的推理速度。
端到端
传统的检测器大多依赖于一些手工设计的组件,如锚框和非极大值抑制(Non-Maximum Suppression, NMS)。NMS用于在后处理阶段去除冗余的预测框,但它不是网络的一部分,难以进行端到端优化。端到端(End-to-End)目标检测方法近年来兴起,旨在移除这些组件,构建一个从输入到输出完全可微分的简洁模型。以Transformer为基础的架构最具代表性。
DETR(2020)首次引入了全局自注意力和匈牙利匹配,将目标检测作为集合预测问题,一次性直接输出固定数量的目标,去除了传统的锚框和NMS模块。DETR的优点是管线简洁,但缺点是训练收敛较慢。
Deformable DETR(2020)在此基础上使用可变形Attention和多尺度特征,显著加快了收敛速度并提升了小目标检测性能。
后续工作如Conditional DETR、Anchor DETR、DINO等,通过改进查询初始化(如基于锚点或噪声查询)进一步提高了收敛效率和检测精度。
例如,DINO(2022)在Deformable DETR上添加了噪声对齐机制,在ResNet-50骨干下达到COCO检测AP约50.9%。此外,Sparse R-CNN(2021)提出基于动态可学习候选框和迭代多阶段头的框架,无需Transformer模块,也能实现端到端学习。
DINO(Deformable DETR)ResNet-50模型AP约50.9%,而RT-DETR(Real-Time DETR)的ResNet-50/101模型分别达到53.1%和54.3%的AP,超越了同期大多数YOLO家族模型。
- DETR:基于Transformer的检测器,直接预测目标集合,省略了锚框和NMS,但收敛慢。
- Deformable DETR:引入可变形注意力和多尺度输入,加速训练收敛并强化小目标检测。
- DINO:基于Deformable DETR,新增去噪查询等技术改善查询初始化,显著提高性能。
- Sparse R-CNN:使用少量可学习的候选框与多阶段头,实现无锚、无需NMS的端到端检测。
- 其他变体:如Conditional DETR、Anchor DETR等也针对查询优化进行改进,进一步提升了检测效率和精度。
- YOLOv10(2024):引入“双重标签分配”和“一致性匹配策略”,在训练中实现了无NMS的设计,标志着主流的实时检测器也开始全面拥抱端到端理念。
Anchor-based 与 Anchor-free
Anchor-based
Anchor-based(基于锚框)检测使用预定义的锚框(多尺度多宽高比)作为参考,在每个特征图位置生成一系列固定大小的候选框,模型学习预测这些锚框相对于真实目标的偏移量和类别概率link。例如,在 Faster R-CNN 和 SSD 中,每个位置会设定若干锚框,目标检出即为对这些锚框的回归与分类。锚框方法的设计动因是引入强先验信息,让网络只需学习在锚框基础上的微调而非从零回归。优点是易于覆盖不同尺度和长宽比的目标形状link。缺点是参数多、超参数调节复杂:需要人为设定锚框的尺寸、比例、密度,且锚框过多导致正负样本极度不平衡link;固定的形状难以适应极端目标;训练时还需基于 IoU 进行阈值划分,增加计算复杂度linklink。
Anchor-free
无锚框(Anchor-Free)的兴起: 为了摆脱对需要手动设计的锚框的依赖,研究者们提出了无锚框检测器。摆脱了预定义锚框的限制,直接从图像特征中回归目标边界框。Anchor-free 方法一般分为两类:
- 关键点(Keypoint)方法:通过检测关键点来表示目标,例如 CornerNetlink检测目标的左上角和右下角配对,CenterNetlink在此基础上增加中心点约束,从而得到完整框;还有通过检测极值点或边界点来建模目标。此类方法优势在于不依赖锚框,可以更灵活地表示复杂形状,但需要解决关键点组合匹配问题。
- 中心点(Center)或像素回归方法:如 FCOSlink将每个前景像素点看作候选,通过回归该像素到框的4个边界距离来预测目标框;FoveaBox 等也是类似的中心回归方法。这些方法简单高效,避免了繁琐的锚框设计,同时天生平衡了正负样本(每个像素都可成为训练样本)。
总的来说,anchor-free 方法的设计动因是简化检测流程、减少超参数link。它们直接回归框参数或关键点,省去了预设锚框的步骤link。近年来,锚框检测的性能瓶颈(如超参数敏感、样本不平衡等)使得无锚方法成为研究热点,并取得了与传统方法相当的效果link。例如 FCOS 提出后即成为典型的一阶段无锚检测器,其性能与 SSD/RetinaNet 等持平甚至更优link。
- FCOS 将目标检测视为逐像素的预测任务;
- CenterNet 则通过预测目标的中心点来定位目标。
模型 | 阶段类型 | 锚框机制 | 说明 |
---|---|---|---|
Faster R-CNN | 两阶段 | 基于锚框 | RPN 生成基于锚框的候选框 |
Mask R-CNN | 两阶段 | 基于锚框 | 在 Faster R-CNN 基础上添加实例分割头,仍采用锚框 |
Cascade R-CNN | 两阶段 | 基于锚框 | 多阶段回归或可分离卷积的两阶段框架,均使用锚框方案 |
SSD | 单阶段 | 基于锚框 | SSD 在多尺度特征层上预设锚框进行预测 |
RetinaNet | 单阶段 | 基于锚框 | RetinaNet 提出 FPN+FocalLoss 解决单阶段检测正负样本失衡,同样依赖锚框。 |
YOLOv2/v3/v4/v5 | 单阶段 | 基于锚框 | 采用锚框机制 |
YOLOv1/v6/v8等 | 单阶段 | 无锚框 | 采用无锚框、基于中心点的方法 |
FCOS | 单阶段 | 无锚框 | 一个典型的全卷积(Fully Convolutional)无锚检测器,直接在每个像素上回归边框并预测一个中心度得分 |
CornerNet/CenterNet | 单阶段 | 无锚框 | CornerNet 使用成对角点来检测框,CenterNet 增加中心点约束,均不使用锚框。 |
YOLOX,PP-YOLOv2 等新 YOLO 变体 | 单阶段 | 无锚框 | YOLOX 明确放弃了锚框,转为 anchor-free 模型;PP-YOLOv2 则进一步改进训练策略。 |
EfficientDet | 单阶段 | 基于锚框 | 依然使用 BiFPN 等模块,但输出层也是依赖锚框回归。 |
DETR (Deformable DETR, DINO) | 端到端 | 无锚框 | Transformer 检测器,无需锚框,采用查询(query)来直接预测目标框和类别,训练过程可端到端优化 |
基于强化学习
将强化学习(RL)用于目标检测是一个相对前沿且小众的研究方向。它不像前两者那样直接作为检测范式,而是更多地用于优化检测过程的某个环节。
早期工作如Caicedo等人(2015)将深度Q网络用于主动目标定位,在图像中学习一步步搜索目标位置。Bueno等人(2018)提出层级搜索策略,先粗略定位含多个目标的区域再细化搜索。
此外,一些方法将RL用于设计检测器组件:ReinforceDet(2021)提出无锚框检测器,通过RL智能体提出少量高质量候选框并由CNN网络精细回归,从而有效减少提议数量。
Uzkent等人(2020)的工作中,RL被用于自适应选择图像分辨率:智能体在粗糙和精细分辨率间切换,以在尽量少用高分辨率的同时最大化检测精度。最新的AIRS(2024,NeurIPS)方法引入了基于证据理论的层级Q学习,学习选择具有高密度目标的区域并重点检测,显著提升了高密度场景下的检测效率。综上,当前基于RL的检测研究主要集中在利用智能体搜索优化候选框(anchor选择或区域选择)、自动调节训练策略和强化正负样本采样等方向,推动了检测器在特定场景下的性能提升。
研究方向:
- 主动视觉与注意力引导 (Active Vision & Attention Guidance): 将检测器视为一个智能体(Agent),它学习一个策略(Policy)来决定“看哪里”。例如,智能体可以学习如何在一张高分辨率图像上进行一系列的视窗裁剪(glimpse),以最高效的方式找到所有目标,而不是一次性处理整张图。
- 搜索路径规划: 对于寻找特定类别的目标任务,RL可以用来规划一个高效的搜索路径,逐步缩小搜索范围,这在机器人视觉等领域有应用潜力。
- 优化检测组件: RL也被用于学习和优化检测器中的某些超参数或模块,例如,学习一种最优的数据增强策略(如AutoAugment),或者在后处理中学习一种比NMS更智能的冗余框过滤策略。
挑战:状态空间和动作空间的定义复杂、奖励函数难以设计、训练成本高昂且不稳定。因此,基于RL的目标检测目前仍主要处于学术探索阶段,尚未像单阶段/双阶段模型那样在工业界得到广泛应用。
存疑:
- 顺序搜索:2016年的研究通过RL优化搜索策略,积累少量位置证据以有效检测物体(RL for Visual Object Detection)。
- 预处理优化:2020年的研究提出ObjectRL,通过RL选择最佳预处理技术(RL for Improving Object Detection)。
- 主动定位:2022年的研究实现基于深度RL的主动物体定位算法(Object Detection with DRL)。
食品领域目标检测
食品目标检测在智能餐饮和营养管理等领域具有重要应用价值。典型研究方向包括智能餐盘识别(自动检测餐盘上食物种类和数量)、快餐自动识别(如汉堡、披萨等识别)以及菜品分类与营养估计等。
常用的数据集有:
数据集 | 图像数量 | 类别数 | 标注类型(示例) | 说明 |
---|---|---|---|---|
UNIMIB2016 | 1027 | 73 | 多边形+边界框 | 意大利自助餐环境拍摄的食品图像,共1027张,73类食物,标注多边形分割和边框 |
UECFood256 | ~25600 | 256 | 边界框 | 日本各种料理256类,每类约100张图像 |
EgocentricFood2 | 5038 | 9 | 边界框 | 可穿戴摄像头视角图像,9类食品或容器,共5038张图像,8573个标注框 |
Food2K (识别) | 1,036,564 | 2000 | 图像级标签 | 约103万张图像,2000类食物,主要用于食物识别 |
在方法上,食品检测通常借鉴通用目标检测架构(如YOLO系列、Faster R-CNN、RetinaNet等),并结合领域知识进行改进。例如通过多任务学习联合预测食物类别和分割掩码,或利用视觉语言模型辅助识别菜品名称等。随着深度学习和视觉-语言模型的发展,食品目标检测技术在智慧餐厅、自动食堂结算和营养跟踪等应用场景中前景广阔。
数据集
主流数据集
数据集名称 | 基本信息 | 大小 | 是否包含重合/覆盖情况 |
---|---|---|---|
包含20个常见物体类别,是早期目标检测研究的经典基准。 | 约1.1万张训练/验证图片,约2.7万个标注对象。 | 是,但密度相对较低。 | |
COCO (Common Objects in Context) | 目前最权威、最流行的数据集。包含80个物体类别,场景复杂,目标尺寸多变。 | 2017版: 约11.8万张训练图,5千张验证图,4.1万张测试图。 | 是,非常显著。 包含大量小目标、密集和严重遮挡的场景,是评估模型鲁棒性的黄金标准。 |
ImageNet (ILSVRC) | 主要用于图像分类,但也有一个目标检测的子任务,包含200个类别。 | 检测任务:约45万张训练图,2万张验证图,4万张测试图。 | 是,场景多样,包含遮挡情况。 |
Open Images Dataset | 谷歌发布的大规模数据集,类别非常丰富,层级化标签。 | V7版本: 约900万张图片,包含600个类别的边界框标注。 | 是,规模巨大且场景极其复杂,提供了海量的遮挡和重合案例。 |
Objects365 | 微软发布的大规模数据集,旨在推动对日常物体的检测研究。 | 包含365个物体类别,超过60万张图片和1000万个高质量标注框。 | 是,目标密度高,覆盖情况常见。 |
具有遮挡/重合的数据集
数据集名称 | 基本信息 | 大小 | 特点 |
---|---|---|---|
CrowdHuman | 专为拥挤场景下的行人检测设计。 | 训练集1.5万张,验证集4370张,测试集5000张,共约47万个行人实例。 | 高度拥挤和遮挡。 标注了可见框(Visible Box)和完整框(Full Box),非常适合研究遮挡问题。 |
BDD100K (Berkeley DeepDrive) | 最大的自动驾驶场景数据集之一。 | 包含10万段高清视频,从中采样出10万张图片进行标注,含10个交通相关类别。 | 包含各种天气(晴、雨、雪)和光照(白天、黑夜)条件下的真实交通场景,车辆和行人间存在大量相互遮挡。 |
MOT (Multiple Object Tracking) Series | 虽然是为多目标跟踪设计的,但其标注数据也可用于检测任务。 | 例如MOT17/MOT20,包含数千帧视频序列。 | 视频序列中的目标(主要是行人)持续移动,并频繁发生交错和遮挡,对检测器的鲁棒性要求极高。 |
评估指标
基准测试
Benchmark: 通常指“一个数据集 + 一套评测协议和指标”。
- COCO Detection Benchmark:
这是行业黄金标准。模型必须在COCO的
test-dev
集上提交结果进行评估。其复杂的场景和严格的评估指标(见下文)使其成为衡量模型综合性能的最佳选择。 - Objects365 Benchmark: 因其类别众多和数据量大,也成为衡量模型泛化能力的重要基准。
- BDD100K Benchmark: 在自动驾驶领域,这是评估模型在真实、复杂交通场景下表现的核心基准。
基线模型
Baseline: 用于比较新模型性能的参考模型,通常是那些经过验证、广为人知且性能优越的模型。
端到端Baseline:
- DINO: 作为目前端到端模型中精度的标杆,是学术研究中进行SOTA比较的重要基线。
- RT-DETR / YOLOv10: 随着实时和端到端成为趋势,这两个模型正迅速成为衡量模型效率和简洁性的新一代基线。
评估指标
FPS,mAP,占用内存
- IoU (Intersection over Union):
- 定义: 预测框(Predicted Bounding Box)与真实框(Ground Truth Box)的交集面积除以并集面积。它是衡量预测框定位准确度的基础。
- 作用: 用于判断一个预测是否为“正样本”(True Positive)。通常需要设定一个IoU阈值(如0.5或0.75),当预测框与真实框的IoU大于该阈值时,才认为检测成功。
- Precision (精确率) & Recall (召回率):
- Precision:
在所有预测为正样本的结果中,真正是正样本的比例。公式:
TP / (TP + FP)
(TP:真正例, FP:假正例)。衡量的是“查得准不准”。 - Recall:
在所有真实的正样本中,被成功预测出来的比例。公式:
TP / (TP + FN)
(FN:假反例)。衡量的是“查得全不全”。
- Precision:
在所有预测为正样本的结果中,真正是正样本的比例。公式:
- AP (Average Precision) & mAP (mean Average
Precision):
- AP: 综合衡量单一类别的Precision和Recall。通过在不同召回率水平下计算精确率,可以绘制出P-R曲线,AP就是该曲线下的面积。AP值越高,说明模型在该类别上的性能越好。
- mAP (mean Average Precision): 目标检测任务中最核心的综合性指标。它是对所有类别AP值的平均。
- COCO Metrics:
COCO的评估体系更为严格和全面,其mAP通常指代
AP@[.5:.05:.95]
,即在IoU阈值从0.5到0.95、步长为0.05的10个不同阈值下计算mAP,然后取平均值。这要求模型在各种重叠程度上都有很好的表现。此外,还有针对大、中、小目标的AP(AP_L
,AP_M
,AP_S
),用于评估模型的多尺度检测能力。
1 | % mimicdet eccv 2020 |