社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

AI研习丨优秀博士学位论文精华版:基于深度学习的自然场景文字检测与识别方法研究

中国人工智能学会 • 4 年前 • 646 次点击  

转自 CAAI会员中心


摘 要

本文基于深度学习框架,构建了一套场景文字检测与识别算法系统。针对检测问题,提出一种快速任意方向文字检测方法,该方法基于“片段链接”思想,将长文字拆解为局部的片段,以及片段之间的链接;针对识别问题,提出一种端到端可训练的文字识别神经网络模型,该模型将卷积神经网络、循环神经网络和联结时序分类三者结合,能够直接从图片中识别出文字内容,并且可以端到端的训练。


关 键 字

场景文字;文字检测;文字识别;卷积神经网络;循环神经网络


0 引言

现代社会是高度符号化的社会,大量信息通过文字和符号来记载和传递。因此,文字在图像和视频中广泛存在。文字是书籍、报刊、文件和名片等印刷品的基本组成元素,并且广泛存在于自然场景的各种物体上,例如路牌、商品包装、车辆牌照和店铺门面等。广义上的文字还包含自然语言文字以外的书写系统,例如摩斯码和五线谱等。理解图片中的文字在计算机视觉中一直处于重要的位置。从图像中识别文字的技术通常被称作光学字符识别(OCR),它是计算机视觉最早的应用之一。


传统的OCR 方法大多针对扫描文档图片设计。这些图片通常由扫描仪等设备获取,成像过程受控;识别方法往往基于二值化和浅层分类器等技术。自然图片中的文字通常被称作场景文字(scene text)。场景文字检测识别是传统OCR 在自然图片上的延续和升级,它的应用极其广泛,例如无人超市、智能导盲和无人驾驶等新兴技术等都离不开场景文字识别。相比传统OCR,场景文字的检测和识别面临着巨大的挑战,首先,相比文档图片,场景文字的背景更为复杂;其次,场景文字的字体、颜色和排布相比文档文字复杂得多;最后,传统的OCR 系统常由许多子模块组成,系统复杂程度高,其研发耗费较多的人力。


近年来,随着深度学习算法的兴起,计算机视觉领域的多项重要问题都取得了重大突破。到如今,深度学习已经渗入了计算机视觉研究的方方面面,对学术界和工业界产生了深远的影响。深层神经网络是深度学习的核心,其强大的特征学习能力、灵活的结构、能够端到端训练的特点,使得它成为解决场景文字识别问题的有效手段。本文基于深度学习算法,结合卷积神经网络和循环神经网络(RNN) 等结构,提出一套完整的场景文字检测与识别系统。


1 “片段链接”: 快速任意方向文字检测方法

作为端到端识别系统的第一级,文字检测的目标是在输入图像中定位文字的位置。检测输出的形式可以是水平的矩形包围盒、带角度的矩形包围盒和任意多边形等;根据任务的不同,检测目标可以是每个单词或每条文字行。文字检测可以被视为物体检测的特例。然而,由于场景文字和一般物体存在形状上的区别,一般物体检测方法并不是理想的解决方案——一般物体检测方法受其候选区域提取算法的限制,输出包围盒的长宽比往往只能在小范围内变化,因此难以输出长文字、非水平的包围盒。


“片段链接”算法的核心是将文字分解为片段(segments) 和链接(links) 两种基本元素。如图1 所示,片段是覆盖一小段单词或文本行的局部包围盒,它由一个带角度的矩形框表示。矩形的高度和整词的高度接近,但长度只占全部长度的一部分; 链接存在于相邻两个片段之间,它指示片段之间的连接关系。即相连的片段属于同一单词,不相连的属于不同单词。检测时,该方法在全图密集地检测片段和链接,并将相连的片段根据几何规则组合为整词的包围盒,得到检测结果。片段链接的核心优势在于,它可以检测非水平的长词或长文本行。片段和链接都具有局部性,片段只占整个单词的一小部分,它的检测只需要局部的图像特征; 链接存在于相连的两两片段之间,因此它也同样有局部性。由于片段和链接的局部性,两者都可以在任意尺寸的图片上密集检测,并组合成任意长度的文字,从而显著缓解了长文字的检测困难。检测片段和链接的网络结构如图2 所示。该结构基于VGG-16,能够在一次前向传导中同时地在多个尺度上密集地检测片段和链接,因此有着很高的检测效率。

此外,我们还提出了同层链接和跨层链接两种链接类型,前者连接同一个特征层中检测到的片段;后者连接不同层上的片段。同层和跨层链接使得相同或不同尺度上的片段都可以被组合在一起,从而避免了漏检和重复检测的问题。


在对所有片段和链接作置信度和几何偏移的估计之后,该模型输出一组片段和一组链接。接下来,片段和链接分别通过各自的置信度阈值进行过滤,去除置信度低于阈值α 的片段和置信度低于阈值β 的链接。最后,过滤后的片段根据过滤后的链接组合成完成的包围盒。


图 3 显示了片段链接在长文本检测上的表现。可以看出,片段和链接沿着文本行被密集检测,它们将细长的文本分解为了更容易检测的局部视觉元素。相比之下,当下流行的物体检测器难以输入长宽比如此极端的包围盒,而片段链接很好地解决了这个问题。此外,尽管英文和中文文本在外观上有很大的差异,但我们的模型仍能够在不改变其结构的情况下同时处理它们。这也显示了片段链接在多语种场景下的适用性。


2 CRNN:端到端文字识别网路

卷积RNN(CRNN) 是本文提出的可以端到端训练的文字识别网络,该网络结合了卷积神经网络(CNN) 和RNN。其特点在于无需单个字符的标注,可直接用文字行图片和对应的标签训练,相比传统方法大幅降低了训练和部署成本。CRNN 的总体网络结构如图 4 所示。它从下至上主要由CNN、RNN 翻译层三个部分组成。CNN 负责提取卷积特征图; 特征图被转换为特征序列后交由RNN 进行预测,输出单帧预测结果;最后,翻译层将单帧预测结果翻译为字母序列。尽管CRNN 包含不同类型的网络结构,它仍然能被端到端的训练,并且只需要一项损失函数。

CRNN 只在Synth90k 数据集上进行训练一次,然后在其他数据集上测试,不作额外的微调。尽管只用合成数据训练,CRNN 仍然能够在真实数据集上取得良好效果。在有词汇表模式下,CRNN 的识别准确度超过了同时期的大多数其他方法。在无词汇表模式下,CRNN 在IIIT5k 和SVT 两个数据集上都取得了最高的识别准确度。值得一提的是,CRNN 的性能超过了Google 公司开发的PhotoOCR 系统。PhotoOCR 使用了近800万张训练图片,并且这些训练图片有字符级别的标注;而CRNN 仅仅在合成图片上训练,完全没有使用人工标注的数据,却能够大幅度地在识别准确率上超出PhotoOCR 系统。这说明CRNN 是高性能且低成本的识别方法。


3 结束语

本文对场景文字检测与识别问题完成了一次系统和全面的研究。针对不同的问题及问题的不同方面,分别提出了检测方法片段链接和识别方法CRNN,在识别准确性、方法通用性及工程实用性三个方面都相比先前工作取得了显著进步。

(参考文献略)


选自《中国人工智能学会通讯》  

2020年  第10卷  第2期  优秀博士学位论文精华版


AI 研习 往期文章

优秀博士学位论文精华版:时滞递归神经网络稳定性与同步控制

优秀博士学位论文精华版:大规模图像检索方法研究

专题:基于人机协同决策的印染废水处理智能管控技术研究

专题:活性污泥法污水处理过程自动控制研究综述

专题:城市污水处理过程协同优化控制

专题:城市污水处理过程智能自组织控制方法研究与应用

专题:自适应多输出高斯过程模型于城市污水的应用与实践

汪培庄:因素空间与人工智能

何晓冬:语言与视觉的跨模态智能

黄铁军:视达2020——翻开视觉新篇章

宗成庆:人类语言技术展望




点击左下角“阅读原文”,加入CAAI

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62304
 
646 次点击