原贴链接

在小型的LLM中,你们在从图像中提取文本方面有哪些最佳体验,尤其是在处理复杂结构时(如简历、发票、照片中的多份文档)?

我使用PaddleOCR结合布局检测来处理简单情况,但它无法很好地处理复杂布局,并且会丢失结构信息。

对于更复杂的情况,我发现InternVL 1.5(所有尺寸)非常有效且相对快速。 Phi Vision更强大但速度慢很多。在很多情况下,它并没有比InternVL2-2B有优势。

你们有什么样的体验?你们使用过的最有效和/或最快的模型是什么? 特别是在一致性和推理速度方面。

有人使用过MiniCPM和InternVL吗?

另外,与较小的视觉模型相比,在相同GPU上运行较大视觉模型的推理速度如何? 我发现速度比尺寸更成为VLM的瓶颈。

如果你们对使用场景有任何疑问,我愿意分享我在本地、CPU、GPU和第三方服务上运行这些模型的经验。

附:对于物体检测和描述图像,如果有人感兴趣,Florence-2非常出色。

参考: https://huggingface.co/spaces/opencompass/open_vlm_leaderboard

讨论总结

本次讨论主要围绕小型视觉语言模型(LLM)在光学字符识别(OCR)中的应用展开,特别是在处理复杂结构文档(如简历、发票)时的表现。参与者分享了使用PaddleOCR、InternVL 1.5、Phi Vision等模型的经验,并探讨了模型的有效性、一致性和推理速度。讨论中还涉及了模型在不同硬件(CPU、GPU)上的性能,以及手写识别和布局理解的重要性。整体氛围偏向技术探讨和经验分享,旨在寻找最适合特定应用场景的OCR解决方案。

主要观点

  1. 👍 PaddleOCR在简单情况下表现良好,但在复杂布局中效果不佳
    • 支持理由:适用于简单文档,易于部署。
    • 反对声音:处理复杂布局时结构识别能力有限。
  2. 🔥 InternVL 1.5在处理复杂情况时非常有效且相对快速
    • 正方观点:在复杂文档中表现出色,速度快。
    • 反方观点:可能需要更多资源进行部署。
  3. 💡 Phi Vision虽然更强大,但速度较慢,且在许多情况下不比InternVL2-2B有优势
    • 解释:功能强大但速度慢,性价比不高。
  4. 🚀 小型视觉模型通常在同一GPU上有更快的推理速度
    • 解释:速度是选择模型的重要因素。
  5. 🌟 布局理解是提取文本任务中最关键的部分
    • 解释:布局理解帮助确定对象的边界框,结合OCR可获取结构化数据。

金句与有趣评论

  1. “😂 If pure ocr maybe you would want to try out https://huggingface.co/spaces/artificialguybr/Surya-OCR"
    • 亮点:推荐了一个新的OCR工具。
  2. “🤔 Surya is good, Paddle OCR too however these are ocr models not llm, they can extract text but not in a structured way”
    • 亮点:区分了OCR模型和LLM模型的不同。
  3. “👀 I thought it would be unfair to people visiting this post if we don’t present alternatives that can work on CPU.”
    • 亮点:考虑到了不同硬件环境的适用性。

情感分析

讨论的总体情感倾向偏向积极和探索性,大多数评论者愿意分享自己的经验并寻求更优的解决方案。主要分歧点在于不同模型在处理复杂布局和手写识别时的表现,以及模型在不同硬件上的性能。可能的原因包括技术门槛、资源限制和特定应用需求。

趋势与预测

  • 新兴话题:布局理解和手写识别技术的进一步优化。
  • 潜在影响:更高效的OCR模型将推动文档自动化处理的发展,特别是在法律、金融和医疗等行业。

详细内容:

标题:寻找最佳小型视觉语言模型用于 OCR 的热门讨论

在 Reddit 上,有一篇关于寻找最佳小型视觉语言模型(LLM)用于 OCR(光学字符识别)的帖子引发了广泛关注。该帖子获得了众多的点赞和大量的评论。原帖作者提到,在处理图像中的文本提取,特别是复杂结构的情况时,如简历、发票和包含多个文档的照片,他使用 PaddleOCR 处理简单案例,但在应对复杂布局时效果不佳,而 InternVL 1.5 在复杂案例中表现出色且相对快速,Phi Vision 功能强大但速度较慢。他还询问了大家的使用经验以及最有效和快速的模型,特别是关于一致性和推理速度方面,并提到是否有人使用 MiniCPM 和 InternVL,以及相同 GPU 上不同大小的视觉模型的推理速度比较。同时,原帖还提供了参考链接https://huggingface.co/spaces/opencompass/open\_vlm\_leaderboard

在讨论中,观点丰富多样。有人表示,如果是纯 OCR,不妨试试https://huggingface.co/spaces/artificialguybr/Surya-OCR,并测试认为 qwen2-vl-7b >= minicpm2.6 > internvl2-8b,其测试案例基于手写报告的 OCR。还有人认为 Surya 很好,PaddleOCR 也不错,但它们是 OCR 模型而非 LLM,能提取文本但无法结构化,而 LLM 能提取结构化数据但速度较慢。有人指出,对于布局,经过良好调整的 PaddleOCR 对结构和布局有很强的理解能力,Kosmos 2.5 也有一定的布局理解能力。有人提到可以将不同模型混合使用,比如一个识别结构和坐标,另一个处理纯 OCR 子部分。有人询问 Surya 是否能处理跨页脚注。有人分享了 Surya 的代码库https://github.com/VikParuchuri/surya/tree/master 。有人比较了不同模型的生成速度,称对于手写,Surya 优于 PaddleOCR,minicpm2.6 比 internvl2 速度快,但 PaddleOCR-gpu 速度最快但准确性最差。有人认为微软的 Kosmos-1.5 是测试过的最佳小型 OCR 模型,因其能以 markdown 格式输出,但也有人认为它与 Surya 或 Marker 相比有很多缺失。有人询问 Marker 的链接,得到了https://github.com/VikParuchuri/marker 。有人表示,minicpm v2.6 或 qwen2-vl 在基准理解图像中对象关系方面表现出色。有人指出运行 qwen2vl 不容易,因为 llamacpp 不支持。有人询问使用场景,原帖作者回复是扫描文档,包括一些布局混乱的如发票和简历。有人认为 Tesseract 不如 Paddle 或 Surya,对于复杂布局难以使段落和章节连贯。有人认为 InternVL 1.5 在复杂场景中表现出色,速度和准确性平衡较好,而 Phi Vision 虽强大但速度是个问题,MiniCPM 因效率常被注重推理速度的用户选择,一般来说,较小的视觉模型因复杂性低和计算资源需求少推理速度更快。有人提到自己玩过手写 OCR 模型,称其比以前见过的都好,还分享了一些相关经验和链接。有人指出布局理解是大多数任务中最重要的部分,要先确定适合文档的布局模型。

可以看出,大家对于各种 OCR 模型的性能、速度、准确性以及适用场景等方面存在着不同的看法和经验。究竟哪种模型才是最适合的,还需要根据具体的需求和使用情况来判断。