前戏

本文要介绍一篇新的论文及开源项目:YOLO-LITE

看名字,就知道属于YOLO系列。这篇文章于2018年11月15日首发在arXiv上,考虑到该work开源了,于是Amusi就特意深挖一下推荐给大家。

CVers应该都知道YOLO官方三部曲:YOLOv1—>YOLOv2—>YOLOv3。其实还有很多衍生版,如YOLT和YOLO3D等。

那么YOLO-LITE是与上述work有什么区别呢?接着向下看

注:文末附网络模型和预训练权重

YOLO-LITE

YOLO-LITE是一种实时目标检测模型,可用于便携式设备,如缺少图形处理单元(GPU)的笔记本电脑或手机。

该模型在PASCAL VOC数据集和COCO数据集上训练,分别达到33.81%和12.26%的mAP。YOLO-LITE仅有7层和4.82亿FLOPS,其在非GPU计算机上以大约21 FPS运行,在网页上以10 FPS运行。这个速度比最SOTA的SSD Mobilenet v1快3.8倍。

粗看下来,YOLO-LITE就是为了在无GPU的设备上实现实时目标检测,而且YOLO-LITE是基于Tiny-YOLOv2进行改进的。

根据作者描述,YOLO-LITE的设计还有额外的指标:

在无GPU的电脑上达到不低于10 FPS的速度

在PASCAL VOC上达到不低于30% mAP

YOLO-LITE主要有两个贡献:

证明浅层网络(shallow networks)的对于非GPU快速目标检测应用的能力。

证明batch normalization对于shallow networks是不必要的

YOLO-LITE网络介绍

Table VI 表示Tiny-YOLOv2网络结构,而Table VII表示YOLO-LITE的最佳性能试验(Trial):试验3-无BN。

Tiny-YOLOv2由9个卷积层组成,总共3,181个filters和69.7亿个FLOPS。相比之下,试验3 - 无BN的YOLO-LITE仅由7层组成,总共749个filters和4.82亿个FLOPS。Tiny-YOLOv2比YOLO-LITE试验3 - 无BN 具有14倍以上的FLOPS 。

注:原作者对Tiny-YOLOv2进行改进,总共试验次数不低于13组,根据实验结果比较,试验3-无BN是YOLO-LITE最佳版本。所以上述只介绍了YOLO-LITE:试验3-无BN的网格结构。

数据集

PASCAL VOC 2007+2012

COCO 2014

实验结果

下图显示了试验3-无BN是YOLO-LITE最佳版本,其mAP和FPS的tradeoff最佳。

表VIII 表明了YOLO-LITE比SSD快了3.6倍,比Tiny-YOLOV2快了8.8倍,至于mAP,呃...凑合着看吧

总结

YOLO-LITE实现了将目标检测引入无GPU计算机的目标。此外,YOLO-LITE为目标检测领域提供了多种贡献。首先,YOL-LITE表明,shallow networks 对轻量级实时目标检测网络具有巨大潜力。在无GPU计算机上以21 FPS运行对于如小系统非常有前景。其次,YOLO-LITE表明,当涉及较小的浅层网络时,应该"质疑"是否需要使用batch normalization。

Amusi测试

YOLO-LITE究竟性能如何,让Amusi体验一下

Amusi笔记本:i5-6300HQ + GTX960m

注:Amusi木有找到无GPU的笔记本电脑(尴尬.jpg),并使用很早就配置好的GPU版本的darknet。(偷点懒,没有重新配置无GPU版本的darknet)

要想测试YOLO-LITE,首先要配置darknet(即YOLO环境),你可以在Linux下配置,也可以在Windows下配置,配置好darknet后,然后下载cfg网络模型和weights预训练权重:


1git clone https://github.com/reu2018DL/yolo-lite

下载好上述文件(有点大),便开始测试。

先看看TinyYOLOv2,预测速度是58FPS(17ms)

1darknet detector test data/voc.data cfg\yolov2-tiny-voc.cfg weights\yolov2-tiny-vocweights dog.jpg

再看看YOLO-LITE,预测速度是200FPS(5ms)


1darknet detector test data/voc.data cfg/tiny-yolov2-trial3-noBatch.cfg weights/tiny-yolov2-trial3-noBatch.weights dog.jpg

速度不错,但检测结果有点感人

评价

Amusi觉得YOLO-LITE就是Tiny-YOLOv2的青春版,也可以理解为更轻量级版。YOLO-LITE在speed和mAP之间的tradeofff不是很可观,但其发现的两个tricks还是蛮有意思的。

参考

arXiv:https://arxiv.org/abs/1811.05588

homepage:https://reu2018dl.github.io/

github:https://github.com/reu2018dl/yolo-lite

模型下载

关注CVer公众号,后台回复YOLO-LITE,即可。

再次划重点,是回复:YOLO-LITE

另外,这份资料已经同步上传于CVer AI算法岗备战群