国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單幅圖片的唐代服飾三維重建

2015-02-27 01:13朱耀麟劉雅琪楊宇嶠
關(guān)鍵詞:單幅三維重建像素點

朱耀麟,劉雅琪,楊宇嶠

(1.西安工程大學(xué) 電子信息學(xué)院, 陜西 西安 710048;2.長安大學(xué) 建筑學(xué)院,陜西 西安 710061)

?

·信息科學(xué)·

基于單幅圖片的唐代服飾三維重建

朱耀麟1,劉雅琪1,楊宇嶠2

(1.西安工程大學(xué) 電子信息學(xué)院, 陜西 西安 710048;2.長安大學(xué) 建筑學(xué)院,陜西 西安 710061)

針對傳統(tǒng)建模方法的局限性和對唐代服飾進(jìn)行建模自身的特點,提出了一種將數(shù)字建模和物理建模相結(jié)合的基于單幅圖片的唐代服飾的三維重建的方法。由于唐代歷史悠久,遺留的下來的服裝文物基本為二維水彩畫,陶俑等,能從中提取的信息及其有限,因此利用OpenCV的自動掃描技術(shù)和根據(jù)服裝橫截面近似橢圓的特性計算得出服裝大致的數(shù)字模型,而數(shù)字模型只有服裝的大致輪廓,無法呈現(xiàn)逼真的三維服飾,則再將數(shù)字模型的數(shù)據(jù)數(shù)據(jù)輸入三維建模軟件Maya中進(jìn)行細(xì)節(jié)修改,并對其添加動力學(xué)特性,紋理貼圖渲染。仿真結(jié)果顯示三維重建出的唐代服飾模型,不僅逼真,而且效率高。

單幅圖片;唐代服飾;自動掃描;OpenCV;Maya;MEL

唐代服裝,承載了盛唐時期的歷史文化,是中國和世界文化遺產(chǎn)的不可缺少的一部分。然而,隨著時間的流逝唐代服裝經(jīng)歷了不可避免的逆向變化。比如,被挖掘的墓藏服裝遇空氣會失去鮮艷的色彩,實物服裝不易保存,某些服裝款式失傳等。而現(xiàn)代三維計算機(jī)數(shù)字集成技術(shù)又為此提供了一個新的重要手段和應(yīng)用數(shù)字保存和發(fā)揚唐代服裝文化將具有非常重要的意義。目前有很多人在對三維重建技術(shù)進(jìn)行研究[1-13]。

這些建模方法都只能對一些簡單而規(guī)則的物體進(jìn)行三維重建,對一些復(fù)雜的物體進(jìn)行三維建模時失真比較嚴(yán)重而且算法也過于復(fù)雜。本文針對傳統(tǒng)建模方法的局限性,提出了一種基于單幅圖像的唐代服飾的三維重建方法,這種方法將數(shù)字建模和物理建模相結(jié)合,取長避短,既避免了單獨使用物理建模時,其操作復(fù)雜、建模時間長的缺點,也避免了只利用數(shù)字建模會使復(fù)雜模型易失真的的缺點,此方法利用了數(shù)字建模直接獲取服裝的三維數(shù)據(jù)輪廓,節(jié)省建模時間,提高建模效率,同時利用物理建模手動修改輪廓細(xì)節(jié),添加紋理貼圖渲染,使模型更為逼真。

1 三維重構(gòu)原理

基于單幅圖像的唐代服飾的三維重構(gòu)方法的原理如圖1所示。輸入的圖像首先經(jīng)過簡單的圖像預(yù)處,使圖片更加清晰易于信息的提取,其次利用OpenCV的自動掃描功能,對圖像上標(biāo)記的部分進(jìn)行信息采集并將采集到的信息輸出,然后將輸出的信息輸入Maya三維建模軟件中,最后對獲得的模型進(jìn)行細(xì)節(jié)部分的修改。

圖1 基于單幅圖像的唐代服飾的三維重構(gòu)原理Fig.1 Based on single image three dimensional reconstruction principle of the tang dynasty costumes

圖像預(yù)處理的目的主要是改善圖像質(zhì)量,使圖像便于識別、易于處理。主要方法有圖像色彩平衡、圖像增強等。

數(shù)字化處理是根據(jù)圖像灰度信息和二維坐標(biāo)信息建立圖像中物體的數(shù)字化模型的過程,即利用計算機(jī)視覺和圖像處理技術(shù),從載入的圖像中獲取物體表面的三維形狀信息的過程。

將數(shù)據(jù)輸入建模軟件中的目的是為了對模型進(jìn)行實體重建,以便于對模型進(jìn)行修改完善。

2 數(shù)字化模型的建立

怎樣從圖像中獲取被研究物體表面的三維信息是進(jìn)行三維重構(gòu)的基礎(chǔ)和關(guān)鍵。本文利用OpenCV的自動掃描功能,將服裝數(shù)據(jù)進(jìn)行采集,根據(jù)圖片中的服裝有無褶皺將圖片分為兩種。對于這兩種情況,對服裝進(jìn)行信息提取的方法略有差異。對于無褶皺的服裝,只需要利用二維坐標(biāo)通過一定的算法得出深度坐標(biāo)即可,而對于有褶皺的要在此基礎(chǔ)上添加灰度值。得到三維坐標(biāo)后,將坐標(biāo)按一定順序排列,便可得到大致的數(shù)字模型。

2.1 OpenCV的自動掃描功能

OpenCV 圖像處理算法庫在 VC++編譯環(huán)境下運行,為數(shù)字圖像的處理、計算機(jī)視覺技術(shù)應(yīng)用提供了極大的方便。它不僅是完全免費的開源軟件而且它包含非常豐富的各類圖像處理及識別的函數(shù)。其中InitLineIterator這個函數(shù)是初始化直線迭代器,調(diào)用此函數(shù)可以進(jìn)行直線掃描,函數(shù)的使用格式為

int cvInitLineIterator[14](const CvArr* image, CvPoint pt1, CvPoint pt2, CvLineIterator* line-iterator, int connectivity=8,int left-to-right=0)。

參數(shù)img用以獲取直線的圖像;pt1為線段的第一個端點;pt2為線段的第二個端點;line-iterator 指向直線迭代狀態(tài)結(jié)構(gòu)體的指針;connectivity表示直線的鄰接方式,為4鄰接或者8鄰接; left-to-right 標(biāo)志值,指出掃描直線是從pt1和pt2外面最左邊的點掃描到最右邊的點(left-to-right≠0),還是按照指定的順序,從pt1到pt2(left-to-right=0)。函數(shù)cvInitLineIterator初始化直線迭代器返回兩個端點間點的數(shù)目。兩個端點都必須在圖像內(nèi)部。在迭代器初始化以后,所有的在連接兩個終點的柵欄線上的點,可以通過訪問CV-NEXT-LINE-POINT點的方式獲得。在線上的這些點使用4-鄰接或者8-鄰接的Bresenham算法計算得到。

Bresenham算法是計算機(jī)圖形學(xué)領(lǐng)域使用最廣泛的直線掃描轉(zhuǎn)換方法。該算法不必計算直線的斜率,因此不做除法。不用浮點數(shù),只用整數(shù),只作整數(shù)加減運算和乘2運算,而乘2運算可以用移位操作實現(xiàn),因此Bresenham算法的運算速度很快,并適于用硬件實現(xiàn)。

該算法的優(yōu)點在于可以采用增量計算,使得對于每一列,只要檢查一個誤差項的符號,就可以確定該列所求的像素。由于顯示直線的像素點只能取整數(shù)值坐標(biāo),可以假設(shè)直線上第i個像素點坐標(biāo)為(xi,yi),它是直線上點(xi,yi)的最佳近似,并且xi=xi(假設(shè)m<1),如下圖所示。那么,直線上下一個像素點的可能位置是(xi+1,yi)或(xi+1,yi+1)。

圖2 Bresenham算法Fig.2 Bresenham algorithm

由圖2可知,在x=xi+1處,直線上點的y值是y=m(xi+1)+b,該點離像素點(xi+1,yi)和像素點(xi+1,yi+1)的距離分別是

d1=y-y1=m(xi+1)+b-yi,

(1)

d2=(yi+1)-y=(yi+1)-

m(xi+1)-b。

(2)

這兩個距離差為

d1-d2=2m(xi+1)-2yi+2b+1。

(3)

我們來分析公式(2)-(3):

1)當(dāng)此值為正時,即d1>d2,說明直線上理論點離(xi+1,yi+1)像素較近,下一個像素點應(yīng)取(xi+1,yi+1);

2)當(dāng)此值為負(fù)時,即d1

3)當(dāng)此值為零時,說明直線上理論點離上、下兩個像素點的距離相等,取哪個點都行,假設(shè)算法規(guī)定這種情況下取(xi+1,yi+1)作為下一個像素點。

因此只要利用(d1-d2)的符號就可以決定下一個像素點的選擇。為此,進(jìn)一步定義一個新的判別式

pi=Δx×(d1-d2)=2Δy×xi-

2Δx×yi+c

(4)

式(4)中的Δx=(x2-x1)>0,因此pi與(d1-d2)有相同的符號;這里

Δy=y2-y1,

c=2Δy+Δx(2b-1)。

將式(4)中的下標(biāo)i改寫成i+1,得到

pi+1=2Δy×xi+1-2Δx×yi+1+c。

(5)

將式(5)減去(4),并利用xi+1=xi+1,可得

pi+1=pi+2Δy-2Δx×(yi+1-yi)。

(6)

再假設(shè)直線的初始端點恰好是其像素點的坐標(biāo),即滿足

yi=mxi+b。

(7)

由式(4)和式(7)得到pi的初始值

pi=2Δy-Δx。

(8)

這樣,我們可利用誤差判別變量,得到如下算法表示

pi=2Δy-Δx。

初始

yi+1=yi+1,

xi+1=xi+1,

當(dāng)pi≥0時:pi+1=pi+2(Δy-Δx)

(9)

yi+1=yi,

xi+1=xi+1,

否則:pi+1=pi+2Δy。

從式(2-9)可以看出,第i+1步的判別變量pi+1僅與第i步的判別變量pi以及直線的兩個端點坐標(biāo)分量差x和y有關(guān),運算中只含有整數(shù)相加和乘2運算,而乘2可利用算術(shù)左移一位來完成,因此這個算法速度快并易于硬件實現(xiàn)。

2.2 三維深度信息的計算

由于唐代文物圖片都均為二維平面圖,因此無法直接對服裝的深度信息進(jìn)行提取,本文根據(jù)服裝形狀的特性,將服裝的橫截面近似為橢圓,利用以上的過程中掃描出服裝標(biāo)記處的二維坐標(biāo)來計算出橫截面的深度值。

橢圓公式如下

x2/a2+y2/b2=1。

(10)

設(shè)(x1,y1),(x2,y2)為一條線段的兩個端點,若線段為水平時y值不變,只利用x值,因此通過公式計算出的y0值則為深度值

a=(x2-x1)/2,

b=3*a/5,

(11)

若線段為豎直時x值不變,只利用y值,因此通過公式計算出的x0值則為深度值

a=(y2-y1)/2,

b=3*a/4,

(12)

對于無褶皺的服裝,三維坐標(biāo)就直接為(x,y,y0)/(x,y,x0)(橫/豎);而對于有褶皺的服裝,則深度值要再加上灰度值。灰度值得計算公式為

Gray=(R*38+G*75+B*15)?7。

(13)

式中的R,G,B值是在掃描線段二維坐標(biāo)的過程中同時獲得的,則其三維坐標(biāo)為(x,y,y0+Gray)/(x,y,x0+Gray)(橫/豎)。

2.3 三維數(shù)據(jù)的輸出

本文最后是在Maya中完成服裝的三維重建,因此利用OpenCV掃描計算得到的三維數(shù)據(jù)需要以Maya可以識別的格式輸出。MEL(Maya埋入式語言)為Maya提供了基礎(chǔ)。Maya界面的幾乎每一個要點都是在MEL指令和腳本程序上建立的。MEL語言是Maya功能的基礎(chǔ)。用戶可以使用MEL命令來創(chuàng)建自己的用戶界面,訪問高級功能。對于特殊的場景,可以創(chuàng)建與之匹配的界面,或者對于某個特殊的項目,可以改變默認(rèn)的參數(shù)設(shè)置。對于某些使用Maya界面不容易改變的屬性,可以使用MEL為其輸入精確的數(shù)值。另外,用戶還可以創(chuàng)建MEL程序和腳本,來完成自定義的建模、動畫、動力學(xué)和渲染任務(wù)。所以數(shù)據(jù)輸出時,是以MEL的文件格式輸出。在Maya的腳本編輯器中寫source+文件名(例:sourcetangzhuang)便可調(diào)用該文件將數(shù)據(jù)輸入。這樣既降低了建模難度,也節(jié)省了建模時間。

3 在Maya中進(jìn)行三維重現(xiàn)

MEL作為Maya的嵌入式語言,MEL 腳本語言的程序和指令為圖形用戶界面化的Maya 軟件的每一步的工作提供了基礎(chǔ)。Maya對于MEL的完全開放性,使得在定制和擴(kuò)展Maya 方面變得較為自由。通過利用MEL腳本語言,還可以進(jìn)一步深度開發(fā)Maya制作軟件,使其為 項目創(chuàng)建出新穎而獨特的動畫特效和工作環(huán)境。通過Maya軟件可以比較直觀的觀察到結(jié)果,便于對其進(jìn)行修改。利用MEL腳本語言可以提高建模效率并節(jié)省時間。

本文利用MEL來實現(xiàn)三維數(shù)據(jù)文件的調(diào)用,并對服裝進(jìn)行一些放樣和命名等操作。部分實例程序源代碼如下:

source qunzhuang1;

select yxcurve1;

select-add yxcurve2;

select-add yxcurve3;

select-add yxcurve4;

select-add yxcurve5;

select-add yxcurve6;

select-add yxcurve7;

select-add yxcurve8;

loft;

rename yx1;

服裝輪廓出現(xiàn)后,再在Maya中對服裝進(jìn)行細(xì)節(jié)的修改,然后利用UV編輯器對模型進(jìn)行貼圖,完成服裝建模。

4 實 例

對于傳統(tǒng)的只利用數(shù)字建模的建模方式,只能對簡單的物體進(jìn)行三維重建,重現(xiàn)的效果也只是物體的輪廓重現(xiàn),而對于物體的物理特性,紋理貼圖等這些細(xì)節(jié)問題無法展現(xiàn)。如圖3所示,圖3(a)為輸入的花瓶圖像,圖3(b)為三維重構(gòu)的效果。利用這種建模方法三維重構(gòu)的效果只出現(xiàn)了花瓶的一半的輪廓,沒有任何其他的信息,而對于一些物體結(jié)構(gòu)比較復(fù)雜和三維重現(xiàn)的要求較高的物體,例如需要展現(xiàn)物體全貌、顏色和紋理等,利用這種方法就無法實現(xiàn)。

圖3 花瓶的三維重建Fig.3 The vase 3D reconstraction

為檢驗將數(shù)字建模和物理建模相結(jié)合的基于單幅圖像的唐代服飾的三維重構(gòu)效果,本文以一件典型的唐代歌舞伎服式為例,此服是臨自1955年6月的《美術(shù)》雜志所刊載的唐陶俑[15]。如圖4所示,圖4(a)為做了直線標(biāo)記的無褶皺服裝圖片,圖4(b)為得出三維數(shù)據(jù)后服裝橫截面的曲線,圖4(c)為在Maya中的服裝三維模型雛形,圖4(d)為貼圖后完成的服裝三維模型。

圖4 服裝的三維重建Fig.4 3D model clothing

由上述實驗可得,利用這種方法對二維唐代服飾圖片進(jìn)行三維重現(xiàn),能夠較為精確地恢復(fù)服裝原有的風(fēng)貌,避免了利用傳統(tǒng)建模方式對復(fù)雜物體進(jìn)行三維恢復(fù)時出現(xiàn)嚴(yán)重失真的情況,而且在建模過程中,不需要較高的建?;A(chǔ),易于操作,降低了建模難度,提高了效率。

5 結(jié) 語

針對傳統(tǒng)的三維重構(gòu)方法在對復(fù)雜物體進(jìn)行三維恢復(fù)時出現(xiàn)嚴(yán)重失真的問題,本文綜合運用計算機(jī)視覺、圖像處理及Maya三維建模的理論與技術(shù),提出了一種實用的基于單幅圖像的唐代服飾的三維重構(gòu)方法。應(yīng)用實例表明,與傳統(tǒng)的三維重構(gòu)技術(shù)相比,本文采用的數(shù)字建模和物理建模相結(jié)合的方法有效解決了傳統(tǒng)建模方法不能協(xié)調(diào)建模時間和模型精細(xì)度的問題。

[1] 孫宇陽. 基于單幅圖像的三維重建技術(shù)綜述[J]. 北方工業(yè)大學(xué)學(xué)報,2011,23(1):9-13.

[2] 蔡欽濤. 基于圖像的三維重建技術(shù)研究[D].杭州:浙江大學(xué),2004.

[3] 朱慶生,羅大江,葛亮,等. 基于多幅圖像的三維重建[J]. 計算機(jī)工程與設(shè)計,2010,31(10):2351-2353.

[4] 張娟. 基于多視圖幾何三維重建[D].南京:南京航空大學(xué),2012.

[5] 趙璐璐,耿國華,王小鳳,等. 基于未標(biāo)定多幅圖的三維重建算法[J]. 計算機(jī)應(yīng)用,2012,32(10): 2802-2805.

[6] 何理想. 基于SFS方法的單幅圖像的三維原型重建的研究[D]. 沈陽:沈陽工業(yè)大學(xué),2009.

[7] 高欣健,張旭東,高亞捷,等. 基于單幅灰度圖像的快速三維重建方法研究[EB/OL]. http://www.cnki.net/kcms/detail/11.2187.TH.20130813.1354.016.html,2013-08-13.

[8] 彭如. 基于自陰影處理的SFS三維重建算法研究[D].南昌:南昌航空大學(xué),2011.

[9] 仇開金. 基于單幅圖像明暗恢復(fù)形狀算法設(shè)計[J]. 計算機(jī)與現(xiàn)代化,2010,6(6):58-59.

[10] 吳鳳和,張曉峰,施法中. 基于單幅圖像數(shù)據(jù)的三維重構(gòu)方法研究[J]. 中國機(jī)械工程,2007,18(17):2071-2075.

[11] 高月芳,羅飛,曹建忠. 由單幅二維灰度圖像重構(gòu)物體表面形狀[J]. 計算機(jī)應(yīng)用研究,2007,24(8):195-197.

[12] HSIEH Jun-wei,LIAO MARK Hong-yuan, KO Ming-tat, et al.Wavelet-based shape from shading[J]. Graphical Models and Image Processing,1995,57(4):1077-3169.

[13] ELHABIAN S, MOSTAFA E, RARA H, et al. Non-Lamebrain model-based facial shape recovery from single image under unknown general illumination[C]. Conference on Computer and Robot Vision,Toronto:IEEE,2012:252-259.

[14] 秦小文,溫志芳,喬維維. 基于OpenCV的圖像處理[J]. 電子測試,2011,7(7):39-41.

[15] 黃輝. 中國歷代服制服式[M].南昌:江西美術(shù)出版社,2011:114-164.

(編 輯曹大剛)

Three-dimensional reconstruction of the Tang Dynasty costumes based on single images

ZHU Yao-lin1, LIU Ya-qi1, YANG Yu-jiao2

(1.College of Electronic & Information, Xi′an Polytechnic University, XI′an 710048, China; 2.College of Architecture,Chang′an University, XI′an 710061, China)

To overcome the limitations of traditional modeling methods, considering the specific feature of modeling of the Tang Dynasty costumes, this paper proposes a method based on single images of three-dimensional reconstruction of the Tang Dynasty costumes, combining digital modeling and physical modeling. Due to the long history of the Tang Dynasty, clothing artifacts left down are mainly the basic two-dimensional watercolor, pottery, etc., the information that can be extracted is limited, so this, research uses using OpenCV automatic scanning technology and the characteristics of the approximate oval cross-section calculated in accordance with clothing digital model of the clothing generally, and the digital model only shows the general outline of clothing, can not render realistic three-dimensional apparel, then the data are input in the Maya 3D modeling software and then carried out the digital model changes and add dynamics to its texture. Combining digital modeling and physical modeling improves the modeling efficiency, shortens modeling time, and reduces the distortion of the model as well.

single image; Tang Dynasty costumes; automatically scan; OpenCV; Maya; MEL

2014-03-16

陜西省科技廳國際合作基金資助項目( 2013KW04-02);西安社科規(guī)劃基金課題(14L06)

朱耀麟,副教授,博士,從事數(shù)字媒體及三維可視化技術(shù)研究。

TP391

:ADOI:10.16152/j.cnki.xdxbzr.2015-03-007

猜你喜歡
單幅三維重建像素點
基于改進(jìn)大氣散射模型的單幅圖像去霧方法
基于CNN的輕量級神經(jīng)網(wǎng)絡(luò)單幅圖像超分辨率研究
基于局部相似性的特征匹配篩選算法
基于Mimics的CT三維重建應(yīng)用分析
基于5×5鄰域像素點相關(guān)性的劃痕修復(fù)算法
基于canvas的前端數(shù)據(jù)加密
基于逐像素點深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
基于稀疏表示和結(jié)構(gòu)自相似性的單幅圖像盲解卷積算法
基于改進(jìn)暗通道和導(dǎo)向濾波的單幅圖像去霧算法
三維重建結(jié)合3D打印技術(shù)在腔鏡甲狀腺手術(shù)中的臨床應(yīng)用