本文转载自:AI人工智能初学者
注:论文文末附下载
这篇论文主要是针对YOLOv3进行了一些列的改进,基于此提出随机YOLO(Stochastic-YOLO),其引入MC-Drop机制,旨在生成不确定性估计,进而评估标签质量和空间质量的不确定性(其实就是解决PDQ问题)。 作者单位:剑桥大学, ARM研究院
在OD任务中,对于一个单一的图像,在没有预测到一个或者多个边框的情况下,不确定性语义的意义就更广泛了。在图像分类和OD任务中,我们可以测量模型对于标签的确定程度,而在OD情况下,我们还需要知道模型对于对象(即边框)的位置的确定程度。这两种不确定性度量与标签和空间信息相关(这里可以使用最近引入的度量——基于概率的检测质量(PDQ))进行评估。
本文引入Stochastic-YOLO这种新的结构,这种结构是基于YOLO V3进行的改进,与此同时还加入了MC-Drop抽样,以引入预测中的随机性,从而进行不确定性的估计。虽然本文使用YOLOv3作为基础,但该结构可以在许多其他OD模型中应用,只需进行最小的修改,从而使它们对数据集转移的情况下具有更好的鲁棒性。
尽管也可以引入其他的随机性备选方案,但MC-Drop在计算量和推理时间上有明显的优势。理想情况下,贝叶斯神经网络将带来一个具有更精确的不确定性度量的完全概率性框架,但这也将带来非常大的内存占用。同样,文献中已知的模型集合可以产生更好的不确定性预测,但它也会带来明显的内存占用和昂贵的训练时间。文章认为在OD任务中使用MC-Drop是在概率框架下代价和对数据转移的鲁棒性之间的最佳权衡。
本文的主要贡献:
这项关于概率OD的工作可以直接用于自动驾驶应用程序,但它也适用于许多其他场景。医学成像领域,机器人领域等,不确定性度量可以提高模型的鲁棒性。
本文介绍了一种基于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模型,其输出是一个集合
,其中
为预测C个可能标签的bounding box,
为特定模型(如YOLOv3)最初产生的bounding box的数量。每个bounding box都有5个真实的值与之对应(4个坐标值+一个类别得分),这里可以表示为:
然后该值通过具有表征抑制的Filtering Block后产生更小的bounding boxes集合
,其中
是最终要评估的bounding boxes的数量;对于随机模型,原始产生的bounding boxes为
,其中N为MC-Drop样本数。与非随机模型相比,随机模型输出中的这种区别将使滤波块有额外的输出:对于每个未滤波的Averaged bounding box
,需要该bounding box对应的N个样本,表示为
。
这里需要进一步的Format Conversion block将这些集合转换为可在计算块中从概率角度进行计算的形式。实际上就是一个bounding box vector:
其中左上角表示为
;右下角表示为
;其中分类的得分表示为
;协方差矩阵可以表示为
:
对于确定性模型,这些协方差值都是零,而对于随机模型,每个协方差矩阵都是根据每个坐标中N个采样点的分布计算得到的。当协方差矩阵不是正半定时,通过计算特征分解对其进行变换,并在原特征值为负的地方用零重新构造矩阵。
Figure 1所示的推理几乎可以应用于任何输出边界框的OD模型;同时研究者也可以并根据实际的任务需求合并这一块的内容。
作者这里使用了Michaelis等人提出的Python包来系统地评估模型对不断增加的数据集Shift的鲁棒性;Michaelis等人也提出了一种评估指标,名为Corruption状况下的相对性能(rPC):
其中
是模型在Corruption上的严重程度(s)的性能,
是应用的Corruption数量,
是严重程度级别的数量。
对应于数据集中没有任何损坏的模型性能。
在很多研究论文和竞赛中,OD模型主要使用平均精度(AP)的一些变量进行评估。这种类型的度量不能系统地评估OD任务中普遍存在的不确定性度量;因此作者使用了概率检测质量(PDQ)来进行模型的评估,其主要是度量Ground Truths G和detections D集合间的性能,这个度量建立在两个概念之上:标签质量和空间质量;
Label quality
标签质量
被定义为在第i个Ground-truth对象
和第j个检测
之间的第f个图像上标注质量QL:
式中,
为第j个探测对象在所有类上的概率分布,
为Ground-truth类。注意,这忽略了这个类是否在概率分布中
的排名最高,从而有效地评估被预测的对象的质量。
Spatial quality
被定义为第i个Ground-truth对象
与第j个检测
之间的第f个图像上的空间质量
:
其中
和
分别是该图像前景和背景的两个损失项。当检测器
给
中所有的Ground-truth分配1概率值而不给其他像素(如背景)分配任何概率时,
将等于1(即最大值)。
通过计算这两项的几何平均值,可以得到成对的
:
注:只有当两项都更高时,几何平均值才会给出更高的值。
最后,将第f幅图像的所有非零赋值的pPDQs存储在一个矢量
,如果
是真实阳性的数量,我们可以将最终的PDQ得分定义为所有这些pPDQ得分的总和,即所有真实阳性、假阴性和假阳性的平均值:
其中,
是被评估图像的数量。
该度量可以有效地评价OD模型的Label quality和Spatial quality。此外,该度量的另一个优点是可以为评估带来灵活性:从单一的PDQ值,到关于Spatial和Label不确定性的更细粒度的洞察力。
Table 1总结了不同模型的度量标准及其在破坏(rPC)下的相对性能:
同时,作者还测试了三个有代表性的dropout rates (25%,50%和75%)和spatial and label qualities在数据集Shift平均的结果。Figure 2和Figure 3描述了label和spatial quality的结果,置信阈值为0.5:
Model Efficiency
更为详细内容可以参见论文中的描述。
[1] Stochastic-YOLO: Efficient Probabilistic Object Detection under Dataset Shifts