王 鵬,趙毛輝,孫長庫,付魯華,王錦申,馮 勇
(1.天津大學精密測試技術及儀器國家重點實驗室,天津 300072;2.中國南方航空股份有限公司工程技術分公司,廣東 廣州 510000;3.中國電信股份有限公司廣州分公司,廣東 廣州 510620)
飛機被廣泛應用于交通運輸、國防和農業等各個方面,飛機蒙皮關系到飛機的氣動性和安全性[1]。由于飛機特殊的運營環境,日常維護中需對其蒙皮質量進行檢測,而依賴于人工目視的傳統檢測方法已經無法滿足現代航空工業對于檢測精度和效率的要求。機器視覺檢測能在避免人工目視檢測效率低下的同時,實現類似人工目視的檢測效果,相較于其他檢測方法,更易于地勤人員操作和接受,檢測結果也更加直觀[2]。
對于飛機蒙皮檢測,常用機器視覺測量方法可分為3D 視覺和2D 視覺檢測。3D 視覺檢測技術主要有基于條紋投影的雙目檢測和3D 激光掃描儀檢測兩種。基于條紋投影的雙目測量具有精度高、測量速度快的優點,但測量范圍較小[3]。有學者結合近景測量技術對結構光測量系統進行定位并將局部點云融合得到完整的三維重建結果[4-5],實現了全局檢測和定位,但需要多次標定和大量的相機設備。而使用激光掃描儀掃描飛機蒙皮生成三維點云的檢測方法,由點云的局部曲率信息進行點云分割,能夠對缺陷區域進行識別定位、檢測缺陷[6-7],不過這種方式只適用于平面狀表面的檢測。2D 視覺檢測雖無法量化缺陷大小,但具有檢測效率高,準確率高的優點。隨著計算機技術的發展,一些學者將深度學習網絡應用到飛機蒙皮檢測之中,完成了從飛機蒙皮圖像中快速識別缺陷并分類的任務,實現了大量圖片數據的自動化處理[8-9],但真正投入應用,還需要解決圖像采集和圖像定位問題。目前飛機蒙皮圖像的采集方式主要有使用爬壁式機器人或無人機搭載相機進行采集兩種。爬壁式機器人搭載相機能夠實現對飛機蒙皮上下面的檢測,但流程復雜、速度較慢且圖像后期定位困難[10-11];使用無人機能夠實現快速檢測,也有學者在無人機上安裝IMU 和定位相機等傳感器實現了圖像定位,但需要室內GPS 等其他定位設備輔助或需要在飛機旁布設額外的定位靶標[12-13]。PTZ(Pan Tilt Zoom)攝像機具備調整拍攝角度和鏡頭變倍功能,有學者將其用到了飛機蒙皮表面檢測上,但只是用于檢測特定部位且不能實現精確定位[14];也有學者通過深度學習來計算PTZ 設備與飛機的相對位姿,但都沒有實現自動掃描與圖像定位[15]。
鑒于PTZ 攝像機調整靈活、拍攝無死角的優點,本文使用云臺、變焦相機和激光測距儀搭建數據采集設備,設計了飛機蒙皮圖像掃描與定位系統;對搭建的數據采集設備進行了聯合標定;設計了細節圖像掃描算法,并提出了細節圖像二維定位與空間定位兩種定位算法。對于需要掃描的飛機蒙皮區域,無需借助其他定位設備即可完成飛機蒙皮的圖像掃描和掃描所得細節圖像的二維定位。對于三維模型已知的被測目標,還可實現掃描細節圖像空間定位。
飛機蒙皮圖像掃描和定位系統組成如圖1 所示。

圖1 系統組成示意圖
系統由工控機控制多臺數據采集設備組成,因飛機體積較大,單個數據采集設備很難完整覆蓋需要檢測的飛機蒙皮區域,故采用多點分布式測量的方案。數據采集設備則是由云臺、激光測距儀和變焦相機組成。中小型客機長度一般在40 m 以內,為使四臺數據采集設備的檢測范圍能夠基本覆蓋待測目標,云臺方位角的可轉動范圍應大于270°,俯仰角可轉動范圍應大于為-60~+30°;測距儀的自然表面量程應大于25 m;變焦相機在工作距離不低于25 m時,所拍攝圖像的像素分辨力應在0.2 mm 以上。測距儀和變焦相機固定安裝在云臺上,安裝時盡量保證測距儀光線與相機光軸平行且與云臺的兩個旋轉軸垂直。利用云臺帶動變焦相機和測距儀轉動實現對飛機蒙皮細節圖像的掃描。
掃描檢測時,將變焦相機焦距調整到最短拍攝全景圖像,全景圖像視場范圍較大,包含要掃描的飛機蒙皮區域,但無法從中識別蒙皮表面細節缺陷。從全景圖像中提取飛機蒙皮區域作為ROI(Region of Interest)區域。為了能夠識別該區域飛機蒙皮的表面缺陷,對該區域進行圖像掃描,調整相機焦距以拍攝視場范圍小、像素分辨力高的細節圖像,使細節圖像組合起來也能夠覆蓋ROI 區域。由設備的標定結果結合激光測距儀測得的待掃描區域到設備的距離計算出掃描ROI 區域各像素點時云臺應轉動的角度,規劃掃描路徑并調整變焦相機的焦距以完成細節圖像掃描。細節圖像的定位方式有兩種,分別是二維定位和空間定位。細節圖像二維定位是在全景圖像中標識出細節圖像所在的像素坐標區域,空間定位則是在飛機三維模型生成的3D 點云上標識出細節圖像的位置。為實現上述工作流程,需要對數據采集設備進行標定,并編寫細節圖像掃描與定位算法。
變焦相機與測距儀均固定安裝在云臺上,三者之間的相對位姿固定不變。為了能夠實現對全景圖像中ROI 區域的掃描和細節圖像的定位,需要在變焦相機焦距最短時標定相機內參,并對測距儀、變焦相機以及云臺的位姿進行聯合標定,以便將測量所得數據統一到一個全局坐標系下。根據相機成像模型建立相機坐標系,以云臺的旋轉軸為坐標軸建立云臺坐標系,標定兩者之間的位姿變換矩陣,從而求得相機與云臺之間的相對位姿;通過求解測距儀激光光線在相機坐標系下的空間直線方程,結合測距儀測得的距離長度求得測距儀測量點在相機坐標系下的空間坐標。標定時,先標定相機內參和相機與云臺的相對位姿,再標定激光測距儀光線在相機系坐標下的方程。
為減小相機位姿傳遞時相機內參誤差造成誤差累計,同時標定相機內參和相機與云臺的相對位姿。建立圖2 所示的標定模型。以云臺的鉛錘旋轉軸為Z軸、水平旋轉軸為Y軸,建立云臺坐標系Or-XrYrZr。將初始狀態下的云臺坐標系(繞兩軸旋轉角度都為零時)設為全局坐標系。固定靶標,由云臺帶動相機轉動采集標定圖片,記錄采集標定圖片時云臺相較于初始狀態繞水平軸和鉛錘軸轉動的角度α和β。

圖2 相機與云臺位姿標定示意圖
以棋盤格靶標上的角點為標志點,將其在靶標坐標系下的坐標記為(,,)(i=1,2,3…,n),在相機坐標系下的坐標記為(,,)(i=1,2,3…,n)。
為靶標坐標系到相機坐標系的位姿變換矩陣,還可以表示成:
式中:J是云臺轉動的總次數,f(·)函數和g(·)分別是通過上述兩種計算方式將標志點的坐標映射到相機坐標系下,d(·)函數是計算兩種方式得到的標志點在相機坐標系下坐標的距離。
相機與云臺位姿標定完成后,保持變焦相機焦距不變,建立相機與激光測距儀的標定模型,如圖3所示。

圖3 相機測距儀位姿標定示意圖
測距儀原點在相機坐標系下的坐標為Lc(,,),其出射光線與相機坐標系各坐標軸的夾角分別為θx、θy和θz。若進行測量時測距儀測得的到被測點P的距離為L,則被測點P在相機坐標系下的坐標(,,)可以表示為:
因測距儀激光光斑可見,采用基于光斑可見性的標定方法對其進行標定[16]。
在實現了數據采集設備標定的基礎上,利用語義分割完成對全景圖中ROI 區域的提取,并對ROI區域進行掃描以拍攝飛機蒙皮細節圖像;分別通過定位細節圖像中心點在全景圖中的像素坐標位置和在飛機三維模型生成的3D 點云中的空間坐標位置,實現細節圖像的二維定位和空間定位。
由于不同飛機表面涂裝顏色不同且檢修時所處環境背景復雜,傳統的圖像分割算法很難完成任務,采用語義分割算法,使用DeepLabv3+MobileNetV2網絡提取全景圖像中的ROI 區域[17]。為了實現對ROI 區域的掃描,需要根據全景圖中像素點坐標(u,v)計算得到掃描拍攝該處細節圖像時云臺相較于拍攝全景圖像時繞水平軸和鉛錘軸轉動的角度α和β。記錄拍攝全景圖時云臺位置。使用相機標定后得到的畸變參數對全景圖像進行畸變矯正,相機的成像模型如圖4 所示。

圖4 相機成像模型示意圖
對于空間中一坐標點P,設其在相機坐標系下的坐標為(xc,yc,zc),在全景圖中的像素坐標為(u,v),成像光線與像平面的夾角為σ,成像光線在像平面的投影與相機光軸的夾角為φ。則有:
式中:(u0,v0)為像平面主點,Fx和Fy為相機的等效焦距。由式(5)計算得到像素坐標(u,v)對應的σ和φ。
安裝時盡量保證相機與云臺的兩個旋轉軸垂直,且兩者之間的距離相較于相機與被測物的距離可以忽略不計,故用σ和φ作為云臺應轉動的角度α和β的初值。結合測距儀測得的當前位置的距離,由細節圖像二維定位方法計算云臺轉動該角度時對應細節圖像中心點在全景圖中的像素坐標(um,vm)和其對應的σm和φm,并計算其與σ和φ的差值,由該差值迭代優化α和β使像素坐標(u,v)和(um,vm)之間的距離差值最小,從而得到云臺應轉動的角度。迭代優化公式如下:
在完成上述步驟后,從全景圖中的ROI 區從左上角開始掃描。以圖5(a)中的機尾區域為例,其掃描路徑如圖5(b)所示,圖中的數字編號順序代表細節圖像的掃描拍攝順序。

圖5 細節圖像掃描路徑示意圖
細節圖像掃描路徑的規劃流程如下:
①由測距儀測得系統到掃描區域的距離L,根據L調整變焦相機焦距f并計算橫向掃描步長sw。
②結合當前云臺位的置Pnow、L和sw,計算云臺按sw轉動拍攝的細節圖像在全景圖中的像素坐標。取該像素的橫坐標和該掃描行的縱坐標,為下一橫向掃描點的像素坐標Pixelnext,并計算得到下一步拍攝細節圖像對應云臺的位置Pnext。
③判斷Pixelnext是否仍為ROI 區域。若是,轉動到Pnext繼續掃描;若不是,判斷全景圖像在這一行該點之后是否還有ROI 區域。還有,則根據掃描方向從該行Pixelnext后第一個ROI 區域點繼續掃描;重復上述步驟,直到該行沒有要掃描的ROI 點,將橫向掃描方向反轉。
④由一行中拍攝細節圖的最遠距離Lmax,計算向下掃描的步長sh,由Pnow和sh確定下一步掃描的行數h。
⑤判斷h行是否仍為ROI 區域。若是,從h行的ROI 邊界開始掃描,重復上述步驟;若不是,判斷h行之后是否還有ROI 區域。還有,從h行后第一行ROI 邊界開始掃描,重復上述步驟,直到沒有要掃描的ROI 行,完成細節圖像掃描。
相機掃描拍攝細節圖像時,為保證變焦相機掃描拍攝細節圖像的像素分辨力基本不變,應保證變焦相機的視場FOV 基本不變。變焦相機焦距f由下式計算得到:
式中:HorV 為相機靶面尺寸,FOV 為相機視場。在與目標區域的距離L變化時,變焦相機焦距f應與L成正比。為了保證掃描得到的細節圖像能夠覆蓋ROI 區域,細節圖像區域應有重疊,云臺掃描的步長s可由下式得到:
將細節圖像中心點坐標轉移到拍攝全景圖像時的相機坐標系下,結合相機成像模型實現細節圖像在全景圖中的二維定位。記錄掃描拍攝細節圖像時云臺相較于初始狀態繞水平軸和鉛錘軸轉動的角度α、β和測距儀測得的距離L,將L作為細節圖像中心點到此時相機坐標系原點的距離,得到該點在此時相機坐標系下的坐標(xc,yc,zc)。利用標定結果將該點坐標轉換到拍攝全景圖時的相機坐標系下,記為。
對于三維模型已知的待測目標,在全景圖中手動選擇ROI 區域以控制系統對表面特征明顯的區域進行掃描。為了更好更快地獲得該區域的表面三維形貌,掃描時采用更小的步長且僅使用測距儀測得距離。將每次掃描時測距儀光斑的空間坐標統一到全局坐標系下,記為。
由掃描時測距儀光斑在全局坐標系Or0-Xr0Yr0Zr0下的空間點坐標生成測量點云,由飛機三維模型生成參考點云。利用SAC_IA 粗配準和ICP 精配準的方法[18]求得全局坐標系到飛機坐標系Op-XpYpZp的位姿變換矩陣,從而得到掃描各圖像時測距儀光斑在飛機坐標系中的位置。
根據設備標定和點云配準結果,將拍攝第j張細節圖像時相機坐標系中點的空間坐標轉換到飛機坐標系下,記為,求得到此時相機光軸在飛機坐標系下的空間直線方程。以此時激光測距儀光斑在飛機坐標系下的空間坐標為起始點,由kd-tree 搜索參考點云中該點的k近鄰點,計算這些近鄰點到相機光軸的距離,將距離最近的點重新設為起始點。重復上述操作,直至兩次迭代最近距離相同為止。用與lj距離最近點的空間坐標來表示第j張細節圖像在飛機三維模型中的位置。
搭建測量系統,對數據采集設備進行標定,利用激光跟蹤儀驗證所搭建系統掃描采集點云的精度。在大尺寸飛機模型上驗證提出的飛機蒙皮圖像掃描及細節圖像定位算法;并以建筑物表面作為被測目標,驗證所搭建系統在真實測量場景下掃描所得細節圖像的質量及定位精度。
使用FILR D48E 高精度數字云臺搭載DIMETIX DAN-10-150 長距離激光測儀和VS-SCZ2090HM長焦一體化機芯搭建該系統,各部件與工控機之間均采用網口通信。云臺可轉動方位角范圍為360°,俯仰角范圍為-90~+30°,分辨力(方位/俯仰)為0.006°/0.003°。測距儀自然表面量程為0.05 m~100 m,精度為0.5 mm。變焦相機分辨率為1 920×1 080,像元尺寸為4 μm,相機可變焦距為6 mm~540 mm。
根據飛機蒙皮檢修要求,為保證所采集的細節圖像應能夠明顯觀察到2 mm 及以上寬度大小的裂紋和腐蝕,按照像素當量0.20 mm 計算,相機視場應該小于384 mm×216 mm。系統的最大工作距離為28 m。
設備標定結果如表1 所示。其中K表示相機內參,Kc表示相機的畸變系數。

表1 數據采集設備標定結果參數表

表2 系統采集空間點坐標精度驗證實驗數據表 單位:mm
標定完成后,利用激光跟蹤儀測量空間中不同位置靶標球心的空間坐標作為真實值,用于設備標定精度驗證。控制設備采集相同位置標志點位的空間坐標,并將測得的空間坐標轉到跟蹤儀坐標系下,實驗結果如2 表所示。實驗表明本系統所測得的標志點在X、Y、Z坐標上的均方根誤差分別為0.91 mm、0.91 mm 和1.05 mm,標志點的最大定位誤差為2.12 mm,標定精度滿足飛機蒙皮大尺寸物體測量要求。
在進行細節圖像掃描路徑規劃和細節圖像二維定位時,因測距儀激光光線與相機光軸近乎平行,都是直接將激光測距儀測得的距離L作為細節圖像中心點到此時相機坐標系原點的距離來計算細節圖像中心點在全景圖像中的像素坐標,但實際上兩者并不相等。故需要探究距離L對細節圖像中心點在全景圖像中定位精度的影響。理論分析可知拍攝細節圖像時云臺相較于拍攝全景圖像時轉動的角度越大,距離L對細節圖像中心點的定位精度影響就越大,尤其是在全景圖像的邊角位置。進行仿真實驗,輸入設備標定結果,細節圖像中心點的在全景圖像中定位的像素坐標隨測量距離L的變化如圖6 所示。從圖中可以看到隨著L的增大,像素坐標的變化在減小,距離L對細節圖像中心點在全景圖像中的定位精度影響并不大,且當L變化在2 m 以內時,像素坐標變化也都在2 個像素以內。在實際掃描和定位時,數據采集設備的安裝位置與被測目標之間的距離在10 m 以上,距離L與細節圖像中心點到相機坐標系原點的距離之差大都在2 m 以內,故由此造成的定位誤差可以忽略不計。

圖6 距離對細節圖像在全景圖像中定位坐標的影響
以比列為1 ∶31 的波音737-800 飛機模型為待測目標。使用DeepLabv3+MobileNetV2 網絡對全景圖像中的ROI 區域進行提取。對該網絡進行訓練,將COCO train2017 和VOC12 數據集中的飛機類別數據整合以構建訓練驗證數據集。經訓練驗證該算法的平均交并比(mIoU)可達88.36%,飛機蒙皮區域像素查全率(Recall)為87%,滿足全景圖像中飛機蒙皮區域提取精度要求。調整云臺轉動角度使相機能夠拍攝到想要掃描的飛機蒙皮區域。飛機模型尺寸相較于真實飛機較小,為實現掃描檢測效果,將掃描步長設為真實步長的1/5,相機的焦距設為真實掃描焦距的4 倍。將提取到ROI 的效果圖與原圖疊加,在該圖中用矩形框表示掃描所得細節圖像在全景圖像中的位置。部分細節圖片在全景圖中的二維定位如圖7 所示。

圖7 飛機蒙皮圖像掃描與細節圖像二維定位效果圖
為實現對細節圖像的在飛機模型上的空間定位,使用KinectV2 完成飛機模型點云數據采集以生成參考點云。KinectV2 采集點云的精度在2 mm~4 mm,與數據采集設備測量空間點坐標的精度相近,且系統對于細節圖像的空間定位精度要求在20 cm 以內,故參考點云的精度符合系統測量要求。由所搭建的系統掃描飛機模型機翼機身連接處以生成測量點云。對測量點云和參考點云進行配準,實現細節圖像的空間定位。以細節圖像中心點在參考點云中的空間坐標為圓心,用其半徑r(r=5 cm)內的點表征細節圖像在參考點云中的位置。所得測量點云配準后效果圖和部分細節圖像在參考點云上的空間定位效果如圖8 所示。

圖8 點云配準與細節圖像空間定位效果圖
為了驗證真實環境下該設備的細節圖像空間定位精度,以建筑物墻面為被測目標,同樣通過KinectV2 采集被測目標表面三維形貌作為參考點云,用該設備掃描ROI 區域生成測量點云。選擇被測目標表面特征明顯的點作為特征點,利用該設備測得該點的空間坐標,結合點云配準結果,將該點在參考點云中的坐標作為其空間坐標真值,而其像素坐標真值可由全景圖像直接提供。調整云臺轉動角度使得特征點位于細節圖像中心附近,拍攝細節圖像,并對該細節圖像進行二維定位和空間定位以獲得其坐標測量值,得到細節圖像二維定位和空間定位的誤差。在最大測量范圍內不斷改變該設備的位置,在不同位置處測得多點的定位誤差,將同一位置處多點的誤差平均值作為該位置處的定位誤差,其不同位置處的定位誤差如圖9 所示。從圖中可以看出該系統細節圖像定位誤差隨測量距離變化并不明顯,且在最大工作范圍內的細節圖像的二維定位誤差小于8 個像素,空間定位誤差小于12 cm,滿足實際定位需求。

圖9 細節圖像二維定位與空間定位精度
圖10 所示為在距離被測目標27.5 m 處拍攝所得的細節圖像在全景圖和三維模型中的定位效果。因距離較遠,為了更好地展示實驗效果,在圖片右側對方框內的內容進行了放大。從圖10 中可以看到無論是二維定位還是空間定位誤差都較小,且拍攝所得的細節圖像中也能明顯識別到2 mm 以上的裂紋缺陷。

圖10 真實場景細節圖像拍攝與定位實驗效果圖
為了解決飛機表面蒙皮高質量細節圖像采集與定位困難的問題,本文使用云臺搭載變焦相機與激光測距儀搭建了飛機蒙皮圖像掃描與定位系統。該系統利用變焦相機拍攝全景圖和高質量細節圖像,在全景圖中完成飛機區域的識別,結合標定結果實現對飛機蒙皮區域的自動掃描以獲得高質量細節圖像。對于掃描所得的細節圖像提出了兩種定位方法,分別是在全景圖中的二維定位與在三維模型上的空間定位。實驗結果表明所搭建的測量系統最遠測量距離可達28 m,在該距離內細節圖像的二維定位誤差小于8 個像素、空間定位誤差小于12 cm,能夠實現對飛機蒙皮區域的掃描和對細節圖像的精確定位,具備較高的實用價值。