请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC

[复制链接]
查看: 88|回复: 0

2万

主题

2万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
74897
发表于 2020-9-16 12:19 | 显示全部楼层 |阅读模式
在自动驾驶中,检测模型的速度和准确率都很重要,出于这个原因,论文提出Gaussian YOLOv3。该算法在保持实时性的情况下,通过高斯建模、损失函数重建来学习bbox预测值的不确定性,从而提高准确率和TP,能够显著地降低FP,在KITTI和BDD数据集上分别提升了3.09mAP和3.5mAP。整体的思路类似于添加一个不确定性分支,没有带来过多的计算,设计十分巧妙,推荐大家阅读学习

来源:晓飞的算法工程笔记 公众号
论文: Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization
Uncertainty for Autonomous Driving

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-b1524784e1dd20cd

Introduction

在自动驾驶中实时性和准确率都十分重要,论文为了增加检测算法的准确率,以及减少误判(FP)的出现,论文提出了Gaussian YOLOv3。该算法基于实时性框架YOLOv3,对bbox的预测值进行高斯建模输出不确定性(localization uncertainty),并且修改了bbox的loss函数,能够有效地提高准确率且保持实时性
这里可能会有个比较大的疑问,YOLOv3的objectness是否就可以表示bbox的不确定性。个人认为论文的观点是objectness能表示bbox的不确定性,但又跟论文提到的预测值不确定性不一样。因为objectness为$Pr(object) * IoU$,主要跟IoU相关,是整体的不确定性,而相同的IoU有不同的相交方法,不能准确地代表单个bbox预测值的不确定性,而文中直接使用高斯模型来表示单个预测值的不确定性,是另外一种更细的维度,可以认为是一种补充
Gaussian YOLOv3

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-62e2e495f9238ddb

Gaussian modeling

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-244dfa2a106066da

使用单个高斯模型来分别预测$t_x$、$t_y$、$t_w$和$t_h$的不确定性,高斯模型计算如公式1,$\mu(x)$为均值函数,${\sum}(x)$为标准差函数,即在当前分布下$y$的值,越高越好
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-c06754a20ea77b45

为了构建bbox$(t_x,t_y,t_w,t_h)$每个值的高斯模型,将每个bbox的预测值改为均值$\mu$和标准差$\sum$,如图2所示,为$\hat{\mu}x$,$\hat{\sum}{t_x}$,$\hat{\mu}y$,$\hat{\sum}{t_y}$,$\hat{\mu}w$,$\hat{\sum}{t_w}$,$\hat{\mu}h$,$\hat{\sum}{t_h}$,使用这8个预测值构建4个分布,如图2。由于在构建的分布中,均值$\hat{\mu}$处的值是最大的,所以取均值$\hat{\mu}$为bbox 4个维度($x$,$y$,$w$,$h$)的预测值,用法跟YOLOv3的值的意义一样。标准差则代表不确定性,因为标准差越大,概率分布中均值处的值会越低
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-0d9cc0ed452363fa

论文没有直接使用上面提到的$\hat{\mu}x$,$\hat{\sum}{t_x}$,$\hat{\mu}y$,$\hat{\sum}{t_y}$,$\hat{\mu}w$,$\hat{\sum}{t_w}$,$\hat{\mu}h$,$\hat{\sum}{t_h}$,而是根据YOLOv3的bbox计算方法,对输出各预测值前进行sigmoid函数预处理,使其值在$[0,1]$。处理后,$\mu_{t_x}$和$\mu_{t_y}$代表bbox的中心点在grid中的偏移坐标,由于YOLO中$t_w$和$t_h$要过指数函数,值可以有正负,所以不进行sigmoid处理。标准差代表不确定性,直接进行sigmoid函数处理到$[0,1]$间
Reconstruction of loss function

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-2b7df65583ce6c24

由于输出是作为高斯模型的参数,bbox的损失函数将修改为负对数似然(negative log likelihood, NLL)损失,objectness和class的损失函数不变。公式5为$t_x$的NLL损失,$W$、$H$和$K$分别为特征图宽高的grid数以及anchor数,$\mu_{t_x}(x_{ijk})$和${\sum}{t_x}(x{ijk})$为$t_x$的值和不确定性,由模型在$(i,j)$grid的$k$-th anchor输出。$x_{ijk}G$为$t_x$的GT,公式5计算GT在当前分布下的值,均值越接近GT且标准差越小,则loss越小。为了数值计算不出差,加上$\varepsilon=10{-9}$
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-f60bd7613f723b67

GT的计算如公式6和公式7,跟预测值的处理一样,$xG$、$yG$、$wG$和$hG$都为GT box的缩放比例,$IW$和$IH$为输入图片的宽高,$A_kw$和$A_kh$为$k$-th anchor的预设宽高。在YOLOv3中,中心点在grid单元中计算,而bbox的尺寸则基于预设的anchor box,
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-a59e125af90cc746

此外,损失函数还要加上权重$\gamma_{ijk}$,计算如公式8,GT越大,权重越小。其中,$\omega_{scale}$基于GT box的宽高在图中的比例由公式9计算,$\delta_{ijk}^{obj}$为指示函数,仅当GT对应的grid中IOU最大的anchor才为1
另外,论文提到,YOLOv3的bbox使用交叉熵损失,不能够处理噪声数据,噪声会导致很大的loss干扰训练。而论文重新设计的loss则能够对抗噪声数据。邮件咨询作者后,作者回复可以对loss进行均值偏导和标准差偏导看看,还推荐了一篇论文,不过那篇论文直接将不确定性$\frac{1}{\sigma}$作为loss的系数,和本篇的实现还不太一样,具体大家可以去看看,文末的参考内容有该篇论文地址。强行解释的话,大概是因为一般噪声数据的预测值都会有很高的不确定性且GT远离预测值,即GT在高斯分布的两侧,当标准差越大,两侧的值会增大,使得loss会稍微减小。但是感觉在loss中加一个类似$\frac{1}{\sigma}$的系数和一个关于$\sigma$的正则项会更直接点,不知道这样理解是否正确,如果有问题麻烦大家评论或私信讨论一下
Utilization of localization uncertainty

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-f2baa266cb456e5c

将objectness、class和Uncertainty结合作为最后的分数,计算如公式10,$Uncertainty_{aver}$为4个预测结果的平均不确定性。由于将box的不确定性考虑到最终的分数中,因此可以大量降低FP结果
Experimental Results

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-3eaf2b502d8bc964

在不同的数据集上每个detection layer的anchor设计如表1
Validation in utilizing localization uncertainty

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-964057f698eb5e4a

Performance evaluation of Gaussian YOLOv3

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-0b4fba58e9a9c643

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-d67673086eb725bb

Visual and numerical evaluation of FP and TP

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-35807b46a2cbf377

置信度为0.5
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-14daec55663c4f3e

我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-c737aa033c9377fd

CONCLUSION

在自动驾驶中,检测模型的速度和准确率都很重要,出于这个原因,论文提出Gaussian YOLOv3。该算法在保持实时性的情况下,通过高斯建模、损失函数重建来学习bbox预测值的不确定性,从而提高准确率和TP,能够显著地降低FP,在KITTI和BDD数据集上分别提升了3.09mAP和3.5mAP。整体的思路类似于添加一个不确定性分支,没有带来过多的计算,设计十分巧妙,推荐大家阅读学习

参考内容

如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】
我的关键词 Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICC  新闻咨询 20428708-7156c0e4a2f49bd6


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表