YOLOV3:一个渐进式的更新外文翻译资料

 2022-12-16 20:15:54

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


YOLOV3:一个渐进式的更新

摘要

我们为YOLO提供了一些更新!我们做出了一些小的改进来优化它。同时,我们新建了一些新的非常好的神经网络。虽然比上一版更大一些,但是精度也提高了。不用担心,它的速度依旧很快。在输入320times;320的图片后,YOLOv3能在22毫秒内完成处理,并取得28.2mAP的成绩。它的精度和SSD相当,但速度要快上3倍。和旧版中以.5 IOU mAP为检测指标相比,v3版进步很大。在Titan X环境下,YOLOv3的检测精度为57.9 AP50,用时51ms;而RetinaNet的精度只有57.5 AP50,但却需要198ms,在相似的性能下,所需的时间却相当于YOLOv3的3.8倍。和往常一样,所有的代码可以在https://pjreddie.com/yolo/网站找到。

1、引言

你知道吗?有时候,一年你主要只是在玩手机。今年我没有做很多研究。我在Twitter上花了很多时间,玩了一下GANs。去年我留下了一点点的精力[12] [1];我设法对YOLO进行了一些改进。但是,诚然,没有什么比这更有趣的了,只是一些小改变就能让它变得更好。我也帮助了其他人做的一些研究。   

其实,这就是今天我要讲的内容。我们有一篇论文快截稿了[4],单需要引用我对YOLO做出的一些改进,可我们并没有这样的资源。所以先写了以下的技术报告。 

关于技术报告的好处是他们不需要介绍,你们都知道我写这个的目的。所以这段引言可以作为你阅读文章其他部分的一个指引。首先我们会告诉你YOLOv3的更新情况,其次我们会展示我们是如何做的以及一些失败的尝试,最后就是对这轮更新的意义的总结。

2、更新

这里是YOLOv3的更新情况,其实大多数时候我们就是直接把别人的好点子拿来用了。我们还训练了一个新的、比其他网络更好的分类网络。为了方便你理解,让我们从头开始慢慢介绍整个系统。

理论时间/毫秒

图1. 我们根据Focal Loss论文[9]调整了这一幅图。Yolov3比其他具有可比性的检测方法运行得更快。从M40时代到Titan时代,它们基本上是相同的GPU。

2.1 边界框预测   

在YOLO9000后,我们的系统开始用维度聚类固定anchor boxes来选定边界框[15]。神经网络中每个边界框预测4个坐标:tx,ty,tw,th。如果目标cell距离图像左上角的距离是(cx,cy),且它对应边界框的宽和高为pw,ph,那么网络的预测值会是:

在训练期间,我们会计算方差。如果预测坐标的ground truth是,那么响应的梯度就是ground truth值(根据ground truth box计算得到)和预测值的差:。利用变换上述公式,我们能轻松推出ground truth的值。

YOLOv3用逻辑回归预测每个边界框的对象得分。如果当前预测的边界框比之前的边界框,能够更好地与ground truth对象重合,那它的分数就是1。如果当前预测的边界框不是最好的,但它和ground truth对象重合到了一定阈值以上,神经网络会忽视这个预测,按照[17]继续进行下去。我们使用的阈值是.5。与[17]不同,我们的系统只为每个ground truth对象分配一个边界框。如果先前的边界框并未分配给ground trutn对象,那它只是检测错了对象,而不会对坐标或分类预测造成损失。

图2. 带有维度优先和位置预测的边界框。

我们预测了边界框的宽度和高度作为与簇形心的偏移。我们使用sigmoid函数预测框的中心坐标相对于滤波应用的位置。这张图明目张胆地抄自[15]。

2.2 分类预测

每个边界框都会使用多标记分类来预测框中可能包含的类。我们不用softmax分类器,而是用单独的逻辑分类器,因为我们发现前者对于提升网络性能没什么作用。在训练过程中,我们用二元交叉熵损失来预测类别。

这个构想有助于我们用于更复杂的领域,如开放的图像数据集[7]。这个数据集中包含了大量重叠的标签(如女性和人)。如果我们用的是softmax分类器,它会强加一个假设,即每个框只包含一个类别,但情况往往并不是这样的。多标记分类的方法能更好的模拟数据。

2.3 多尺度预测

YOLOv3利用3种不同的尺度来预测边界框。我们的系统用相似的概念提取这些尺度的特征,以形成金字塔特征网络[8]。我们在基本特征提取器中增加了几个卷积层,并用最后的卷积层预测一个三维张量编码:边界框,目标和分类预测。在COCO数据集实验中[10],我们的神经网络分别为每种尺度各预测了三个边界框,所以得到的张量是N times;N times;[3lowast;(4 1 80)],其中包含4个边界框偏移量、1个目标预测以及80种分类预测。

接着,我们从前两个层中得到特征图,并对它进行2次上采样。我们又从网络更早的层中获得特征图,用element-wise将其与我们的上采样特征进行合并。这样做能使我们找到早期特征图中的上采样特征和细粒度特征,并获得更有意义的信息。然后,我们添加几个卷积层来处理这个组合的特征图,并最终预测出一个相似的、大小是原先两倍的张量。

我们用同样的网络设计来预测边界框的最终尺度,这样我们对于第三种尺度的预测将从所有先前的运算中获益,并且可以从早期图像中筛选出细粒度的特征。

我们使用的聚类方法还是K-Means,它能用来确定边界框的先验。在实验中,我们选择了9个聚类和3个尺寸,然后在不同尺寸的边界框上均匀分割维度聚类。在COCO数据集上,这9个聚类分别是:(10times;13)、(16times;30)、(33times;23)、(30times;61)、(62times;45)、(59times;119)、(116 times; 90)、(156 times; 198)、(373 times; 326)。

2.4 特征提取器

我们使用一个新的网络来提取特征,它融合了YOLOv2,Darknet-19以及其他新型残差网络。我们的网络由连续的3x3和1x1卷积层组合而成,当然,其中也添加了一些shortcut 连接,整体体量也更大。一共有53个卷积层,所以我们称它为hellip;hellip;别急哦hellip;hellip; Darknet-53!

表1. Darknet-53

这个新网络在性能上远超Darknet-19 ,但是在效率上优于ResNet-101和ResNet-152。这是在ImageNet上的实验结果:

表2. 框架对比. 各种网络的精度、数十亿次操作、每秒数十亿次浮点数操作以及fps

每个网络都使用相同的设置进行训练,输入256times;256的图片,并进行单精度测试。运行时间是在Titan X上以256times;256进行测量的。我们得出的结论是Darknet-53在精度上可以与state-of-the-art分类器相媲美,同时它的浮点运算更少,速度也更快。Darknet-53h比ResNet-101更好,而且速度是ResNet-101的1.5倍。Darknet-53和ResNet-152性能相似,但速度却是它的2倍。   

Darknet-53也可以实现每秒最高的测量浮点运算。这意味着网络结构可以更好地利用GPU,使其评估效率更高,速度更快。这主要是因为ResNets的层数太多,效率不高。

2.5 训练   

我们只是输入完整的图像,并没有做类似于缩小等其他处理。我们使用了多尺度的训练,大量数据增强和BN层等操作,这些都符合标准。模型训练和测试的框架是Darknet神经网络[14]。

3、我们做了什么   

YOLOv3的表现非常好!请参见表3,就COCO奇怪的平均mAP成绩而言,它与SSD变体相当,但速度提高了3倍。尽管如此,它仍然比像RetinaNet这样的模型要差一点。

表3. 我非常郑重地从[9]中偷来这些表格,它们需要很长时间才能从头开始制作。好的,YOLOV3做得很好。请记住,RetinaNet处理图像的时间大约为YOLOV3的3.8倍。Yolov3比SSD变种要好得多,可以与AP50度量上最先进的模型相媲美。

然而,当我们在IOU=0.5(即表中的AP50)看到mAP的旧检测度量时,YOLOv3非常强大。它几乎与RetinaNet相当,并且远高于SSD变体。这就证明了它其实是一款非常强大的检测器,擅长为目标物体生成合适的边界框。然而,随着IOU阈值增加,YOLOv3的性能开始同步下降,这时它预测的边界框就不能做到完美对齐了。   

在过去,YOLO一直被用于小型对象检测。但现在我们可以看到其中的演变趋势,新的多尺度预测让我们看到YOLOv3将具备更高的APS性能。但是它目前在中等尺寸或大尺寸物体上的表现还相对较差,仍需更多的研究来进一步完善。   

当我们基于AP50指标绘制精度和速度时(见图3),我们发现YOLOv3与其他检测系统相比具有显著的优势。也就是说,它的速度更快,性能更好。

图3. 再次引用于[9],这次在mAP上以0.5 IOU度量来显示速度/精度权衡。你可以看出YOLOV3很好,因为它的曲线很高,而且距离左边左边很远。你能引用你自己的论文吗?猜猜谁会尝试,这家伙→[16]。哦,我忘了,我们在Yolov2中也修复了一个数据加载错误,这有助于让mAP提升2。只是偷偷地把这个放在这里,不要丢掉布局。

4、失败的尝试

我们在研究YOLOv3时尝试了很多东西,以下是我们还记得的一些失败案例。

Anchor box坐标的偏移预测。我们尝试了常规的anchor box预测机制,比如利用线性激活将坐标x、y的偏移程度预测为边界框宽度或高度的倍数。但我们发现这种做法降低了模型的稳定性,且效果不佳。

用线性方法预测x,y,而不是使用逻辑回归。我们尝试使用线性激活来直接预测x,y的偏移量,而不是逻辑激活。这降低了mAP的成绩。

focal loss。我们尝试使用focal loss,但它使我们的mAP降低了2点。 对于focal loss函数试图解决的问题,YOLOv3从理论上来说已经很强大了,因为它具有单独的对象预测和条件类别预测。因此,对于大多数例子来说,类别预测没有损失?或者其他的东西?我们并不完全确定。

双IOU阈值和真值分配。在训练期间,Faster RCNN用了两个IOU阈值,如果预测的边框与ground truth的重合度达到0.7,那它是个正面的结果;如果在[.3—.7]之间,则忽略;如果对所有的ground truth都小于0.3,那它就是个负面的结果。我们尝试了相似思路,但效果并不好。   

我们对现在的更新状况很满意,它看起来已经是最佳状态。有些技术可能会产生更好的结果,但我们还需要对它们做一些调整来稳定训练。

5、更新的意义   

YOLOv3是一个很好的检测器,它速度快,精度又高。虽然当以0.3和0.95位IOU指标时,它在COCO上的mAP值不太好,但对于旧的检测指标0.5 IOU,它还是非常不错的。   

所以为什么我们要改变指标呢?最初的COCO论文里只有这样一句含糊其词的话:一旦评估完成,就会生成评估指标结果。Russakovsky等人曾经有一份报告,说人类很难区分0.3与0.5的IOU:“训练人们用肉眼区别IOU值为0.3的边界框和0.5的边界框是一件非常困难的事”。[16]如果人类都难以区分这种差异,那这个指标有多重要?   

但也许更好的一个问题是:现在我们有了这些检测器,我们能用它们来干嘛?很多从事这方面研究的人都受雇于Google和Facebook,我想至少我们知道如果这项技术发展得完善,那他们绝对不会把它用来收集你的个人信息然后卖给hellip;hellip;等等,你把事实说出来了!!哦哦。   

那么其他巨资资助计算机视觉研究的人还有军方,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人hellip;hellip;  

我有很多希望!我希望大多数人会把计算机视觉技术用于快乐的、幸福的事情上,比如计算国家公园里斑马的数量[13],或者追踪房子附近到底有多少猫[19]。但是计算机视觉技术的应用已经步入歧途了,作为研究人员,我们有责任思考自己的工作可能带给社会的危害,并考虑怎么减轻这种危害。我们欠这个世界的已经很多了。   

最后,不要在Twitter上@我,我已经放弃它了。

参考文献

[1] Analogy. Wikipedia, Mar 2018. 1

[2] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman. The pascal visual object classes (v

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[20178],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。