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