一種面向普通用戶的快速3d衣服建模方法
【專利摘要】本發(fā)明涉及一種面向普通用戶的快速3D衣服建模方法,過程包括:系統(tǒng)自動根據(jù)3D人體模型生成相應(yīng)的2D人體模板圖片;使用圖片處理工具從輸入的衣服圖片中提取衣服輪廓;使用圖片處理工具將所述提取到的衣服輪廓和所述2D人體模板進(jìn)行匹配得到衣服圖片,通過不斷調(diào)整衣服輪廓的位置來達(dá)到所述匹配;根據(jù)3D人體模型和匹配獲得的衣服圖片的形狀通過仿真算法生成3D衣服模型?;诒景l(fā)明所提出的快速簡單的3D衣服建模方法,輸入是一張普通的衣服正面照片,用戶通過簡單的描畫邊界的操作,便可以快速生成一個已貼上紋理的3D衣服模型。
【專利說明】一種面向普通用戶的快速3D衣服建模方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于幾何建?!炯夹g(shù)領(lǐng)域】,特別是涉及一種面向普通用戶的快速3D衣服建模方法。
【背景技術(shù)】
[0002]傳統(tǒng)的衣服建模方法主要是采用諸如3D Max、Maya等通用的3D建模工具從零開始構(gòu)建,其主要步驟有:1)確定目標(biāo)衣服的參考照片,通常這些照片含有多個角度,以便建模師可以觀察到目標(biāo)衣服在不同角度下的特征;2)選定參考人體模型,由于衣服是一種柔性物體,在不同人體模型上的效果大有不同,因此建模過程通常需要給定一個參照物;3)幾何造型建模,該步驟依據(jù)衣服的不同類型有不同的建模方法,通常是利用造型工具建模出局部的衣服面片,最后將多個面片拼接在一起。為了避免衣服模型與身體穿插,建模師需要非常細(xì)心地調(diào)整好衣服與身體的間距;4)為衣服模型貼上紋理圖片,在建模工具中生成UV貼圖模板,然后在圖片處理工具中將處理并生成貼圖文件。5)最后步驟是回到建模工具中,將貼圖映射到衣服模型上,進(jìn)行局部細(xì)節(jié)的調(diào)整。由此可見,傳統(tǒng)的衣服建模方法中建模師對衣服模型的每一個細(xì)節(jié)都可以進(jìn)行控制,因此可以制作出非常細(xì)致的3D衣服模型,但其處理步驟繁多,而且每個步驟都需要非常細(xì)心的操作,所以非常費時費力。另外該方法要求用戶對3D建模軟件有較深的專業(yè)知識,因此難以被普通的用戶所掌握。
[0003]另一類衣服建模方法是基于專業(yè)的衣服建模軟件,例如Marvelous的Clo3d。該建模過程與真實世界中裁縫制作衣服的流程相似。對于一件給定的目標(biāo)衣服,其建模流程有:1)打版,即分析衣服的基本構(gòu)成,可以分叉若干個2D衣服面片;2)在建模工具中,將每一個2D衣服面片繪制出來;3)將相關(guān)聯(lián)的2D衣服面片縫合起來,4)利用建模工具的物理仿真功能,得到最終衣服模型。由于進(jìn)行了物理仿真,該建模方法所得到的3D衣服模型精確細(xì)膩,帶有波紋和褶皺,使得真實感較強(qiáng)。但其要求建模人員有較深的服裝設(shè)計知識,對給定的衣服能夠清楚其基本構(gòu)成。
[0004]無論是傳統(tǒng)衣服建模還是專業(yè)衣服建模均對用戶有較深的專業(yè)知識,而且操作過程步驟繁多,工具的使用復(fù)雜,因此不適用于普通的用戶。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出一種新的面向普通用戶的快速3D衣服模型的建模方法,該方法不要求用戶均有3D建模工具的專業(yè)技能,也不要求用戶熟悉服裝專業(yè)知識,只需掌握計算機(jī)的基本操作即可生成3D衣服模型。
[0006]假定衣服建模的參考3D參考人體模型和待建模的衣服正面圖片已經(jīng)給定,利用本發(fā)明進(jìn)行面向普通用戶的快速3D衣服建模方法主要有以下四步:
[0007](I)系統(tǒng)自動根據(jù)3D人體模型生成相應(yīng)的2D人體模板圖片;
[0008](2)使用圖片處理工具從輸入的衣服圖片中提取衣服輪廓;
[0009](3)使用圖片處理工具將所述提取到的衣服輪廓和所述2D人體模板進(jìn)行匹配得到衣服圖片,通過不斷調(diào)整衣服輪廓的位置來達(dá)到所述匹配;
[0010](4)根據(jù)3D人體模型和步驟(3)中匹配獲得的衣服圖片的形狀通過仿真算法生成3D衣服模型。
[0011]基于本發(fā)明所提出的快速簡單的3D衣服建模方法,輸入是一張普通的衣服正面照片,用戶通過簡單的描畫邊界的操作,便可以快速生成一個已貼上紋理的3D衣服模型。
【專利附圖】
【附圖說明】
[0012]圖1為本發(fā)明的技術(shù)流程圖;
[0013]圖2a_2d為本發(fā)明的技術(shù)流程圖的具體圖示;
[0014]圖3為3D人體模型的坐標(biāo)系;
[0015]圖4為衣服輪廓提取的處理流程;
[0016]圖5為將基本3D衣服模型轉(zhuǎn)化為與3D人體表面相匹配的流程圖;
【具體實施方式】
[0017]下面結(jié)合附圖對本發(fā)明做進(jìn)一步的說明。
[0018]參見圖1和圖2a_2d,本發(fā)明的衣服建模流程包括:1)預(yù)處理階段根據(jù)3D人模生成2D人體模板圖片(如圖1a) ;2)在常見的圖片處理工具中提取衣服輪廓(如圖1b) ;3)在圖片處理工具中調(diào)整2D衣服圖片的位置(如圖1c) ;4)根據(jù)3D人體模型和衣服形狀通過仿真生成相應(yīng)的3D衣服模型(如圖1d)。
[0019]步驟I預(yù)處理:
[0020]3D人體模型M是一個多邊形網(wǎng)格模型,其通常表示為二元組<V,F(xiàn)>,V是頂點集合,F(xiàn)為面片集合,并假設(shè)M所處的坐標(biāo)系為如圖2所示。假設(shè)此時3D人體模特坐標(biāo)軸包圍盒在X,y,z坐標(biāo)軸上的大小分別為wM, hM和dM(人體背部最后的一個點為z軸起點),M在z軸上的投影即為2D人體模板圖片T,設(shè)投影后模板圖片T的寬和高分別為wT和hT,這五個參數(shù)為系統(tǒng)的輸入?yún)?shù)。%,hM和dM的取值依據(jù)3D模型所要表示的人體模型大小來確定,而wT和hT則可為任意的取值,但通常不少于200。
[0021 ] 步驟2衣服輪廓提取:
[0022]如圖3所示,對于輸入的衣服圖片(步驟2.1),首先應(yīng)用傳統(tǒng)視覺領(lǐng)域的輪廓線提取算法自動提取衣服的輪廓(步驟2.2),用戶對結(jié)果進(jìn)行觀測(步驟2.3),如果發(fā)現(xiàn)提取結(jié)果的質(zhì)量太差,則進(jìn)入人工交互的輪廓提取過程(步驟2.4),其主要操作過程是將目標(biāo)衣服區(qū)域勾畫出來,外部區(qū)域刪除為白色。該步驟中,評價一個邊界結(jié)果的好壞依據(jù)是,目標(biāo)衣服區(qū)域需要完整地保留,且不屬于目標(biāo)衣服的區(qū)域應(yīng)被清除干凈。
[0023]步驟3衣服輪廓和2D人體模板的匹配:
[0024]首先用戶創(chuàng)建一幅跟2D人體模板相同大小的圖片,并將衣服輪廓復(fù)制到該圖片上,之后用戶通過縮放和平移兩個操作,使得衣服輪廓剛好跟2D人體模板的輪廓對齊。完成該操作后,將衣服圖片保存為任意圖片格式后即完成本步驟。
[0025]步驟4基于仿真算法生成3D衣服:
[0026]該步驟分為兩個子步驟:
[0027]步驟4.1根據(jù)衣服輪廓生成基本3D網(wǎng)格模型。生成的方法是:
[0028]設(shè)衣服輪廓在圖片中的起始位置為(rs,cs),結(jié)束位置為ce),并設(shè)定參數(shù)g為采樣間距,則在該圖片區(qū)域內(nèi),每隔g個像素生成一個3D點,第i行第j個采樣點的3D坐標(biāo)(cs+j*g,rs+g*i,dM),注意此處所有的z分量均為dM,亦即在3D空間中,將初始的3D衣服網(wǎng)格模型位于人體模型的面前。與此同時,原始衣服圖片作為該網(wǎng)格模型的紋理貼圖,其UV坐標(biāo)為每個采樣點在圖像空間的歸一化坐標(biāo)。
[0029]步驟4.2將基本3D衣服網(wǎng)格模型沿著z軸負(fù)向逐步移動,并將其與身體模型進(jìn)行碰撞檢測,若某個點發(fā)生碰撞,則不再移動,否則繼續(xù)向前移動,直到發(fā)生碰撞或者是達(dá)到最大迭代次數(shù)。具體過程參考流程圖4。
[0030]步驟4.2.1將所有的3D衣服網(wǎng)格頂點設(shè)置為能夠移動;
[0031]步驟4.2.2將每一個3D衣服網(wǎng)格頂點的初始加速度方向aQ設(shè)置為(0,0,-Λζ)(經(jīng)過試驗Λ ζ取經(jīng)驗值0.2);
[0032]步驟4.2.3為每一個頂點計算其前進(jìn)方向,具體的計算公式為
[0033]av = a0+ Σ k.(I1-1).Gi
[0034]其中,av為某個頂點V的加速度方向,k為彈簧系數(shù)(根據(jù)經(jīng)驗值取為0.4),ei為頂點V第i個出邊的向量,Ii為該邊的長度,I為改變初始狀態(tài)下的長度,在本發(fā)明中,所有邊的初始狀態(tài)長度都相同,均為I。
[0035]在得到該點的前進(jìn)方向后,該點的新位置為
[0036]V1 = v+av.Δ t
[0037]其中,Λ t為迭代過程的時間間隔;
[0038]步驟4.2.4檢測V’是否與3D人體模型發(fā)生碰撞,如果發(fā)生碰撞,則將該點標(biāo)記為不可移動,該點不再參加后面的迭代(步驟4.2.5)。否則,將該點移動到新的位置,然后重復(fù)步驟4.2.2。整個迭代過程有最大迭代次數(shù)N的限制,經(jīng)驗值取為100。
[0039]本發(fā)明的步驟I在某種情況下可以省略掉與步驟3合并。本發(fā)明將本步驟I和步驟3分離開,這樣使得步驟2中,用戶可以使用自己熟悉的圖片處理工具來對衣服圖片進(jìn)行處理甚至是美化,這是本發(fā)明的優(yōu)點;本發(fā)明的一個替代方案是將兩個步驟合并在一起,專門開發(fā)一個工具,在該工具中顯示3D人體模型,然后衣服輪廓在3D模型上進(jìn)行衣服輪廓和人體模型的輪廓進(jìn)行匹配。
[0040]本發(fā)明從淘寶、天貓和京東等網(wǎng)上商城中抓取了相當(dāng)數(shù)量的衣服圖片進(jìn)行試驗,試驗結(jié)果表明,本發(fā)明能夠使用于大量現(xiàn)有的衣服圖片,同時,本發(fā)明已開發(fā)了相應(yīng)的原型系統(tǒng)給若干用戶進(jìn)行使用測試,測試表明,本發(fā)明的建模方案簡單易懂,容易上手。
【權(quán)利要求】
1.一種面向普通用戶的快速3D衣服建模方法,其特征在于,所述方法包括以下步驟: (1)系統(tǒng)自動根據(jù)3D人體模型生成相應(yīng)的2D人體模板圖片; (2)使用圖片處理工具從輸入的衣服圖片中提取衣服輪廓; (3)使用圖片處理工具將所述提取到的衣服輪廓和所述2D人體模板進(jìn)行匹配得到衣服圖片,通過不斷調(diào)整衣服輪廓的位置來達(dá)到所述匹配; (4)根據(jù)3D人體模型和步驟(3)中匹配獲得的衣服圖片的形狀通過仿真算法生成3D衣服模型。
2.根據(jù)權(quán)利要求1所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟⑴具體為: 3D人體模型M是一個多邊形網(wǎng)格模型,其表示為二元組〈V,F(xiàn)〉,V是頂點集合,F(xiàn)為面片集合,3D人體模特坐標(biāo)軸包圍盒在X、1、z坐標(biāo)軸上的大小分別為wM、hM和dM,其中,人體背部最后的一個點為z軸起點,M在z軸上的投影即為2D人體模板圖片T,投影后模板圖片T的寬和高分別為wT和hT,這五個參數(shù)為系統(tǒng)的輸入?yún)?shù);wM,hM和dM的取值依據(jù)所述3D人體模型所要表示的人體模型大小來確定。
3.根據(jù)權(quán)利要求1或2所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟(2)具體為: 對于輸入的衣服圖片,首先應(yīng)用傳統(tǒng)視覺領(lǐng)域的輪廓線提取算法自動提取衣服的輪廓,用戶對結(jié)果進(jìn)行觀測,如果發(fā)現(xiàn)提取結(jié)果的質(zhì)量太差,則進(jìn)入人工交互的輪廓提取過程,將目標(biāo)衣服區(qū)域勾畫出來,外部區(qū)域刪除為白色。
4.根據(jù)權(quán)利要求3所述的面向普通用戶的快速3D衣服建模方法,其特征在于,評價一個提取結(jié)果好壞的依據(jù)是:目標(biāo)衣服區(qū)域需要完整地保留,且不屬于目標(biāo)衣服的區(qū)域應(yīng)被清除干凈。
5.根據(jù)權(quán)利要求3所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟⑶具體為: 用戶創(chuàng)建一幅跟所述2D人體模板相同大小的圖片,并將所述衣服輪廓復(fù)制到該圖片上,之后用戶通過縮放和平移兩個操作,使得所述衣服輪廓剛好跟所述2D人體模板的輪廓對齊;完成該操作后,將衣服圖片保存為任意圖片格式后即完成本步驟。
6.根據(jù)權(quán)利要求1、2、4或5所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟(4)具體為: (4.1)根據(jù)衣服輪廓生成基本3D衣服網(wǎng)格模型; (4.2)將所述基本3D衣服網(wǎng)格模型沿著z軸負(fù)向逐步移動,并將其與身體模型進(jìn)行碰撞檢測,若某個點發(fā)生碰撞,則不再移動,否則繼續(xù)向前移動,直到發(fā)生碰撞或者是達(dá)到最大迭代次數(shù)。
7.根據(jù)權(quán)利要求6所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟(4.1)具體為: 設(shè)衣服輪廓在圖片中的起始位置為(rs,cs),結(jié)束位置為并設(shè)定參數(shù)g為采樣間距,則在該圖片區(qū)域內(nèi),每隔g個像素生成一個3D點,第i行第j個采樣點的3D坐標(biāo)為(cs+j*g,rs+g*i,dM),其中,所有的z分量均為dM,亦即在3D空間中,將初始的3D衣服網(wǎng)格模型位于人體模型的面前;與此同時,原始衣服圖片作為該網(wǎng)格模型的紋理貼圖,其UV坐標(biāo)為每個采樣點在圖像空間的歸一化坐標(biāo)。
8.根據(jù)權(quán)利要求7所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述步驟(4.2)具體為: (4.2.1)將所有的3D衣服網(wǎng)格頂點設(shè)置為能夠移動; (4.2.2)將每一個3D衣服網(wǎng)格頂點的初始加速度方向aQ設(shè)置為“0,0,-Λζ” ; (4.2.3)為每一個頂點計算其前進(jìn)方向,計算公式為
av = a0+ Σ k.(1廠1).力 其中,av為某個頂點v的加速度方向,k為彈簧系數(shù),e,為頂點v第i個出邊的向量,h為該邊的長度,1為改變初始狀態(tài)下的長度; 在得到該點的前進(jìn)方向后,該點的新位置為
v' = v+av.Δ t ; 其中,At為迭代過程的時間間隔; (4.2.4)檢測V’是否與3D人體模型發(fā)生碰撞,如果發(fā)生碰撞,則將該點標(biāo)記為不可移動,該點不再參加后面的迭代;否則,將該點移動到新的位置,然后重復(fù)步驟4.2.2 ;整個迭代過程有最大迭代次數(shù)N的限制。
9.根據(jù)權(quán)利要求8所述的面向普通用戶的快速3D衣服建模方法,其特征在于,Λζ取值為0.2 ;k的取值為0.4。
10.根據(jù)權(quán)利要求8或9所述的面向普通用戶的快速3D衣服建模方法,其特征在于,所述最大迭代次數(shù)N的取值為100。
【文檔編號】G06F17/50GK104346827SQ201310312518
【公開日】2015年2月11日 申請日期:2013年7月24日 優(yōu)先權(quán)日:2013年7月24日
【發(fā)明者】林金杰, 蘇琪, 龔文勇, 葉豐平 申請人:深圳市華創(chuàng)振新科技發(fā)展有限公司