让大家久等啦,OpenMMLab 4 月月刊已新鲜出炉!
首先和大家分享 4 月的贡献之星和活跃之星。
贡献之星
活跃之星
星星说
我是什么都只会一点点。人如其名,什么都只会一点点,哈哈哈。目前一直在用 OpenMMLab 框架做课题、打比赛。是一个从嵌入式转行的小菜鸡,但希望能和 OpenMMLab 社区一起变得更好。
个人有点话唠,看到群里一些问题的时候会尽所能地提供帮助。让我最喜欢 OpenMMLab 社区的一点是:这是一个有很多大佬乐于解决问题的社区,许多 OpenMMLab 开发者在群内活跃度拉满,帮助解决技术问题,由衷感谢~
总而言之,OpenMMLab 框架真滴好用,用了都说好!(按头安利!)
https://github.com/open-mmlabgithub.com/open-mmlab
亮点功能抢先看
MMDetection
支持 Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation (https://arxiv.org/abs/2012.07177)实例分割数据增强算法。
MMDetection3D
支持 spconv 2.0。
MMPose
支持了新算法 RLE。
RLE(Residual Log-likelihood Estimation)由上交卢策吾团队提出(Human Pose Regression with Residual Log-likelihood Estimation, ICCV'2021 Oral)。RLE 通过在回归模型的基础上引入标准化流(Normalizing Flow)模块,实现对复杂分布的建模和预测。该方法可显著提升关键点回归模型精度,达到与基于热力图的方法相媲美的水平,且不引入任何推理时的额外开销。
MMClassification
支持了 PoolFormer 网络,并提供了预训练模型。
MMRotate
支持了 TorchServe。
MMTracking
提供跟踪的 colab 教程。
MMOCR
支持了新的文本识别算法 MASTER,并提供了相应的预训练模型。
MASTER (Multi-Aspect Non-local Network) 算法提出了一种基于自注意力机制的文本识别器以缓解常见的基于注意力机制的文本识别算法中可能出现的注意力漂移问题。基于 MASTER 开发的模型在 ICDAR 系列 OCR 竞赛如科学文献图标文本识别中取得了亮眼的成绩。
MMSegmentation
支持了 MAE (CVPR'2022) 算法。
MMSelfSup
支持了最新的掩码学习算法 CAE,并提供相应的 benchmark 结果和预训练模型。
MMHuman3D
支持了新算法 PARE,精度优于官方实现。
更新详情
MMDetection
新功能
- 支持 Simple Copy-Paste 实例分割数据增强算法
- 支持训练时根据总 batch 数自动缩放学习率
- 支持类别可知的采样器来提高算法在 OpenImages 数据集上的性能
- 为了更加清晰化 DataLoader 参数设置,新增支持在配置中设置 DataLoader 参数,同时兼容原先配置写法
- 支持内存配置分析 hook
- 支持在基于 MLU 芯片的 PyTorch 上进行训练推理
代码改进
- 支持带标签的重新拆分数据批次脚本
- 提供拆分 COCO 数据进行半监督目标检测的脚本
- 支持在 OpenImages 数据集中使用file client
- 为马赛克变换添加概率参数
- 支持在 Resize pipeline 中指定插值模式
- 增强 analyze_logs.py 的 load_json_logs 恢复训练日志功能
- 允许使用 SimOTAAssigner 进行混合精度训练
Bug 修复
- 避免 TOOD 算法在变形采样后出现无效的 bbox 问题
- 修复导出混淆矩阵时参数 color_theme 不生效的问题
- 修复 Necks 中的end_level 参数设置问题
- 修复 MultiImageMixDataset 中 mix_results 可能为 None 的问题
- 修复 ResNet 插件使用两个插件时的 bug
感谢@jovialio, @zhangsanfeng2022, @HarryZJ, @jamiechoi1995, @nestiank, @PeterH0323, @RangeKing, @Y-M-Y, @mattcasey02, @weiji14, @Yulv-git, @xiefeifeihu, @FANG-MING, @meng976537406, @nijkah, @sudz123, @CCODING04, @SheffieldCao 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmdetection/releases/tag/v2.24.0
MMPose
新功能
- 支持新算法 RLE(ICCV 2021)
- 支持新主干网络 Swin Transformer(ICCV 2021)
- 支持新主干网络 PVT(ICCV 2021) 和 PVTv2(CVMJ 2022)
- 支持 FPN (CVPR 2017)
代码改进
- 优化了推理速度和 CPU 占用率
- 视频姿态估计 demo 支持了基于多帧图像输入的模型(e.g. PoseWarper)
- 更新了部分 config 文件中的旧式写法
Bug 修复
- 修复了 Associative Embedding 算法 skeleton grouping 过程可能错误跳过匹配步骤的问题
- 修复了分布式训练脚本 dist_train.sh 中的问题
- 修复了上游依赖 xtcocotools 中导致 AP(M) 计算错误的问题
- 修复了 colab tutorial 中的格式问题
- 更正了 HRNet FP16 模型下载链接
感谢@Indigo6,@yumendecc,@chenxinfeng4,@daixinghome,@YuanZi1501040205,@YinAoXiong,@mucozcan 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmpose/blob/master/docs/en/changelog.md
MMClassification
新功能
- 支持新主干网络 PoolFormer,DenseNet 和 VAN
- 支持使用 IPU 进行训练
代码改进
- 支持 SwinTransformer 加载不同 window size 的权重
- 全新版本 API 文档,查阅更方便
- 支持在配置文件中详细指定 dataloader 参数
感谢@okotaku @HuDi2018 @XiaobingSuper 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmclassification/releases
MMRotate
新功能
- 支持了 Rotated ATSS (CVPR'20)
- 提供了 ReDet 在 HRSC2016 数据集上的权重
- 升级可视化脚本,支持不同类别显示不同颜色
- 提供了 Stable KLD 在 DOTA 数据集上的权重
- 为了更加清晰化 DataLoader 参数设置,新增支持在配置中设置 DataLoader 参数,同时兼容原先配置写法
- 支持了部分模型计算 flops
代码改进
- 更新了 MMRotate 引用文献
- 更新了 SASM (AAAI'22) 的 README 文档
- 修复了 Config File 和 Model Zoo 中的一些语法错误
- 统一了旋转框定义在文档中的表述
Bug 修复
- 修复了在一部分二阶段模型中错误使用 rotated_anchor_inside_flags 的错误
- 修复了导致 GWD loss 为 Nan 的错误
- 修复了 eval_rbbox_map 中的错误
- 修复了由于 mmcv 版本导致的 RoIAlignRotated 输入参数名错误
- 修复了数据集单元测试错误
- 修复了 rotated_reppoints_head 中的错误
感谢 @nijkah @GamblerZSY @liuyanyi @yangxue0827 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmrotate/blob/main/docs/en/changelog.md
MMDetection3D
新功能
- 使用 MinkResNet 支持 MinkowskiEngine
- 支持仅使用点云的自定义数据集上的训练模型
- 更新 Registry 以区分 built funcitons 的范围
- 支持在配置文件中添加加载器参数
代码改进
- 将 mmcv.iou3d 替换为一组鸟瞰 (BEV) 算子,以统一旋转框的操作
- 添加模型部署文档
- 补充一系列中文文档
- 将 recommonmark 替换为 myst_parser 以进行文档渲染
Bug 修复
- 修复 browse_dataset.py 脚本中的 show_pipeline 无法载入 label 的问题
- 修复坐标系重构后丢失的初始化 __init__ 文件
- 修复坐标系重构导致的可视化偏航 yaw 角不正确
- 修复 NaiveSyncBatchNorm1d 和 NaiveSyncBatchNorm2d 以支持非分布式例子和更通用的输入
感谢 @filaPro @Xiangxu-0103 @xieenze @Subjectivist @HanaRo @Joeyfor Joy @ansonlcy @deleomike 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmdetection3d/blob/master/docs/en/changelog.md
MMTracking
新功能
- 重构 SiamRPN++ 的训练数据集
- 支持使用 ceph 读取 MOT、SOT 数据
- 支持 VIS 的评估代码
Bug 修复
- 修复 LaSOT 数据集的 bug,并更新 STARK 算法的预训练模型
- 修复 VIS 任务在 format_results 时的 bug
- Fix a bug in the LaSOT datasets and update the pretrained models of STARK
- Fix a bug in the format_results function of VIS task
更多内容请见:
https://github.com/open-mmlab/mmtracking/releases/tag/v0.13.0
MMOCR
新功能
- 支持了新的文本检测算法 DBNet++ (TPAMI'2022)
- 支持了新的文本识别算法 MASTER (PR'2021)
- 新增了 LSVT, RCTW, 及 HierText 等三个数据集的标注格式转换脚本
- 新增了 Labelme 标注工具所生成标签的格式转换脚本
- 新增支持在多个数据集上评估时计算平均准确率
- 文本识别任务现在支持从 lmdb 格式文件中读取图片和标签数据,并提供了相应的 lmdb 标注文件生成脚本
- 增强了模型 Evaluation 配置的灵活性,用户现在可以更加便捷地自定义得分阈值搜索范围,以及训练日志文件输出的评估指标信息等
代码改进
- 更新了默认配置文件中的部分旧式写法,如默认配置文件中缺少 runner 项等
- 更新使用了更清晰统一的标注文件加载器类型 AnnFileLoader
- 提升了 dataloader 参数的定制化程度
Bug 修复
- 修复了重构后的 ResNet 中只有最后一个组件被执行的 bug
- 修复了部分数据集格式转换脚本中的 bug
- 修复了 DBNet 中 ImgAug 采用基于 keypoint 的数据增强方法可能带来的样本噪声
- 修复了 test.py 中错误的参数描述
- 修复了 docker 文件中的 mmdet 版本依赖问题
感谢 @Y-M-Y,@garvan2021,@JiaquanYe 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmocr/releases/tag/v0.6.0
MMSegmentation
新功能
- 支持了 ResNet Strikes Back 预训练模型
- 支持了配置文件里额外的 dataloader 设置项
代码改进
- 合并了 BEiT 和 ConvNeXt 的 LR decay optmizer constructor
- 在注册器里注册了 MMSegmentation 的 optimizer constructor
- 重构了 ViT 和 BEiT 主干网络里的 transformer encode layer
- 给 BEiT 增加了 build_pos_embed 和 build_layers 函数
- 给 MiT 和 ViT 增加了 with_cp 功能
- 更新了 DeepLabV3Plus 里面的训练好的模型
- 提供了 Swin Transformer 预训练模型链接
- 提供了 DistSamplerSeedHook 用来在 runner 是 EpochBasedRunner 时给 dataloader 设置 epoch number
- 更新了 Dockerfiles 和文档中的 Python 和 PyTorch 版本
Bug 修复
- 修复了级联解码头的最后一个 cascade_decode_head 的输入错误
- 修复了日志中 validation loss 的缺失
- 修复了 binary_cross_entropy loss 里的潜在 bug
- 修复了计算 accuracy 的潜在 bug
- 修复了 Colab 示例里面的若干 bug
- 修复了日志分析里画图的潜在 bug
感谢 @jiangyitong, @kahkeng, @Nourollah, @androbaza, @Yzichen, @whu-pzhang, @panfeng-hover, @Johnson-Wang, @jere357, @mfernezir, @donglixp, @Dawn-bin 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmsegmentation/tree/v0.24.1
MMSelfSup
新功能
- 支持 CAE 算法
- 支持 Barlow Twins 算法
- 增加 SimMIM 192 预训练及 224 微调的结果
- 增加 MAE fp16 预训练设置
代码改进
- 更新 SimCLR 模型和结果
- 减少单元测试的内存使用
- 去除 PyTorch 1.5 测试
- 重命名线性评估配置文件
- 为 api 增加单元测试
- 在模型库增加 SimMIM 并修复链接
Bug 修复
- 修复命令行参数问题
- 在 MAE 配置中修改 imgs_per_gpu 为 samples_per_gpu
- 使用 prefetch dataloader 时避免 GPU 内存溢出
- 修复在注册自定义钩子时键值错误的问题
感谢 @mitming , @xcnick 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmselfsup/releases/tag/v0.9.0
MMAction2
新功能
代码改进
- 代码中支持 OpenPose 25 点
- Multigrid 支持 lateral norm config
Bug 修复
- 修复 Inference API 文档
- 修复使用 NDArray 作为 inference 输入时的潜在问题
感谢 @zgplvyou, @makecent, @rlleshi 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/mmaction2/blob/master/docs/changelog.md
MMHuman3D
新功能
- 支持PARE算法,在3DPW上PA-MPJPE达到49.35 mm,较官方实现更优(50.9 mm)
- 支持DeciWatch: 平滑的后处理以及至多10倍推理速度
- 官方开源GTA-Human的HMR基线,相较于原版HMR在3DPW上获得11.82 mm的PA-MPJPE提升
- 支持推理结果以 HumanData 的格式存储
代码改进
- 合并 HMR 和 SPIN 所需的 H36M 数据转换工具,现在可以使用统一的预处理文件
Bug 修复
- 修复 H36M 和 MPI-INF-3DHP 数据转换工具中的问题
- 纠正了 SMPL 可视化工具中的 typo
- 修复了相机模块中的 in_ndc 和 is_perspective 参数
感谢 @ YongtaoGe 在此版本中的贡献。
更多内容请见:
https://github.com/open-mmlab/m