GluonCV v0.4:更多更快

2019 年 4 月 2 日 ApacheMXNet

GluonCV 0.3 版提供大量超越原论文精度的模型。0.4 版在此基础上引入了:

  • 新应用:全新的人体关键点检测模型

  • 更快的部署:新增 Int8 部署和经济适用型的删减版 ResNet(Pruned ResNet)系列

  • 更强的预训练模型:ResNext, SE_ResNext 模型系列(各种 80%~81+% 准确度的 ImageNet 预训练模型)

  • 支持 FPN 的 Faster/Mask-RCNN 系列

同时 GluonCV 现有模块的易用性和稳定性也得到了极大提升。

人体关键点检测

人体关键点检测用于描述人体的姿态进而分析人体行为,是非常基础的 CV 应用。GluonCV 的人体关键点检测是一个完整独立的应用系列,不仅包含模型定义,训练脚本,损失和评估函数,同时还包括预训练模型参数和一系列使用教程。

部分小伙伴们春游的合照来镇场:

还有各种帅气的 pose:


预训练的模型具体性能可以参考下表所示:

可以看到我们提供的模型都可以达到极高的精度。

INT8 加速部署

我们与 Intel 深度合作推出基于 Intel Deep Learning Boost(VNNI)的 Int8 quantization,在新一代 Intel CPU 的加持下,可以取得不俗的加速比。下图是基于 AWS EC2 C5 实例的初步结果:

如何在保证准确度的情况下尽量使用较少的比特是一个相对复杂的过程,不过好在 0.4 版本目前已经内置了部分优化完的 INT8 网络,开盖即食(比如 model_zoo 中resnet50_v1_int8就是resnet50_v1INT8 版本):

*nms_thresh=0.45, nms_topk=200

之后的版本我们会引入 Gluon 接口的 INT8 转换函数,以方便部署各种模型(需要注意的是只有较新的 Intel CPU 能取得有效的加速,之后我们会有更详细的针对新硬件的博客)。

删减版 ResNet

我们知道 CNN 的结构对于很多常见的任务都是高度冗余的,通过对预训练网络进行分析可以得到网络内部冗余度的权重。 之后我们可以删改网络的参数使得推导可以加速几倍到几十倍的同时不显著降低准确度。

道理说起来简单,也有大量的现成研究成果,不过 GluonCV 0.4 版把易用性做到了极致,下面表格里就是 0.4 版内置的删减版 ResNet 和他们的相对性能:


比如说resnet50_v1d_0.37表示一个权重是resnet50_v1d约 0.37 倍的模型,5.01x表示它的推导速度比原模型快约 5 倍。 更直观的对比可以参考下图

更多更有趣的 GAN

超分辨率 GAN(SRGAN)

以假乱真的 CycleGAN

支持 FPN 的 Faster/Mask-RCNN

新增 FPN 支持的 Faster/Mask-RCNN,依然是 SoTA 的性能

易用性改进和 Bug 修复

  • Model Zoo里的 ResNet 都支持 Synchronized BatchNorm

  • 预训练完的目标检测模型都支持直接重置类别reset_class,而且设置reuse_weights可以重用原本存在的类别。参考教程,我们可以无需任何训练就得到一个行人检测模型。

  • 修复一些 DataLoader 的问题(mxnet>=1.4.0)

  • 修复一些语义分隔模型无法 hybridize 的问题

  • 修复一些训练中随机 NaN 的问题(需要 mxnet nightly)

  • 修复一些 GPU 上 NMS 很慢的问题(需要 mxnet nightly)

0.3 版训练技巧大公开

在 0.3 版中使用的训练技巧已经正式公开,想了解 GluonCV 超强预训练模型的小伙伴可以参考:

  • Bag of Tricks for Image Classification with Convolutional Neural Networks https://arxiv.org/abs/1812.01187

  • Bag of Freebies for Training Object Detection Neural Networks https://arxiv.org/abs/1902.04103


鸣谢

感谢所有在新版本中的贡献者:@xinyu-intel @hetong007 @zhreshold @khetan2 @chinakook @Jerryzcn @husonchen @zhanghang1989@sufeidechabei @brettkoonce @mli @lgov @djl11 @YutingZhang @mzchtx @sharmalakshay93 @astonzhang @LcDog @zx-code123@adursun @ifeherva @ZhennanQin @islinwh @jianantian @feynmanliang @ivechan @eric-haibin-lin



参考文献

[1] He T, Xie J, Zhang Z, et al. Bag of tricks for image classification with convolutional neural networks[J]. arXiv preprint arXiv:1812.01187, 2018.

[2] Zhang Z, He T, Zhang H, et al. Bag of Freebies for Training Object Detection Neural Networks[J]. arXiv preprint arXiv:1902.04103, 2019.

[3] Intel Deep Learning Boost. https://www.intel.ai/intel-deep-learning-boost

[4] Zhu J Y, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2223-2232.

[5] Ledig, Christian, et al. “Photo-realistic single image super-resolution using a generative adversarial network.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.





登录查看更多
0

相关内容

【ICML2020】对比多视角表示学习
专知会员服务
53+阅读 · 2020年6月28日
【Nature论文】深度网络中的梯度下降复杂度控制
专知会员服务
41+阅读 · 2020年3月9日
深度神经网络模型压缩与加速综述
专知会员服务
129+阅读 · 2019年10月12日
如何优化你的图像分类模型效果?
AI研习社
4+阅读 · 2019年5月26日
【干货】李沐等人:CNN图像分类Trick合集(附详细代码)
GAN生成式对抗网络
58+阅读 · 2018年12月11日
已删除
将门创投
7+阅读 · 2018年11月5日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
【下载】PyTorch 实现的YOLO v2目标检测算法
专知
15+阅读 · 2017年12月27日
Arxiv
6+阅读 · 2018年4月4日
Arxiv
3+阅读 · 2018年3月2日
Arxiv
3+阅读 · 2017年10月1日
VIP会员
相关VIP内容
相关资讯
如何优化你的图像分类模型效果?
AI研习社
4+阅读 · 2019年5月26日
【干货】李沐等人:CNN图像分类Trick合集(附详细代码)
GAN生成式对抗网络
58+阅读 · 2018年12月11日
已删除
将门创投
7+阅读 · 2018年11月5日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
【下载】PyTorch 实现的YOLO v2目标检测算法
专知
15+阅读 · 2017年12月27日
Top
微信扫码咨询专知VIP会员