ICDAR 2019论文:自然场景文字定位技术详解

自然场景文字定位是文字识别中非常重要的一部分。与通用的物体检测相比,文字定位更具挑战性,文字在长宽比、尺度和方向上有更大范围的变化。针对这些问题,本文介绍一种融合文字片段及金字塔网络的场景文字定位方法。该方法将特征金字塔机制应用到单步多框检测器以处理不同尺度文字,同时检测多个文字片段以及学习出文字片段之间8-neighbor连接关系,最后通过8-neighbor连接关系将文字片段连接起来,实现对不同方向和长宽比的文字定位。此外,针对文字通常较小特点,扩大检测网络中backbone模型深层特征图,以获得更好性能。

本文提出的方法已发表在文档分析与识别国际会议ICDAR2019 (International Conference on Document Analysis and Recognition)上,审稿人评论该方法为“As it is of more practical uses”,认可了它的实用性。

ICDAR是由国际模式识别学会(IAPR)组织的专业会议之一,专注于文本领域的识别与应用。ICDAR大会每两年举办一次,目前已发展成文字识别领域的旗舰学术会议。为了提高自然场景的文本检测和识别水平,国际文档分析和识别会议(ICDAR)于2003年设立了鲁棒文本阅读竞赛(“Robust Reading Competitions”)。至今已有来自89个国家的3500多支队伍参与。ICDAR 2019将于今年9月20-25日在澳大利亚悉尼举办。 美团今年联合国内外知名科研机构和学者,提出了”中文门脸招牌文字识别”比赛(ICDAR 2019 Robust Reading Challenge on Reading Chinese Text on Signboards)。

背景

自然场景图像中的文字识别已被广泛应用在现实生活中,例如拍照翻译,自动驾驶,图像检索和增强现实等,因此也有越来越多的专家学者对其进行研究。自然场景文字定位是指对场景图像中所有文本的精确定位,是自然场景文字识别中第一步也是最重要的一步。由于自然场景下文本颜色、大小、宽高比、字体、方向、光照条件和背景等具有较大变化(如图1),因此它是非常具有挑战性的。

图 1 自然场景文字图片

深度学习技术在物体识别和检测等计算机视觉任务方面已经取得了很大进展。许多最先进的基于卷积神经网络(CNN)的目标检测框架,如Faster RCNN、SSD 和FPN[1]等,已被用来解决文本检测问题并且性能远超传统方法。

深度卷积神经网络是一个多层级网络结构,浅层特征图具有高分辨率及小感受野,深层特征图具有低分辨率及大感受野。具有小感受野的浅层特征点对于小目标比较敏感,适合于小目标检测,但是浅层特征具有较少的语义信息,与深层特征相比具有较弱的辨别力,导致小文本定位的性能较差。另一方面,场景文字总是具有夸张的长宽比(例如一个很长的英文单词或者一条中文长句)以及旋转角度(例如基于美学考虑),通用物体检测框架如Faster RCNN和SSD是无法回归较大长宽比的矩形和旋转矩形。

围绕上面描述的两个问题,本文主要做了以下事情:

  1. 为了处理不同尺度的文本,借鉴特征金字塔网络思路,将具有较强判别能力的深层特征与浅层特征相结合,实现在各个层面都具有丰富语义的特征金字塔。另外,当较深层中的小对象丢失时,特征金字塔网络仍可能无法检测到小对象,深层的上下文信息无法增强浅层特征。我们额外扩大了深层的特征图,以更准确地识别小文本。

  2. 我们不直接回归文本行,而是将文本行分解为较小的局部可检测的文字片段,并通过深度卷积网络进行学习,最后将所有文字片段连接起来生成最终的文本行。

现有方法

最新的基于深度神经网络的文本定位算法大致可以分为两大类:(1)基于分割的文本定位;(2)基于回归的文本定位。

(1) 基于分割的文本定位

当前基于分割的文本定位方法大都受到完全卷积网络(FCN [2])的启发。全卷积网络(FCN, fully convolutional network), 是去除了全连接(fc)层的基础网络,最初是用于实现语义分割任务。由于FCN网络最后一层特征图的像素分辨率较高,而图文识别任务中需要依赖清晰的文字笔画来区分不同字符(特别是汉字),所以FCN网络很适合用来提取文本特征。当FCN被用于图文识别任务时,最后一层特征图中每个像素将被分成文字行(前景)和非文字行(背景)两个类别。

 图 2 全卷积网络

(2) 基于回归的文本定位

Textboxes [3] 是经典的也是最常用的基于回归的文本定位方法,它基于SSD框架,训练方式是端到端,运行速度也较快。为了适应文本行细长型特点,特征层也用长条形卷积核代替了其他模型中常见的正方形卷积核。为了防止漏检文本行,还在垂直方向增加了候选框数量。为了检测大小不同的字符块,在多个尺度的特征图上并行预测文本框, 然后对预测结果做NMS过滤。

图 3 Textboxes框架

提出方法

我们的方法也是基于SSD,整体框架如图4。为了应对多尺度文字尤其是小文字,对高层特征图进行间隔采样,以保持高层特征图分辨率。同时借鉴特征金字塔网络相关思路,将高层特征图上采样与底层特征叠加,构建一个新的多层级金字塔特征图(图4蓝色框部分)。此外,为了处理各种方向文字,在不同尺度的特征图上预测文字片段以及片段之间的连接关系,然后对预测出的文字片段和连接关系进行组合,得到最终文本框。下面将具体介绍方法。

图 4 我们方法框架

(1) 扩大高层特征图

深度卷积神经网络通常是逐层下采样,这对于物体分类来说是有效的,但是对于检测任务来说是有损害的。基于时间和性能的权衡考量,我们对卷积网络中最后几层特征进行间隔采样,如图5,从Conv6_2层开始下采样,Conv7_2层保持原分辨率,Conv8_2层再下采样。

图 5 扩大特征图

(2) 构建特征金字塔

虽然通过扩大深度特征图的设计可以更好地检测小文本,但较小的文本仍然难以检测。为了更好地检测较小的文本,进一步增强较浅层(例如图5中conv4_3,Fc7)的特征。我们通过融合高层和低层的特征构建了一个新的特征金字塔(图4中蓝色部分:conv4_3_f, fc7_f, conv6_2_f, conv7_2_f, conv8_2_f 和conv9_2_f),新的金字塔特征具有更强辨别力和语义丰富性。

高层和低层特征融合策略如图6所示,高层特征图先进行上采样使之与低层特征图相同大小,然后与低层特征图进行叠加,叠加后的特征图再连接一个3*3卷积,获得固定维度的特征图,我们设定固定维度d=256。

图 6 构建特征金字塔模块

(3)预测文字片段及片段之间连接关系

如图7,先将每个文字词切割为更易检测的有方向的小文字块(segment),然后用邻近连接(link )将各个小文字块连接成词。这种方案方便于识别长度变化范围很大的、带方向的词和文本行,它不会象Faster-RCNN等方案因为候选框长宽比例原因检测不出长文本行,而且处理速度很快。

图 7  小文字块和近邻连接

基于第(2)小节构建的特征金字塔特征图,将每层特征图上特征点用于检测小文字块和文字块连接关系。如图8,连接关系可以分为八种,上、下、左、右、左上、右上、左下、右下,同一层特征图、或者相邻层特征图上的小文字块都有可能被连接入同一个词中,换句话说,位置邻近、并且尺寸接近的文字块都有可能被预测到同一词中。

图 8 连接关系示意图

最后基于检测出的小文字块以及文字块连接,组合出文本框(如图9),具体组合过程如下:

(a) 将所有具有连接关系的小文字块组合起来,得到若干小文字块组; (b) 对于每组小文字块,找到一条直线能最好的拟合组内所有小文字块中心点; (c) 将组内所有小文字块的中心点投影到该直线上,找出距离最远的两个中心点A和B; (d) 最终文字框中心点为(A+B)/2,方向为直线斜率,宽度为A,B两点直线距离加上A,B两点的平均宽度,高度为所有小文字块的平均高度。

图 9 小文字块连接示意图

实验及应用

我们在两个公开数据集上(ICDAR2013,ICDAR2015)对方法进行评测。其中ICDAR2013数据集,训练图片229张,测试图片233张;ICDAR2015数据集,训练图片1000张,测试图片500张,它们都来自于自然场景下相机拍摄的图片。

(1)我们首先对比了扩大高层特征图与不扩大高层特征图的性能比较,并在基础上对比加入特征金字塔后的性能比较,在ICDAR2015数据集上实验,结果如表1:

表 1 方法中不同模块有效性验证

“baseline”方法是ssd框架+预测文字片段及片段之间连接关系模块,“扩大高层特征图”是在baseline方法基础上对高层特征图进行扩大,“金字塔+扩大高层特征图”是在baseline方法基础上对高层特征图进行扩大 并且加入特征金字塔。从表1中不难发现,扩大高层特征图可以带来精度和召回的提升,尤其是召回有近3个点的提升(73.4->76.3),这很好理解,因为更大的特征图产生更多的特征点以及预测结果;在此基础上再加入金字塔机制,精度获得显著提升,说明金字塔结构极大增强低层特征判别能力。

(2)我们也和其他方法也做了比较,具体见表2和表3:

表 2. ICDAR2013数据集与其他方法比较

表 3. ICDAR2015数据集与其他方法比较

从上表中可以看出,我们的方法在时间和精度上取得很好的权衡。在ICDAR2015数据集上,虽然性能不及PixelLink,但是FPS要远高于它;而相比TextBoxes++,虽然FPS略低于它,但是精度更高。图10给出一些文字定位结果示例。

图 10 文字定位结果示意图

(3)此外,本方法也落地应用于实际业务场景菜单识别中。菜单上文字通常较小、较密,菜名文字可长可短,以及由于拍摄角度导致文字方向倾斜等。如图11所示,方法能很好的解决以上问题(小文字、密集文字行、长文本、不同方向);并且在500张真实商家菜单图片上进行评测,相比SegLink方法,性能明显提升(近5个点提升)。

表 4 菜单测试结果

图 11 菜单文字定位结果示意图

结论

本文我们提出了一个高效的场景文本检测框架。针对文字特点,我们扩大高层特征图尺寸并构建了一个特征金字塔,以更适用于不同比例文本,同时通过检测文本片段和片段连接关系来处理长文本和定向文本。实验结果表明该框架快速且准确,在ICDAR2013和ICDAR2015数据集上获得了不错结果,同时应用到公司实际业务场景菜单识别上,获得明显性能提升。下一步,受实例分割的方法PixelLink [4]的启发,我们也考虑将文本片段进一步细化到像素级,同时融合检测和分割方法各自优缺点,构建联合检测和分割的文字定位框架。

参考文献

  • Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie. “Feature Pyramid Networks for Object Detection.” arXiv preprint. arXiv: 1612.03144, 2017.
  • J. Long, E. Shelhamer, and T. Darrell. “Fully convolutional networks for semantic segmentation.” In CVPR, 2015.
  • M. Liao, B. Shi, and X. Bai. “Textboxes++: A single-shot oriented scene text detector.” IEEE Trans. on Image Processing, vol. 27, no. 8, 2018.
  • D. Deng, H. Liu, X. Li, and D. Cai. “Pixellink: Detecting scene text via instance segmentation.” In AAAI, pages 6773– 6780, 2018.

作者简介

刘曦,美团视觉图像中心文字识别组算法专家。

招聘信息

美团视觉图像中心文字识别组:针对美团各项业务如商家入驻资质审核、网页信息合规审核等需求,对证照、票据、菜单、网图等图片类型开展文字识别研发工作。利用高性能文字识别功能,帮助业务方和商家实现自动审核 、自动录入,显著提升人效、降低成本,改善体验。

欢迎计算机视觉相关及相关领域小伙伴加入我们,简历可发邮件至 tech@meituan.com(邮件标题注明:美团视觉图像中心文字识别组)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员面试金典 - 面试题 10.01. 合并排序的数组

1. 题目 给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。 初始化 A 和 B 的元素数量分别为 m 和 n。 示例: 输入: A [1,2,3,0,0,0], m 3 B [2,5,6], n 3输出: [1,2,2,3,5,6]来源&…

LeCun论文被指「洗稿」? LSTM之父发文怒怼:抄我的还标原创

编 | 好困 Joey David源 | 新智元LSTM之父、暴脾气大爷Jrgen Schmidhuber又开炮了?这回怼的是LeCun,说最近的新论文是炒了自己20多年前的冷饭,只不过换了种说法而已。图灵奖得主Yann Lecun,作为AI界的三巨头之一,他发表…

ESLint 在中大型团队的应用实践

引言 代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到,并或多或少会思考过这一问题。随着前端应用的大型化和复杂化,越来越多的前端工程师和团队开始重视 JavaScript 代码规范。得益于前端开源社区的繁盛&#xff…

程序员面试金典 - 面试题 02.05. 链表求和

1. 题目 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 示例: 输入:(7 -> 1 -> 6) (5 -> 9 ->…

互联网人到最后拼的是体力

文 | 卫夕源 | 卫夕指北互联网人到最后拼的是体力,这么说可能有点绝对。但如果我们将时间线拉长,体力代表的精力绝对是一个人能在互联网领域保持长期竞争力的最重要的因素。至少也是最重要的之一。1.很多互联网人退出了职场竞争,看起来是心力…

谷歌、斯坦福联合发文:我们为什么一定要用大模型?

文 | Harris语言模型已经深刻变革了自然语言处理领域的研究和实践。近年来,大模型在多个领域都取得了重要的突破。它们无需在下游任务上微调,通过合适的指令或者提示就可以取得优异的性能,甚至有时让人为之惊叹。例如,GPT-3 [1] 可…

程序员面试金典 - 面试题 02.04. 分割链表

1. 题目 编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。 示例: 输入…

深度学习在搜索业务中的探索与实践

本文根据美团高级技术专家翟艺涛在2018 QCon全球软件开发大会上的演讲内容整理而成,内容有修改。 引言 2018年12月31日,美团酒店单日入住间夜突破200万,再次创下行业的新纪录,而酒店搜索在其中起到了非常重要的作用。本文会首先介…

京东金融,你到底是坏,还是码农裁多了??

7.12更新:部分基金赎回的钱已经到账小金库了,今日从小金库提现时又提示银行卡已删除,不过这次可以点击重新绑定,重新绑定时会报错“绑定的卡与原卡一致”,流程没法走完。但这时候再退回去却发现“银行卡已删除”的提示没有了。于是…

程序员面试金典 - 面试题 17.14. 最小K个数(快排划分O(n))

1. 题目 设计一个算法&#xff0c;找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例&#xff1a; 输入&#xff1a; arr [1,3,5,7,2,4,6,8], k 4 输出&#xff1a; [1,2,3,4]提示&#xff1a; 0 < len(arr) < 100000 0 < k < min(100000, len(arr))来…

LruCache在美团DSP系统中的应用演进

背景 DSP系统是互联网广告需求方平台&#xff0c;用于承接媒体流量&#xff0c;投放广告。业务特点是并发度高&#xff0c;平均响应低&#xff08;百毫秒&#xff09;。 为了能够有效提高DSP系统的性能&#xff0c;美团平台引入了一种带有清退机制的缓存结构LruCache(Least Rec…

程序员面试金典 - 面试题 17.16. 理发师(动态规划DP)

1. 题目 一个有名的理发师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时间&#xff0c;因此她不能接受相邻的预约。给定一个预约请求序列&#xff0c;替理发师找到最优的预约集合&#xff08;总预约时间最长&#xff09;&am…

关于NLP自监督学习,面试时被问崩溃了!

不要错过文末福利❤扫盲自监督无监督&#xff08;有不少同学还答不上来自监督和无监督真正的区别&#xff0c;我不是针对谁。&#xff09;无监督学习&#xff1a;无监督学习不依赖任何标签值&#xff0c;通过对数据内在特征的挖掘&#xff0c;找到样本间的关系&#xff0c;比如…

智能支付稳定性测试实战

本文根据美团高级测试开发工程师勋伟在美团第43期技术沙龙“美团金融千万级交易系统质量保障之路”的演讲整理而成。主要介绍了美团智能支付业务在稳定性方向遇到的挑战&#xff0c;并重点介绍QA在稳定性测试中的一些方法与实践。 背景 美团支付承载了美团全部的交易流量&#…

程序员面试金典 - 面试题 16.01. 交换数字(位运算swap)

1. 题目 编写一个函数&#xff0c;不用临时变量&#xff0c;直接交换numbers [a, b]中a与b的值。 示例&#xff1a; 输入: numbers [1,2] 输出: [2,1]提示&#xff1a; numbers.length 2来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://le…

阿里巴巴达摩院对话团队招聘研究实习生!

招聘贴投放请联系微信xixiaoyao-1阿里巴巴-达摩院-对话智能团队正在招募研究实习生&#xff01;团队介绍达摩院对话智能&#xff08;Conversational AI&#xff09;团队成立于2014年&#xff0c;专注于人机对话前沿研究和大规模应用&#xff0c;打造了任务型对话开发平台 Dialo…

人物志 | 技术十年:美团第一位前端工程师潘魏增

导读 潘魏增&#xff0c;2006年毕业于南开大学电子系&#xff0c;2008年加入早期饭否团队。美团第一位前端工程师&#xff0c;现在是X项目组终端研发部的负责人。处女座&#xff0c;INTJ&#xff0c;喜欢Linux和Vim&#xff0c;崇尚开源&#xff0c;相信开源可以让世界变得更美…

程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历)

1. 题目 给定一个有序整数数组&#xff0c;元素各不相同且按升序排列&#xff0c;编写一个算法&#xff0c;创建一棵高度最小的二叉搜索树。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是&#xff1a;[0,-3,9,-10,null,5]&#xff0c;它可以表示下面这个高度平衡二…

算法岗校招已成“人间地狱”,还有办法上岸吗

由于一系列众所周知的原因&#xff0c;算法岗的竞争越来越激烈&#xff0c;知乎上有个问题&#xff0c;形象的将算法岗的秋招形势比喻成了“人间地狱”。虽然有夸张的成分&#xff0c;但也一定程度上反映了如今算法岗“僧多粥少”的现状。内卷焦虑、网络偏差影响下&#xff0c;…

LintCode 1753. 写作业(二分查找)

1. 题目 n个人&#xff0c;他们每个人需要独立做 m 份作业。 第 i 份作业需要花费 cost[i] 的时间。由于每个人的空闲时间不同&#xff0c;第 i 个人有 val[i] 的时间&#xff0c;这代表他做作业的总时间不会超过 val[i]。每个人都按照顺序&#xff0c;从1号作业开始&#xff…