教你快速运行谷歌EfficientDet目标检测

2020-09-02 14:05:56 浏览数 (1)

EfficientDet是谷歌大脑于去年11月份公布的目标检测算法族,涵盖轻量级到高精度的多个模型,COCO数据集上达到 50.9 mAP,一经推出便获得了大量关注!

EfficientDet原出于论文 EfficientDet: Scalable and Efficient Object Detection,开源页面显示,这篇论文已经被CVPR 2020接收。

在算法设计上有三大特点:

1. 优秀的主干网络。同样出自谷歌家族的EfficientNets 。

2. 双向FPN(BiFPN,特征金字塔网络)。可以方便且更好的进行特征融合。

3. 模型缩放技术。设计好模型的主干网络、特征网络、预测网络后,按照一定的优化规则,在网络的深度、宽度、输入图像的分辨率上进行模型缩放,故EfficientDet其实是一系列网络,可在统一架构下得到适合移动端和追求高精度的多个模型。

作者们结合BiFPN和特征融合策略设计了与YOLOv3精度相仿的EfficientDet-D0,使用模型缩放技术得到一系列检测模型:EfficientDet-D1 到 D6,在精度和模型复杂度上权衡。

其高精度模型 EfficientDet-D6 在COCO数据集上达到 50.9 mAP,而仅需要51.9M 参数 和 229B FLOPs。相比于之前的最好算法(AmoebaNet NAS-FPN AutoAugment )达到了更高的精度,却仅有1/4参数量,1/13的FLOPs,在GPU/CPU上运行结果快3~5倍!

EfficientDet D0-D6所有预训练模型:

同时为了方便使用,谷歌也提供了训练代码。

AI项目体验地址 https://loveai.tech

快速运行

1.安装 tensorflow 1.XX版

2.下载预训练模型 和代码

https://github.com/google/automl/tree/master/efficientdet

将模型解压后 放入 models 目录下

3. 修改相关路径 ,运行代码

注意输入图片大小否则会报错:

效果展示

0 人点赞