王增專,蔣 明,付小健,譚力恒
(1.華中科技大學(xué) 武漢光電國家研究中心,武漢 430074;2.華中科技大學(xué) 鄂州工業(yè)技術(shù)研究院,湖北 鄂州 436044)
激光除冰[1-5]作為一種新穎的非接觸式除冰技術(shù),能在遠(yuǎn)距離快速去除目標(biāo)物體表面附著的冰雪覆蓋物,主要應(yīng)用于輸電線路與橋梁拉索等冰雪災(zāi)害防護(hù)領(lǐng)域。激光遠(yuǎn)程除冰過程中,隨著工作距離的增大激光功率密度會(huì)大大降低,根據(jù)工作距離動(dòng)態(tài)調(diào)節(jié)輸出激光束的參數(shù)、時(shí)機(jī)及作用位置,可以有效提高融冰速度。傳統(tǒng)的用于激光除冰系統(tǒng)測(cè)距的方法主要有:紅外測(cè)距[6]、超聲測(cè)距[7]以及激光測(cè)距[8]等。紅外測(cè)距具有測(cè)量精度高、速度快及結(jié)構(gòu)簡單等優(yōu)勢(shì),但在強(qiáng)光直射環(huán)境下會(huì)導(dǎo)致測(cè)量誤差。超聲測(cè)距測(cè)量結(jié)果不受光照的影響,具有測(cè)距迅速、處理信息簡單等優(yōu)勢(shì),但由于冰目標(biāo)表面光滑易產(chǎn)生鏡面發(fā)射而導(dǎo)致測(cè)量誤差。激光測(cè)距具有快速測(cè)量、實(shí)時(shí)動(dòng)態(tài)以及測(cè)量范圍大等特點(diǎn),在工業(yè)領(lǐng)域得到了廣泛的應(yīng)用。
激光三角測(cè)距法[9-11]是由學(xué)者D.Burrows和J.Hadwin于1973年提出的一種將傳統(tǒng)三角測(cè)量法與先進(jìn)的激光檢測(cè)技術(shù)相結(jié)合的非接觸式測(cè)距技術(shù),具有鋪設(shè)簡單、功耗低等優(yōu)點(diǎn)。在激光三角測(cè)距儀設(shè)計(jì)方面,陳念年[12]提出了一種高精度單點(diǎn)激光三角測(cè)距方法,在校正CCD相機(jī)畸變的基礎(chǔ)上利用亞像素定位技術(shù)檢測(cè)光斑中心,測(cè)量均方根誤差為24.9 μm。朱錚濤[13]建立了基于遠(yuǎn)心鏡頭的主動(dòng)式激光三角測(cè)距模型用于檢測(cè)物體厚度,測(cè)量精度在5 μm以內(nèi)。張思詳[14]搭建的激光三角測(cè)距儀避免了傳統(tǒng)測(cè)量方法中需要選取基準(zhǔn)點(diǎn)的缺陷,將測(cè)量范圍提升至750 mm時(shí),測(cè)量精度可達(dá)0.3 mm。武澤鍵[15]搭建的利用功率自適應(yīng)的激光三角測(cè)距儀有效保證了光斑圖像的穩(wěn)定性,測(cè)量精度可達(dá)0.05 mm,大幅提升了測(cè)量精度。但現(xiàn)有激光三角測(cè)距儀由于激光采集設(shè)備的接收范圍有限,導(dǎo)致其無法勝任大范圍的測(cè)距任務(wù),從而影響了激光三角測(cè)距儀的應(yīng)用靈活性。
為了彌補(bǔ)普通激光測(cè)距儀范圍受限、靈活性差等不足,結(jié)合PTZ相機(jī)具有可變視角和可變分辨率能力,提出了一種測(cè)量范圍可調(diào)的激光測(cè)距方法,通過軟件控制PTZ相機(jī)進(jìn)行旋轉(zhuǎn)運(yùn)動(dòng)和變倍調(diào)節(jié),實(shí)現(xiàn)了不同位置、大范圍目標(biāo)的測(cè)距功能,有助于輔助與增強(qiáng)激光除冰系統(tǒng)的工作性能。
激光除冰視覺測(cè)距系統(tǒng)裝置如圖1所示。本系統(tǒng)主要由PTZ相機(jī)、指示激光器、三角支架及計(jì)算機(jī)等硬件設(shè)備和圖像處理軟件組成。本文使用的PTZ相機(jī)是海康威視DS-2DC7423IW-A型400萬像素高清網(wǎng)絡(luò)球機(jī),支持2 560×1 440@30fps高清畫面輸出,內(nèi)部集成云臺(tái)能夠承載相機(jī)水平360全角度旋轉(zhuǎn)及垂直90°翻轉(zhuǎn),鏡頭可伸縮可光學(xué)變焦,焦距為4.8~110 mm,支持23倍光學(xué)變倍,相機(jī)自身水平視角為59.5~2.9°(廣角-望角),滿足工程上場(chǎng)景范圍動(dòng)態(tài)變化和視覺測(cè)量精度的要求。指示激光器使用宏達(dá)公司HD-D635P5-F1670型650 nm/5 mW紅色點(diǎn)光源。PTZ相機(jī)與指示激光器分別固定于三角支架上,且支持高度和俯仰位置調(diào)節(jié)。圖像處理軟件是在Windows 10環(huán)境下,采用Visual Studio 2015和MFC進(jìn)行界面層開發(fā),基于OpenCV開源視覺庫和??低曄鄼C(jī)SDK開發(fā)包,設(shè)計(jì)視覺處理算法。
圖1 激光除冰視覺測(cè)距系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)工作原理是激光三角測(cè)距原理[16-18]。要使測(cè)量系統(tǒng)具有較大的測(cè)量距離又能保證合理的測(cè)量范圍,必須保證采集設(shè)備具有可變視角和可變分辨率的能力,為此本文基于PTZ相機(jī)實(shí)現(xiàn)了一種測(cè)量范圍可調(diào)節(jié)的激光測(cè)距功能。如圖2所示,激光器向待測(cè)目標(biāo)投射一束激光,PTZ相機(jī)中心點(diǎn)在激光束投射路徑上的垂直投影點(diǎn)為測(cè)距起點(diǎn),激光器與相機(jī)鏡頭中心點(diǎn)的間距為h。通過控制PTZ相機(jī)進(jìn)行位姿調(diào)節(jié)和變倍調(diào)節(jié),使待測(cè)目標(biāo)出現(xiàn)在拍攝畫面中,此時(shí)待測(cè)點(diǎn)和相機(jī)中心O之間的連線與測(cè)距起點(diǎn)和相機(jī)中心O之間的連線會(huì)存在一個(gè)夾角θ。當(dāng)待測(cè)目標(biāo)沿激光出射方向前后移動(dòng)時(shí),相機(jī)畫面中的光斑位置及大小也會(huì)隨之發(fā)生變化,從而造成θ的變化。依據(jù)激光三角測(cè)距法的位置關(guān)系,可以得出待測(cè)距離D的大小為:
D=htan(α±Pfc·Rpp+ro)
(1)
其中:α為相機(jī)云臺(tái)轉(zhuǎn)角,Pfc(pixels from center)為光斑像點(diǎn)到成像中心的像素個(gè)數(shù),Rpp(radian per pixel)為單個(gè)像素點(diǎn)所代表的弧度,ro(radian offset)為安裝補(bǔ)償因子。Rpp和ro由相機(jī)固有參數(shù)決定,由式(1)可知,定焦距下θ的大小主要取決于α和Pfc??梢酝ㄟ^一定的圖像處理算法獲得Pfc的大小,在??低曄鄼C(jī)SDK開發(fā)包的支持下,獲得對(duì)應(yīng)的云臺(tái)轉(zhuǎn)角α大小,進(jìn)而實(shí)現(xiàn)激光測(cè)距功能。由于PTZ成像視野大小的影響,固定位姿下系統(tǒng)的測(cè)量范圍受限,如圖2所示,位置A為測(cè)量的最小距離,位置C為測(cè)量的最大距離。另外,合理調(diào)節(jié)PTZ相機(jī)變倍值得到高分辨率的光斑圖像,會(huì)降低由環(huán)境光線干擾而導(dǎo)致的測(cè)距誤差,進(jìn)而實(shí)現(xiàn)遠(yuǎn)距離測(cè)距。
圖2 測(cè)量范圍可調(diào)的激光三角測(cè)距法原理示意圖
圖像處理軟件是整個(gè)視覺測(cè)距系統(tǒng)的關(guān)鍵所在,負(fù)責(zé)完成光斑圖像的采集、識(shí)別、定位及距離解算。軟件運(yùn)行的過程是,首先利用海康威視提供的開發(fā)包對(duì)PTZ相機(jī)進(jìn)行二次開發(fā)獲取實(shí)時(shí)光斑視頻流數(shù)據(jù),并解碼為YUV圖像數(shù)據(jù)結(jié)構(gòu),再利用cvCvtColor()函數(shù)轉(zhuǎn)換成OpenCV提供的庫函數(shù)設(shè)計(jì)光斑圖像的處理算法,配合PTZ的云臺(tái)控制實(shí)現(xiàn)激光測(cè)距功能。視覺測(cè)距系統(tǒng)軟件設(shè)計(jì)流程圖如圖3所示。為了滿足測(cè)距的實(shí)時(shí)性需求,作者采用MFC多線程和鏈?zhǔn)疥?duì)列相結(jié)合的方式,實(shí)現(xiàn)圖像數(shù)據(jù)采集與處理過程的協(xié)同工作,最小化系統(tǒng)開銷。
圖3 系統(tǒng)軟件算法流程圖
云臺(tái)指的是支撐和安裝PTZ相機(jī)的平臺(tái),可以通過云臺(tái)控制器對(duì)外部信號(hào)的響應(yīng)實(shí)現(xiàn)PTZ相機(jī)兩個(gè)自由度的旋轉(zhuǎn)及畫面縮放。使用的??低昉TZ相機(jī)支持水平0~360°旋轉(zhuǎn)、垂直-15~90°旋轉(zhuǎn)及23倍光學(xué)變焦,且該款相機(jī)提供了通信及二次開發(fā)接口,便于用戶控制云臺(tái)轉(zhuǎn)動(dòng)及變焦調(diào)節(jié)。云臺(tái)控制的任務(wù)是根據(jù)用戶指令驅(qū)動(dòng)云臺(tái)旋轉(zhuǎn)與變倍,保證畫面中捕獲高分辨率的光斑圖像。系統(tǒng)云臺(tái)控制工作流程是,首先在使用SDK中的基礎(chǔ)API之前,調(diào)用函數(shù)NET_DVR_Init初始化SDK;接著使用函數(shù)NET_DVR_Login_V30實(shí)現(xiàn)注冊(cè)登錄設(shè)備;再利用帶速度的控制函數(shù)NET_DVR_PTZControlWithSpeed依據(jù)用戶指令向云臺(tái)發(fā)送控制碼,PTZ接收后經(jīng)云臺(tái)控制器解碼并驅(qū)動(dòng)相機(jī)調(diào)節(jié)姿態(tài)和焦距,云臺(tái)轉(zhuǎn)速有6個(gè)等級(jí),支持上下左右以及左上、左下、右上、右下共8個(gè)方向旋轉(zhuǎn),鏡頭可伸縮可光學(xué)變焦;最后在系統(tǒng)活動(dòng)結(jié)束前需要調(diào)用函數(shù)NET_DVR_Cleanup釋放SDK內(nèi)存資源。
圖像進(jìn)行預(yù)處理[19]能減輕后續(xù)識(shí)別任務(wù)的負(fù)擔(dān),提升圖像質(zhì)量。針對(duì)背景區(qū)域和噪聲干擾的問題,利用光斑ROI定位算法和中值濾波算法對(duì)光斑圖像進(jìn)行了增強(qiáng),突出了圖像特征。
PTZ采集圖像的視場(chǎng)通常超過光斑的大小,為了使后續(xù)算法處理目標(biāo)更集中,通過設(shè)置圖像感興趣區(qū)域ROI的方式截取圖像中的光斑區(qū)域,以消除背景帶來的影響。使用OpenCV庫函數(shù)cvSetImageROI設(shè)置ROI的大小,將圖像中光斑區(qū)域標(biāo)記截取出來。由于激光反射形成的光斑易受到散射、衍射和自然光的影響,從而導(dǎo)致采集到的光斑通常出現(xiàn)色變和形變等現(xiàn)象,提升了光斑識(shí)別與定位算法的難度。為了濾除圖像噪聲及增強(qiáng)目標(biāo)的可處理性,選用中值濾波算法對(duì)噪聲進(jìn)行抑制。中值濾波是一種非線性濾波算法,其處理過程是將圖像中任意像素點(diǎn)的像素值更新為其鄰域內(nèi)的中值。使用OpenCV庫函數(shù)medianBlur實(shí)現(xiàn)均值濾波操作,該方法在抑制噪聲的同時(shí)可以有效地克服由線性濾波算法導(dǎo)致的圖像模糊等問題,達(dá)到了“保邊去噪”效果。
在圖像處理過程中,顏色是一種描述圖像非常有力的因子[20]。區(qū)別于灰度圖像,彩色圖像對(duì)圖像的信息往往表達(dá)更完整。通過對(duì)原始光斑信號(hào)的分析,發(fā)現(xiàn)光斑在圖像中呈現(xiàn)紅色或中心為白色且被紅色包圍的顏色特征。此時(shí)若采用單閾值分割的方法對(duì)圖像進(jìn)行處理將丟失光斑的顏色信息,基于此本文采用HSI顏色閾值分割算法實(shí)現(xiàn)光斑初步檢測(cè)。由于系統(tǒng)采集到的原始光斑圖像是基于RGB顏色空間的,需要進(jìn)行顏色空間轉(zhuǎn)換以獲得HSI顏色空間下的光斑圖像。首先將H、S、I分量取值范圍標(biāo)準(zhǔn)化到[0,255],再利用OpenCV庫函數(shù)cvThreshold分別對(duì)各分量進(jìn)行紅色區(qū)域提取,當(dāng)閾值滿足H:[220,255]、S:[43,255]、I:[46,255]時(shí)可以準(zhǔn)確分割出光斑區(qū)域,最后使用函數(shù)merge合并成單通道圖像,得到二值化的光斑圖像。為了填充空洞和去除邊緣毛刺,采用OpenCV庫函數(shù)floodFill對(duì)區(qū)域進(jìn)行漫水填充,再調(diào)用形態(tài)學(xué)開操作函數(shù)open平滑邊緣。
由于檢測(cè)出來的二值圖像通常存在背景區(qū)域的干擾,如樹葉、紅色標(biāo)記物等,需要進(jìn)一步驗(yàn)證結(jié)果區(qū)域是否為激光光斑。通常激光光斑表現(xiàn)為具有規(guī)則圓形或橢圓形的輪廓特征,基于此采用圓形度檢測(cè)算法對(duì)二值圖像進(jìn)行區(qū)域篩選,以提高光斑識(shí)別的精度。圓形度是用于表征目標(biāo)邊緣輪廓復(fù)雜程度的物理量,其取值范圍為(0,1]。使用OpenCV庫函數(shù)contourArea和arcLength計(jì)算區(qū)域面積A和周長L,進(jìn)而計(jì)算得到圓形度ω的大小為:
(2)
考慮到光斑的輪廓特征及系統(tǒng)的實(shí)時(shí)性要求,選用圓擬合法對(duì)光斑進(jìn)行定位。圓擬合法指的是當(dāng)目標(biāo)區(qū)域的形狀是圓形或橢圓時(shí),可以通過提取圖像邊緣點(diǎn)并采用最小二乘法來逼近其輪廓。由于光斑邊緣一般具有較好的對(duì)稱性,因此邊緣檢測(cè)算子的選用對(duì)光斑中心的計(jì)算精度影響可以忽略不計(jì)。使用OpenCV庫函數(shù)Canny提取光斑輪廓,并將邊緣點(diǎn)的圖像坐標(biāo)保存到容器vector
圖4 光斑圖像處理流程圖
圖5 光斑圖像處理結(jié)果圖
在應(yīng)用公式(1)進(jìn)行測(cè)距之前,由于系統(tǒng)參數(shù)h、Rpp及ro需要進(jìn)行標(biāo)定。其中h可以通過卡尺或測(cè)距儀測(cè)量得到,而不同Zoom值下Rpp及ro的大小則通過對(duì)已知目標(biāo)測(cè)量對(duì)應(yīng)的像素值和角度值,通過計(jì)算得到。
搭建的激光三角測(cè)距實(shí)驗(yàn)平臺(tái)如圖6所示,激光器與相機(jī)位置固定,且h=1 200 mm,ro=1.607°。
圖6 激光三角測(cè)距實(shí)驗(yàn)平臺(tái)
Rpp實(shí)驗(yàn)標(biāo)定結(jié)果如圖7所示,在Zoom=3/5/10/15/20倍的條件下,Rpp值分別為0.008 7/0.005 4/0.002 8/0.002 5/0.001 5°/pixel。
圖7 參數(shù)實(shí)驗(yàn)標(biāo)定結(jié)果圖
將待測(cè)目標(biāo)放置于距離相機(jī)不同的位置處,通過軟件計(jì)算得到定點(diǎn)的測(cè)距結(jié)果,并與實(shí)際距離作比較。測(cè)量結(jié)果如表1所示。結(jié)果表明,固定變倍值下系統(tǒng)的測(cè)量誤差隨著距離的增大而增大,測(cè)量誤差在Zoom=3倍時(shí)不大于54 mm,在Zoom=5時(shí)不大于27 mm,測(cè)量誤差在Zoom=10時(shí)不大于19 mm,在Zoom=15時(shí)不大于15 mm,在Zoom=20時(shí)不大于11 mm。
表1 不同變倍值下40 m范圍內(nèi)測(cè)距結(jié)果
圖8展示了不同變倍值下實(shí)際距離與測(cè)量絕對(duì)誤差的變化關(guān)系,觀察可得,系統(tǒng)測(cè)量誤差隨著變倍值的增大而減小,這是由于隨著Zoom值的減小,相機(jī)固有的視場(chǎng)角會(huì)變大,即Rpp值會(huì)增大,從而導(dǎo)致測(cè)量誤差放大。
圖8 不同變倍值下實(shí)際距離與測(cè)量絕對(duì)誤差變化關(guān)系圖
綜上所述,可以通過調(diào)節(jié)相機(jī)Zoom值實(shí)現(xiàn)40 m范圍內(nèi)不同位置處的精確測(cè)距。具體地,當(dāng)待測(cè)距離在5 m以內(nèi)時(shí)Zoom值的可選區(qū)間為[1,5)倍,在5~10 m時(shí)Zoom值的可選區(qū)間為[5,10)倍,在10~20 m時(shí)Zoom值的可選區(qū)間為[10,15)倍,在20~30 m時(shí)Zoom值的可選區(qū)間為[15,20)倍,在30~40 m時(shí)Zoom值的可選區(qū)間為[20,23]倍。實(shí)驗(yàn)中,單幀圖像處理耗時(shí)為29.95 ms。
為了實(shí)現(xiàn)激光遠(yuǎn)程除冰系統(tǒng)視覺測(cè)距需求,基于OpenCV平臺(tái)和??低曄鄼C(jī)SDK開發(fā)包實(shí)現(xiàn)了一種范圍可調(diào)的激光三角測(cè)距系統(tǒng)。本測(cè)距系統(tǒng)融合了PTZ相機(jī)水平360°全角度旋轉(zhuǎn)、垂直90°翻轉(zhuǎn)以及23倍光學(xué)變倍能力,通過調(diào)節(jié)相機(jī)位姿及相機(jī)視場(chǎng)角(59.5~2.9°),有效擴(kuò)大了基于機(jī)器視覺的激光三角測(cè)距范圍,實(shí)現(xiàn)了40 m范圍內(nèi)目標(biāo)的精確測(cè)距,單幀圖像處理耗時(shí)為29.95 ms,滿足激光除冰在線測(cè)量的要求。