一种基于笔划特征的自然场景文本检测算法
【技术领域】
[0001] 本发明涉及基于图像内容的检索领域,特别是涉及一种基于笔划特征的自然场景 文本检测算法。
【背景技术】
[0002] 传统的OCR技术经过多年的研宄进展,可以高质量、准确地识别印刷文档,已达到 实用要求,很多公司推出了这方面的商业软件。然而传统的OCR技术只能识别分辨率高,背 景简单,布局不太复杂的扫描图像。而在现实环境中则是存在大量的文本图像很难符合这 样的要求,比如车牌,路标,广告牌、视频图像等自然场景中的文本。这些场景中的文本信息 很丰富,例如新闻视频文本中的字幕,包含了事件发生的时间、地点和人物等关键信息。准 确地识别出这些文本,对于信息检索,网页检索,身份识别和电子导游设备有重要的意义, 但是由于自然场景中字符大小,字体颜色变化大,背景复杂,畸形等特点使得文本识别远远 没有达到人们的期望,如果通过计算机自动地获取,是一件极具挑战和实际意义的工作。
[0003] 自然场景文本检测是是图像内容的信息提取技术的关键一环,文本检测和定位的 好坏对最终的识别结果有着极其重要的影响,国内外广大研宄人员做了大量的研宄工作, 提出了很多的文本检测方法。但由于自然场景复杂性特点,试图设计一套通用的自然场景 文本检测系统仍然是十分困难的。如何从复杂的自然场景中快速准确地定位出文本区域 及如何尽可能降低遗漏率,这就是目前自然场景文本检测在图像领域的一个研宄热点和难 点。
[0004] 目前的自然场景文本检测技术主要分为两类,基于区域的和基于纹理的。基于区 域的方法主要自下而上的聚合和自上而下的剪枝两部分组成,自下而上的聚合采用过程完 成初始候选文本字符的确定,文本行的生成等,自上而下的剪枝则是在字符水平和文本行 水平对非文本字符和非文本区域进行过滤。而基于纹理的方法则是把文本区域视为一种特 殊的纹理,采用滑动窗的方法,通过采用Gabor滤波,直方图统计等方法,观察响应,从而确 定滑动窗所在的区域是否是文本区域,后期通过分裂和合并算法得到最终的文本区域。
【发明内容】
[0005] 本发明的目的在于克服现有技术的不足,提供一种基于笔划特征的自然场景文本 检测算法,能够从任意的自然场景图像中检测出文本区域的位置,克服了传统文本检测算 法对自然场景图像中文字的字体、大小、颜色等特征敏感的不足,并且提高了算法的计算速 度,在保证准确度的同时,相比于基于纹理的检测方法,大大降低了计算量,为在便携式智 能设备上应用提供了条件。
[0006] 本发明的目的是通过以下技术方案来实现的:一种基于笔划特征的自然场景文本 检测算法,它包括以下多个步骤:
[0007] S1:图像预处理
[0008] 进入输入图像处理,获取自然场景图像,通过图像预处理模块对自然场景图像进 行预处理,提取和突出图像的边缘特征。
[0009] S2 :笔划宽度特征提取
[0010] 通过笔划宽度特征提取模块提出笔画宽度特征,利用步骤S1中的边缘检测结果 和颜色一致化信息进行笔划特征提取,过滤掉背景区域,得到每个边缘像素点的笔划宽度 值。
[0011] S3 :候选文本字符的生成和过滤
[0012] 通过字符水平过滤模块完成候选文本字符的生成和候选文本字符的过滤处理,采 用基于笔划宽度和颜色的区域生长算法得到候选文本字符;字符水平过滤模块中包括笔划 滤波器,通过笔划滤波器完成候选文本字符的过滤处理,采用笔划滤波响应和MSER区域限 制滤除由笔划宽度像素聚合成的非文本候选文本字符。
[0013] S4 :文本行生成和文本行过滤
[0014] 通过文本行生成模块完成文本行的生成,对所有的候选文本字符按照一定的聚对 规则进行聚对处理,得到字符对,然后再将字符对按照一定的合并规则进行合并处理,生成 文本行;通过文本行过滤模块完成文本行过滤处理,在字符水平层次和文本行水平层次进 行两层分类,分别对字符水平和文本行水平进行过滤,剔除非文本字符和非文本区域而得 到最终的文本区域。
[0015] 步骤S2所述笔划宽度特征提取的具体过程为:
[0016]S201:在图像边缘上选择一个起始像素点p,其梯度方向为dP,从p点开始沿着梯 度方向作射线r直到寻找到另一个边缘终止像素点q,q点的梯度方向为dq,若士和dq方向 大致相反,即满足公式:+f,则此次射线寻找有效。
[0017] 所述的射线r的计算公式为:r=p+n?dp(n>0),其中,n为射线r的步长。
[0018] S202 :否贝I」,此次射线寻找无效,重新规划起始像素点p的寻找方向为 △///= + |,然后沿着射线r的方向重新开始查找,知道寻找到另一个边缘终止像素点 q',若此时dp'和dq'满足公式:+ 则此次射线寻找结果有效。
[0019] S203 :否则,重新选择新的边缘起始像素点,继续S201~S202的寻找过程。
[0020]S204 :在射线查找有效的情况下,计算笔划宽度值sw,其计算过程如下:计算起始 点P和终止点q之间的线段长度W= |fFi|,遍历射线上p和q之间的所有点,若该点没有 被赋予笔划宽度值,则赋予笔划宽度值sw,若该点已经被赋予过笔划宽度值,则比较其笔划 宽度值sw和线段长度w的大小,取其较小者作为该起始点p的笔划宽度值Sw。
[0021] S205 :重复S201~S204过程,计算出所有候选文本像素的笔划宽度值sw。
[0022] 所述的步骤S2还包括笔划宽度修正子步骤:
[0023]S206:笔划宽度值的修正
[0024] 在笔划宽度值不能准确地表征其笔划属性时,应对其进行修正,包括以下一种或 多种情况;
[0025]①拐角处笔划像素修正:重新遍历所有有效的射线,计算其像素笔划宽度中值,重 新设置该射线上笔划宽度超过中值的为笔划宽度中值;
[0026] ②孤立笔划点的消除:统计笔划点周围5X5范围内计算有效笔划点的个数,消除 孤立笔划点;
[0027] ③局部极大笔划点抑制:对笔划点周围超出平均值3倍的极大笔划点进行抑制, 消除字符间的干扰笔划线。
[0028] 步骤S3中所述的区域生长算法为:
[0029]用4维向量{sw,I,,Ig,IJ表征笔划宽度特征图上的像素点,其中,sw表示该像素 点的归一化的笔划宽度值,L、Ig、Ib分别表征该像素点的归一化的R、G、B通道的颜色值,利 用区域生长算法得到候选文本区域,其相似性计算公式为:
[0030]
【主权项】
1. 一种基于笔划特征的自然场景文本检测算法,其特征在于,它包括以下多个步骤: S1,图像预处理:进入输入图像处理,获取自然场景图像,通过图像预处理模块对自然 场景图像进行预处理,提取和突出图像的边缘特征; 52, 笔划宽度特征提取