YOLOv3: An Incremental Improvement【翻译】

摘要
我们向YOLO提供一些更新!我们做了一些小的设计改动,使之更好。我们还训练了一个相当棒的新网络。比上次大一点,但更准确。不过还是很快,别担心。在320×320的情况下,YOLOv3在22
ms内以28.2 mAP的速度运行,与SSD一样精确,但速度快了3倍。当我们看到旧的.5
IOU地图检测指标YOLOv3是相当不错的。与RetinaNet的57.5ap50in 198 ms相比,在Titan
X上实现了57.9ap50in51ms,性能相似,但速度快了3.8倍。一如既往,所有代码都在https://pjreddie.com/yolo/。

1 介绍
有时候你只需要打一年的电话就可以了,你知道吗?今年我没有做很多研究。花了很多时间在推特上。和甘斯玩了一会儿。我有一点去年遗留下来的动力[12][1];我设法对尤洛做了一些改进。但是,老实说,没有什么比超级有趣,只是一堆小的改变,使它更好。我也帮助了别人的研究。
事实上,这就是我们今天来到这里的原因。我们有一个相机准备的最后期限[4],我们需要引用一些随机更新,我向尤洛,但我们没有来源。所以准备一份技术报告吧!
科技报告最棒的地方在于,他们不需要介绍,你们都知道我们来这里的原因。所以这篇导言的结尾将是论文其余部分的路标。首先我们会告诉你约洛夫的交易是什么。那我们就告诉你怎么做。我们也会告诉你一些我们尝试过但没有成功的事情。最后,我们将思考这一切意味着什么。

2 交易
这就是约洛夫3号的交易:我们主要从其他人那里得到好主意。我们还训练了一个新的分类器网络,比其他的分类器网络更好。我们将带你从头开始了解整个系统,这样你就可以完全理解了。YOLOv3: An Incremental Improvement【翻译】_第1张图片
图1 我们根据焦距损失文件[9]改编了这个数字。YOLOv3的运行速度明显快于其他具有可比性能的检测方法。无论是M40还是泰坦X,它们基本上都是相同的GPU。

2.1 边界框预测
根据YOLO9000,我们的系统使用维度集群作为定位框来预测边界框[15]。网络为每个边界框tx,ty,tw,th预测4个坐标。如果单元格与图像左上角的偏移量为(cx,cy),并且前一个边框具有宽度和高度pw,ph,则预测对应于:
YOLOv3: An Incremental Improvement【翻译】_第2张图片
在训练中,我们使用误差平方和损失。如果某个坐标预测的地面真值是ˆt我们的梯度是地面真值(从地面真值框计算)减去我们的预测:ˆt-t*。这个基本真值可以通过反转上面的方程来轻松计算。
YOLOv3使用logistic回归预测每个边界框的客观评分。如果之前的边界框比之前的任何其他边界框与地面真值对象重叠更多,则该值应为1。如果之前的边界框不是最好的,但确实与一个基本真理对象重叠了超过某个阈值,我们忽略了这个预测,如下[17]。我们使用0.5的阈值。与[17]不同的是,我们的系统只为每个地面真值对象指定一个边界框。如果一个边界框previor没有被指定给一个基本的真值对象,那么它不会对坐标或类预测造成任何损失,只有对象性。
图2。具有维度优先级和位置预测的边界框。我们预测盒子的宽度和高度与星团质心的偏移量。我们使用一个S形函数来预测盒子的中心坐标相对于滤波器应用的位置。这个数字公然自抄自[15]YOLOv3: An Incremental Improvement【翻译】_第3张图片图2 具有维度优先级和位置预测的边界框。我们预测盒子的宽度和高度与星团质心的偏移量。我们使用一个S形函数来预测盒子的中心坐标相对于滤波器应用的位置。这个数字公然自抄自[15].

2.2 类别预测
每个框使用多标签分类预测边界框可能包含的类。我们不使用softmax,因为我们发现它对良好的性能是不必要的,而只是使用独立的逻辑分类器。在训练过程中,我们使用二元交叉熵损失进行类预测。
当我们转移到更复杂的领域,比如开放图像数据集[7]时,这个公式会有帮助。在这个数据集中有许多重叠的标签(即女人和人)。使用softmax可以假设每个框只有一个类,而这通常不是这样的。多标签方法可以更好地对数据建模。

2.3 跨尺度预测
YOLOv3预测3种不同尺度的盒子。我们的系统使用与金字塔网络相似的概念从这些尺度中提取特征[8]。从我们的基本特征提取,我们添加了几个卷积层。最后一个预测三维张量编码的包围盒、对象和类预测。在我们用COCO[10]进行的实验中,我们在每个尺度上预测了3个盒,因此对于4个边界盒偏移量、1个对象性预测和80类预测,张量为N×N×[3∗(4+1+80))。

接下来,我们从前面的两层中提取特征图,并将其放大2×。我们还从网络的早期获取一个特征映射,并使用连接将其与我们的上采样特征合并。这种方法允许我们从上采样的特征中获取更有意义的语义信息,并从早期的特征映射中获取更细粒度的信息。然后,我们再添加一些卷积层来处理这个组合的特征映射,并最终预测一个相似的张量,尽管现在的张量是原来的两倍。

我们再次执行相同的设计,以预测最终规模的框。因此,我们对第三个比例尺的预测得益于所有先前的计算以及网络早期的细粒度特性。

我们仍然使用k-means聚类来确定我们的边界框优先级。我们只是任意选择了9个簇和3个尺度,然后在尺度上均匀地划分簇。在COCO数据集上,9个聚类为:(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)。

2.4 特征提取器
我们使用一个新的网络来进行特征提取。我们的新网络是YOLOv2,Darknet-19中使用的网络和新的剩余网络之间的混合方法。我们的网络使用连续的3×3和1×1卷积层,但现在也有一些捷径连接,并且明显更大。它有53个卷积层,所以我们称之为。。。。等等。。。。。darknet-53!
YOLOv3: An Incremental Improvement【翻译】_第4张图片
这个新网络比Darknet19强大得多,但仍然比ResNet-101或ResNet-152更有效。以下是一些ImageNet结果:
YOLOv3: An Incremental Improvement【翻译】_第5张图片
表2 比较骨干。各种网络的精度、数十亿次运算、每秒十亿次浮点运算和FPS。

每一个网络都用相同的设置进行训练,并以256×256的单作物精度进行测试。运行时间是在泰坦X上以256×256的速度测量的。因此,Darknet-53的性能与最先进的分类器不相上下,但浮点运算更少,速度更快。Darknet-53比ResNet-101快1.5倍。Darknet-53的性能与ResNet-152相似,速度快2倍。

每一个网络都用相同的设置进行训练,并以256×256的单作物精度进行测试。运行时间是在泰坦X上以256×256的速度测量的。因此,Darknet-53的性能与最先进的分类器不相上下,但浮点运算更少,速度更快。Darknet-53比ResNet-101快1.5倍。Darknet-53的性能与ResNet-152相似,速度快2倍。

2.5 培训
我们仍然在训练完整的图像,没有硬性的负面挖掘或任何东西。我们使用多尺度的训练,大量的数据扩充,批量规范化,所有标准的东西。我们使用Darknet神经网络框架进行训练和测试[14]。

三 我们怎么做
YOLOv3相当不错!见表3。就COCOs怪异平均AP度量而言,它与SSD变体相当,但速度快3倍。它还是有点落后于其他的像RetinaNet这样的模型。

然而,当我们在IOU=0.5(或图表中的ap50)处观察mAP的“旧”检测度量时,YOLOv3是非常强的。它几乎与RetinaNet相当,远高于SSD变体。这表明YOLOv3是一个非常强大的探测器,它擅长为物体制造像样的盒子。然而,随着IOU阈值的增加,性能显著下降,这表明YOLOv3难以使盒子与对象完全对齐。

在过去,约罗与小物体搏斗。然而,现在我们看到了这种趋势的逆转。通过新的多尺度预测,我们看到YOLOv3具有相对较高的apstperformance。然而,它在中、大尺寸物体上的性能相对较差。需要更多的调查才能弄清真相。

当我们在AP50metric(见图5)上绘制精度与速度的关系图时,我们发现YOLOv3比其他检测系统具有显著的优势。也就是说,它更快更好。

四 我们试过但没用的东西
我们在做YOLOv3的时候试了很多东西。很多都没用。这是我们能记住的东西。

定位框x、y偏移预测。我们尝试使用普通的锚定框预测机制,其中您使用线性激活将x,y偏移量预测为框宽度或高度的倍数。我们发现这个公式降低了模型的稳定性,并且效果不太好。

**线性x,y预测代替logistic预测。**我们尝试使用线性激活来直接预测x,y偏移,而不是logistic激活。这导致了mAP落下几个点。

焦点丢失。我们试着用焦点丢失法。我们的mAP掉了2个点。YOLOv3可能已经对焦点丢失试图解决的问题很健壮了,因为它有单独的对象预测和条件类预测。因此,对于大多数例子来说,类预测没有损失吗?还是什么?我们不太确定。
YOLOv3: An Incremental Improvement【翻译】_第6张图片
表3。我是认真的,这些表格都是从他们花了很长时间才从零开始做的。好的,yolo3没事。记住,RetinaNet处理图像的时间大约长3.8倍。YOLOv3比SSD变型要好得多,可与AP50metric上的最新模型相媲美。
YOLOv3: An Incremental Improvement【翻译】_第7张图片
图3 再次改编自[9],这一次在地图上显示速度/精度折衷为0.5
IOU公制。你可以告诉我YOLOv3很好,因为它很高,而且离左边很远。你能引用你自己的论文吗?猜猜谁会试试,这个家伙·····························。哦,我忘了,我们还在YOLOv2中修复了一个数据加载错误,这是like
2 mAP的帮助。只是偷偷地把这个放在这里,免得弄乱布局。

**双IOU阈值和真相分配。**更快的RCNN在训练期间使用两个IOU阈值。如果一个预测与地面真值重叠0.7,则它是一个正面的例子,如果重叠0.3–.7,则它将被忽略,对于所有地面真值对象,它都小于.3,则它是一个负面的例子。我们也尝试过类似的策略,但没有取得好的效果。

我们很喜欢我们目前的公式,它似乎至少在一个局部最优。有可能这些技巧最终会产生好的效果,也许他们只是需要一些调整来稳定训练。

5 这一切意味着什么
YOLOv3是一个很好的探测器。很快,很准确。在COCO平均AP介于0.5和0.95
IOU之间的情况下,它并没有那么好。但在旧的0.5
IOU的检测标准上很好。

我们为什么要改变指标?COCO最初的论文只有一句话:“一旦评估服务器完成,将添加对评估指标的全面讨论”。Russakovsky等人报告说,人类很难区分.3和.5的借据!“训练人类对IOU为0.3的包围盒进行视觉检查,并将其与IOU为0.5的包围盒区分开来,是非常困难的。”[18]如果人类很难分辨出两者之间的区别,那么这有多重要?

但也许一个更好的问题是:“既然我们有了这些探测器,我们该怎么处理呢?“做这项研究的很多人都在谷歌和Facebook。我想至少我们知道这项技术掌握得很好,绝对不会被用来获取你的个人信息并卖给。。。。等等,你是说这正是它的用途??哦。

嗯,其他大力资助视力研究的人是军方,他们从来没有做过像用新技术杀死很多人这样可怕的事情哦等等……1

我有很多希望,大多数使用计算机视觉的人只是在用它做一些快乐的、好的事情,比如计算国家公园里斑马的数量[13],或者跟踪它们在家里游荡的猫[19]。但是,计算机视觉已经开始被怀疑使用,作为研究人员,我们有责任至少考虑到我们的工作可能造成的危害,并想办法减轻它。我们欠世界那么多。
最后,不要@我。(因为我最终退出了Twitter)。

你可能感兴趣的:(嵌入式神经网络)