本發(fā)明涉及圖像處理領域,更為具體而言,涉及一種應用于圖像處理的表面細化方法、裝置以及系統(tǒng)。
背景技術:
現(xiàn)有的立體細化方法使用多視點光一致性泛函數(shù)(multi-view photo-consistency functional)優(yōu)化表面呈現(xiàn)。這種優(yōu)化是迭代的,需要遍及表面區(qū)域的梯度的重復計算,這是對細化的計算效率造成不利影響的瓶頸。具體而言,從圖像恢復真實的3D模型是多視點立體(multi-view stereo,MVS)方法的根本目標。得益于公開的MVS基準(例如,參照參考文獻16:Strecha,C.,von Hansen,W.,Gool,L.V.,Fua,P.,Thoennessen,U.:On bench-marking camera calibration and multi-view stereo for high resolution imagery.In:Computer Vision and Pattern Recognition,2008.CVPR 2008.IEEE Conference on.pp.1-8.IEEE(2008);參考文獻15:Seitz,S.M.,Curless,B.,Diebel,J.,Scharstein,D.,zeliski,R.:A comparison and evaluation of multi-view stereo reconstruction algorithms.In:Computer vision and pattern recognition,2006IEEE Computer Society Conference on.vol.1,pp.519-528.IEEE(2006);參考文獻7:Fabri,A.,Pion,S.:Cgal:The computational geometry algorithms library.In:Proceedings of the 17th ACM SIGSPATIAL international conference on advances in geographic information systems.pp.538-539.ACM(2009)),在過去十年,立體視覺的精度已經(jīng)顯著提升。人們相信高精度的關鍵要素是最終的表面細化步驟。以三角形網(wǎng)格呈現(xiàn)表面,細化是通過優(yōu)化多視點光一致性來反復(或迭代)調(diào)整頂點(vertex)位置的過程。
但是,這種反復細化的運算量很大。主要原因是在所有可見表面區(qū)域上的細化梯度(refinement gradient)的重復計算。另一原因是在細化中使用的網(wǎng)格細分(mesh subdivision)會顯著的增加需要優(yōu)化的頂點的數(shù)量(#vertices)。較高密度的網(wǎng)格頂點還導致較慢的與網(wǎng)格相關的操作,例如,網(wǎng)格平滑(mesh smoothing)、可見性測試(visibility testing)。
技術實現(xiàn)要素:
為了解決現(xiàn)有的圖像處理技術所存在的缺陷,本發(fā)明實施方式提供一種應用于圖像處理的表面細化方法、裝置以及系統(tǒng),能夠減少表面細化的計算量,具有高效性和魯棒性。
一方面,本發(fā)明實施方式提供了一種應用于圖像處理的表面細化方法,包括:
根據(jù)表面分析策略將表面上的網(wǎng)格分為具有細化意義的第一類網(wǎng)格和不具有細化意義的第二類網(wǎng)格;
針對所述第一類網(wǎng)格進行細化處理。
或者,進一步包括:剔除所述第二類網(wǎng)格和/或?qū)⑺龅诙惥W(wǎng)格整體簡化為比所述第二類網(wǎng)格數(shù)量更少的網(wǎng)格。
相應地,本發(fā)明實施方式還提供了一種應用于圖像處理的表面細化裝置包括:
分類模塊,用于根據(jù)表面分析策略將表面上的網(wǎng)格分為具有細化意義的第一類網(wǎng)格和不具有細化意義的第二類網(wǎng)格;
細化模塊,用于針對所述第一類網(wǎng)格進行細化處理。
或者,進一步地,還包括簡化模塊,用于剔除所述第二類網(wǎng)格和/或?qū)⑺龅诙惥W(wǎng)格整體簡化為比所述第二類網(wǎng)格數(shù)量更少的網(wǎng)格。
此外,本發(fā)明實施方式還提供了一種應用于圖像處理系統(tǒng),其采用本發(fā)明實施方式提供的表面細化裝置進行表面細化處理。
采用本發(fā)明的各種實施方式具有以下有益效果:
通過分類并僅針對具有細化意義的第一類網(wǎng)格進行細化處理,在保證細化質(zhì)量的同時,能夠降低需要進行優(yōu)化的表面面積從而降低計算量,具有高效性和魯棒性。
附圖說明
圖1是根據(jù)本發(fā)明實施例的一種應用于圖像處理的表面細化方法的流程示意圖;
圖2是根據(jù)本發(fā)明實施例的根據(jù)本發(fā)明實施例的另一種應用于圖像處理的表面細化方法的流程示意圖;
圖3是根據(jù)本發(fā)明實施例的一種應用于圖像處理的表面細化裝置的框圖;
圖4是圖3所示裝置的分離模塊的框圖的一例;
圖5是圖3所示裝置的分離模塊的框圖的另一例;
圖6示出了根據(jù)本發(fā)明實施例的一種表面細化處理過程的圖例示意;
圖7示出了根據(jù)本發(fā)明實施例的一種雙視點再投影場景及頂點梯度處理示意圖;
圖8示出了根據(jù)本發(fā)明實施例的一種錯誤重投影及其影響的示意圖;
圖9示出了在不同數(shù)據(jù)集中的不同區(qū)域的梯度分布示意圖;
圖10示出了根據(jù)本發(fā)明實施例的一種最優(yōu)平衡決策的示意圖;
圖11示出了完全細化與根據(jù)本發(fā)明實施例的ARC細化之間的演進比較示意圖;
圖12示出了完全細化與根據(jù)本發(fā)明實施例的ARC細化之間基于四種數(shù)據(jù)集的性能比較示意圖;
圖13示出了本發(fā)明實施例與現(xiàn)有技術基于不同數(shù)據(jù)集的比較以及本發(fā)明實施例的效果圖。
具體實施方式
以下結合附圖和具體實施方式對本發(fā)明的各個方面進行詳細闡述。其中,眾所周知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細說明。并且,所描述的特征、架構或功能可在一個或一個以上實施方式中以任何方式組合。本領域技術人員應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發(fā)明的保護范圍。也可以容易理解,本文所述和附圖所示的各實施方式中的模塊或單元或步驟可以按各種不同配置進行組合和設計。還可以容易理解,雖然可能僅在部分實施例中對特定名稱、術語、范圍等進行解釋,但該解釋同樣適用于其它實施例,除非特別說明。
此外,本發(fā)明中引用的參考文獻的相關內(nèi)容并入本文以作為本發(fā)明的一部分。
圖1是根據(jù)本發(fā)明實施例的一種應用于圖像處理的表面細化方法的流程示意圖,參照圖1,所述方法包括:
100:根據(jù)表面分析策略進行網(wǎng)格分類。具體而言,根據(jù)表面分析策略將表面上的網(wǎng)格分為具有細化意義的第一類網(wǎng)格和不具有細化意義的第二類網(wǎng)格。
在本發(fā)明中,網(wǎng)格是否具有細化意義可以根據(jù)網(wǎng)格的成本效益判斷,所述成本效益由用于量化網(wǎng)格(三角形網(wǎng)格)的幾何改善和運行時間成本確定?;蛘撸梢赃M一步綜合成本效益以及預設的幾何改善和運行時間成本的權重確定。
可選地,在本實施例的一種實現(xiàn)方式中,關于處理100的詳細說明請參照下文關于“自適應分辨率控制”的詳細說明。
102:針對目標網(wǎng)格進行細化處理。具體而言,針對所述第一類網(wǎng)格進行細化處理。換言之,本發(fā)明只針對具有細化意義的網(wǎng)格進行細化。
采用本發(fā)明實施例提供的表面細化方法,通過分類并僅針對具有細化意義的第一類網(wǎng)格進行細化處理,在保證細化質(zhì)量的同時,降低計算量,具有高效性和魯棒性。
示例性地,本發(fā)明實施例提供的方法可以應用于3D重建中。例如,在多視點立體技術中,可以采用本發(fā)明實施例提供的方法對3D重建獲得的表面(例如,噪聲表面)或經(jīng)過預處理(例如,平滑處理)的表面進行表面細化處理。
可選地,在本實施例的一種實現(xiàn)方式中,處理100可以通過以下方式實現(xiàn):計算表面上各頂點的gi值以及各網(wǎng)格的tc值,其中,gi表示幾何改善,tc表示運行時間成本;將gi/tc的值滿足預設條件的網(wǎng)格標記為所述第一類網(wǎng)格。其中,所述幾何改善表示頂點和單環(huán)相鄰面之間的平方距離的最大值;所述運行時間成本表示為可見圖像對的數(shù)量乘以三角形的面積,所述預設條件可以是預設的閾值、數(shù)量或范圍。
可選地,在本實施例的一種實現(xiàn)方式中,處理100可以通過以下方式實現(xiàn):計算表面上各頂點的gi值以及各網(wǎng)格的tc值,其中,gi表示幾何改善,tc表示運行時間成本;根據(jù)各網(wǎng)格的gi/tc的值將所有網(wǎng)格升序排列;按照所述升序排列順序,通過在x軸上的tc的遞增總和以及在y軸上的gi獲得累積曲線;將所述累積曲線上不高于指定點的點所對應的網(wǎng)格標記為所述第二類網(wǎng)格;將所述累積曲線上高于所述指定點的點所對應的網(wǎng)格標記為所述第一類網(wǎng)格。
其中,示例性地,所述指定點可以通過以下方式確定:將所述累計曲線的x軸和y軸歸一化得到歸一化曲線;從歸一化曲線上選取斜率為wl/wr的點作為所述指定點;其中,wl表示l的權重,wr表示r的權重,r對應于歸一化曲線的x軸,l對應于歸一化曲線的y軸。
圖2是根據(jù)本發(fā)明實施例的根據(jù)本發(fā)明實施例的另一種應用于圖像處理的表面細化方法的流程示意圖,參照圖2,所述方法包括:
100:根據(jù)表面分析策略進行網(wǎng)格分類。具體而言,根據(jù)表面分析策略將表面上的網(wǎng)格分為具有細化意義的第一類網(wǎng)格和不具有細化意義的第二類網(wǎng)格。
102:針對目標網(wǎng)格進行細化處理。
104:針對非目標網(wǎng)格進行剔除和/或簡化處理。具體而言,剔除所述第二類網(wǎng)格和/或?qū)⑺龅诙惥W(wǎng)格整體簡化為比所述第二類網(wǎng)格數(shù)量更少的網(wǎng)格。
采用本發(fā)明實施例,同樣能夠達到圖1所示實施例的有益效果。
可選地,在圖1或圖2所示實施例的一種實現(xiàn)方式中,所述方法還包括:采用圖割優(yōu)化產(chǎn)生分段的平滑標記。示例性地,對此的詳細說明,請參照下文關于“圖形優(yōu)化”的詳細說明。
可選地,在圖1或圖2所示實施例的一種實現(xiàn)方式中,所述方法還包括:在再投影的繪制中,檢測并剔除問題輪廓。示例性地,對此的詳細說明,請參照下文關于“輪廓選擇”的詳細說明。
圖3是根據(jù)本發(fā)明實施例的一種應用于圖像處理的表面細化裝置的框圖。參照圖3,所述裝置包括分類模塊30和細化模塊32。其中,分類模塊30,用于根據(jù)表面分析策略將表面上的網(wǎng)格分為具有細化意義的第一類網(wǎng)格和不具有細化意義的第二類網(wǎng)格。細化模塊,用于針對所述第一類網(wǎng)格進行細化處理。
可選地,在本實施例的一種實現(xiàn)方式中,如圖3中虛線框所示,表面細化裝置還包括簡化模塊34,用于剔除所述第二類網(wǎng)格和/或?qū)⑺龅诙惥W(wǎng)格整體簡化為比所述第二類網(wǎng)格數(shù)量更少的網(wǎng)格。
可選地,在本實施例的一種實現(xiàn)方式中,如圖4所示,分類模塊30包括:第一計算子模塊302,用于計算表面上各頂點的gi值以及各網(wǎng)格的tc值,其中,gi表示幾何改善,tc表示運行時間成本;第一標記子模塊304,用于將gi/tc的值滿足預設條件的網(wǎng)格標記為所述第一類網(wǎng)格。其中,幾何改善表示頂點和單環(huán)相鄰面之間的平方距離的最大值;運行時間成本表示為可見圖像對的數(shù)量乘以三角形的面積。
可選地,在本實施例的一種實現(xiàn)方式中,如圖5所示,分類模塊30包括:第二計算子模塊306,用于計算表面上各頂點的gi值以及各網(wǎng)格的tc值,其中,gi表示幾何改善,tc表示運行時間成本;排序子模塊308,用于根據(jù)各網(wǎng)格的gi/tc的值將所有網(wǎng)格升序排列;曲線子模塊310,用于按照所述升序排列順序,通過在x軸上的tc的遞增總和以及在y軸上的gi獲得累積曲線;第二標記子模塊312,用于將所述累積曲線上不高于指定點的點所對應的網(wǎng)格標記為所述第二類網(wǎng)格,將所述累積曲線上高于所述指定點的點所對應的網(wǎng)格標記為所述第一類網(wǎng)格。
進一步可選地,如圖5中虛線框所示,分類模塊30還可以包括指定點子模塊314,用于將所述累計曲線的x軸和y軸歸一化得到歸一化曲線,以及從歸一化曲線上選取斜率為wl/wr的點作為所述指定點;其中,wl表示l的權重,wr表示r的權重,r對應于歸一化曲線的x軸,l對應于歸一化曲線的y軸。
可選地,在圖4或圖5所示實施例中,分類模塊30還可以包括圖割優(yōu)化子模塊,用于采用圖割優(yōu)化產(chǎn)生分段的平滑標記。
可選地,在本實施例的一種實現(xiàn)方式中,表面細化裝置還以包括剔除模塊,用于在再投影的繪制中檢測并剔除問題輪廓。
本領域技術人員應當理解,本發(fā)明提供的方法實施例可以理解為裝置實施例的處理邏輯,而本發(fā)明的裝置實施例可以用于實施本發(fā)明的方法實施例,因此,在裝置實施例中,關于各個模塊、子模塊所執(zhí)行處理和可執(zhí)行處理的詳細說明,關于相關名詞、術語、范圍等的解釋,以及關于相關特征及優(yōu)點的詳細描述,請參照方法實施例以及下文的具體描述中的詳細說明。
圖6是根據(jù)本發(fā)明實施例的一種表面細化處理過程的圖例示意。參照圖6,該過程包括:(a)表示以初始噪聲網(wǎng)格作為輸入;(b)表示采用本發(fā)明的表面細化將網(wǎng)格標記為兩種區(qū)域;(c)表示自適應網(wǎng)格密度,具體而言,僅對有意義的區(qū)域(橘色所示區(qū)域)采用細化,而剔除和簡化其它不具有意義的區(qū)域(紫色所示區(qū)域);(d)表示最終細化后的網(wǎng)格。采用本發(fā)明實施例能夠大大降低待優(yōu)化的表面面積,同時保持有價值的細節(jié)。
本發(fā)明在保護前述表面處理方法和表面處理裝置的同時,還保護一種圖像處理系統(tǒng),該系統(tǒng)具有本發(fā)明提供的表面處理裝置。
下面結合附圖,從本發(fā)明的發(fā)明人對于表面細化的理解、研究、探索及實驗等角度,對本發(fā)明的一種具體實現(xiàn)進行更詳細的說明。本領域技術人員應當理解,下文所詳細描述的內(nèi)容,可以用于解釋本發(fā)明的相關特征,或者作為前置處理或后置處理對本發(fā)明的方法進行補充,同時也可以作為對現(xiàn)有技術的改進。
根據(jù)發(fā)明人的觀察,并不是所有區(qū)域的細化均為幾何改善貢獻相同的力量。例如,多數(shù)平面或低紋理(low-textured)區(qū)域幾乎不具有有價值的細化梯度,可能是由于這些區(qū)域早期收斂或缺少梯度。細化幾乎(或?qū)嵸|(zhì)上)不對他們產(chǎn)生幾何改善。而且,在這些區(qū)域上的網(wǎng)格細分創(chuàng)建了過密(over-dense)的三角形,帶來額外的計算和存儲負擔。事實上,這些區(qū)域有時候占據(jù)網(wǎng)格表面(參考圖9)中相當大的比例。放棄對他們的細化能夠帶來相當好的性能加速。
與以前僅以優(yōu)化光一致性為目標的方法不同,本發(fā)明還考慮了將運行時間性能作為目標。更具體而言,本發(fā)明量化性能和精度,并探索在實現(xiàn)最大化的性能加速和最小化的精度損失之間的最佳(或理想)平衡。下面,本發(fā)明證明本發(fā)明工作的雙重貢獻。
首先,本發(fā)明提出了網(wǎng)格表面細化框架,具有對基本方法(參照參考文獻19:Vu,H.H.,Labatut,P.,Pons,J.P.,Keriven,R.:High accuracy and visibility-consistent dense multiview stereo.IEEE Transactions on Pattern Analysis and Machine Intelligence 34(5),889-901(2012))的改善。本發(fā)明的細化算法分為圖像配準(Image registration)問題和梯度聚類(gradient aggregation)問題。本發(fā)明采用更加有效和直接的方法來解決圖像相似性的梯度,其給出了細化的最陡取向。而且,本發(fā)明確定了輪廓問題并通過明確地剔除有問題的區(qū)域來處理輪廓問題。本發(fā)明的細化框架是確保高精度重建的根本。
其次,本發(fā)明提出新穎的自適應分辨率控制(Adaptive Resolution Control,ARC)。ARC將網(wǎng)格標記為兩個區(qū)域(參照圖10b),其中,作用區(qū)域?qū)缀胃纳凭哂凶疃嘭暙I,而非作用區(qū)域則是不重要的區(qū)域(通常為平面或無紋理non-textured區(qū)域)。為了保持標記分段平滑,可采用圖割優(yōu)化(graph cut optimization)。本發(fā)明僅會細化和細分所述作用區(qū)域,而所述非作用區(qū)域則會被丟棄以及簡化為較少的三角形。這導致自適應分辨率的網(wǎng)格:所述作用區(qū)域具有密集的三角形而所述非作用區(qū)域則是稀少的(圖6c)。由于細化面積和網(wǎng)格#頂點的顯著減少,本發(fā)明的方法實現(xiàn)了幾倍的加速。并且,如圖6d所示,本發(fā)明的方法還能夠保留精美的細節(jié)。
【相關工作】
MVS以已知的相機參數(shù)開始,旨在重建目標對象的密集呈現(xiàn)。在MVS中已經(jīng)進行了大量的工作。這里,本發(fā)明只探索與表面細化相關的工作。
表面細化是MVS中的最后步驟,并且是最終精度的關鍵因素。給出粗糙的初始表面,其目的是通過優(yōu)化光一致性(通常最小化再投影錯誤)來細化細節(jié)。
Pons et al.:(參照參考文獻14:Pons,J.P.,Keriven,R.,Faugeras,O.:Multi-view stereo reconstruction and scene flow estimation with a global image-based matching score.International Journal of Computer Vision 72(2),179-193(2007))提出了一種表面細化的變分法(variational method)(參照參考文獻8:Faugeras,O.,Keriven,R.:Variational Principles,Surface Evolution,PDE's,Level Set Methods and the Stereo Problem.Tech.Rep.RR-3021,INRIA(Oct 1996))和用于水平集(level set)框架的場景流(scene flow)估計。他們的公式將總體圖像再投影錯誤泛函數(shù)最小化。Vu et al.(參照參考文獻19)進一步將他們的工作延伸至在離散的三角形網(wǎng)格上使用。他們的方法反復地將輸入的三角形網(wǎng)格細化和細分,產(chǎn)生非常細節(jié)的結果。Delaunoy et al.(參照參考文獻5:Delaunoy,A.,Prados,E.,Piracés,P.G.I.,Pons,J.P.,Sturm,P.:Minimizing the multi-view stereo reprojection error for triangular surface meshes.In:BMVC 2008-British Machine Vision Conference.pp.1-10.BMVA(2008);參考文獻4:Delaunoy,A.,Prados,E.:Gradient flows for optimizing triangular mesh-based surfaces:Applications to 3d reconstruction problems dealing with visibility.International journal of computer vision 95(2),100-123(2011))嚴格地模擬了考慮到可見性變化的網(wǎng)格細化問題。他們的公式被進一步延伸為束調(diào)整(bundle adjustment)問題(參照參考文獻3:Delaunoy,A.,Pollefeys,M.:Photometric bundle adjustment for dense multi-view 3d modeling.In:Computer Vision and Pattern Recognition(CVPR),2014IEEE Conference on.pp.1486-1493.IEEE(2014))。除了表面,基于塊(patch-based)的方法為塊的呈現(xiàn)(即,正常和深度)施加細化(參照參考文獻10:Furukawa,Y.,Ponce,J.:Accurate,dense,and robust multiview stereopsis.IEEE Transactions on Pattern Analysis and Machine Intelligence 32(8),1362-1376(2010);參考文獻12:Heise,P.,Jensen,B.,Klose,S.,Knoll,A.:Variational patchmatch multiview reconstruction and refinement.In:Proceedings of the IEEE International Conference on Computer Vision.pp.882-890(2015))。一些較早的方法使用對象輪廓信息估算細化梯度(參照參考文獻9:Furukawa,Y.,Ponce,J.:Carved visual hulls for image-based modeling.In:Computer Vision-ECCV 2006,pp.564-577.Springer(2006);參考文獻6:Esteban,C.H.,Schmitt,F.:Silhouette and stereo fusion for 3d object modeling.Computer Vision and Image Understanding96(3),367-392(2004)和參考文獻18:Tylecek,R.,Sara,R.:Refinement of surface mesh for accurate multi-view reconstruction.The International Journal of Virtual Reality 9(1),45-54(2010)),但是這些方法被限于有條件的場景中。
多數(shù)細化方法采用迭代方式以優(yōu)化表面形狀。本發(fā)明的細化框架與Vu的方法(參考文獻19)最接近,可以將Vu的方法看作本發(fā)明方法的基準。在本文的后續(xù)部分,首先陳述改善的表面細化框架,然后提出新穎的ARC,并引出密集的實驗以支持所提出的方法的有效性。
【網(wǎng)格表面細化】
在先的用于三角形網(wǎng)格的細化方法產(chǎn)生令人印象深刻的結果(參照參考文獻19和參考文獻3)。本發(fā)明的方法堅持這條主要規(guī)則,但是,本發(fā)明將其視為兩種子問題(圖像配準和梯度聚類)的結合。本發(fā)明還提出快速光一致性(NCC)梯度計算和輪廓選擇作為對在先方法的改善。
(公式)
指示一對圖像Ii,Ij和表面S。如參考文獻14所描述的,將他們的再投影錯誤最小化的標準化公式表示為:
其中,是圖像j通過表面S在視圖i中的再投影,是圖像相似性測量結果。Ei,j(S)積分圖像對i和j的通??梢妳^(qū)域上的錯誤。然后,總結所有圖像對的錯誤E(S)=∑i,jEi,j(S)被最小化。假設相機參數(shù)正確并且對象是朗伯的(lambertian),Ii和之間的不同是由于不精確的表面S。這里,本發(fā)明將最小化分成兩個子問題。
圖像配準。原公式(1)測量Ii和之間的光一致性。相反地,本發(fā)明將測量空間轉(zhuǎn)換至xj坐標,即,測量和Ij。這種特別的選擇使得兩個子問題通過代理(proxy)xj被重組。為了取圖像相似性的最大值,本發(fā)明求至其第一個參數(shù)xj的偏導數(shù):
2D梯度場可被看作將配準至Ij的光流(optical-flow)。本發(fā)明會在2.2部分示出其快速計算。
梯度聚類(gradient aggregation)。參照圖7,其中,(a)表示將雙視點細化問題構造為圖像配準問題和梯度聚類問題,(b)表示通過以正則化執(zhí)行的逐點梯度的最小二乘解決離散頂點梯度。下面進行詳細說明。
本發(fā)明考慮了雙視圖情景(圖7a),表面點P具有兩個投影坐標xi=∏i(p),xi=Πi(p)。圖像再投影根據(jù)表面S變形而變形。因為是優(yōu)化的梯度,本發(fā)明解決了導致期望的的表面梯度GS。為了關聯(lián)他們,本發(fā)明用表面變化δS的導數(shù)代替公式(2):
請注意,在第二行,第一項被預先計算。第二項是投影矩陣Πj的雅可比行列式(Jacobian)。假設表面移動是沿著表面的正常方向(參考文獻14),第三項能轉(zhuǎn)換為其中,N是P的法線(normal),di是加入的從相機中心(camera center)i至P的向量。然后,表面點P的梯度是:
正則化的離散化(regularized discretization)。這里,采用優(yōu)化然后離散化的策略。表面被表示為三角網(wǎng)格M={v0,v1,...vn},并且,頂點細化梯度被表示為GM。任意的表面點P能夠被寫作封閉三角形頂點的質(zhì)心(barycentric)坐標p=∑kφkvk,其中,∑kφ|k=1。這種關系還適用于他們的梯度GS(p)=ΣkφkGM(vk)。為了解決GM,本發(fā)明將其公式化為線性最小二乘(linear least square)問題A[m*n]GM=GS。其中,矩陣A填滿相應的質(zhì)心權重m=#表面點(#surface point),n=#頂點(m>>n)。如圖6b所示,逐點梯度GS(p)對噪音敏感。但是,最小二乘離散梯度GM(v)更加正則化。
為數(shù)據(jù)項采用另外的正則化:頂點的梯度被期望與其鄰域(neighborhood)平滑:所有頂點的這種關系可以被寫作βB[n*n]GM=0:其中,β是調(diào)整平滑度的權重。累計矩陣A和βB形成大量稀疏矩陣,并且能通過雙共扼梯度法(bi-conjugate gradient method)解決GM。在每一次迭代中,GM被用于網(wǎng)格:Mi+1=Mi+∈GM。
請注意,在先前的方法中(例如,參考文獻19),頂點梯度是遍及該頂點的來自所有對的單環(huán)三角形的總和。盡管符合其公式,但當表面可見性不平衡時,梯度幅值會有偏差。例如,被更多圖像對查看(view)的區(qū)域具有較大的幅度。本發(fā)明的基于最小二乘的離散化能阻止可見性偏移問題。
由粗到精(coarse-to-fine)。為了緩解局部最優(yōu)的問題,本發(fā)明采用了由粗到精的策略。預先建立多個規(guī)模的網(wǎng)格。輸入網(wǎng)格首先被平滑和簡化為一定水平,接下來,在迭代中從低分辨率圖像逐步到高分辨率圖像進行細化。在任何圖像對中,如果三角形投影區(qū)域覆蓋多于9像素,則將該三角形細分。可根據(jù)網(wǎng)格的邊緣長度全局調(diào)整步長(step size)∈。
(快速NCC梯度)
圖像相似性梯度本質(zhì)上驅(qū)動著表面細化。其也是整個算法的最大的性能瓶頸。此處,本發(fā)明提供一種在NCC相似性測量方面的快速梯度計算。
在參考文獻5中,相似性度量標準是簡單的像素強度的方差||Ii-Ij||2,其難以應對不一致的明亮度(illumination)。在參考文獻19和14中,采用ZNCC作為相似性度量標準,但是,利用鏈式法則,梯度被分為其中,是簡單的圖像梯度。本發(fā)明認為,由于兩個原因其減緩了收斂:1)由于是標量,其隱式地將細化梯度約束在圖像梯度取向但是實際上,其可能不是最陡(steepest)的取向;2)單像素強度I(x)被用于關聯(lián)鏈式法則,但是,ZNCC的實際運算是在x的鄰域上。
為了進行改善,本發(fā)明采取更加有效和直接的方式解決具體地,本發(fā)明使用歸一化互相關(Normalized Cross Correlation,NCC)代替零均值版本(zero-mean version),這降低了零分母的幾率。將方程式2認為是對將動態(tài)圖像Id照準到靜態(tài)圖像Is的梯度的計算。本發(fā)明指示數(shù)積然后通過求動態(tài)圖像Id的坐標的倒數(shù)計算梯度:
其中,
D表示圖像梯度。最終的方程式簡化為:
GI(x)的計算是獨立于各像素x,使其完美地適應于GPU并行性。
(輪廓選擇)
由于不準確的初始網(wǎng)格,圖像i可能再投影至錯誤的深度層。這經(jīng)常沿著對象的輪廓發(fā)生,如圖8a所示。而該問題在先前的方法中沒有被解決,本發(fā)明在再投影的繪制中通過明確地檢測輪廓并剔除有問題的輪廓區(qū)域來處理它。當且僅當兩個入射三角(incident triangles)t0/1是正面和背面時,網(wǎng)格邊緣E是關于視圖i的輪廓邊沿,即,輪廓邊緣(silhouette edge)t0,t1∈N(E)}。在細化時SE上的像素被放棄。其中,Nview表示視線的角度。Nt0、Nt1表示三角形t0、t1的法向量。斜體N代表鄰域。
更具體而言,參照圖8中的(a)和(b),其中,(a)表示不精確的表面引起在錯誤層上的再投影,并導致錯誤的細化梯度(如(b)左側(cè)所示)。(b)右側(cè)圖則示出了通過輪廓剔除避免上述問題的效果。
【自適應分辨率控制】
通過仔細觀察諸如圖9之類的圖片,本發(fā)明的發(fā)明人產(chǎn)生采用ARC將原來的完全細化放寬為在所選擇區(qū)域上的部分細化的突發(fā)動機。其中,圖9示出了在早期迭代中,4種EPFL數(shù)據(jù)集的細化梯度。大多數(shù)區(qū)域例如平壁或地面具有非常小的梯度值(如藍色所示),在細化之前和細化之后,他們具有很少的集合改變。
本發(fā)明的ARC將表面分為兩個區(qū)域:作用(active)區(qū)域和非作用(Inactive)區(qū)域。作用區(qū)域呈現(xiàn)會被施加細化的有顯著意義的部分。非作用區(qū)域表示將從細化中放棄以換取性能提升的不具有顯著意義的部分。
以f表示為各個表面區(qū)域R分配標簽的函數(shù)f(R)∈{active,Inactive}。平衡可以被公式化為效用最大化(utility maximization):
u(f)=uaccuracy(f)+utime_reduction(f) (4)
(三角形網(wǎng)格的量化)
在關于網(wǎng)格的內(nèi)容中,三角形是表面區(qū)域的最小單元。本發(fā)明為三角形定義兩種度量以具體地表示關于網(wǎng)格的平衡問題。下面的描述會結合圖10,其中,圖10中的(a)表示頂點的幾何改善是從v到平面(v')的最大平方距離;(b)表示在時間減少和精度損失之間的平衡曲線;(c)表示通過最優(yōu)平衡決策foptimality進行標記,其中,橘色對應作用區(qū)域,紫色對應非作用區(qū)域;(d)表示通過圖割優(yōu)化的最終標記。下面進行具體說明。
幾何改善。如前所述,對各頂點的細化對幾何改善具有不同貢獻。為了量化這種改善,本發(fā)明借用在網(wǎng)格簡化中使用的二次誤差度量(quadric error metric)(參照參考文獻11:Garland,M.,Heckbert,P.S.:Surface simpli_cation using quadric error metrics.In:Proceedings of the 24th annual conference on Computer graphics and interactive techniques.pp.209-216.ACM Press/Addison-Wesley Publishing Co.(1997)),來獲得頂點位移(displacement)所能帶來的幾何區(qū)別的量。這是比頂點梯度幅值更好的選擇,因為細化具有與簡化相反的目標(簡化將幾何變化最小化而細化將其最大化)并且因此應該使用相同的度量設置。以v和v'表示在細化迭代之前和之后的相同頂點。如圖10a所示,本發(fā)明將頂點v的幾何改善(gi)定義為在v和單環(huán)(one-ring)相鄰面v'(稱作planes(v'))之間的平方距離的最大值,定義三角形的gi為其三個頂點的平均:
giv=maxp∈planes(v′){ptv)2}
其中,V=[vx vy vz 1]t,p=[a b c d]t以標準形式表示平面。
運行時間成本。主要的運算花費在細化梯度方面。在三角形上花費的成本是可見圖像對(visible image pair)的數(shù)量乘以三角形的面積的因素。那么,三角形t的時間成本(tc)表示為:
其中,v0,v1,v2是t的三個頂點。
(最優(yōu)平衡決策)
基于上述介紹的度量,本發(fā)明定義三角形t的成本效益(cet)為其幾何改善在其時間成本上的比率,即,cet=git/tct。較高的ce意味著通過將其標記為active能在相同單位的時間成本上實現(xiàn)更高精度。因此,本發(fā)明應該總是將較低ce的三角形標記為inactive。
為了更好地舉例說明該標記規(guī)則的效果,本發(fā)明計算所有三角形的cet并按照升序?qū)⑺麄兣判颉H缓笸ㄟ^在x軸上的tct的遞增總和以及以上述排序順序的在y軸上的git獲得累積曲線(accumulation curve)。在該曲線上的每一個點表示基于所述原則的標記配置,這會將所有在特定點之下和之上的三角形為inactive和active。然后,本發(fā)明將兩個軸歸一化為[0,1],x軸、y軸可以被解釋為時間減少和精度損失(如圖10b所示)。其中,表示所有三角形的tct的總和,表示所有三角形的git的總和。
該曲線給本發(fā)明提供了控制平衡的量的靈活性。本發(fā)明能根據(jù)應用需求在時間減少或精度損失方面設置閾值或范圍。更重要地,本發(fā)明能將問題空間(problem space)從標記分配函數(shù)f轉(zhuǎn)換至2d空間(r,l)∈curve(curve,曲線)。可以將方程式4重寫為:
u(r,l)=uaccuracy(l)+utime_reduction(r)
=wl·(1-l)+wr·r
其中,wl和wr是精度(accuracy)損失和時間減少(time_reduction)的權重。最優(yōu)平衡決策點(r0,l0)在曲線上使得:
u(ro,lo)=max(r,l)∈curueu(r,l)
其可以通過對u(r,l)求導來求解??梢酝评淼玫?,曲線上的最優(yōu)點(r0,l0)具有的斜率等于該點表示最優(yōu)標記,即,foptimality,并且其是唯一的,因為曲線的斜率從其排序之后就是嚴格增加的。請注意,完全優(yōu)化可以被看作由曲線上的點(0,0)表示的特殊情況。權重比率是默認的并且在下文的實驗中,本發(fā)明使用的權重比率為1,這意味著為精度損失和時間減少設置相同的權重。
(圖形優(yōu)化)
僅通過優(yōu)化平衡決策標記網(wǎng)格最大化了本發(fā)明的效用函數(shù),但是,同樣使得標記分散為許多小區(qū)域。如圖10c所示的示例。當在網(wǎng)格上被分片平滑時,期望的標記應當與數(shù)據(jù)項標記一致。因此,采用圖割優(yōu)化(參照參考文獻1:Boykov,Y.,Veksler,O.,Zabih,R.:Fast approximate energy minimization via graph cuts.IEEE Transactions on Pattern Analysis and Machine Intelligence23(11),1222-1239(2001))以應對這個問題。
以f表示標記配置(labeling configuration),所述標記配置為各個三角形t分配標簽ft∈{active,inactive}。f的能量函數(shù)表示為三個項的和:
E(f)=Eoptimality(f)+Esmoothness(f)+Eprior(f)
最優(yōu)性(optimality)。期望最終的標記保持對通過最優(yōu)平衡決策、foptimality提供的數(shù)據(jù)項標簽的盡可能多的保真度。所以,Eoptimality(f)累積所有違反最優(yōu)性標簽(標記)的三角形標簽的懲罰(penalty),即,
平滑(smoothness)。作為一種特征,標記應當是分段平滑。更重要地,平滑標記使得有效的簡化被施加至較大塊的網(wǎng)格。本發(fā)明簡單地使用Potts模型來執(zhí)行(enforce)在鄰近三角形ti和tj之間的標記平滑。通過本發(fā)明的實驗,本發(fā)明省略了使用諸如邊緣長度||ei,j||之類的加權方式,因為進一步的歸一化會容易地受最長邊緣的影響。相反地,本發(fā)明使用統(tǒng)一的加權以實現(xiàn)與Eoptimality(f)的合理平衡。
在先的紋理(textureness prior)。在圖優(yōu)化之前增加紋理是可選地。在2d圖像中的急劇梯度變化并不總是意味著在3d場景中的真正細節(jié)(例如,平壁上的紋理圖案),但是,事實上,在多數(shù)情況下,真正的3d幾何細節(jié)會在其投影的2d圖像上產(chǎn)生急劇的坡度。本發(fā)明采用在先能量(prior energy)使紋理區(qū)域被標記為active。具體而言,遍及在具有三角形t的最大投影面積的圖像的像素,計算平均圖像梯度幅值(歸一化為[0,1]),即:
上述圖割優(yōu)化產(chǎn)生分段的平滑標記(如圖10d所示)。值得一提的是,所述標記自然的適應場景。例如,模型具有越多的非紋理區(qū)域,則越高的比例會被標記為inactive,因此得到更高的性能增益。
(與細化結合)
前述細化采用由粗到精的策略,默認使用3種水平和20次細化迭代的圖像金字塔。一旦圖像水平改變,ARC標記重新計算,所以在整個細化中ARC僅執(zhí)行3次,這是微不足道的成本。active三角形承受細化算法并且如果需要會被細分。inactive三角形則經(jīng)受具有一定簡化率(simplifying ratio)的QEM(參考文獻11)簡化。在本發(fā)明的實驗中,所述簡化率被設為0.2。#三角形(#triangle)的顯著下降有效的加快了繪制以及網(wǎng)格處理。然后,這些三角形在隨后的迭代中被固定。除了可見性測試之外,與他們相關的所有計算被剔除。
圖11示出了在基本的完全細化(full refinement)和本發(fā)明的ARC細化之間的演進比較。具體而言,如左側(cè)圖所示,在細化之前,噪聲網(wǎng)格被平滑。如右側(cè)圖所示,完全細化產(chǎn)生相當密集的網(wǎng)格,而ARC寫話產(chǎn)生自適應分辨率的網(wǎng)格:有價值的(例如,邊緣)區(qū)域具有比不重要的區(qū)域(例如,平面)更密集的三角形,但是最終的質(zhì)量與完全細化的質(zhì)量非常近似。整體地,所述完全細化產(chǎn)生更密集的網(wǎng)格,而ARC方法則以自適應分辨率產(chǎn)生非常緊湊(compact)的網(wǎng)格。兩種網(wǎng)格表面最終的質(zhì)量非常接近,并且視覺上幾乎難以區(qū)分。
【實驗】
本發(fā)明所提供的方法在具有8核Inter I7-4770k和32g內(nèi)存的機器上實現(xiàn)和評價。圖像再投影和細化梯度使用具有NVIDIA GTX980顯卡的OpenGL計算。
在下面的實驗中,本發(fā)明方法的兩種配置被比較。完全細化指的是最高精度細化。ARC細化是使用默認參數(shù)的在第3部分描述的ARC。
(評量基準(benchmarking))
DTU基準(參照參考文獻13:Jensen,R.,Dahl,A.,Vogiatzis,G.,Tola,E.,Aan_s,H.:Large scale multi-view stereopsis evaluation.In:Computer Vision and Pattern Recognition(CVPR),2014IEEE Conference on.pp.406-413.IEEE(2014))包括大范圍的對象并且各個對象由49或64個不同視圖組成,每個視圖是1600×1200像素的圖像。高精度相機校準和數(shù)據(jù)集(dataset)一同被提供。為了測試本發(fā)明的細化算法,本發(fā)明借用了通過方法tola(參照參考文獻17:Tola,E.,Lepetit,V.,Fua,P.:Daisy:An efficient dense descriptor applied to wide-baseline stereo.IEEE Transactions on Pattern Analysis and Machine Intelligence 32(5),815-830(2010))產(chǎn)生的初始表面,并通過遵循作者的指導方針評價了本發(fā)明的最終被細化的網(wǎng)格的精度(accuracy)和完備性(completeness)。請注意,精度被定義為從產(chǎn)生的表面到地面實況(ground truth)的距離,完備性則正好相反。
本發(fā)明已經(jīng)測試了完全細化和ARC細化與基本細化方法Vu(參考文獻19)和在基準中提供的三種參考方法(名稱為tola(參考文獻17),furu(參考文獻10),camp(參考文獻2:Campbell,N.,Vogiatzis,G.,Hern_andez,C.,Cipolla,R.:Using multiple hypotheses to improve depth-maps for multi-view stereo.Computer Vision-ECCV 2008pp.766-779(2008))的比較。表1示出了所選的來自基準中的不同分類的三種數(shù)據(jù)集(scan 36,63,106)的統(tǒng)計。
表1:基于選擇的DTU基準(參考文獻13)的數(shù)據(jù)集的定量對比
與初始網(wǎng)格(參考文獻17)相比,所有三種細化算法一致地改善了精度和完備性,并且,在所有三種數(shù)據(jù)集中,本發(fā)明的完全細化的精度最具有競爭力。值得一提的是,本發(fā)明的ARC細化能夠通過僅細化部分區(qū)域?qū)崿F(xiàn)與完全細化十分接近的精度和完備性。
(性能增益(performance gain))
本發(fā)明在公共EPFL(參考文獻16)和本發(fā)明的私人數(shù)據(jù)集進行試驗并量化ARC細化的實際精度損失和性能增益。
為了量化精度損失,本發(fā)明采用豪斯多夫(Hausdorff)距離來測量兩網(wǎng)格之間的差別。實際損失其中,Mfull是完全細化的網(wǎng)格,MARC是通過ARC細化的網(wǎng)格,Minitial是平滑的初始網(wǎng)格,dH(MA,MB)表示從MA至MB的距離。所測得的處理時間排除不相干的公共操作,例如,I/O(輸入/輸出)。性能增益簡單地表示為處理時間比率。
如表2所示,在所有的8個數(shù)據(jù)集中ARC實現(xiàn)了3-6倍的性能增益。實際的性能增益隨各個獨立的數(shù)據(jù)集而變化。例如,“castle-P30”實現(xiàn)了最高的性能增益和第二低的精度損失,因為在數(shù)據(jù)集中的大面積的平面壁和地面。但是,“campus”數(shù)據(jù)集具有最高的精度損失和最差的性能增益。本發(fā)明認為這是由于在該數(shù)據(jù)集中的大面積植被,其是可變形的因此不適合細化。在這種區(qū)域處的頂點通常具有大而錯誤的梯度。畢竟,精度損失對于所有數(shù)據(jù)集均少于10%,這在很多應用中是可以接受的。
本發(fā)明還為4種EPEL數(shù)據(jù)集記錄了每次細化迭代的頂點的數(shù)目,如圖12所示。#vertex的增大是由于網(wǎng)格的細分。ARC細化的#vertex保持在大約完全細化的#vertex的三分之一。#vertex的大幅下降同樣降低了峰值內(nèi)存占用。
(定性評價)
圖13示出了本發(fā)明實施例與現(xiàn)有技術基于不同數(shù)據(jù)集的比較以及本發(fā)明實施例的效果圖。其中,圖13中的(a)表示在完全細化和ARC細化之間的頂點密度比較;在圖13中的(b)表示大型數(shù)據(jù)集的定性結果,其中,與Swanstone數(shù)據(jù)集相關的圖片的左側(cè)表示初始平滑網(wǎng)格,右側(cè)表示細化后的網(wǎng)格。
在圖13a中,本發(fā)明示出了使用EPFL數(shù)據(jù)集(參考文獻16)的定性比較。本發(fā)明的ARC細化在三角形網(wǎng)格上產(chǎn)生自適應的頂點密度,并且總地來講,相比于完全細化具有非常少量的頂點和三角形。
本發(fā)明所提供的方法能夠通過采用分而治之(divide and conquer)的策略處理大型項目。大網(wǎng)格會被分為數(shù)塊,以便每個具有可見圖像的單獨的塊能適應于存儲。如圖13b所示,4種私人數(shù)據(jù)集均通過UAV獲得。Swanstone數(shù)據(jù)集組成217副4k分辨率的圖像。以粗糙網(wǎng)格表面作為輸入,ARC細化能夠恢復城堡的精細細節(jié),例如窗口或者塔的清晰結構。
【總結】
本發(fā)明提出用于多視點立體中的網(wǎng)格表面細化的靈活和有效的框架。新提出的自適應分辨率控制(ARC)通過曲線分析評估在幾何精度和性能之間的最佳平衡。然后,使用圖割優(yōu)化將所述區(qū)域分類為有意義的區(qū)域和無意義的區(qū)域。之后,在后續(xù)細化過程中,各區(qū)域被相應地細分和簡化,以自適應分辨率產(chǎn)生三角形網(wǎng)格。因此,ARC通過剔除大多數(shù)無意義區(qū)域幾倍地加快立體細化,同時保持與最先進的方法所能達到水平相似的的幾何細節(jié)。本發(fā)明已經(jīng)實現(xiàn)了ARC并基于公共基準和私人數(shù)據(jù)集進行了證明,這都證實了ARC的高效性和魯棒性。
更具體而言,本發(fā)明提出的ARC估計最重要的部分以細化并丟棄其它不重要的部分以換來性能增益??刂凭群托阅苤g的平衡的權重比率被公開并且可調(diào)整,這為應用需求提供了更多的靈活性。本發(fā)明的實驗證明,與作為基準的完全細化相比,具有默認設置的ARC能達到3到6倍的顯著加速以及少于10%的精度損失。這證明了本發(fā)明的ARC設計的有效性和魯棒性。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件結合硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術方案對背景技術做出貢獻的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,智能手機或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
本發(fā)明說明書中使用的術語和措辭僅僅為了舉例說明,并不意味構成限定。本領域技術人員應當理解,在不脫離所公開的實施方式的基本原理的前提下,對上述實施方式中的各細節(jié)可進行各種變化。因此,本發(fā)明的范圍只由權利要求確定,在權利要求中,除非另有說明,所有的術語應按最寬泛合理的意思進行理解。