点击上方蓝字关注我们
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 -y
conda activate got
pip install -e .
安装Flash-Attention
pip install ninja
pip 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