您的位置:首页 > 编程语言

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

2021-01-29 19:05 666 查看

前戏

本文介绍一类开源项目: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).

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐