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