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

这样是否可以保证 OCR 识别率接近百分之 100

  •  
  •   Suinn · 13 小时 41 分钟前 · 5110 次点击

    受前段时间看过的一篇帖子启发,同时用 ocr 和视觉大模型进行识别,结果相同的才输出,输出质量感觉会非常高,缺陷是可能存在没输出的情况

    44 条回复    2025-09-22 22:33:06 +08:00
    8355
        1
    8355  
       13 小时 33 分钟前
    这样的策略本质上是通过降低识别率来提高正确率
    按我的理解一定是没有只使用 ocr 来的好
    Suinn
        2
    Suinn  
    OP
       13 小时 31 分钟前
    @8355 主要是有些业务场景,人家的要求是要么不识别,要么就要识别准,所以我才会有了这个方案
    RotkPPP
        3
    RotkPPP  
       13 小时 28 分钟前
    vlm 还真没有 ocr 好用,而且 vlm 如果能正确识别出来,ocr 一定可以,但 ocr 能识别的,vlm 还真不一定。主要看业务场景吧
    Suinn
        4
    Suinn  
    OP
       13 小时 27 分钟前
    @RotkPPP 对,主要就是如果单纯只用 ocr 识别,光看置信度不能保证出来的一定准,这种做法相当于用 VLM 加了一层校验
    huangzhiyia
        5
    huangzhiyia  
       13 小时 26 分钟前   ❤️ 3
    在 GitHub 上看到个挺有意思的开源解决方案 iOS OCR Server ,它把 iPhone 手机变成强大的本地 OCR 服务器。

    基于苹果的 Vision Framework 实现高精度文字识别,支持多语言自动检测,只需在同一网络下通过 IP 地址访问即可使用。

    GitHub: http://github.com/riddleling/iOS-OCR-Server
    gpt5
        6
    gpt5  
       13 小时 25 分钟前
    这本来就是通过提高 frr 来降低的 far ,“缺陷”当然就是 frr 高了。far/frrd 的平衡,一般看具体场景。
    Suinn
        7
    Suinn  
    OP
       13 小时 23 分钟前
    @gpt5 是的,主要还是预设业务场景属于要么不识别,要么尽量百分百识别的那种。所以想请各位大佬看看这个方案是否存在大的问题
    cctrv
        8
    cctrv  
       13 小时 22 分钟前 via iPhone
    VLM 的問題主要在 OCR 精度問題。
    我是把 OCR 文本和圖像一併送入 VLM 。

    那麼就可以完美降低 VLM 的 OCR 錯誤問題。
    paopjian
        9
    paopjian  
       13 小时 5 分钟前
    前两天才看到的逆天例子 https://www.zhihu.com/question/302170944/answer/1952029733140268672, 日常里 OCR+VLM 应该是没问题, 恶意攻击那可真是防不胜防
    对于清晰文字, 普通 OCR 已经很能打了, 手写识别这种上 VLM 可以解决部分, 但是两个一起问题就是 VLM 的准确性了, 差一个字这种你就舍弃会被认为阈值过高
    2en
        10
    2en  
       13 小时 5 分钟前
    @RotkPPP 识别模糊粘连的号码 ocr 不如视觉模型
    Suinn
        11
    Suinn  
    OP
       13 小时 3 分钟前
    @paopjian 对,因为主要是账单的数字识别,文本上不会有太多
    Julaoshi
        12
    Julaoshi  
       13 小时 3 分钟前
    忘了哪里看到的,似乎可以先放大再进行 OCR ,这样识别准确率就会提高
    ltmst
        13
    ltmst  
       12 小时 49 分钟前
    阿里已经有了
    我前些阵子测试了一下
    效果只能说一般
    Suinn
        14
    Suinn  
    OP
       12 小时 42 分钟前
    @gbw1992 一般主要是体现在出现了大量的 False Rejection 吗,其实这个方案只有能保证识别出来的没问题,我觉得就 ok 了
    surbomfla
        15
    surbomfla  
       12 小时 38 分钟前
    但这样做计算开销比较大
    InkAndBanner
        16
    InkAndBanner  
       12 小时 20 分钟前
    我们使用了 QwenVL2.5 7B 在资质图片场景下做了大量的结构化信息提取 ,总的效果还是比 OCR 要好的,但是存在一定幻觉 比如信息自动补全,和联想的情况。如果图片重点字段出现的位置类似 可以在对话的时候 提供左上和右下两个点位的坐标 来提示模型提取重点区域 会优化提取效果。至于 ocr 信息辅助模型进行提取,也是已经验证过的好办法,但是模型结果用来和 ocr 做对比 我觉得只会在一些对准确容忍度非常低的场景 如金融票据才会采用。但是金融票据往往是标准票据 ocr 已经很能打了,非标场景才是 VL 模型的发挥阵地
    Suinn
        17
    Suinn  
    OP
       12 小时 14 分钟前
    @InkAndBanner 感谢分享,vlm 这块你们有试过 InternVL 或者 glmVL 吗,看最近的分数都挺高但是不知道实际能力和 qwen 比如何
    dem0ns
        18
    dem0ns  
       12 小时 11 分钟前
    既然是代码+代码实现 100%,那为什么不一步到位?既然能够一步到位,那么早就该有 100%的 OCR 。
    MIUIOS
        19
    MIUIOS  
       12 小时 8 分钟前
    还有一个缺陷吧,速度下去了
    InkAndBanner
        20
    InkAndBanner  
       12 小时 8 分钟前
    @dem0ns #18 抱歉 没有 我们是阿里系的 优先用 qwen
    AutumnVerse
        21
    AutumnVerse  
       12 小时 8 分钟前 via iPhone
    这不就是多源对比纠错吗?

    完整方案应该是这样的,3 个源 ocr 对比,如果有 2 个源一样,就直接取用,3 个全都不一样,丢给大模型或人工纠错。

    纠错结果丢给 ocr 模型二次训练
    MIUIOS
        22
    MIUIOS  
       12 小时 7 分钟前
    我遇到你这个问题,我的做法是 OCR 出来后丢给 llm 大模型去修复
    malusama
        23
    malusama  
       12 小时 5 分钟前
    直接 ocr 丢给 LLM 修复呗。 你这样一致的能有多少,准确率上去了不得看看能召回多少吗?
    你这都没有多少是输出一致的吧
    AutumnVerse
        24
    AutumnVerse  
       12 小时 5 分钟前 via iPhone   ❤️ 1
    @Julaoshi 不可能,机器学习网络参数是固定的,无论你什么尺寸,前向传播前都会 resize 成固定尺寸

    你觉得识别率高了仅仅是插针拉伸裁剪之类的算法导致识别结果不一样了而已,从算法原理上放大不可能影响识别率
    Insolitude
        25
    Insolitude  
       11 小时 42 分钟前 via Android
    调用过 Google 的 ai ocr 的接口,效果感觉还不如本地的 ocr ,,可能手写体 ai 会更好点。让 llm 优化传统 ocr 的结果,感觉是个不错的思路。目前我用的本地 ocr 主要就中文的标点会识别成英文标点的问题,发给 llm 很容易解决。
    syscall
        26
    syscall  
       10 小时 11 分钟前
    @Julaoshi 模型目标尺寸训练时定死了. 即使是动态 shape, 但同样的设置下模型接收的输入尺寸就是一样的.
    8355
        27
    8355  
       9 小时 59 分钟前
    @Suinn #2 那如果是这样的话,大模型产生幻觉了导致大模型返回的错误值,此时安业务逻辑无法识别了那怎么处理?
    canteon
        28
    canteon  
       9 小时 55 分钟前
    人工校对
    tusj
        29
    tusj  
       9 小时 48 分钟前
    先 OCR 识别生成文本结果,再大模型对文本纠正一下低级错误。这样组合怎样?
    hccsoul326
        30
    hccsoul326  
       9 小时 42 分钟前   ❤️ 1
    月薪 3000 招个大学生人工识别
    kingofzihua
        31
    kingofzihua  
       9 小时 18 分钟前
    @hccsoul326 你这个最靠谱
    billbob
        32
    billbob  
       9 小时 1 分钟前
    100% 目前任何的技术方案都实现不了。能上 90%已经优秀了。专门场景识别的,特定数据训练能达到 99%往上
    retrocode
        33
    retrocode  
       9 小时 1 分钟前   ❤️ 1
    很久之前研究过 ocr, 然后自己训练. 是个金融项目反爬很厉害, 让 OCR 识别, 只识别数字然后导入到"老板自己的秘密算法"里出结果, 结果 OCR 不是很理想正确率 97/98 左右速度也慢, 完了老板还是不满意, 因为金融项目数字很多人工校对很麻烦, 折腾了快三月, 图片二值化,图在切碎些全全搞了, 最后切成了一个数字一张几 B 的图片.

    在看之前编写的一堆规则把图片都切的细碎了, 一咬牙一跺脚,把所有图片的数字像素转成了字符串硬编码(类似 X 黑 X 白 X 黑 X 白这种字符串), 然后花了两天跑了下数据看有没有遗漏的没记下的像素组成, 结果识别率 100%(因为没走 OCR 直接比字符串). 速度还快以前转 OCR 一张小图 2~3 秒,现在 30 张图 2~3 秒.

    这应该也算"要么识别准"的一种方案了,不过只适合固定来源的数字识别.
    Suinn
        34
    Suinn  
    OP
       8 小时 34 分钟前
    @billbob 目前这个方案虽然无限降低了召回率,但几乎也过滤了所有假阳性的情况,现在比较头疼的点确实在于没法论证能达到百分百的准确率,直觉上来说总感觉就是无限逼近 100%😂
    Suinn
        35
    Suinn  
    OP
       8 小时 33 分钟前
    @retrocode o(* ̄▽ ̄*)ブ感谢分享,这个思路确实很新颖
    showonder
        36
    showonder  
       8 小时 32 分钟前
    你这不如多换几个技术路线不同的 OCR ,效率更高还更便宜
    Suinn
        37
    Suinn  
    OP
       8 小时 24 分钟前
    @showonder 其实还是不太一样,说到底 ocr 本质基本是特征提取+分类,但 vlm 是有语义空间的,这种融合的说服力其实比单纯 ocr 的叠加要强上不少
    kinkin666
        38
    kinkin666  
       7 小时 47 分钟前
    要不试试先 ocr ,再连图带字(甚至可以包含文字流的坐标位置)一起给多模态的大模型归纳一下,
    ocr 效率可能高,但是归纳能力不大好吧,大模型可以直接把扫出来的东西归纳成结构化数据(几级标题、表格列表、水印页码都能识别出来),这点通用 ocr 比不了
    mingtdlb
        39
    mingtdlb  
       7 小时 43 分钟前
    你自己都讲了“输出质量感觉会非常高,缺陷是可能存在没输出的情况”,那还说啥呢

    100 个样本,本来 vlm 能识别 80%,ocr 只能 50%,结果你输出就成 50% 了
    hmxxmh
        40
    hmxxmh  
       6 小时 42 分钟前
    感觉存在几个问题:1 、成本 2 、速度 3 、如果完全一致才输出,要求太严苛了,错一个标点就不输出
    anivie
        41
    anivie  
       6 小时 29 分钟前
    @8355 #1 不是说了吗 ocr 和大模型输出一致才有输出,大模型出幻觉了就没输出了啊
    Meteora626
        42
    Meteora626  
       6 小时 12 分钟前
    指定是本地微调的 ocr 更准,这个没有争议的,百度现在就是靠一个 ocr 维持着 ai 体面,
    Leon6868
        43
    Leon6868  
       3 小时 16 分钟前
    我的理解是,看你 OCR 想要做什么任务?
    如果要版面还原,VLM 绝对强于任何形式的 OCR 模型,因为真正复杂的 OCR 甚至接近 AGI 。
    如果只是提取文字,也许可以模仿 OCR pipeline ,版面处理后再用模型做识别,同时用识别数据微调模型,我认为 3B 就能胜任大多数文字提取任务。
    kuanat
        44
    kuanat  
       1 小时 25 分钟前
    实践中所有这种需求场景几乎都采用人工复核的方式,倒不是因为人一定对,而是因为人可以担责。如果你的方案里要求去掉人,那这个问题就无解,除非你能为出错的数据兜底。你能兜底的程度越低,相应的置信度阈值就要拉得越高,实践中能够自动化识别的样本比例就越低。

    另外单据 ocr 识别是个多少年的需求了,做这个的外包公司或者团队怕不是遍地走。这事根本没必要上大模型,传统 ocr 算法完全够用。

    各种 ocr 算法方案在归一化之后的性能表现差距很小。差别大的方面是,在没有前置信息的情况下,先识别出哪里有文字,字符间如何分隔,以及判断文字可能的语言的阶段,以及整体的识别速度。

    对 2000 年前后基于传统算法的方案来说,ocr 识别能力属于有多少人工就有多少智能的水平。只要是标准化印刷单据加手写的识别场景,几乎都可以暴力解决。算法判定不准文字位置、字符集,但是人知道啊,提前对单据照片或者扫描图进行畸形校正、裁切和二值化,再把手写的部分抠出来切分,最后只把识别的过程交给 ocr 。这个流程差不多是过去 20 年最主要的方案,基本上只看你归一化做得是不是细致。据我了解有些团队做久了,积攒下几千种不同的单据模板。

    2010 年之后 ocr 算法过渡到了 cnn 为主,但相对于之前的暴力解法来说,没什么差别。原来甲方用了 ocr 还是要有个人负责复核,现在一样需要这个人,就算用上了什么大模型,即便出错概率极低,还是需要一个人来兜底。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2251 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:58 · PVG 23:58 · LAX 08:58 · JFK 11:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.