本發(fā)明屬于計算機視覺技術領域,特別涉及一種基于差異液位圖像序列的水下三維重建系統(tǒng)及其方法。
背景技術:
目前,絕大多數(shù)基于圖像的三維重建方法和系統(tǒng)均針對陸上環(huán)境,高精度的水下三維重建方法直到最近幾年才逐漸在計算機視覺領域引起重視?;趫D像的水下三維重建面臨的主要挑戰(zhàn)是:拍攝水下環(huán)境的過程中,光線需要穿過水、空氣等不同的介質,由于不同介質的折射率(refractiveindex)不同,光線會在介質交界面產(chǎn)生折射現(xiàn)象,從而導致成像折射變形(refractivedistortion)。普通圖像三維重建方法采用透視相機模型,由于該模型假設光線沿直線傳播,因此透視相機模型在有折射現(xiàn)象發(fā)生的成像系統(tǒng)中不再有效。
一種簡單的水下三維重建方法是忽略折射現(xiàn)象,或使用近似模型來補償折射變形,例如:焦距調節(jié)模型、鏡頭徑向畸變模型,以及兼具焦距調節(jié)和鏡頭畸變的近似模型。然而,由于折射變形的高度非線性和場景結構依賴性,忽略折射或采用近似模型來補償折射理論上都無法消除折射對三維重建的影響。由于折射變形依賴于物體的深度,從理論上來說無法使用任何圖像空間(imagespace)變形模型來描述,使用透視相機模型將導致較大的相機定標誤差和三維重建誤差。
另一種更加精確的方法是利用符合光學原理的正確的折射相機模型(refractivecameramodel)來顯式的對折射建模。chari和sturm(chariv,sturmp.multiple-viewgeometryoftherefractiveplane[c].inproceedingsofbritishmachinevisionconference(bmvc).2009:1–11.)分析了位于單個折射介質同側的兩個相機之間的幾何關系,并從理論上證實了折射基本矩陣、折射單應矩陣等幾何量的存在。然而,由于折射相機模型下的幾何量估計仍然是一個極具挑戰(zhàn)的課題,因此上述文獻并沒有給出上述理論結果的實際應用。chang和chen(changy,chent.multi-view3dreconstructionforscenesundertherefractiveplanewithknownverticaldirection[c].inproceedingsofieeeinternationalconferenceoncomputervision(iccv).2011:351–358.)提出一個水下三維重建方法,該方法適用于單折射界面(refractiveinterface)的情形。在該方法中,折射現(xiàn)象被顯式的表達為場景深度的函數(shù),因此是一個精確的折射相機模型。該水下三維重建方法方法的局限性在于該方法是建立在已知相機兩個旋轉參數(shù)的基礎上的,這兩個參數(shù)需要諸如慣性測量單元(inertialmeasurementunit,imu)的外部硬件獲得;此外,該方法還假設折射界面的法向量已知。agrawal等(agrawala,ramalingams,taguchiy,etal.atheoryofmulti-layerflatrefractivegeometry[c].inproceedingsofieeeconferenceoncomputervisionandpatternrecognition(cvpr).2012:3346–3353.)的研究表明折射幾何在本質上與軸向相機(axialcamera)相同,并提出了一個利用平面定標物體對這種系統(tǒng)進行定標的方法。sedlazeck和koch(sedlazecka,kochr.calibrationofhousingparametersforunderwaterstereo-camerarigs[c].inproceedingsofbritishmachinevisionconference(bmvc).2011:1–11.)提出一種水下雙目立體相機外殼參數(shù)標定方法,該方法的主要思想是最小化三維場景點在外部折射界面的虛擬透視投影誤差,該方法的主要缺點是其優(yōu)化過程非常耗時,在普通pc上的運行時間長達3小時之久。
綜上所述,已有基于圖像的水下三維重建方法的主要局限是需要特定的標定物或者額外的標定設備才能實現(xiàn)相機的標定,或者需要借助耗時的優(yōu)化計算實現(xiàn)相機自定標,因此水下三維重建方法在系統(tǒng)成本、操作便捷性和計算效率等方面均有較大的提升空間。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術的不足,提出一種基于差異液位圖像序列的水下三維重建系統(tǒng)及其方法。
為實現(xiàn)上述目的,一方面本發(fā)明提出一種如下技術方案:
本發(fā)明提出的一種基于差異液位圖像序列的水下三維重建系統(tǒng)包括:攝像機、計算機系統(tǒng)、主水箱、液位差異測量裝置;
所述攝像機用于獲取水下場景的彩色照片,攝像機的內部參數(shù)已經(jīng)事先經(jīng)過標定;
所述計算機系統(tǒng)用于控制攝像機拍照以及執(zhí)行基于差異液位圖像序列的水下三維重建相關計算和結果展示;
所述液位差異測量裝置用于測量拍攝不同圖像時的液位差異;
所述主水箱用于盛放水及待重建物體,主水箱頂部敞開。
作為所述水下三維重建系統(tǒng)技術方案的進一步改進,所述水下三維重建系統(tǒng)還包括水量控制裝置和固定支架;所述水量控制裝置用于控制主水箱的水量,所述固定支架包括攝像機固定支架和主水箱固定支架,所述攝像機固定支架用于將攝像機固定在主水箱上方,攝像機與計算機系統(tǒng)之間通過數(shù)據(jù)線連接。
作為所述水下三維重建系統(tǒng)技術方案的進一步改進,所述計算機系統(tǒng)包括pc機、顯示器及外接設備;所述水量控制裝置包括進水閥、泄水閥、水管;所述液位差異測量裝置具體采用液位尺讀取液位高度并計算不同液位的差異。
為實現(xiàn)上述目的,另一方面本發(fā)明提出一種如下技術方案:
本發(fā)明提出的一種基于差異液位圖像序列的水下三維重建方法包括前面所述一種基于差異液位圖像序列的水下三維重建系統(tǒng),該水下三維重建方法具體包括以下步驟:
s1.單攝像機拍攝差異液位圖像序列;
s2.圖像局部特征提取、匹配及誤匹配剔除;
s3.估計水平面在相機坐標系下的法向量方向,并計算圖像特征點轉換坐標;
s4.差異液位圖像序列中各圖像對應的水面距離標定;
s5.稠密三維場景重建及其優(yōu)化。
作為所述水下三維重建方法技術方案的進一步改進,所述步驟s1具體包括以下內容:
在不改變攝像機內部參數(shù)和外部參數(shù)的情況下,通過多次拍攝靜態(tài)水下場景獲取一個水下圖像序列;每次拍攝前通過減少或增加容器內的水量調節(jié)液位高度,確保拍攝各圖像時所對應的水面距離依次遞增或遞減;
其中,水面距離指的是相機投影中心與水面的垂直距離,記圖像的數(shù)量為m(m為整數(shù),且m≥3),各圖像所對應的水面距離記為{dl|l=1,2,…,m},假定各水面距離滿足如下約束:d1<d2<…<dm。
作為所述水下三維重建方法技術方案的進一步改進,所述步驟s2具體包括以下內容:
s2.1根據(jù)相機的內部參數(shù)對圖像進行變形矯正,移除由于鏡頭生產(chǎn)工藝限制導致的圖像徑向變形,獲得矯正水下圖像序列
s2.2利用仿射不變性圖像局部特征提取和匹配方法計算
s2.3對于每條特征軌跡,利用最小二乘法從其特征點坐標中擬合一條直線,若該特征軌跡中各特征點到所擬合的直線的距離均小于1個像素,則保留該特征軌跡,否則刪除該特征軌跡,記最終保留下來的特征軌跡為{lp|p=1,2,…,n};
作為所述水下三維重建方法技術方案的進一步改進,所述步驟s3具體包括以下內容:
s3.1從n條特征軌跡擬合直線中隨機挑選2條直線并計算其交點,上述過程重復執(zhí)行p次,記所有交點為{ci=(xi,yi)t|i=1,2,…,p},其中,若n>150,則p取11325,否則取p=(n2-n)/2;
根據(jù)如下公式計算所有擬合直線的理想交匯點坐標c=(xc,yc)t:
s3.2對各特征軌跡中的每個特征點v=(x,y)t,根據(jù)如下關系計算各特征點轉換坐標v′=(x′,y′)t:
其中,符號[·]i表示取向量的第i個分量,且:
上式中f為照相機的焦距長度(單位為像素),θx、θy的計算公式如下:
作為所述水下三維重建方法技術方案的進一步改進,所述步驟s4具體包括以下內容:
s4.1初始化參數(shù)niter=1、nin=0,集合
s4.2從{lp|p=1,2,…,n}中隨機挑選1條特征軌跡,根據(jù)該特征軌跡中各特征點的轉換坐標,計算各圖像所對應的未知水面距離dl(l={1,2,…m})和該條特征軌跡對應的場景點的深度d;
其中,場景點的深度指的是相機投影中心到場景點所在水平面的垂直距離;
水面距離和場景點深度的最優(yōu)估計
其中,符號||·||2表示取向量的二范數(shù),液位差異d1-dj(j=2,3,…,m)為已知常量,0α和0β分別為(m-2)×1和(m-1)×1維零向量,1為所有元素均為1的(m-2)×1維向量,i為(m-2)×(m-2)維單位矩陣,mα=(w(v′1)-w(v′2),w(v′1)-w(v′3),…,w(v′1)-w(v′m))t,mβ為對角線上第j(j={1,2,…m-1})個元素取值為(w(v′j+1)-a(v′j+1))的(m-1)×(m-1)維對角矩陣;
其中,函數(shù)a(·)和w(·)的定義為:
上式中n為液體的已知折射系數(shù),v′l=(x′l,y′l)t為當前所選中的特征軌跡第l(l={1,2,…m})個特征點的轉換坐標;
s4.3設定參數(shù)n′in=0,根據(jù)s4.2計算的
然后,根據(jù)如下公式計算特征軌跡的發(fā)散指標τ:
如果τ<0.05,則更新參數(shù)n′in←n′in+1;在將所有特征軌跡處理完成后,如果n′in>nin,則令nin=n′in,且更新
s4.4更新niter←niter+1,如果
其中,參數(shù)δ的取值范圍0.01~0.02,ε的取值范圍是0.30~0.45;
s4.5通過求解如下優(yōu)化問題獲得各水面距離和各特征軌跡對應的場景點深度的最終估計
其中,
最后,更新變量
作為所述水下三維重建方法技術方案的進一步改進,所述步驟s5具體包括以下內容:
s5.1利用圖像稠密匹配方法計算圖像
s5.2對于
然后,根據(jù)d(r)估計像素r對應的場景點的初始三維坐標xr=(xr,yr,zr)t,計算公式如下:
s5.3對于每個場景點,利用局部非線性優(yōu)化方法對其初始三維坐標求精,優(yōu)化過程的目標函數(shù)為:
其中,
其中,m的取值范圍是6~10個像素,xr在圖像
s5.4將所有經(jīng)過優(yōu)化的三維點融合為三維點云,并利用統(tǒng)計外點移除(statisticaloutlierremoval,sor)點云過濾方法剔除孤立點和細小點云片段,獲得最終稠密三維重建結果。
與現(xiàn)有技術相比,本發(fā)明具有以下有益效果:
本發(fā)明公開了一種基于差異液位圖像序列的水下三維重建系統(tǒng)及其方法,其屬于一種非接觸、被動式水下三維重建系統(tǒng)及方法,本發(fā)明僅需要一個照相機進行數(shù)據(jù)采集,且無需額外水下標識物或特殊標定設備,充分利用不同液位圖像的折射差異,相對于一般水下三維重建方法和系統(tǒng)具有操作便捷、成本低廉、重建快速的優(yōu)勢,且本發(fā)明系統(tǒng)及其方法適用于任何折射系數(shù)已知的透明液體環(huán)境。
附圖說明
圖1為基于差異液位圖像序列的水下三維重建系統(tǒng)結構示意圖。
圖2為基于差異液位圖像序列的水下三維重建方法的流程圖。
圖3為差異液位圖像成像幾何關系示意圖。
圖4為特征軌跡擬合直線交匯點估計示例和誤差分析示意圖。
圖5為差異液位圖像水面距離標定流程圖。
圖6為差異液位圖像水面距離標定的誤差分析示意圖。
圖7為差異液位圖像樣張和三維重建示例圖。
具體實施方式
本發(fā)明為一種基于差異液位圖像序列的水下三維重建系統(tǒng)及其方法,在不借助額外水下標識物或特殊標定設備的情況下,充分利用不同液位圖像的折射差異,從單個攝像機拍攝的水下圖像序列中計算水下場景的三維幾何結構,實現(xiàn)水下物體的非接觸、被動式三維模型重建。
下面將結合本申請說明書附圖,對本發(fā)明的一種基于差異液位圖像序列的水下三維重建系統(tǒng)及其方法的具體實施例做進一步詳細說明,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
實施例1
實施例1為一種基于差異液位圖像序列的水下三維重建系統(tǒng),該水下三維重建系統(tǒng)結構具體如圖1所示,該系統(tǒng)主要包括攝像機、計算機系統(tǒng)、主水箱、水量控制裝置、液位差異測量裝置、支架等部分。其中,攝像機用于獲取水下場景的彩色照片,攝像機的內部參數(shù)已經(jīng)事先經(jīng)過標定;計算機系統(tǒng)用于控制攝像機拍照以及執(zhí)行基于差異液位圖像序列的水下三維重建相關計算和結果展示,包括pc機、顯示器及其他外接設備;主水箱用于盛放水及待重建物體,主水箱頂部敞開;水量控制裝置用于控制主水箱的水量,包括進水閥、泄水閥、水管等;液位差異測量裝置用于測量拍攝不同圖像時的液位差異,采用液位尺讀取液位高度并計算不同液位的差異;主水箱固定支架設置在主水箱的底部,其用于固定主水箱。
該系統(tǒng)中,攝像機通過攝像機固定支架固定在主水箱上方,攝像機與計算機系統(tǒng)之間通過數(shù)據(jù)線連接;攝像機鏡頭朝向待重建物體,攝像機能夠觀察到整個待重建物體范圍;待重建物體放置在主水箱底部,拍攝照片時水面需為靜止狀態(tài);拍攝差異液位圖像序列過程中水深保持足夠的深度,以便圖像中具有較明顯的折射效應,拍攝各圖像時對應的液位具備足夠的差異。
實施例2
實施例2為一種基于差異液位圖像序列的水下三維重建方法,其包括了實施例1中的一種基于差異液位圖像序列的水下三維重建系統(tǒng),該水下三維重建方法的具體步驟流程如圖2所示,包括如下步驟:
s1.單攝像機拍攝差異液位圖像序列;
利用一個固定在水面上方的攝像機拍攝一個差異液位圖像序列。具體方法是:在不改變攝像機內部參數(shù)和外部參數(shù)的情況下,通過多次拍攝靜態(tài)水下場景獲取一個水下圖像序列。每次拍攝前通過減少(或增加)容器內的水量調節(jié)液位高度,確保拍攝各圖像時所對應的水面距離依次遞增(或遞減)。其中,水面距離指的是攝相機投影中心與水面的垂直距離。記拍攝的圖像的數(shù)量為m(m為整數(shù),且m≥3),各圖像所對應的水面距離記為{dl|l=1,2,…,m}。不是一般性,假定各水面距離滿足如下約束:d1<d2<…<dm。
s2.圖像局部特征提取、匹配及誤匹配剔除;
s2.1根據(jù)相機的內部參數(shù)對拍攝的圖像進行變形矯正,移除由于鏡頭生產(chǎn)工藝限制導致的圖像徑向變形,獲得矯正水下圖像序列:
圖像徑向變形矯正采用hartleyr和zissermana(hartleyr,zissermana.multipleviewgeometryincomputervision[m].2nded.cambridgeuniversitypress,2004:189-193)提出的方法。
s2.2利用asift特征提取和匹配方法計算
s2.3圖3為差異液位圖像成像幾何關系示意圖,理想情況下同一個場景點在不同液位條件下的成像點位于同一條直線上,因此可以利用上述特性剔除誤匹配。對于每條特征軌跡,利用最小二乘法從其特征點坐標中擬合一條直線,若該特征軌跡中各特征點到所擬合的直線的距離均小于1個像素,則保留該特征軌跡,否則刪除該特征軌跡;記最終保留下來的特征軌跡為{lp|p=1,2,…,n}。
s3.估計水平面在相機坐標系下的法向量方向,并計算圖像特征點轉換坐標;
s3.1從n條特征軌跡擬合直線中隨機挑選2條直線并計算其交點,上述過程重復執(zhí)行p次,記所有交點為{ci=(xi,yi)t|i=1,2,…,p}。其中,若n>150,則p取11325;否則取p=(n2-n)/2。如圖3所示,理想情況下所有特征軌跡擬合直線均相交于公共點,例如:由
圖4(a)為從10000個候選交點中估計理想交匯點的實例,該示例中攝相機主光軸偏離水面法線方向10度,特征點坐標噪聲標準差為0.1個像素。圖4(b)為交匯點估計誤差與坐標噪聲的關系,每個箱形圖(boxplot)展示相應噪聲條件下交匯點估計誤差的中值、上、下四分位點以及外點信息,上述統(tǒng)計信息基于兩幅差異液位圖像的60次統(tǒng)計結果。交匯點估計誤差定義為∠cocgt,cgt為交匯點坐標的真實值(groundtruth)。
s3.2對各特征軌跡中的每個特征點v=(x,y)t,根據(jù)如下關系計算各特征點轉換坐標v′=(x′,y′)t:
其中,符號[·]i表示取向量的第i個分量,且:
上式中f為照相機的焦距長度(單位為像素),θx、θy的計算公式如下:
s4.差異液位圖像序列中各圖像對應的水面距離標定,其中,差異液位圖像水面距離標定流程如圖5所示,具體包括如下步驟:
s4.1初始化參數(shù)niter=1、nin=0,集合
s4.2從{lp|p=1,2,…,n}中隨機挑選1條特征軌跡,根據(jù)該特征軌跡中各特征點的轉換坐標,計算各圖像所對應的未知水面距離dl(l={1,2,…m})和該條特征軌跡對應的場景點的深度d。其中,場景點的深度指的是相機投影中心到場景點所在水平面的垂直距離。水面距離和場景點深度的最優(yōu)估計
其中,符號||·||2表示取向量的二范數(shù)。液位差異d1-dj(j=2,3,…,m)為已知常量。0α和0β分別為(m-2)×1和(m-1)×1維零向量,1為所有元素均為1的(m-2)×1維向量,i為(m-2)×(m-2)維單位矩陣,mα=(w(v′1)-w(v′2),w(v′1)-w(v′3),…,w(v′1)-w(v′m))t,mβ為對角線上第j(j={1,2,…m-1})個元素取值為(w(v′j+1)-a(v′j+1))的(m-1)×(m-1)維對角矩陣。其中,函數(shù)a(·)和w(·)的定義為:
上式中n為液體的已知折射系數(shù),v′l=(x′l,y′l)t為當前所選中的特征軌跡第l(l={1,2,…m})個特征點的轉換坐標。
s4.3設定參數(shù)n′in=0。根據(jù)s4.2計算的
然后,根據(jù)如下公式計算特征軌跡的發(fā)散指標τ:
如果τ<0.05,則更新參數(shù)n′in←n′in+1。按照上述方法將所有特征軌跡處理完成后,如果n′in>nin,則令nin=n′in,且更新
s4.4更新niter←niter+1。如果
s4.5通過求解如下優(yōu)化問題獲得各水面距離和各特征軌跡對應的場景點深度的最終估計
其中,
差異液位圖像水面距離標定的誤差分析結果如圖6所示,其中圖6(a)為差異液位層數(shù)對標定精度的影響,圖6(b)為液位差異測量誤差對標定精度的影響。上述結果為nin=100、特征點坐標噪聲標準差為1.0個像素的條件下的60次統(tǒng)計結果,標定誤差定義為所有距離的相對誤差的均方根(rootmeansquare,rms)??梢?,增加差異液位圖像有助于提高標定精度,而液位差異測量誤差對標定精度的影響在可接受范圍之內。例如:液位差異測量誤差在5.5%時,標定誤差的中值僅為2%左右。
s5.稠密三維場景重建及其優(yōu)化;
s5.1利用已有圖像稠密匹配方法計算圖像
s5.2對于
然后,根據(jù)d(r)估計像素r對應的場景點的初始三維坐標xr=(xr,yr,zr)t,計算公式如下:
s5.3對于每個場景點,利用局部非線性優(yōu)化方法對其初始三維坐標求精,優(yōu)化過程的目標函數(shù)為:
其中,
s5.4將所有經(jīng)過優(yōu)化的三維點融合為三維點云,并利用已有統(tǒng)計外點移除(statisticaloutlierremoval,sor)點云過濾方法剔除孤立點和細小點云片段,獲得最終稠密三維重建結果。
本具體實施例中差異液位圖像樣張和三維重建示例如圖7所示,其中,圖7(a)為不同液位條件下獲取的圖像樣張,圖7(b)分別為采用3幅、6幅、10幅差異液位圖像的重建結果。根據(jù)圖7的測試結果表明,增加差異液位圖像的數(shù)量有助于提高三維重建精度,該結果與圖6(a)中的規(guī)律是相吻合的。
本領域技術人員將清楚本發(fā)明的范圍不限制于以上討論的示例,有可能對其進行若干改變和修改,而不脫離所附權利要求書限定的本發(fā)明的范圍。盡管己經(jīng)在附圖和說明書中詳細圖示和描述了本發(fā)明,但這樣的說明和描述僅是說明或示意性的,而非限制性的。本發(fā)明并不限于所公開的實施例。