YOLO V1-V3 loss

YOLO V1-V3 目标检测:loss functions 总结

YOLO-V1

YOLO v1 框架输入为(448x448x3)rgb图片,输出为(7x7x30(voc数据集))的预测,loss函数由5部分组成,其中S上标2,表示格点的个数,7X7格点一共有49个,B表示每个格点中box的个数,如下图:

在这里插入图片描述
在计算loss之前我们需要将 voc的box标签 转换为 yolo的box标签 如下图:在这里插入图片描述

在这里插入图片描述
yolo的box标签,是对象中心相对于负责预测这个对象的格点的坐标的偏移量,如下图所示:
在这里插入图片描述
yolo最终输出的feature是30维的,其中包括20维的分类和两个 box 位置信息,以及置信度C,
在这里插入图片描述
在yolov1中每个格点中设置了两个box,其置信度C帽 = Pr(Object) ∗ IOU(b,b帽),被设置为Pr(Object) 表示box中包含对象的可能想大小,以及box和groundtruth box的IOU。在计算loss之前,会用两个box和groundtruth box 分别做IOU,选出最大的来构建loss。如上图两个包含目标中格点,的两个box分别为蓝色和绿色,最终绿色的IOU更大,所以拿来构建loss,而对应的groundtruth 置信度为最大IOU的值。
在这里插入图片描述

YOLO V1 loss 构建

构建最终的loss函数了,λcoord = 5 and λnoobj = 0.5。
在这里插入图片描述

classification loss

在这里插入图片描述

Localization loss

在这里插入图片描述

Confidence loss

在这里插入图片描述
在计算Localization loss和Confidence loss,只使用格点中与groundtruth box iou 最大的box,也就是一个格点中只用一个box计算loss。所以可以将这两部分loss中的 B 累加符号去掉

no-object

在这里插入图片描述
因为大多数的box都没有包含任何目标。大部分时候模型都是在检测背景而不是对象,所以将
λnoobj 设为很小的值 (default: 0.5).

YOLO-V2

在YOLO-V2中作者加入了预选框 和 单独格点的多目标预测,
在这里插入图片描述
这里注意一下,V1的每个格点只检测一个对象,V2的格点则可以检测多个对象,此图以检测两个对象为例,每个格点中每一个box都会预测对象class分类P。

YOLO-V3

YOLO-V3运用了FPNs的思想,从多个不同分辨率的特征层中预测预测最终结果。
在这里插入图片描述
其loss形式与 V2 相似。

引用

https://medium.com/@jonathan_hui/real-time-object-detection-with-yolo-yolov2-28b1b93e2088
https://medium.com/oracledevs/final-layers-and-loss-functions-of-single-stage-detectors-part-1-4abbfa9aa71c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值