矩形结构的识别被广泛应用在各个领域, 例如低温电子显微镜下对矩形和圆形微粒的自动检测; 航拍图片中对矩形结构(例如车辆、建筑物)的自动或半自动检测; 或者检测图像或录像里的车牌辨识等等. 目前文献论述的大多数矩形检测方法是基于原始边缘和直线的检测[1–3]以及基于图像阈值分割检测矩形[4–8]. 例如Lagunovsky和Ablameyko提出了基于原始直线的矩形检测技术[1]. 首先, 提取出原始直线, 将这些直线分组聚合为线段. 对比其长度和方向来检测出四边形, 再进一步近似为矩形. Lin和Nevatia提出了在航拍图像中检测矩形和平行四边形的技术[2]. 他们的技术基于线检测, 之后选择某些在某些值范围内的线段(取决于建筑物的最大和最小尺寸). 在给定的线段中搜索反平行线, 从而定义一个搜索区域, 再搜索矩形的余下两条边. Jung和Schramm提出了一种使用一个环形滑动窗口在图像中进行逐像素扫描, 对当前环形窗口内的图像求Hough变换, 通过检验Hough空间内的峰值的特性, 来判断当前滑动环的圆心是否落在矩形的中心点[3]. 这种方法可以有效精确地检测出任意矩形, 但是逐行扫描的方式会导致大量像素点被重复计算, 算法效率低. Mahnaz Shafii和Maher Sid-Ahmed在近年来的研究中提出了一种基于图像中的平行轴边界框的最小面积来对文档中的结构进行倾斜检测和矫正. 通过使用最小边界框的区域标准来增强垂直轮廓和平行轮廓. 这种方法在多种倾斜角度中都可以有效地匹配[4]. 而基于阈值分割的方法对输入图像目标和背景反差要求较高, 容易受到噪声的干扰而不易准确的检测到目标矩形[9–11].
本文面向银行票据自动裁剪应用需求, 结合了基于直线的检测和基于图像阈值分割的两种策略的优点以及在特定环境下的局限性, 提出了一种基于窗口霍夫变换与阈值分割的图像中矩形的自动识别策略: 对全局图像的Hough Space峰值进行匹配, 将匹配的结果与对图像阈值分割的结果做拟合, 从而得到票据的目标区域. 具有如下特点: 1) 能有效区分非目标区域的噪声结构干扰; 2) 无须设定阈值; 3) 算法性能优越, 匹配结果快速准确.
1 算法原理 1.1 Hough变换原理(HT)HT是利用图像的全局特征将图像的形态学信息做变换与统计的方法, HT用来检测一个图像的线性结构是很有效的. J.Princen等提出了对Hough变换的正式的数学定义. 广义的霍夫变换(Hough transform)可以表示为通过对目标形状的量化所得到的核函数(Kernel Function)在关于数据点集合之内的积分. 其中, Kernel Function为目标的形状和量化参数空间之间的转化关系[12]. Duda和Hart[13]的研究表明任何线在xy平面内都能被描述成
由于在霍夫空间的线段峰值特性明显, 因此基于霍夫空间的基线模式的检测被广泛应用. Abdelhak所提出的基于随机霍夫变换的技术用于对阿拉伯语文件的倾斜校正和基线检测[14]. 通过计算文本行中较低基线的斜率来识别和矫正文档的倾角. Trupti的研究中也将霍夫变换应用于手写梵文文档的倾斜检测和矫正, 通过提取文档的每个词, 对每个词语单元做霍夫变换来检测歪斜[4]. 我们早期的研究也通过霍夫空间的基线检测技术来对银行票据进行预处理[15].
在图像中识别矩形包含多个对象, 我们需要在给定的霍夫空间中检测出能够识别出矩形特征的模式. 因此, 我们记录了一些矩形所包含的特定几何联系, 可以用来直接在霍夫空间中做检测.
1.2 在Hough Space里的矩形特征模式假设一个矩形包含四个顶点
![]() |
图 1 处在笛卡尔坐标系的矩形 |
这个矩形在霍夫空间的图像如图2, 它有四个峰值点, 分别为
![]() |
图 2 对矩形做Hough变换的Hough space |
不难观察到这4个峰值满足下面的几何关系:
1) 令
2) 属于同一对峰值点的两个峰值高度是相等的, 对应到各自的线段的长度. 例如
3) 每对峰值之间的垂直距离正好是矩形的边, 即
若在当前图像中有其他结构, 这些边缘会和干扰信息和其他结构相关联, 也许也会匹配这些几何关系. 因此, 对干扰信息的去除也是不可缺少的步骤.
1.3 构建并分析峰值点集合接下来是通过在所得的离散化Hough空间里寻找峰值来检测线段. 由于
$C{}_{enh}(\rho ,\theta ) = hw\frac{{C{{(\rho ,\theta )}^2}}}{{\int_{ - h/2}^{h/2} {\int_{ - w/2}^{w/2} {C(\rho + y,\theta + x)dxdy} } }}$ | (1) |
其中h和w表示增强过的矩形区域的长和高. 由于ρ和θ已经被量化, 所以通过矩形遮罩的卷积来求上式的积分. 最终, 将满足
对当前的点集
1)
2)
上式中, Tθ是最小容错角度阈值, TL是最小容错归一化阈值,
接下来, 对当前所有
最后, 对
$\Delta \alpha = ||{\alpha _k} - {\alpha _l}| - 90^\circ | < {T_\alpha }$ |
所找到的两对
由于光照的干扰, 将彩色票据图像转化为灰度图像会有可能丢失边缘细节特征, 考虑到接下来的工作需要对图像做阈值分割, 所以本文直接对彩色图像的RGB三通道进行处理.
2.2 对边缘图像做Hough变换在M*N目标图像中, 将ρ离散化为p*ρ个参数空间, 将θ离散化为K*θ个参数空间. 对于p和K的选取, Furukawa和Shinagawa所提出的方法具有借鉴意义, 对于一个M*N图像来说, 计算出的霍夫图像长为4M/3, 宽为4N/3. 在这个情况下, 可以设定M=N=Dmax, 即可得离散步长:
在实际应用中, 由于银行票据通常具有固定不变的长宽比, 该约束条件可以用来在当前所找到的两对
${T_{\xi \min }} \le {\xi _1}/{\xi _2} \le {{{T}}_{\xi {\rm{max}}}}$ | (2) |
式中,
此处采用我们早前提出的自适应直方图阈值二值化的目标分割算法[15]. 分割结果往往包含噪声, 如孤立点噪声或呈块状的噪声, 可以分别通过中值滤波和对形态学操作来消除.
2.5 将分割结果与霍夫变换的矩形做拟合修正最后, 我们得到了一个存储图像矩形信息的集合List<R>和一个二值化的图像. 遍历List<R>的元素, 将每一个矩形元素映射到二值化图像中, 对目标矩形区域内的像素做采样, 记录矩形元素和二值图像的拟合值, 选择最大值的矩形元素. 此矩形即为目标矩形.
3 算法测试为了验证本文所提出的方案的有效性, 本文面向银行票据自动裁剪需求, 选取了50组真实拍摄银行票据图像进行识别率测试. 银行票据具有较为完整的矩形结构, 但是真实拍摄的银行票据图像存在的多种自然光照不均和拍摄角度造成的干扰对票据的准确识别带来了难度.
测试中, 本文将使用我们早期的研究结果自适应阈值分割方法(即对纠偏图像进行自适应二值分割, 确定裁剪框的方法)[15]和本文所提出的方法所测试的结果进行识别率的比对.
3.1 测试数据本研究工作的测试数据为高清摄像机采集的照片图像, 分为2种分辨率, 分别是2592*1944和1600*1200. 本文将给出其中的2个典型数据, 如图3所示. 其中, 图3(a)的票据整体呈矩形, 但是四条边均存在褶皱, 图3(b)里包含一张黄色的小矩形作为匹配的非目标区域. 两组数据的背景和票据的灰度差异并不能完全地拉开, 这无疑降低了阈值分割方法的匹配度.
![]() |
图 3 待测试的票据图像 |
3.2 实验结果及分析
使用自适应阈值分割裁剪的结果如图4所示. 实验结果表明, 在没有其他矩形干扰情况下, 该方案能有效准确地识别出票据, 并且不会留下明显的黑边, 如图4(a)所示. 然而, 如果背景和票据的灰度反差降低, 会导致在二值图像内仍然存在除了目标区域之外的背景区域未被分割. 易将包括亮背景区域的矩形当成目标矩形, 从而导致裁剪结果不当, 如图4(b)所示.
本文方法裁剪结果如图5所示. 结果表明, 在存在严重背景干扰情况下, 此裁剪结果仍能有效地识别出票据. 这个结果主要是得益于Hough变换带来的所有可能性的矩形匹配.
由对比结果可以看出, 自适应二值化分割算法一定程度上依赖于背景和主题目标的高对比度, 因此在低对比度的环境下, 可能会发生错误匹配的情况. 而本方案依赖于矩形特征和对比度两个方面, 能有效地去除低对比度环境下的干扰.
![]() |
图 4 阈值分割法的裁剪结果 |
![]() |
图 5 本文方法的裁剪结果 |
3.3 性能改进
由于对一张图像做Hough变换涉及逐像素进行浮点运算, 其运算过程所消耗的时间占处理图像时间的极大比重. 而对图像做Hough变换是为了得到图像的量化结构信息, 因此Hough变换的结果只与图像本身结构有关, 与图像分辨率无关. 对于待处理图像, 本文将其以固定宽为100像素等比例压缩. 对压缩之后的缩略图做Hough变换, 所得到的量化结构信息做矩形识别. 对识别出的裁剪框按照比例还原在原图的位置, 再对原图进行裁剪和倾斜校正. 表1和表2统计了对原图以及缩略图做识别所用的平均时间.
![]() |
表 1 处理原图所用平均时间(单位: ms) |
从表1和表2分析可以看出, 使用缩略图进行处理, 其算法的速度优化明显. 大量的逐像素运算已经不再成为性能瓶颈. 尤其是对较高分辨率的图像, 由于Hough变换与图像大小无关, 因此处理时间减幅更大, 使得实现实时票据裁剪和远程存储成为可能.
![]() |
表 2 处理缩略图所用平均时间(单位: ms) |
4 结论与展望
本文针对银行票据自动裁剪应用需求, 基于窗口Hough变换和阈值分割, 提出了自适应Hough变换的矩形匹配和阈值二值分割算法. 窗口Hough变换对目标的识别具有结构约束, 二值分割对目标识别具有灰度对比约束, 能够最大可能降低光照对分割的不利影响. 在目前的50张实际拍摄银行票据图像的测试中, 能通过97.5%的测试数据. 反映出本算法的可靠性和稳定性, 具有推广应用价值.
[1] |
Lagunovsky D, Ablameyko S. Straight-line-based primitive extraction in grey-scale object recognition. Pattern Recognition Letters, 1999, 20(10): 1005-1014. DOI:10.1016/S0167-8655(99)00067-7 |
[2] |
Lin CG, Nevatia R. Building detection and description from a single intensity image. Computer Vision and Image Understanding, 1998, 72(2): 101-121. DOI:10.1006/cviu.1998.0724 |
[3] |
Jung CR, Schramm R. Rectangle detection based on a windowed Hough transform. Proceedings of the 17th Brazilian Symposium on Computer Graphics and Image Processing. Curitiba, Brazil. 2004. 113–120.
|
[4] |
Jundale TA, Hegadi RS. Skew detection and correction of Devanagari script using Hough transform. Procedia Computer Science, 2015(45): 305-311. DOI:10.1016/j.procs.2015.03.147 |
[5] |
Illingworth J, Kittler J. A survey of the Hough transform. Computer Vision Graphics & Image Processing, 1988, 43(2): 280. |
[6] |
Leavers VF. Survey: Which Hough transform?. CVGIP: Image Understanding, 1993, 58(2): 250-264. DOI:10.1006/ciun.1993.1041 |
[7] |
Furukawa Y, Shinagawa Y. Accurate and robust line segment extraction by analyzing distribution around peaks in Hough space. Computer Vision and Image Understanding, 2003, 92(1): 1-25. DOI:10.1016/j.cviu.2003.07.002 |
[8] |
李牧, 闫继红, 李戈, 等. 自适应Canny算子边缘检测技术. 哈尔滨工程大学学报, 2007, 28(9): 1002-1007. |
[9] |
韩思奇, 王蕾. 图像分割的阈值法综述. 系统工程与电子技术, 2002, 24(6): 91-94, 102. |
[10] |
刘欣欣, 李雪, 王琼. 基于灰度直方图的多阈值分割法. 计算机应用与软件, 2013, 30(12): 28-30, 63. DOI:10.3969/j.issn.1000-386x.2013.12.008 |
[11] |
陈果, 左洪福. 图像阈值分割的两种新技术. 模式识别与人工智能, 2002, 15(4): 468-473. |
[12] |
Princen J, Illingworth J, Kittler J. A formal definition of the Hough Transform: Properties and relationships. Journal of Mathematical Imaging and Vision, 1992, 1(2): 153-168. DOI:10.1007/BF00122210 |
[13] |
Duda RO, Hart PE. Use of the Hough transformation to detect lines and curves in pictures. Communications of the ACM, 1972, 15(1): 11-15. DOI:10.1145/361237.361242 |
[14] |
Boukharouba A. A new algorithm for skew correction and baseline detection based on the randomized Hough transform. Journal of King Saud University–Computer and Information Sciences, 2017, 29(1): 29-38. DOI:10.1016/j.jksuci.2016.02.002 |
[15] |
贺辉, 刘琨, 肖红玉. 银行票据自动裁剪方案设计与控件开发. 计算机与数字工程, 2016, 45(7): 1327-1332. |
[16] |
陈强, 朱立新, 夏德深. 结合Canny算子的图像二值化. 计算机辅助设计与图形学学报, 2005, 17(6): 1302-1306. |
[17] |
Shafii M, Sid-Ahmed M. Skew detection and correction based on an axes-parallel bounding box. International Journal on Document Analysis and Recognition, 2015, 18(1): 59-71. DOI:10.1007/s10032-014-0230-y |