华盛顿大学推出YOLOv3:检测速度快SSD和RetinaNet三倍(附实现)

近日,来自华盛顿大学的 Joseph Redmon 和 Ali Farhadi 提出 YOLO 的最新版本 YOLOv3。通过在 YOLO 中加入设计细节的变化,这个新模型在取得相当准确率的情况下实现了检测速度的很大提升,一般它比 R-CNN 快 1000 倍、比 Fast R-CNN 快 100 倍。机器之心对论文进行了编译,实现和视频 demo 详见文中。

代码地址:https://pjreddie.com/yolo/


1. 引言

有时,你一整年全在敷衍了事而不自知。比如今年我就没做太多研究,在推特上挥霍光阴,置 GANs 于不顾。凭着上年余留的一点动力,我成功对 YOLO 做了一些升级。但实话讲,没什么超有趣的东西,只不过是些小修小补。同时我对其他人的研究也尽了少许绵薄之力。

于是就有了今天的这篇论文。我们有一个最终截稿日期,需要随机引用 YOLO 的一些更新,但是没有资源。因此请留意技术报告。

技术报告的优势在于其不需要介绍,你自然知道来由。因此简介的最后将为余文提供路标。首先我将介绍 YOLOv3 的结局方案;接着是其实现。我们也会介绍一些失败案例。最后是本文的总结与思考。

2. 解决方案

这一部分主要介绍了 YOLOv3 的解决方案,我们从其他研究员那边获取了非常多的灵感。我们还训练了一个非常优秀的分类网络,因此原文章的这一部分主要从边界框的预测、类别预测和特征抽取等方面详细介绍整个系统。

简而言之,YOLOv3 的先验检测(Prior detection)系统将分类器或定位器重新用于执行检测任务。他们将模型应用于图像的多个位置和尺度。而那些评分较高的区域就可以视为检测结果。

此外,相对于其它目标检测方法,我们使用了完全不同的方法。我们将一个单神经网络应用于整张图像,该网络将图像划分为不同的区域,因而预测每一块区域的边界框和概率,这些边界框会通过预测的概率加权。

我们的模型相比于基于分类器的系统有一些优势。它在测试时会查看整个图像,所以它的预测利用了图像中的全局信息。与需要数千张单一目标图像的 R-CNN 不同,它通过单一网络评估进行预测。这令 YOLOv3 非常快,一般它比 R-CNN 快 1000 倍、比 Fast R-CNN 快 100 倍。

图 1:我们从 Focal Loss 论文 [7] 中采用了这张图。YOLOv3 在实现相同准确度下要显著地比其它检测方法快。时间都是在采用 M40 或 Titan X 等相同 GPU 下测量的。

图 2:带有维度先验和定位预测的边界框。我们边界框的宽和高以作为离聚类中心的位移,并使用 Sigmoid 函数预测边界框相对于滤波器应用位置的中心坐标。

表 1:Darknet-53 网络架构。

表 2:主干架构的性能对比:准确率(top-1 误差、top-5 误差)、运算次数(/十亿)、每秒浮点数运算次数(/十亿),以及 FPS 值。

表 3:该表来自 [7]。从中看出,YOLOv3 表现得不错。RetinaNet 需要大约 3.8 倍的时间来处理一张图像,YOLOv3 相比 SSD 变体要好得多,并在 AP_50 指标上和当前最佳模型有得一拼。

图 3:也是借用了 [7] 中的图,展示了以.5 IOU 指标的速度/准确率权衡过程(mAP vs 推断时间)。从图中可以看出 YOLOv3 准确率高,速度也快。

最后,机器之心也尝试使用预训练的 YOLOv3 执行目标检测,在推断中,模型需要花 1s 左右加载模型与权重,而后面的预测与图像本身的像素大小有非常大的关系。因此,吃瓜小编真的感觉 YOLOv3 很快哦。

论文:YOLOv3: An Incremental Improvement

论文链接:https://pjreddie.com/media/files/papers/YOLOv3.pdf

摘要:我们在本文中提出 YOLO 的最新版本 YOLOv3。我们对 YOLO 加入了许多设计细节的变化,以提升其性能。这个新模型相对更大但准确率更高。不用担心,它依然非常快。对于 320x320 的图像,YOLOv3 可以达到 22ms 的检测速度,获得 28.2mAP 的性能,与 SSD 的准确率相当但是速度快 3 倍。当我们使用旧版.5 IOU mAP 检测指标时,YOLOv3 是非常不错的。它在一块 TitanX 上以 51ms 的速度达到了 57.9 AP_50 的性能,而用 RetinaNet 则以 198ms 的速度获得 57.5 AP_50 的性能,性能相近但快了 3 倍。

理论图像识别YOLO论文
4
暂无评论
暂无评论~