王 哲 馬朝帥
( 1、北京四維遠(yuǎn)見(jiàn)信息技術(shù)有限公司,北京100070 2、北京四維圖新科技股份有限公司,北京100094)
交通標(biāo)牌是一種重要的交通設(shè)施, 對(duì)交通安全有重要的警示以及提示作用, 標(biāo)牌信息的獲取與更新異常重要。 由于采集環(huán)境以及傳感器的各種誤差導(dǎo)致了上下行同一地物的點(diǎn)云存在較大的誤差, 因此需要進(jìn)行點(diǎn)云數(shù)據(jù)的融合。 而標(biāo)牌作為一種獨(dú)立的地物,具有規(guī)則的形狀可以為點(diǎn)云配準(zhǔn)提供大量的同名點(diǎn)。 因此,研究了一種標(biāo)牌點(diǎn)云數(shù)據(jù)同名點(diǎn)自動(dòng)識(shí)別的算法。首先交互獲取包含標(biāo)牌的上下行點(diǎn)云數(shù)據(jù),通過(guò)軌跡過(guò)濾地面點(diǎn);然后通過(guò)統(tǒng)計(jì)濾波器剔除離群點(diǎn),然后進(jìn)行聚類分割,得到若干個(gè)類似平面的點(diǎn)集,根據(jù)法向量以及牌子的面積、點(diǎn)云反射強(qiáng)度等篩選出標(biāo)牌所在的點(diǎn)集;然后進(jìn)行旋轉(zhuǎn),接著提取平面點(diǎn)集的凸包點(diǎn),并進(jìn)行形狀的判斷,分別擬合直線和圓,根據(jù)擬合的誤差,判斷是圓還是直線,最后進(jìn)行角點(diǎn)的提取,如果是圓,提取四個(gè)頂點(diǎn),如果是直線,進(jìn)行直線擬合并進(jìn)行直線求交,得到四個(gè)角點(diǎn)。 對(duì)上下行點(diǎn)云分別進(jìn)行上述操作, 然后得到兩組角點(diǎn),對(duì)這兩組角點(diǎn)進(jìn)行匹配,從而得到同名點(diǎn)。 對(duì)上述算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證,結(jié)果表明本文方法準(zhǔn)確度、效率都能滿足地圖數(shù)據(jù)生成環(huán)節(jié)的要求。
現(xiàn)有的交通標(biāo)牌識(shí)別算法主要是基于計(jì)算機(jī)視覺(jué)的方法,未考慮三維空間中距離、視角和障礙物遮擋等因素對(duì)交通標(biāo)志牌可見(jiàn)性的影響,適用性有限。 文獻(xiàn)[2]根據(jù)標(biāo)牌的高強(qiáng)度值特點(diǎn)以及平面特性,采用了反射強(qiáng)度和主成分分析來(lái)檢測(cè)交通標(biāo)志牌,由于標(biāo)牌具有一定的厚度而且有正反面,同時(shí)反面的反射強(qiáng)度很小,因此只適合于正面掃描到的標(biāo)牌數(shù)據(jù)。 文獻(xiàn)[3]采用了點(diǎn)云結(jié)合影像的方法進(jìn)行標(biāo)牌的語(yǔ)義識(shí)別, 過(guò)程過(guò)于繁瑣,適用性有限, 很難用于實(shí)際的生產(chǎn)作業(yè)環(huán)節(jié)。 現(xiàn)有的標(biāo)牌識(shí)別算法效率不高,大多數(shù)還要基于軌跡信息,并且涉及到額外的點(diǎn)云信息( 掃描角度等),不同的設(shè)備獲取的信息不一樣,因此適用性有限,為此我們研究了一種新的標(biāo)牌識(shí)別算法。
本文提出了一種交通標(biāo)牌的識(shí)別算法, 首先交互選取包含標(biāo)牌點(diǎn)云的區(qū)域,然后通過(guò)聚類分割,得到標(biāo)牌對(duì)應(yīng)的點(diǎn)云數(shù)據(jù);然后通過(guò)擬合算法得到平面的相關(guān)參數(shù),并把平面旋轉(zhuǎn)到一個(gè)標(biāo)準(zhǔn)方向上( Z 軸);接著提取平面的凸包點(diǎn),對(duì)凸包點(diǎn)進(jìn)行加密處理;然后進(jìn)行形狀的判斷,根據(jù)判斷的結(jié)果,求取標(biāo)牌的角點(diǎn)。 算法的流程圖如圖1 所示。
考慮到數(shù)據(jù)的實(shí)際生產(chǎn)環(huán)節(jié),我們采用的是半自動(dòng)的方式,獲取標(biāo)牌數(shù)據(jù)。作業(yè)員通過(guò)數(shù)據(jù)生產(chǎn)軟件可以很方便地得到標(biāo)牌對(duì)應(yīng)的數(shù)據(jù)。由于原始數(shù)據(jù)存在大量的雜點(diǎn)( 地面、樹(shù)木、草等),而且地面點(diǎn)在原始數(shù)據(jù)中占據(jù)很大的比例,因此我們通過(guò)高度信息,過(guò)濾掉高度較低的點(diǎn),以達(dá)到減少數(shù)據(jù)量的目的,大大提高了算法的運(yùn)行效率。由于原始數(shù)據(jù)存在噪聲點(diǎn),因此需要進(jìn)行濾波操作,我們采用的是統(tǒng)計(jì)濾波器將離群點(diǎn)從數(shù)據(jù)中去除。
我們采用的是結(jié)合了距離和法向量的方法進(jìn)行聚類,提高了分割的成功率。 由于聚類的結(jié)果通常會(huì)得到若干類, 因此我們需要對(duì)聚類結(jié)果進(jìn)行篩選。聚類結(jié)果如圖2 所示。定義的篩選原則為:( 1)分類結(jié)果按個(gè)數(shù)從大到小排列( 感興趣的占多數(shù),不一定是最多)。( 2)反射強(qiáng)度優(yōu)先,統(tǒng)計(jì)高強(qiáng)度的點(diǎn)的個(gè)數(shù)。( 3)計(jì)算平均高度。
其中:
圖1 算法流程圖
圖2 聚類分割效果圖
通過(guò)3.3 環(huán)節(jié),我們將平面旋轉(zhuǎn)到一個(gè)標(biāo)準(zhǔn)方向上(Z 軸),進(jìn)而提取凸包點(diǎn)。采用的是Convex Hull 算法,利用一個(gè)的凸多邊形圍住所有的點(diǎn)。提取結(jié)果如圖3 所示。
根據(jù)3.4 環(huán)節(jié)得到的凸包點(diǎn)進(jìn)行加密,然后進(jìn)行形狀的判斷。如果判斷結(jié)果為直線,則要進(jìn)行分段直線擬合[5],然后進(jìn)行直線求交;如果是圓則提取四個(gè)頂點(diǎn)位置,進(jìn)而得到標(biāo)牌角點(diǎn)的初始位置。
由于原始掃描數(shù)據(jù)存在噪點(diǎn)以及中間計(jì)算過(guò)程會(huì)產(chǎn)生各種誤差,因此我們得到的角點(diǎn)跟真實(shí)的標(biāo)牌角點(diǎn)會(huì)存在一定的偏差,因此需要根據(jù)角點(diǎn)推薦真實(shí)的角點(diǎn)。
我們的原則如下:(1)距離優(yōu)先;(2)考慮反射強(qiáng)度。
首先根據(jù)初始得到的角點(diǎn),進(jìn)行K 鄰域搜索,找到近鄰點(diǎn)。其中的搜索閾值K 不能太小,否則容易出現(xiàn)桿子上的點(diǎn),我們采用的值為5。然后根據(jù)這些鄰近點(diǎn)選擇反射強(qiáng)度大的點(diǎn),作為標(biāo)牌的角點(diǎn)。根據(jù)上下行分別找到的角點(diǎn),便可以組成同名點(diǎn)對(duì)。
為了驗(yàn)證上述算法的性能,基于團(tuán)隊(duì)開(kāi)發(fā)的軟件進(jìn)行了驗(yàn)證。系統(tǒng)開(kāi)發(fā)環(huán)境為Visual Studio 2013 軟件,采用C++語(yǔ)言與DirectX 11 相結(jié)合,渲染架構(gòu)為微軟的DXUT 架構(gòu),后臺(tái)數(shù)據(jù)庫(kù)為Postgresql。實(shí)驗(yàn)結(jié)果如圖4 所示。
本文詳細(xì)介紹了一種交通標(biāo)牌識(shí)別的算法并進(jìn)行了實(shí)驗(yàn)驗(yàn)證,證明了該算法的魯棒性以及高效性。該方法可用于地圖數(shù)據(jù)的生成環(huán)節(jié),解決精度檢查過(guò)程中效率低下的問(wèn)題,通過(guò)較少的人工交互解決特征點(diǎn)提取的問(wèn)題。
本算法的關(guān)鍵技術(shù)改進(jìn)點(diǎn):
(1)半自動(dòng)結(jié)合軌跡高度排除地面等雜點(diǎn)。(2)采用了改進(jìn)的聚類分割算法,根據(jù)點(diǎn)對(duì)的連通關(guān)系并結(jié)合距離和法向量進(jìn)行聚類。(3)采用了點(diǎn)云反射率、平面的法向量以及面積和邊長(zhǎng)等約束去篩選標(biāo)牌所在的類別。(4)對(duì)得到的標(biāo)牌點(diǎn)云進(jìn)行形狀的判斷,得到標(biāo)牌的角點(diǎn),并在原始數(shù)據(jù)中根據(jù)距離和強(qiáng)度去得到真實(shí)的角點(diǎn)。
通過(guò)以上改進(jìn),算法執(zhí)行效率大大提高,同時(shí)提高了標(biāo)牌分割的成功率,能適用于多種復(fù)雜的場(chǎng)景,保證角點(diǎn)的正確性。
針對(duì)本文的研究?jī)?nèi)容,由于時(shí)間以及能力的局限,還需要下面的完善:(1)該算法涉及到少量人工交互,如何全自動(dòng)識(shí)別角點(diǎn),還需深入研究。(2)本論文僅僅是實(shí)現(xiàn)了相關(guān)的算法,并進(jìn)行了初步的優(yōu)化,并未涉及到算法的并行加速,以后的重點(diǎn)將放在算法的并行加速上,并進(jìn)行深入的優(yōu)化。
科學(xué)技術(shù)創(chuàng)新2021年14期