鐘俊平,王美琴,鄭伊玫
(佛山科學技術學院物理與光電工程學院,廣東佛山528000)
激光測距是可以實現(xiàn)非接觸式測量的一種高精度測距的方法。傳統(tǒng)的激光測距的實現(xiàn)方法有相位法和脈沖法[1]。而基于相位法和脈沖法激光測距系統(tǒng)側重遠距離高精度測量,且造價高,結構復雜,不適合應用于一些近距離測量的場所,現(xiàn)近距離測距使用較多的是超聲波傳感模塊。RB URFv1.1超聲波傳感器可用于檢測周圍的物體,是機器人領域最常用的測距避障模塊,其有效偵測距離為3~340 cm,探測分辨率為0.5 cm,探測誤差為±0.5%,即測量范圍在20~200 cm時測量誤差為±1~10 mm。且超聲波的傳播速度易受環(huán)境溫度的影響,從而影響測量的精度。
與超聲波傳感模塊相比,在現(xiàn)有條件(測量誤差±0.2~±3.8 mm,測量范圍20~200 cm)下,本測距裝置有效測量范圍較短,但精度更高,測量分辨率更高,成本低廉。在理論情況(測量誤差±0.1 mm,測量范圍10~500 cm)下,本測距裝置有效測量范圍更廣,精度更高。同時,激光測距方法的測量準確性不受環(huán)境溫度的影響。
激光測距系統(tǒng)裝置如圖1所示。該系統(tǒng)主要包括激光光路系統(tǒng)、圖像采集系統(tǒng)和電腦處理終端。激光光路系統(tǒng)包括由發(fā)光管芯、聚光透鏡組成的激光二極管模塊,出射激光波長為650 nm,功率為5 mW,工作電壓為5 V。激光準直后在15 m處光斑直徑為10~15 mm;圖像采集系統(tǒng)包括由CMOS感光元件和聚焦鏡頭組成的免驅攝像頭,其最大分辨率為640×480。測量時,電腦處理終端觸發(fā)相機采集圖像,利用LabVIEW開發(fā)平臺對圖像同步進行定位、分割、圖像數(shù)字處理和激光點坐標測量等操作,實時顯示測量距離等參數(shù)信息。
圖1 激光測距原理示意圖
區(qū)別于傳統(tǒng)激光測距的原理,本文采用的是基于攝像頭的激光測距[2],如圖1所示。假設激光投射到目標物體上,同時位于與激光管同一平面的攝像頭畫面內(nèi)能夠捕捉到激光照射點,且要求激光光線和攝像頭成像軸完全平行。這樣,照射到目標物體的激光點和攝像頭成像平面連線和攝像頭軸線之間會有一個夾角θ,通過在攝像幀圖像里面對這個激光點相對于軸心的像素點的判斷,可以確定出θ的大小,從而就能得到距離D。根據(jù)幾何關系,容易得出距離D的測量公式:
將式(2)代入式(1),可得
以上公式中的pfc指激光點在攝像頭拍攝的圖片上到攝像頭軸心的距離,rpc指的是每個像素點的弧度,ro為角度的補償因子。rpc和ro是由攝像頭本身的參數(shù)決定的,可以通過測試兩組D和pfc來聯(lián)立方程求得。只有pfc為變量,根據(jù)圖像處理,即可求出pfc,進而求得距離D。
同時可以根據(jù)實際數(shù)據(jù)的測量實驗或幾何關系可以得出:假如激光管安裝在攝像頭的正上方,則激光在CMOS感光元件成像上,根據(jù)距離的不同,只是在Y軸上有偏移,X軸方向的坐標位置固定。若激光管裝在攝像頭的左邊或者右邊,激光點在CMOS感光元件成像上只是在X軸方向發(fā)生偏移,而且距離D和激光點到相機軸心的距離是成反比的[3]。
圖2所示裝置需要一個功率為5 mW、電壓為5 V的普通激光管和一個最大分辨率為640×480的攝像頭,攝像頭與激光管的水平距離h=5 cm。將激光管置于與攝像頭同一水平線或豎直線(本文激光管安裝在與攝像頭同一水平線的左邊)。調(diào)節(jié)激光管的俯仰角,使得激光管出射的準直光與攝像頭成像軸平行。啟動PC端程序,調(diào)用攝像頭,根據(jù)拍攝畫面中的參考物對鏡頭調(diào)焦及擺正。調(diào)節(jié)鏡頭與待測目標物距離適中,保證激光點處于拍攝的畫面中,則待測未知量pfc就是激光點在畫面上X軸方向的偏移量。
圖2 激光測距外觀裝置圖
LabVIEW是一種新型的圖形化編程軟件,有著極為豐富的界面控件,主要用于開發(fā)數(shù)據(jù)檢測,數(shù)據(jù)測量采集系統(tǒng),工業(yè)自動控制系統(tǒng)和數(shù)據(jù)分析系統(tǒng)。運用LabVIEW的視覺模塊對攝像頭采集的圖片進行圖像處理,能夠簡化程序的結構和內(nèi)存,大大提高了程序運行的效率。所以本文采用在LabVIEW的環(huán)境下進行開發(fā)[4]。
基于LabVIEW圖像處理尋找激光點的坐標分為彩色圖像匹配、圖像分割、圖像預處理、圖像質心求解和坐標轉換等步驟。
2.2.1 彩色圖像匹配
本系統(tǒng)的彩色圖像匹配算法主要是利用LabVIEW自帶的顏色匹配模塊來實現(xiàn),該模塊主要包括學習和匹配兩種控件。對于該學習控件,需要調(diào)試的主要參數(shù)有:是否提取平移不變性或旋轉不變性匹配信息、學習模式設置數(shù)據(jù)、學習模具設置。對于該匹配控件,調(diào)試的主要參數(shù)有:匹配數(shù)量上限、最小匹配分數(shù)、匹配模式設置數(shù)據(jù)、是否匹配平移不變或旋轉不變圖像;還需要參考設置的參數(shù)有:旋轉角度范圍的設定、是否返回匹配結果的亞像素精度、目標區(qū)域描述、匹配閾值設置。
上述參數(shù)設置的正確與否將直接關系到匹配操作能否成功。在使用時,需要輸入提前從采集圖像中截取的激光點區(qū)域圖像,作為學習的圖像;然后由學習控件將學習結果圖像輸入到匹配控件中,計算機將相機拍攝圖像同時輸入匹配控件中,即可輸出在采集圖像中的激光點區(qū)域信息,達到定位目的。
程序運行的效果圖如圖3所示。
圖3 基于顏色匹配框取激光點
2.2.2 圖像分割
由于后續(xù)需要采取求取整張圖片的質心方法來求取激光點的坐標,需根據(jù)顏色識別獲取的激光點位置的4個頂點坐標,用LabVIEW視覺模塊的IMAQ Extract2 VI將激光點截取出來,即在攝像頭拍的原圖中將激光點從其背景中截出來,用于后續(xù)的激光點質心的求取,以提高激光點坐標計算的準確率。
2.2.3 圖像預處理及求取質心
由于截取的激光點圖片是彩色圖,為了方便運算,需將激光點二值化。由于激光點周邊有光暈,也會對圖象求取質心獲得激光點的坐標造成影響,需要對圖像進行濾波、腐蝕、開運算,最大限度地消除噪聲[5],獲得只有激光點的像素二值化圖片。最后需要對二值化后的激光點圖像求取質心,從而獲得激光點在圖像上的坐標。需要注意的是,此坐標不是原本攝像頭拍攝圖片的激光點質心坐標,而是截取出來的激光點圖片的質心位置(x1,y1),所以需換算回去,最終可得到攝像頭拍攝圖片上激光點的坐標(X,Y)。由于畫面是640×480的分辨率,則
經(jīng)圖像處理后激光點的二值化圖像如圖4所示。
圖4 激光點的二值化圖像
本裝置攝像頭與激光管水平距離h=5 cm。對系統(tǒng)進行初始調(diào)試時,對兩段距離的測量結果見表1。將表1的數(shù)據(jù)代入式(3)后,即可得到參數(shù)rpc和ro。算得該固定參數(shù)設置為rpc=0.001 1,ro=-0.232 4。
表1 系統(tǒng)初始調(diào)試數(shù)據(jù)cm
再次使用本系統(tǒng)進行測距時,即可由圖像處理后獲得的pfc代入式(3),得到目標物體到攝像頭的實際距離D。由于計算機控制相機實時采集的同時,計算機同步處理圖像,因此本系統(tǒng)可實時顯示距離信息。測量效果如圖5。
圖5 基于LabVIEW圖像處理測算距離效果圖
由圖5計算的D1=20.05 cm和實際距離D2=20.00 cm,可計算得到絕對誤差Δ=-0.05 cm,相對誤差為:0.25%。測量近距離和遠距離的多組數(shù)據(jù)如表2。
表2 測量誤差
由表2可知,測量范圍在20~200 cm,測量絕對誤差為±0.2~±3.8 mm,相對誤差為0.1%~0.22%。由此說明該裝置測量的精度較高。
于位置D=42.60 cm和D=85.90 cm測量多組數(shù)據(jù),求得系統(tǒng)的標準差來判斷系統(tǒng)是否穩(wěn)定,數(shù)據(jù)如下表3所示。
表3 求系統(tǒng)測量的標準差cm
由表3中的數(shù)據(jù)可知D=42.60 cm和D=85.90 cm兩個不同測量位置的系統(tǒng)測量標準差很小,由此可判定該裝置的系統(tǒng)穩(wěn)定性高。
在實際測距場合中,帶PC端的激光測距系統(tǒng)的靈活性和便攜性不高。對此,本文提出了一種不需PC端的設計方法。即計算機可被裝有LCD顯示屏的Openmv模塊替代,Openmv模塊提供的圖像處理程序可替代LabVIEW圖像處理程序來識別激光點及獲取激光點坐標位置,并將處理得到的測量距離在LCD顯示屏上實時顯示。Openmv模塊自帶攝像頭,可將激光管與Openmv模塊裝在一起,組成一個一體化的激光測距裝置,提高激光測距裝置的靈活性和便攜帶性。
通過實驗發(fā)現(xiàn),該儀器的有效測量范圍為20~200 cm,該范圍內(nèi)的測量誤差為±0.2~±3.8 mm。此處實驗采用的攝像頭分辨率為640×480,為了提高精度,可以選用更高分辨率的攝像頭[2]。另外增大激光管和攝像頭之間的距離,可以測量得更遠,但是這樣又會犧牲測量的精度和最小的測量范圍,所以本系統(tǒng)適用于近距離的高精度距離測量的場所。
目前本系統(tǒng)有待進一步研究的問題是,裝置使用時對環(huán)境光線要求較高,強光照射和各種反射物的干擾都會導致系統(tǒng)無法正常使用,使用范圍有待擴大。另一方面,系統(tǒng)誤差對測量結果精確程度的影響也很大,激光準直平行和光路調(diào)節(jié)精確程度有待提高。
由于本系統(tǒng)是通過圖像像素信息獲取實際距離信息,理論上測量精度可達到微米級別。然而目前測量誤差為±0.2~±3.8 mm,測量精度仍有提升空間。解決方案的關鍵在于,使用更高分辨率的相機,嚴格把控裝置參數(shù)的準確性,并提高圖像處理算法的準確度。