OCR文字识别技术:CTPN与CRNN协同下的文本提取与识别奥秘
OCR文字识别技术:CTPN与CRNN协同下的文本提取与识别奥秘
OCR(Optical Character Recognition)技术旨在提取图形中的文字,并将其转换成可编辑的文本形式,从而为后续的自然语言处理(NLP)任务提供基础数据支持。无论是扫描文档、图像中的文字信息,还是数字图书馆中的古籍图像、街头的路牌标识等,OCR 技术都能发挥关键作用,将视觉信息转化为机器可读的文本,极大地拓展了文字信息的利用效率和范围。
一、OCR文字识别要完成的任务
OCR能做什么?
OCR(Optical Character Recognition)技术旨在提取图形中的文字,并将其转换成可编辑的文本形式,从而为后续的自然语言处理(NLP)任务提供基础数据支持。无论是扫描文档、图像中的文字信息,还是数字图书馆中的古籍图像、街头的路牌标识等,OCR 技术都能发挥关键作用,将视觉信息转化为机器可读的文本,极大地拓展了文字信息的利用效率和范围。
- 提取图形中的文字,并转换成文本形式,供后续NLP任务使用
如何从图像中提取文本呢?
- 检测到文字所在位置(CTPN)
- 识别文本区域内容(CRNN)
CTPN(Connectionist Text Proposal Network)算法:
文本检测本质上也属于物体检测范畴,但文本与常规物体相比存在较大差异。文本具有从左往右书写(水平方向为主)且字间距相对固定、字宽大致相同的特点。这种独特的结构特性为文本检测算法的设计带来了挑战与机遇,CTPN 算法正是基于这些特性而研发的一种高效文本检测方法
- 文本检测本质上也属于物体检测,但是文本却跟常规的物体有较大区别:
二、CTPN文字检测网络概述
CTPN算法:
- 文本通常都是从左往右写的(水平),并且字之间的宽度都大致相同
- 固定宽度,来检测文本高度即可,但是如何应对变长序列呢?
- 本质上还是RPN方法(可参考faster-rcnn),可将检测到的框拼在一起!
CTPN网络架构:
- VGG提取特征,BLSTM融入上下文信息,基于RPN完成检测
- VGG特征提取模块:
- 经过了4次池化操作,特征图一个像素对应原始输入的16个像素
CTPN网络:
Anchor大小选择,宽度固定,长度选了10个
widths = [16]
heights=[11,16,23,33,48,68,97,139,198,283]输出结果包括了三部分:2K得分,2K回归,1K边界调整
边界调整能使得文本检测框效果更好,下列是调整后的结果:
CTPN网络:
- 检测到每一个小块文本区域还需拼接成完整的文本区域:
- 规则,分前向和后向两部分:
- 先前向走,对于Xi,基于重合度(0.7)与位置距离(50像素)找到score值最大的Xj,接下来再反向走(规则不变),比较两次得分值大小来判断序列。
三、CRNN识别网络架构
CRNN算法:
一张图解释了网络架构:
首先 CNN 进行特征提取,利用其强大的卷积层和池化层,自动学习文本图像中的局部特征和全局特征,将原始图像转化为具有丰富语义信息的特征图。接下来 RNN 进行序列特征提取,RNN 凭借其对序列数据的天然处理能力,能够捕捉到特征图中字符之间的上下文关系和时间序列信息,从而为准确识别文字奠定基础。最后得出预测结果即可。可。
构建RNN的输入特征序列:在将 CNN 提取的特征图输入到 RNN 之前,需要对特征图进行处理以构建合适的输入序列。通常是沿着特征图的某个维度(例如水平方向)将其分割成一系列的特征向量,这些特征向量按照顺序依次输入到 RNN 中,使得 RNN 能够按照文本的书写顺序对特征进行分析和处理,进而学习到文本的序列特征和语义信息。
其中还涉及了CTC模块,目的是对齐输入和输出结果:CTC(Connectionist Temporal Classification)模块在 CRNN 中起着至关重要的作用。由于文本的长度在实际情况中是可变的,而 RNN 的输出序列长度通常是固定的,这就导致了输入和输出之间的长度不匹配问题。CTC 模块通过引入一种特殊的 “空白” 标签和动态规划算法,能够有效地解决这个问题,将 RNN 输出的序列与真实的文本标签进行对齐,从而得到准确的文本识别结果。例如,在手写文字识别中,不同人的书写风格和速度不同,导致文字的长度和笔画的连接方式各异,CTC 模块能够适应这种变化,找到最可能的文本标签序列,大大提高了 CRNN 算法在复杂场景下的文字识别准确率和鲁棒性,使得 CRNN 能够广泛应用于各种文字识别任务中,如文档识别、车牌识别、场景文字识别等领域,为智能信息处理提供了有力的技术支持。
通过 CTPN 和 CRNN 这两个关键技术环节的紧密配合,OCR 文字识别技术得以高效、准确地从图像中提取并识别文字信息,为信息的数字化和智能化处理提供了坚实的基础,在当今数字化时代发挥着不可或缺的重要作用,并且随着技术的不断发展和优化,其应用前景将更加广阔,性能也将持续提升,进一步满足人们对于文字信息快速、精准处理的需求。