三維模型的變化方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種三維模型的變換方法和裝置,其中,該方法包括:將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行比較,確定模型變換參數(shù),其中,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式;根據(jù)模型變換參數(shù),對需要變換的原三維模型進行變換。本發(fā)明通過與參考模型的比較來確定原三維模型的變換方式,進而對原三維模型進行變換,能夠有效克服原三維模型與目標(biāo)三維模型因為差異導(dǎo)致難以建模的問題,并且能夠避免重新進行建模和重復(fù)計算,也就避免了因此導(dǎo)致的建模精度和成本等問題,并且具有較高的靈活性和操作效率,能夠有效適應(yīng)不斷變化的需求。
【專利說明】三維模型的變化方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像處理領(lǐng)域,并且特別地,涉及一種三維模型的變換方法和裝置。
【背景技術(shù)】
[0002]隨著科技的日益進步,圖形、圖像處理技術(shù)也在不斷發(fā)展。三維模型構(gòu)造技術(shù)是圖形、圖像處理技術(shù)中的一項關(guān)鍵技術(shù),在人類頭部的識別和構(gòu)建虛擬對象的空間立體模型等多個領(lǐng)域中都起到了關(guān)鍵的作用。
[0003]目前,對于三維模型構(gòu)造,采用的方法主要包括以下三種:
[0004]第一種方式是利用三維軟件建模。目前,市場上存在多種建模軟件,其共同特點是利用一些基本的幾何元素(如立方體、球體等),借助一系列幾何操作(如平移、旋轉(zhuǎn)、拉伸以及布爾運算等)來構(gòu)建復(fù)雜的幾何場景。這種方式雖然能夠達到構(gòu)建模型這一基本目的,但是,這種方式的缺點也非常明顯,即,如果模型在幾何與紋理上的復(fù)雜度較高,模型設(shè)計人員就需要進行大量的人工操作才能夠建模,需要花費很多時間;
[0005]第二種方式是通過儀器設(shè)備測量建模。這種方式主要利用三維掃描儀快速地獲得物體表面每個采樣點的三維空間坐標(biāo)與紋理,并直接輸出為可供計算機處理的三維模型。這種方式雖然能夠避免操作人員執(zhí)行大量的人工操作,但是這種方式只適合針對實際存在的真實物體進行建模,而無法滿足各種創(chuàng)意產(chǎn)業(yè)中對虛構(gòu)物體三維建模的需求;另外,精度較高的三維掃描儀的售價不菲,而較廉價的設(shè)備則精度受限,因此,這種方式難以兼顧建模的精度和成本;
[0006]第三種方式是利用圖像或者視頻進行建模。這種方式的主要目的是由二維圖像恢復(fù)物體的三維幾何結(jié)構(gòu)與紋理信息,其優(yōu)點在于成本低廉且自動化程度高,但是,通過這種方式構(gòu)造的模型精度不高,且通常只適用于具有明顯幾何特征或紋理特點的物體,對于不規(guī)則形狀的物體難以有效建模。
[0007]目前,隨著電子產(chǎn)品的不斷普及,越來越多的用戶希望能夠在使用電子產(chǎn)品的過程中加入自定義內(nèi)容。例如,用戶可能會希望三維電影或游戲中的三維人物模型具有用戶自己的特征,也可能希望電影或游戲中的車輛等多種物件具有用戶自己所實際擁有物件的特征。由于用戶對模型的自定義需求種類繁多,必然會導(dǎo)致需要建模的對象具有很強的不確定性,所以上述的多種方案顯然不能夠滿足用戶的自定義化需求。
【發(fā)明內(nèi)容】
[0008]針對相關(guān)技術(shù)中的問題,本發(fā)明提出一種三維模型的變換方法和裝置,能夠?qū)σ延心P瓦M行變換,使變換后的模型有效體現(xiàn)用戶希望加入的自定義特征,有效避免了重新建模導(dǎo)致的多種問題,滿足了用戶的自定義化需求。
[0009]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的實施例,提供了一種三維模型的變換方法。
[0010]根據(jù)本發(fā)明的三維模型的變換方法包括:
[0011]將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行比較,確定模型變換參數(shù),其中,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式;根據(jù)模型變換參數(shù),對需要變換的原三維模型進行變換。
[0012]根據(jù)本發(fā)明的另一實施例,提供了一種三維模型的變換裝置。
[0013]根據(jù)本發(fā)明的三維模型的變換裝置包括:對齊模塊,用于將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行對齊,確定模型變換參數(shù),其中,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式;變換模塊,用于根據(jù)模型變換參數(shù),對需要變換的原三維模型進行變換。
[0014]本發(fā)明通過與參考模型的比較來確定原三維模型的變換方式,進而對原三維模型進行變換,能夠有效克服原三維模型與目標(biāo)三維模型因為差異導(dǎo)致難以建模的問題,并且能夠避免重新進行建模和重復(fù)計算,也就避免了因此導(dǎo)致的建模精度和成本等問題,并且具有較高的靈活性和操作效率,能夠有效適應(yīng)不斷變化的需求。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是根據(jù)本發(fā)明實施例的三維模型的變換方法的流程圖;
[0017]圖2是根據(jù)本發(fā)明實施例的三維模型的變換方法的具體處理實例的流程圖;
[0018]圖3是根據(jù)本發(fā)明實施例的三維模型的變換裝置的框圖;
[0019]圖4是能夠?qū)崿F(xiàn)根據(jù)本發(fā)明的技術(shù)方案的計算機的結(jié)構(gòu)框圖。
【具體實施方式】
[0020]在下文中將結(jié)合附圖對本發(fā)明的示范性實施例進行描述。為了清楚和簡明起見,在說明書中并未描述實際實施方式的所有特征。然而,應(yīng)該了解,在開發(fā)任何這種實際實施例的過程中必須做出很多特定于實施方式的決定,以便實現(xiàn)開發(fā)人員的具體目標(biāo),例如,符合與系統(tǒng)及業(yè)務(wù)相關(guān)的那些限制條件,并且這些限制條件可能會隨著實施方式的不同而有所改變。此外,還應(yīng)該了解,雖然開發(fā)工作有可能是非常復(fù)雜和費時的,但對得益于本公開內(nèi)容的本領(lǐng)域技術(shù)人員來說,這種開發(fā)工作僅僅是例行的任務(wù)。
[0021]在此,還需要說明的一點是,為了避免因不必要的細節(jié)而模糊了本發(fā)明,在附圖中僅僅示出了與根據(jù)本發(fā)明的方案密切相關(guān)的裝置結(jié)構(gòu)和/或處理步驟,而省略了與本發(fā)明關(guān)系不大的其他細節(jié)。
[0022]根據(jù)本發(fā)明的實施例,提供了一種三維模型的變換方法。
[0023]如圖1所示,根據(jù)本發(fā)明實施例的三維模型的變換方法包括:
[0024]步驟S101,將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行比較(也可以稱為對齊),確定模型變換參數(shù),其中,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式;
[0025]步驟S103,根據(jù)模型變換參數(shù),對需要變換的原三維模型進行變換。
[0026]在實際應(yīng)用中,目標(biāo)對象的目標(biāo)三維模型可以具有用戶期望的自定義特征,例如,目標(biāo)三維模型可以是用戶的頭部三維模型、用戶的全身模型、車輛模型、或其他物體的模型等。目標(biāo)三維模型可以通過建模設(shè)備得到,也可以是預(yù)先已經(jīng)存在、之后由用戶自行選擇的已有模型。并且,目標(biāo)三維模型可以是對目標(biāo)對象整體或部分采集得到的三維模型,也可以是目標(biāo)對象的三維模型的一部分。
[0027]另外,目標(biāo)對象的目標(biāo)三維模型可以根據(jù)單個目標(biāo)對象采集得到,也可以對多個目標(biāo)對象采集得到。在一個實施例中,當(dāng)對多個目標(biāo)對象采集得到目標(biāo)對象的目標(biāo)三維模型時,目標(biāo)三維模型的部分或全部區(qū)域可以具有綜合所有目標(biāo)對象的特征。在另一實施例中,目標(biāo)三維模型的一部分區(qū)域可以具有一個或多個目標(biāo)對象的特征,而另一部分區(qū)域可以具有其他一個或部分目標(biāo)對象的特征??蛇x地,具有哪個目標(biāo)對象的哪些特征可以由用戶選擇確定。
[0028]此外,可選地,原三維模型可以是用戶希望在其中加入自定義特征的模型,例如,可以是某段視頻、電影、游戲中的人物、或物件的模型。當(dāng)用戶通過對原三維模型進行變換之后,變換后的原三維模型將具有用戶希望加入的自定義特征。
[0029]在本發(fā)明的一個實施例中,為了便于處理并保證最終三維模型變換的效果,可選地,上述原三維模型的三維拓撲結(jié)構(gòu)與參考三維模型的三維拓撲結(jié)構(gòu)可以相同也可以近似(即,原三維模型與參考三維模型的拓撲結(jié)構(gòu)相符)。例如,原三維模型具有若干內(nèi)部空洞,參考三維模型應(yīng)當(dāng)也具有類似的結(jié)構(gòu)。可選地,原三維模型與參考三維模型可以在外形上基本相似。
[0030]此外,上述參考三維模型可通過多種方式獲得。在一個實施例中,參考三維模型可以預(yù)先配置好,并且數(shù)量可以為多個,根據(jù)用戶提供的目標(biāo)三維模型和/或其他信息選擇使用的參考三維模型。并且,每個參考三維模型可以是一類對象的通用模型,例如,針對人的頭部,可以配置一個參考三維模型,其具有人頭部具有的平均或典型特征,也可以配置不同性別/年齡段的多個參考三維模型,具有相應(yīng)類別的頭部平均或典型特征。另外,可以針對動物、汽車或其他類物體配置參考三維模型,類似地,可根據(jù)原目標(biāo)對象和/或原三維模型配置步驟SlOl中所適用的參考三維模型。在另一實施例中,參考三維模型也可以在原三維模型和目標(biāo)三維模型中的至少一者確定之后生成。
[0031]根據(jù)本發(fā)明的一個實施例,原三維模型和參考三維模型均由空間特征點云構(gòu)成,并且,參考三維模型中的特征點與原三維模型中的特征點一一對應(yīng)??蛇x地,在參考三維模型被確定(例如,建立或選擇)之后,可以通過構(gòu)建流形場確定參考三維模型與原三維模型中特征點的一一對應(yīng)關(guān)系,使得所有特征點與對應(yīng)特征點之間的距離之和最小。如果原三維模型的三維拓撲結(jié)構(gòu)與參考三維模型的三維拓撲結(jié)構(gòu)相同或近似,則能夠較為容易地確定參考三維模型中的特征點與原三維模型中的特征點之間的一一對應(yīng)關(guān)系。
[0032]在根據(jù)模型變換參數(shù)對需要變換的原三維模型進行變換時,根據(jù)本發(fā)明的一個實施例,可以直接根據(jù)模型變化參數(shù)對原三維模型進行變換。根據(jù)本發(fā)明的另一實施例,在對需要變換的原三維模型進行變換時,也可以首先根據(jù)模型變換參數(shù),確定變換后的參考三維模型(這里,既可以根據(jù)模型變換參數(shù)對參考三維模型進行變換,得到變換后的參考三維模型,或者,也可以不對參考三維模型進行變換,而根據(jù)模型變換參數(shù)估計得到根據(jù)該參數(shù)變換后的參考三維模型)與變換前的參考三維模型之間的仿射變換關(guān)系;之后根據(jù)仿射變換關(guān)系對原三維模型進行變換。
[0033]在本發(fā)明的一實施例中,目標(biāo)三維模型和參考三維模型可以均由空間特征點云構(gòu)成,并且,模型變換參數(shù)用于表示參考三維模型中各個特征點的位置變化。
[0034]另外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式,這種變換方式并不一定需要使變換后的參考三維模型與目標(biāo)三維模型完全相同,只要使得變換后的參考模型與目標(biāo)三維模型基本類似即可。
[0035]此外,本發(fā)明的技術(shù)方案不僅可以改變原三維模型的外形,還能夠改變原三維模型的紋理。
[0036]根據(jù)本發(fā)明的一個實施例,可以預(yù)先獲取目標(biāo)對象的紋理信息(紋理信息的獲取與目標(biāo)三維圖形的獲取可以彼此獨立進行,也可以在獲取目標(biāo)對象的目標(biāo)三維模型時獲取目標(biāo)對象的紋理),之后,可以根據(jù)用戶的選擇,利用獲取的紋理信息中的部分或全部對原三維模型添加紋理特征。根據(jù)本發(fā)明的另一實施例,也可以在對原三維模型進行變換之后,將用戶從預(yù)先配置的紋理中選擇的紋理特征添加至原三維模型。上述兩種紋理特征添加方式可以結(jié)合,例如,變換后的原三維模型的部分將具有目標(biāo)三維模型的紋理特征,而其他部分具有用戶選擇的紋理特征。另外,用戶可以根據(jù)其需要,對變換后的三維模型的紋理特征進行調(diào)整和修改。另外,應(yīng)當(dāng)注意,由于原三維模型的變換只是其中空間特征點的位置變化,而原三維模型的特征點與參考三維模型的特征點仍舊保持原有的一一對應(yīng)關(guān)系,因此,紋理特征的添加并不會影響到變換的結(jié)果,而紋理特征的添加既可以對變換前的原三維模型執(zhí)行也可以對變換后的原三維模型執(zhí)行。
[0037]根據(jù)本發(fā)明的一個實施例,可以基于三角面片法將目標(biāo)三維模型的紋理特征添加到原三維模型,即,當(dāng)用戶選擇了將目標(biāo)三維模型的部分或全部的紋理特征添加到變換后的原三維模型時,可以確定目標(biāo)三維模型中所選擇部位的空間特征點云中相鄰特征點構(gòu)成的三角面片與原三維模型中相應(yīng)部分的三角面片的對應(yīng)關(guān)系,進而以三角面片為單位,將目標(biāo)三維模型的三角面片的紋理特征添加至原三維模型的對應(yīng)三角面片。
[0038]應(yīng)當(dāng)注意,空間特征點云是目前用來描述三維模型外形結(jié)構(gòu)的一種方式,實際上,對于以其他方式描述的三維模型,同樣可以借助于本發(fā)明的技術(shù)方案實現(xiàn)變換,而模型變換參數(shù)同樣可以表不以其他方式描述的模型的變換方式。
[0039]下面將以動畫角色的頭部作為原三維模型、以人類頭部作為目標(biāo)對象為例,詳細描述本發(fā)明的技術(shù)方案。
[0040]在該實施例中,可以根據(jù)采集到的用戶頭部三維模型,與預(yù)定義的動畫中人物頭部模型進行融合(對動畫中人物頭部的模型進行變換),從而生成具有用戶個人特點的動畫角色模型,具體可包括以下步驟:
[0041]a)預(yù)輸入人類頭部的平均三維模型(對應(yīng)于上述參考三維模型);
[0042]b)預(yù)輸入動畫頭部模型(對應(yīng)于上述原三維模型);
[0043]c)將人類頭部平均模型與動畫頭部模型對齊(即,確定人類頭部平均模型與動畫頭部模型中空間特征點的一一對應(yīng)關(guān)系);
[0044]d)采集用戶頭部三維模型;
[0045]e)將人類頭部平均模型與用戶頭部模型對齊(即,對應(yīng)于上述的步驟S、101);
[0046]f)對動畫頭部模型進行幾何變換(對應(yīng)于上述的步驟S103);
[0047]g)根據(jù)用戶頭部模型的紋理信息,對新動畫模型的紋理特征進行融合;
[0048]h)用戶手工對新的動畫模型進行調(diào)整,生成最終的動畫模型。
[0049]其中,人類頭部的平均三維模型和動畫頭部模型可以通過各種設(shè)備或算法采集得至IJ。而用戶頭部三維模型的采集也可以通過多種方法來實現(xiàn),例如,可以通過三維掃描設(shè)備直接掃描,或在采集頭部圖像后通過已有的三維模型重建方法進行恢復(fù),然后將得到的模型保存在系統(tǒng)中。
[0050]在將人類頭部平均模型與動畫頭部模型對齊時,根據(jù)預(yù)定義的動畫頭部模型中的局部特征點,計算用戶模型中的相應(yīng)局部特征點,以建立兩個模型上的局部特征點之間的稠密對應(yīng)關(guān)系,并通過插值計算在局部特征點之間的頂點之間的稠密對應(yīng)關(guān)系。
[0051]在對動畫頭部模型進行變換時,可以根據(jù)模型之間的對應(yīng)關(guān)系,對動畫頭部模型上的小區(qū)域,根據(jù)其所對應(yīng)的用戶頭部模型上的相應(yīng)區(qū)域,對其幾何進行仿射變換,生成具有用戶頭部模型幾何特點的新動畫模型。
[0052]對于紋理特征的添加,可以根據(jù)用戶頭部模型的紋理信息,對動畫模型的紋理進行梯度域的變換,生成融合后的新動畫模型。進一步地,用戶也可以對融合生成的動畫模型進行調(diào)整,包括改變其幾何和紋理,并生成最終的動畫模型。
[0053]如圖2所示,在實際應(yīng)用當(dāng)中,可以按照如下方式來實現(xiàn)本發(fā)明:
[0054]步驟1,預(yù)輸入人類頭部的平均三維模型。通過三維采集設(shè)備直接采集,或利用三維曲面重建算法,獲取人類頭部的平均三維模型,即幾何結(jié)構(gòu),但不包括紋理。將得到的三維模型記為H(S),其中S表示幾何部分。
[0055]步驟2,預(yù)輸入動畫頭部模型。通過利用三維建模算法,生成動畫頭部模型,包括幾何結(jié)構(gòu)與紋理。將得到的三維模型記為C(s,T),其中S表示幾何部分,T表示紋理部分。
[0056]步驟3,人類頭部平均模型與動畫頭部模型對齊(這里的對齊步驟,其目的在于確定人類頭部平均模型中的特征點與動畫頭部模型中的特征點之間的一一對應(yīng)關(guān)系)。根據(jù)人類頭部平均模型與動畫頭部模型的幾何信息,在三維模型之間進行對齊。以N表示三維模型所擁有的特征點數(shù)量,則應(yīng)當(dāng)有N(H)=N(C)。對于滿足以上約束的兩個三維模型,通過采用基于梯度的光流算法來計算一個流形場,使得兩個模型的對應(yīng)特征點之間的幾何差距最小。這種建立在特征點之間的對應(yīng)是一種稠密的對應(yīng)關(guān)系,即H中的每一個特征點均與C中的特征點具有唯一對應(yīng)關(guān)系,反之亦然。H與C可以是不同模型,而為了保證對齊的準(zhǔn)確性,優(yōu)選地,H與C可具有相同或近似的三維拓撲結(jié)構(gòu)。另外,如果N(H)不等于N(C),則需要通過插值方法,生成兩個新的三維模型H’與C’滿足N (H’)=N (C’),其中H’和C’分別為H和C的插值版本,即只增減頂點數(shù)量但不改變?nèi)S幾何結(jié)構(gòu),然后再通過上述的方法將H,與C,對齊。
[0057]用戶也可以通過交互的方法,指定H整體或一部分,與C整體或一部分對齊。另夕卜,對于模型中缺少幾何梯度的區(qū)域,采用光流算法會造成錯誤,這時可以通過首先判斷具有強梯度的局部特征點,然后在局部特征點之間進行插值,來解決這種區(qū)域內(nèi)的特征點的對應(yīng)問題。
[0058]步驟4,采集用戶頭部三維模型。用戶頭部三維模型可通過三維采集設(shè)備直接采集,或利用三維曲面重建算法,獲取用戶頭部的三維模型,包括幾何結(jié)構(gòu)與紋理。將得到的三維模型記為U (S,T),其中S表示幾何部分,T表示紋理部分。
[0059]步驟5,將人類頭部平均模型與用戶頭部模型對齊,即,將H與U進行對齊,其目的在于確定將H變?yōu)閁所需的模型變換參數(shù)P。在一個具體實例中,模型變換參數(shù)P可以是一組主分量參數(shù),由排序后的一組參數(shù)值構(gòu)成,排在前面的參數(shù)值能夠影響點云中更多點的位置,排在后面的參數(shù)值影響的點較少,通過這一組參數(shù),能夠?qū)變換為接近于U,即H*p=U’近似于U。參數(shù)的數(shù)量越多,變換后兩個模型U’與U的接近程度就越高。實際上,模型變換參數(shù)還可以通過其他方式來表示模型中各個特征點的位置變化方式,本文不再一一列舉。
[0060]步驟6,對動畫頭部模型進行幾何變換。根據(jù)人類頭部模型H與用戶頭部模型U之間的幾何對應(yīng)關(guān)系,對動畫模型C進行變形。具體地,可以采用三角面片法。對于H上的一個三角面片m(H),其三個頂點為m(H,k)。根據(jù)H與U的模型變換參數(shù)P,可以得到這三個頂點在模型變換后所對應(yīng)的頂點位置m (U’,i),m(U’,j),m(U’,k),由這三個頂點組成三角面片m(U’)。通過三個點的空間坐標(biāo)位置,可以計算m(H)與m(U’)間的仿射變換矩陣A(m)。根據(jù)H與C的對齊結(jié)果,可以得到m(H)的三個頂點在C上的對應(yīng)頂點m(C, i),m(C, j),m(C, k),以及所構(gòu)成的三角面片m(C)。利用仿射變換矩陣A(m),可以計算出三角面片m(C)在變換后的面片m(C’ ) =A(m)^m(C)0
[0061]由于H與C存在如步驟3所描述的稠密對應(yīng)關(guān)系,所以H上的所有三角面片均唯一對應(yīng)C上的所有三角面片,反之亦然。對H上的所有三角面片均重復(fù)該操作,即可將C上的全部三角面片按照U所具有的獨特特點進行變換,這種獨特特點是通過H與U之間的模型變換參數(shù)P得以描述,從而得到在幾何上具有用戶頭部模型幾何特點的新動畫模型C’。
[0062]步驟7,對新動畫模型的紋理進行融合。根據(jù)用戶頭部模型U(S,T)中的紋理信息,計算在各特征點處的紋理梯度g (U)。根據(jù)動畫模型C (S,T)中的紋理信息,采用與U相同的方法,計算各特征點處的紋理梯度g (C)。如S106,C和C’之間均存在稠密對應(yīng)關(guān)系。對于C’中的一個特征點m(C’,i),該處的紋理和梯度分別為:
[0063]T(C,,i)=T(C, i)
[0064]g(C,, i)=a*g(U, i)+b*g(C, i);
[0065]其中,a+b=l為權(quán)重系數(shù)。若在U中的m周圍特征點的紋理梯度較小,即m在U中位于紋理較平滑區(qū)域,則a較大。在具體實施例中,也可以根據(jù)具體需要,調(diào)整a和b的取值。若不存在g(U,i),則可根據(jù)U中包含了點m(U,i)的三角面片的三個頂點處的紋理梯度值,插值計算g(U,i)的取值。
[0066]在計算得到C’中各個特征點的紋理和梯度后,對于C’中的每個三角面片,根據(jù)雙線性插值,可以通過各個三角面片的頂點上的紋理和梯度,計算出三角面片內(nèi)的紋理值,從而得到T(c’)。
[0067]步驟8,手工調(diào)整動畫模型。用戶可以手工對合成得到的動畫模型進行調(diào)整,以改變其幾何或紋理。該步驟主要作為后處理步驟或交互步驟,供用戶對動畫模型進行修改,以取得更貼合需求的最終模型。
[0068]根據(jù)本發(fā)明的上述處理,以預(yù)先輸入的人類頭部平均三維模型為基礎(chǔ),在該模型和預(yù)置的動畫頭部模型間建立頂點的對應(yīng)關(guān)系。對于輸入的用戶頭部三維模型,可以根據(jù)其幾何特征,對預(yù)置的動畫頭部模型的幾何進行調(diào)整,以獲得具有相應(yīng)幾何特征的新的動畫模型。這種方法和系統(tǒng)還可以根據(jù)用戶頭部三維模型中的各個頂點具有的紋理梯度,對動畫頭部模型的紋理特征進行調(diào)整,使得其紋理也具有相應(yīng)的紋理特點。利用本發(fā)明所提供的方法和系統(tǒng),只需預(yù)先建立一個人類頭部平均三維模型和一個動畫頭部模型,然后即可對每個輸入的新頭部模型生成一個相應(yīng)的新動畫模型,能夠有效降低模型制作人員的工作量,且可以獲得更接近真實的動畫模型效果。
[0069]借助于本發(fā)明的上述處理,能夠快速地對需要加入自定義特征的模型進行變化,適應(yīng)用戶不斷變化的需求,而借助于參考三維模型(平均模型)進行變換之后,變換后的模型的外觀更加合理,并且能夠有效地將用戶希望增加的特征體現(xiàn)出來。
[0070]根據(jù)本發(fā)明的另一實施例,提供了一種三維模型的變換裝置。
[0071]如圖3所示,根據(jù)本發(fā)明實施例的三維模型的變換裝置包括:
[0072]對齊模塊31,用于將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行對齊,確定模型變換參數(shù),其中,模型變換參數(shù)用于表示將參考三維模型變換為目標(biāo)三維模型的變換方式;
[0073]變換模塊32,用于根據(jù)模型變換參數(shù),對需要變換的原三維模型進行變換。
[0074]其中,在一優(yōu)選實施例中,原三維模型的三維拓撲結(jié)構(gòu)與參考三維模型的三維拓撲結(jié)構(gòu)類似或相同。
[0075]根據(jù)本發(fā)明的裝置還可以進一步包括:
[0076]建立模塊(未示出),用于預(yù)先根據(jù)原三維模型,建立參考三維模型,其中,原三維模型和參考三維模型均由空間特征點云構(gòu)成,并且,參考三維模型中的特征點與原三維模型中的特征點——對應(yīng)。
[0077]根據(jù)本發(fā)明實施例的裝置可以進一步包括:
[0078]確定模塊(未示出),用于在確定(參考三維模型被建立或被選擇)參考三維模型之后,通過構(gòu)建流形場確定參考三維模型與原三維模型中特征點的一一對應(yīng)關(guān)系,使得所有特征點與對應(yīng)特征點之間的距離之和最小。
[0079]此外,上述變換模塊32可用于根據(jù)模型變換參數(shù),確定變換后的參考三維模型與變換前的參考三維模型之間的仿射變換關(guān)系,并根據(jù)仿射變換關(guān)系對原三維模型進行變換。
[0080]根據(jù)本發(fā)明實施例的裝置還可以進一步包括:
[0081]獲取模塊(未示出),用于獲取目標(biāo)對象的紋理信息;
[0082]添加模塊(未示出),用于在對原三維模型進行變換之后,根據(jù)用戶的選擇,利用獲取的紋理信息中的部分或全部對變換后的原三維模型添加紋理特征,和/或用于在對原三維模型進行變換之后,將用戶從預(yù)先配置的紋理特征中選擇的紋理特征添加至變換后的原三維模型。
[0083]此外,目標(biāo)三維模型和參考三維模型可以均由空間特征點云構(gòu)成,并且,模型變換參數(shù)用于表示參考三維模型中各個特征點的位置變化。
[0084]可選地,目標(biāo)三維模型由單個目標(biāo)對象整體或部分構(gòu)建而成,或者通過結(jié)合多個目標(biāo)對象的整體或部分構(gòu)建而成。
[0085]根據(jù)本發(fā)明的上述裝置同樣能夠?qū)崿F(xiàn)之前所描述的方法,其實現(xiàn)過程本文不再重復(fù)。
[0086]本發(fā)明通過預(yù)先輸入兩種類型的模型作為模板,當(dāng)輸入一個新的對應(yīng)于其中一種類型的模型時,能夠自動生成對應(yīng)于另一種類型的模型,以滿足需求。本發(fā)明可以應(yīng)用于很多場景中,例如,本發(fā)明的技術(shù)方案可用于游戲中,例如,用戶在創(chuàng)建游戲人物時,輸入自己的頭像模型,即可自動用于替換游戲中預(yù)設(shè)的主角卡通頭像模型,并使新的卡通頭像模型具有用戶的個人臉部特征,能夠很好地提高了游戲中的用戶代入感;另外,本發(fā)明可用于電影中,當(dāng)需要制作多個非人類的角色時,只需制作一個標(biāo)準(zhǔn)的非人類頭部模型,然后輸入多個真實人類的頭部模型,如工作人員或演員,即可自動生成具有這些人類的各自臉部特征的非人類頭部模型,極大地降低了模型制作成本。該發(fā)明也可以進一步擴展到其它領(lǐng)域。對于具有相同拓撲結(jié)構(gòu)的兩類物體A和B,預(yù)先建立A和B的通用模型,并建立其頂點間的一一對應(yīng)關(guān)系,在輸入A類中的某個特定對象a時,即可自動生成相應(yīng)的B類對象b,使得b具有a所具有的幾何與紋理特征。
[0087]以上結(jié)合具體實施例描述了本發(fā)明的基本原理,但是,需要指出的是,對本領(lǐng)域的普通技術(shù)人員而言,能夠理解本發(fā)明的方法和裝置的全部或者任何步驟或者部件,可以在任何計算裝置(包括處理器、存儲介質(zhì)等)或者計算裝置的網(wǎng)絡(luò)中,以硬件、固件、軟件或者它們的組合加以實現(xiàn),這是本領(lǐng)域普通技術(shù)人員在閱讀了本發(fā)明的說明的情況下運用它們的基本編程技能就能實現(xiàn)的。
[0088]因此,本發(fā)明的目的還可以通過在任何計算裝置上運行一個程序或者一組程序來實現(xiàn)。所述計算裝置可以是公知的通用裝置。因此,本發(fā)明的目的也可以僅僅通過提供包含實現(xiàn)所述方法或者裝置的程序代碼的程序產(chǎn)品來實現(xiàn)。也就是說,這樣的程序產(chǎn)品也構(gòu)成本發(fā)明,并且存儲有這樣的程序產(chǎn)品的存儲介質(zhì)也構(gòu)成本發(fā)明。顯然,所述存儲介質(zhì)可以是任何公知的存儲介質(zhì)或者將來所開發(fā)出來的任何存儲介質(zhì)。
[0089]在通過軟件和/或固件實現(xiàn)本發(fā)明的實施例的情況下,從存儲介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計算機,例如圖4所示的通用計算機400安裝構(gòu)成該軟件的程序,該計算機在安裝有各種程序時,能夠執(zhí)行各種功能等等。
[0090]在圖4中,中央處理模塊(CPU) 401根據(jù)只讀存儲器(ROM) 402中存儲的程序或從存儲部分408加載到隨機存取存儲器(RAM) 403的程序執(zhí)行各種處理。在RAM403中,也根據(jù)需要存儲當(dāng)CPU401執(zhí)行各種處理等等時所需的數(shù)據(jù)。CPU401、R0M402和RAM403經(jīng)由總線404彼此連接。輸入/輸出接口 405也連接到總線404。
[0091]下述部件連接到輸入/輸出接口 405:輸入部分406,包括鍵盤、鼠標(biāo)等等;輸出部分407,包括顯示器,比如陰極射線管(CRT)、液晶顯示器(IXD)等等,和揚聲器等等;存儲部分408,包括硬盤等等;和通信部分409,包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等等。通信部分409經(jīng)由網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。
[0092]根據(jù)需要,驅(qū)動器410也連接到輸入/輸出接口 405??刹鹦督橘|(zhì)411比如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等根據(jù)需要被安裝在驅(qū)動器410上,使得從中讀出的計算機程序根據(jù)需要被安裝到存儲部分408中。
[0093]在通過軟件實現(xiàn)上述系列處理的情況下,從網(wǎng)絡(luò)比如因特網(wǎng)或存儲介質(zhì)比如可拆卸介質(zhì)411安裝構(gòu)成軟件的程序。
[0094]本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲介質(zhì)不局限于圖8所示的其中存儲有程序、與裝置相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)411??刹鹦督橘|(zhì)411的例子包含磁盤(包含軟盤(注冊商標(biāo)))、光盤(包含光盤只讀存儲器(⑶-ROM)和數(shù)字通用盤(DVD))、磁光盤(包含迷你盤(MD)(注冊商標(biāo)))和半導(dǎo)體存儲器?;蛘?,存儲介質(zhì)可以是R0M402、存儲部分408中包含的硬盤等等,其中存有程序,并且與包含它們的裝置一起被分發(fā)給用戶。
[0095]還需要指出的是,在本發(fā)明的裝置和方法中,顯然,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應(yīng)視為本發(fā)明的等效方案。并且,執(zhí)行上述系列處理的步驟可以自然地按照說明的順序按時間順序執(zhí)行,但是并不需要一定按照時間順序執(zhí)行。某些步驟可以并行或彼此獨立地執(zhí)行。
[0096]雖然已經(jīng)詳細說明了本發(fā)明及其優(yōu)點,但是應(yīng)當(dāng)理解在不脫離由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下可以進行各種改變、替代和變換。而且,本申請的術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者裝置中還存在另外的相同要素。
【權(quán)利要求】
1.一種三維模型的變換方法,其特征在于,包括: 將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行比較,確定模型變換參數(shù),其中,所述模型變換參數(shù)用于表示將所述參考三維模型變換為所述目標(biāo)三維模型的變換方式; 根據(jù)所述模型變換參數(shù),對需要變換的原三維模型進行變換。
2.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,所述原三維模型的三維拓撲結(jié)構(gòu)與所述參考三維模型的三維拓撲結(jié)構(gòu)相符。
3.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,進一步包括: 預(yù)先確定所述原三維模型與所述參考三維模型之間的對應(yīng)關(guān)系,其中,所述原三維模型和所述參考三維模型均由空間特征點云構(gòu)成,并且,所述參考三維模型中的特征點與所述原三維模型中的特征點一一對應(yīng)。
4.根據(jù)權(quán)利要求3所述的變換方法,其特征在于, 通過構(gòu)建流形場確定所述參考三維模型與所述原三維模型中特征點的一一對應(yīng)關(guān)系,使得所有特征點與對應(yīng)特征點之間的距離之和最小。
5.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,根據(jù)所述模型變換參數(shù),對需要變換的原三維模型進行的變換包括: 根據(jù)所述模型變換參數(shù),確定變換后的參考三維模型與變換前的參考三維模型之間的仿射變換關(guān)系; 根據(jù)所述仿射變換關(guān)系對所述原三維模型進行變換。
6.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,所述目標(biāo)三維模型和所述參考三維模型均由空間特征點云構(gòu)成,并且,所述模型變換參數(shù)用于表示所述參考三維模型中各個點的位置變化。
7.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,進一步包括: 獲取所述目標(biāo)對象的紋理信息,并在對所述原三維模型進行變換之后,利用獲取的所述紋理信息中的部分或全部對所述原三維模型添加紋理特征;或 在對所述原三維模型進行變換之后,將用戶從預(yù)先配置的紋理特征中選擇的紋理特征添加至所述原三維模型。
8.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,所述目標(biāo)三維模型由單個目標(biāo)對象整體或部分構(gòu)建而成,或者通過結(jié)合多個目標(biāo)對象的整體或部分構(gòu)建而成。
9.根據(jù)權(quán)利要求1所述的變換方法,其特征在于,所述原三維模型由原對象的整體或部分構(gòu)建而成。
10.一種三維模型的變換裝置,其特征在于,包括: 比較模塊,用于將目標(biāo)對象的目標(biāo)三維模型與預(yù)先給定的參考三維模型進行比較,確定模型變換參數(shù),其中,所述模型變換參數(shù)用于表示將所述參考三維模型變換為所述目標(biāo)三維模型的變換方式; 變換模塊,用于根據(jù)所述模型變換參數(shù),對需要變換的原三維模型進行變換。
11.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,所述原三維模型的三維拓撲結(jié)構(gòu)與所述參考三維模型的三維拓撲結(jié)構(gòu)相符。
12.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,進一步包括: 確定模塊,用于預(yù)先確定所述原三維模型與所述參考三維模型之間的對應(yīng)關(guān)系,其中,所述原三維模型和所述參考三維模型均由空間特征點云構(gòu)成,并且,所述參考三維模型中的特征點與所述原三維模型中的特征點一一對應(yīng)。
13.根據(jù)權(quán)利要求12所述的變換裝置,其特征在于,通過構(gòu)建流形場確定所述參考三維模型與所述原三維模型中特征點的一一對應(yīng)關(guān)系,使得所有特征點與對應(yīng)特征點之間的距離之和最小。
14.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,所述變換模塊用于根據(jù)所述模型變換參數(shù),確定變換后的參考三維模型與變換前的參考三維模型之間的仿射變換關(guān)系,并根據(jù)所述仿射變換關(guān)系對所述原三維模型進行變換。
15.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,進一步包括: 獲取模塊,用于獲取所述目標(biāo)對象的紋理信息; 添加模塊,用于在對所述原三維模型進行變換之后,利用獲取的所述紋理信息中的部分或全部對所述原三維模型添加紋理特征,或用于在對所述原三維模型進行變換之后,將用戶從預(yù)先配置的紋理特征中選擇的紋理特征添加至所述原三維模型。
16.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,所述目標(biāo)三維模型和所述參考三維模型均由空間特征點云構(gòu)成,并且,所述模型變換參數(shù)用于表示所述參考三維模型中各個特征點的位置變化。
17.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,所述目標(biāo)三維模型由單個目標(biāo)對象整體或部分構(gòu)建而成,或者通過結(jié)合多個目標(biāo)對象的整體或部分構(gòu)建而成。
18.根據(jù)權(quán)利要求10所述的變換裝置,其特征在于,所述原三維模型由原對象的整體或部分構(gòu)建而成。
【文檔編號】G06T15/04GK104183002SQ201310202021
【公開日】2014年12月3日 申請日期:2013年5月27日 優(yōu)先權(quán)日:2013年5月27日
【發(fā)明者】佟強, 李亮 申請人:索尼公司