顏承壯, 皇攀凌, 周軍, 葉豐, 林樂彬
(山東大學機械工程學院, 濟南 250012)
在裝修作業過程中,為了避免線管、水管因裸露在外部而被后續的其他施工損壞,要對墻體進行水電開槽。傳統的開槽作業主要由人工完成,但是人工開槽作業存在著一些問題,如開槽效率低,具有安全隱患,切割出來的墻槽深度、寬度大小不一,割槽時會產生大量的粉塵,導致影響操作人員健康和污染環境等問題。因此,急需開展機器人代替人工操作方面的研究。
隨著機器視覺的不斷發展,其應用場景已經從工業生產線擴張到建筑行業的施工作業中[1]。劉付渝杰等[2]設計一種基于機器視覺的砌墻磚自動檢測系統,能快速準確地對砌墻磚完成外觀質量和幾何尺寸的檢測。李伯犀等[3]以圖像為輸入,在大數據、云計算和人工智能等技術的支持下,完成施工圖紙的語義解析,實現了圖紙元素的自動識別。鄭龍海等[4]針對現有建筑垃圾分類不清,且自動化程度不高的情況,提出了一種基于機器視覺與稱重技術相結合的分類方法,能夠有效地將建筑垃圾中常見的木頭和磚石進行自動分類并回收利用。成佳明等[5]基于線結構光視覺傳感技術建立了一種適用于施工現場鋼結構焊縫坡口識別方法,識別精度較高,為后續焊接機器人的應用提供了關鍵技術支持。許文稼等[6]針對當前建筑垃圾分選中存在的分選效率不高、自動化程度較低等問題,提出了一種基于機器視覺和深度學習的建筑垃圾智能分選系統,實現建筑垃圾的智能化分選。劉同[7]基于機器視覺技術設計了建筑結構施工中房屋裂縫智能檢測方法,具有較高的檢測精度。
綜上所述,機器視覺技術在建筑機器人領域有著廣泛的應用前景,合理地運用該技術可大大促進墻體開槽作業的自動化和智能化。將機器視覺技術運用到開槽作業中時面臨的一大挑戰是復雜惡劣的作業環境,光線條件差、粉塵污染等問題會較大影響圖像的成像效果。鑒于此,為了改善圖像在低照度區域和高照度區域的顏色呈現效果,解決在復雜多變的光照條件下特征提取失敗、錯誤提取等問題,提出一種改進的多尺度Retinex用于圖像預處理。在將原始多尺度Retinex應用到圖像亮度分量得到每個像素位置亮度的變化量的基礎上,使用衰減函數抑制高亮區域的亮度值增量,然后將亮度通道變化量轉化為RGB三通道的變化量。基于此,結合常用的圖像處理算法和點激光測距獲取外參的方法,最終實現墻體開槽機器人的目標檢測與空間位置精確定位。通過試驗驗證機器人基于改進的預處理算法的目標檢測效果與定位精度。研究成果為機器視覺技術在智能建造行業中的應用,以及智能墻體開槽機器人的開發奠定試驗基礎。
建筑墻體管線開槽打孔的目標檢測是將工人用粉筆在墻上做好的標記檢測出來,其中開槽標記為直線,打孔標記為圓。目標檢測流程如圖1所示。

圖1 目標檢測流程Fig.1 Target detection process
步驟1預處理。首先,使用改進的多尺度Retinex對原始圖像進行預處理,包括對原圖中的亮度分量使用原始多尺度Retinex(multi-scale Retinex,MSR),并抑制高亮區域的MSR結果,再將MSR結果分別作用在原圖的RGB(red-green-blue)通道。
步驟2轉HSV(hue-saturation-value)。將預處理后的圖像轉換到HSV色彩空間,使用預先調試好的閾值提取顏色特征。
步驟3形態學處理。使用形態學方法進行特征膨脹是特征更明顯。
步驟4獲取像素坐標。使用霍夫圓檢測確定圓孔槽的像素坐標,使用輪廓檢測、最小矩形框等方法獲取線槽的兩端點像素坐標。
步驟5坐標轉換。預先標定相機內參,使用點激光來測量攝像頭到墻面的外參,將目標的像素坐標轉換到機器人坐標系。
人眼能夠在不同環境下識別出同一種顏色,但顯示設備做不到,低光照度[8]和陰影[9]條件都會使圖像的色彩發生變化。基于顏色恒常性的Retinex理論認為物體的顏色是其自身對光的反射特性決定的[10],并不會隨光照條件而改變。通過 Retinex 算法可以實現對圖像自身光照估計,并消除光照不均勻[11]。一幅圖像Ic(x,y)可表示為照度分量和反射分量的乘積[12],即
Ic(x,y)=Rc(x,y)Lc(x,y)
(1)
式(1)中:Rc(x,y)為反射分量;Lc(x,y)為照度分量。
根據Retinex理論提出的多尺度Retinex增強算法將原圖像Ic(x,y)進行高斯模糊作為Lc(x,y)的估計值,采用多尺度高斯卷積模板對Ic(x,y)進行模糊,并進行加權平均,可表示為[13]
Rc(x,y)=lgIc(x,y)-lgFk?Ic(x,y)
(2)
(3)
(4)

原始的MSR算法應用在圖像中的RGB分量,會出現圖像灰化的現象[15],將MSR算法用于亮度分量I(x,y)得到增強后的IMSR(x,y),然后得到每個像素點處的處理后的值與原始亮度的比值k(x,y),可表示為
(5)
為防止高亮區域的顏色失真,使用式(6)中構造的衰減系數Fδ(x,y)對高亮區域亮度的變化量進行抑制,見式(7),最后用比值與原圖RGB通道相乘,見式(8)。
(6)
k′(x,y)=Fδ(x,y)[k(x,y)-1]+1
(7)
(8)
式中:Fδ(x,y)為衰減系數;I(x,y) 為亮度分量;k′(x,y)為k(x,y)衰減后的值;R(x,y)、G(x,y)、B(x,y)分別為原圖中每個像素位置3個通道的值;R′(x,y)、G′(x,y)、B′(x,y)分別為處理后每個像素位置3個通道的值。
HSV三維空間坐標系中各坐標之間均有獨立的色彩的信息,能較好地反映人對顏色的感知和鑒別能力,非常適合對色彩的圖像進行顏色比較[16]。將預處理圖像從RGB色彩空間轉換到HSV色彩空間,再在HSV色彩圖像中通過設置閾值提取顏色特征,得到表示顏色特征的二值圖像。
圖像經過閾值分割后得到特征的二值圖像,在二值圖像中可能存在一些點狀的噪聲,也有的特征因為墻體存在裂縫而斷開。借助形態學的腐蝕運算可以幫助消除白色點狀噪聲,利用膨脹算法補償因腐蝕而損失的特征區域。采用合適的形態學處理策略可以在不明顯改變特征面積的情況下減少負面影響[17]。
處理好二值特征圖后,進行打孔與開槽的目標檢測。檢測過程分為圓檢測與線檢測。首先對圓進行檢測,即檢測打孔目標。采用的檢測方法為:對提取出的顏色特征圖像進行霍夫圓檢測[17]。設定標記圓的半徑大小范圍,剔除重疊的圓。然后對開槽標記(直線)進行檢測。首先提取顏色特征的輪廓,對輪廓創建最小外接矩形。在實驗中輪廓長度小于200像素的輪廓被過濾,不創建最小外接矩形。接下來判斷得到的最小外接矩形是否滿足直線特征。先對外接矩形的長寬進行比較,得到長邊與短邊,對長邊與短邊的長度進行限制,并限制舉行的長寬比不得小于8,然后將滿足上訴條件的矩形擬合為一條線段,得到線段的兩端坐標值。
得到開槽目標在圖像中的位置后,需要將其轉換為機器人坐標系中的空間位置。轉換過程分為兩步:將像素坐標轉換為相機坐標;相機坐標轉換為機器人坐標。
應用相機標定方法得到相機的內參矩陣K,利用單點激光測距儀獲取距離信息,再采用坐標映射的方法實現彩色圖像與深度圖像的匹配,進而得到目標點的空間三維坐標。
使用的張正友平面模板算法[18]是目前使用最廣的一種標定算法[19]。算法借助一個標準的棋盤格,首先使用相機從各個角度拍攝這幅棋盤格對象,然后提取圖像中棋盤格的角點,最后通過圖像中角點的坐標以及世界坐標系下角點坐標的映射關系,從而計算出相機的內參。平面模板算法默認在Z=0的平面,算法中的相機投影模型可表示為
(9)
得到相機參數后,由式(10)可以計算出目標在相機坐標系中的坐標值,計算公式為
Pcamera(3×1)=K(3×3)Ppixel(3×1)depth
(10)
式(10)中:K為相機內參矩陣;Ppixel為像素坐標系中的齊次坐標;depth為檢測目標點在相機坐標系中的深度。
圖2為機器人各關鍵部件位置關系示意圖,圖3、圖4分別為機器人俯視圖和左視圖。世界坐標系設定為位于相機視野中心的墻面上,機器人在工作過程中相機鏡頭正對著墻面。如圖3所示,理想情況下機器人平行于墻面(θ=0°),目標點在相機坐標系中的深度depth為相機光心到墻面的距離t3,然而,由于機器人在行進過程中與墻面的平行存在誤差,導致depth不等于相機光心到墻面的距離,這就導致實際坐標點與計算出來的坐標點存在誤差。

Ow-Xw-Yw-Zw為世界坐標系;Oc-Xc-Yc-Zc為相機坐標系;Or-Xr-Yr-Zr為機器人坐標系圖2 機器人各關鍵部件位置關系示意圖Fig.2 Schematic diagram of position relationship of key components of robot

Θ為機器人與墻面間的角度;θ為機器人與墻面之間的角度;d1、d2分別為左右點激光測距值;lx、l′x分別為p、p′相對于相機在Xc方向的偏移;w1、w3分別為相機與左右點激光間的橫向距離;w2為相機與機械臂間的橫向距離圖3 機器人俯視圖Fig.3 Top view of robot

t3為相機光心到墻面距離;h為相機安裝高度;d3為點激光測距儀與相機在Zc方向的偏差;ly、l′y分別為P、P′相對于相機在Yc方向的偏移圖4 機器人左視圖Fig.4 Robot left view

H_min、H_max分別為圖像色度的最小、最大閾值;s_min、s_max分別為圖像飽和度的最小、最大閾值;v_min、v_max分別圖像亮度的最小、最大閾值;rvec為相機調試旋轉向量;tvec為相機調試平移向量圖5 模擬實驗平臺Fig.5 Simulation experiment platform

(11)
(12)
式(11)中:d1、d2分別為左右激光測距得到的距離值;w1為兩激光測距儀間的距離;θ為機器人與墻面間的角度,即實際墻面與理想墻面之間的角度差;d3為激光測距儀在相機坐標系中的深度;w3為左側激光測距儀相對于相機在Xc方向的偏移。
兩直線聯立解得
(13)
(14)
由式(13)、式(14)可得目標點的真實depth,其中,lx為目標點p相對于相機在Xc方向的偏移,l′x為目標點p′相對于相機在Xc方向的偏移。
再次將depth代入式(10)即可得到檢測目標在相機坐標系中的實際坐標點p′。
為使機器人能準確找到目標點的位置,需要將相機坐標系下的坐標轉換到機器人坐標系中。如圖2所示,機器人坐標系固定在機械臂的始端,相機固定在支架上,下面結合實際應用場景進行手眼標定。
機器人實際作業時,將檢測到的圓心坐標作為打孔的位置,將直線兩端點作為開槽的位置。為保證標定時獲取坐標的準確性,使用打印的標準圓進行標定。標定步驟如下。
步驟1將機器人放置在工作狀態下的位置,盡量與墻面平行。將標記貼在墻面上一個位置,使用測試軟件獲取到相機坐標系下的位置并記錄。
步驟2調整機械臂末端執行機構的位置,使之對準墻面上的標記,獲取此時末端執行機構的位置。
步驟3重復步驟1、步驟2多次。
步驟4由圖2中的各坐標系之間的關系,設相機坐標系與機器人坐標系間的轉換關系見式(15)。
(15)
式(15)中:(xr,yr,zr)為機器人坐標系中的坐標值;(xc,yc,zc)為相機坐標系中的坐標值;a、b、c為待定系數,取多組對應點對求出待定系數的平均值。
如圖5所示,為了測試本文目標檢測算法的有效性及定位精度,搭建了模擬實驗平臺。采用的相機分辨率為720×960,將相機置于距離墻面約1.5 m處粉筆標記進行拍攝。
如圖6所示,第一行為測試圖像在正常光線、光線較強和較暗環境下的原始圖像,第二行對原始圖像直接轉換到HSV空間提取的顏色特征。圖7第一行為使用直方圖均值化對3種不同光照條件下的圖像進行處理,第二行為提取顏色特征的結果。圖8第一行為使用原始MSR算法進行預處理,第二行為提取顏色特征的結果。圖9為使用改進的MSR算法進行預處理并提取顏色特征得到的結果。圖10第一行為對本文算法提取的特征使用形態學處理,第二行為檢測結果在圖像中的位置。

圓表示檢測到圓形標記;直線表示檢測到直線標記;圖像像素:720×960圖6 不同光線條件下原始圖像中提取顏色特征Fig.6 Extract color features from original image between different light bars

圓表示檢測到圓形標記;直線表示檢測到直線標記;圖像像素:720×960圖7 使用HE預處理并提取顏色特征Fig.7 Extract color features using HE pretreatment

圓表示檢測到圓形標記;直線表示檢測到直線標記;圖像像素:720×960圖8 使用MSR預處理并提取顏色特征Fig.8 Extract color features using MSR pretreatment

圓表示檢測到圓形標記;直線表示檢測到直線標記;圖像像素:720×960圖9 使用改進的MSR預處理并提取顏色特征Fig.9 Preprocessing with improved MSR, Extract color features

圓表示檢測到圓形標記;直線表示檢測到直線標記;圖像像素:720×960圖10 對圖9的顏色特征進行形態學處理在圖像中定位Fig.10 Morphological processing of color features in Fig.9 for image localization
從圖7~圖9可以看出,使用HE處理得到的圖像一致性較高,但出現了嚴重的色偏,使用MSR處理的圖像在光線較暗時出現紅色色偏,另外兩張出現灰化現象,使用改進的MSR算法得到了較一致的圖像且抑制了色偏現象。在提取顏色特征階段,設置的HSV三通道閾值都為正常光照條件下的圖像經不同算法預處理后可以檢測到目標的閾值。對比不同算法預處理后的圖像提取顏色特征的效果,在不使用預處理算法時,只能在單一的光照條件下提取到完整的目標特征,在使用3種預處理算法后均能在3種不同的光照條件下提取到完整的顏色特征,其中在經HE和改進的MSR預處理過的圖像中提取特征的效果明顯優于使用原MSR的特征提取效果。考慮到HE處理的圖像存在嚴重色偏,所以改進的MSR算法的使用效果優于HE。
得到目標在機器人坐標系中的坐標值p1(x1,y1,z1)后,控制機器人的機械臂末端執行機構的位置對準標記目標,得到末端執行機構的坐標值作為標記的實際坐標p2(x2,y2,z2)。將兩坐標值之間的距離ε作為定位誤差。多次檢測不同位置的開槽目標并通過機械臂獲取實際目標坐標,得到的多組誤差如表1所示,其表達式為
(16)

表1 計算得到的坐標值和實際坐標值Table 1 Calculated coordinate value and actual coordinate value
試驗表明,本文目標檢測方法中通過改進的MSR進行預處理能夠實現圖像不同光照條件下的色彩恒常性,并抑制原始MSR算法中的色偏和灰化現象,保證了后續特征提取的穩定性。通過對提取的顏色特征進行形狀判斷和定位,驗證了本文目標檢測方法的有效性。然后將方法檢測到的機器人坐標系中的坐標與實際目標的坐標進行對比,得到兩種坐標值的誤差在4 mm以內,該精度已滿足建筑墻體開槽的作業要求。
針對現有開槽目標檢測算法在復雜多變的光照條件下特征提取失敗、錯誤提取的問題,提出了一種改進的多尺度Retinex算法。對于機器人不平行于墻面時導致的坐標點誤差,提出了點激光測距技術獲取相機外參的方法。將機器視覺技術運用到開槽作業中,彌補了開槽目標檢測與定位算法的空缺。得到如下結論。
(1)提出的圖像預處理算法有效改善了在復雜照明環境下圖像顏色呈現效果,實現了圖像在不同亮度下的色彩恒常性,為后續提取準確的特征并進行目標檢測奠定了基礎。
(2)提出的點激光測距技術獲取相機外參的方法有效減少了圖像坐標點轉換為相機坐標點的誤差,實現了開槽目標在三維空間中的精準定位。
(3)試驗結果表明,使用基于所提預處理算法的墻體開槽機器人目標檢測與定位算法使得機器人在復雜多變的光照條件下依然能夠實現準確的目標檢測與精準定位,坐標定位誤差在4 mm以內,該精度已滿足建筑墻體開槽的作業要求。