您的位置:首页 > 理论基础

Extremal Region(极值区域)文本定位与识别法-学习笔记(三)

2015-02-07 15:33 253 查看
最近做一个计算机视觉的项目,要将其中复杂场景中的文本识别率从92%进一步提升,挑战很大也很有意思。边阅读一些最新的文本定位与识别的论文,边在这里记下阅读笔记与翻译内容,慢慢研究。本人英语与专业水平有限,仅供学习参考,欢迎交流,请多指教。

Reference:Real-TimeScene Text Localization and Recognition    Luk´aˇsNeumann  Jiˇr´ı Matas  2012 IEEE

递增计算描述子(Incrementally computable descriptors)

极值区域快速分类的关键先决条件是对区域描述子的快速计算(区域描述子是分类器使用的特征)。

正如J. Matas and K.Zimmermann. A new class of learnable detectors for categorisation.  In Image Analysis, volume 3540 of LNCS, pages541–550. 2005. 论文中提到的,可以利用一种特定类型的描述子以及利用极值区域之间的包含关系来递增地计算描述子的值。
R θ−1 表示θ-1阈值下的极值区域(ERs),则ER
r ∈ R θ 即在θ阈值下的极值区域
r是θ-1阈值下的极值区域与像素值为的像素的并集:



进一步假设所有在阈值u
∈ R
θ-1 下的极值区域的描述子φ(u)都是已知的。为了计算区域r
∈ R θ的描述子 φ(r),必须要结合区域u
∈ R θ-1
的描述子与形成区域r的值为θ的像素

,即:



⊕表示联合描述子与区域像素的操作

ψ(p)表示计算给定像素p的描述子的初始化函数

显然我们可以通过从0到255依次增大阈值来简单地计算所有极值区域的描述子(计算在阈值theta时增加的像素的描述子 ψ ,以及利用区域  φ 在阈值为theta-1时的描述子。注意到这个特性意味着仅有必要在内存中保存前一个阈值的描述子,因此与基于MSER的方法相比,ER法内存占用非常小。再者,如果假定单个像素ψ(p)与联合操作⊕是常数时间的复杂度,则在一幅N个像素的图像中计算所有极值区域的描述子的复杂度为O(N)。这是因为 φ(p) 为每个像素仅计算一次,同时联合函数最多被评估N次(因为极值区域的数目受限于一幅图中的像素数)。
         在本论文中使用以下的递增计算描述子:
Area a. 区域像素总数,初始化函数是一个常数函数ψ(p)=1,联合操作⊕就是加法(+)。
Bounding
Box
(Xmin,Ymin,Xmax,Ymax)外接矩形的左上角与右下角坐标。像素p(坐标为(x,y))的初始化函数是一个四倍像素区域(x,y,x+1,y+1),联合操作符⊕是(min,min,max,max),其每一个操作是对四个值分别进行。区域的宽w=Xmax-Xmin,高h=Ymax-Ymin。

Perimeter p.
区域的边界长度。初始化函数ψ(p)确定了新阈值下比上一阈值增加的像素p在所增加的位置导致的周长的变化值,即:



其联合操作是加法(+)。ψ(p)的计算复杂度是O(1),因为每一个像素最多有4个领接像素。



计算图示:灰色为上一阈值的极值区域,红色为当前阈值所新增加的像素。P1、p3与灰色区域有2个像素相邻,所以ψ(p)=4-2*2=0,而p2与灰色区域有1个像素相邻,所以=4-2*1=2;如果下图所示与3个像素相邻,则反而周长减小2。



Euler number  η.
欧拉数是二值图像的拓扑特征,它是连通域数目与孔洞数目的差。一种简单有效地计算欧拉数的方法是计算2*2像素模式的数目(也被称为quads?),如下面二值图像的模式(quads):



欧拉数可以计算为:

,C1,C2,C3表示quads
Q1,Q2,Q3各自在图像中的数目。
上面计算欧拉数的方法可以被用于递增式计算,只需要简单地计算图像中变化的quads的数目。欧拉数特征的初始化函数ψ(p)是由给定阈值C(p)下像素p从0变到1所导致的quads
Q1,Q2,Q3的数目的改变所决定的。



ψ(p)的计算复杂度是O(1),因为每个像素最多出现在4个quads中,联合操作也是加法(+)。
计算图示:关于quads的个人理解如下图所示:



即:Q1为外角点,Q2为内角点,Q3为交叉点

所以下图的计算为:增加的p1减少了1外角点,而原来的1个交叉点变为1个内角点,所以为:1/4((-1)-(+1)+2(-1))=-1,而增加的p2增加了1个外角点和1个内角点,即:1/4((+1)-(+1)+0)=0。



Horizontal crossings ci
水平交叉点数,用一个长度为h(即图像高度)的vector来保存对应行像素在属于r与不属于r之间转变的次数。初始化函数的的值由在阈值C(p)下像素p的左右邻接像素的存在与否来定。联合操作是按元素的加法(+),即对vector的对应行元素进行操作。ψ(p)的计算复杂度为常数的,因为每个像素在水平方向最多有2个邻接像素;按元素加法复杂度也是常数的,因为假定使用的数据结构的随机访问和两端插入操作的复杂度为O(1)(如双端队列)。



计算图示:r1区域:第1、4行无像素,所以0次跳变,第2、3行在左右边界处有跳变,都为2次跳变,所以r1对应的向量为(0,2,2,0),同理r2的水平交叉点向量为(2,2,4,2)。增加p1后,第1行增加了2个跳变,其余行不变,即(2,0,0,0),增加p2不增加跳变,即(0,0,0,0),增加p3连通了r1、r2,导致跳变减小了2个,即(0,0,-2,0)。

To be continued...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机视觉 OCR ER