劉桂雄,肖天歌,陳國宇,黃 堅,3
(1.華南理工大學機械與汽車工程學院,廣東 廣州 510641; 2.廣州能源檢測研究院,廣東 廣州 511447;3.廣州計量檢測技術研究院,廣東 廣州 510663)
儲罐容量一般具有標稱值,對于具有精度要求的儲罐,在完成制造后需測其體積,并通過計量獲得實際儲罐容量。儲罐體積測量準確性直接關系民生計費的公平性與過程控制的準確性[1]。常見的儲罐體積測量方法包括幾何法(通過手動測量幾何尺寸計算體積)、容量法(通過容量比較計算儲罐體積),耗時較長、人力工作量較大。在儲罐體積需快速測量或偏遠、高危等特殊場合,由于已安放的儲罐體積較大、移位測量困難等限制,傳統的儲罐體積測量方法較難滿足需求。因此,研究高效率儲罐在位體積測量技術與方法,具有重要學術價值與實際意義。
通過立體視覺技術實現三維物體模型重建,是實現物體體積快速測量的重要途徑。目前多視角立體視覺(multi-view stereo, MVS)技術主要包括經典MVS方法[2]、基于深度學習MVS方法[3],其中經典MVS方法已應用于各種戶外場景。如文獻[4]以精確的激光掃描三維模型為參照,采用豪斯多夫距離,指出基于圖像序列的三維重建模型精度較高;文獻[5]提出面向多視角立體匹配的三維點云去噪方法,可快速、準確去除不同尺度的噪聲點。文獻[6]采用基于運動恢復結構(structure from motion, SfM)的三維地形重建方法實現對戶外模型地形測量,有效提高高程測量效率。文獻[7]分析各種多視角圖像三維重建方法的技術原理及相關軟硬件平臺,指出多視角圖像三維重建方法具有數據獲取成本低、獲取點云精度高、三維重建質量高等優勢。文獻[8]應用攝影測量與SfM技術,建立堆場散裝物料數字高程模型,生成堆場料堆分布圖,實現料堆總體積等指標計算。文獻[9] 采用基于曲率和基于點云距離的特征提取方法分別對目標物體信息進行提取,并對兩種方法進行對比,引入基于邊界點鄰域特征的邊界提取算法得到目標物體的邊緣輪廓信息。文獻[10]提出一種列車車輪三維結構光檢測中的點云處理方案。結果表明,該文所提出的列車車輪點云處理方案能夠實現對三維點云數據的處理,最終得到列車車輪的三維曲面模型與基準模型的標準偏差為1.768 mm,實現對于列車車輪的三維檢測。在基于深度學習MVS方法方面,文獻[11]構建MVSNet網絡實現在2D圖像特征基礎上的攝影幾何表達端到端深度學習,可適應不同數量的源圖像輸入。文獻[12]構建深度學習網絡并進行多視角立體匹配,預測每張視圖對應的深度圖,提高模型重建精度。文獻[13]實現以體素為三維模型表示方式的深度學習多視圖物體三維重建。可見,基于深度學習的MVS方法可自動學習圖像高層、全局的語義信息,有助于提高鏡面反射、紋理稀疏對象的重建效果。但MVSNet的輸入包括源圖像、參考圖像,以及每一個圖像的相機內參、外參,外參的輸入給實際應用帶來不便。
因此,實現儲罐在位體積測量,需完成相機姿態計算、儲罐三維重建、儲罐體積計算等一系列內容。為此,本文提出一種基于MVSNet多視圖立體深度學習的儲罐在位體積測量方法。先通過集成增量式SfM相機姿態計算、MVSNet儲罐-相機深度預測、基于表面法線擴散的儲罐三維重建,獲得儲罐密集點云;再研究基于立體幾何擬合的在位儲罐體積測量技術,提高儲罐各種曲面結構擬合準確度,實現儲罐在位體積測量。
面向在位儲罐體積測量的MVSNet深度預測多視圖立體視覺方法,目標是獲得更多的高質量三維點。圖1為方法框架,主要包括:1)基于增量式SfM的儲罐顯著特征稀疏重建與相機姿態計算技術,通過關鍵點檢測、關鍵點匹配與立體幾何校驗、結構運動重建等步驟,獲得參考圖中儲罐顯著特征以及所有圖像的相機內參、外參;2)基于MVSNet深度學習技術,計算得到各個參考圖像中儲罐到相機的光軸距離;3)基于表面法線擴散的儲罐三維重建技術,獲得儲罐體積測量關鍵結構的稠密三維點云。
圖1 面向在位儲罐體積測量的MVSNet深度預測多視圖立體視覺方法框架
特征測量點Tn需符合模型要求條件是深度da、db為正,并且重射誤差en不超過誤差上限t。
式中:
圖2為基于增量式SfM的儲罐顯著特征點與相機姿態計算結果圖。
圖2 基于增量式SfM的儲罐顯著特征點與相機姿態計算
圖3為儲罐-相機深度預測MVSNet算法模型,輸入是從不同視角拍攝的同一儲罐的重疊圖像、所有圖像的相機參數,經過特征提取、正應性變換建立體積成本、深度圖優化后,輸出每個圖像的深度估計。
圖3 儲罐-相機深度預測MVSNet算法模型
儲罐-相機深度預測MVSNet深度學習網絡模型,采用8個卷積層的2D CNN提取N個輸入圖像的深層特征并進行密集匹配;其中第3個、第6個卷積層的步長設置為2,將特征圖分為1、1/2、1/4三種尺度。2D CNN輸出是N個32通道1/4尺度特征圖。
設參考圖像I1、源圖像和相機本體,對應于特征圖旋轉、平移為。通過可微分正應性變換,所有的特征圖都被變形到參考相機的不同像平面上,形成N個立體特征卷。設n1為參考相機的主軸,正應性矩陣Hi(d)表示第i個特征圖、深度d的參考特征圖之間的坐標映射;Hi(d)為3×3矩陣。則有可微分正應性變換為
從立體特征卷Vi(d)到變形特征圖Fi深度d的坐標映射可由平面變換x′~Hi(d)·x得到。
儲罐-相機深度預測MVSNet算法模型的損失包括初始深度圖、精煉深度圖損失,通過深度約定真值、估計深度差的絕對值均值計算得到。此外,由于整個圖像中深度約定真值不完整,只考慮深度約定真值存在位置。設有效的2地面真實像素集為pvalid,像素p的地面真實深度值為d(p)、初始深度估計為、細化深度估計為,則模型損失為
圖4為儲罐MVSNet算法模型預測的相機-儲罐深度結果,再經過基于表面法線擴散方法[14]重構,可以得到儲罐三維模型。
圖4 基于MVSNet深度學習的儲罐-相機深度結果圖
圖5為基于立體幾何擬合在位儲罐體積測量方法流程圖,具體流程為旋轉儲罐點云使地面與xOy平面平行,用平行于xOy平面圓形擬合儲罐,積分計算得到儲罐體積。其中x坐標表示寬度,y坐標表示深度,z坐標表示高度。
圖5 基于立體幾何擬合在位儲罐體積測量方法流程圖
設儲罐點云Ptank,地面與xOy平面夾角為,則旋轉后儲罐點云Ptank-xOy為:
通過圓形擬合儲罐時,采用基于法線信息和k鄰域分布的雙閾值約束點云邊緣提取算法[15],最后積分每個擬合圓形,計算得到儲罐體積。
1)某三等標準金屬量器。使用同一臺工業相機,從不同角度采集該標準金屬量器圖像。應用本文面向在位儲罐體積測量的MVSNet深度預測改進多視圖立體視覺技術,重建得到儲罐測量關鍵結構的稠密三維點云(圖6),高質量點云數量245 980個,比經典COLMAP框架的點云數量分別增加15.6%,測量得到該標準金屬量器體積2.025 m3,而已知該標準金屬量器實際體積為2.000 m3,故應用本文技術測量該量器體積精度為98.77%
圖6 三等標準金屬量器稠密點云模型
2)某金屬儲罐。使用同一臺工業相機,從不同角度采集該標準金屬量器圖像。應用本文面向在位儲罐體積測量的MVSNet深度預測改進多視圖立體視覺技術,重建得到金屬儲罐測量關鍵結構的稠密三維點云79 678(圖7),比經典COLMAP框架的點云數量分別增加13.2%,測量得到該金屬儲罐體積為1.018 m3,而已知該金屬儲罐實際體積為1.025 m3,故該金屬儲罐測量精度為99.32%。
圖7 金屬儲罐稠密點云模型
在實驗上位機主要硬件為Intel i7-7820X CPU、NVIDIA GeForce GTX 1080Ti GPU×2;軟件環境為Windows10、Python3.6、Pytorch 1.6、CUDA9.2、CUDNN 7.6.5。表1為本文與 COLMAP的 MVS點云重建主要指標對比表,本文方法提取到點云提取時間分別為28.2 min、29.3 min,比經典COLMAP框架分別增加15.6%、13.2%,重建時間縮短34.7%、39.2%。
表1 本文與COLMAP的MVS點云重建主要指標對比表
本文研究了一種基于MVSNet多視角立體深度學習的儲罐在位體積測量方法,主要工作為:
1)創新性提出面向在位儲罐體積測量的MVSNet深度預測改進多視圖立體視覺方法,結合基于增量式SfM的儲罐顯著特征稀疏重建與相機姿態計算技術、基于MVSNet深度學習深度預測技術、基于表面法線擴散的儲罐三維重建技術,獲得儲罐體積測量關鍵結構的稠密三維點云。
2)提出基于立體幾何擬合在位儲罐體積測量方法,旋轉儲罐點云使地面與xOy平面配準,基于法線信息和k鄰域分布的雙閾值約束點云邊緣提取算法,擬合儲罐圓形拓撲結構,積分計算得到儲罐體積。
3)在兩種儲罐上進行初步實驗,本文方法提取到的高質量儲罐點云數量比經典COLMAP框架的點云數量分別增加15.6%、13.2%,儲罐在位體積測量時間分別為28.2 min、29.3 min,滿足儲罐在位體積測量需求。
本文通過提取儲罐外表面點云計算得儲罐外體積,還需要研究儲罐壁厚、附件等體積影響因素的補償方法,從而實現儲罐容積精確測量;此外,本文方法不僅可用于儲罐體積測量,也可用于其他異形結構的體積測量,具有可推廣性。