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