场景文本识别是什么?在街景照片里认出文字
TL;DR场景文本识别(STR)是识别自然场景图像中文字的计算机视觉技术,面对的是招牌、路牌、商品包装上各种字体、角度和光照的文字,比识别扫描文档的传统 OCR 难得多。
场景文本识别(Scene Text Recognition,STR)是识别自然场景照片中文字的技术。街边的招牌、交通路牌、商品包装、广告海报、车牌上的文字,都是它要处理的对象。和传统 OCR 主要处理扫描文档、打印文字不同,场景文字的环境复杂得多:光照忽明忽暗,字体千奇百怪,文字可能是弯曲的、倾斜的、透视变形的,背景杂乱,还可能被遮挡一部分。
通常分两步
完整的场景文字识别系统一般分成两步:先做文本检测,在图片里找出文字在哪里,框出每一块文字区域;再做文本识别,把框出来的区域识别成具体的字符。也有端到端的方法把两步合在一起。场景文本识别通常特指第二步。
技术演进
早期方法依赖人工设计的特征,比如 HOG、SIFT,先把单个字符切出来,再逐个分类识别。这种方法在复杂环境下很脆弱,字符一粘连、一变形就切不准。
2015 年,华中科技大学的研究人员提出了 CRNN(卷积循环神经网络),把特征提取、序列建模和转录整合到一个统一的网络里。它用卷积网络提取图像特征,用循环神经网络建模字符之间的前后关系,再用 CTC 解码输出文字序列。它的特点是可以端到端训练、不需要切分单个字符、能处理任意长度的文字序列,而且模型很小。CRNN 成了此后多年场景文字识别的经典基线,直到今天仍被广泛使用。后来,基于注意力机制和 Transformer 的方法进一步提升了对弯曲文字、不规则文字的识别能力。
应用
拍照翻译、街景地图的门店信息提取、车牌识别、商品识别、无障碍辅助(帮视障人士读出周围的文字)、自动驾驶中识别路牌,都依赖场景文本识别。如今的多模态大模型也具备了很强的读图识字能力,但在需要高速、大批量、端侧运行的场景里,专门的 STR 模型依然更实用。