OpenMMLab全面更新!分割、检测等8大项目升级,新增多种特性

极市平台

共 4433字,需浏览 9分钟

 ·

2020-10-29 02:38

↑ 点击蓝字 关注极市平台

作者丨陈恺
来源丨https://zhuanlan.zhihu.com/p/269118429
编辑丨极市平台

极市导读

 

OpenMMLab多个算法库全面更新!包括分类、分割、编辑、检测等多个板块,支持pip install 直接安装,增加对混合精度训练的支持和 ONNX 转换的支持等。>>加入极市CV技术交流群,走在计算机视觉的最前沿

历时不知道多久,OpenMMLab又迎来了一次全面的更新。为了方便社区的研究者和开发者能够及时获悉 OpenMMLab 各个项目的进展,我们对近期的更新做一个整体的介绍。 本次发布赶在 CVPR 之前,希望 OpenMMLab 的各个项目能够帮助到大家的研究和开发。

这次的一大波更新包括 MMCV, MMClassification, MMSegmentation, MMEditing, MMDetection, MMDetection3D, MMPose, MMAction2。在这次更新中,OpenMMLab 的各个项目都支持了 pip install 直接安装,增加了对混合精度训练的支持和 ONNX 转换的支持,Dockerfile 全面升级到 PyTorch 1.6,并启用了新的模型库域名:
http://download.openmmlab.com
从 7 月份的发布以来,共增加了 21 个新算法,目前 OpenMMLab 项目开放的总算法数超过了 120,总模型数达到了 900 以上。

各个算法库的更新简介如下:

MMCV

* 新特性

  • 增加 build_runner 方法,方便下游代码库的 runner 定制化
  • 支持对 DCN 中 offset 层学习率的调整
  • 增加 EMAHook,支持指数移动平均方法
  • 为 Adaptive Average Pooling 提供 ONNX 的支持
  • 增加新的算子,如 TINShift,Conv2dAdaptivePadding
  • 增加新模块,如 DepthwiseSeparableConvModule,Swish activation
  • 增加新的数据处理模块,如 imshear,imtranslate,adjust_brightness 等

* 代码改进

  • JsonHandler 增加对 unserializable 的值与更多默认类型的支持
  • 图像处理模块支持对角线翻转
  • 优化 batched_nms 以处理框数量过多的情况,自动根据框的类别标签进行序列处理
  • 增加了 wrap_fp16_model 的接口
  • 改进 train/val_step 接口
  • 添加 deconv 的注册器
  • 支持在 fp16 optimizer hook 中记录梯度大小
  • 允许 imshow_det_bboxes() 同时返回框和图片

MMClassification

* 新特性

  • 增加 inference 的相关代码
  • 支持 PyTorch 到 ONNX 的转换
  • 增加新的 transform,包括基于 PIL 的 transform 和 albumentations
  • 增加新模型,包括 ResNeSt,VGG 等
  • 支持新更多数据集
  • 增加结果可视化模块

* 代码改进和 BUG 修复

  • 更新了 ShuffleNet 的配置文件,更新多个模型的预训练权重,包括 ShuffleNet 系列与 SE-ResNet 系列
  • 解决多个 transform 中存在的错误
  • 改进多个模型的参数和初始化问题

MMSegmentation

* 新算法/模型

  • MobileNet V2
  • EMANet
  • DNL
  • PointRend,
  • Semantic FPN
  • Fast SCNN
  • ResNeSt
  • ORNet ResNet
  • DeepLabV3/DeepLabV3+ Dilate 16

* 新数据集

  • Pascal Context

* 代码改进

  • 支持 ONNX 导出上采样
  • 支持 Windows 环境下的安装
  • 迁移 DepthwiseSeparableConv,collect_env 到 MMCV
  • 支持用户自定义数据集类别和调色板

MMDetection:

* 支持新算法/模型

  • YOLACT
  • CentripetalNet
  • SABL
  • YOLOv3
  • PAA Assign
  • CornerNet
  • DIOU/CIOU loss
  • 支持新数据集 LVIS V1

* 文档完善

  • 新的colab tutorial:增加了训练教程,教程中包括将新的数据集转为MMDet的格式并对预训练模型进行微调和推理,方便新手了解目标检测中从数据预处理到模型训练和推理的全过程
  • 增加trouble shooting页面:总结了mmdet使用过程中的常见issue和解决方案
  • 完善了自定义数据集、自定义模型相关的教程

* 新特性

  • 支持batch inference:支持在推理过程单卡 batch size >1的情况,提高模型推理的并行度
  • 支持pip install mmdet:从此支持一行命令安装mmdet了
  • 支持 RetinaNet 从 Pytorch 到 ONNX的转换:支持和完善了PyTorch2ONNX的功能,后续还会继续支持双阶段和多阶段检测器的Pytorch2ONNX
  • 支持了PyTorch 1.6 Dockerfile:更新了Dockerfile,用户可以使用基于PyTorch1.6的docker来使用MMDetection,注意,Pytorch 1.3 - Pytorch 1.5的docker仍然可以使用,用户只需要在Dockerfile中修改PyTorch相应版本即可。

* 代码改进

  • 将所有的CUDA/C++ 算子迁移到了MMCV,统一管理 OpenMMLab 项目对 CUDA 算子依赖。
  • 对自定义数据集的灵活支持,支持根据类别自动筛选数据:之前对自定义数据集和自定义类别的数据使用不够友好,在指定训练类别的情况下无法控制剔除无GT图像的行为。最新版使得只有在 filter_empty_gt=True 和 test_mode=True 的情况下才会剔除无 GT 的图像,消除了数据筛选的歧义。
  • 统一了代码中的负样本标签定义,RPN head 中 0 代表正样本(第一正类),1 代表负样本,使得 v2.5 以后所有的 head 都使用 self.num_classes 来定义背景框的标签,不再有特殊情况。

MMDetection3D

* 支持新算法/模型

  • H3DNet
  • 3DSSD
  • CenterPoint

* 支持新数据集

  • Waymo:支持 Waymo 数据集,开放了 PointPillars 和 SECOND 的预训练模型和模型性能,为研究和开发提供性能基准
  • nuImages:支持使用 nuImages 数据集进行目标检测、实例分割任务。包含 Mask R-CNN and Cascade Mask R-CNN 预训练模型和模型性能,提供性能基准的同时也为多模态检测提供了预训练模型。

* 新特性

  • 支持 Batch Inference:支持在推理过程单卡 batch size >1 的情况,提高模型推理的并行度
  • 支持 Pytorch 1.6:支持了 Pytorch1.6,清理了 Pytorch1.6 (如 torch.nonzero)相关的warning
  • 支持 pip install mmdet3d:支持一行命令安装 mmdetection3d,方便开发者将 mmdet3d 作为基础代码库开发新的项目
  • 支持混合精度训练:对 PointPillars/SECOND 等基于 voxel 的模型支持混合精度训练,在 KITTI 和 nuScenes 数据集上显存减半但是精度不掉。

MMEditing

* 新特性

  • 支持 NIQE,一种常用的图像质量评价指标,帮助大家更好地测试自己的模型
  • 支持 pip install mmedit
  • 加入 FP16 训练所需模块,支持 FP16 的训练,降低资源开销

MMAction2

* 新算法

  • CSN
  • TIN
  • TPN
  • Omini-source

* 新数据集

  • HVU
  • UCF101-24
  • JHMDB
  • HMDB
  • ActivityNet

* 文档和教程

  • 完善与其他框架训练速度对比的 benchmark
  • 增加了不同分辨率输入的 benchmark
  • 完善了自定义数据集、自定义模型、微调模型、数据处理、导出模型等的代码库使用教程
  • 增加了新的 Colab 训练教程,包括自定义数据集的载入,对预训练模型进行微调和推理等

* 新特性

  • 支持 batch inference,提高模型推理的并行度
  • 支持 pip install mmaction2,一行命令安装
  • 支持 validation 过程中保存最佳的指标和对应的模型
  • 支持直接从 url 读取视频进行训练
  • 提供由帧合成视频的工具
  • 增加了新的摄像头 demo,支持对摄像头的实时输入进行行为识别
  • Demo 工具支持对输入的视频文件进行行为识别,并打上动作标签,输出 gif, mp4, mkv 等格式

MMPose

* 新算法

  • CPM
  • HMR

* 新骨干网络

  • ResNeXt
  • SEResNet
  • ResNetV1D
  • MobileNetv2
  • ShuffleNetv1
  • ShuffleNetv2

* 新数据集

  • AI Challenger
  • MPII
  • MPII-TRB
  • OCHuman
  • COCO -WholeBody
  • FreiHand
  • CMU Panoptic HandDB
  • OneHand10K

* 新特性

  • 支持 Bottom-up | WholeBody 的 inference 和 demo
  • 支持根据验证指标保存最佳模型

转眼间,10月的新版本即将发布,从下个月开始,我们将定时推出 OpenMMLab 新闻月刊,来介绍每个月的版本更新和重要进展,欢迎大家关注!

最后,祝大家磕盐愉快,工作顺利!



推荐阅读


首届珠港澳人工智能算法大赛即将开赛

赛题一:短袖短裤识别

赛题二:小摊贩占道识别

即将开赛 等你加入



添加极市小助手微信(ID : cvmart2),备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳),即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群:月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~

△长按添加极市小助手

△长按关注极市平台,获取最新CV干货

觉得有用麻烦给个在看啦~  
浏览 82
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报