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

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

  •  
  •   Sh1xin · 8 天前 · 4951 次点击
    目前有 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  
       8 天前
    只能自己训练
    xomix
        2
    xomix  
       8 天前
    前两天看到一个人搞了个 iPhone8 ,拿官方的 ocr 接口直接搞 ocr 服务器。
    还有一个是微信 ocr 直接用,不知道你能不能用上。

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

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

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

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

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

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

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

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

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

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

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

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