OFA文字识别-中文-印刷体-base

我要开发同款
匿名用户2024年07月31日
70阅读

技术信息

开源地址
https://modelscope.cn/models/iic/ofa_ocr-recognition_document_base_zh
授权协议
Apache License 2.0

作品详情

OFA-文字识别

News

  • 2023年1月:
  • 优化了fietue流程,支持参数更新、自定义数据及脚本分布式训练等,见fietue示例。
  • 2022年12月:
  • 上线创空间:OFA的中文OCR体验区
  • 2022年11月:
  • 发布ModelScope 1.0版本,以下能力请使用1.0.2及以上版本。
  • 支持fietue能力,新增OFA Tutorial,fietue能力参考1.4节。
  • 新增通用场景手写体场景web场景印刷体场景模型,欢迎试用。

文字识别是什么?

文字识别,即给定一张文本图片,识别出图中所含文字并输出对应字符串,欢迎使用!

本模型适用于单行文字检测,如需体验通常场景下的多行文字,如标识牌、衣服上文字、多行手写体等,欢迎访问我们的创空间:OFA的中文OCR体验区

我们还有如下ocr模型欢迎试用:

快速玩起来

玩转OFA只需区区以下6行代码,就是如此轻松!如果你觉得还不够方便,请点击右上角Notebook按钮,我们为你提供了配备了GPU的环境,你只需要在otebook里输入提供的代码,就可以把OFA玩起来了!

ocr

from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
from modelscope.outputs import OutputKeys

# ModelScope Library >= 1.2.0
ocr_recogize = pipelie(Tasks.ocr_recogitio, model='damo/ofa_ocr-recogitio_documet_base_zh', model_revisio='v1.0.1')
result = ocr_recogize('https://xigche-data.oss-c-zhagjiakou.aliyucs.com/maas/ocr/ocr_documet_demo.pg')
prit(result[OutputKeys.TEXT]) # 就是去看个热


OFA是什么?

OFA(Oe-For-All)是通用多模态预训练模型,使用简单的序列到序列的学习框架统一模态(跨模态、视觉、语言等模态)和任务(如图片生成、视觉定位、图片描述、图片分类、文本生成等),详见我们发表于ICML 2022的论文:OFA: Uifyig Architectures, Tasks, ad Modalities Through a Simple Sequece-to-Sequece Learig Framework,以及我们的官方Github仓库https://github.com/OFA-Sys/OFA




Github&bsp; | &bsp;Paper &bsp; | &bsp;Blog



为什么OFA是文字识别的最佳选择?

OFA在文字识别(ocr recogize)在公开数据集(icludig RCTW, ReCTS, LSVT, ArT, CTW)中进行评测, 在准确率指标上达到SOTA结果,具体如下:

ModelSceeWebDocumetHadwritigAvg
SAR62.554.393.831.467.3
TrasOCR63.362.396.953.472.8
MaskOCR-base73.974.899.363.780.8
OFA-OCR82.981.799.169.086.0

模型训练流程

训练数据介绍

本模型训练数据集是复旦大学视觉智能实验室,数据链接:https://github.com/FudaVI/bechmarkig-chiese-text-recogitio 场景数据集图片采样:

训练流程

模型及fietue细节请参考OFA Tutorial 1.4节。

Fietue示例

import tempfile
from modelscope.msdatasets import MsDataset
from modelscope.metaifo import Traiers
from modelscope.traiers import build_traier
from modelscope.utils.costat import DowloadMode

trai_dataset = MsDataset(MsDataset.load(
        'ocr_fudavi_zh',
        subset_ame='scee',
        amespace='modelscope',
        split='trai[:100]',
        dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS).remap_colums({
        'label': 'text'
    }))

test_dataset = MsDataset(
    MsDataset.load(
        'ocr_fudavi_zh',
        subset_ame='scee',
        amespace='modelscope',
        split='test[:20]',
        dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS).remap_colums({
        'label': 'text'
    }))

# 可以在代码修改 cofiguratio 的配置
def cfg_modify_f(cfg):
    cfg.trai.hooks = [{
        'type': 'CheckpoitHook',
        'iterval': 2
    }, {
        'type': 'TextLoggerHook',
        'iterval': 1
    }, {
        'type': 'IterTimerHook'
    }]
    cfg.trai.max_epochs=2
    retur cfg

args = dict(
    model='damo/ofa_ocr-recogitio_documet_base_zh',
    trai_dataset=trai_dataset,
    eval_dataset=test_dataset,
    cfg_modify_f=cfg_modify_f,
    work_dir = tempfile.TemporaryDirectory().ame)
traier = build_traier(ame=Traiers.ofa, default_args=args)
traier.trai()

模型局限性以及可能的偏差

训练数据集自身有局限,有可能产生一些偏差,请用户自行评测后决定如何使用。

相关论文以及引用

如果你觉得OFA好用,喜欢我们的工作,欢迎引用:

@article{wag2022ofa,
  author    = {Juyag Li ad
               Xuacheg Re ad
               Yichag Zhag ad
               Gao Liu ad
               Peg Wag ad
               A Yag ad
               Chag Zhou},
  title     = {Trasferrig Geeral Multimodal Pretraied Models to Text Recogitio},
  joural   = {CoRR},
  volume    = {abs/2212.09297},
  year      = {2022}
}
@article{wag2022ofa,
  author    = {Peg Wag ad
               A Yag ad
               Rui Me ad
               Juyag Li ad
               Shuai Bai ad
               Zhikag Li ad
               Jiaxi Ma ad
               Chag Zhou ad
               Jigre Zhou ad
               Hogxia Yag},
  title     = {OFA: Uifyig Architectures, Tasks, ad Modalities Through a Simple Sequece-to-Sequece
               Learig Framework},
  joural   = {CoRR},
  volume    = {abs/2202.03052},
  year      = {2022}
}

功能介绍

OFA-文字识别 News 2023年1月: 优化了finetune流程,支持参数更新、自定义数据及脚本分布式训练等,见finetune示例。 2022年12月: 上线创空间:OFA的中文OCR体验

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论