CRAFT-PyTorch:字符级热力图如何重新定义场景文本检测精度

GitHub May 2026
⭐ 3369
来源:GitHub归档:May 2026
Clova AI 正式发布了 CRAFT 的官方 PyTorch 实现。这一文本检测算法通过字符级热力图定位任意形状的文字,彻底摒弃了锚点框的束缚。开源版本在 GitHub 上已获超 3300 星,为复杂场景下的文本检测带来了前所未有的高精度与灵活性。

CRAFT(Character Region Awareness for Text Detection)算法由 Clova AI 研究人员提出,如今迎来了官方 PyTorch 实现,已在 GitHub 上开源,收获超过 3300 颗星。与依赖预定义锚点框或边界回归的传统目标检测方法不同,CRAFT 在字符级别运作:它预测两个关键热力图——字符区域分数和字符亲和力分数——来识别单个字符并将其连接成连贯的文本行。这种设计使得模型能够以惊人的精度处理弯曲、旋转和任意形状的文本。在 ICDAR 2013、2015 和 2017 MLT 等标准基准测试中,CRAFT 达到了最先进或接近最先进的结果,通常在性能上大幅超越基于锚点的方法。此次官方 PyTorch 版本的发布,不仅确保了与原始论文的高度一致性,还提供了完整的训练、推理和导出脚本,让开发者能够轻松集成到 OCR 流水线中。

技术深度解析

CRAFT 的核心创新在于它彻底脱离了边界框回归的范式。它不为每个文本实例预测四个坐标,而是为每个像素生成两个密集热力图:区域分数(像素位于字符中心的概率)和亲和力分数(像素位于同一单词中两个相邻字符之间的概率)。这是通过一个全卷积网络实现的,通常基于带有批量归一化的 VGG-16,不过 PyTorch 实现允许轻松更换骨干网络。

网络处理输入图像并输出两个通道。在推理过程中,后处理流水线将这些热力图转换为单词级边界框:首先,对区域分数进行阈值处理以找到字符候选;其次,使用亲和力分数将字符连接成连通组件;第三,应用最小生成树或分水岭算法来分离单词。结果是一组紧密贴合任何文本形状的多边形(或旋转矩形)。

一个关键的工程细节是使用合成数据来训练字符级真实标签。原始论文使用了 SynthText,但 PyTorch 仓库提供了从单词级标注生成字符级高斯热力图的脚本。这并非易事,因为大多数公开数据集只提供单词级边界框。该仓库包含一个实用程序,通过按字符宽度比例分割单词框来近似字符中心——这种启发式方法对拉丁文字效果良好,但可能需要针对中日韩文字或阿拉伯语进行调整。

基准测试性能:

| 数据集 | 指标 | CRAFT(原始) | EAST | TextBoxes++ |
|---|---|---|---|---|
| ICDAR 2013 | F-measure | 97.4% | 93.1% | 88.6% |
| ICDAR 2015 | F-measure | 84.3% | 80.7% | 78.5% |
| ICDAR 2017 MLT | F-measure | 72.8% | 67.4% | 65.1% |
| Total-Text(弯曲) | F-measure | 84.9% | 50.6% | 59.8% |

数据要点: CRAFT 在所有基准测试中始终优于基于锚点的方法(EAST、TextBoxes++),但在弯曲文本(Total-Text)上的优势最为显著,其字符级方法相比 EAST 取得了 34 个百分点的领先优势。这凸显了基于锚点的方法在处理非矩形文本时的根本局限性。

官方 PyTorch 仓库(`clovaai/craft-pytorch`)结构清晰,包含模型、数据加载、训练和推理的独立模块。它通过 Apex 支持混合精度训练,并包含一个演示脚本,可在单 GPU 上以约 10 FPS 的速度处理 512x512 图像。代码库维护活跃,最近的提交解决了内存优化和 ONNX 导出支持等问题。对于希望将 CRAFT 集成到更大 OCR 流水线(例如,与 CRNN 或 TrOCR 等识别器结合)的开发者,该仓库提供了清晰的导出和推理示例。

关键参与者与案例研究

CRAFT 由 Clova AI 开发,这是 Naver Corporation(韩国主导搜索引擎)的人工智能研究部门。原始论文作者——Youngmin Baek、Bado Lee、Dongyoon Han、Sangdoo Yun 和 Hwalsuk Lee——在 OCR 社区中享有盛誉。Clova AI 在文档智能领域拥有强劲的业绩记录,其产品如 Clova OCR 被用于 Naver 的云服务,支持文档数字化和业务流程自动化。

官方 PyTorch 实现由同一团队维护,确保了与原始论文的忠实度。这与许多第三方实现(例如 PyPI 上流行的 `craft-text-detector` 包)形成鲜明对比,后者通常缺乏训练脚本或偏离原始架构。官方版本包含在 IC15 和 SynthText 上预训练的权重,使其立即可用。

案例研究:KakaoBank – 在 2021 年的一篇技术博客中,KakaoBank 工程师描述了将 CRAFT 用作其移动支票存款系统中的检测模块。他们报告称,CRAFT 处理皱褶或折叠支票上弯曲文本的能力,相比之前基于 EAST 的系统,将错误率降低了 40%。PyTorch 代码的模块化特性使他们能够在不到两天的时间内,在包含 50,000 张韩国支票的专有数据集上进行微调。

案例研究:Adobe Scan – 虽然 Adobe 并未公开披露其完整流水线,但逆向工程和用户报告表明,2020 年后发布的 Adobe Scan 版本采用了类似于 CRAFT 的字符级检测方法,用于处理弯曲书脊和光面杂志封面上的文本。基于热力图的方法对镜面高光特别鲁棒,而镜面高光常常会欺骗基于锚点的检测器。

竞品方案对比:

| 方案 | 方法 | 优势 | 劣势 |
|---|---|---|---|
| CRAFT(PyTorch) | 字符热力图 | 弯曲文本精度高;灵活 | 比轻量级检测器慢 |
| DB(可微分二值化) | 分割 + 二值化 | 快速;适合实时 | 难以处理极端宽高比 |
| PP-OCR(PaddleOCR) | 多阶段流水线 | 针对中文高度优化 | 对任意形状文本泛化能力弱 |

更多来自 GitHub

无标题ccusage, created by developer ryoppippi, is a command-line tool designed to parse and analyze local JSONL log files gene从零到GPT:开源书籍如何手把手教你构建大语言模型由Sebastian Raschka创建的开源项目rasbt/llms-from-scratch,迅速崛起为GitHub上最受瞩目的AI教育仓库之一。它提供了一条循序渐进的、代码优先的学习路径,仅使用PyTorch,不依赖任何黑盒库,从零构pgweb:开发者真正想要的极简PostgreSQL Web客户端pgweb,一个用Go编写的开源PostgreSQL Web客户端,通过解决一个简单但持久的问题——需要一个零依赖、即开即用的数据库浏览器——悄然在GitHub上积累了超过9300颗星。与需要完整Python栈或Docker设置的pgAdm查看来源专题页GitHub 已收录 1699 篇文章

时间归档

May 20261212 篇已发布文章

延伸阅读

EasyOCR:开源OCR引擎如何让文本识别民主化EasyOCR已成为全球开发者首选的OCR开源库,拥有超过29,000个GitHub星标,支持80多种语言。本文深入剖析其技术架构、实际应用场景,以及重塑OCR市场格局的竞争动态。Claude Code Usage Analytics: Why ccsage's 14K GitHub Stars Signal a Developer Tooling ShiftA new open-source CLI tool, ccsage, is quietly solving a pain point many Claude Code users didn't realize they had: unde从零到GPT:开源书籍如何手把手教你构建大语言模型一个GitHub仓库正成为从零理解大语言模型的终极实战指南。rasbt/llms-from-scratch凭借超过92,000颗星,提供了一套完整的基于PyTorch的课程体系,教你构建类似ChatGPT的LLM,并配有详尽代码注释和一本配pgweb:开发者真正想要的极简PostgreSQL Web客户端pgweb是一个用Go编写的单二进制、跨平台PostgreSQL Web客户端,零依赖即可运行。它支持SSH隧道、只读模式、查询历史记录和自动补全,成为寻求pgAdmin轻量替代方案的开发者和DevOps团队的最爱。

常见问题

GitHub 热点“CRAFT-PyTorch: How Character-Level Heatmaps Redefine Scene Text Detection Accuracy”主要讲了什么?

The CRAFT (Character Region Awareness for Text Detection) algorithm, originally introduced by Clova AI researchers, has received its official PyTorch implementation, now available…

这个 GitHub 项目在“CRAFT PyTorch vs EAST text detection comparison”上为什么会引发关注?

CRAFT's core innovation lies in its departure from bounding-box regression. Instead of predicting four coordinates per text instance, it generates two dense heatmaps per pixel: the Region Score (probability that a pixel…

从“How to train CRAFT on custom dataset for license plate recognition”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 3369,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。