倫更永
1.核工業(yè)航測遙感中心,河北 石家莊 050000;
2.中核三維地理信息工程技術研究中心,河北 石家莊 050000
近年來,國內(nèi)基礎建設發(fā)展迅速,城市空間規(guī)劃由數(shù)字化走向智慧化,重大工程建設項目管理也正在由數(shù)字化向智慧化發(fā)展,智慧工地是互聯(lián)網(wǎng)+技術、物聯(lián)網(wǎng)技術、感知技術、云計算技術、虛擬現(xiàn)實與實景三維技術應用的高級表現(xiàn)形式。目前,包括城市基礎建設工程、礦山開采工程、重大項目建設工地等對現(xiàn)場的監(jiān)管方法,通常采用常規(guī)的視頻監(jiān)控模式,常規(guī)的視頻監(jiān)控技術為城市發(fā)展、工地建設等的安全生產(chǎn)[1]提供了可靠的技術支持,但傳統(tǒng)監(jiān)控視頻面臨著視頻龐雜、離散、局限、關聯(lián)性差等諸多問題,無法有效、直觀、準確的掌控現(xiàn)場的實時動態(tài),視頻資源數(shù)據(jù)利用率低[2]。
隨著三維GIS、實景三維建模技術的興起,越來越多的建設項目工地采用了更先進的監(jiān)管手段,融合了三維GIS、三維模型和視頻監(jiān)控技術,但在三維GIS平臺中缺少視頻監(jiān)控的整體空間位置場景信息,很難將二維的視頻監(jiān)控數(shù)據(jù)同實景三維場景進行有效關聯(lián)[3]。針對上述問題,2007年南加州大學計算機圖形學與沉浸技術實驗室的WANG Lu等[4]提出了利用單目攝像機的標定算法實現(xiàn)視頻圖像的投影與三維模型的融合。2013年中科院深圳先進技術研究院陳寶權論述了基于三維視頻融合的監(jiān)控分析系統(tǒng)的深度應用[5]。2019年張維和徐華龍研究了全礦井視頻和三維模型一張圖融合技術,使碎片化視頻在三維礦山中實現(xiàn)360°立體全景監(jiān)控[6]。本文提出了一種在三維GIS框架下,采用視頻監(jiān)控攝像機投影紋理映射和OpenGL技術將實景三維與視頻圖像進行融合顯示,并將融合結(jié)果投影顯示在模型所對應的真實空間位置,在核電建設項目實景三維場景下實現(xiàn)立體、可視化監(jiān)控現(xiàn)場的實時動態(tài),有效對數(shù)據(jù)進行挖掘、分析,服務工程項目管理。
本文以某核電工程工地管理系統(tǒng)建設項目為例,采用無人機傾斜攝影獲取高分辨率影像數(shù)據(jù),通過Context Capture軟件制作分辨率為0.05 m的高精度實景三維模型[7-8],建立基于三維GIS平臺的某核電智慧工地管理系統(tǒng)。重點闡述基于三維GIS平臺的實景三維模型與視頻融合技術方法,提出融合策略(圖1),內(nèi)容主要包括以下3方面。
圖1 三維模型與視頻融合策略圖Fig.1 Strategy diagram of 3D model and video fusion
視頻圖像與實景三維模型對應直線的提取。采用累計概率霍夫變換算法從視頻圖像和實景三維模型中提取對應直線點坐標,這樣,視頻圖像具備了與實景三維模型坐標段的對應關系。
攝像機關聯(lián)參數(shù)計算。對視頻監(jiān)控攝像機進行標定,計算出視頻監(jiān)控攝像機內(nèi)外參數(shù),并推導出與真實視頻監(jiān)控攝像機對應的三維GIS場景中虛擬相機的視點矩陣和透視投影矩陣。
三維場景視頻投影紋理映射。利用以上兩種矩陣算法,采用OpenGL技術將視頻投射到實景三維模型,實現(xiàn)實景三維模型與視頻圖像的融合。
首先基于視頻圖像進行直線提取。由于提取出的直線數(shù)量較多,需對提取出的直線結(jié)合實景三維和直線特征進行篩選,篩選出與實景三維模型中有對應關系的直線段。最后根據(jù)累計概率霍夫變換算法[9]求解視頻圖像和實景三維模型,提取對應直線的點坐標。
1)直線特征分類。針對每一幀視頻圖像建立二維的平面坐標系,其中左上角點作為像素坐標系的原點,向右為x軸的正方向,向下為y軸的正方向。
通過視頻圖像上直線斜率的絕對值進行直線特征分類,k為圖像上直線在坐標系中的斜率,即:水平特征;豎直特征;圖像中提取的直線以上兩種情況均出現(xiàn),為水平豎直混合型。
2)直線特征篩選。經(jīng)過提取算法檢測出來的直線,數(shù)量較多,要按照特征篩選標準選出所需直線(圖2)。
圖2 直線特征篩選流程圖Fig.2 Flow chart of line feature screening
遍歷所有直線,根據(jù)直線特征判斷實景三維模型中是否存在直線,若存在,則保留,并根據(jù)視頻圖像范圍,確定每兩條直線交點坐標在圖像區(qū)域內(nèi)部,假定交點是(x,y),則xmin<x<xmax,ymin<y<ymax,xmin、xmax、ymin、ymax分別為圖像寬度和高度的最小值和最大值。直線若在視頻圖像范圍內(nèi),則保留,否則舍棄;直線若不在視頻圖像范圍內(nèi),需要判定三維模型中是否有與其相互平行的直線,若存在,則保留,否則舍棄。
3)直線特征信息計算。經(jīng)直線特征篩選標準選出直線段,要計算直線端點與其他直線交點坐標。首先輸入一組監(jiān)控視頻圖像進行預處理,通過Canny算子進行邊緣檢測[10-11],然后采用累計概率霍夫變換算法檢測,并計算視頻圖像中的直線段和直線段的交點(圖3)。
圖3 特征信息計算Fig.3 Feature information calculation
轉(zhuǎn)換坐標值步驟。數(shù)據(jù)圖像默認左上角為坐標原點(0,0),設圖像中某點坐標為(x0,y0),坐標應轉(zhuǎn)換為(x0,height-y0),height為圖像的高(以像素為單位)。關于求直線交點的問題,引入齊次坐標,設直線的方程為:
在圖像中找到直線和特征點后,從實景三維模型中找到和這些特征對應的三維特征直線和特征點,并將三維特征的矢量信息導出。模型得出的矢量信息,需要通過比例尺轉(zhuǎn)換為現(xiàn)實世界的單位米。
通過圖像特征提取,至少可以得到兩組直線特征對或者一組直線特征對和一組點特征對。根據(jù)特征信息,計算攝像機的內(nèi)外參數(shù)。假設攝像機的扭曲參數(shù)為零,則內(nèi)參數(shù)矩陣K只有4個自由度。設外參數(shù)為R和C~,R和C~有3個自由度,則有攝像機矩陣P=KR[I|-C~|]。用奇異值分解和RQ分解等數(shù)學知識可以從P中得到攝像機的中心、方位和內(nèi)部參數(shù)[12]。攝像機位姿的標定算法流程如下。
1)劃定攝像機位置搜索的水平范圍。在實景三維模型地表劃出一個水平的正方形范圍,設為攝像機進行定位搜尋的范圍,確定攝像機相對于模型的地表高度區(qū)間數(shù)值。
2)抽出二維圖像平面和實景三維模型相對應的特征點對、特征線對,把二維圖像平面中相距最遠的兩對對應點,設定為攝像機姿態(tài)預估數(shù)值。
3)搜索攝像機點位與焦距之間形成的四維空間,采集樣本像點搜索與搜尋范圍中心位置距離不斷增加的方向保持相同,設定初始值無限大,進入搜索階段。
4)假如已經(jīng)搜索了范圍內(nèi)的全部采集樣本像點,就需要終止搜索,得到攝像機的內(nèi)外參數(shù)數(shù)值。否則,需要進行新的采集樣本像點搜索,如果采集樣本像點運算后,得到的像機參數(shù)為Γ^,平均幾何誤差為E。如果E<min(E),則令min(E)=E,Γ=Γ^。
5)假如E<3,則以Γ^為初始值,采用Levenberg-Marquardt算法進行優(yōu)化(最大迭代次數(shù)設為10次)。通過優(yōu)化,如果E<0.3,就需要終止搜索,得到像機的內(nèi)外參數(shù)數(shù)值。否則,進入流程4)。
投影紋理映射算法描述了為所有的頂點提供紋理坐標的流程,也描述了在對圖元光柵化時紋理坐標的解算流程。這能用來把現(xiàn)實空間物體的視頻圖像再次投射到物體的三維模型空間。本文主要是用OpenGL將二維紋理坐標(s,t)進行一系列的變換,成為具有多個分量的齊次紋理坐標(s,t,q,r)。首先是整個模型視點向著投影的方向進行變換,其次是透視變換、正交變換,然后進行比例縮放、偏轉(zhuǎn)、平移,把最近的裁剪面映射到與其相符的紋理坐標上。
1)不同坐標系的轉(zhuǎn)換。主要是投影紋理映射的流程(圖4)。第一,攝像機模型轉(zhuǎn)換,這是來確定三維物體在世界坐標系中的定位點、朝向,該轉(zhuǎn)換的目的是把齊次物體空間轉(zhuǎn)成齊次世界空間;第二,視點轉(zhuǎn)換,這是來確定攝像機在世界坐標系中的定位點、朝向,該轉(zhuǎn)換的目的是把齊次世界空間轉(zhuǎn)成齊次攝像機空間,至此,把世界空間轉(zhuǎn)成眼空間;第三,投影變換,這一步是要明確攝像機的視景體,它的作用是規(guī)定某一物體在視野范圍的相對體積比例,該轉(zhuǎn)換的目的是把齊次攝像機空間轉(zhuǎn)成齊次攝像機裁剪空間;第四,經(jīng)過比例縮放、偏轉(zhuǎn)、平移,把通過變換的裁剪坐標映射到[0,1]區(qū)間范圍,將齊次攝像機裁剪空間轉(zhuǎn)成齊次紋理空間。
圖4 投影紋理映射Fig.4 Projected texture mapping
2)模型視點轉(zhuǎn)換。把Eye Linear設為紋理坐標建立模式,采用眼坐標指定自動生成紋理坐標的參考面,設定為一對一映射,把自動生成的紋理坐標的S、T、R3個分量的參考面均設定為值。眼坐標系下的頂點坐標和對應的參考面之間的距離,就是對應自動生成紋理的坐標數(shù)值,表達式為:
式中,(xe,ye,ze,we)為物體頂點在眼坐標系中的坐標;P1、P2、P3、P4為參考面的4個參數(shù);M為模型視點轉(zhuǎn)換。
視頻圖像為紋理創(chuàng)建提供原始圖像,對紋理進行操作,最終就是要讓紋理與實景三維模型進行吻合。但攝像機的內(nèi)外參數(shù)可以直接確定攝像機投影矩陣和視點矩陣,這兩個矩陣可以由攝像機的內(nèi)參數(shù)、外參數(shù)求出來。為了增強紋理的真實感,采用透視投影矩陣,讓紋理出現(xiàn)觀感的透視效果,在實景三維模型中,從觀察者視角看物體近大遠小。
在項目建設現(xiàn)場布設視頻攝像機,選取兩臺海康攝像機進行實驗分析,圖5、圖6分別為BX011和BY002攝像機視頻畫面與實景三維模型融合實驗結(jié)果圖。
圖5 BX011攝像機三維模型與視頻融合結(jié)果圖Fig.5 The fusion image of 3D model from BX011 camera and video
圖6 BY002攝像機三維模型與視頻融合結(jié)果圖Fig.6 The fusion image of 3D model from BY002 camera and video
計算實景三維模型與視頻融合誤差,分別在BX011攝像機與BY002攝像機融合結(jié)果圖中選取4對不同角度位置的特征點計算融合誤差。
如圖7、圖8所示,1、2號點對,3、4號點對,5、6號點對,7、8號點對分別為BX011與BY002攝像機視頻與投影的同名特征點對。將BX011與BY002攝像機兩個特征點對的真實坐標提取出來,計算特征點對之間的距離就是實景三維模型與視頻融合的誤差。
圖7 來自BX011攝像機的融合誤差分析圖Fig.7 The analysis diagram of fusion error from BX011 camera
圖8 來自BY002攝像機的融合誤差分析圖Fig.8 The analysis diagram of fusion error from BY002 camera
表1為BX011與BY002攝像機的融合誤差情況計算表,BX011攝像機選取不同角度的1、2號點對,3、4號點對,5、6號點對,7、8號點對融合誤差分別為0.081 m、0.104 m、0.076 m和0.093 m,計算出的標準差為0.013 m;BY002攝像機選取不同角度的1、2號點對,3、4號點對,5、6號點對,7、8號點對融合誤差分別為0.062 m、0.091 m、0.117 m和0.124 m,計算出的標準差為0.028 m。從數(shù)據(jù)分析來看,實景三維與視頻融合精準度較高,客觀上從融合效果圖分析,融合像素分布均勻,效果良好。
表1 三維模型與視頻融合誤差計算表Tab.1 The calculation table of the fusion error
本文針對視頻監(jiān)控攝像機與實景三維數(shù)據(jù)互相獨立、關聯(lián)性差的問題,提出一種實景三維與視頻融合方法,提高了實景三維與視頻監(jiān)控數(shù)據(jù)利用率,在實景三維模型中將視頻監(jiān)控的空間分布進行三維可視化,消除視頻監(jiān)控的空間位置靠人記憶、難以與實地匹配關聯(lián)的弊端,協(xié)助管理者有效、直觀、準確的掌握施工現(xiàn)場的實時整體態(tài)勢。實現(xiàn)了實景三維與監(jiān)控攝像機視頻圖像的特征級融合,使用投影紋理映射的方法將視頻紋理特征序列,投射到實景三維模型中相對應的地理位置上,并對融合結(jié)果進行誤差分析,選取4對同名特征點對計算特征點對之間的距離,誤差結(jié)果分析證明,實景三維與視頻融合精度較高,視頻圖像像素分布均勻,融合效果良好。