背景技術(shù):
三維(3d)掃描儀和深度相機的出現(xiàn)極大地簡化了幾何建模過程,并且使得人們能夠容易地從真實世界獲得3d形狀。與由藝術(shù)家人工創(chuàng)建的3d網(wǎng)格(mesh)不同的是,經(jīng)掃描的3d網(wǎng)格中的噪聲通常比較顯著。這里所說的“噪聲”是指3d網(wǎng)格在被掃描或攝取的過程中所受到的隨機信號干擾。造成這些噪聲的原因是多方面的,諸如有限的設(shè)備精度、真實世界物體的材料屬性、重建過程中的誤差,等等。實際上,在3d建模和處理的各個階段,都可能存在降低網(wǎng)格噪聲的需求。因此,從經(jīng)掃描的網(wǎng)格中去除噪聲成為3d幾何處理中的重要任務(wù)。
技術(shù)實現(xiàn)要素:
根據(jù)本文所描述主題的實現(xiàn),提出了一種基于數(shù)據(jù)驅(qū)動的網(wǎng)格降噪的方案。根據(jù)該方案,對于包括面片的網(wǎng)格,獲取網(wǎng)格中的第一面片的噪聲法向和真實法向。然后,基于噪聲法向,從網(wǎng)格中的第一面片的多個鄰近面片確定第一面片的第一幾何特征。接著,基于第一幾何特征和真實法向,確定第一幾何特征到第一面片的真實法向的映射,以用于對網(wǎng)格降噪。
提供發(fā)明內(nèi)容部分是為了以簡化的形式來介紹對概念的選擇,它們在下文的具體實現(xiàn)中將被進一步描述。發(fā)明內(nèi)容部分無意標識所要求保護的主題的關(guān)鍵特征或主要特征,也無意限制所要求保護的主題的范圍。
附圖說明
圖1示出了能夠在其中實施本文所描述主題的實現(xiàn)的環(huán)境100的 框圖;
圖2示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的方法200的流程圖;
圖3示出了根據(jù)本文所描述主題的實現(xiàn)的用于生成回歸樹的方法300的流程圖;以及
圖4示出了根據(jù)本文所描述主題的實現(xiàn)的用于生成級聯(lián)的回歸樹的方法400的流程圖;
圖5示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的方法500的流程圖;
圖6示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的裝置600的框圖;以及
圖7示出了其中可以實施本文所描述主題的一個或多個實現(xiàn)的示例計算系統(tǒng)/服務(wù)器700的框圖。
在附圖中,相同或相似的參考符號被用于指示相同或相似的元素。
具體實施例
現(xiàn)在將參照若干示例實現(xiàn)來論述本文所描述主題。應(yīng)當理解,論述了這些實現(xiàn)僅是為了使得本領(lǐng)域普通技術(shù)人員能夠更好地理解且因此實現(xiàn)本文所描述主題,而不是暗示對本主題的范圍的任何限制。
如本文中所使用的,術(shù)語“包括”及其變體要被解讀為意味著“包括但不限于”的開放式術(shù)語。術(shù)語“基于”要被解讀為“至少部分地基于”。術(shù)語“一個實現(xiàn)”和“一種實現(xiàn)”要被解讀為“至少一個實現(xiàn)”。術(shù)語“另一個實現(xiàn)”要被解讀為“至少一個其他實現(xiàn)”。術(shù)語“第一”、“第二”等等可以指代不同的或相同的對象。下文還可能包括其他明確的和隱含的定義。除非另外地明確指出,術(shù)語的定義貫穿說明書是一致的。
此外,如本文中所使用的,術(shù)語“網(wǎng)格(mesh)”指代3d幾何模型的一種表示方式??梢詫μ幱?d坐標系中的物體進行點采樣,這些采樣點可以按一定順序被連接成一系列的小平面(三角形或者共面 的四邊形、五邊形等),這些小平面也被稱為面片(facet)。這樣,經(jīng)采樣的物體可以由許多的面片組成,如同網(wǎng)一樣,因此被稱為網(wǎng)格。在本公開的上下文中,將主要結(jié)合網(wǎng)格來闡述本文所描述主題的實現(xiàn)的原理和思想。除了網(wǎng)格之外,3d幾何模型還可以用點云(pointcloud)來表示。點云是以離散采樣點為基元的幾何模型??梢岳萌魏文壳耙阎蛘邔黹_發(fā)的方法將點云重建為網(wǎng)格。例如,可以利用點云中若干鄰近的采樣點來構(gòu)造小平面(類似于網(wǎng)格中的面片)。因此,本文所描述主題的實現(xiàn)將同樣適用于點云。
如以上所描述的,從經(jīng)掃描的網(wǎng)格中去除噪聲是幾何處理中的重要任務(wù)。網(wǎng)格降噪的根本目標是要從物體的帶有噪聲的表面中恢復(fù)其真實(ground-truth)的表面?,F(xiàn)有的降噪算法大多數(shù)是基于濾波器的方法。例如,可以設(shè)計諸如雙邊濾波器的具體濾波器,并且應(yīng)用試錯法(trialanderror)來選擇濾波器的參數(shù)以達到令人滿意的降噪效果。然而,這整個過程是繁瑣的。此外,現(xiàn)有的降噪算法通常假設(shè)噪聲的統(tǒng)計特征。例如,假設(shè)噪聲是類高斯分布的(gaussian-like),這在真實數(shù)據(jù)中不一定是正確的。對于來自多種因素(諸如掃描設(shè)備、掃描環(huán)境、物體材料等)的噪聲而言,噪聲的特征是復(fù)雜的。因此,假設(shè)噪聲的統(tǒng)計特征的現(xiàn)有降噪算法不能夠有效地去除這些噪聲。
為了解決上述問題以及其他潛在問題中的一個或者多個,根據(jù)本文所描述主題的示例實現(xiàn),提出了一種用于對網(wǎng)格降噪的方案。如以上所描述的,網(wǎng)格可以由許多面片組成,每個面片可以具有垂直于該面片的直線(也被稱為“法線”),該直線的方向可以被稱為“法向(normal)”。因此,對網(wǎng)格降噪的過程可以包括將網(wǎng)絡(luò)中的一系列面片的帶有噪聲的法向(以下也稱為“噪聲法向”)恢復(fù)為對應(yīng)的真實法向(ground-truthnormal),以及基于這些真實法向來更新網(wǎng)格的頂點位置的過程。
圖1示出了能夠在其中實施本文所描述主題的實現(xiàn)的環(huán)境100的框圖。要理解的是,僅出于示例性的目的描述環(huán)境100的結(jié)構(gòu)和功能而不是暗示對于本文所描述主題的范圍的任何限制。本文所描述主題 可以被體現(xiàn)在不同的結(jié)構(gòu)和/或功能中。
如圖1所示,環(huán)境100總體上可以包括模型訓(xùn)練系統(tǒng)110和模型應(yīng)用系統(tǒng)120。根據(jù)本文所描述主題的實現(xiàn),對網(wǎng)格降噪的方案可以包括兩個階段:模型訓(xùn)練階段和模型應(yīng)用階段。
在模型訓(xùn)練階段中,模型訓(xùn)練系統(tǒng)110可以被配置為接收訓(xùn)練數(shù)據(jù)130,并且基于訓(xùn)練數(shù)據(jù)130來生成模型140。訓(xùn)練數(shù)據(jù)130可以是由網(wǎng)格中的一系列面片的噪聲法向和對應(yīng)的真實法向所組成的數(shù)據(jù)集合??梢酝ㄟ^模型訓(xùn)練系統(tǒng)110基于訓(xùn)練數(shù)據(jù)130來生成用于對網(wǎng)格降噪的模型140。模型140可以表示從面片的噪聲法向到真實法向的映射。
在模型應(yīng)用階段中,模型應(yīng)用系統(tǒng)120可以被配置為接收模型140和輸入數(shù)據(jù)150,并且基于模型140和輸入數(shù)據(jù)150來生成輸出數(shù)據(jù)160。輸入數(shù)據(jù)150可以表示網(wǎng)格的一組噪聲法向。模型應(yīng)用系統(tǒng)120可以利用模型140來將該組噪聲法向映射到對應(yīng)的一組真實法向,即輸出數(shù)據(jù)160?;谳敵鰯?shù)據(jù)160,可以更新網(wǎng)格的頂點位置,從而實現(xiàn)對網(wǎng)格的降噪。
圖2示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的方法200的流程圖。例如,方法200可以由如圖1所示的模型訓(xùn)練系統(tǒng)110來執(zhí)行。應(yīng)當理解的是,方法200還可以包括未示出的附加步驟和/或可以省略所示出的步驟。本文所描述主題的范圍在此方面不受限制。
方法200開始于步驟210。在步驟210中,由模型訓(xùn)練系統(tǒng)110獲取網(wǎng)格中的一個或多個面片的噪聲法向和真實法向。為了描述方便起見,將在此處理的面片稱為“第一面片”。第一面片的噪聲法向和真實法向可以構(gòu)成如圖1所示的訓(xùn)練數(shù)據(jù)130。例如,可以基于用戶輸入的方式來獲得訓(xùn)練數(shù)據(jù)130,也可以通過數(shù)據(jù)合成的方式來獲得訓(xùn)練數(shù)據(jù)130。此外,還可以從任何目前已知或?qū)黹_發(fā)的設(shè)備中獲得訓(xùn)練數(shù)據(jù)130。例如,可以利用較低精度的掃描設(shè)備來獲得第一面片的噪聲法向并且利用較高精度的掃描設(shè)備來獲得第一面片的真實法向。本文所描述主題的范圍在此方面不受限制。
接下來,方法200進行到步驟220。在步驟220中,由模型訓(xùn)練系統(tǒng)110基于噪聲法向,從網(wǎng)格中的第一面片的多個鄰近面片確定第一面片的第一幾何特征。在一些實現(xiàn)中,“鄰近面片”可以包括與第一面片共用頂點和/或邊的面片。在一些實現(xiàn)中,“鄰近面片”可以包括其幾何中心(centroid)與第一面片的幾何中心之間的距離小于預(yù)定閾值的面片。此外,在某些實現(xiàn)中,“鄰近面片”可以包括網(wǎng)格中的所有面片。在某些實現(xiàn)中,可以對第一面片與多個鄰近面片之間的法向變化和位置變化進行濾波,以生成表示第一幾何特征的特征向量。例如,可以基于濾波參數(shù)的影響范圍來選擇多個鄰近面片。
以3d三角網(wǎng)格(即,網(wǎng)格中的每個面片為三角面片)為例,網(wǎng)格可以被表示為m=(v,f),其中v={vi}表示頂點的集合并且f={fi}表示面片的集合。面片fi的幾何中心可以被表示為ci,并且面片fi的法向可以被表示為ni。
在一些實現(xiàn)中,可以對第一面片與多個鄰近面片之間的法向變化和位置變化進行雙邊濾波來生成表示第一幾何特征的特征向量。例如,雙邊濾波器(bilateralfilter)的第(k+1)次迭代可以被定義如下:
其中nj表示面片fj的初始噪聲法向。
其中
備選地或附加地,在一些實現(xiàn)中,為了應(yīng)對較高的噪聲水平,可以對第一面片與多個鄰近面片之間的法向變化和位置變化進行引導(dǎo)濾波來生成表示第一幾何特征的特征向量。引導(dǎo)濾波器(guidedfilter)也被稱為聯(lián)合雙邊濾波器(jointbilateralfilter)。由于引導(dǎo)濾波器向雙邊濾波器中引入可靠引導(dǎo)(guidance),因此對于高水平噪聲更魯棒。例如,引導(dǎo)濾波器可以被定義如下:
其中g(shù)(·)表示預(yù)定義的面片法向的引導(dǎo)。例如,在一個實施例中,可以使用高斯法向濾波器作為引導(dǎo),即
可以將公式(3)表示為
利用公式(4)來表示的si也可以被稱為經(jīng)引導(dǎo)濾波的法向描述符(guidedfilterednormaldescriptor,g-fnd)。針對具有較大誤差的網(wǎng)格而言,g-fnd在區(qū)別主要特征中比b-fnd更魯棒,而b-fnd對于較弱的特征比g-fnd更敏感。
應(yīng)當理解,除了上述的雙邊濾波器和引導(dǎo)濾波器之外,還可以利用其他魯棒的濾波器來生成表示第一幾何特征的特征向量。本文所描 述主題的范圍在此方面不受限制。
通過收集網(wǎng)格中的所有面片的法向描述符,可以獲得特征向量集合(表示為ω)。ω中的特征向量si包含一系列的經(jīng)濾波的面片法向。附加地或者備選地,可以對ω中的特征向量進行進一步的處理。例如,可以對ω中的單個特征向量si進行對齊。假設(shè)si包含d個經(jīng)濾波的法向:m1,m2,…,md??梢詷?gòu)建法向張量
接下來,方法200進行到步驟230。在步驟230中,由模型訓(xùn)練系統(tǒng)110基于第一幾何特征和真實法向,確定第一幾何特征到第一面片的真實法向的映射,以用于對網(wǎng)格降噪。
在一些實現(xiàn)中,可以利用回歸分析(regressionanalysis)來確定第一幾何特征到第一面片的真實法向的映射。回歸分析是用于確定兩種或兩種以上變量間的依賴關(guān)系的一種方法。例如,回歸分析可以通過規(guī)定面片的幾何特征和真實法向之間的因果關(guān)系來建立回歸模型,并且根據(jù)訓(xùn)練數(shù)據(jù)來求解模型的各個參數(shù),然后評價回歸模型是否能夠很好地擬合訓(xùn)練數(shù)據(jù)。
作為示例,在一些實現(xiàn)中,可以通過生成表示該映射的回歸樹來確定第一幾何特征到第一面片的真實法向的映射。在此方面,圖3示出了根據(jù)本文所描述主題的實現(xiàn)的用于生成回歸樹的方法300的流程圖。方法300可以視為方法200中的步驟230的一種實現(xiàn),并且例如可以由如圖1所示的模型訓(xùn)練系統(tǒng)110來執(zhí)行。
在步驟310,在回歸樹的每個節(jié)點處,利用與該節(jié)點相關(guān)聯(lián)的訓(xùn) 練數(shù)據(jù)集來訓(xùn)練第一回歸模型。例如,在回歸樹的根節(jié)點處,訓(xùn)練數(shù)據(jù)集可以包括網(wǎng)格中的多個面片中的每個面片的第一幾何特征和真實法向。根節(jié)點處的訓(xùn)練數(shù)據(jù)集可以被表示為
例如,在某些實施例中,可以選擇單隱層前饋神經(jīng)網(wǎng)絡(luò)(single-hiddenlayerfeedforwardnetwork,slfn)模型來作為回歸模型,并且可以基于極限學(xué)習(xí)機(extremelearningmachine,elm)技術(shù)來訓(xùn)練該回歸模型。elm的本質(zhì)在于隱藏層的權(quán)重可以被隨機生成而無須調(diào)整。針對具有n個樣本的訓(xùn)練數(shù)據(jù)集,具有l(wèi)個隱藏節(jié)點的elm可以利用如下的公式(5)來表示:
其中i=1,…,n。
其中aj和bj為分別從間隔[-1,1]m和[0,1]隨機選擇的隱藏節(jié)點權(quán)重,m是向量si的維數(shù)。輸出權(quán)重向量
可以利用如下的公式(8)來表示回歸的成本函數(shù):
例如,可以將公式(7)和公式(8)中的范數(shù)p設(shè)置為1,從而通過將
其中l(wèi)表示迭代次數(shù)。一旦輸出權(quán)重已知,則elm可以預(yù)測去除噪聲的面片法向。
在某些實施例中,可以在回歸樹的每個節(jié)點處,基于elm技術(shù)來訓(xùn)練第一回歸模型,第一回歸模型的擬合誤差例如可以根據(jù)上述公式(8)被計算為e0。
在步驟320,從訓(xùn)練數(shù)據(jù)集獲得多個訓(xùn)練數(shù)據(jù)子集。例如,如上所述,可以利用pca將訓(xùn)練數(shù)據(jù)集劃分為多個簇。當然,任何其他適當?shù)募夹g(shù)或算法均可與在此描述的主題的實施例結(jié)合使用,用于將訓(xùn)練數(shù)據(jù)集劃分為多個簇。例如,目前已知或者將來開發(fā)的聚類方法可被使用。
在步驟330,利用多個訓(xùn)練數(shù)據(jù)子集來訓(xùn)練多個第二回歸模型。例如,可以針對多個訓(xùn)練數(shù)據(jù)子集基于神經(jīng)網(wǎng)絡(luò)技術(shù)來訓(xùn)練多個第二回歸模型。訓(xùn)練第二回歸模型的方式與以上在步驟310中所描述的訓(xùn)練第一回歸模型的方式相同,此處不再作進一步的詳細描述。
接下來,方法300進行至步驟340。在步驟340,響應(yīng)于多個第二回歸模型的擬合誤差之和小于預(yù)定誤差閾值,生成節(jié)點的多個子節(jié)點。例如,如果多個第二回歸模型的擬合誤差之和小于e0的2%,則可以生成節(jié)點的多個子節(jié)點。每個子節(jié)點與一個訓(xùn)練數(shù)據(jù)子集相關(guān)聯(lián)。
接下來,在步驟350中,確定回歸樹的葉節(jié)點(即,不具有子節(jié)點的節(jié)點)數(shù)目是否達到預(yù)定閾值。例如,預(yù)定閾值可以被設(shè)置為8。當回歸樹的葉節(jié)點數(shù)目大于或等于8時,該回歸樹停止生長(即,方法300結(jié)束);當回歸樹的葉節(jié)點數(shù)目小于8時,迭代地執(zhí)行方法300的步驟310至350,直到回歸樹的葉節(jié)點數(shù)目達到8。
應(yīng)當理解,除了上述的slfn模型之外,還可以利用其他模型作為回歸模型。本文所描述主題的范圍在此方面不受限制。
在一些實現(xiàn)中,可以通過生成級聯(lián)的回歸樹來確定第一幾何特征到第一面片的真實法向的映射。通過多個回歸樹的級聯(lián),能夠?qū)崿F(xiàn)更 小的擬合誤差(即,更低的成本函數(shù)值)。在此方面,圖4示出了根據(jù)本文所描述主題的實現(xiàn)的用于生成級聯(lián)的回歸樹的方法400的流程圖。方法400可以視為方法200中的步驟230的一種實現(xiàn),并且例如可以由如圖1所示的模型訓(xùn)練系統(tǒng)110來執(zhí)行。
在步驟410,基于第一幾何特征和真實法向,生成表示映射的第一回歸樹,第一回歸樹將第一幾何特征映射到表示第一面片的真實法向的第一法向。例如,可以利用結(jié)合圖3來描述的方法300來生成第一回歸樹。
在步驟420,基于第一法向,確定第一面片的第二幾何特征。例如,可以利用與結(jié)合圖2來描述的方法200的步驟220相同的方式來確定表示第一面片的第二幾何特征的特征向量。
接下來,方法400進行至步驟430。在步驟430,基于第二幾何特征和真實法向,生成與第一回歸樹級聯(lián)的第二回歸樹。例如,可以利用結(jié)合圖3來描述的方法300來生成第二回歸樹。例如,第二回歸樹可以將第二幾何特征映射到表示第一面片的真實法向的第二法向,并且第二法向與真實法向之間的誤差小于第一法向與真實法向之間的誤差。
應(yīng)當理解,為了進一步降低擬合誤差,還可以進一步生成與第二回歸樹級聯(lián)的第三回歸樹、與第三回歸樹級聯(lián)的第四回歸樹等等。所生成的經(jīng)級聯(lián)的回歸樹的數(shù)目例如可以由預(yù)定的擬合誤差的閾值來決定,本文所描述主題的范圍在此方面不受限制。此外,為了處理具有較大誤差的訓(xùn)練數(shù)據(jù)集,例如,可以使用g-fnd來訓(xùn)練第一回歸樹,以使得第一回歸樹的輸出具有較小誤差。然后,可以基于第一回歸樹的輸出來提取b-fnd。由于b-fnd對于網(wǎng)格的尖銳特征更敏感,因此可以使用b-fnd來訓(xùn)練與第一回歸樹級聯(lián)的第二回歸樹。
因此,通過以上結(jié)合圖2至圖4所描述的方法200、300和/或400,在模型訓(xùn)練階段中,模型訓(xùn)練系統(tǒng)110已經(jīng)基于訓(xùn)練數(shù)據(jù)130生成了模型140(例如,通過單個回歸樹或者級聯(lián)的多個回歸樹表示)。在模型應(yīng)用階段中,模型應(yīng)用系統(tǒng)120可以利用所生成的模型140來將表 示網(wǎng)格的一組噪聲法向的輸入數(shù)據(jù)150映射到表示對應(yīng)的一組真實法向的輸出數(shù)據(jù)160。
圖5示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的方法500的流程圖。例如,方法500可以由如圖1所示的模型應(yīng)用系統(tǒng)120來執(zhí)行。應(yīng)當理解的是,方法500還可以包括未示出的附加步驟和/或可以省略所示出的步驟。本文所描述主題的范圍在此方面不受限制。
在步驟510,由模型應(yīng)用系統(tǒng)120獲取網(wǎng)格中的一個或多個面片的噪聲法向。為了描述方便起見,將在此處理的面片稱為“第二面片”。第二面片的噪聲法向可以組成如圖1所示的輸入數(shù)據(jù)150。
接下來,方法500進行至步驟520。在步驟520,基于第二面片的噪聲法向,從網(wǎng)格中的第二面片的多個鄰近面片確定第二面片的第三幾何特征。例如,可以利用與結(jié)合圖2來描述的方法200的步驟220相同的方式來確定表示第二面片的第三幾何特征的特征向量,此處不再作進一步的詳細描述。
然后,在步驟530,基于第三幾何特征和映射,確定第二面片的真實法向。第二面片的真實法向可以組成如圖1所示的輸出數(shù)據(jù)160。如上所述,例如,面片的幾何特征到真實法向的映射可以由單個回歸樹來表示。在該示例中,可以基于回歸樹的中間節(jié)點(即,具有子節(jié)點的節(jié)點)來確定表示第二面片的第三幾何特征的特征向量被分支的路徑。當表示第二面片的第三幾何特征的特征向量到達該回歸樹的葉節(jié)點時,可以基于葉節(jié)點所對應(yīng)的回歸模型(即,公式(5))來確定第二面片的真實法向。
在一些實現(xiàn)中,面片的幾何特征到真實法向的映射可以由級聯(lián)的多個回歸樹來表示。例如,假設(shè)面片的幾何特征到真實法向的映射由級聯(lián)的第一回歸樹和第二回歸樹來表示。在該示例中,可以如上所述來執(zhí)行方法500,以基于第二面片的噪聲法向和第一回歸樹來確定的第二面片的第三法向。然后,可以重復(fù)地執(zhí)行方法500,以基于第二面片的第三法向和第二回歸樹來確定第二面片的真實法向。例如,可以獲取第二面片的第三法向(510)。然后,可以基于第二面片的第 三法向確定第二面片的第四幾何特征(520)。最后,可以基于第四幾何特征和第二回歸樹來確定第二面片的真實法向(530)。
附加地或者備選地,在獲得網(wǎng)格中的面片的真實法向之后,可以利用這些真實法向來更新網(wǎng)格的頂點位置。例如,可以通過求解如以下的公式(10)表示的非線性最小化問題來獲得經(jīng)更新的頂點位置:
其中v表示頂點的集合,
圖6示出了根據(jù)本文所描述主題的實現(xiàn)的用于對網(wǎng)格降噪的裝置600的框圖。模型訓(xùn)練系統(tǒng)110、模型應(yīng)用系統(tǒng)120或者兩者可以由裝置600實現(xiàn)。如圖6所示,裝置600可以包括訓(xùn)練數(shù)據(jù)獲取模塊610,被配置為獲取網(wǎng)格中的第一面片的噪聲法向和真實法向。裝置600還可以包括第一幾何特征確定模塊620,被配置為基于噪聲法向,從網(wǎng)格中的第一面片的多個鄰近面片確定第一面片的第一幾何特征。此外,裝置600還可以包括映射確定模塊630,被配置為基于第一幾何特征和真實法向,確定第一幾何特征到第一面片的真實法向的映射,以用于對網(wǎng)格降噪。
附加地或者備選地,裝置600還可以包括輸入數(shù)據(jù)獲取模塊,被配置為獲取網(wǎng)格中的第二面片的噪聲法向。裝置600還可以包括第三幾何特征確定模塊,被配置為基于第二面片的噪聲法向,從網(wǎng)格中的第二面片的多個鄰近面片確定第二面片的第三幾何特征。此外,裝置600還可以包括輸出數(shù)據(jù)確定模塊,被配置為基于第三幾何特征和映射,確定第二面片的真實法向。
出于清楚的目的,在圖6中沒有示出裝置600的某些可選模塊。然而,應(yīng)當理解,上文參考圖1-5所描述的各個特征同樣適用于裝置600。而且,裝置600的各個模塊可以是硬件模塊,也可以是軟件模塊。例如,在某些實施例中,裝置600可以部分或者全部利用軟件和/或固件來實現(xiàn),例如被實現(xiàn)為包含在計算機可讀介質(zhì)上的計算機程序產(chǎn)品。備選地或附加地,裝置600可以部分或者全部基于硬件來實現(xiàn), 例如被實現(xiàn)為集成電路(ic)、專用集成電路(asic)、片上系統(tǒng)(soc)、現(xiàn)場可編程門陣列(fpga)等。本公開的范圍在此方面不受限制。
圖7示出了其中可以實施本文所描述主題的一個或多個實現(xiàn)的示例計算系統(tǒng)/服務(wù)器700的框圖。模型訓(xùn)練系統(tǒng)110、模型應(yīng)用系統(tǒng)120或者兩者可以由計算系統(tǒng)/服務(wù)器700實現(xiàn)。圖7示出的計算系統(tǒng)/服務(wù)器700僅是示例,其不應(yīng)當構(gòu)成對本文所描述的實現(xiàn)的使用的功能和范圍的限制。
如圖7所示,計算系統(tǒng)/服務(wù)器700是通用計算設(shè)備的形式。計算系統(tǒng)/服務(wù)器700的組件可以包括但不限于一個或多個處理器或處理單元700,存儲器720,一個或多個輸入設(shè)備730,一個或多個輸出設(shè)備740,存儲裝置750,和一個或多個通信單元760。處理單元700可以是實際或虛擬處理器并且能夠根據(jù)存儲器720中存儲的持續(xù)來執(zhí)行各種處理。在多處理系統(tǒng)中,多處理單元執(zhí)行計算機可執(zhí)行指令,以增加處理能力。
計算系統(tǒng)/服務(wù)器700通常包括多個計算機介質(zhì)。這樣的介質(zhì)可以是計算系統(tǒng)/服務(wù)器700可訪問的任何可以獲得的介質(zhì),包括但不限于易失性和非易失性介質(zhì)、可拆卸和不可拆卸介質(zhì)。存儲器720可以是易失性存儲器(例如寄存器、高速緩存、隨機訪問存儲器(ram))、非非易失性存儲器(例如,只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、閃存)或它們的某種組合。存儲裝置750可以是可拆卸或不可拆卸,并且可以包括機器可讀介質(zhì),諸如閃存驅(qū)動、磁盤或者任何其他介質(zhì),其可以能夠用于存儲信息并且可以在計算系統(tǒng)/服務(wù)器700內(nèi)被訪問。
計算系統(tǒng)/服務(wù)器700可以進一步包括另外的可拆卸/不可拆卸、易失性/非易失性計算機系統(tǒng)存儲介質(zhì)。盡管未在圖7中示出,可以提供用于從可拆卸、非易失性磁盤(例如“軟盤”)進行讀取或?qū)懭氲拇疟P驅(qū)動和用于從可拆卸、非易失性光盤進行讀取或?qū)懭氲墓獗P驅(qū)動。在這些情況中,每個驅(qū)動可以由一個或多個數(shù)據(jù)介質(zhì)接口被連接至總線。存儲器720可以包括至少一個程序產(chǎn)品,具有(例如至少一個) 程序模塊集合,這些程序模塊被配置為執(zhí)行本文所描述的各種實現(xiàn)的功能。
具有(例如至少一個)程序模塊724的集合的程序/實用程序工具722可以被存儲在例如存儲器720中。這樣的程序模塊724可以包括但不限于操作系統(tǒng)、一個或多個應(yīng)用程序、其他程序模塊和操作數(shù)據(jù)。這些示例中的每個示例或特定組合可以包括聯(lián)網(wǎng)環(huán)境的實現(xiàn)。程序模塊724通常執(zhí)行本文所描述主題的實現(xiàn)的功能和/或方法,例如方法200、300、400和/或方法500。
輸入單元730可以是一個或多個各種輸入設(shè)備。例如,輸入單元739可以包括用戶設(shè)備、諸如鼠標、鍵盤、追蹤球等。通信單元760實現(xiàn)在通信介質(zhì)上向另外的計算實體進行通信。附加地,計算系統(tǒng)/服務(wù)器600的組件的功能可以以單個計算集群或多個計算機器來實現(xiàn),這些計算機器能夠通過通信連接來通信。因此,計算系統(tǒng)/服務(wù)器700可以使用與一個或多個其他服務(wù)器、網(wǎng)絡(luò)個人計算機(pc)或者另一個一般網(wǎng)絡(luò)節(jié)點的邏輯連接來在聯(lián)網(wǎng)環(huán)境中進行操作。例如但不限于,通信介質(zhì)包括有線或無線聯(lián)網(wǎng)技術(shù)。
計算系統(tǒng)/服務(wù)器700還可以根據(jù)需要與一個或多個外部設(shè)備(未示出)進行通信,外部設(shè)備諸如存儲設(shè)備、顯示設(shè)備等等,與一個或多個使得用戶與計算系統(tǒng)/服務(wù)器700交互的設(shè)備進行通信,或者與使得計算系統(tǒng)/服務(wù)器700與一個或多個其他計算設(shè)備通信的任何設(shè)備(例如,網(wǎng)卡、調(diào)制解調(diào)器等)進行通信。這樣的通信可以經(jīng)由輸入/輸出(i/o)接口(未示出)來執(zhí)行。
通過以上描述,將會理解,本文所描述主題的實現(xiàn)無須對噪聲的統(tǒng)計特征做出任何假設(shè),而是從經(jīng)掃描的噪聲數(shù)據(jù)及其對應(yīng)的真實數(shù)據(jù)所組成的訓(xùn)練數(shù)據(jù)中學(xué)習(xí)如何將噪聲數(shù)據(jù)映射到其對應(yīng)的真實數(shù)據(jù)。因此,本文所描述主題的實現(xiàn)能夠針對任何3d掃描儀并且能夠容易去除未知的噪聲。在本文所描述主題的實現(xiàn)中所提出的被稱為經(jīng)濾波的法向描述符的特征向量對于各種噪聲是魯棒的。在本文所描述主題的實現(xiàn)中所提出的通過訓(xùn)練級聯(lián)的回歸樹來確定噪聲法向到真 實法向的映射過程是快速的,并且所產(chǎn)生的回歸模型能夠有效去除數(shù)據(jù)中的噪聲。
本文中所描述的功能可以至少部分地由一個或多個硬件邏輯組件來執(zhí)行。例如但不限于,可以使用的硬件邏輯組件的示意性類型包括現(xiàn)場可編程門陣列(fpga)、專用集成電路(asic)、專用標準產(chǎn)品(assp)、片上系統(tǒng)(soc)、復(fù)雜可編程邏輯器件(cpld)等。
用于實施本文所描述主題的方法的程序代碼可以采用一個或多個編程語言的任何組合來編寫。這些程序代碼可以提供給通用計算機、專用計算機或其他可編程數(shù)據(jù)處理裝置的處理器或控制器,使得程序代碼當由處理器或控制器執(zhí)行時使流程圖和/或框圖中所規(guī)定的功能/操作被實施。程序代碼可以完全在機器上執(zhí)行、部分地在機器上執(zhí)行,作為獨立軟件包部分地在機器上執(zhí)行且部分地在遠程機器上執(zhí)行或完全在遠程機器或服務(wù)器上執(zhí)行。
在本公開內(nèi)容的上下文中,機器可讀介質(zhì)可以是有形的介質(zhì),其可以包含或存儲以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合地使用的程序。機器可讀介質(zhì)可以是機器可讀信號介質(zhì)或機器可讀儲存介質(zhì)。機器可讀介質(zhì)可以包括但不限于電子的、磁性的、光學(xué)的、電磁的、紅外的、或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或者上述內(nèi)容的任何合適組合。機器可讀存儲介質(zhì)的更具體示例會包括基于一個或多個線的電氣連接、便攜式計算機盤、硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦除可編程只讀存儲器(eprom或快閃存儲器)、光纖、便捷式緊湊盤只讀存儲器(cd-rom)、光學(xué)儲存設(shè)備、磁儲存設(shè)備、或上述內(nèi)容的任何合適組合。
此外,雖然采用特定次序描繪了各操作,但是這應(yīng)當理解為要求這樣操作以所示出的特定次序或以順序次序執(zhí)行,或者要求所有圖示的操作應(yīng)被執(zhí)行以取得期望的結(jié)果。在一定環(huán)境下,多任務(wù)和并行處理可能是有利的。同樣地,雖然在上面論述中包含了若干具體實現(xiàn)細節(jié),但是這些不應(yīng)當被解釋為對本文所描述主題的范圍的限制。在單 獨的實現(xiàn)的上下文中描述的某些特征還可以組合地實現(xiàn)在單個實現(xiàn)中。相反地,在單個實現(xiàn)的上下文中描述的各種特征也可以單獨地或以任何合適的子組合的方式實現(xiàn)在多個實現(xiàn)中。
以下列出了本文所描述主題的一些示例實現(xiàn)。
在第一方面中,提供了一種電子設(shè)備。該設(shè)備包括至少一個處理單元和至少一個存儲器。至少一個存儲器被耦合到至少一個處理單元并且存儲用于由該至少一個處理單元執(zhí)行的指令。該指令當由至少一個處理單元執(zhí)行時,使得該設(shè)備:獲取網(wǎng)格中的第一面片的噪聲法向和真實法向;基于噪聲法向,從網(wǎng)格中的第一面片的多個鄰近面片確定第一面片的第一幾何特征;以及基于第一幾何特征和真實法向,確定第一幾何特征到第一面片的真實法向的映射,以用于對網(wǎng)格降噪。
在一些實現(xiàn)中,確定第一幾何特征包括:利用濾波器對第一面片與多個鄰近面片之間的法向變化和位置變化進行濾波,以生成表示第一幾何特征的特征向量。
在一些實現(xiàn)中,濾波器包括雙邊濾波器。
在一些實現(xiàn)中,濾波器包括引導(dǎo)濾波器。
在一些實現(xiàn)中,確定映射包括:基于第一幾何特征和真實法向,利用回歸分析來確定映射。
在一些實現(xiàn)中,利用回歸分析來確定映射包括:基于第一幾何特征和真實法向,生成表示映射的第一回歸樹,第一回歸樹將第一幾何特征映射到表示真實法向的第一法向。
在一些實現(xiàn)中,生成第一回歸樹包括迭代地執(zhí)行以下操作至少一次,直到第一回歸樹的葉節(jié)點數(shù)目達到預(yù)定閾值:在第一回歸樹的每個節(jié)點處,利用與該節(jié)點相關(guān)聯(lián)的訓(xùn)練數(shù)據(jù)集來訓(xùn)練第一回歸模型,訓(xùn)練數(shù)據(jù)集包括網(wǎng)格中的多個面片中每個面片的第一幾何特征和真實法向;從訓(xùn)練數(shù)據(jù)集獲得多個訓(xùn)練數(shù)據(jù)子集;利用多個訓(xùn)練數(shù)據(jù)子集來訓(xùn)練多個第二回歸模型;以及響應(yīng)于多個第二回歸模型的擬合誤差之和小于預(yù)定誤差閾值,生成該節(jié)點的多個子節(jié)點。
在一些實現(xiàn)中,利用回歸分析來確定映射還包括:基于第一法向, 確定第一面片的第二幾何特征;以及基于第二幾何特征和真實法向,生成與第一回歸樹級聯(lián)的第二回歸樹,第二回歸樹將第二幾何特征映射到表示真實法向的第二法向,第二法向與真實法向之間的誤差小于第一法向與真實法向之間的誤差。
在一些實現(xiàn)中,該指令當由至少一個處理單元執(zhí)行時,還使得該設(shè)備:獲取網(wǎng)格中的第二面片的噪聲法向;基于第二面片的噪聲法向,從網(wǎng)格中的第二面片的多個鄰近面片確定第二面片的第三幾何特征;以及基于第三幾何特征和映射,確定第二面片的真實法向。
在第二方面中,提供了一種對包括面片的網(wǎng)格降噪的方法。該方法包括:獲取網(wǎng)格中的第一面片的噪聲法向和真實法向;基于噪聲法向,從網(wǎng)格中的第一面片的多個鄰近面片確定第一面片的第一幾何特征;以及基于第一幾何特征和真實法向,確定第一幾何特征到第一面片的真實法向的映射,以用于對網(wǎng)格降噪。
在一些實現(xiàn)中,確定第一幾何特征包括:對第一面片與多個鄰近面片之間的法向變化和位置變化進行濾波,以生成表示第一幾何特征的特征向量。
在一些實現(xiàn)中,濾波包括:對第一面片與多個鄰近面片之間的法向變化和位置變化進行雙邊濾波。
在一些實現(xiàn)中,濾波包括:對第一面片與多個鄰近面片之間的法向變化和位置變化進行引導(dǎo)濾波。
在一些實現(xiàn)中,確定映射包括:基于第一幾何特征和真實法向,利用回歸分析來確定映射。
在一些實現(xiàn)中,利用回歸分析來確定映射包括:基于第一幾何特征和真實法向,生成表示映射的第一回歸樹,第一回歸樹將第一幾何特征映射到表示真實法向的第一法向。
在一些實現(xiàn)中,生成第一回歸樹包括迭代地執(zhí)行以下操作至少一次,直到第一回歸樹的葉節(jié)點數(shù)目達到預(yù)定閾值:在第一回歸樹的每個節(jié)點處,利用與該節(jié)點相關(guān)聯(lián)的訓(xùn)練數(shù)據(jù)集來訓(xùn)練第一回歸模型,訓(xùn)練數(shù)據(jù)集包括網(wǎng)格中的多個面片中每個面片的第一幾何特征和真 實法向;從訓(xùn)練數(shù)據(jù)集獲得多個訓(xùn)練數(shù)據(jù)子集;利用多個訓(xùn)練數(shù)據(jù)子集來訓(xùn)練多個第二回歸模型;以及響應(yīng)于多個第二回歸模型的擬合誤差之和小于預(yù)定誤差閾值,生成該節(jié)點的多個子節(jié)點。
在一些實現(xiàn)中,利用回歸分析來確定映射還包括:基于第一法向,確定第一面片的第二幾何特征;以及基于第二幾何特征和真實法向,生成與第一回歸樹級聯(lián)的第二回歸樹,第二回歸樹將第二幾何特征映射到表示真實法向的第二法向,第二法向與真實法向之間的誤差小于第一法向與真實法向之間的誤差。
在一些實現(xiàn)中,該方法還包括:獲取網(wǎng)格中的第二面片的噪聲法向;基于第二面片的噪聲法向,從網(wǎng)格中的第二面片的多個鄰近面片確定第二面片的第三幾何特征;以及基于第三幾何特征和映射,確定第二面片的真實法向。
在第三方面中,提供了一種計算機可讀存儲介質(zhì)。該計算機可讀存儲介質(zhì)具有存儲在其上的計算機可讀程序指令。計算機可讀程序指令用于執(zhí)行根據(jù)第一方面所述的方法的步驟。
盡管已經(jīng)采用特定于結(jié)構(gòu)特征和/或方法邏輯動作的語言描述了本主題,但是應(yīng)當理解所附權(quán)利要求書中所限定的主題未必局限于上面描述的特定特征或動作。相反,上面所描述的特定特征和動作僅僅是實現(xiàn)權(quán)利要求書的示例形式。