• 自然场景文本识别:基于笔画宽度变换的文本检測


            近期在学习自然场景(Natural Scenes)的文本识别(Text Recognition)问题,这一问题也是时下一个很热门的亟待解决的问题。在阅读学习了一定量的文献资料之后,有了一定收获,本文提到的基于“笔画宽度变换”(Stroke Width Transform)的方法,是眼下个人看到比較认同的方法。

            对于自然场景的文本识别,一个非常重要的问题就在于怎样从自然场景的图片中检測与定位出文本信息。考虑到文本的结构、像素、几何变形、背景复杂度、图像分辨率等多种问题带来的干扰,对于文本的检測着实存在着不小的难度。

    就本人所学习到的文献中所提到的文本检測定位的方法主要能够分为三类:基于连通域的分析、基于边缘特征的分析、基于纹理特征的分析。然而遗憾的是。因为以上的特征并不单单仅仅属于文本独有的特征。比方植物以及某些景物都有类似的特征,这就意味着以上的方法还具有非常多兴许的处理须要进行。何况存在的非常大的一个问题是。对于文本的检測。以上方法是否对全部的语言具有普适性。有待研究。

            本文所讨论的基于笔画宽度变换的方法,是个人在学习中看到的比較推崇的方法。这一方法的一个非常大的优势在于,笔画特征基本上是属于文字独有的特征(当然也不排除某些视觉景物的干扰,须要兴许操作加以剔除)。而基于笔画特征。对于不同语言的文本是普适的,这是一个极大的优势。这一方法的一个基础的根据在于:统一的文本基本具有统一的笔画宽度。本文主要对Microsoft Corporation的文献Detecting Text in Natural Scenes with Stroke Width Transform 进行一定的学习,并加以总结。作为分享。

           以下就这一方法的几个基本的部分进行描写叙述说明,首先再次强调的是本文方法所基于的基础现实是文本具有基本一致的笔画宽度。

    在论文中主要提出三部分过程来解决自然场景的文本识别问题。本文将依次总结介绍:


    一、The Stroke Width Transform :

    1、利用Canny edge detector对图像进行边缘检測,得到的每一个边缘像素点p都具有一个方向梯度值dp;

    2、若p位于笔画边缘。dp一定大致垂直于笔画方向,沿着射线 r=p+n*dp (n>=0)梯度查找与之相应的还有一个边缘像素点q,那么dp与dq的方向是大致相反的(dp = dq ± π/6 ) ,此时会出现两种情况:

    (1)p找不到相应的匹配的q或者dp 与dq不满足大致反向的要求。那么该射线r 废弃掉。

    (2)假设找到满足要求的q那么在[p,q]这条路线上的每一个像素点都会被指定笔画宽度属性值||p-q||(欧式距离),除非该店已经被指定了一个更小的笔画宽度属性值。

    3、反复步骤2,计算出全部未被废弃的路线上的像素的笔画宽度值,算法结束。

    注意:

    (1)这一方法实质上就在对于每一个可能属于文字部分的像素点与它最有可能所属的笔画建立联系,这一联系就是该笔画的宽度。能够想见的在未来的处理中,将会对该值相近的连通候选区域进行聚类。即觉得他们属于同一笔画。进一步的能够构造出每一个笔画,形成文字区域。

    (2)在上述的过程中。实际上是默认了针对于亮底暗字的正向文本,假设是对于暗底亮字的反向文本,那在步骤2中就须要沿着dp的返方向来查找q。这样,在实际算法的推行过程中。是须要反复以上过程两次的:一次沿着dp方向,还有一次则沿着-dp方向。


    二、Finding letter candidates:

    这一步要做的是。对于过程一中找到的候选文字狱加以剔除的处理。鉴于上一步骤中得到的结果可能存在干扰(如电线杆可能被识别为文字候选域)。须要进一步的处理,主要有下面部分:

    (1)计算每一个连通候选区域各个像素点笔画宽度属性值的最大差值,对于差值太大的情况加以排除,这能够排除掉如树叶这种区域,此处的 阙值设定为连通区域笔画宽度属性之平均值的一半;

    (2)对于候选区域长宽比要求在0.1到10之间,不符合要求的剔除掉。对于电线杆等长宽比較大的区域能够排除。

    (3)一块区域的边界框包括不超过两块区域,以消除文本外围包围线之类(符号框架)。

    (4)对于太大或太小的连通域也排除掉;

    (5)单独的字符通常不出如今图像中,当作噪声剔除。


    三、Grouping letters into text lines:

    这里觉得文本是以线性的形式出现的。一行文本时有相似之处的,如:笔画宽度、字幕宽度、高度、字符间距等。

    假设两候选字符满足:

    (1)具有相似笔画宽(中值之比小于2.0)。

    (2)高度比不超过2.0;

    (3)距离不超过宽字符的三倍;

    (4)颜色相近

    等特征,那么就对满足条件的字符聚类,形成text lines,实际上,这并不须要在文本的检測中加以处理,在OCR的过程中是能够进行的。


    OK。以上是个人学习的一点总结概括,假设个人理解有不当之处,或读者有进一步见解,欢迎留言探讨,共同学习。





  • 相关阅读:
    顯示IP
    iPad开发学习之二HelloWorld及发布ipa
    转:iphone/ipad网站开发技巧整理
    poj1026
    poj3270
    poj3132
    poj3617
    poj3692
    从C#到Python —— 谈谈我学习Python一周来的体会
    使用Dreamweaver格式化HTML代码
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6774020.html
Copyright © 2020-2023  润新知