重磅!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的文章,大家点击即可看到:
在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).