前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >随机的YOLO:数据集偏移下的高效概率目标检测

随机的YOLO:数据集偏移下的高效概率目标检测

作者头像
Amusi
发布2020-09-23 17:04:44
1.4K0
发布2020-09-23 17:04:44
举报
文章被收录于专栏:CVerCVer

本文转载自:AI人工智能初学者

注:论文文末附下载

这篇论文主要是针对YOLOv3进行了一些列的改进,基于此提出随机YOLO(Stochastic-YOLO),其引入MC-Drop机制,旨在生成不确定性估计,进而评估标签质量和空间质量的不确定性(其实就是解决PDQ问题)。 作者单位:剑桥大学, ARM研究院

1、简介

在OD任务中,对于一个单一的图像,在没有预测到一个或者多个边框的情况下,不确定性语义的意义就更广泛了。在图像分类和OD任务中,我们可以测量模型对于标签的确定程度,而在OD情况下,我们还需要知道模型对于对象(即边框)的位置的确定程度。这两种不确定性度量与标签和空间信息相关(这里可以使用最近引入的度量——基于概率的检测质量(PDQ))进行评估。

本文引入Stochastic-YOLO这种新的结构,这种结构是基于YOLO V3进行的改进,与此同时还加入了MC-Drop抽样,以引入预测中的随机性,从而进行不确定性的估计。虽然本文使用YOLOv3作为基础,但该结构可以在许多其他OD模型中应用,只需进行最小的修改,从而使它们对数据集转移的情况下具有更好的鲁棒性。

尽管也可以引入其他的随机性备选方案,但MC-Drop在计算量和推理时间上有明显的优势。理想情况下,贝叶斯神经网络将带来一个具有更精确的不确定性度量的完全概率性框架,但这也将带来非常大的内存占用。同样,文献中已知的模型集合可以产生更好的不确定性预测,但它也会带来明显的内存占用和昂贵的训练时间。文章认为在OD任务中使用MC-Drop是在概率框架下代价和对数据转移的鲁棒性之间的最佳权衡。

本文的主要贡献

  • 1、YOLOv3架构的改进,有效引入MC-Drop和对重要超参数的灵敏度分析;
  • 2、利用基于概率的度量(例如,PDQ)系统地评估模型对不同不确定性水平(例如空间和标签质量)的稳健性,同时表明MC-Drop是改善PDQ的可靠方法;
  • 3、引入了一种高效的缓存机制MCL-Drop,有效地减少了推理时的采样负担,可直接适用于其他OD模型。

这项关于概率OD的工作可以直接用于自动驾驶应用程序,但它也适用于许多其他场景。医学成像领域,机器人领域等,不确定性度量可以提高模型的鲁棒性。

2、本文方法

2.1、Stochastic-YOLO

本文介绍了一种基于YOLOv3的新型OD架构——Stochastic-YOLO。这里在YOLO的3个Detector Head中添加了dropout蒙特卡洛(MC-Drop)抽样方法;具体位置就是在最后一层CNN和倒数第二层CNN之前,每个head都有一个dropout层。MC-Drop在引入随机性后,在复杂性和推理效率方面做到了很好的权衡(主要是只在last layer引入了MC-Dropout,而不是每一层都引入了这种操作机制)。

当从OD模型中采样N次时,可以将一个正向传递的中间结果特征张量缓存到第一个Dropout层。缓存的Tensor是确定的(假设数值误差不显著),因此只允许对模型的最后几层进行采样。

一个MC-Drop通过缓存确定性组件从某个输入中采样N次带来时间复杂度为O(N),同时这个时间复杂度与确定性模型非常接近,如果N足够小,时间复杂度为O(1)——几乎相当于一次前向传递。

这里由于一阶段的检测器都会产生很多重叠的检测框,因此使用MC-Dropout前需要先进行NMS通过设定阈值来筛选一下最优的检测框;

在上图中,对于顶部的非随机的Bseline模型,其输出是一个集合

\{ \vec b_i \}_{i=1}^{D_0}

,其中

\vec b_i \in R^{5+C}

为预测C个可能标签的bounding box,

D_0

为特定模型(如YOLOv3)最初产生的bounding box的数量。每个bounding box都有5个真实的值与之对应(4个坐标值+一个类别得分),这里可以表示为:

\vec b_i = [x,y,width,heigth,obj,p_0,...,p_C]

然后该值通过具有表征抑制的Filtering Block后产生更小的bounding boxes集合

\{ \vec b_i \}_{i=1}^{D_F}

,其中

{D_F}

是最终要评估的bounding boxes的数量;对于随机模型,原始产生的bounding boxes为

N×D_0

,其中N为MC-Drop样本数。与非随机模型相比,随机模型输出中的这种区别将使滤波块有额外的输出:对于每个未滤波的Averaged bounding box

b_i

,需要该bounding box对应的N个样本,表示为

\{ \vec b_i^j \}_{j=1}^{N}

这里需要进一步的Format Conversion block将这些集合转换为可在计算块中从概率角度进行计算的形式。实际上就是一个bounding box vector:

\vec B_i = [\overline x_1,\overline y_1,\overline x_2,\overline y_2,\sum^1,\sum^2,\hat p_0,...,\hat p_C]

其中左上角表示为

(\overline x_1, \overline y_1)

;右下角表示为

(\overline x_2, \overline y_2)

;其中分类的得分表示为

\hat p_i=p_i\times obj

;协方差矩阵可以表示为

\sum^i

:

\sum^i=\begin{bmatrix} \sum_{xx}^i & \sum_{xy}^i \\ \sum_{yx}^i & \sum_{yy}^i \\ \end{bmatrix}

对于确定性模型,这些协方差值都是零,而对于随机模型,每个协方差矩阵都是根据每个坐标中N个采样点的分布计算得到的。当协方差矩阵不是正半定时,通过计算特征分解对其进行变换,并在原特征值为负的地方用零重新构造矩阵。

Figure 1所示的推理几乎可以应用于任何输出边界框的OD模型;同时研究者也可以并根据实际的任务需求合并这一块的内容。

2.2、数据集Shift场景的系统评估

作者这里使用了Michaelis等人提出的Python包来系统地评估模型对不断增加的数据集Shift的鲁棒性;Michaelis等人也提出了一种评估指标,名为Corruption状况下的相对性能(rPC):

rPC=\frac{\frac{1}{N_c}\sum_{c=1}^{N_c} \frac{1}{N_s}\sum_{s=1}^{N_s} P_{c,s}}{P_{clean}}

其中

P_{c,s}

是模型在Corruption上的严重程度(s)的性能,

N_c

是应用的Corruption数量,

N_s

是严重程度级别的数量。

P_{clean}

对应于数据集中没有任何损坏的模型性能。

2.3、概率检测质量(PDQ)

在很多研究论文和竞赛中,OD模型主要使用平均精度(AP)的一些变量进行评估。这种类型的度量不能系统地评估OD任务中普遍存在的不确定性度量;因此作者使用了概率检测质量(PDQ)来进行模型的评估,其主要是度量Ground Truths G和detections D集合间的性能,这个度量建立在两个概念之上:标签质量空间质量

Label quality

Q_L

标签质量

Q_L

被定义为在第i个Ground-truth对象

G^f_i

和第j个检测

D_j^f

之间的第f个图像上标注质量QL:

Q_L \left(G_i^f,D_j^f \right)=I_j^f\left(\hat c_i^f \right)

式中,

I_j^f

为第j个探测对象在所有类上的概率分布,

c^f_i

为Ground-truth类。注意,这忽略了这个类是否在概率分布中

I_j^f

的排名最高,从而有效地评估被预测的对象的质量。

Spatial quality

Q_S
Q_S

被定义为第i个Ground-truth对象

G^f_i

与第j个检测

D_j^f

之间的第f个图像上的空间质量

Q_S

:

Q_S \left(G_i^f,D_j^f \right)=
exp\left(-L_{FG}\left (G_i^f,D_j^f\right)+L_{BG}\left(G_i^f,D_j^f\right) \right)

其中

L_{FG}

L_{BG}

分别是该图像前景和背景的两个损失项。当检测器

D^f_j

G^f_j

中所有的Ground-truth分配1概率值而不给其他像素(如背景)分配任何概率时,

Q_S

将等于1(即最大值)。

通过计算这两项的几何平均值,可以得到成对的

PDQ(pPDQ)

:

pPDQ\left(G_i^f,D_j^f \right)=
\sqrt{Q_S\left(G_i^f,D_j^f \right)\cdot Q_L\left(G_i^f,D_j^f \right)}

注:只有当两项都更高时,几何平均值才会给出更高的值。

最后,将第f幅图像的所有非零赋值的pPDQs存储在一个矢量

q^f=\left[q^f_1,...,q^f_{N_{TP}^f} \right]

,如果

N_{TP}^f

是真实阳性的数量,我们可以将最终的PDQ得分定义为所有这些pPDQ得分的总和,即所有真实阳性、假阴性和假阳性的平均值:

PDQ(G,D)=
\frac{1}{\sum_{f=1}^{N_f} \left(N_{TP}^f+N_{FN}^f+N_{FP}^f\right)}\sum_{f=1}^{N_F}\sum_{i=1}^{N_{TP}^f}q^f(i)

其中,

N_F

是被评估图像的数量。

该度量可以有效地评价OD模型的Label quality和Spatial quality。此外,该度量的另一个优点是可以为评估带来灵活性:从单一的PDQ值,到关于Spatial和Label不确定性的更细粒度的洞察力。

3、实验结果

Table 1总结了不同模型的度量标准及其在破坏(rPC)下的相对性能:

同时,作者还测试了三个有代表性的dropout rates (25%,50%和75%)和spatial and label qualities在数据集Shift平均的结果。Figure 2和Figure 3描述了label和spatial quality的结果,置信阈值为0.5:

Model Efficiency

更为详细内容可以参见论文中的描述。

References

[1] Stochastic-YOLO: Efficient Probabilistic Object Detection under Dataset Shifts

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、简介
  • 2、本文方法
    • 2.1、Stochastic-YOLO
      • 2.2、数据集Shift场景的系统评估
        • 2.3、概率检测质量(PDQ)
        • 3、实验结果
        • References
        相关产品与服务
        图像识别
        腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档