前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >官方DarkNet YOLO V3损失函数完结版

官方DarkNet YOLO V3损失函数完结版

作者头像
BBuf
发布2020-05-29 16:01:36
1.6K0
发布2020-05-29 16:01:36
举报
文章被收录于专栏:GiantPandaCV

1. 前言

有了前面两篇文章的铺垫,基本上YOLOV3的损失函数就比较明确了。然后在上一节还存在一个表述错误,那就是在坐标损失中针对bbox的宽度和高度仍然是MSE Loss,而针对bbox的左上角坐标,的损失则是我们YOLOV3损失函数再思考 Plus 推出来的BCE Loss。接下来我就完整的写一下根据DarkNet官方源码推出来的YOLOV3的Loss。

2. DarkNet YOLOV3 Loss

直接写出公式,注意带*号的变量代表预测值,不带*号的表示标签:

我们再来解释一下这个公式。

在YOLOV3中,Loss分成三个部分:

  • 一个是目标框位置(左上角和长宽)带来的误差,也即是box带来的loss。而在box带来的loss中又分为,带来的BCE Loss以及,带来的MSE Loss。
  • 一个是目标置信度带来的误差,也就是obj带来的loss(BCE Loss)。
  • 最后一个是类别带来的误差,也就是class带来的loss(类别数个BCE Loss)。

另外值得注意的一个点是网上大多数博客写这个损失的时候都加了,,参数,但我们打开「YOLOV3.cfg」发现,原版的YOLOV3中并没有这几个参数,并且代码中也没有体现,所以正确的公式应当去掉这几个参数。

yolov3.cfg

3. 答读者问

下面选几个留言区里面读者的问题来回答一下。

3.1 来自kun

Q: 如果坐标中心点用BCE Loss的话,那么是怎么设置标签呢,BCE 的标签不是0或者1吗?A: 首先YOLOV3没有中心点一说,只有左上角的点。那么它是怎么设置标签呢?首先在YOLOV2/V3里面引入了一个直接坐标预测的概念,可以看看下面的几个图片:

图3

从图2可以看出,最终得到的边框坐标值是bx,by,bw,bh,即边界框相对于特征图的位置和大小,是我们需要预测的输出坐标值。但是,网络实际上学习的东西是(这和损失函数公式里面的一致,前面已经说明),其中「tx,ty是预测的坐标偏移值,tw,th是尺度缩放」,有了这个偏移量自然可以根据前面的公式计算出真正的这4个坐标。

我们现在可以正面解答这位同学的问题了,标签该怎么设置呢?「BCE 的标签不是0或者1?」 在二分类问题并且使用One-Hot编码的情况下确实是这样的,「但是我们这里并不是分类」,我们要做的是预测出来的偏移值靠近原始的GT相对于于的偏移值,所以这个标签就是提前算好,代码如下:

标签偏移量计算

3.2 磕盐小白喵

Q: YOLOV3置信度误差label中的置信度数值,也就是公式中的C,还是之前YOLOV1里面Ground Truth和预测得到的bbox之间的IOU吗?看到有些博客上说是当第个anchor box有目标时设为否则为0。对此有些疑惑,是否能解答一下?

A: 这个问题主要是没有对YOLOv3的匹配策略搞清楚,其实我们公众号出版的PDF说得很清楚了,如下:

「而YOLOV1的正负样本制定规则是啥呢?」

输入图片为,yolo将其划为为49()个cell, 每个cell只负责预测一个物体框, 如果这个物体的中心点落在了这个cell中,这个cell就负责预测这个物体,然后对于2个box来说,依然选择IOU最大的那个,当然YOLOV1的损失没有这么复杂,感兴趣可以去看我之前的文章。

有了匹配策略,你的问题自然就解决了,不过私以为最好的方式仍然是读源码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GiantPandaCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. DarkNet YOLOV3 Loss
  • 3. 答读者问
    • 3.1 来自kun
      • 3.2 磕盐小白喵
      相关产品与服务
      图像识别
      腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档