一種基于對稱結(jié)構(gòu)的三維花朵建模方法
【專利摘要】一種基于對稱結(jié)構(gòu)的三維花朵建模方法,包括:1)根據(jù)輸入的單幅花朵圖像,用戶交互式地描繪花朵每個花瓣的兩條邊緣曲線,對花朵邊緣曲線的頂部頂點(diǎn)和底部頂點(diǎn)進(jìn)行最小二乘圓錐擬合,利用擬合得到的圓錐計算花朵各花瓣的對稱面;2)根據(jù)不同種類花朵所固有的對稱特性和各個花瓣的對稱面信息,計算花瓣兩條邊緣曲線上所有采樣點(diǎn)的深度,得到其三維構(gòu)造曲線;3)對于層次結(jié)構(gòu)較明顯的花朵,在擬合圓錐時利用花瓣的逐層處理方式并分別計算花瓣邊緣曲線的采樣點(diǎn)深度信息;4)構(gòu)建出各個花瓣的三維模型,進(jìn)而重建生成整個花朵的三維模型;最后根據(jù)輸入的單幅圖像紋理信息合成花朵的表面紋理,得到具有較強(qiáng)真實(shí)感的花朵模型。
【專利說明】
-種基于對稱結(jié)構(gòu)的H維花朵建模方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明專利針對輸入的單幅花朵圖像,借助用戶少量的交互,提供了一種基于對 稱結(jié)構(gòu)的快速生成=維花朵建模的方法。
【背景技術(shù)】
[0002] =維花朵的建模是計算機(jī)視覺和計算機(jī)圖形學(xué)中的重點(diǎn)問題,加上輸入的僅為單 幅圖像,運(yùn)使得建模的難度進(jìn)一步加大。為了解決運(yùn)個難題,研究者們大多采用=種方法: 1)基于過程式的全交互花朵建模方法,該方法是根據(jù)花弁表、花序W及用戶的臨摹交互來 一步步生成完整的花朵模型;2)基于花朵模型庫的建模方法,即根據(jù)輸入的單幅圖像分析 出花朵在圖像中的位置W及形態(tài),使用=維模型庫的花朵模型來變形擬合二維圖像中的花 朵,從而達(dá)到=維的建模效果;3)基于單幅圖像的半自動花朵建模,即根據(jù)輸入的單幅圖像 進(jìn)行相關(guān)預(yù)處理,由圖像中花朵的所有花瓣擬合生成一個花瓣模板,由該花瓣模板去變形 擬合其他的花瓣,最終生成符合二維投影的=維花朵模型。
[0003] 在計算機(jī)視覺領(lǐng)域,模型深度信息的恢復(fù)是從單幅二維圖像生成=維模型過程中 的難點(diǎn)。為了解決運(yùn)個問題,往往采用人工交互的方法,即根據(jù)輸入的單幅圖像,用戶可W 手繪出圖像中花朵每個花瓣的兩條邊緣曲線。另一方面,在對花朵結(jié)構(gòu)的研究中發(fā)現(xiàn),自然 界中大部分的花朵都具有一定的結(jié)構(gòu)對稱性,主要分為僅有一個對稱面的兩側(cè)對稱和含有 多個對稱面的福射對稱兩種,由于兩側(cè)對稱含有的信息量較少,因此只考慮福射對稱的花 朵建模情況.本發(fā)明假設(shè)二維圖像上的手繪曲線即為=維模型投影輪廓線的平行投影下, 在基于花朵對稱結(jié)構(gòu)的建模過程中,利用自然界中花朵所共有的對稱的性質(zhì),結(jié)合手繪出 的花朵花瓣的邊緣曲線,確定邊緣的對稱匹配關(guān)系求得每個花瓣每條邊緣采樣點(diǎn)處的深 度,進(jìn)而重建出整個花朵的=維模型。在該建模方法中充分利用了花朵的結(jié)構(gòu)對稱性。
【發(fā)明內(nèi)容】
[0004] 為了解決=維花朵建模中交互量大、預(yù)處理復(fù)雜、建模效果差的不足,本發(fā)明提供 了一種方便快捷、高效易學(xué)且真實(shí)感強(qiáng)的基于花朵對稱結(jié)構(gòu)的單幅圖像建模方法。
[0005] 本發(fā)明解決的技術(shù)問題所采用的解決方案是:
[0006] 1)根據(jù)輸入的單幅二維圖像,用戶在圖像畫板上交互式地手動描繪出花朵上每個 花瓣的兩條邊緣曲線,系統(tǒng)即時地捕捉手繪邊緣曲線上的點(diǎn),并插值生成相應(yīng)的二次B樣條 曲線,然后根據(jù)用戶自定義的每條邊緣曲線應(yīng)包含的采樣點(diǎn)數(shù)對得到的二次B樣條曲線進(jìn) 行均勻采樣離散化。
[0007] 2)在確定了花朵上每個花瓣的兩條邊緣手繪曲線后,利用對稱性計算運(yùn)兩個手繪 曲線上每對采樣點(diǎn)的深度信息;基于花朵特殊的對稱結(jié)構(gòu)和生物結(jié)構(gòu),本文在把花瓣的兩 條手繪輪廓線看作其=維構(gòu)造曲線投影線的前提下,先將整個花朵擬合到一個圓錐體上, 通過擬合圓錐確定花朵上每個花瓣的對稱面;算法通過遍歷每個花瓣上的兩條邊緣手繪曲 線,結(jié)合求得的該花瓣對稱面信息,計算出該花瓣兩條構(gòu)造曲線的深度信息;
[0008] 具體地說,首先根據(jù)用戶交互的手繪曲線,將圖像中的花朵整體擬合為一個圓錐, 由于圓錐的底面投影為花瓣頂點(diǎn)擬合的楠圓,因此關(guān)鍵得到圓錐的母線長;由投影變換關(guān) 系可得:
[0009]
(1)
[0010]其中r為擬合圓錐的頂點(diǎn)與圓錐底面圓屯、的投影點(diǎn)的平面距離,AB為擬合的楠圓 的長軸長,BC為擬合楠圓的短軸長,通過計算可W得到母線R的大小,進(jìn)一步可W求出底面 圓屯、的垂直距離h;在平行投影下,所求的=維構(gòu)造曲線上點(diǎn)的X坐標(biāo)和y坐標(biāo)取值即為畫板 上輸入的相應(yīng)花瓣邊緣曲線上采樣點(diǎn)X坐標(biāo)和y坐標(biāo),花朵各個花瓣的兩條邊緣構(gòu)造曲線的 =維信息的計算主要在于采樣點(diǎn)Z坐標(biāo)的計算;在此基礎(chǔ)上,利用花朵的對稱結(jié)構(gòu)可W求出 每個花瓣的對稱面;W-個花瓣的對稱面求取為例:
[00"]
貸)
[001 ^ 其中,(2)式中已知的有0"Z-Oz = h,Oz"-Pz的值可根據(jù)垂直關(guān)系求出,從而可W得 到該花瓣對應(yīng)的法向量n;根據(jù)計算得到每個花瓣的對稱面,求出每個花瓣兩條邊緣曲線上 每對對稱采樣點(diǎn)的深度如下:設(shè)點(diǎn)Pl=(Xl,yl,Zl)和P2=(X2,y2,Z2)分別為花瓣兩條邊緣曲 線上的一對對稱點(diǎn),花瓣對稱面法向量為n=(nx,nY,nz),則有:
[0013]
[0014] (4)
[0015] 從而,可W計算得到花瓣兩條邊緣曲線的各對對稱采樣點(diǎn)深度,進(jìn)而得到每個花 瓣的兩條=維邊緣構(gòu)造曲線。
[0016] 3)對于層次結(jié)構(gòu)較明顯的花朵,在擬合圓錐時利用花瓣的逐層處理方式并分別計 算花瓣邊緣曲線的采樣點(diǎn)深度信息;本發(fā)明僅考慮兩層花朵的建模,用戶首先按順序描繪 出第一層上的所有花瓣,接著繼續(xù)描繪第二層上的所有花瓣,等;設(shè)第一層花瓣數(shù)目為m,算 法將前m個花瓣單獨(dú)保存并作為單個花朵進(jìn)行圓錐擬合處理和深度計算;接著處理第二層 花瓣,設(shè)其花瓣數(shù)目為n,算法將后n個花瓣單獨(dú)保存并進(jìn)行與前m個花瓣類似的處理;運(yùn)里 需要指出的是,由于對同一層的花朵花瓣需要進(jìn)行圓錐擬合,因此要求每一層上的花瓣數(shù) 目至少為3個,當(dāng)然不同層上的花瓣數(shù)目可W有所不同。
[0017] 4)在計算得到每個花瓣的兩條邊緣曲線的深度信息后,為了達(dá)到更好的=維建模 效果,規(guī)定花朵=維模型上每個頂點(diǎn)處的深度值均大于零;在完成每個花瓣的處理后,通過 離散化網(wǎng)格處理構(gòu)建出每個花瓣的=維模型,進(jìn)而得到整個花朵的=維模型;進(jìn)一步,根據(jù) 輸入圖像的紋理信息為生成的花朵模型進(jìn)行紋理合成,最終生成真實(shí)感很強(qiáng)的=維花朵模 型。
[0018] 本發(fā)明的有益效果主要表現(xiàn)在:方便快捷、高效易操作、真實(shí)感強(qiáng)。
【附圖說明】
[0019] 圖1為本發(fā)明用戶輸入圖示例,其中包含用戶的交互手繪線。
[0020] 圖2為圖1實(shí)例中花朵擬合圓錐的效果顯示。
[0021] 圖3為本發(fā)明單個花瓣的網(wǎng)格效果示例。
[0022] 圖4為圖1示例的花朵S維建模效果。
[0023] 圖5為本發(fā)明設(shè)計生成的部分花朵建模示例。
【具體實(shí)施方式】
[0024] 下面參照附圖對本發(fā)明的技術(shù)方法和生成的各種=維花朵模型作進(jìn)一步地描述 和詳細(xì)說明:
[0025] 參照附圖1-一附圖5,基于花朵對稱結(jié)構(gòu)的單幅圖像建模方法包括W下步驟:
[0026] 1)根據(jù)輸入的單幅二維圖像,用戶在圖像畫板上交互式地手動描繪出花朵上每個 花瓣的兩條邊緣曲線,如附圖1所示,系統(tǒng)即時地捕捉手繪邊緣曲線上的點(diǎn),并插值生成相 應(yīng)的二次B樣條曲線,然后根據(jù)用戶自定義的每條邊緣曲線應(yīng)包含的采樣點(diǎn)數(shù)對得到的二 次B樣條曲線進(jìn)行均勻采樣離散化。
[0027] 2)在確定了花朵上每個花瓣的兩條邊緣手繪曲線后,利用對稱性計算運(yùn)兩個手繪 曲線上每對采樣點(diǎn)的深度信息;基于花朵特殊的對稱結(jié)構(gòu)和生物結(jié)構(gòu),本文在把花瓣的兩 條手繪輪廓線看作其=維構(gòu)造曲線投影線的前提下,先將整個花朵擬合到一個圓錐體上, 如附圖2所示,通過擬合圓錐確定花朵上每個花瓣的對稱面;算法通過遍歷每個花瓣上的兩 條邊緣手繪曲線,結(jié)合求得的該花瓣對稱面信息,計算出該花瓣兩條構(gòu)造曲線的深度信息。
[0028] 3)對于層次結(jié)構(gòu)較明顯的花朵,在擬合圓錐時利用花瓣的逐層處理方式并分別計 算花瓣邊緣曲線的采樣點(diǎn)深度信息;根據(jù)輸入的花朵圖像,對位于不同層上的花瓣進(jìn)行相 應(yīng)的圓錐擬合,從而求出不同層上花瓣的對稱面,并通過遍歷每層花瓣的兩條邊緣手繪曲 線,結(jié)合分層處理時得到的相應(yīng)該花瓣的對稱面信息,計算每個花瓣兩條曲線的深度信息; 本發(fā)明僅考慮兩層花朵的建模,用戶首先按順序描繪出第一層上的所有花瓣,接著繼續(xù)描 繪第二層上的所有花瓣,等;設(shè)第一層花瓣數(shù)目為m,算法將前m個花瓣單獨(dú)保存并作為單個 花朵進(jìn)行圓錐擬合處理和深度計算;接著處理第二層花瓣,設(shè)其花瓣數(shù)目為n,算法將后n個 花瓣單獨(dú)保存并進(jìn)行與前m個花瓣類似的處理;運(yùn)里需要指出的是,由于對同一層的花朵花 瓣需要進(jìn)行圓錐擬合,因此要求每一層上的花瓣數(shù)目至少為3個,當(dāng)然不同層上的花瓣數(shù)目 可W有所不同。
[0029] 4)在計算得到每個花瓣的兩條邊緣曲線的深度信息后,為了達(dá)到更好的=維建模 效果,規(guī)定花朵=維模型上每個頂點(diǎn)處的深度值均大于零;在完成每個花瓣的處理后,通過 離散化網(wǎng)格處理構(gòu)建出每個花瓣的=維模型,如附圖3所示,進(jìn)而得到整個花朵的=維模 型;進(jìn)一步,根據(jù)輸入圖像的紋理信息為生成的花朵模型進(jìn)行紋理合成,最終生成真實(shí)感很 強(qiáng)的S維花朵模型,如附圖4所示。
[0030] 附圖1顯示了用戶在輸入圖像上交互式地輸入每個花瓣兩條邊緣曲線;附圖2是在 附圖1用戶手繪曲線的基礎(chǔ)上將整個花朵擬合到一個圓錐上;附圖3顯示了在求得每個花瓣 的對稱面法向量后,得到的花瓣兩條邊緣構(gòu)造曲線,通過離散化網(wǎng)格法得到的單個花瓣的 S角網(wǎng)格模型;附圖4顯示附圖I的輸入圖的最終S維建模效果;附圖5是利用本發(fā)明生成的 花朵模型效果示例,主要分為=個花瓣、四個花瓣、五個花瓣W及六個花瓣的=維花朵建模 效果,附圖5(a)是輸入的花朵圖像,附圖5(b)為對應(yīng)生成的S維模型,附圖5(c)紋理貼圖后 的S維花朵模型,附圖5(d)為花朵模型的側(cè)視圖,附圖5(e)為花朵模型的左或右視圖。
【主權(quán)項(xiàng)】
1. 一種基于對稱結(jié)構(gòu)的三維花朵建模方法,包括以下步驟: 步驟1)根據(jù)輸入的單幅二維圖像,在圖像畫板上以交互方式手工描繪出花朵每個花瓣 的兩條邊緣曲線;并自動捕捉手繪邊緣曲線上的點(diǎn),插值生成相應(yīng)的二次B樣條曲線,根據(jù) 指定的每條邊緣曲線應(yīng)包含的采樣點(diǎn)數(shù)對得到的二次B樣條曲線進(jìn)行均勻采樣離散化; 步驟2)利用對稱性計算花朵每個花瓣的兩條手繪邊緣曲線上每對采樣點(diǎn)的深度信息: 利用花朵特有的對稱結(jié)構(gòu),把花瓣的兩條手繪邊緣曲線看作其三維構(gòu)造曲線的投影線,將 整個花朵擬合到一個圓錐體上,并通過擬合圓錐確定花朵上每個花瓣的對稱面;通過遍歷 每個花瓣上的兩條手繪邊緣曲線,利用計算得到的花瓣對稱面信息,計算出花瓣兩條構(gòu)造 曲線的深度信息; 步驟3)對于具有多層花瓣的花朵,在擬合圓錐時利用花瓣的逐層處理方式進(jìn)行處理并 分別計算花瓣邊緣曲線的采樣點(diǎn)深度信息;本發(fā)明僅考慮兩層花瓣的花朵建模,首先按順 序手工描繪出第一層上的所有花瓣,然后描繪第二層上的所有花瓣;設(shè)第一層花瓣數(shù)目為 m,算法將前m個花瓣單獨(dú)保存并作為單個花朵進(jìn)行圓錐擬合處理和深度計算;接著處理第 二層花瓣,設(shè)其花瓣數(shù)目為η,算法將后η個花瓣單獨(dú)保存并進(jìn)行與前m個花瓣類似的處理; 步驟4)在計算得到每個花瓣兩條邊緣曲線的深度后,為了達(dá)到更好的三維建模效果, 規(guī)定花朵三維模型上每個頂點(diǎn)處的深度值均大于零;在完成每個花瓣的處理后,通過離散 化處理構(gòu)建出每個花瓣的三維網(wǎng)格模型,最終得到整個花朵的三維模型,并利用輸入圖像 紋理信息為生成的花朵模型進(jìn)行紋理合成生成真實(shí)感很強(qiáng)的三維花朵模型。2. 如權(quán)利要求1所述的基于對稱結(jié)構(gòu)的三維花朵建模方法,其特征在于:步驟2中所述 的利用對稱結(jié)構(gòu)計算花瓣構(gòu)造曲線的深度信息,具體是: 首先根據(jù)用戶交互描繪的手繪曲線,將圖像中花朵的整體結(jié)構(gòu)擬合為一個圓錐,由于 圓錐的底面投影為花瓣頂點(diǎn)擬合的橢圓,計算圓錐的母線長如下:由投影變換關(guān)系可得,(1) 其中r為擬合圓錐的頂點(diǎn)與圓錐底面圓心的投影點(diǎn)的平面距離,AB為擬合的橢圓的長 軸長,BC為擬合橢圓的短軸長,通過計算得到母線長度R的大小,進(jìn)一步可以求出底面圓心 的垂直距離h;在平行投影下,所求的三維構(gòu)造曲線上點(diǎn)的X坐標(biāo)和y坐標(biāo)取值即為畫板上輸 入的相應(yīng)花瓣邊緣曲線上采樣點(diǎn)X坐標(biāo)和y坐標(biāo),花朵各個花瓣的兩條邊緣構(gòu)造曲線的三維 信息計算主要在于采樣點(diǎn)z坐標(biāo)的計算;在此基礎(chǔ)上,利用花朵的對稱特性求出每個花瓣的 對稱面;以一個花瓣的對稱面求取為例: (2) 、、 、 .'r彳- --./ 其中,(2)式中已知的有0〃z-0z = h,0〃z-Pz的值根據(jù)垂直關(guān)系求得,從而可以得到該花瓣 對應(yīng)的法向量η;根據(jù)計算得到每個花瓣的對稱面,求出每個花瓣兩條邊緣曲線上每對對稱 采樣點(diǎn)的深度如下:設(shè)點(diǎn)?1=(11,7131)和?2=(12,72,22)分別為花瓣兩條邊緣曲線上的一 對對稱點(diǎn),花瓣對稱面法向量為n = (nx,ny,ηζ),則有: .(3) (4):從而,計算得到花瓣兩條邊緣曲線的各對對稱采樣點(diǎn)深度,進(jìn)而得到每個花瓣的兩條 三維邊緣構(gòu)造曲線。
【文檔編號】G06T17/00GK105957141SQ201610415986
【公開日】2016年9月21日
【申請日】2016年6月15日
【發(fā)明人】繆永偉, 劉麗麗, 張旭東, 劉震
【申請人】浙江工業(yè)大學(xué)