曲思錦,楊 剛,崔子浩,畢宗杰,田兆碩
(哈爾濱工業(yè)大學(xué)(威海)船海光電裝備研究所,山東 威海 264209)
隨著激光技術(shù)的發(fā)展,復(fù)雜環(huán)境下的成像逐漸成為科研人員的研究熱點(diǎn)。距離選通激光成像雷達(dá)作為目前一種較為成熟的激光成像技術(shù),能有效降低后向散射的干擾,可以在相對惡劣的環(huán)境下保持較好的成像效果[1-2]。此外,距離選通成像技術(shù)還廣泛應(yīng)用于遠(yuǎn)距離成像[3-4]、水下目標(biāo)的探測和識別[5-6]、以及多幅圖像對觀測場景的三維重建[7-8]等領(lǐng)域。距離選通激光成像雷達(dá)一般有如下三維重構(gòu)的方法:時間切片法[9],梯形距離能量相關(guān)算法[10],三角形距離能量相關(guān)算法[11]等。但目前這三類成像方法都存在一些缺點(diǎn):時間切片法有著速度慢、數(shù)據(jù)量大和對快門抖動較敏感的問題;梯形能量距離相關(guān)算法和三角形距離能量相關(guān)算法對激光脈寬和選通門寬的關(guān)系有嚴(yán)格要求。對采集的雷達(dá)數(shù)據(jù)進(jìn)行三維重構(gòu)后,為了去除三維點(diǎn)云的噪聲,需要對其進(jìn)行濾波處理,使目標(biāo)形態(tài)更加清晰,比較常用的點(diǎn)云濾波方法有雙邊濾波[12]、中值濾波[13]和均值濾波[14]等。激光雷達(dá)三維圖像重構(gòu)及其去噪濾波算法多采用MATLAB或LabVIEW進(jìn)行開發(fā),這些軟件雖然功能強(qiáng)大,但在點(diǎn)云數(shù)據(jù)量大的情況下存在實(shí)時性差、處理速度慢等問題,并且受到知識產(chǎn)權(quán)的限制。
本文選用C++編程語言進(jìn)行了距離選通激光成像雷達(dá)軟件開發(fā),其中獲取目標(biāo)點(diǎn)云數(shù)據(jù)采用了一種新的距離選通激光雷達(dá)三維成像方法——相鄰幀差法[15],該成像方法具有提取效果穩(wěn)定、速度快、算法復(fù)雜度低等優(yōu)點(diǎn);去除點(diǎn)云噪聲的濾波方法采用了離群點(diǎn)濾除算法,可以使目標(biāo)輪廓完整地顯現(xiàn)出來,有效濾除被測目標(biāo)周圍的雜亂點(diǎn)。實(shí)驗(yàn)結(jié)果表明該軟件能夠?qū)崟r處理由激光成像雷達(dá)獲取的點(diǎn)云數(shù)據(jù),同時準(zhǔn)確獲取目標(biāo)的距離信息,多角度還原目標(biāo)物的三維圖像,在三維圖像重構(gòu)領(lǐng)域具有廣泛的應(yīng)用前景。
在距離選通激光成像雷達(dá)工作過程中,系統(tǒng)獲取到的圖像是一組強(qiáng)度圖像序列,對其進(jìn)行圖像處理,并結(jié)合距離信息將處理后的圖像轉(zhuǎn)化成距離矩陣,最后將距離矩陣轉(zhuǎn)換成三維點(diǎn)云并對其進(jìn)行離群點(diǎn)濾除實(shí)現(xiàn)目標(biāo)點(diǎn)云顯示。
對不同距離選通門獲取的原始強(qiáng)度圖像,利用相鄰幀差法[15]對其進(jìn)行數(shù)據(jù)處理得到三維點(diǎn)云的距離信息。初始化全零矩陣Φfront、Φback、Φd,其中Φfront和Φback分別為ICCD接收到的相鄰兩幀強(qiáng)度圖像,首先判斷當(dāng)前延時時間是否大于設(shè)定值,若是則結(jié)束循環(huán),否則將當(dāng)前ICCD采集的原始強(qiáng)度圖像轉(zhuǎn)化成像素強(qiáng)度值的Mat矩陣,將當(dāng)前矩陣與前一幀圖像轉(zhuǎn)化的強(qiáng)度矩陣相減即Φback-Φfront,得到差值矩陣ΔΦ,再對差值矩陣進(jìn)行閾值濾波,認(rèn)為大于閾值的像素是有效像素,并將計算出的當(dāng)前距離值賦給所有有效像素所對應(yīng)的距離矩陣Φd(i,j),最后將距離矩陣解算成點(diǎn)云數(shù)據(jù)格式,生成三維點(diǎn)云,經(jīng)過離群點(diǎn)濾波生成最終目標(biāo)點(diǎn)云。在生成點(diǎn)云之后重新回到循環(huán)條件進(jìn)行判定,直到延時時間大于設(shè)定值則結(jié)束運(yùn)行。
圖1 點(diǎn)云數(shù)據(jù)處理流程圖
在成像過程中,會因?yàn)镃CD電子噪聲和大氣散射等對成像效果產(chǎn)生影響,導(dǎo)致目標(biāo)周圍存在使目標(biāo)形態(tài)模糊的雜亂點(diǎn),對于普通的閾值分割難以將其完美濾波,有時甚至?xí)?dǎo)致目標(biāo)物體的部分成像點(diǎn)被刪除,因此需要對點(diǎn)云進(jìn)行離群點(diǎn)濾除。算法模型如圖2所示。
圖2 離群點(diǎn)濾除算法模型
對點(diǎn)云中的每一點(diǎn)P(xi,yi,zi)計算其到鄰域內(nèi)k個點(diǎn)的平均距離,得到的結(jié)果是一個近似高斯分布的模型,其概率密度函數(shù)為:
(1)
式中,di為點(diǎn)云中的第i個點(diǎn)到k鄰域內(nèi)的平均距離。計算該函數(shù)對應(yīng)的均值和方差,點(diǎn)云集合中每個點(diǎn)到鄰近k個點(diǎn)之間平均距離的均值μ計算公式如下:
(2)
式中,A為xi的鄰域范圍。對應(yīng)方差σ2計算公式如下:
(3)
由計算出當(dāng)前概率密度函數(shù)對應(yīng)的均值和方差生成距離閾值dmax,三者關(guān)系表達(dá)為:
dmax=μ+λ×σ
(4)
其中,λ為比例系數(shù),一般與鄰域內(nèi)點(diǎn)的數(shù)目有關(guān)。將點(diǎn)云集合中的每個點(diǎn)到鄰近的k個點(diǎn)的距離與得出的距離閾值dmax進(jìn)行比較,把距離閾值外的點(diǎn)定義為離群點(diǎn)將其濾除,滿足條件的點(diǎn)保留,最終得到處理后的三維點(diǎn)云。
(5)
式中,N為點(diǎn)云總數(shù)據(jù)點(diǎn)數(shù)。
本文設(shè)計的軟件主要由三個模塊組成:數(shù)據(jù)采集模塊,數(shù)據(jù)處理模塊以及點(diǎn)云顯示模塊。如圖3所示,其中數(shù)據(jù)采集模塊主要基于距離選通激光成像雷達(dá)實(shí)現(xiàn);數(shù)據(jù)處理模塊以及點(diǎn)云顯示模塊基于電腦端實(shí)現(xiàn)。數(shù)據(jù)采集模塊負(fù)責(zé)獲取原始強(qiáng)度圖像、實(shí)時調(diào)節(jié)相機(jī)參數(shù)以及控制延時器延時輸出選通門信號;數(shù)據(jù)處理模塊負(fù)責(zé)圖像格式的轉(zhuǎn)化和點(diǎn)云數(shù)據(jù)的處理;點(diǎn)云顯示模塊負(fù)責(zé)點(diǎn)云數(shù)據(jù)轉(zhuǎn)化、點(diǎn)云的渲染、濾波以及可視化。
圖3 軟件模塊設(shè)計圖
3.1.1 數(shù)據(jù)采集模塊
首先初始化相機(jī)驅(qū)動COM環(huán)境,進(jìn)行相機(jī)列表的遍歷找到指定相機(jī)并連接,之后調(diào)整相機(jī)的增益和曝光時間等相機(jī)參數(shù)。當(dāng)相機(jī)開始工作之后,需要連接延時器進(jìn)行距離選通。找到延時器所在串口設(shè)置串口名、波特率等串口信息,再根據(jù)不同距離的目標(biāo)物體設(shè)置相應(yīng)的初始延時、選通門寬及延時步長,以便于排除來自目標(biāo)范圍外的后向散射等干擾,通過串口發(fā)送延時指令控制延時器實(shí)現(xiàn)采集過程中的延時自動累加,每增加一次延時時間同時采集當(dāng)前圖像并計算對應(yīng)的距離信息保存到緩存區(qū),由此完成點(diǎn)云數(shù)據(jù)的采集。
3.1.2 數(shù)據(jù)處理模塊
對采集到的強(qiáng)度圖像做工業(yè)相機(jī)圖像格式到Mat圖像格式的轉(zhuǎn)化,同時將其轉(zhuǎn)換成QImage格式并在Qt界面上顯示當(dāng)前采集的圖像,再將轉(zhuǎn)換后的圖像矩陣進(jìn)行相鄰幀相減,相減后得到的差值矩陣中的像素值與設(shè)置好的閾值作對比,強(qiáng)度值低于閾值的點(diǎn)視為無效點(diǎn),高于閾值的點(diǎn)視為有效點(diǎn)。最后將計算出的當(dāng)前距離值作為z坐標(biāo)值給差值矩陣中所有有效點(diǎn)所對應(yīng)的距離矩陣元,實(shí)現(xiàn)點(diǎn)云數(shù)據(jù)的處理。這一部分主要基于OpenCV視覺庫編程實(shí)現(xiàn)。
3.1.3 點(diǎn)云顯示模塊
在Qt界面上顯示三維點(diǎn)云,首先需要將用于VTK點(diǎn)云顯示控件初始化,再對采集到的圖像進(jìn)行數(shù)據(jù)處理后得到的距離矩陣用三維坐標(biāo)的形式進(jìn)行數(shù)據(jù)格式轉(zhuǎn)化,并添加點(diǎn)云的寬度、高度、密度及數(shù)據(jù)點(diǎn)尺寸等點(diǎn)云數(shù)據(jù)信息,得到可以用PCL點(diǎn)云庫進(jìn)行成像的數(shù)據(jù)格式,之后利用離群點(diǎn)濾波算法濾除目標(biāo)周圍的雜亂點(diǎn),再進(jìn)行z字段渲染以及可視化等處理,最終實(shí)現(xiàn)三維成像效果。
三維成像軟件流程圖如圖4所示。程序開始時首先判斷延時時間是否到達(dá)設(shè)定值,若未達(dá)到,則發(fā)送字符串指令增加一個延時步長,并將計算的當(dāng)前距離值保存下來,同時將采集的當(dāng)前圖像與緩存中的前一幀圖像相減,對相減后的結(jié)果做閾值濾波處理,將距離值賦值給保留下來的像素點(diǎn)所對應(yīng)的距離矩陣元,最后將距離矩陣轉(zhuǎn)換成點(diǎn)云數(shù)據(jù)格式,并進(jìn)行離群點(diǎn)濾除、點(diǎn)云的可視化實(shí)現(xiàn)三維顯示。在生成點(diǎn)云之后,程序繼續(xù)回到開始進(jìn)行判斷,若不滿足條件,將會循環(huán)上述過程直至延時時間大于設(shè)定值來結(jié)束運(yùn)行。
圖4 三維成像軟件流程圖
圖5為本文設(shè)計的軟件系統(tǒng)Qt控制界面。其中界面集成了采集圖像,圖像監(jiān)視,停止采集,延時器串口選擇,點(diǎn)云處理,調(diào)整相機(jī)增益和曝光時間及延時器的選通門寬和延時步長,延時范圍設(shè)置,閾值濾波,離群點(diǎn)濾除等功能。
圖5 三維成像軟件界面
實(shí)驗(yàn)采用的距離選通激光成像雷達(dá)系統(tǒng)如圖6所示,其中,激光器中心波長為532 nm,激光脈沖寬度為5 ns,重復(fù)頻率為1 kHz,單脈沖能量為2 mJ;CCD采用大恒水星相機(jī)MER-125-30,像素為1292×964;延時器輸出的選通門寬信號可調(diào),范圍為5~1000 ns。光學(xué)接收鏡頭、像增強(qiáng)器和CCD組成ICCD接收光學(xué)系統(tǒng),激光器及擴(kuò)束準(zhǔn)直系統(tǒng)組成發(fā)射光學(xué)系統(tǒng),信號發(fā)生器、光觸發(fā)器和延時器組成同步控制系統(tǒng)。
圖6 距離選通激光成像雷達(dá)結(jié)構(gòu)圖
采用基于上述雷達(dá)系統(tǒng)設(shè)計的距離選通激光雷達(dá)三維成像軟件對距離700 m處高層聯(lián)排建筑進(jìn)行成像實(shí)驗(yàn),成像目標(biāo)為圖7中矩形框內(nèi)樓體。實(shí)驗(yàn)設(shè)置選通門寬度20 ns,延時步長1 ns。程序運(yùn)行時,可以通過Qt界面實(shí)時調(diào)整曝光時間和增益等相機(jī)參數(shù),讓它更適合激光雷達(dá)的成像需求,并根據(jù)目標(biāo)所在區(qū)域設(shè)置延時步長和選通門寬,待所有參數(shù)設(shè)置好后便可開始采集圖像實(shí)時生成目標(biāo)三維點(diǎn)云。
圖7 距離700 m目標(biāo)建筑圖
在做好相機(jī)和串口的準(zhǔn)備工作之后,開始循環(huán)向延時器發(fā)送指令對目標(biāo)進(jìn)行距離選通三維成像。三維點(diǎn)云成像結(jié)果如圖8(a)所示,點(diǎn)云的不同顏色代表不同距離。由于背景噪聲的影響,目標(biāo)周圍噪點(diǎn)較多,但仍然可以清晰區(qū)分目標(biāo)建筑頂部形狀和整個樓體的輪廓。目標(biāo)點(diǎn)云俯視圖如圖8(b)所示,其中,部分點(diǎn)云對應(yīng)的距離為700 m,部分點(diǎn)云對應(yīng)的距離為730 m,成像距離范圍為30 m,所對應(yīng)的圖像幀數(shù)為191,則經(jīng)分析可知點(diǎn)云的距離分辨率約為0.157 m。
對重建后的三維圖像調(diào)整鄰域k值和比例系數(shù)λ進(jìn)行離群點(diǎn)濾除,使其對點(diǎn)云圖像濾波的同時最大限度地保留目標(biāo)形狀。三維點(diǎn)云做離群點(diǎn)濾除后的結(jié)果如圖9所示。從圖中可以看出該種算法可以有效地將目標(biāo)建筑周圍的雜亂點(diǎn)濾除,把目標(biāo)建筑輪廓清晰準(zhǔn)確地還原出來。
本文以C++編程語言為載體,設(shè)計了激光雷達(dá)實(shí)時三維點(diǎn)云成像軟件,實(shí)現(xiàn)了點(diǎn)云數(shù)據(jù)實(shí)時處理和三維圖像顯示。利用設(shè)計的軟件對距離700 m處的建筑進(jìn)行了三維成像實(shí)驗(yàn),距離分辨率可達(dá)0.157 m,通過點(diǎn)云顏色梯度可實(shí)現(xiàn)目標(biāo)復(fù)雜細(xì)節(jié)的精準(zhǔn)呈現(xiàn),實(shí)驗(yàn)結(jié)果證明,本文設(shè)計的三維成像軟件實(shí)現(xiàn)了距離選通激光雷達(dá)三維點(diǎn)云實(shí)時成像,在遠(yuǎn)距離目標(biāo)成像領(lǐng)域具有較高的分辨率和較好的成像效果;該軟件具有精度高、實(shí)時性強(qiáng)、操作靈活的優(yōu)勢,在實(shí)際對遠(yuǎn)距離的目標(biāo)進(jìn)行探測和偵察等應(yīng)用中具有重要意義。