特征检测[1]是计算机视觉和模式识别的经典问题之一,在计算机辅助设计、自动化检测、物体定位等领域有着十分重要的应用。平行性是一种常见的几何特征,在现实场景中广泛存在,比如斑马线、天线、楼梯等多呈现出平行结构;交通标识牌、建筑物、家居装饰等由于观察角度的原因其整体形状往往呈现出变形的效果,但局部的平行特性保持不变,表现为平行四边形或具有平行结构的多边形。
目前,针对图像平行结构检测的研究较少。直线平行性的判断最常用的思路是通过Hough变换得到直线,通过直线斜率相等判断两直线平行;Zheng等[2]使用马尔可夫模型和维特比解码实现表格与横格稿纸中的平行线检测;Lin等[3]对检测出的直线进行平移后计算误差,若误差小于某一阈值则认为直线平行。针对矩形和多边形检测的方法较多[4–15]。广义Hough变换[4]理论上可用于多边形检测,但由于参数超过2维带来的时间消耗和存储空间的急剧增大使得实际工作中几乎不采用该方法;加窗Hough变换[5]通过判断Hough变换后的
作者在充分研究平行结构特性的基础上,基于距离信息提出了平行算子的概念;在此基础上,对于图像中的任一边缘点,计算其平行点组,统计某一方向平行点组的数量,若大于阈值则利用Hough变换实现图像中平行直线的检测;随后,验证非平行直线2个交点间线段的存在性,并根据线段2个端点的位置,实现具有平行结构的多边形的检测。本文所提方法利用图像中平行点的信息,由点获得线,由线组合为多边形。相较于现有方法,本文方法更具有普遍性,适用范围更加广泛。
1 平行算子对于图像中任一点
| ${l_i}{\text{:}}[{g_{ix}},{g_{iy}}, - ({g_{ix}}{x_i} + {g_{iy}}{y_i})]$ | (1) |
其中,
![]() |
| 图1 方向线 Fig. 1 Orientation line |
对于任意两点
| ${d_{{P_1}{P_2}}} = \sqrt {{{({x_1} - {x_2})}^2} + {{({y_1} - {y_2})}^2}} $ | (2) |
点P1到点P2方向线的距离定义为
| ${d_{{P_1}{l_{{P_2}}}}} = \left| {{a_2}{x_1} + {b_2}{y_1} + {c_2}} \right|/\sqrt {a_2^2 + b_2^2} $ | (3) |
其中,
同理,点P2到点P1方向线的距离为:
| ${d_{{P_2}{l_{{P_1}}}}} = \left| {{a_1}{x_2} + {b_1}{y_2} + {c_1}} \right|/\sqrt {a_1^2 + b_1^2} $ | (4) |
其中,
通常
![]() |
| 图2 点到点距离与点到线距离 Fig. 2 Distance between the point to the point and distance from the point to the line |
对于任意两点Pi和Pj,点Pj对Pi的平行算子定义为:
| $E = {{\rm{e}}^{ - |{d_{{P_i}{l_{{P_j}}}}} + {d_{{P_j}{l_{{P_i}}}}} - 2 \cdot {d_{{P_i}{P_j}}}|}}$ | (5) |
当E=1时,表示
假定点Pi位于直线Li上,直线Li为1组平行线
1)确定有效边缘像素
对于图像I,首先利用Canny算子进行边缘检测,其边缘点集合为V,
计算
图3(a)为图像的部分边缘,边缘点处使用不同的灰度表示该点的梯度幅值。对于整幅图像,假定计算后T=M。点P1和P2的梯度幅值分别为1.5 M和0.8 M,P3-P6的梯度幅值均等于M。指定R=3,则T1=4M。对于点P1-P6,统计其邻域内的支撑像素,获得其梯度幅值之和分别为1.5 M、3.2 M、3 M、4 M、7 M和5 M,则边缘点P5和P6为图像的有效像素。图3(b)为对图3(a)所确定的有效像素结果,由图3可以看出,原始边缘中较弱的边缘(如点P2所在边缘)或孤立的边缘点(如点P1和P3)被剔除,显著边缘被保留(如点P5和P6所在边缘,点P4因不满足
![]() |
| 图3 确定有效像素 Fig. 3 Determine valid pixels |
2)计算有效像素的平行点组
对于
| ${E_i}(r,c) = \left\{ \!\!\!\!\!{\begin{array}{*{20}{c}}{{{\rm{e}}^{ - |{d_{{P_i}{l_{{P_j}}}}} + {d_{{P_j}{l_{{P_i}}}}} - 2 \cdot {d_{{P_i}{P_j}}}|}},{P_j}{\rm{ = }}\left( {r,c} \right),{P_j} \in V'\text{且}{P_j} \ne {P_i};}\\[3pt]{0,\qquad \text{其他}}\qquad \qquad \quad\end{array}} \right.$ | (6) |
在Ei中寻找局部极大值
3)获取图像中的平行点组集合
将
对于图像I,利用获得的平行点组集合
1)对于Vp中的任一点组
2)若
3)对于点集V1,使用Hough变换,得到梯度向量角为
4)重复步骤2)和3),检测出图像中具有不同梯度向量角的多组平行线
对于获取的直线集合
1)计算各直线的交点,并验证各交点确定的线段的存在性。基本思想为:若一条线段存在,则该线段附近应存在足够的边缘点。对于任意2个交点M1和M2,考虑以线段M1M2为中心轴、宽度为3的矩形区域,记该矩形区域内图像有效像素个数为N1,线段M1M2的长度为
2)在集合S中检测一个封闭多边形
①
②对于集合S中的
③判断
④若在
3)重复步骤2),在集合S中确定所有封闭多边形
本文提出的图像中平行结构的检测算法流程如图4所示。首先获取边缘图中的有效像素,然后利用平行算子得到平行点组;接着统计平行点组的梯度方向,利用Hough变换得到平行直线;最后验证直线交点之间线段的存在性,将存在的线段组合为封闭多边形。
![]() |
| 图4 平行结构检测算法流程图 Fig. 4 Flowchart of the proposed parallel structure detection algorithm |
3 实验结果 3.1 模拟图像实验
图5以模拟图形为例研究了噪声影响下本文算法对图像平行结构的检测结果。第1行为添加高斯噪声结果,第2行为添加椒盐噪声结果,
![]() |
| 图5 不同噪声下平行结构检测结果 Fig. 5 Detection results of the parallel structures in the images with different noises |
3.2 真实图像实验
图6为图像的平行点组检测结果。图6(d)中,菱形表示指定像素点,星号表示与指定像素点平行的点,不同的颜色代表不同的平行点组。图6(d)中白玉环的边缘非常理想,因此在平行精度为0.95的条件下检测结果非常好;斑马线图片中噪声比较大,影响梯度值的计算,在平行精度为0.95时由于两点之间的平行算子结果不满足要求而出现漏检。图6中显示了平行精度为0.94时的检测结果。可以看出,本文定义的平行算子能够很好地检测到实际图像中的平行点组,并且在平行精度要求不高的条件下可以抵抗较大的噪声。
![]() |
| 图6 平行点组检测结果 Fig. 6 Detection results of parallel point groups |
图7为本文算法对平行直线的检测结果。由图7可以看出,存在的水平、竖直和任意角度的平行线均被正确检出。
![]() |
| 图7 平行直线检测结果 Fig. 7 Detection results of parallel lines |
图8为本文算法对具有平行结构的多边形检测结果。图8(g)所示的银盘中的正八边形检测结果不够精确,这是由于图像本身光照原因使得右侧上下两条边产生两个边缘,经过平行算子提取平行点组,对每个方向只提取Hough变换峰值最大的两条直线导致。图8(i)中2个平行嵌套的三角形被正确检测。由可以看出,单个或多个具有平行结构的多边形(包括三角形)均被成功检测出来,因此本文算法具有很好的通用性。
![]() |
| 图8 具有平行结构的多边形检测结果 Fig. 8 Detection results of polygons consisting of parallel lines |
综合上述实验结果,本文提出的基于平行算子图像平行结构检测算法可以准确检测出图像中的平行直线及具有平行结构的多边形。
4 时间复杂度分析对算法的时间复杂度进行分析。记图像边缘点个数为N。对于平行直线检测,假设图像中存在一组平行直线。确定有效像素的时间复杂度为
对于具有平行结构的多边形检测,假设图像中存在一个m边形(m为2的倍数)。确定有效像素及平行点组的时间复杂度分别为
利用平行点对间的距离特性,提出了平行算子概念,并将其用于图像中平行线及具有平行结构的多边形的检测。实验结果表明,本文算法能准确检测出图像中的平行结构,算法准确度高,具有较好的抗干扰能力。本文主要结论:
1)根据平行线上点对之间的距离关系,提出了平行算子的概念。
2)将平行算子应用于平行线和具有平行结构的多边形检测,为相关研究提供一种新思路。
3)提出一种有效像素提取方法,使算法具有较强的抗噪声能力,同时降低算法的计算量。
| [1] |
Li Yali, Wang Shengjin, Tian Qi. A survey of recent advances in visual feature detection[J]. Neurocomputing, 2015, 149(Part B): 736-751. |
| [2] |
Zheng Yefeng, Li Huiping, Doermann D. A parallel-line detection algorithm based on HMM decoding[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(5): 777-792. DOI:10.1109/TPAMI.2005.89 |
| [3] |
Lin C S, Tzeng G A. An automatic optical inspection system for the detection of three parallel lines in solar panel end face[J]. Optik-International Journal for Light and Electron Optics, 2014, 125(2): 688-693. DOI:10.1016/j.ijleo.2013.07.036 |
| [4] |
Davies E R.Machine vision:Theory,algorithms,practicalities[M]3 ed.San Francisco:Elsevier,2005:387–410.
|
| [5] |
Jung C R,Schramm R.Rectangle detection based on a windowed Hough transform[C]//Proceedings of Brazilian Symposium on Computer Graphics and Image Processing.Curitiba:2004:113–120.
|
| [6] |
Barnes N, Loy G, Shaw D. The regular polygon detector[J]. Pattern Recognition, 2010, 43(3): 592-602. DOI:10.1016/j.patcog.2009.09.008 |
| [7] |
Barnes N,Loy G,Shaw D,et al.Regular polygon detection[C]//Proceedings of the 10th IEEE International Conference on Computer Vision.Berlin:IEEE,2005:778–785.
|
| [8] |
Barnes N,Loy G.Real-time regular polygonal sign detection [C]//Proceedings of the 5th International Conference on Field and Service Robotics:Berlin:IEEE,2005:55–66.
|
| [9] |
Liu Yangxing, Ikenaga T, Goto S. An MRF model-based approach to the detection of rectangular shape objects in color images[J]. Signal Processing, 2007, 87(11): 2649-2658. DOI:10.1016/j.sigpro.2007.04.018 |
| [10] |
Liu Hongmin, Wang Zhiheng. PLDD:Point-lines distance distribution for detection of arbitrary triangles,regular polygons and circles[J]. Journal of Visual Communication and Image Representation, 2014, 25(2): 273-284. DOI:10.1016/j.jvcir.2013.10.002 |
| [11] |
Laha A, Sen A, Sinha B P. Parallel algorithms for identifying convex and non-convex basis polygons in an image[J]. Parallel Computing, 2005, 31(3): 290-310. |
| [12] |
Manay S,Paglierone D W.Matching flexible polygons to fields of corners extracted from images[C]// Processings of the 4th International Conferenc on Image Analysis and Recognition.Montreal:2007,4633:447–459.
|
| [13] |
Liu Hongmin, Wang Zhiheng, Deng Chao. Polygon detection based on meta-representation[J]. Acta Automatica Sinica, 2011, 37(9): 1050-1058. [刘红敏, 王志衡, 邓超. 基于基元表示的多边形检测方法[J]. 自动化学报, 2011, 37(9): 1050-1058.] |
| [14] |
Croitoru A, Doytsher Y. Right-angle rooftop polygon extraction in regularized urban areas:cutting the corners[J]. The Photogrammetric Record, 2004, 19(108): 311-341. DOI:10.1111/phor.2004.19.issue-108 |
| [15] |
Gates J W,Haseyama M,Kitajima H.Real-time polygon extraction from complex images [C]//Proceding of the 2000 IEEE International Symposium on Circuits and Systems.Geneva:IEEE,2000:309–312.
|
| [16] |
Wang Zhiheng, Wu Fuchao, Wang Xuguang. Corner detection and sub-pixel localization based on local orientation distribution[J]. Journal of Software, 2008, 19(11): 2932-2942. |
2017, Vol. 49









