V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Sh1xin
V2EX  ›  程序员

私有化部署 OCR 解决方案请教

  •  
  •   Sh1xin · 50 天前 · 5610 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有 PDF 和图片两种数据源;又可细分为
    PDF:标准 PDF 和扫描件 PDF
    图片:截图形式及拍照形式

    当前验证方案:PaddleOCR——PP-OCRv5 进行 OCR 识别,之后把解析结果传送至 Gemma 3 27b 进行结果分析,并把需要的内容转换为 json 输出
    问题:部分业务场景 OCR 识别粘连,多个相近的文本识别为同一个检测框;以及原本就是多行的文本,但是需求是要转换成一行。这两种在直接把识别结果发送给 Gemma 的时候都会解析错误。即使提示词严格显示输出的内容和要求,依然会获取错误。有没有什么好的方案
    58 条回复    2025-07-24 16:14:30 +08:00
    supermama
        1
    supermama  
       50 天前
    只能自己训练
    xomix
        2
    xomix  
       50 天前
    前两天看到一个人搞了个 iPhone8 ,拿官方的 ocr 接口直接搞 ocr 服务器。
    还有一个是微信 ocr 直接用,不知道你能不能用上。

    另外你文中提到的问题是 ocr 分区识别的问题,你这是打算让 ai 直接帮你做了?那你可能需要写清楚你的需求,试着让 ai 从图片处理开始走流程。
    ersic
        3
    ersic  
       50 天前
    站内发过一个微信 ocr 模型的,https://www.v2ex.com/t/1120897
    8820670
        4
    8820670  
       50 天前 via Android
    pdf 的可以看 mineru
    Maroontor
        5
    Maroontor  
       50 天前
    Paddle 的准确率太低了
    iorilu
        6
    iorilu  
       50 天前
    腾讯那个应该可以, 虽然模型不大, 但至少是专门训练的
    其他不是专门训练成功率低没意义

    我认为至少成功准确率 99%以上才有用, 要有大厂训练一个开源的就好了, 很多地方可以用
    Sh1xin
        7
    Sh1xin  
    OP
       50 天前
    @ersic 好的,我试一下这个 OCR 效果
    Sh1xin
        8
    Sh1xin  
    OP
       50 天前
    @xomix 我是想让 OCR 识别出来的结果。直接发送给 AI ,根据提示词可以获得我所需要的内容。但是现在部分场景检测框重合,OCR 输出的格式就错了,AI 识别有问题
    test00001
        9
    test00001  
       50 天前
    pdf 我没试过,不过 gemini 模型对图片的 ocr 还是蛮好的。
    xomix
        10
    xomix  
       50 天前
    @Sh1xin 对,所以我说你的 ai 要提前介入,场景检测框之前能不能让 ai 拆成不同的图片然后再 ocr ?
    Sh1xin
        11
    Sh1xin  
    OP
       50 天前
    @test00001 gemini 不是开源的,没法私有化部署,不考虑。之前也试过直接发给 GPT O3 模型,识别效果特别好。可惜没法私有化部署。直接把图片发送给 gemma 3 27b 的话,识别的文字错误率太高,不可用
    Ipsum
        12
    Ipsum  
       50 天前
    不怕出事,就用 wx 的那个 ocr 。训练得很好。
    xinyu391
        13
    xinyu391  
       50 天前
    可以用我司的 文档解析服务 支持 图片,pdf (扫描档,电子档),公式,表格等。
    https://www.textin.com/market/detail/xparse
    visper
        14
    visper  
       50 天前
    yolo 训练,识别出框,然后通过框把图片截图出来再给 paddleocr.
    hmxxmh
        15
    hmxxmh  
       50 天前
    pdf 的试一下 minerU 和 docing, 图片用 yolov8+ppocr
    SanjinGG
        16
    SanjinGG  
       50 天前
    自己优化,要不就买商用的
    fannheyward
        17
    fannheyward  
       50 天前
    https://github.com/chatdoc-com/OCRFlux 识别效果和准确率都非常好
    evan1
        18
    evan1  
    PRO
       50 天前
    https://github.com/rostrovsky/pdf-table

    可以看看这个行不行。我多年前曾用这个实现了一个解析扫描版 pdf 文件内容的需求。
    andyskaura
        19
    andyskaura  
       50 天前
    https://github.com/golangboy/wxocr 微信的 ocr 谁有 clone 吗?
    thealert
        20
    thealert  
       50 天前
    paddleocr 的准确率不行,都不如 chatgpt
    SWBMESSI
        21
    SWBMESSI  
       50 天前
    @ersic 项目删除了?
    iorilu
        22
    iorilu  
       50 天前
    @andyskaura 一大堆 fork 阿, 点进去看
    stacke
        23
    stacke  
       50 天前   ❤️ 1
    当时 fork 了一个微信 OCR ,不知道还能不能用:
    https://github.com/Git-cup/wxocr
    Rorysky
        24
    Rorysky  
       50 天前
    这需求属于上古场景,还不需要动用 llm 吧
    xiadengmaX1
        25
    xiadengmaX1  
       50 天前
    paddleocr 的参数调一调吧
    alexsz
        26
    alexsz  
       50 天前
    扫描件的 OCR 结果不可靠,无解
    anyx
        27
    anyx  
       50 天前
    部分业务场景 OCR 识别粘连,多个相近的文本识别为同一个检测框;以及原本就是多行的文本,但是需求是要转换成一行
    -----------------------------
    看来你需要的是多模态识别能力,可以试试 qweb2.5-vl 系列模型
    anyx
        28
    anyx  
       50 天前
    qwen2.5-vl
    7b 的模型识别效果就很好了
    nno
        29
    nno  
       50 天前
    检测框出问题是因为你模型输入图片分辨率太低
    johnnyyeen
        30
    johnnyyeen  
       50 天前
    问一下楼主,Geema 3 对比以前深度学习模型解决方案,有很大提升吗?
    bigtear
        31
    bigtear  
       50 天前 via Android
    直接上多模态大模型,没必要加个 ocr
    ersic
        32
    ersic  
       50 天前
    @SWBMESSI github 删了,docker 还在
    Sh1xin
        33
    Sh1xin  
    OP
       50 天前
    @Ipsum @ersic 刚试了 wxocr 的效果,很差....文字识别错误,多检测框重合。至少 Paddle 文字识别全部正确
    Sh1xin
        34
    Sh1xin  
    OP
       50 天前
    @bigtear 私有化部署的多模态大模型直接识别图片效果不好,信息安全角度没法使用 api 调用市面上先进方案
    sss15
        35
    sss15  
       50 天前
    @SWBMESSI 看 forked list 然后找到别人当时 fork 的版本
    Mithril
        36
    Mithril  
       50 天前
    这个你可以调一下 paddle 的参数试试。

    在 det 里面的 unclip ,dilation ,db_threshold 都可以改改看,然后找个合适的参数。

    除非识别率特别低,不然多模态的大模型部署成本还是挺高的,没什么换的必要。
    iorilu
        37
    iorilu  
       49 天前
    没有好的私有化部署方案很正常

    因为这个服务现在是可以卖钱的, 就像 claude 4 一样

    如果人人能自己部署且有很好效果, 怎么可能拿来卖钱呢

    能卖钱的总是有些独有优化方案的
    my3157
        38
    my3157  
       49 天前 via Android
    ollama + markitdown 试试,先统一处理为 markdown ,后续再分情况处理
    test00001
        39
    test00001  
       49 天前
    @Sh1xin #11 目前国内大厂依然提供 ocr 付费 api 。这意味着在国内你很难找到合适自己的 ocr 方案。他们总是做事滴水不漏
    nexo
        40
    nexo  
       49 天前
    @iorilu 收钱的 tencent 私有化部署 ocr 10w 一年
    apkapb
        41
    apkapb  
       49 天前
    很好奇楼主的图片到底是什么样,居然 wxocr 都不行
    skiy
        42
    skiy  
       49 天前 via iPhone   ❤️ 1
    @andyskaura https://github.com/golangboy/wxocr/tree/3909467

    不用查看别人的 fork 。直接看项目的 Active ,把最后的 commit id 弄出来就行了。强制覆盖不影响原代码还存在的问题。
    beginor
        43
    beginor  
       49 天前
    没有人直接用 qwen 2.5 vl 32b 的么, 一步到位多好? 用一张 48G 的 4090 妖卡来跑,效果比 paddleocr ocrflux 这些基于 qwen vl 3b/7b 进行二次训练模型好不少
    Sh1xin
        44
    Sh1xin  
    OP
       49 天前
    @apkapb https://github.com/PaddlePaddle/PaddleOCR/discussions/16114
    PaddleOCR 感觉已经很好了,可惜差一点点
    Sh1xin
        45
    Sh1xin  
    OP
       49 天前
    @beginor 一般的多模态大模型识别文本准确率不如 OCR 吧,我这边对精准度要求比较高。所以考虑 OCR 识别后 LLM 分析内容获取
    wwhc
        46
    wwhc  
       49 天前
    Qwen 2.5 vl 有 72B 的,性能很好了,建议楼主可以试试
    andyskaura
        47
    andyskaura  
       49 天前
    @skiy 这是真学到了 感谢
    zhangjianxinnet
        48
    zhangjianxinnet  
       49 天前
    @Sh1xin 试试直接用 GLM-4v-thinking-9b
    我用起来很 nice 给好提示词 基本能按照原来的比例生成 markdown
    JingKeWu
        49
    JingKeWu  
       49 天前
    这个我正好做过 使用 OnnxOCR 模型 部署在腾讯云函数服务
    Sh1xin
        50
    Sh1xin  
    OP
       49 天前
    感谢各位指导🙏,目前在线验证 Qwen2.5-VL-32B 识别效果非常好,除了部分数字场景千分位和小数点识别错误,其他都 OK 。私有化部署验证中
    youyouzi
        51
    youyouzi  
       49 天前
    @Sh1xin #50 大佬,可以指导一下怎么私有化部署吗?可以简单介绍吗?我想抄作业
    Sh1xin
        52
    Sh1xin  
    OP
       49 天前
    @youyouzi ollama 。但是我不知道具体细节,运维帮我在弄
    tool2dx
        53
    tool2dx  
       49 天前
    @Sh1xin "目前在线验证 Qwen2.5-VL-32B 识别效果非常好", 效果那么好吗?我去试试,这里是 24G 显存的,勉强够用.
    Alias4ck
        54
    Alias4ck  
       49 天前
    微信 ocr 用过不太行
    tool2dx
        55
    tool2dx  
       49 天前
    试完了,32B 效果可以,比 7B 好不少.

    显存占用 26G 左右,推理速度还是比较快. 但是表格图片不能过于复杂,太复杂后会漏文字,估计是大模型的通病,过长注意力集中会下降.

    想要效果好,最好还是对图片进行自动切分,识别后自动合并,让识别文字数量保持在可控范围内.
    Sh1xin
        56
    Sh1xin  
    OP
       49 天前
    @tool2dx 你那边漏字的场景方便详细说下嘛;我试了 5 页 PDF 包含表格和多行文本,可以正常提取表格内容
    tool2dx
        57
    tool2dx  
       49 天前
    @Sh1xin 我用这张图测试的,识别出来里面的数字并不是 100%正确,也有可能我本地 ollama 是量化版本,损失了精度,再大显卡跑不动了.

    beginor
        58
    beginor  
       49 天前
    @Sh1xin 复杂表格确实没办法,markdown 本身就无法表示复杂表格。 虽然调整了提示词,让他输出 html 表格,但是很复杂的表格用 html 也无法表达, 特别是 word 表格。除此之外,其它基本上都还行,满足要求。 当然了,如果要求十分精确的话,只能再后期人工复查。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5525 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:14 · PVG 11:14 · LAX 20:14 · JFK 23:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.