目前深度学习广泛应用于计算机视觉的各个领域, 基于深度学习的自然场景文字检测与识别一直都是一项具有挑战性的研究. 但是目前针对自然场景文字检测与识别的相关研究主要集中在中英文中, 且取得了不错的成绩. 在自然场景文字检测的研究中, 对于水平文本的检测, 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, 最后通过可微分的二值化算法计算出近似二值图
乌金体藏文检测阶段中可微分的二值化过程如式(1)所示, 其中
$ {\hat B_{i, j}} = \frac{1}{{1 + {{\rm{e}}^{ - k\left( {{P_{i, j}} - {T_{i, j}}} \right)}}}} $ | (1) |
${{f}}(x) = \frac{1}{{1 + {{\rm{e}}^{ - kx}}}}$ | (2) |
${l_ + } = - \ln \frac{1}{{1 + {{\rm{e}}^{ - kx}}}}$ | (3) |
${l_ - } = - \ln \left( {1 - \frac{1}{{1 + {{\rm{e}}^{ - kx}}}}} \right)$ | (4) |
$\frac{{\partial {l_ + }}}{{\partial x}} = - kf(x){{\rm{e}}^{ - kx}}$ | (5) |
$\frac{{\partial {l_ - }}}{{\partial x}} = kf(x)$ | (6) |
网络训练的损失函数如式(7)所示,
$L = {L_s} + \alpha \times {L_b} + \beta \times {L_t}$ | (7) |
${L_s} = {L_b} = \sum\limits_{i \in {s_l}} {{y_i}\log_2 {x_i} + (1 - } {y_i})\log_2 (1 - {x_i})$ | (8) |
${L_t} = \sum\limits_{i \in {R_d}} {\left| {y_i^* - x_i^*} \right|} $ | (9) |
在乌金体藏文识别阶段中首先根据检测结果裁剪出乌金体藏文文本块, 如图2所示将裁剪出的乌金体藏文文本块送入MobileNetV3 Large网络提取文字特征, 然后使用LSTM对特征序列中的每帧进行预测, 最后采用CTC进行转录并输出最后的识别结果.
因为藏文不仅可以横向叠加, 还可以纵向叠加, 所以在乌金体藏文识别阶段借鉴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结构.
用式(10)来表述训练数据集, 其中
$x = \left\{ {{I_{\rm{i}}}, {l_i}} \right\}$ | (10) |
${O} = - \sum\limits_{{I_{i}},{l_i} \in x} {\log_2 p\left( {{l_i}|{y_i}} \right)} $ | (11) |
由于缺乏开源的自然场景乌金体藏文文本图像数据集, 本实验中网络训练所用的数据集全是在拉萨街头人工拍摄的乌金体藏文文本图像. 这些乌金体藏文文本图像主要包括了交通标志牌、店铺广告牌、公交站牌等自然场景乌金体藏文文本图像. 最终收集了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中可以看出, 本文所采用的可微 分二值化网络DBNet在真实自然场景下乌金体藏文的检测效果最好, 且能检测出倾斜文本. CTPN网络只对水平文本检测效果较好, 不适合倾斜文本的检测. 而EAST算法能检测倾斜文本, 但是在实际的测试中出现很多误检. 所以在表2的性能测试中, CTPN网络的性能较差, 而相比于EAST网络本文所采用的检测网络的准确率最高.
3.2 乌金体藏文识别
在自然场景乌金体藏文识别实验中, 将前期收集的4321张自然场景下乌金体藏文文本图像块尺寸统一为32×100, 采用算法合成的全藏字作为转录的字典, 其中包含18785个藏文音节. 在此基础上依次进行了3组实验, 但是该实验无法与现有相关工作做对比, 主要有以下两个方面的原因, 一方面因为与自然场景下乌金体藏文识别相关的论文较少, 无法与其他研究成果进行比较; 另一方面因为目前没有开源的自然场景藏文数据集, 都是基于自制的数据集进行实验, 没有可比性. 这3组实验验证了本文采用的方法在自然场景乌金体藏文识别上的可行性. 网络训练结束后在测试集上的性能测试如表3所示.
采用3.1节中DBNet网络训练出的乌金体藏文检测模型和实验3训练出的乌金体藏文识别模型在314张自然场景乌金体藏文图像上的部分正确检测到乌金体藏文文本并完全识别正确的结果可视化为如图4所示, 图4(a)的识别结果为“འུ་ཀུང་མའོ་ཚལ། ”; 图4(b)的识别结果为“
从表3中可以看出, 随着数据集规模的增大, 最终在测试集上的识别准确率有了很大的提升. 在实验2和实验3中采用了不同特征提取网络进行实验, 实验结果表明实验3采用的特征提取网络在乌金体藏文识别上的效果更好. 通过分析在314张自然场景下乌金体藏文图像上的实际识别效果, 从中可以发现本文训练出的模型对结构简单的藏文字符能够识别正确, 如图4所示, 证明了该方法在自然场景乌金体藏文识别上的可行性. 但是由于实验数据集规模太小, 实际的测试结果中也存在一些识别错误的情况, 部分示例如图5和图6所示. 从中发现了一些特殊的现象如下: (1)识别错误的结果中有些音节如“
本文采用基于残差网络ResNet-18的可微分的二值化网络DBNet用于自然场景乌金体藏文的检测, 采用基于序列的识别算法CRNN用于自然场景乌金体藏文的识别, 在人工收集的乌金体藏文图像数据集的基础上进行了初步的实验, 实验表明了该方法在乌金体藏文检测与识别上具有可行性. 通过分析实验结果在现有方法的基础上可以改善的方面主要有以下几点: (1)根据藏文构字特点, 在CRNN的转录层中如何将藏文构字规则引入其中, 以避免识别结果中出现不符合藏字构字规则的情况; (2)完善词典, 加入特殊藏字以及音译词; (3)如何合成多样化的自然场景乌金体藏文文本块以扩充训练集提高网络的识别准确率.
[1] |
Tian Z, Huang WL, He T, et al. Detecting text in natural image with connectionist text proposal network. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 56–72.
|
[2] |
Shi BG, Bai X, Belongie S. Detecting oriented text in natural images by linking segments. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017. 3482–3490.
|
[3] |
Yang QP, Cheng ML, Zhou WM, et al. Inceptext: A new inception-text module with deformable psroi pooling for multi-oriented scene text detection. arXiv: 1805.01167, 2018.
|
[4] |
Liu YL, Jin LW. Deep matching prior network: Toward tighter multi-oriented text detection. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017. 3454–3461.
|
[5] |
Zhou XY, Yao C, Wen H, et al. East: An efficient and accurate scene text detector. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu: IEEE, 2017. 2642–2651.
|
[6] |
Deng D, Liu HF, Li XL, et al. Pixellink: Detecting scene text via instance segmentation. Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence. New Orleans: AAAI, 2018.
|
[7] |
Liao MH, Wan ZY, Yao C, et al. Real-time scene text detection with differentiable binarization. Proceedings of the AAAI Conference on Artificial Intelligence. New York: AAAI, 2020. 11474–11481.
|
[8] |
Shi BG, Bai X, Yao C. An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(11): 2298-2304. DOI:10.1109/TPAMI.2016.2646371 |
[9] |
Shi BG, Wang XG, Lv PY, et al. Robust scene text recognition with automatic rectification. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016. 4168–4176.
|
[10] |
党红恩. 藏文字形轮廓特征优化识别提取仿真研究. 计算机仿真, 2016, 33(11): 341-344. DOI:10.3969/j.issn.1006-9348.2016.11.074 |
[11] |
孙淑娟, 房培玉. 基于蚁群算法的现代藏文字符轮廓提取技术研究. 微计算机应用, 2008, 29(5): 38-41. |
[12] |
普次仁. 多种印刷字体藏文字符的特征提取方法研究. 西藏大学学报(自然科学版), 2008, 23(1): 25-28. |
[13] |
刘真真, 王茂基, 李永忠, 等. 基于分形矩的印刷体藏文特征提取方法. 模式识别与人工智能, 2008, 21(5): 654-657. DOI:10.3969/j.issn.1003-6059.2008.05.013 |
[14] |
朱利娟, 云中华, 边巴旺堆. 基于极坐标变换的脱机手写藏文字符特征提取方法. 计算机应用与软件, 2018, 35(3): 162-166. DOI:10.3969/j.issn.1000-386x.2018.03.031 |
[15] |
王维兰, 丁晓青, 陈力, 等. 印刷体现代藏文识别研究. 计算机工程, 2003, 29(3): 37-38, 94. DOI:10.3969/j.issn.1000-3428.2003.03.014 |
[16] |
李旺平. 藏文OCR识别方法研究[硕士学位论文]. 武汉: 武汉理工大学, 2017.
|
[17] |
李刚. 印刷体藏文识别系统的研究与实现[硕士学位论文]. 上海: 上海交通大学, 2007.
|
[18] |
赵栋材. 基于BP网络的木刻藏文经书文字识别研究. 微处理机, 2012(5): 35-38, 43. DOI:10.3969/j.issn.1002-2279.2012.05.011 |
[19] |
梁弼, 王维兰, 钱建军. 基于HMM的分类器在联机手写藏文识别中的应用. 微电子学与计算机, 2009, 26(4): 98-101, 104. |
[20] |
王维兰, 陈万军. 基于笔划特征和MCLRNN模型的联机手写藏文识别. 计算机工程与应用, 2008, 44(14): 91-93, 194. DOI:10.3778/j.issn.1002-8331.2008.14.025 |
[21] |
仁青东主, 尼玛扎西. 基于深度学习的自然场景藏文识别研究. 高原科学研究, 2019, 3(4): 96-103. |
[22] |
Howard A, Sandler M, Chen B, et al. Searching for MobileNetV3. Proceedings of the 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul: IEEE, 2019. 1314–1324.
|
[23] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016. 770–778.
|
[24] |
Du YN, Li CX, Guo RY, et al. PP-OCR: A practical ultra lightweight OCR system. arXiv: 2009.09941, 2020.
|