English | 简体中文
MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检测,文本识别以及相应的下游任务,如关键信息提取。 它是 OpenMMLab 项目的一部分。
主分支目前支持 PyTorch 1.6 以上的版本。
-全流程
该工具箱不仅支持文本检测和文本识别,还支持其下游任务,例如关键信息提取。
-多种模型
该工具箱支持用于文本检测,文本识别和关键信息提取的各种最新模型。
-模块化设计
MMOCR 的模块化设计使用户可以定义自己的优化器,数据预处理器,模型组件如主干模块,颈部模块和头部模块,以及损失函数。有关如何构建自定义模型的信 息,请参考快速入门。
-众多实用工具
该工具箱提供了一套全面的实用程序,可以帮助用户评估模型的性能。它包括可对图像,标注的真值以及预测结果进行可视化的可视化工具,以及用于在训练过程中评估模型的验证工具。它还包括数据转换器,演示了如何将用户自建的标注数据转换为 MMOCR 支持的标注文件。
目前我们正同步维护稳定版 (0.6.3) 和预览版 (1.0.0) 的 MMOCR,但稳定版会在 2022 年末开始逐步停止维护。我们建议用户尽早升级至 MMOCR 1.0,以享受到由新架构带来的更多新特性和更佳的性能表现。阅读我们的维护计划以了解更多信息。
最新的月度版本 v0.6.3 在 2022.11.03 发布。
这个版本增强了推理脚本的稳定性,并修复了可能导致 TorchServe 运行错误的问题。
阅读更新日志以获取更多信息。
全新的 v1.0.0rc3 版本已经在 2022.11.03 发布:
-
我们发布了数个以 oCLIP-ResNet 为骨干网络的预训练模型。该骨干网络是一种以 oCLIP 技术训练的 ResNet 变体,可以显著提升检测模型的表现。
-
准备数据集通常是一件很繁琐的事情,在 OCR 领域尤甚。我们推出了全新的 Dataset Preparer,帮助大家脱离繁琐的手工作业,仅需一条命令即可自动准备好多个 OCR 常用数据集。同时,该组件也通过模块化的设计,极大地减少了未来支持新数据集的难度。
-
架构升级:MMOCR 1.x 是基于 MMEngine,提供了一个通用的、强大的执行器,允许更灵活的定制,提供了统一的训练和测试入口。
-
统一接口:MMOCR 1.x 统一了数据集、模型、评估和可视化的接口和内部逻辑。支持更强的扩展性。
-
跨项目调用:受益于统一的设计,你可以使用其他OpenMMLab项目中实现的模型,如 MMDet。 我们提供了一个例子,说明如何通过
MMDetWrapper
使用 MMDetection 的 Mask R-CNN。查看我们的文档以了解更多细节。更多的包装器将在未来发布。 -
更强的可视化:我们提供了一系列可视化工具, 用户现在可以更方便可视化数据。
-
更多的文档和教程:我们增加了更多的教程,降低用户的学习门槛。详见教程。
-
一站式数据准备:准备数据集已经不再是难事。使用我们的 Dataset Preparer,一行命令即可让多个数据集准备就绪。
可以在 1.x 分支 获取更多新特性。欢迎试用并提出反馈。
MMOCR 依赖 PyTorch, MMCV 和 MMDetection,以下是安装的简要步骤。 更详细的安装指南请参考 安装文档。
conda create -n open-mmlab python=3.8 pytorch=1.10 cudatoolkit=11.3 torchvision -c pytorch -y
conda activate open-mmlab
pip3 install openmim
mim install mmcv-full
mim install mmdet
git clone https://github.com/open-mmlab/mmocr.git
cd mmocr
pip3 install -e .
请参考快速入门文档学习 MMOCR 的基本使用。
支持的算法:
文字检测
文字识别
关键信息提取
- SDMG-R (ArXiv'2021)
命名实体识别
- Bert-Softmax (NAACL'2019)
请点击模型库查看更多关于上述算法的详细信息。
我们感谢所有的贡献者为改进和提升 MMOCR 所作出的努力。请参考贡献指南来了解参与项目贡献的相关指引。
MMOCR 是一款由来自不同高校和企业的研发人员共同参与贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望此工具箱可以帮助大家来复现已有的方法和开发新的方法,从而为研究社区贡献力量。
如果您发现此项目对您的研究有用,请考虑引用:
@article{mmocr2021,
title={MMOCR: A Comprehensive Toolbox for Text Detection, Recognition and Understanding},
author={Kuang, Zhanghui and Sun, Hongbin and Li, Zhizhong and Yue, Xiaoyu and Lin, Tsui Hin and Chen, Jianyong and Wei, Huaqiang and Zhu, Yiqin and Gao, Tong and Zhang, Wenwei and Chen, Kai and Zhang, Wayne and Lin, Dahua},
journal= {arXiv preprint arXiv:2108.06543},
year={2021}
}
该项目采用 Apache 2.0 license 开源许可证。
- MMCV: OpenMMLab 计算机视觉基础库
- MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
- MMClassification: OpenMMLab 图像分类工具箱
- MMDetection: OpenMMLab 目标检测工具箱
- MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
- MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具箱
- MMYOLO: OpenMMLab YOLO 系列工具箱与测试基准
- MMPose: OpenMMLab 姿态估计工具箱
- MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
- MMAction2: OpenMMLab 新一代视频理解工具箱
- MMTracking: OpenMMLab 一体化视频目标感知平台
- MMFlow: OpenMMLab 光流估计工具箱与测试基准
- MMEditing: OpenMMLab 图像视频编辑工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMDeploy: OpenMMLab 模型部署框架
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群,或通过添加微信“Open小喵Lab”加入官方交流微信群。
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬