YOLOv1:You Only Look Once: Unified, Real-Time Object Detection

一、前期知识

1.目标检测评价指标——mAP(平均准确率均值)

YOLOv1:You Only Look Once: Unified, Real-Time Object Detection
如上图所示,有7张图片,其中有15个ground-truth,用绿色边框表示,24个检测到的对象用红色框表示,每个检测到的对象由字母A,B,…,Y表示,并具有知信度confidence
YOLOv1:You Only Look Once: Unified, Real-Time Object Detection
上表为图中对应信息

TP和FP:

  1. True Positive (TP): IOU>=阈值的检测框
  2. False Positive (FP): IOU<阈值的检测框
  3. False Negative (FN): 未被检测到的GT
  4. True Negative (TN): 忽略不计

Precision=TPTP+FP=TPall  detectionsPrecision=\frac{TP}{TP+FP}=\frac{TP}{all\;detections}Precision=TP+FPTP​=alldetectionsTP​

Recall=TPTP+FN=TPall  groundtruthsRecall=\frac{TP}{TP+FN}=\frac{TP}{all\;ground-truths}Recall=TP+FNTP​=allground−truthsTP​

按照置信度从大到小将框进行排序:
YOLOv1:You Only Look Once: Unified, Real-Time Object Detection
利用confidence给BBOX排序,对每个BBOX都计算对应的precision和recall值,例如:
对BBOX R, precision = 1/1 = 1, recall = 1/15=0.0666
对BBOX Y, precision = 1/2 = 0.5, recall = 1/15=0.0666
对BBOX J, precision = 2/3 = 0.6666, recall = 2/15=0.1333
YOLOv1:You Only Look Once: Unified, Real-Time Object Detection
根据每个框的召回率和精确率画出折线图,即上图左图
通过11点插值法,即以0.1为间隔计算召回率对应的准确率,得到右图

ρinterp(γ)=maxr:rrρ(γ~)\rho_{interp}(\gamma)=\max \limits_{r:r\geqslant r}\rho(\tilde\gamma)ρinterp​(γ)=r:r⩾rmax​ρ(γ~​),其中ρinterp(γ)\rho_{interp}(\gamma)ρinterp​(γ)表示当前插值召回率的准确率
公式整体表示:当前召回率对应的准确率等于所有大于等于当前召回率的召回率对应的准确率的最大值值

举例说明:
第一个插值点是0.0,从左图上可以看到,大于等于0的召回率中,R点对应准确率最大,是1,所以对应右图,当召回率为0,其准确率为1
第二个插值点是0.1,从左图上可以看出,大于等于0.1的召回率中,J点对应准确率最大,为0.6666,所以在右图中,召回率为0.1,其准确率为0.6666
依次类推计算后面的插值点的准确率

然后计算这11个点的平均准确率:
AP=111r{0.0,0.1,...,1.0}ρinterp(γ)AP=\frac{1}{11}\sum\limits_{r\in\{0.0,0.1,...,1.0\}}\rho_{interp}(\gamma)AP=111​r∈{0.0,0.1,...,1.0}∑​ρinterp​(γ)
AP=111(1+0.6666+0.4285+0.4285+0.4285+0+0+0+0+0+0)=26.84%AP=\frac{1}{11}(1+0.6666+0.4285+0.4285+0.4285+0+0+0+0+0+0)=26.84\%AP=111​(1+0.6666+0.4285+0.4285+0.4285+0+0+0+0+0+0)=26.84%

二、论文结构

  • Abstract:介绍了yolo算法及其速度快的优点
  • 1.Introduction:1.yolo简单原理图 2.与R-CNN相比yolo的优点 3.与传统算法相比yolo的有点
  • 2.Unified Detection:one stage detection算法的原理和细节
    • 2.1Network Design:介绍yolo与fast yolo的网络结构
    • 2.2Training:yolo训练方法、损失函数及参数
    • 2.3Inference:yolo预测阶段细节
    • 2.4Limitations of YOLO:yolo的一些局限性
  • Comparasion to Other Detection Systems:与其他算法对比,包括相同点和不同点
  • Experiments:从速度和精度上与其他算法做对比
  • Real-Time Detection In The Wild:yolo连接摄像头时可以进行实时监测
  • Convolution:再次强调了yolo的优点——one stage、快速、鲁棒

三、YOLO的优缺点

优点:

  • 速度快:把检测作为回归问题处理,流程简单,仅需输入一张图
  • 全局推理:对整张图处理,利用全图信息,假阳性错误少(就是把背景当做物体错误率少)
  • 泛化能力强:yolo可以学习到物体的通用特征,泛化能力更好,应用在新领域不会崩掉(与DPM,R-CNN相比,还是因为利用了整张图的信息)

缺点:

  • 精度相对于最先进的算法来说精度不高,对小目标不友好
上一篇:小玉买文具


下一篇:Python -- 函数返回值使用缓存