重磅!MobileNet-YOLOv3来了(含三种框架开源代码)

点击上方“ CVer”,选择“置顶公众号”

重磅干货,第一时间送达

前戏


本文介绍一类开源项目: MobileNet-YOLOv3。其中分享Caffe、Keras和MXNet三家框架实现的开源项目。


看名字,就知道是MobileNet作为YOLOv3的backbone,这类思路屡见不鲜,比如典型的MobileNet-SSD。当然了,MobileNet-YOLOv3讲真还是第一次听说。


MobileNet和YOLOv3


MobileNet


MobileNet目前有v1和v2两个版本,毋庸置疑,肯定v2版本更强。但本文介绍的项目暂时都是v1版本的,当然后续再加入v2应该不是很难。这里只简单介绍MobileNetv1(非论文解读)。


创新亮点: Depthwise Separable Convolution(深度可分离卷积)

Tricks:宽度因子和分辨率因子



MobileNetv1在ImageNet上的实验结果



MobileNet在计算量,存储空间和准确率方面取得了非常不错的平衡。与VGG16相比,在很小的精度损失情况下,将运算量减小了30倍。


YOLOv3


之前推过几篇关于YOLOv3的文章,大家点击即可看到:


  • YOLOv3:你一定不能错过

  • 重磅:TensorFlow实现YOLOv3(内含福利)

  • 利用OpenCV玩转YOLOv3


在Titan X上,YOLOv3在51 ms内实现了57.9的AP50,与RetinaNet在198 ms内的57.5 AP50相当,性能相似但速度快3.8倍。


创新亮点: DarkNet-53、Prediction Across Scales、多标签多分类的逻辑回归层

Tricks:多尺度训练,大量的data augmentation


DarkNet-53网络结构



MobileNetv1在COCO上的实验结果


MobileNet-YOLO


【0】Caffe实现


链接:

https://github.com/eric612/MobileNet-YOLO

windows版:

https://github.com/eric612/Caffe-YOLOv3-Windows


安装教程和源码大家直接根据上述网站,自行摸索吧,这里直接看一下实验结果:正常版本和Lite版本在mAP上都强于YOLOv3-Tiny,且参数更少,但不知道速度如何。



【1】Keras实现


链接:

https://github.com/Adamdad/keras-YOLOv3-mobilenet


该开源项目的Adamdad大佬并没有给出实验结果,还是要respect!



【2】MXNet实现


链接1:

https://gluon-cv.mxnet.io/model_zoo/detection.html#yolo-v3

链接2:

https://github.com/dmlc/gluon-cv/tree/master/gluoncv/model_zoo/yolo

链接3:

https://github.com/sufeidechabei/gluon-mobilenet-yolov3


链接1和2是MXNet官网开源的,链接3是sufeidechabei大佬个人开源的。


申明一下,MXNet这个版本,是在我写这篇文章前20个小时刚刚push的,官网上还查不到实验结果。相信一定很赞,为什么呢,你接着往下看。



既然看不到MXNet版本的MobileNet-YOLOv3的实验结果,那我们看看MXNet版本的YOLOv3在COCO上的实验结果。



大家是不是注意到了,MXNet版本中的YOLOv3比原版darnet版本的YOLOv3检测效果更好。 为什么呢?因为加了很多tricks,有哪些可以提高mAP的tricks,大家可以看一下今天推的次条文章。


sufeidechabei大佬开源的MobileNet-YOLOv3实验结果:



参考


Redmon, Joseph, and Ali Farhadi. “Yolov3: An incremental improvement.” arXiv preprint arXiv:1804.02767 (2018).


你可能感兴趣的:(重磅!MobileNet-YOLOv3来了(含三种框架开源代码))