话不多说,给大家介绍 OpenMMLab 2021 年 08 月上新内容:
项目地址:https://github.com/open-mmlab
MM系列多个算法库焕新上线
向上滑动阅览
1. MMCV
新功能
- 添加 gradient cumulative optimizer,可以使用更大的 batch size 训练模型
- 添加 RunnerConstructor 用于定制 Runner
- 添加 modulated_deform_conv 对 onnxruntime 的支持
Bug 修复
- 修复训练日志和验证日志混在一起的问题
- 修复 nms 的 cpu 实现
- 修复记录初始化信息时 basemodule 隐藏的问题
- 修复 dcn 前向和反向传播时的问题
代码改进
- 重构 csrc 目录结构
- 支持在 config 中添加 deprecation 信息
- onnxruntime 算子添加 mmcv namespace
- 移除对 setuptools 的版本依赖
详见:
https://github.com/open-mmlab/mmcv/releases
感谢为这次的 release 做出了贡献的11位开发者
@innerlee, @grimoire, @zhouzaida, @raoshenglong, @jiang1997, @ZhiyuanChen, @mzr1996, @PeiqiWang, @hhaAndroid, @ZwwWayne, @densechen
2. MMEditing
新功能
- 支持 LIIF-RDN (CVPR'2021)
- 支持 BasicVSR++ (NTIRE'2021)
- 支持 mim
- 支持从文件中加载视频 SR 数据集的信息
- 支持persistent_worker
Bug 修复
- 修复 stat.py 的 bug
- 修复 tensor2img 中 astype 相关的错误
- 修复 pytorch>=1.7 时 torch.new_tensor 导致的 device 错误
- 修复 _non_dist_train 中的错误
代码改进
- 增加了一些中文文档
- 修改了说明文档中的文字错误
- 更新了一些说明文档
- CI 支持 pytorch 1.9.0
- 在 unittest 中,默认不下载预训练的 VGG
- 增加 license header
详见:
https://github.com/open-mmlab/mmediting/releases
感谢为这次的 release 做出了贡献的开发者
@610265158, @AlexZou14, @Ha0Tang, @LiUzHiAn, @Yshuo-Li, @ckkelvinchan, @innerlee, @nbei, @orangeccc, @wileechou, @yivan-WYYGDSG
3. MMDetection
新功能
- 支持 Panoptic FPN 并且释放了模型
- 支持 Swin Transformer
- 释放了 使用 multi-scale 3x schedule 预训练的一批高精度 RetinaNet 模型
- 增加了将无标签图片集转换成 COCO 格式的脚本
- 增加了检查 loss 是否合法的 hook
- 增加了 YOLO anchor 聚类工具
- 支持在 ONNX 模型到处过程中去掉后处理
- CocoPanopticDataset 支持显示逐类 PQ 指标
- browse_dataset 脚本支持拼接的数据集
- 增加 PatchEmbed 和 PatchMerging , AdaptivePadding 模块
Bug 修复
- 修复 YOLOX 相关的单元测试
- 修复了 imshow_det_bboxes 函数丢失随机性的问题
- 确保 ImageToTensor 输出是 contiguous 的
- 修复了 regress_by_class 为 True 的情况下的推理 bug
- 修复了 CIoU loss 中 alpha 不应该有梯度的问题
- 修复了 HRNet 中 multiscale_output被定义但是没有被使用的问题
- 降低了 EvalHook 在 Runner 中的优先级
- 修复了 YOLOX 在测试情况下 放缩检测框的 bug
- 修复了马赛克数据增强中坐标的 bug
- 修复了 RandomAffine 中 bbox 不正确的问题
代码改进
- 增加了一些中文文档
- 支持在 publish 模型的时候将 EMA 的 状态删除
- 重构了 HTC and SCNet 中的 loss 函数
- 使用 warnings 而不是 logger.warning
- 支持 VOC AP 计算中使用原始的坐标系
详见:
https://github.com/open-mmlab/mmdetection/releases/tag/v2.16.0
总共有 19 位开发者为这次的 release 做出了贡献,感谢 @ypwhs, @zywvvd, @collinzrj, @OceanPang, @ddonatien, @@haotian-liu, @viibridges, @Muyun99, @guigarfr, @zhaojinjian0000, @jbwang1997,@wangbo-zhao, @xvjiarui, @RangiLyu, @jshilong, @AronLin, @BIGWangYuDong, @hhaAndroid, @ZwwWayne
4. MMDetection3D
兼容性提示
- 统一了传感器到图像坐标系的转换矩阵命名和使用以方便理解和应用,它们被统一成例如lidar2img, depth2img, cam2img,下游依赖这些信息的代码库将会受影响。
- 下一个新版本将会把 CUDA 算子迁移到 MMCV。这会影响 MMDet3D 中算子的调用方式。我们会在代码中保持相关的兼容性并提醒用户进行迁移。
新功能
- 支持 Windows 编译
- 支持 S3DIS 上进行 3D 目标检测
- 支持基于距离的 基于点的距离采样
Bug 修复
- 修复了 ImVoteNet 配置文件中废弃的 NMS 配置
- 改从 MMCV 中使用最新的 wrap_fp16_model
- Lyft数据集不再支持 2D 标注数据的生成
- 修复了文档的索引文件
- 修复了 RegNet 中废弃的预训练模型加载方式
代码改进
- 优化了 CenterPoint 中不必要的 GPU CPU tensor 结构转换
- 支持统一的坐标系转换矩阵并更新 PointFusion 模块
- 新增了 customized dataset, data pipeline, customized runtime, 3D Detection on ScanNet, nuScenes and Waymo (#859)相关的中英文档
- 增加了训练回归测试的脚本
- 在 S3DIS 数据集上支持 PAConvCUDA
- 增加在 Lyft 数据集上进行 3D 检测的 tutorial
- 文档支持下载PDF/Epub
- 在 Group-Free-3D 配置中支持使用 repeat 数据集以减少训练时间
详见:
https://github.com/open-mmlab/mmdetection3d/releases/tag/v0.17.0
总共有 11 位开发者为这次的 release 做出了贡献,感谢@THU17cyz, @wHao-Wu, @wangruohui, @Wuziyi616, @filaPro, @ZwwWayne, @Tai-Wang, @DCNSW, @xieenze, @robin-karlsson0, @ZCMax
5. MMSegmentation
新功能
- 支持 SegFormer
- 支持 DPT
- 支持 Dark Zurich 和 Nighttime Driving datasets 数据集
- 支持渐进式评价指标计算方式
Bug 修复
- 修复权重失效链接
- 修复多机存储不共享读取文件顺序不一致的问题
- 修复 log 打印问题
改进
- HRNet 增加多尺度输出接口以及单元测试
- 支持继承 cityscapes dataset
- 修复typos
- 增加 ViT、Swin 和 MiT 权重转换脚本
- 增加版权信息
详见:
https://github.com/open-mmlab/mmsegmentation/releases/tag/v0.17.0
6. MMClassification
新功能
- 支持在 AutoAugment 和 RandAugment 中为子策略设定超参数
- 支持损失函数中,按类别设定权重
- 支持在 SELayer 中设定自定义的中间通道数
代码改进
- 优化了分类结果可视化效果
- 使用 post_process 函数统一进行网络输出后处理流程
- 些许提高了 ImageNet 数据集的构建速度
- 增加了社区的 PR 模板和 issue 模板
详见:
https://github.com/open-mmlab/mmclassification/releases/tag/v0.15.0
总共有 5 位开发者为这次的 release 做出了贡献,感谢:
@azad96 @Ezra-Yu @mzr1996 @mmeendez8 @sovrasov
7. MMPose
新功能
- 增加基于tmux的自动回归测试工具
Bug 修复
- 修复pytorch2onnx冗余读取预训练权重的问题
- 修复update_model_index中并行I/O冲突导致CI随机fail的问题
- 修复interhand_3d_head中可能随机导致训练中报错的bug
- 更新了pose tracking demo中mmtrack config的格式
代码改进
- 增加自动添加版权信息功能
- 优化文档内容和model zoo结构
- 优化unittest目录结构,修复部分上游DeprecationWarning
详见:
https://github.com/open-mmlab/mmpose/releases/tag/v0.18.0
8. MMTracking
Highlights
- 支持算法 “Temporal ROI Align for Video Object Recognition” (AAAI 2021)
- 重构英文文档,英文文档更加完善准确
- 完整地加入中文文档
新功能
- 支持 FP16 训练和测试
- 为所有的 VID 算法释放了使用 ResNeXt-101 作为 backbone 的 pretrain model
- 支持 Tracktor 在 MOT15、MOT16、MOT20 上的结果
- 支持单 GPU 测试时的可视化
Bug 修复
- 修复计算 MOTP 的 bug
- 修复了 ReID 训练和测试的两个 bugs
代码改进
- 重构 SiameseRPN++ 里的 anchor
- 统一模型初始化方式
- 重构 unittest
详见:
https://github.com/open-mmlab/mmtracking/releases/tag/v0.7.0