4k star!OCR进入2.0时代,端到端的开源模型

文摘   科技   2024-09-24 12:05   北京  

点击上方蓝字关注我们

IT 咖啡馆,探索无限可能!

恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。

 

在AI时代的背景下,ORC是一个非常重要的技术方向,就在大家都觉得OCR已经很成熟了,但还是有人在不断的做突破。

今天我们分享的开源项目,它是一个新的突破性的端到端OCR模型,有着更广阔的使用范围,希望让OCR进入2.0的时代,它就是:GOT-OCR2.0




GOT-OCR2.0 是什么



GOT模型突破了传统OCR的局限,支持更多场景,如文本、文档、乐谱、图表、数学公式等内容识别,拿到了 BLEU 0.972 高分。

识别的效果也非常不错,比如对于数学公式的识别。

项目也同步开源的自己的论文,详细的说明了GOT的技术内容。

模型包括了以下的特点:

  • 多语言、多模态识别:GOT-OCR 2.0 支持多种语言和模态的文本识别,无论是印刷体还是手写体,都能准确识别。

  • 多样化输入输出:支持照片、文档、切片等多种输入格式,输出格式包括纯文本、Markdown、TikZ、SMILES、Kern 等,满足不同场景的需求。

  • 长文本处理能力: 解码器支持 8K 最大长度的 token,能够处理长文本场景,适用于学术论文、法律文件等长文本资料。

  • 高级功能: 包括交互式 OCR 功能、动态分辨率策略、多页 OCR 技术支持,提供更加灵活和高效的 OCR 解决方案。




安装GOT-OCR2.0


 

安装

 

您可以参考一下的顺序来完成GOT-OCR2.0的安装

  • 首先安装GOT-OCR2.0需要的环境有cuda11.8和torch2.0.1

  • 从github克隆项目到本地,然后进入 GOT 文件夹

git clone <https://github.com/Ucas-HaoranWei/GOT-OCR2.0.git>cd 'the GOT folder'
  • 安装相关依赖

conda create -n got python=3.10 -yconda activate gotpip install -e .
  • 安装Flash-Attention

pip install ninjapip install flash-attn --no-build-isolation

权重文件

 

在完成了基本内容的安装后,我们需要去安装权重文件,这里项目提供了3种方式获取权重文件,包括huggingface、Google dirve和百度网盘,大家可以根据自己的网络情况选择下载地址。权重文件有1G多一点。

网盘地址:https://pan.baidu.com/s/1G4aArpCOt6I_trHv_1SE2g

提取码:ocr2




使用GOT-OCR2.0



 

目前GOT-OCR2.0提供了多个在线demo,可以先去体验一下,包括huggingface、魔搭都有demo,魔搭的访问限制少一些,地址如下:

https://modelscope.cn/studios/stepfun-ai/GOT_official_online_demo

可以参考项目给出的使用指令来使用安装好的GOT-OCR2.0。

  • 纯文本OCR:

python3 GOT/demo/run_ocr_2.0.py  --model-name  /GOT_weights/  --image-file  /an/image/file.png  --type ocr
  • 格式化文本 OCR:

python3 GOT/demo/run_ocr_2.0.py  --model-name  /GOT_weights/  --image-file  /an/image/file.png  --type format
  • 细粒度OCR:

python3 GOT/demo/run_ocr_2.0.py  --model-name  /GOT_weights/  --image-file  /an/image/file.png  --type format/ocr --box [x1,y1,x2,y2]python3 GOT/demo/run_ocr_2.0.py  --model-name  /GOT_weights/  --image-file  /an/image/file.png  --type format/ocr --color red/green/blue
  • 多种裁剪 OCR:

python3 GOT/demo/run_ocr_2.0_crop.py  --model-name  /GOT_weights/ --image-file  /an/image/file.png
  • 多页OCR(图片路径包含多个.png文件):

python3 GOT/demo/run_ocr_2.0_crop.py  --model-name  /GOT_weights/ --image-file  /images/path/  --multi-page
  • 渲染格式化的OCR结果:

python3 GOT/demo/run_ocr_2.0.py  --model-name  /GOT_weights/  --image-file  /an/image/file.png  --type format --render

 




模型架构



 GOT-OCR2.0的整体架构可以被拆分为3个阶段:

第一阶段:我们使用小型OPT-125M预训练视觉编码器,以高效地适应OCR任务。

第二阶段:通过将视觉编码器连接到Qwen-0.5B,并在这一阶段使用更多通用光学字符的充足OCR-2.0知识来构建GOT。

第三阶段:不需要修改视觉编码器,GOT被定制以适应新字符识别特性。

更多详细的内容可以阅读项目的论文。




总结



整体来说GOT-OCR2.0提供了非常完善的OCR能力,并且在 处理性能和模型体积上都有很不错的平衡,而更广阔的使用场景也让我们可以有更多的想象空间,未来的AI可以更好的去帮助我们工作和生活。

   




项目信息


    • 项目名称:GOT-OCR2.0

    • GitHub 链接:https://github.com/Ucas-HaoranWei/GOT-OCR2.0

    • Star 数:4K


往期推荐

20K star!用React编程做视频,程序员爱了

17K star!备用机必备神器,开源短信转发工具

「Github一周热点41期」eBPF的捕获工具、本地版AWS、Devops脚本等

  




识别二维码关注我们
微信号- it-coffee
B站 - IT-咖啡馆
头条号- IT咖啡馆

IT咖啡馆
开源项目、IT技能和有趣的事情
 最新文章