白癜风临床诊疗与科研高峰论坛 https://m-mip.39.net/news/mipso_8048343.html阿里妹导读:丰富准确的地图数据大大提升了我们在使用高德地图出行的体验。相比于传统的地图数据采集和制作,高德地图大量采用了图像识别技术来进行数据的自动化生产,而其中场景文字识别技术占据了重要位置。商家招牌上的艺术字、LOGO五花八门,文字背景复杂或被遮挡,拍摄的图像质量差,如此复杂的场景下,如何解决文字识别技术全、准、快的问题?本文分享文字识别技术在高德地图数据生产中的演进与实践,介绍了文字识别自研算法的主要发展历程和框架,以及未来的发展和挑战。文末推荐:AMAP-TECH算法大赛。一背景作为一个DAU过亿的国民级软件,高德地图每天为用户提供海量的查询、定位和导航服务。地图数据的丰富性和准确性决定了用户体验。传统的地图数据的采集和制作过程,是在数据采集设备实地采集的基础上,再对采集资料进行人工编辑和上线。这样的模式下,数据更新慢、加工成本高。为解决这一问题,高德地图采用图像识别技术从采集资料中直接识别地图数据的各项要素,实现用机器代替人工进行数据的自动化生产。通过对现实世界高频的数据采集,运用图像算法能力,在海量的采集图片库中自动检测识别出各项地图要素的内容和位置,构建出实时更新的基础地图数据。而基础地图数据中最为重要的是POI(PointofInterest)和道路数据,这两种数据可以构建出高德地图的底图,从而承载用户的行为与商家的动态数据。图像识别能力决定了数据自动化生产的效率,其中场景文字识别技术占据了重要位置。不同采集设备的图像信息都需要通过场景文字识别(SceneTextRecognition,STR)获得文字信息。这要求我们致力于解决场景文字识别技术全、准、快的问题。在POI业务场景中,识别算法不仅需要尽可能多的识别街边新开商铺的文字信息,还需要从中找出拥有99%以上准确率的识别结果,从而为POI名称的自动化生成铺平道路;在道路自动化场景中,识别算法需要发现道路标志牌上细微的变化,日处理海量回传数据,从而及时更新道路的限速、方向等信息。与此同时,由于采集来源和采集环境的复杂性,高德场景文字识别算法面对的图像状况往往复杂的多。主要表现为:文字语言、字体、排版丰富:商家招牌上的艺术字体,LOGO五花八门,排版形式各式各样。文字背景复杂:文字出现的背景复杂,可能有较大的遮挡,复杂的光照与干扰。图像来源多样:图像采集自低成本的众包设备,成像设备参数不一,拍摄质量差。图像往往存在倾斜、失焦、抖动等问题。由于算法的识别难度和识别需求的复杂性,已有的文本识别技术不能满足高德高速发展的业务需要,因此高德自研了场景文字识别算法,并迭代多年,为多个产品提供识别能力。二文字识别技术演进与实践STR算法发展主要历程场景文字识别(STR)的发展大致可以分为两个阶段,以年为分水岭,分别是传统图像算法阶段和深度学习算法阶段。传统图像算法年之前,文字识别的主流算法都依赖于传统图像处理技术和统计机器学习方法实现,传统的文字识别方法可以分为图像预处理、文字识别、后处理三个阶段:图像预处理:完成文字区域定位,文字矫正,字符切割等处理,核心技术包括连通域分析,MSER,仿射变换,图像二值化,投影分析等;文字识别:对切割出的文字进行识别,一般采用提取人工设计特征(如HOG特征等)或者CNN提取特征,再通过机器学习分类器(如SVM等)进行识别;后处理:利用规则,语言模型等对识别结果进行矫正。传统的文字识别方法,在简单的场景下能达到不错的效果,但是不同场景下都需要独立设计各个模块的参数,工作繁琐,遇到复杂的场景,难以设计出泛化性能好的模型。深度学习算法年之后,随着深度学习在计算机视觉领域应用的不断扩大,文字识别逐渐抛弃了原有方法,过渡到深度学习算法方案。在深度学习时代,文字识别框架也逐渐简化,目前主流的方案主要有两种,一种是文本行检测与文字识别的两阶段方案,另一种是端到端的文字识别方案。1)两阶段文字识别方案主要思路是先定位文本行位置,然后再对已经定位的文本行内容进行识别。文本行检测从方法角度主要分为基于文本框回归的方法[1],基于分割或实例分割的方法[2],以及基于回归、分割混合的方法[3],从检测能力上也由开始的多向矩形框发展到多边形文本[2],现在的热点在于解决任意形状的文本行检测问题。文本识别从单字检测识别发展到文本序列识别,目前序列识别主要又分为基于CTC的方法[4]和基于Attention的方法[5]。2)端到端文字识别方案[6]通过一个模型同时完成文本行检测和文本识别的任务,既可以提高文本识别的实时性,同时因为两个任务在同一个模型中联合训练,两部分任务可以互相促进效果。文字识别框架高德文字识别技术经过多年的发展,已经有过几次大的升级。从最开始的基于FCN分割、单字检测识别的方案,逐渐演进到现有基于实例分割的检测,再进行序列、单字检测识别结合的方案。与学术界不同,我们没有采用End-to-End的识别框架,是由于业务的现实需求所决定的。End-to-End框架往往需要足够多高质量的文本行及其识别结果的标注数据,但是这一标注的成本是极为高昂的,而合成的虚拟数据并不足以替代真实数据。因此将文本的检测与识别拆分开来,有利于分别优化两个不同的模型。如下图所示,目前高德采用的算法框架由文本行检测、单字检测识别、序列识别三大模块构成。文本行检测模块负责检测出文字区域,并预测出文字的掩模用于解决文本的竖直、畸变、弯曲等失真问题,序列识别模块则负责在检测出的文字区域中,识别出相应的文字,对于艺术文本、特殊排列等序列识别模型效果较差的场景,使用单字检测识别模型进行补充。文字识别框架文本行检测自然场景中的文字区域通常是多变且不规则的,文本的尺度大小各异,成像的角度和成像的质量往往不受控制。同时不同采集来源的图像中文本的尺度变化较大,模糊遮挡的情况也各不相同。我们根据实验,决定在两阶段的实例分割模型的基础上,针对实际问题进行了优化。文本行检测可同时预测文字区域分割结果及文字行位置信息,通过集成DCN来获取不同方向的文本的特征信息,增大mask分支的feature大小并集成ASPP模块,提升文字区域分割的精度。并通过文本的分割结果生成最小外接凸包用于后续的识别计算。在训练过程中,使用online的数据增广方法,在训练过程中对数据进行旋转、翻转、mixup等,有效的提高了模型的泛化能力。具体检测效果如下所示:检测结果示例目前场景文本检测能力已经广泛应用于高德POI、道路等多个产品中,为了验证模型能力,分别在ICDAR(年3月)、ICDAR-MLT(年10月)、ICDAR-ReCTS公开数据集中进行验证,并取得了优异的成绩。文本行检测竞赛成绩文字识别根据背景的描述,POI和道路数据自动化生产对于文字识别的结果有两方面的需求,一方面是希望文本行内容尽可能完整识别,另外一方面对于算法给出的结果能区分出极高准确率的部分(准确率大于99%)。不同于一般文字识别评测以单字为维度,我们在业务使用中,更
转载请注明:http://www.0431gb208.com/sjszyzl/6948.html