首页 > 其他分享 >GOT-OCR2.0:本地部署基于QWen0.5B大模型的强大OCR服务

GOT-OCR2.0:本地部署基于QWen0.5B大模型的强大OCR服务

时间:2024-10-16 23:17:48浏览次数:9  
标签:git 模型 OCR2.0 GOT OCR 安装

       这两天大佬团队开源了基于千问大模型OCR项目的视频多次被刷到,各博主对其识别能力也是给予充分的肯定, 作为CV工程师的小编平时工作中OCR的需求也是络绎不绝,如果真如各博主所说是跨时代的产品,那必须也要盘它一盘;

github:GitHub - Ucas-HaoranWei/GOT-OCR2.0: Official code implementation of General OCR Theory: Towards OCR-2.0 via a Unified End-to-end Model

下面咱们还是借助魔塔平台的算力来部署一下这个模型,话不多说,说干就干!

一、 模型介绍

       GOT是一个端到端的模型结构,模型由编码器和解码器组成,模型训练分成三个阶段进行;第一阶段,模型的Encoder 主体采用带 local attention的 VITDet 架构,使用小型 OPT-125M 作为 decoder对其喂入大量的数据进行一阶段训练;第二阶段将decoder部分替换为Qwen0.5B,增加多种类的数据进行进一步的训练;第三阶段锁住Encoder部分,对decoder部分进行进一步的训练,最后得到此模型;

  • 输入多样性:处理包括文本、公式、表格、图表、乐谱和几何形状在内的各种光学信号;

  • 输出灵活性:能够生成纯文本或格式化结果;支持 html 输出以及可读性强、可编辑的                                    formatted 文本输出,如 markdown 等;

更具体的模型架构思路推荐这篇博文

二、 模型本地部署

       部署流程还是相对比较简单的,官方也给出了详细的步骤,这里还是老样子,使用魔塔平台算力进行项目部署;可以直接在魔塔上的base环境进行搭建,也可以使用anaconda创建虚拟环境,我更偏向anaconda,所以需要在魔塔上安装一个miniconda,安装步骤可以到之前的这篇博文查看,这里就不再赘述了;

2.1 环境搭建

       安装好miniconda之后,按照官网步骤依次执行下面代码,需要注意的是在‘pip install -e .’的时候可能会报错,不要惊慌,能安装多少是多少,在下面运行代码的时候,报缺少哪个库再具体安装就好;

# 克隆项目源码并进入对应位置
git clone https://github.com/Ucas-HaoranWei/GOT-OCR2.0.git
cd GOT-OCR2.0/GOT-OCR-2.0-master

# 创建虚拟环境并激活
conda create -n got python=3.10 -y
conda activate got

# 安装项目所需依赖环境
pip install -e .

2.2 下载模型权重

       由于网络原因Huggingface无法获取, 我们可以到modelscope上获取相应的预训练模型,这里我直接贴出模型的地址;

# 创建存放权重的文件夹
mkdir weights
cd weights

# 克隆模型权重
git clone https://www.modelscope.cn/stepfun-ai/GOT-OCR2_0.git

2.3 运行模型,完善依赖环境

       如果之前的依赖环境安装报错了,那么接下来在这里就可以进行缺失包的安装了,需要注意的是如果提示缺失torch,那么需要到pytorch官网选择CUDA相对应的版本进行下载;

# 将测试代码复制到与GOT文件夹同一级目录下
cp GOT/demo/run_ocr_2.0.py ./

# 运行
python3 run_ocr_2.0.py  --model-name  weights/GOT-OCR2_0  --image-file  file.png  --type ocr

三、识别测试

3.1 手写字体识别

测试图片:

测试结果:

 

 

标签:git,模型,OCR2.0,GOT,OCR,安装
From: https://blog.csdn.net/CITY_OF_MO_GY/article/details/142989860

相关文章

  • C#图像处理与OCR:从验证码识别到文本提取 Tesseract实现验证码识别:本地化
    以下示例代码中,涉及到的知识点主要包括图像处理、验证码识别、Base64转换、图像预处理等。以下是详细的知识点梳理,以及相应的代码示例:1.图像加载与保存使用Image.FromFile加载本地图像,并使用Bitmap进行图像操作。Bitmap是图像处理的主要类,支持各种图像操作。代码......
  • 关于驰骋BPM平台对接百度云OCR识别的操作介绍
    前言        在当今数字化时代,高效准确地处理信息至关重要。驰骋BPM平台与百度云OCR识别的对接,为用户带来了强大的文档识别和数据提取能力。一、准备工作拥有百度云账号:首先,你需要注册一个百度云账号(https://console.bce.baidu.com/),并开通百度云OCR服务。在百......
  • Day16 break-continue-goto
    Day16break-continue-gotobreak在任何循环语句的主体部分,可用其控制循环流程,强行退出循环,不执行循环中剩余的语句,break语句也在switch语句中使用。continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。关于g......
  • goto语句的风险
    在编程中,goto语句会使程序控制流跳转到指定的标签位置。尽管它在某些情况下可以简化代码(例如在错误处理或异常情况下快速退出多个嵌套的循环),但通常建议慎用甚至避免使用goto语句。主要原因如下:1. 破坏代码的结构化goto语句允许程序跳转到代码中的任意位置,从而打破了程序的结构......
  • 文字识别解决方案-OCR识别应用场景解析
    光学字符识别(OpticalCharacterRecognition,OCR)技术是一种将图像中的文字转换为可编辑和可搜索的数据的技术。随着人工智能和机器学习的发展,OCR技术的应用场景越来越广泛,为文字录入场景带来了革命性的变革,下面以翔云为例例举出一下几个文字识别场景:文档数字化:企业和个......
  • .net ocre 程序崩溃自动dump在多平台中的实现
    前言经常排查问题的朋友都知道,我们在遇到CPU或者内存高的时候,有时会生成dump文件来做分析。但是我们也会遇到一些场景,应用程序直接崩溃退出,这个时候我们已经没法使用常规方式dump了,因为整个进程树已经退出了,那么我们有没有办法让系统自动做dump,答案是肯定的:让系统在程序崩溃时自......
  • 《TH-OCR:强大的光学字符识别技术》
    在当今数字化的时代,高效准确地将纸质文档、图片中的文字转换为可编辑的电子文本至关重要。而TH-OCR(清华OCR)就是一款在光学字符识别领域表现卓越的软件。一、TH-OCR的简介TH-OCR是由清华大学电子工程系智能图文信息处理研究室研发的光学字符识别软件。它具有高度的准确......
  • ocr算法
    岗位描述:1、文档结构化信息抽取、文档版面分析、文档表格识别、文档OCR等CV/多模态/模型算法工作方向;2、负责优化和维护公司文档结构化和信息抽取相关模型算法、票据OCR模型算法、文档OCR模型算法。岗位要求:1、研究生及以上学历,计算机、数学或相关专业,有独立解决复杂问题的能力......
  • ValueError: not enough values to unpack (expected 3, got 2)
    问题描述:mage,contours,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)ValueError:notenoughvaluestounpack(expected3,got2)具体信息如下:C:\Users\aoqia\anaconda3\envs\yolov5\python.exe C:/Users/aoqia/PycharmProjects/pyt......
  • Python截图OCR+鼠标拖拽实现小猿口算比大小自动答题
    我的第一个python项目importtimeimportpyautoguifromPILimportImagefrompaddleocrimportPaddleOCRActOCR=PaddleOCR()whileTrue:#获取指定坐标的截图defcapture_screenshot_at_coordinates(x1,y1,x2,y2):#获取整个屏幕的截图......