车位识别影响着泊车过程的成败,是倒车辅助系统的关键技术,对比现有技术,基于车位线[1-3]的识别技术具有定位准确、可用于倾斜车位等明显优势。Xu等[4]借助颜色分割技术进行车位线识别,但仅对红色车位线有效,且对光照变化较为敏感;Du等[5]使用RANSAC算法从边缘片段中检测一组直线来识别车位线,但其性能会因车位线被遮挡或部分污损而受到影响;JUNG等[6]采用单目视觉的方法重建后视三维场景,并在单应约束下通过提取水平投影的像素来识别车位标志线,但需要安装立体相机,且立体匹配计算量很大;Wang等[7]通过Radon变换定位平行直线对来检测车位线;Suhr等[8]将车位线建模为一种按类型划分的分层树结构,首先生成车位线角点的备选点及其类型,然后根据树节点类型去除错误点完成车位线的自动识别。
借鉴前人的研究成果,本文提出一种基于改进Hough变换的车位线检测方法,算法首先根据车位线特征通过自适应提取合适的边缘梯度方向范围缩小参与Hough变换的像素点数,并减少背景干扰直线段的影响,其次通过峰值点逆向清零剔除车位线自身造成的干扰直线,最后根据相邻边缘像素灰度关系进一步确定车位线边缘直线,从而实现车位线的准确识别。图 1为算法流程图,通过对比试验验证,算法取得了较好的检测结果,具有较好的鲁棒性。
1 传统Hough变换车位线检测Hough变换[9-12]利用直线的投影不变性,将图像中直线的检测问题转化为参数空间中点的检测问题[13], 经Hough变换后,同一直线上的所有像素点,变换后的正弦曲线形成单一交点,该点为揭示直线的参数。图 2为传统Hough变换提取的边缘直线。
从图中可以看出,传统Hough变换存在一定局限:
(1) 背景噪声的存在势必会增加存储和计算负担,还极易生成伪边缘直线。
(2) 实际出现的阶梯、柱子及门窗等干扰边缘,也可被Hough变换提取。
(3) 车位线两条边缘直线段较近,因此需要对峰值点的分布效应进行恰当地处理,否则就无法确定次峰值点是代表车位线边缘还是两边缘之间的虚假直线。
针对传统Hough变换在车位检测中的局限性,本文从后视车位图像特征及车位线特征出发,对Hough变换进行改进,取得了较好的效果。
2 改进Hough变换车位线检测 2.1 自适应梯度方向范围搜索当背景中存在噪声或出现墙边、柱子时,Hough变换会检测出错误车位线边缘且效率不高,为此,本节通过设置合理的梯度方向范围剔除背景干扰直线,提高Hough变换的效率和准确性。
图像中直线的梯度方向与其在参数空间的θ角相等(或相差180°)[14],但由于背景干扰和梯度方向计算方法的影响,同一边缘直线的梯度会出现一定的变化,因此,锁定边缘直线的θ范围,可以减少Hough变换检测直线的计算量,同时剔除该区间以外相位的干扰直线。为合理设定θ范围,Burns等[15]固定将360°等分并编号为8个区并对每个像素标记编码,将具有相同标志的像素用于同一直线检测,Burns的固定等分法不能正确处理直线梯度方向跨两个分区的情况,尽管采用重叠分割法可缓解这一问题,但仍不能确定最适合待检测直线的合理θ范围。
车位图像中,车位区域通常占主要部分,其每对两条车位线边缘的梯度方向角集中在较小的范围内,在这种梯度方向集中而又占优的图像,车位线直线边缘所对应的梯度方向将在统计结果中占有明显优势,为此,本文根据像素梯度方向建立像素直方图,自适应地搜索与当前车位线边缘梯度方向最适应的θ范围,具体方法如下:
(1) 将参数空间的θ以1°为间隔限定在[0°,180°]内,并作为像素直方图的横坐标。
(2) 根据文献[16]模板计算边缘直线的梯度方向,将与取整后的梯度方向相等的θ计数空间加1,形成像素直方图。由于车位线的两个边缘直线平等或近似平行,其像素梯度方向相近或相差180°,因此在计算像素直方图时将θ范围限定在[0°,180°],并将[180°,360°]内的梯度方向减去180°。
(3) 搜索直方图中值最大的两个角度,并以其为中心,取45°范围作为提取车位线边缘的θ范围,进行Hough变换。
图 3为根据自应方法确定的θ范围进行Hough变换后提取的直线,可以看出与车位线边缘梯度方向不同的直线被有效地剔除。
2.2 参数空间峰值点局部清零从图 3可以看出,尽管θ范围的确定剔除了部分背景边缘直线的干扰,但由于车位线通常具有一定的宽度,使得两边缘间容易出现虚假边缘,为此需要对峰值点局部进行处理,以减少虚假直线的检测。
如图 4所示,L为峰值点对应的边缘直线,传统Hough变换为消除伪极值点的影响,通常采用式(1)、式(2) 方法确定清零区域
式中,(ρmax, θmax)为目标边缘直线对应峰值点;(ρi, θi)为需要判断是否清零的参数空间点;而Δρ,Δθ为清零区域范围,图 4中式(1)、式(2) 即为a、b、c、d 4个点确定的区域Rabcd,清零后Rabcd内任意极坐标点确定的直线都被清除,但图中直线L3仍会被检测到,从而在车位线边缘附近出现一条对应次峰值点的伪边缘。为此,文中采用逆向清零的改进措施,首先锁定直线L在图像中的区域RABCD,然后遍历并标记RABCD内每个像素点在参数空间中所对应的累积器,由于在RABCD区域中这些像素点仅用于检测唯一一条边缘直线,而不应该对其他直线做任何贡献,因此将这些累积器清零即可将伪峰值点消除,从而保证边缘直线提取的唯一。
图 5为经峰值点局部逆向清零后Hough变换提取的车位线边缘直线,可以看出,图 3中的伪边缘得到了抑制。但由于远端车位线边缘较近,经局部清零后,远端车位线仅提取一条边缘,而由于算法提取8根直线,因此会在远端等位置出现一条干扰直线。
2.3 根据灰度变化一致性确定车位线边缘在车位图像中,通常至少有一个车位线具有显著的宽度和清晰的边缘直线,通过改进Hough变换后可以较准确地检测其边缘线,并且在该车位线内灰度图像的灰度值通常变化不大,因此,以任一条提取的边缘线为起点,搜索其一定宽度范围内的直线,如果搜索到另一直线,则计算两直线间原灰度图像像素的灰度值方差,当方差不大于预定的阈值Gv,则认为两条直线边缘确定一条车位线,根据四边车位线的平行关系,可以进一步确定另外的车位线位置,对于不满足车位线之间平行关系的边缘直线,可以通过Hough变换继续检测另外的直线并进行判断。图 6为经过相邻边缘直线间灰度变化判断后的边缘直线提取结果,考虑到远端车位线可能较窄,两个边缘直线不易明显检测的情况,在找不到合适的相邻边缘直线时,仅提取一条边缘直线。
3 试验验证为验证文中算法的性能,试验选用不同背景车位图像,并将车位线提取结果与传统Hough变换及文献[17]中提出的基于梯度方向的改进随机Hough变换(简记为Grad-RHT)进行比较。
3.1 算法性能测试图 7-图 9所示为不同背景的车位图像车位线边缘直线提取试验结果,4幅图像分别为原始灰度图像、传统Hough变换结果、Grad-RHT方法结果及本文算法识别结果。从图 7可以看出,对于背景干扰较小的停车位图像,本文算法与另外两种算法都取得了较好的检测结果,但传统方法及Grad-RHT方法仍将背景墙面与地面的交界线识别为车位线边缘,而本文方法通过相邻边缘线之间的灰度值变化将背景边缘线剔除。从图 8可以看出,当背景复杂时,传统方法识别出的边缘线会随着背景变化检测出不同的边缘直线,而Grad-RHT方法与本文算法在梯度方向约束下,都取得了较好的车位线检测结果。从图 9可以看出,当背景中出现明显直线边缘的柱子时,传统方法出现较多错误,Grad-RHT方法因固定分割的限制易被柱子的边缘直线梯度方向代替或因分割区间不合适使得车位线边缘直线的梯度方向与背景柱子的边缘方向划为同一区间而被其干扰,从而检测出柱子边缘,而本文算法通过像素直方图自适应选择合适的梯度方向从而避开与柱子边缘梯度方向划为同一区间,另外当柱子边缘梯度方向占优而被选择后,会通过相近直线间的灰度变化方差而识别出非车位线边缘直线,恶劣情况下,检测出的直线都不满足车位线边缘直线间的灰度变化关系时,会返回重新选择合适的梯度方向区间,尽管此时重新选择梯度方向区间和重新进行Hough变换后会占用更多的运行时间,但由于重新进行Hough变换只是在新选择的梯度方向区间内时运行,这部分消耗的时间并不大。
从3次试验结果可见,当背景比较干净时,3种试验方法都取得较好的检测结果,但当背景较复杂尤其背景中出现柱子、墙边及阴影等比较明显的直线边缘时,传统方法及Grad-RHT方法会错误地将这些干扰边缘识别为车位线直线边缘,而本文方法有效剔除了背景虚假边缘像素点的干扰,保证了车位线检测的鲁棒性。
3.2 算法运行效率测试将采集的图像(分辨率1024×776) 分成3组,组一为如图 7所示的背景简单的停车位图像,组二为如图 8所示的背景复杂的停车位图像,组三为如图 9所示的背景中含有明显柱子、墙边及阶梯等干扰的停车位图像。由于算法主要提取停车位4个车位线,因此试验限定提取图像中的8根车位线边缘直线,并按式(3) 计算算法检测直线的正确率。试验中每幅图像进行50次运算,并计算每组试验的算法平均运行时间,同时由于每种算法都要对图像进行预处理和边缘检测,因此试验时这部分时间不计算在内,表 1为对比试验3种算法的车位线边缘直线检测正确率及算法运行的平均时间。
试验分组 | Hough变换 | Grad-RHT | 本文算法 | |||||
正确率/(%) | 时间/s | 正确率/(%) | 时间/s | 正确率/(%) | 时间/s | |||
组一 | 88.1 | 2.891 | 97.3 | 0.781 | 98.2 | 0.716 | ||
组二 | 41.2 | 3.131 | 79.5 | 0.925 | 95.7 | 0.896 | ||
组三 | 29.5 | 3.625 | 57.9 | 0.912 | 89.5 | 0.937 |
从表中算法检测正确率可以看出,在不同的背景干扰下,本文算法都取得了较好的边缘直线检测正确率,从算法检测结果分析可知,本文算法出现的错误检测,主要是由于停车位图像中远端车位线变窄,仅检测出一条边缘直线;Grad-RHT方法在第3组试验图像中出现较低的直线检测正确率主要是由于近端干扰背景直线使得算法在选择梯度方向区间时产生错误。
从表中运行时间可以看出,传统Hough变换方法在3组试验图像下都耗时较大,Grad-RHT方法虽然采用随机Hough变换作为基础,但在经过梯度方向区间选择后,参与Hough变换的像素点总数都较少,再进行随机采样并没有明显的运行效率优势。而在第3组试验中,本文算法相对于Grad-RHT算法运行时间有所增加,主要是由于在进行Hough变换提取边缘直线后,当相邻直线间的像素灰度一致性检测发现提取的直线不是车位线时,即当前直线簇对应的梯度方向区间并不是车位线边缘直线的梯度方向区间,算法会重新判断并选择该区间而增加算法的耗时,但同时车位线检测正确率有了较大的提高。
从比较试验整体结果可以看出,本文算法相比于传统方法在车位线检测准确率和运行时间上有明显的优势,而相对于Grad-RHT算法,在运行耗时相差不大的情况下,保证了较高的检测正确率。
4 结论针对智能辅助倒车系统车位线识别问题,提出了一种基于改进的Hough变换的车位线检测方法,算法利用车位图像的特征,在图像预处理和边缘检测基础上,通过自适应边缘直线段梯度方向区间提取及相邻边缘直线间的像素灰度关系,实现车位线快速准确识别。相比于传统Hough变换和Grad-RHT方法,本文算法在保持与Grad-RHT运行效率相当的情况下,在各种干扰背景下都取得了更好的车位线边缘检测正确率,表现出较好的鲁棒性。
[1] | YAN G, YANG W, RAWAT D B, et al. SmartParking:A Secure and Intelligent Parking System[J]. IEEE Intelligent Transportation Systems Magazine, 2011, 3(1): 18–30. DOI:10.1109/MITS.2011.940473 |
[2] | HUANG C C, WANG S J. A Hierarchical Bayesian Generation Framework for Vacant Parking Space Detection[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2011, 20(12): 1770–1785. |
[3] | JEONG S H, CHOI C G, OH J N, et al. Low Cost Design of Parallel Parking Assist System Based on an Ultrasonic Sensor[J]. International Journal of Automotive Technology, 2010, 11(3): 409–416. DOI:10.1007/s12239-010-0050-0 |
[4] | XU J, CHEN G, XIE M. Vision-guided Automatic Parking for Smart Car[J]. IEEE Intelligent Vehicles Symposium, 2000(10): 725–730. |
[5] | DU X, TAN K K. Autonomous Reverse Parking System Based on Robust Path Generation and Improved Sliding Mode Control[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(3): 1225–1237. DOI:10.1109/TITS.2014.2354423 |
[6] | HUANG C C, TAI Y S, WANG S J. Vacant Parking Space Detection Based on Plane-based Bayesian Hierarchical Framework[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2013, 23(9): 1598–1610. DOI:10.1109/TCSVT.2013.2254961 |
[7] | JUNG H G. Semi-automatic Parking Slot Marking Recognition for Intelligent Parking Assist Systems[J]. Journal of Engineering, 2013(1): 106–113. |
[8] | WANG X, WANG C, YANG M, et al. Automatic Parking Based on a Bird's Eye View Cameras[J]. Journal of Shanghai Jiaotong University, 2013, 47(7): 1077–1081. |
[9] | SUHR J K, JUNG H G. Automatic Parking Space Detection and Tracking for Underground and Indoor Environments[J]. IEEE Transactions on Industrial Electronics, 2016, 63(9): 5687–5698. DOI:10.1109/TIE.2016.2558480 |
[10] | 张帆, 高云龙, 黄先锋, 等. 基于球面投影的单站地面激光点云直线段提取方法[J]. 测绘学报, 2015, 44(6): 654–662. |
[11] | 李明磊, 李广云, 王力, 等. 3D Hough Transform在激光点云特征提取中的应用[J]. 测绘通报, 2015(2): 29–33. |
[12] | 王竞雪, 朱庆, 张云生, 等. 叠置分区辅助的相位编组直线提取算法[J]. 测绘学报, 2015, 44(6): 768–790. |
[13] | 戴激光, 宋伟东, 李建军. 一种有效的直线提取算法[J]. 测绘通报, 2012(11): 59–61. |
[14] | 滕今朝, 邱杰. 利用Hough变换实现直线的快速精确检测[J]. 中国图象图形学报, 2008, 13(2): 234–237. DOI:10.11834/jig.20080209 |
[15] | 陈珂, 吴建平, 李金祥, 等. 一维概率Hough变换的实时鲁棒多圆检测方法[J]. 计算机辅助设计与图形学学报, 2015, 27(10): 1832–1841. DOI:10.3969/j.issn.1003-9775.2015.10.004 |
[16] | BURNS J B, HANSON A R, RISEMAN E M. Extracting Straight Lines[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1986, 8(4): 425–455. |
[17] | 周绍光, 陈超, 岳建平. 形状先验和图割的高分辨率遥感影像道路段提取[J]. 测绘学报, 2014, 43(1): 60–65. |
[18] | 张江鑫, 沈小兰, 王辉, 等. 快速随机Hough变换多直线检测算法[J]. 浙江工业大学学报, 2013, 41(3): 346–350. |