前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >叮咚 ~ 你订阅的 OpenMMLab 开源社区 12 月刊已送达

叮咚 ~ 你订阅的 OpenMMLab 开源社区 12 月刊已送达

作者头像
OpenMMLab 官方账号
发布2022-01-18 10:08:49
5510
发布2022-01-18 10:08:49
举报
文章被收录于专栏:OpenMMLab

9 个算法库新功能及 Bug 修复情况

MM系列多个算法库焕新上线

向上滑动阅览

1. MMCV

新功能

- 添加 3 个旋转检测算子,分别是 RotatedFeatureAlign、RiRoIAlignRotated、PointsInPolygons

- 添加 ModuleDict 模块,其继承自 BaseModule 和 PyTorch 的 ModuleDict

- 添加用于 transformer 的 PatchEmbed 和 PatchMerging 模块

- imread/imwrite 函数支持多后端读写

Bug 修复

- 修复 TensorRT 在 PyTorch1.8+ 上的问题

- 修复配置文件包含 _delete_ 导致的类型不一致问题

- 修复 load_from_local 不能识别以 ~ 开头的路径问题

- 修复 convex_hull_graham CPU 实现问题

- 修复 iou3d 的 python 绑定问题

- 修复在 Windows 平台的编译问题

代码及文档改进

- 检测训练过程的异常参数以便于调试

- 修复单元测试中的警告信息

- tensor2imgs 支持将 tensor 转成灰度图

- batched_nms 支持跳过 NMS 操作

- 重构文档结构

- 修复 runner.md 中的拼写问题

- 更新 FAQ

感谢

@twmht @LutingWang@uniyushu @daavoo@AceCoooool @zytx121

在此版本中的贡献

2. MMDetection

新功能

- 支持 ICCV2021 的算法 TOOD: Task-aligned One-stage Object Detection

- 支持恢复训练时自动加载最近的 checkpoint

- 发布了与新版 YOLOX 对齐精度的 COCO 预训练模型

Bug 修复

- 修复 PAA head 的 bbox loss 权重错误的问题

- 支持设置 gt_semantic_seg 的 padding 值

- 修复了 LVIS 数据集在 classwise 情况下的 bug

- 避免了 mmcv 中 get_local_path 造成的兼容性问题

- 修复了 sync_norm_hook 在无 BN 层时的 bug

- 修复 DenseHead 中 DCN 的初始化问题

- 修复 ConvFCHead 的初始化问题

- 修复 Swin 和 PVT 的权重初始化问题

- 修复 BaseDenseHead 中的变量类型错误

- 修复 SimOTA 在没有合适的 bbox 时的 bug

- 修复 RCNN 中 的 PseudoSampler

代码改进

- 支持在非分布式训练的情况下手动指定 GPU ID

- 增加 Swin Transformer 在单阶段模型中用作 backbone 的示例

- 为 dataset_wrappers 增加 get_ann_info 接口

- 支持 YOLOX 的 keep ratio 多尺度训练

感谢

@ZwwWayne, @Czm369, @jshilong, @RangiLyu, @BIGWangYuDong, @hhaAndroid, @jamiechoi1995, @AronLin, @Keiku, @gkagkos, @fcakyon, @www516717402, @vansin, @zactodd, @kimnamu, @jenhaoyang

在此版本中的贡献

3. MMClassification

新功能

- 改进了特征提取功能

- 提供了一个 CAM 可视化工具

- 支持 DeiT 和 Conformer 主干网络

- 支持 Repeated Augment 和 LAMB 优化器

- 支持 PreciseBN

- 支持 Swin-Transformer 的参数冻结

- 提供了 RegNetX, T2T-ViT 复现精度的训练配置

- 提供了 ResNet-50 高精度训练配置

Bug 修复

- 修复了 Swin-Transformer 输出多层参数时的 bug

代码及文档改进

- 添加了分析工具和其他工具的文档

感谢

@elopezz @fangxu622 @okotaku

在此版本中的贡献

4. MMPose

新功能

- 支持多视角 3D 姿态估计算法 VoxelPose(VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Environment, ECCV 2020)

- 支持 Soft Wing Loss(Structure-Coherent Deep Feature Learning for Robust Face Alignment,TIP 2021)

- 支持 Adaptive Wing Loss(Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression)

Bug 修复

- 修复 Dark UDP 后处理中 channel 数较大时报错的 bug

- 修复 bottom-up 推理中使用 COCO 之外数据集时报错的 bug

- 修复部分不稳定的 unittest

- 修复 demo 脚本中在 args.show==False 时仍会尝试- 销毁 opencv 窗口的 bug

代码改进

- 支持在 data pipeline 中的 LoadImageFromFile 操作中设置 file_client_args

- 支持 CircleCI

- 改善了 CI 效率,在仅修改文档时跳过 unittest 部分

- 改善文档质量

感谢

@X00123 @chenxinfeng4 @bladrome

在此版本中的贡献

5. MMAction 2

新功能

- 支持 2s-AGCN 算法

- 支持在 Windows 上发布模型

- 在 ntu 数据集 的 pose 提取脚本中支持跳过后处理

- 在 pre-commit-config 中添加了 copyright checkhook

文档丰富

- 添加 2s-AGCN 文档

- 修改了 README.md 和 projects.md

- 文档主题更新

- 文档中 添加了 MMFlow, MMFewShot, MMHuman3d

- 安装文档更新

Bug 修复

- 更新了 notobooks 中的推理模块

- 更新了 map_location 参数

- 修复了 RawFrameDecode 中 start_index 的 bug

- 修复了 init_random_seed 中的 bug

- 修复了setup.py 中的 bug

- 修复了 workflows 中的 interrogate error

- 修复了 slowfast config 中的 typo error

- 取消了 CI 先前没完成的任务

- 修复了 skip_postproc 参数的缺失

- 更新了 ssn.py

- 更新了 youtube-dl

- 修复了 test-best 的bug

6. MMOCR

亮点

- 我们发布了一个新的文字识别模型-ABINet (CVPR2021, oral). ABINet 通过优秀的模型设计和非常有效的数据增强方法,在不规则类文本识别中取得了最佳的表现。

- 我们也在努力满足社区的要求—— OpenSet KIE 就是其中一个成果。它可以将 SDMGR 的应用从单纯的文本节点分类扩展到对节点对应关系的提取。我们还提供了一个脚本把 WildReceipt 数据集转化成 OpenSet,但请注意:从 CloseSet 格式转换而来的 OpenSet 数据集并无法发挥出该格式的全部优势。我们将这两者的区别写入了“KIE: DIFFERENCE BETWEEN CLOSESET & OPENSET”文档,请有兴趣的读者参阅。

- MMOCR 现已支持 TorchServe,用户可以通过封装好的 API 直接调用模型进行推理。

- 新增了对 Open Images v5 数据集的支持。

重大更新及迁移指南

Postprocessor

我们仍在努力进行重构。对于所有文本检测模型,我们将解码部分抽象为新的模块POSTPROCESSOR,它负责将不同的模型输出解码为标准的文本框。在所有的文本检测配置中,bbox_head 中的 text_repr_type 参数已被弃用,并将在未来的版本中移除。

迁移指引:在文本检测模型的配置中寻找类似如下配置:

代码语言:javascript
复制
text_repr_type=xxx,

并更改为:

代码语言:javascript
复制
postprocessor=dict(type='{MODEL_NAME}Postprocessor', text_repr_type=xxx)),

以 PANet 的配置为例。在更改之前为

代码语言:javascript
复制
bbox_head=dict(
    type='PANHead',
    text_repr_type='poly',
    in_channels=[128, 128, 128, 128],
    out_channels=6,
    loss=dict(type='PANLoss')),

更改后:

代码语言:javascript
复制
bbox_head=dict(
    type='PANHead',
    in_channels=[128, 128, 128, 128],
    out_channels=6,
    loss=dict(type='PANLoss'),
    postprocessor=dict(type='PANPostprocessor', text_repr_type='poly')),

同时我们也针对了其余文本检测模型提供了各种后处理器。感兴趣的用户可以在 mmocr / models / textdet / postprocess 中或在我们的 API 文档中找到它们的接口或实现。

新的配置文件目录结构

我们将可重用的配置块提取到 configs/_base_ 中来重新组织 configs/ 目录。现在 configs/_base_ 的目录树组织如下:

代码语言:javascript
复制
_base_
├── det_datasets
├── det_models
├── det_pipelines
├── recog_datasets
├── recog_models
├── recog_pipelines
└── schedules

大多数模型配置基于 base config 构建,使得整体结构更清晰,同时更加利于模型之间的公平比较。尽管看似配置结构具有较大的不同,但实际并不会造成兼容性问题。所有的模型配置与之前保持一致。

新特性

- 增加 ABINet 模型

- KIE 支持了 Openset 任务

- 增加 Open Images v5 数据集支持

- 支持了 KIE 中文结果可视化

- 新增 TorchServe 对文本检测和识别模型的支持

- 在 ocr.py 中支持 SAR 中文模型

- 不同数据集支持不同的数据处理

代码重构

- 重构了文本检测和文本识别的配置

- 重构了KIE的数据变化模块

- 重构了文字检测的后处理

- 重构目录文档结构

文档更新

- 新增 KIE OpenSet 和 CloseSet 任务的教学文档

- 部署文档中新增 C++ 导出示例

- 补全所有文本检测和识别模型的 DocString

- 补全部分中文翻译

BUG 修复

- 修复一系列多边形计算产生的 bug

- 修复 PyTorch 1.6 下无法兼容的权重文件

- 修复 DBNet r50 的配置文件

- 修复绘制文本坐标错误的问题

- 修复 Textsnake 模型 Target 的 bug

- 修复 KIE 演示推理的 bug

- 修复无法转换 CRNN 为 ONNX 模型的 bug

感谢

@alexander-soare @A465539338 @fatfishZhao @baudm @ShoupingShan @apiaccess21 @zhouzaida @mpena-vina @Fei-Wang

在此版本中的贡献

7. MMHuman 3D

新功能

- 增加 GTA Human 数据集的支持

- 升级了 SMPLify:支持 batch size 适应和使用统一相机模块

- 升级相机模块:更多操作的支持如 concat 、参数转换、相机参数变量类型检查等

- 升级渲染器:使用注册器,重构 SMPL 可 视化

- 增加 VIBE 所需数据集的支持

- 增加了 github workflow

代码重构

- 基于配准的方法使用新的模块抽象 registrants

- 人体参数化模型有了新的模块抽象 body_models

BUG 修复

- 修复单元测试test_cache 产生的用时对比错误

- 修复可视化中渲染 SMPL 时产生空洞的问题

- 修复数据预处理中图片路径,及 H36M 和 LSP 的问题

文档更新

- 补充了 README, tutorials 文档和 readthedocs 文档

8. MMFlow

亮点

- 增加了一个新的光流估计算法 GMA (ICCV 2021) : Learning to Estimate Hidden Motions with Global Motion Aggregation

- 修复了 RAFT 算法训练中迭代更新的 bug,并更新了 RAFT 模型权重文件

- 支持自动从最新的 checkpoint 文件恢复训练

新功能

- 多级别光流损失函数中增加 scale_as_level 参数,可对不同尺度预测的光流进行监督

- 相关性计算模块增加 scale_mode 参数,用来支持不同相关性缩放方式

- IRR-PWC decoder 模块中增加 upsample_cfg 参数,以配置不同上采用的方式

BUG 修复

- 修复 decoder 的特征和同级别 encoder 特征大小不一致的 bug

- 修复了 RAFT 算法训练中迭代更新的 bug

代码改进

- 当 Pytorch 版本大于 1.7 val_dataloader 添加 persistent_workers=True

- 支持训练时未设置种子时,设置随机种子

代码重构

- 重构模型中的 utils 模块

文档更新

- 文档目录重构

- 更新算法的 metafile

9. MMTracking

亮点

- 支持多目标跟踪算法 'ByteTrack: Multi-Object Tracking by Associating Every Detection Box' (arXiv 2021)

- 支持视频实例分割任务 'Video Instance Segmentation' (ICCV 2019),并支持算法 MaskTrack RCNN

新功能

- 支持多目标跟踪任务常用的 CrowdHuman 数据集

- 支持单目标跟踪任务常用的 VOT2018、GOT10-k 数据集

- 支持视频实例分割任务常用的 YouTube-VIS 数据集

BUG 修复

- 修复了 SiamRPN++ 算法的两个重要 bugs,并提供新的预训练模型

代码改进

- 重构单目标跟踪任务常用的 LaSOT、TrackingNet 数据集

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenMMLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
AI 应用产品
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档