APP下载

自然场景下乌金体藏文的检测与识别①

2022-01-05高定国三排才让

计算机系统应用 2021年12期
关键词:乌金藏文图像

洪 松, 高定国, 三排才让, 取 次

(西藏大学 信息科学与技术学院, 拉萨 850000)

1 引言

目前深度学习广泛应用于计算机视觉的各个领域,基于深度学习的自然场景文字检测与识别一直都是一项具有挑战性的研究. 但是目前针对自然场景文字检测与识别的相关研究主要集中在中英文中, 且取得了不错的成绩. 在自然场景文字检测的研究中, 对于水平文本的检测, Tian等人提出的CTPN[1]网络, 该网络结合了CNN与LSTM深度网络, 该网络可以学习字符的上下文关系从而提高文本检测的准确率. 对于倾斜文本的检测, Shi等人提出了SegLink网络[2], 该网络首先将文本分解成片段和链接这两个局部可检测的元素,然后通过端到端训练的全卷积神经网络, 可以在多个尺度上密集地检测这两个元素, 最终通过邻近连接方法将各小文字块连接成单词. Yang等人提出了IncepText网络[3], 该网络提出了一种基于变形的 PSROI池化模块来处理多方向的文本检测, 能更好的提高大尺度以及扭曲变形文字图像的文本检测正确率, 使模型具有更好的鲁棒性. 随后也有一些研究人员提出了DMPNet网络[4]、EAST网络[5]、PixelLink网络[6], 支持倾斜文本的检测. Liao等人提出了一个可微二值化模块[7], 它可以在分割网络中执行二值化过程, 通过与DB模块的优化, 分割网络可以自适应地设置二值化阈值, 既简化了后处理, 又提高了文本检测的性能. 在自然场景文字识别的研究中, 对于规则文本的识别, 应用最广泛的主要是Shi等人提出的一种基于序列的文字识别网络CRNN[8], 该网络能够处理任意长度的序列, 且不涉及字符分割和水平尺度归一化, 能进行端到端的训练. 对于非规则文本的识别, 主要是Shi等人提出的RARE网络[9], 该网络由空间变换网络STN和序列识别网络SRN组成, 网络模型能够识别多种类型的不规则文本,包括透视文本和弯曲文本.

目前自然场景下的中英文检测与识别相关的研究已经取得了不错的成果, 但是自然场景下乌金体藏文的检测与识别的相关研究仍处于起步阶段. 为了给藏文识别的相关研究奠定基础, 早期一些研究人员主要研究了印刷体和手写体藏文的识别. 在印刷体和手写体藏文识别的研究中, 一些研究人员针对藏文字符的特点在藏文字符轮廓特征提取[10,11]、印刷体藏文字符特征提取[12,13]、手写体藏文字符特征提取[14]等方面取得了不错的成果, 随后相关研究人员在此基础上进一步研究了印刷体和手写体藏文的识别[15-17]. 但是在印刷体和手写体藏文识别的研究中主要是采用传统的图像处理方法对藏文文本图像进行二值化、去噪等预处理操作, 再对图像中的藏文字符行进行切分, 然后将切分后的藏文字符图片进行归一化后送入特征提取模块提取单个藏文字符的特征, 最后通过传统的模式分类方法得到识别结果. 从中可以看出传统的藏文识别方法存在多个中间环节, 同时要求藏文图像质量较好且能切分出藏文字符. 而自然场景下的乌金体藏文图像质量较差且文字存在透视变换、噪声干扰大, 传统的藏文识别方法显然不适合自然场景下乌金体藏文的识别.

目前, 得益于深度学习技术的发展, 利用深度学习技术对自然场景下藏文的检测与识别进行研究是当下的发展趋势. 赵栋材[18]在传统的文字识别方法基础上,增加了基于BP网络的训练方法, 通过对大量的木刻藏文经书字符的训练, 实现了普通干扰情况下木刻经文的识别. 梁弼等人[19]提出了一种基于HMM分类器的联机手写藏文识别的方法, 并设计了3种不同的HMM分类器对藏文字丁进行识别. 王维兰等人[20]提出了一种新的多层联系子层递归神经网络模型并融合藏文字丁的空间结构特征来进行联机手写藏文识别, 实验结果说明该方法可以更好地表征藏文字的各笔划特征以及笔划间的空间结构关系. 虽然这些学者在早期利用深度学习技术对木刻藏文经书、藏文字丁、手写体藏文进行了研究, 但是公开发表的自然场景下藏文的识别文章只有仁青东主[21]等人研究的基于深度学习的自然场景下藏文的识别, 在该研究中虽然采用了基于深度学习的序列识别方法CRNN[8]与二维串识别技术的结合, 但是在该研究中对自然场景藏文文本行进行识别时仍然要对藏文文本行图像进行块切分, 并没有完全体现出CRNN算法的优势, 同时在该研究中对自然场景下藏文的检测只是一笔带过, 没有做藏文检测实验.

因此本文在没有开源的自然场景乌金体藏文图像的情况下, 人工收集和标注了自然场景乌金体藏文图像数据集, 并在此基础上探究适合自然场景乌金体藏文检测与识别方法. 本文在自然场景乌金体藏文检测阶段对比了不同的场景文字检测算法, 最后采用可微分的二值化网络DBNet[7], 在乌金体藏文识别阶段采用基于序列的端到端文字识别算法CRNN[8], 在该阶段采用算法合成的全藏字作为字典库, 并采用修改后的MobileNetV3 Large[22]作为特征提取网络. 最后在该方法上做了基础性实验, 实验表明在自然场景下乌金体藏文的识别中CRNN算法可以进行端到端的识别, 并不需要对藏文文本行进行块切分, 简化了识别流程.

2 算法思想

本文中自然场景下乌金体藏文的识别系统主要分为两个阶段, 一是乌金体藏文文本检测, 在该阶段中采用可微分的二值化网络DBNet[7]; 二是乌金体藏文文本识别, 在该阶段中采用基于序列的文字识别算法CRNN[8].

2.1 乌金体藏文文本检测理论

如图1所示, 在乌金体藏文检测阶段将图片输入网络后, 经过特征提取网络ResNet-18提取特征和上采样融合并通过con-cat操作后得到图1中蓝色的特征图F, 然后使用F预测出概率图P和阈值图T, 最后通过可微分的二值化算法计算出近似二值图, 从而得出乌金体藏文检测结果. 在乌金体藏文检测阶段, 采用了Liao等人[7]在中英文检测实验中在传统的ResNet-18网络[23]的conv_3_x, conv_4_x, conv_5_x后加入可变形卷积增大感受野的范围, 以此来适应纵横比较大的乌金体藏文检测.

图1 DBNet网络结构图

乌金体藏文检测阶段中可微分的二值化过程如式(1)所示, 其中Bˆ 表示近似的二值图, (i,j)表示概率图中的坐标,P、T是网络学习的概率图、阈值图,k是一个梯度缩放因子. 式(1)之所以会改善网络性能, 可以从梯度的反向传播来解释, 定义一个f(x)如式(2)所示,其中x=Pi,j-Ti,j. 在使用交叉熵损失的情况下, 正样本的损失记为l+如 式(3), 负样本的损失记为l-如式(4).正、负样本的损失对于输入x的偏导数分别为式(5)、式(6)所示. 从微分式子可以看出k是梯度增益因子, 梯度对于错误预测的增益幅度很大.

网络训练的损失函数如式(7)所示,Ls为概率图的损失、Lb为二值图的损失、Lt为阈值图的损失. 其中α 和β 的取值分别为1.0和10. 其中Ls和Lb采用二值交叉熵损失如式(8)所示, 其中Sl是经过采样的数据集.Lt采 用的是L1损 失如式(9)所示, 其中Rd为标注框经过扩充后得到的框里的一组像素的索引.

2.2 乌金体藏文文本识别理论

在乌金体藏文识别阶段中首先根据检测结果裁剪出乌金体藏文文本块, 如图2所示将裁剪出的乌金体藏文文本块送入MobileNetV3 Large网络提取文字特征, 然后使用LSTM对特征序列中的每帧进行预测, 最后采用CTC进行转录并输出最后的识别结果.

图2 CRNN结构图

因为藏文不仅可以横向叠加, 还可以纵向叠加, 所以在乌金体藏文识别阶段借鉴Du等人[24]在中英文识别实验中MobileNetV3 Large网络的配置, 该配置修改了原始MobileNetV3 Large中除第一个下采样特征图的步幅, 将步幅为(2, 2)修改为(2, 1), 将第二个下采样特征图的步幅从(2, 1)修改为(1, 1), 以此来保留更多的水平和垂直方向上的信息. 该网络配置如表1所示,除了修改下采样特征图的步幅, 该网络配置也调整了最大池化层的窗口大小和步幅, 将原来7×7的窗口改为2×2, 步幅由1改为2. 表1中exp size表示膨胀参数;SE表示Squeeze-and-Excite结构; NL表示非线性,HS表示h-swish激活函数, RE表示ReLU激活函数;s表示步幅; Bneck模块中包括1×1卷积、3×3卷积或者5×5卷积、SE结构.

表1 MobileNetV3 Large网络配置表

用式(10)来表述训练数据集, 其中Ii表示训练图片,li表示图像中藏文音节序列的ground truth. 目标函数的构建是通过最小化ground truth的条件概率的负对数似然函数, 如式(11)式所示. 其中yi是循环层和卷积层从Ii生成的序列, 该目标函数直接计算输入图像和它对应的ground truth之间的损失函数, 因此该网络可以进行输入图像与真实的标签序列的端到端的训练.

3 实验与分析

由于缺乏开源的自然场景乌金体藏文文本图像数据集, 本实验中网络训练所用的数据集全是在拉萨街头人工拍摄的乌金体藏文文本图像. 这些乌金体藏文文本图像主要包括了交通标志牌、店铺广告牌、公交站牌等自然场景乌金体藏文文本图像. 最终收集了449张乌金体藏文文本图像, 4321张自然场景乌金体藏文文本块图像.

3.1 乌金体藏文检测

在自然场景乌金体藏文检测实验中, 将前期收集的449张自然场景乌金体藏文图像尺寸统一为608×608, 然后将这449张图片进行数据增强最终扩充为1796张, 并将这1796张图像随机分为训练集1600张和测试集196张, 使用Labelme软件对实验数据集进行了标注. 在此基础上对比了CTPN[1]、EAST[5]场景文字检测算法与本文所采用的可微分的二值化网络DBNet在乌金体藏文检测上的效果, 其中成功检测到乌金体藏文的部分检测效果如图3所示, 图3(a)为CTPN检测效果, 图3(b) 为EAST检测效果, 图3(c)为DBNet检测效果. 在测试集上的性能测试结果如表2所示.

图3 成功检测到乌金体藏文的部分图片展示

因为在本文收集的自然场景乌金体藏文检测实验数据集图像中很多乌金体藏文文本行都是倾斜文本,完全水平的乌金体藏文文本较少. 从图3中可以看出,本文所采用的可微 分二值化网络DBNet在真实自然场景下乌金体藏文的检测效果最好, 且能检测出倾斜文本. CTPN网络只对水平文本检测效果较好, 不适合倾斜文本的检测. 而EAST算法能检测倾斜文本, 但是在实际的测试中出现很多误检. 所以在表2的性能测试中, CTPN网络的性能较差, 而相比于EAST网络本文所采用的检测网络的准确率最高.

表2 几种检测算法在乌金体藏文文本检测实验上的性能对比

3.2 乌金体藏文识别

在自然场景乌金体藏文识别实验中, 将前期收集的4321张自然场景下乌金体藏文文本图像块尺寸统一为32×100, 采用算法合成的全藏字作为转录的字典,其中包含18 785个藏文音节. 在此基础上依次进行了3组实验, 但是该实验无法与现有相关工作做对比, 主要有以下两个方面的原因, 一方面因为与自然场景下乌金体藏文识别相关的论文较少, 无法与其他研究成果进行比较; 另一方面因为目前没有开源的自然场景藏文数据集, 都是基于自制的数据集进行实验, 没有可比性. 这3组实验验证了本文采用的方法在自然场景乌金体藏文识别上的可行性. 网络训练结束后在测试集上的性能测试如表3所示.

表3 不同特征提取网络在乌金体藏文文本识别实验上的性能对比

采用3.1节中DBNet网络训练出的乌金体藏文检测模型和实验3训练出的乌金体藏文识别模型在314张自然场景乌金体藏文图像上的部分正确检测到乌金体藏文文本并完全识别正确的结果可视化为如图4所示, 图4(a)的识别结果为; 图4(b)的识别结果为; 图4(c)的识别结果为和. 但是其中也存在一些错误识别的结果, 部分特殊示例如图5和图6所示. 图5(a)的识别结果为第3个音节的基字识别错误, 正确的应为“ཉ”; 第5个音节中“”不符合藏字构字规则; 图5(b)的识别结果为第2个音节错误, 应为“”, 其中“”是特殊藏字, 第5个音节错误, “”不符合藏字构字规则; 图5(c)的识别结果为“”, 第3个音节后加字下多了一个构件, 第4个音节不符合藏字构字规则.图6(a)的识别结果为第1音节少了下加字, 第2音节少了下加字“”; 图6(b)的识别结果为, 第二个音节错误, 缺下加字, 应为“པཱ”; 图6(c)的识别结果为, 后者中第4个音节缺下加字.

图4 正确的检测结果和识别结果示例

图5 识别结果错误示例1

图6 识别结果错误示例2

从表3中可以看出, 随着数据集规模的增大, 最终在测试集上的识别准确率有了很大的提升. 在实验2和实验3中采用了不同特征提取网络进行实验, 实验结果表明实验3采用的特征提取网络在乌金体藏文识别上的效果更好. 通过分析在314张自然场景下乌金体藏文图像上的实际识别效果, 从中可以发现本文训练出的模型对结构简单的藏文字符能够识别正确, 如图4所示, 证明了该方法在自然场景乌金体藏文识别上的可行性. 但是由于实验数据集规模太小, 实际的测试结果中也存在一些识别错误的情况, 部分示例如图5和图6所示. 从中发现了一些特殊的现象如下: (1)识别错误的结果中有些音节如“”、“”、“”等不符合藏字构字规则, 如图5所示; (2)下加字漏识别现象比较常见, 其中音译词“”也会识别错误, 如图6所示; (3)出现特殊藏字“”时会识别错误; (4)一些结构极其相似的藏文字符如“”、“”、“”以及“”、“”等在识别时容易出错. 其中现象(2)和现象(3)是因为特殊藏字 “”和音译词“”不符合全藏字中藏字的构字规则, 但也属于藏字. 现象(1)和现象(4)是因为训练集规模太小, 网络没有学习到复杂结构藏字和结构相似藏文字符的特征.

4 总结与展望

本文采用基于残差网络ResNet-18的可微分的二值化网络DBNet用于自然场景乌金体藏文的检测, 采用基于序列的识别算法CRNN用于自然场景乌金体藏文的识别, 在人工收集的乌金体藏文图像数据集的基础上进行了初步的实验, 实验表明了该方法在乌金体藏文检测与识别上具有可行性. 通过分析实验结果在现有方法的基础上可以改善的方面主要有以下几点:(1)根据藏文构字特点, 在CRNN的转录层中如何将藏文构字规则引入其中, 以避免识别结果中出现不符合藏字构字规则的情况; (2)完善词典, 加入特殊藏字以及音译词; (3)如何合成多样化的自然场景乌金体藏文文本块以扩充训练集提高网络的识别准确率.

猜你喜欢

乌金藏文图像
共处与辩诤:一部15世纪藏文传记所描述的佛教徒与非佛教徒“他者”的对话①
乌金
称金块
乌金的世界
——探访煤炭博物馆
基于生成对抗网络的CT图像生成
浅析p-V图像中的两个疑难问题
敦煌本藏文算书九九表再探
巧用图像中的点、线、面解题
西藏大批珍贵藏文古籍实现“云阅读”
信息技术藏文编码字符集扩充集A