YOLO (v1→v11)

Redmon 2016→2024 · 论文

一句话总结 — “You Only Look Once”将目标检测重新表述为一个单次前向传播即可求解的单阶段回归问题,由此建立了SLAM系统在语义与动态物体推理中最常使用的实时检测家族。

问题

在YOLO之前,目标检测是通过改造分类器来实现检测的:DPM在图像的所有位置和尺度上滑动一个分类器,而R-CNN家族则先生成区域候选框,再对每个候选框分类,然后在后处理中进行边框精细化、去重和重新打分。这些复杂的管线速度缓慢——远达不到相机帧率——而且难以优化,因为每个组件都是单独训练的。机器人领域需要一种能一次前向传播、以视频帧率运行、并具有单一可训练目标的检测方法。

方法与架构

λcoordi=0S2j=0B1ijobj[(xix^i)2+(yiy^i)2]+λcoordi=0S2j=0B1ijobj[(wiw^i)2+(hih^i)2]+i=0S2j=0B1ijobj(CiC^i)2+λnoobji=0S2j=0B1ijnoobj(CiC^i)2+i=0S21iobjcclasses(pi(c)p^i(c))2\begin{aligned} & \lambda_{\text{coord}} \sum_{i=0}^{S^2} \sum_{j=0}^{B} \mathbf{1}_{ij}^{\text{obj}} \left[ (x_i - \hat{x}_i)^2 + (y_i - \hat{y}_i)^2 \right] + \lambda_{\text{coord}} \sum_{i=0}^{S^2} \sum_{j=0}^{B} \mathbf{1}_{ij}^{\text{obj}} \left[ \left(\sqrt{w_i} - \sqrt{\hat{w}_i}\right)^2 + \left(\sqrt{h_i} - \sqrt{\hat{h}_i}\right)^2 \right] \\ & + \sum_{i=0}^{S^2} \sum_{j=0}^{B} \mathbf{1}_{ij}^{\text{obj}} (C_i - \hat{C}_i)^2 + \lambda_{\text{noobj}} \sum_{i=0}^{S^2} \sum_{j=0}^{B} \mathbf{1}_{ij}^{\text{noobj}} (C_i - \hat{C}_i)^2 + \sum_{i=0}^{S^2} \mathbf{1}_{i}^{\text{obj}} \sum_{c \in \text{classes}} \left(p_i(c) - \hat{p}_i(c)\right)^2 \end{aligned}

w,hw, h取平方根,使得小边框的误差在损失中占更大权重;分类损失只在包含目标的格子中生效。在VOC 2007+2012上训练约135个epoch(批大小64,动量0.9,权重衰减0.0005,dropout 0.5,配合缩放/平移/HSV数据增强)。

实验结果

在Pascal VOC 2007上,YOLO达到63.4% mAP、45 FPS,Fast YOLO达到52.7% mAP、155 FPS——相比之下30Hz的DPM为26.1% mAP,而在精确但缓慢的一类方法中,Fast R-CNN为70.0% mAP/0.5 FPS,Faster R-CNN(VGG-16)为73.2%/7 FPS;使用VGG-16的YOLO在21 FPS下达到66.4%。误差分析显示,Fast R-CNN预测背景误报的可能性几乎是YOLO的3倍(占其排名靠前检测结果的13.6%);用YOLO对Fast R-CNN重新打分,可将VOC 2007的mAP从71.8%提升至75.0%。在VOC 2012测试集上,YOLO的mAP为57.9%,主要在小物体上落后于当时最先进水平(瓶子、羊、电视/显示器比R-CNN低8–10%)。在推广到艺术作品的场景中,YOLO对人的AP保持稳定(VOC2007的59.2 → Picasso的53.3,People-Art的45),而R-CNN则大幅崩溃(54.2 → 10.4,26)。

这个45 FPS的运行点使得逐帧检测第一次在实时感知栈中变得切实可行,而该家族后续的演进也一直保持着这一速度水平——为后来的Transformer检测器(DETR → RT-DETR)设立了必须在速度和精度两个维度上都超越的基准。

对SLAM的意义

目标检测是向SLAM管线注入语义信息最廉价的方式。YOLO家族的实时检测器被用来遮蔽动态物体(行人、车辆),以免其干扰特征跟踪;为物体级SLAM提供物体级地标(例如CubeSLAM根据2D检测结果构建3D立方体地标);以及为下游任务标注地图。当SLAM系统需要在机器人的机载计算机上以帧率获知”图像中有什么”时,YOLO通常是首先被采用的工具——但需要注意的是,它在设计上是闭集的,这一局限正是Grounding DINO等开放词汇检测器诞生的动机。

相关条目