專利名稱:一種采用手繪草圖的三維人體建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種三維人體模型的生成方法,特別是一種采用手繪人體草圖生成三 維人體模型的方法。
背景技術(shù):
近年來,三維虛擬人物在工業(yè)、軍事、生物制藥以及教育領(lǐng)域有著廣泛的應(yīng)用,同 時,三維人物建模技術(shù)在游戲、電影和多媒體方面起著越來越重要的作用,尋找一種簡單有 效地構(gòu)建三維人體模型的方法,成為計算機圖形學(xué)領(lǐng)域的重要課題?,F(xiàn)有的虛擬人物構(gòu)建方法主要分為三個類別創(chuàng)建,重構(gòu),插值。這些方法大多 是從所構(gòu)造的人體模型的真實性入手,以實際的人體結(jié)構(gòu)為基礎(chǔ),按照人體的現(xiàn)實層次 骨架,肌肉,脂肪組織,皮膚等等,來創(chuàng)建符合人體生理結(jié)構(gòu)的人體層次物理模型,并通過 模擬身體各層次的物理性質(zhì)來驅(qū)動人體模型的運動,從而達到模擬仿真人體運動的目的。 典型的方法如文獻 1 :Wilhelms J, Van Gelder A. Anatomically basedmodeling, In: Proceedings of SIGGRAPH'97, ACM SIGGRAPH ; 1997. p. 173-80提出的一種基于解剖學(xué)的生 物建模和模擬方法首先建立一個人體關(guān)節(jié)和骨架模型,在此基礎(chǔ)上根據(jù)解剖學(xué)知識構(gòu)建 單獨的骨架,肌肉,并生成皮下組織結(jié)構(gòu),用這些層次表示身體形狀;皮下組織體素化為三 維網(wǎng)格,在此基礎(chǔ)上使用等勢面技術(shù)抽取皮膚層;皮膚層被建模為一層彈性網(wǎng)格結(jié)構(gòu)。在運 動模擬過程中,首先確定關(guān)節(jié)的運動,在此基礎(chǔ)上計算骨架,皮下組織和肌肉的新位置,肌 肉在保持體積不變的情況下進行形變;皮膚錨點隨皮下組織進行位移,其他部分位置由彈 性網(wǎng)格松弛得到)。上述各類方法能夠建立極為逼真的人體模型,但是一般需要大量的專業(yè) 技能以及特殊的設(shè)備(傳統(tǒng)的/視頻照相機,三維人體掃描儀,運動捕獲系統(tǒng),等等),專業(yè) 軟件,以及熟練的計算機技能。如果不經(jīng)過專門的訓(xùn)練,普通用戶(例如平面藝術(shù)家和設(shè)計 者)難以參與到創(chuàng)建個性化三維虛擬人物模型的過程中去。由于現(xiàn)有的動畫設(shè)計流程通常將人物形象設(shè)計與三維人物建模過程分離開來, 一方面使設(shè)計師的創(chuàng)作意圖難以完整而真實地體現(xiàn)在人體模型中,另一方面也使整個人 物設(shè)計建模過程變得復(fù)雜冗長。通過將手繪草圖交互方式引入到人體建模流程中,能夠 將上述兩個過程結(jié)合起來,從而讓設(shè)計師能夠使用紙筆交互方式直接構(gòu)造三維人體模型。 基于手繪草圖的三維模型生成技術(shù)的核心問題是“從圖畫中獲取三維形狀(ShapeFrom Drawings) ”,即如何從二維平面草圖中恢復(fù)物體的三維信息。這個問題面臨的主要困難在 于與給定二維圖畫相匹配的三維模型信息具有不唯一性(一對多映射)。由于圖像和視 頻等數(shù)字媒體中對象或場景的三維信息是通過投影以二維形式呈現(xiàn)的,因此,“從二維平面 中獲得(三維)深度信息”也是計算機視覺領(lǐng)域的一個基本問題,這一領(lǐng)域解決這個問題的 典型方法是從X生成形狀技術(shù)(shape from X :X代表視頻、陰影、紋理、聚焦和光流等視覺 特征),一些以圖像導(dǎo)引的草繪系統(tǒng)采用此原理來支持用戶通過在多個標準正交構(gòu)造平面 上的草圖像輪廓來生成三維線架模型。但是,手繪草圖是以粗略形狀來創(chuàng)建三維模型,而不 強調(diào)形體構(gòu)成的細節(jié)信息,且多視角手繪草圖方式不符合用戶的日常繪制習(xí)慣。
已有的采用單幅草圖創(chuàng)建三維人體模型過程主要有以下方法膨脹體建模方 2 Igarashi T, Matsuoka S, Tanaka H. Teddy -.a sketching interface for 3D
freeformdesign. In proceedings of SIGGRAPH‘99,ACM SIGGRAPH ; 1999. p. 409-16 提出了 一種通過繪制輪廓物體輪廓創(chuàng)建膨脹體模型的通用方法,該方法可以用來快速創(chuàng)建人體模 型,但是其膨脹參數(shù)為固定值,并不能夠表現(xiàn)用戶繪制的人體特征;基于模板的方法,文獻 3 Chen Mao,Sheng Feng Qin,David Wright,ChenMao,Sheng Feng Qin andDavidWright, Asketch-based approachto human body modelling,Computers&Graphics(2009),doi 10. 1016/j. cag. 2009. 03. 028提出了一種基于手繪人體輪廓的三維人體模板形變方法,該 方法允許用戶繪制人體骨架線及皮膚輪廓構(gòu)造簡單的人體幾何模型。但是,該方法所使用 的模板數(shù)據(jù)來源于尸體掃描圖片,一方面需要復(fù)雜的圖像識別過程來構(gòu)建模板,限制了模 板的多樣性;另一方面,對于人體模板的定義較為簡單,因此僅能表現(xiàn)部分人體姿態(tài)。同時, 該方法通過指定的人體模板進行形變,不能準確體現(xiàn)用戶的繪制意圖。概括起來,手繪草圖是三維人體模型創(chuàng)建的有效方式,但已有基于單幅草圖的三 維人體模型創(chuàng)建方法對于所表現(xiàn)的人體特征有較大限制,如膨脹體建模方法限定了人體 深度參數(shù)為固定數(shù)值,不能體現(xiàn)人體的胖瘦等生理特征;Chen Mao的基于模板的方法對模 板定義簡單,且無法自動選擇合適的人體模板進行形變,因此無法表現(xiàn)用戶夸張的繪制意 圖。顯然,這些方式不能支持用戶較自由地進行形體設(shè)計。實際應(yīng)用中,用戶在利用手繪草 圖表達三維人體時,通常按照人體骨架——皮膚/肌肉輪廓——細節(jié)線條的順序,采用漸進 式的繪制方法描述人體,因此在人體草繪建模過程中需要對骨架和皮膚分別進行建模,即 要求所用模板必須為層次化模板;同時,用戶繪制人體時往往會通過所繪制的人體結(jié)構(gòu)體 現(xiàn)人體的生理特征,而現(xiàn)有的基于草圖的三維創(chuàng)建方法并沒有充分利用這些特征,因此,如 何捕捉用戶繪制過程中體現(xiàn)的人體生理特征,并將這些特征與模板選擇過程有機結(jié)合并為 用戶提供自由的草圖繪制方式是手繪草圖交互創(chuàng)建三維人體模型面臨的重要課題。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明公開了一種將徒手自由繪制的人體骨架線及皮膚 輪廓草圖直接轉(zhuǎn)換成三維數(shù)字模型的一種采用手繪草圖的三維人體建模方法。本發(fā)明公開了一種采用手繪草圖的三維人體建模方法,包括以下步驟步驟一,草圖解析將人體草圖分解為骨架筆畫集Ss、輪廓筆畫集Sp以及線索筆畫 集S。;對骨架筆畫集Ss進行骨架結(jié)構(gòu)識別得到二維人體姿態(tài),根據(jù)骨架結(jié)構(gòu)識別對輪廓筆 畫集進行骨架輪廓對應(yīng)并提取草圖輪廓特征,根據(jù)骨架結(jié)構(gòu)識別對線索筆畫集進行線索判 定;步驟二,模型特征提取在預(yù)定義的人體網(wǎng)格模型%上進行人體骨架結(jié)構(gòu)抽取,定 義標準三維人體模型標定關(guān)節(jié)點并計算深度,得到標準人體骨架結(jié)構(gòu)Ghs ;進行截面輪廓特 征抽取,對標準三維人體模型進行分割,并在標準人體骨架結(jié)構(gòu)Ghs的基礎(chǔ)上分別計算人體 四肢及軀干網(wǎng)格模型的輪廓截面特征; 步驟三,深度恢復(fù)在二維人體姿態(tài)的基礎(chǔ)上,根據(jù)骨架結(jié)構(gòu)識別對線索筆畫集進 行線索判定的結(jié)果及人體骨架結(jié)構(gòu)計算三維人體姿態(tài),根據(jù)三維人體姿態(tài)進行輪廓特征對 應(yīng),計算對應(yīng)特征之間的差異得到輪廓形變參數(shù),并 在輪廓截面特征的基礎(chǔ)上計算對應(yīng)輪廓特征的比值得到三維形變參數(shù);步驟四,三維重建根據(jù)三維形變參數(shù)對四肢及軀干網(wǎng)格模型的截面輪廓特征進 行形變,并根據(jù)人體骨架結(jié)構(gòu)將各肢體網(wǎng)格模型轉(zhuǎn)換到世界坐標系,最后對各肢體網(wǎng)格模 型進行模型網(wǎng)格混合,得到所述三維人體模型。本發(fā)明中,優(yōu)選地,步驟一中,對骨架筆畫集Ss中的骨架筆畫B」進行分割,將所有 筆畫分為直線和橢圓兩類圖元,根據(jù)圖元的位置關(guān)系將筆畫識別為對應(yīng)的骨架段,并將各 骨架筆畫h的端點進行合并得到對應(yīng)的人體關(guān)節(jié)點;關(guān)節(jié)點位置與骨架段方向構(gòu)成人體骨 架結(jié)構(gòu)Gss,作為二維人體姿態(tài)參數(shù);計算輪廓筆畫集Sp中每一條輪廓筆畫Pi的閉包矩形與人體骨架結(jié)構(gòu)Gss中每一條 骨架筆畫B」閉包矩形的重合程度,重合程度= A。u/Ap其中A。u為輪廓筆畫Pi與骨架 筆畫B」的閉包矩形重疊面積,A^為骨架筆畫B」的閉包矩形面積;取重合程度最大的骨 架筆畫B」與輪廓筆畫Pi對應(yīng),并根據(jù)骨架筆畫B」對輪廓筆畫Pi進行等距離采樣計算草圖 輪廓特征;計算線索筆畫集S。中每一條線索筆畫Ci與人體骨架結(jié)構(gòu)Gss中每 一條骨架筆畫Bj 的閉包矩形的重合程度,重合程度O u = HlikAli,其中Ili為線索筆畫Ci的采樣點數(shù),Hlik為線 索筆畫Ci落在骨架筆畫B」閉包矩形內(nèi)的采樣點數(shù);取重合程度σ u最大的骨架筆畫Bj,將 線索筆畫Ci判定作用于該骨架筆畫B」。本發(fā)明中,優(yōu)選地,步驟二中,包括以下步驟定義標準人體骨架結(jié)構(gòu)Ghs = {Vr EB},其中Vt為標準人體關(guān)節(jié)點集合,Eb為標準 人體骨架段集合;標準人體骨架結(jié)構(gòu)Ghs中共包含15個標準人體關(guān)節(jié)點以及12段標準人體 骨架段;根據(jù)標準人體關(guān)節(jié)點集合Vj,在人體網(wǎng)格模型Mh的正視圖上標定各人體關(guān)節(jié)點Vi 的二維位置(X,y),并計算該關(guān)節(jié)點Vi處人體模型的深度均值g,根據(jù)標準人體骨架段集合 Eb將15個標準人體關(guān)節(jié)點Vtl,V1,…,V14進行連接,得到該人體網(wǎng)格模型Mh的人體骨架結(jié) 構(gòu) Gmh ;在人體網(wǎng)格模型Mh的左右肩膀和左右大腿根處將其劃分為四肢和軀干,根據(jù)人體 骨架結(jié)構(gòu)Gmh對各骨架段Bi所對應(yīng)肢體的網(wǎng)格模型進行采樣,通過輪廓截面抽取算法計算 各肢體網(wǎng)格模型的截面半徑集合,得到各肢體的輪廓截面特征Scsd ;本發(fā)明中,優(yōu)選地,步驟三中,包括以下步驟以人體骨架結(jié)構(gòu)Gss中的腰部關(guān)節(jié)點C1為根節(jié)點遍歷調(diào)整人體骨架結(jié)構(gòu)Gss中的 骨架段方向設(shè)每條骨架段所包含的線索筆畫上限為mmax條,對每條包含mk條線索線的骨 架段Bk計算骨架段Bk的傾角θ = HikJi/2mmax,以骨架段Bk中距根節(jié)點近的關(guān)節(jié)點為中心, 按照視平面垂直方向移動距根節(jié)點遠的關(guān)節(jié)點位置,并在人體骨架結(jié)構(gòu)Gss所定義的關(guān)節(jié) 點自由度限制下計算各關(guān)節(jié)點的深度,得到新的人體骨架結(jié)構(gòu)G' ss作為三維人體姿態(tài)參 數(shù);根據(jù)三維人體姿態(tài)參數(shù)將各骨架段的草圖輪廓特征與模型截面輪廓特征進行對 應(yīng),計算對應(yīng)參數(shù)之間的縮放比例作為二維形變參數(shù),并根據(jù)模型截面輪廓特征對二維形 變參數(shù)進行線性插值得到三維形變參數(shù)。本發(fā)明中,優(yōu)選地,步驟四中,包括以下步驟
在對應(yīng)骨架段的局部坐標系下,通過模型輪廓截面特征,根據(jù)人體三維形變參數(shù) 計算各肢體部分截面采樣點的局部坐標,并根據(jù)人體骨架結(jié)構(gòu)G' ss將所有截面采樣點的 坐標轉(zhuǎn)化為世界坐標系坐標,得到人體四肢及軀干網(wǎng)格模型;根據(jù)肢體之間的連接情況將肢體混合過程分為肘和膝關(guān)節(jié)混合、肩部混合、胯部 混合三類,并對肘和膝關(guān)節(jié)混合以及胯部混合采用對應(yīng)點插值的方法進行形變,對肩部混 合采用基于特征點的形變方法進行形變,對相鄰肢體網(wǎng)格模型進行混合,得到完整的人體 網(wǎng)格模型。本發(fā)明中,優(yōu)選地,所述筆劃分割算法基于引力模型,定義任意點A和點B兩點之間的引力大小為<formula>formula see original document page 7</formula>
其中,α和β分別為點A和點B的轉(zhuǎn)角,Dis (Α,B)為點A和點B之間的距離,對 于任意一個頂點,計算兩個相鄰點對它的吸引,如果引力值超過了閾值,將該點和相鄰點合 并,對任意曲線遍歷其所有采樣點進行合并,計算剩余的頂點數(shù)Vmin,并根據(jù)剩余的頂點數(shù) Vmin將該曲線識別為直線或者橢圓。本發(fā)明中,優(yōu)選地,所述通過輪廓截面抽取算法計算各肢體網(wǎng)格模型的截面半徑 集合,包含以下步驟對人體骨架結(jié)構(gòu)中的各骨架段進行等距離采樣,采樣點數(shù)根據(jù)標準人體骨架結(jié)構(gòu) 中的預(yù)設(shè)值確定;在各采樣點處作垂直于骨架段的平面,與人體網(wǎng)格模型相交,得到骨架段垂面;在骨架段垂面與人體網(wǎng)格模型的交線上,以對應(yīng)采樣點為中心進行等份角度η采
樣,其中0° <η< 360°,得到該采樣點對應(yīng)的$個截面半徑長度;所有骨架段的所有采樣點對應(yīng)的截面半徑長度構(gòu)成的集合即為模型的輪廓截面 特征集合。有益效果本發(fā)明的優(yōu)點在于首先,本發(fā)明允許用戶利用手繪草圖繪制人體正 視圖骨架和輪廓,并直接生成三維網(wǎng)格模型,符合動畫角色設(shè)計師的平面繪制習(xí)慣,簡化了 人體建模流程,提高了用戶繪制方式的自然性,并大大減少了用戶進行人體建模的時間;其 次,本發(fā)明采用基于人體生理距離的特征向量選擇與用戶繪制特征相吻合的人體模板用于 形變,增強了結(jié)果模型對于用戶繪制意圖的體現(xiàn),能夠更好地表達用戶的設(shè)計創(chuàng)意;最后, 本發(fā)明在三維重建階段引入了模型幾何混合過程,可從整體上進一步保證重建結(jié)果的有效 性。
下面結(jié)合附圖和具體實施方式
對本發(fā)明做更進一步的具體說明,本發(fā)明的上述和 /或其他方面的優(yōu)點將會變得更加清楚。圖1是標準人體骨架結(jié)構(gòu)及關(guān)節(jié)點標定示意圖。圖2是本發(fā)明的處理流程和功能構(gòu)成。圖3圖4是本發(fā)明的應(yīng)用實例。
具體實施例方式本發(fā)明提出了一種采用手繪人體草圖生成三維人體模型的方法,允許用戶通過繪制人體骨架、輪廓及線索草圖直接構(gòu)建三維人體模型。其實施主要涉及草圖解析、模型特征 提取、深度恢復(fù)和三維重建四大關(guān)鍵技術(shù),其處理流程如圖2所示。用戶顯式切換繪制模 式,分別繪制人體骨架筆畫,人體輪廓筆畫,以及線索筆畫,在草圖解析部分對這三種筆畫 分別進行處理通過骨架結(jié)構(gòu)識別將骨架筆畫集識別為人體關(guān)節(jié)點和骨架段圖元,根據(jù)骨 架結(jié)構(gòu)將輪廓筆畫及線索筆畫與骨架筆畫進行對應(yīng),并根據(jù)骨架筆畫對相應(yīng)的輪廓筆畫進 行采樣得到草圖輪廓特征;在模型特征提取部分,根據(jù)用戶在人體模型正視圖上標定的關(guān) 節(jié)點位置,計算各關(guān)節(jié)點深度值并連接相應(yīng)關(guān)節(jié)點建立人體骨架結(jié)構(gòu),然后將人體模型手 動劃分為四肢和軀干,對每一部分肢體根據(jù)對應(yīng)的骨骼段提取輪廓截面特征;在深度恢復(fù) 部分,在線索筆畫的指導(dǎo)下根據(jù)人體骨架結(jié)構(gòu)將二維人體姿態(tài)映射為三維人體姿態(tài),根據(jù) 三維人體姿態(tài)對草圖輪廓特征與輪廓截面特征之間進行對應(yīng),計算對應(yīng)特征之間的差異得 到輪廓形變參數(shù),并在輪廓截面特征的基礎(chǔ)上計算縮放比例得到三維形變參數(shù);在三維重 建部分,根據(jù)三維形變參數(shù)對各肢體網(wǎng)格模型進行形變,并根據(jù)人體骨架結(jié)構(gòu)將各肢體網(wǎng) 格模型轉(zhuǎn)換到世界坐標系,最后對各肢體網(wǎng)格模型進行模型網(wǎng)格混合,得到三維人體網(wǎng)格 模型。下面分別介紹各部分的主要實施方式。1.草圖解析用戶顯式繪制人體骨架、人體輪廓及線索筆畫,其中包括骨架筆畫集Ss,輪廓筆畫 集sp,以及線索筆畫集S。,在草圖解析過程中,對這三種筆畫集分別進行識別處理。1. 1骨架筆畫集處理本發(fā)明允許用戶按照標準人體骨架結(jié)構(gòu)Ghs繪制二維人體骨架筆畫集Ss,并根據(jù) 骨架筆畫之間的位置關(guān)系將骨架筆畫集Ss識別為人體骨架結(jié)構(gòu)Gss (人體骨架結(jié)構(gòu)Gss為根 據(jù)草圖解析得到的平面化的人體骨架結(jié)構(gòu),與標準人體骨架結(jié)構(gòu)Ghs具有相同的結(jié)構(gòu),但是 具有不同的關(guān)節(jié)點位置、骨架段走向等參數(shù)),骨架筆畫集Ss解析過程包括如下步驟1)筆劃分割采用基于引力模型的筆劃分割方法(孫正興,徐曉剛等,支持方案設(shè) 計的圖形輸入工具,《計算機輔助設(shè)計與圖形學(xué)學(xué)報》,2003,15(9) :1145 1152),將用戶 繪制的骨架筆畫集Ss中的筆畫識別為橢圓和直線兩類圖元。其基本思想為點與點之間有 相互吸引的趨勢,如果這種趨勢大于某一個閾值的話,就認為這兩個點之間的內(nèi)部能量很 大而受到外部的影響較小,可以將它們合為一個點。設(shè)曲線上任一點A的相鄰點為點B和 點C,點A受到點B和點C的吸引。如果點B對點A的吸引力更強并且高于設(shè)置的閾值,則 將點A和點B合并為一點。給定點A,點B的轉(zhuǎn)角分別為α,β,Dis (A,B)是A,B兩點的距 離,f(A,B)是兩頂點之間的引力,定義兩頂點之間的吸引力為<formula>formula see original document page 8</formula>
對于任意一頂點A,計算兩個相鄰點B和點C對它的引力f(A,B)和引力f(A,C), 如果引力值超過了閾值,將該點和相鄰點合并。骨架筆畫集Ss的筆劃分割過程包括以下步驟步驟1 對每一頂點A,根據(jù)筆畫線走向找到上鄰點B和下鄰點C,計算引力差值 F(A) = f (A, B) -f (A, C)。
步驟2 選擇引力差值絕對值IF(A) I最大的點A。步驟3 如果引力差值絕對值IF(A) Ι小于設(shè)定的引力閾值,則停止計算,否則將點 A與點B合并(如果引力差值F(A) >0)或者與C合并(如果引力差值F(A) < 0);所述閾 值一般可以設(shè)定為0 0. 5,本實施例中設(shè)定為0. 5。步驟4 如果剩余點的數(shù)目小于4,則停止計算。步驟5 返回步驟1,直到所有頂點遍歷完畢。步驟6 計算最后剩余頂點數(shù)Vmin,若剩余頂點數(shù)Vmin彡5,則最終形狀為直線;若剩 余頂點數(shù)Vmin > 5,則最終識別成橢圓。步驟7 重復(fù)步驟1 6,直到所有筆畫分割完畢。步驟8 最終,若解析得到13個圖元(12個直線圖元和1個橢圓圖元),則認為輸 入的草圖是有效的;否則解析失敗。2)骨架結(jié)構(gòu)識別根據(jù)圖元之間的位置關(guān)系將所有圖元識別為標準人體骨架結(jié) 構(gòu)GHS中對應(yīng)的骨架段,其算法流程包括如下步驟步驟1 將橢圓圖元識別為頭部Chead。步驟2 將距離頭部Chead最近的圖元識別為上身QA。步驟3 將距離上身CtlC1另一端點最近的圖元識別為下身C1Cy步驟4 將距離頭部Chead次遠的圖元識別為肩膀L1Rp步驟5 將距離肩膀L1R1的2個端點最近的圖元識別為左上臂L1L2和右上臂R1Ry步驟6 將余下未識別圖元中距離左上臂L1L2最近的圖元識別為左小臂L2L3,將距 離右上臂R1R2最近的圖元識別為右小臂R2R3。步驟7 將余下未識別圖元中距離下身C1C2最近的圖元識別為髖部L4R4。步驟8 將余下未識別圖元中距離髖部L4R4的2個端點最近的圖元分別識別為左 大腿L4L5和右大腿R4R5。步驟9 將余下未識別圖元中距離左大腿L4L5最近的圖元識別為左小腿L5L6,將距 離右大腿R4R5最近的圖元識別為右小腿R5R6。3) 二維姿態(tài)估計根據(jù)圖元對應(yīng)骨架段的連接情況,合并相應(yīng)的端點并識別為人 體關(guān)節(jié)點,得到二維人體骨架結(jié)構(gòu)Gss,其算法流程包括以下步驟步驟1 將與其他骨架段端點不相連接的所有端點直接標記為人體關(guān)節(jié)點,包括 頸部Q1,下腹部C2,左腕L3,右腕R3,左踝L6,右踝R6 ;步驟2 將鄰接骨架段的對應(yīng)端點坐標進行平均,所得到的中點作為對應(yīng)的人體 關(guān)節(jié)點,包括腰部C1,左肩L1,左肘L2,右肩R1,右肘R2,左胯L4,左膝L5,右胯R4,右膝R5 ;經(jīng)過上述3個步驟,最終將用戶輸入的人體骨架筆畫集Ss解析為人體骨架結(jié)構(gòu)
Gss。1. 2輪廓筆畫處理在解析得到人體二維骨架結(jié)構(gòu)Gss后,將輪廓筆畫集Sp中的輪廓筆畫與相應(yīng)的骨 架段進行對應(yīng),并根據(jù)對應(yīng)的骨架段對輪廓筆畫進行采樣,得到草圖輪廓特征。輪廓筆畫集 Sp的解析過程包括以下步驟1)骨架-輪廓對應(yīng)根據(jù)骨架筆畫集&的解析結(jié)果,首先,計算各骨架段圖元的閉 包矩形,作為骨架-輪廓對應(yīng)的判斷依據(jù)對于四肢部分的骨骼,閉包矩形的大小為預(yù)設(shè)值(設(shè)定閉包矩形的長度為對應(yīng)骨架段的長度,其寬度為對應(yīng)骨架段長度的1/2);對于軀干部分的骨骼,其閉包矩形大小根據(jù)對應(yīng)的連接骨骼長度確定(即上身CtlC1/下身C1C2的閉包 矩形大小分別根據(jù)肩膀L1R1/髖部L4R4的長度確定,閉包矩形的寬度為長度的1/2)。然后, 計算各輪廓筆畫的閉包矩形,對每一條輪廓筆畫,計算各骨架段與其閉包矩形的重合程度, 將該輪廓筆畫與閉包重合度最大的骨架段相對應(yīng),其算法流程包括如下步驟步驟1 計算骨架筆畫Bk的閉包矩形RBk,其面積為Ak ;步驟2 計算輪廓筆畫Ci的閉包矩形Rci ;步驟3 對每一條骨架筆畫Bk計算輪廓筆畫的閉包矩形Ra與骨架筆畫的閉包矩形 Rek的重合面積Aik ;步驟4 計算閉包矩形重合程度η ik = Aik/Ak ;步驟5 重復(fù)步驟3 4,直到所有骨架段均被計算;步驟6 選取閉包矩形重合程度η ik最大的骨架筆畫Bk,將輪廓筆畫Ci與該骨架 筆畫Bk判定為對應(yīng)關(guān)系;步驟7 重復(fù)步驟2 6,直到輪廓筆畫集Sp中的所有筆畫均已計算。2)草圖輪廓特征提取根據(jù)骨架筆畫對相應(yīng)的輪廓筆畫進行等距離采樣,計算采 樣點到骨架筆畫的距離集合作為草圖輪廓特征,其算法流程包括如下步驟步驟1 根據(jù)標準人體骨架結(jié)構(gòu)Ghs中骨架段的預(yù)設(shè)截面數(shù)nk,將骨架筆畫集Ss中 的對應(yīng)筆畫Bk等分為nk-l段,采樣得到nk個采樣點Pl,p2,…,Pnk(包括骨架筆畫的兩個 端點);本發(fā)明中對應(yīng)不同部位的骨架段采用等分為6 16段進行等距離采樣。步驟2 在骨架筆畫Bk的采樣點Pl,p2,…,Pnk處,分別作直線I1, 12,…,Ink垂直 于骨架筆畫Bk ;步驟3 計算每一條垂線Ii與該骨架筆畫Bk所對應(yīng)的輪廓筆畫的交點,記骨架筆 畫Bk順時針方向交點為Cili,逆時針方向交點為CikK ;步驟4 計算交點Cili和交點CikK到骨架筆畫Bk的距離分別為草圖輪廓特征參數(shù) 中的半徑Dili和草圖輪廓特征參數(shù)中的半徑DikK ;步驟5 將骨架筆畫Bk所有采樣點距離DikL的集合記為SkL2d = {DlkL, D2kL,…,DnkJ, 距離 DikK 的集合記為 SkK2d = {DlkE, D2kE, -,DnkJ ;步驟6 重復(fù)步驟1 5,直到骨架筆畫集Ss中所有筆畫均已計算,將草圖輪廓特 liEi 己為 fpL2d 一 {S1L2d,S2L2d,…,S12L2d}禾口 fpR2d — {S1R2d, S2R2d,…,S12r2J ο1. 3線索判定本發(fā)明中采用線索筆畫的數(shù)量對應(yīng)骨架段的傾角大小,并以此為指導(dǎo)將二維人體 姿態(tài)映射為三維人體姿態(tài);在線索筆畫集S。的解析過程中,通過計算線索筆畫與骨架筆畫 閉包的重合程度σ,將線索筆畫與對應(yīng)的骨架筆畫進行綁定,其計算流程包括以下步驟步驟1 對線索筆畫Ci,設(shè)其采樣點總數(shù)為Iii ;步驟2 對每一條骨架筆畫Bk,計算線索筆畫Ci的采樣點中落在骨架筆畫Bk的閉 包矩形RBk內(nèi)部的采樣點數(shù)量Hlik ;步驟3 計算線索筆畫Ci與骨架筆畫Bk的重合程度σ ik = HiikAii ;步驟4 將線索筆畫Ci與重合程度σ ^最大的骨架筆畫Bk進行綁定,若最大重合 程度σ ik < 2/3,則放棄該線索筆畫Ci ;
步驟5 重復(fù)步驟1 4,直到所有的線索筆畫均已綁定或放棄。2.模型特征提取本發(fā)明中,人體模型的特征由人體骨架結(jié)構(gòu)及模型的輪廓截面特征來表示,通過 在人體模型上抽取人體骨架結(jié)構(gòu)來表現(xiàn)人體姿態(tài),并通過抽取模型的輪廓截面特征來表現(xiàn) 人體各肢體的形狀特征。模型特征提取通過人體骨架結(jié)構(gòu)抽取和輪廓截面特征提取兩個步 驟完成。2. 1人體骨架結(jié)構(gòu)抽取用戶根據(jù)標準人體骨架結(jié)構(gòu)Ghs在人體網(wǎng)格模型Mh的正視圖上標定人體關(guān)節(jié)點位 置,計算各關(guān)節(jié)點深度值,并連接相應(yīng)關(guān)節(jié)點建立人體骨架結(jié)構(gòu)Gmh,人體骨架結(jié)構(gòu)抽取的過 程包括以下幾個步驟1)預(yù)定義標準人體骨架結(jié)構(gòu)Ghs 在抽取人體截面模板前,首先定義標準人體骨架 結(jié)構(gòu)Ghs = {VT,EB},其中Vt為人體關(guān)節(jié)點集合,包含了人體關(guān)節(jié)點的三維坐標;Eb為人體骨 架段集合,包含了人體骨架段的連接情況。標準人體骨架結(jié)構(gòu)Ghs如圖Ia所示,其中人體關(guān) 節(jié)點集合\共包含了 15個關(guān)節(jié)點的三維位置,包括Ctl(頸部),C1(腰部),C2(下腹部), L1 (左肩),L2 (左肘),L3(左腕),禮(右肩),R2 (右肘),R3(右腕),L4(左胯),L5(左膝), L6(左踝),R4 (右胯),R5 (右膝),R6(右踝);人體骨架段集合Eb共包含了 12個骨架段的 長度和方向,每一條骨架段由連接2個關(guān)節(jié)點的直線構(gòu)成,包括CtlC1 (上身),C1C2 (下身), L1R1 (肩膀),L1L2 (左上臂),L2L3 (左下臂),R1R2 (右上臂),R2R3 (右下臂),L4R4 (髖部), L4L5 (左大腿),L5L6 (左小腿),R4R5 (右大腿),R5R6 (右小腿)。根據(jù)是否進一步抽取橫截面 信息,可將所有骨骼分為普通骨骼(抽取橫截面)和連接骨骼(不抽取橫截面)兩類。在本 文方法所采用的骨架結(jié)構(gòu)中,除了肩部和髖部為連接骨骼外,其余部位的骨骼均為普通骨 骼。該骨架結(jié)構(gòu)參照文獻4 Mao C, Qin SF, WrightDK. A sketch-based gesture interface for rough 3D stick figure animation, In Proceedings ofEurographics Workshop on Sketch Based Interfaces and Modeling, 2005.進行構(gòu)建,能夠表現(xiàn)人體四肢和軀干的基 本結(jié)構(gòu),并且能夠滿足添加姿態(tài)和運動數(shù)據(jù)的要求。2)人體骨架結(jié)構(gòu)抽取根據(jù)標準人體骨架結(jié)構(gòu)Ghs,用戶在人體網(wǎng)格模型Mh的正視 圖上標定各人體關(guān)節(jié)點的二維位置(Xi,Yi);對每一個關(guān)節(jié)點Vi,在正視圖下計算人體網(wǎng)格 模型Mh在該關(guān)節(jié)點Vi的二維位置(Ui)坐標下的深度均值,如圖Ib所示。其算法流程 如下步驟1 根據(jù)標準人體骨架結(jié)構(gòu)Ghs,用戶在人體網(wǎng)格模型Mh的正視圖上標定各人 體關(guān)節(jié)點Vi的二維位置;步驟2 在關(guān)節(jié)點Vi處作投影平面的垂線Ii,計算垂線Ii與人體網(wǎng)格模型Mh的交占.
^ \\\ 步驟3 設(shè)垂線Ii與人體網(wǎng)格模型Mh有η個交點,將所有交點的深度值記為Z1,
Ζ。,· · · , Zn \步驟4 計算深度均值為3 = (Σ^)/",關(guān)節(jié)點Vi的三維位置為(Lhf).步驟5 重復(fù)步驟1 4,直到標準人體骨架結(jié)構(gòu)Ghs的關(guān)節(jié)點集合Nj中定義的所 有關(guān)節(jié)點都被標定完畢。
步驟6 將所有關(guān)節(jié)點按照標準人體骨架結(jié)構(gòu)Ghs的骨架段集合Eb進行連接,得到 人體骨架結(jié)構(gòu)Gm。本發(fā)明中所述的人體網(wǎng)格模型Mh可以采用通用的人體網(wǎng)格模型,比如采用三維掃 描儀直接掃描獲得的人體網(wǎng)格模型。2. 2輪廓截面特征抽取本發(fā)明將人體模型與骨架結(jié)構(gòu)分段綁定,根據(jù)各個骨架段和對應(yīng)部分的人體網(wǎng)格模型計算該骨架段的輪廓截面半徑集合,作為人體模型的輪廓截面特征。由于人體網(wǎng)格模 型Mh是內(nèi)部連通的,人體肩部和骨盆處無法直接得到對應(yīng)肢體的完整橫截面數(shù)據(jù),因此本 文要求用戶在模型特征提取時必須先在肩部和胯部對人體模型進行切割,將其手動劃分為 四肢和軀干5個部分,并將骨架模板中的各骨架段對應(yīng)到劃分好的人體模型區(qū)域中。然后, 根據(jù)標準人體模板的預(yù)先設(shè)定對各骨架段進行等距離采樣,采樣點數(shù)根據(jù)標準人體骨架結(jié) 構(gòu)Ghs中的預(yù)設(shè)值(本發(fā)明中對應(yīng)不同部位的骨架段等分為6 16段進行等距離采樣)確 定,并于采樣點處劃分垂直于各骨架段的截面,計算這些截面與對應(yīng)部分人體網(wǎng)格模型的 交線,并在截面上以骨架段采樣點為圓心對交線進行等角度采樣(本發(fā)明中對于每一個橫 截面皮膚均采樣12個點,即按照30°等角度采樣),即可得各骨架段的輪廓截面半徑參數(shù)。 其算法流程包括以下步驟步驟1 用戶正視圖下采用單筆畫Si劃分人體網(wǎng)格模型Mh ;步驟2 根據(jù)筆畫Si作垂直于視平面的曲面Psi,該曲面Psi將人體模型分為兩塊Mhi 和 Mh2 ;步驟3 將網(wǎng)格模型Mhi和Mh2的切口截面進行三角化,使網(wǎng)格模型Mhi和Mh2分別封 閉;步驟4:重復(fù)步驟1 3,直到將人體劃分為四肢和軀干5部分網(wǎng)格模型Mm,Mh2,…, Mh5 ;步驟5 對骨架段Bi進行等距離采樣,得到得到η個采樣點P1, P2,…,Pn ;步驟6 在骨架段Bi的每一個采樣點P」處作垂直于骨架段Bi的平面Α,計算平面 A與骨架段Bi對應(yīng)的部分人體網(wǎng)格模型Mfflt的交線作為截面曲線Cs。;步驟7 在平面A上,將采樣點Pj作為中心,對截面曲線Cs。進行等角度(30° )采 樣,得到m個采樣點Pjl,Pj2,-,Pjffl;步驟8:計算所有采樣點Pjl,Pj2,…,Pjm到采樣點Pj的距離Cljl,dj2,···,‘;步驟9 重復(fù)步驟5 8,直到所有骨架段均已完成采樣;步驟10 所有骨架段B1,B2,…,B15的截面曲線采樣點到中心點的距離dn,d12,…, d15m構(gòu)成輪廓截面半徑集合S。SD,即人體模型輪廓截面特征。3.深度恢復(fù)在對草圖的基本圖元和線索進行基本處理之后,系統(tǒng)需要將二維基本圖元的筆畫 映射到三維空間,即發(fā)現(xiàn)其深度信息;3.1三維姿態(tài)估計在人體三維姿態(tài)估計過程中,在草圖解析得到的人體骨架結(jié)構(gòu)Gss的基礎(chǔ)上根據(jù) 各骨架段對應(yīng)的線索筆畫數(shù)對該骨架段的傾角進行調(diào)整,并在標準人體骨架結(jié)構(gòu)中定義的 關(guān)節(jié)點自由度限制下,計算各關(guān)節(jié)點在三維空間中的深度。其算法流程包括以下步驟
步驟1 以腰部關(guān)節(jié)點C1為根節(jié)點,按照距離根節(jié)點由近到遠的順序遍歷骨架結(jié) 構(gòu)中的每一條骨架段,對各骨架段繞距離根節(jié)點較近的關(guān)節(jié)點進行旋轉(zhuǎn);根據(jù)關(guān)節(jié)點與根 節(jié)點(^之間骨架段的數(shù)量,將骨架段Bk兩側(cè)關(guān)節(jié)點分為與根節(jié)點距離近的端點以及與根節(jié) 點距離遠的端點。即所述近的端點和根節(jié)點C1之間骨架段數(shù)量,比所述遠的端點和根節(jié)點 C1之間骨架段數(shù)量少。步驟2:對每一條骨架段Bk,設(shè)其距離根節(jié)點較近的關(guān)節(jié)點為P1,較遠的關(guān)節(jié)點為 P2,骨架段長度為L,在人體骨架結(jié)構(gòu)Gss中關(guān)節(jié)點P1和關(guān)節(jié)點P2的坐標分別為(X1, Y1, Z1) 和(x2, y2, z2);步驟3 設(shè)骨架段Bk對應(yīng)的線索筆畫數(shù)為m,本文中取-20≤m≤20,其中m為正 數(shù)表示骨架段向ζ軸正方向旋轉(zhuǎn),繪制時用左鍵繪制;m為負數(shù)表示骨架段向ζ軸負方向旋 轉(zhuǎn),繪制時用右鍵繪制;步驟3 對骨架段Bk,計算其傾角為θ =arcsin( (Z2-Z1)/L);步驟4:計算骨架段Bk的傾角變化值為Θ' =11^(31/2-9)/111_,其中111_為各 骨架段所包含線索筆畫數(shù)量的上限,本文中取mmax = 20 ;步驟5 計算關(guān)節(jié)點P1和關(guān)節(jié)點P2在xy平面上的投影之間的距離
<formula>formula see original document page 13</formula>步驟6:計算關(guān)節(jié)點P2在旋轉(zhuǎn)后的新深度值為Z2' = z1+dxyXtg(e + e ‘);步驟7 重復(fù)步驟1 6,直到骨架結(jié)構(gòu)Gss中的所有骨架段均已完成調(diào)整。3. 2輪廓特征對應(yīng)根據(jù)三維人體姿態(tài),將草圖輪廓特征參數(shù)中的兩個半徑數(shù)值與輪廓截面特征中的 截面半徑數(shù)值進行輪廓特征對應(yīng),其算法流程包括以下步驟步驟1 設(shè)人體骨架結(jié)構(gòu)Gss中肩膀骨架段L1R1的端點坐標分別為左肩 膀!^ = (X1, Y1, Z1)和右肩膀隊=(X2, y2,Z2),計算肩膀骨架段L1R1與X軸的夾角
<formula>formula see original document page 13</formula>將上身的草圖輪廓特征Skm對應(yīng)到截面輪廓特征
中對應(yīng)骨架段CtlC1的第 = ^r/…組特征參數(shù),將草圖輪廓特對應(yīng)到骨架段CtlC1的第 j = i+6組特征參數(shù);步驟2 設(shè)骨架結(jié)構(gòu)Gss中髖部骨架段L4R4的端點坐標分別為左胯 L4 = (X1, Y1, Z1)和右胯R4 = (x2, y2, Z2),計算髖部骨架段L4R4與X軸的夾角
<formula>formula see original document page 13</formula>將下身的草圖輪廓特征Skm對應(yīng)到截面輪廓特征
中對應(yīng)骨架段C1C2的第/ = |_67/;r」組特征參數(shù),將草圖輪廓特征S_對應(yīng)到骨架段C1C2的第 j = i+6組特征參數(shù);步驟3 設(shè)骨架結(jié)構(gòu)Gss中左小臂骨架段L2L3的端點坐標分別為左肘 L2 = (X1, Y1, Z1)和左腕L3 = (x2, y2,z2),計算左小臂骨架段L2L3與χ軸的夾角
<formula>formula see original document page 13</formula>將左上臂的草圖輪廓特征Smd對應(yīng)到截面輪廓特
征中對應(yīng)骨架段L1L2的第 = L6//…組特征參數(shù),將草圖輪廓特征S_對應(yīng)到骨架段L1L2的 第j = i+6組特征參數(shù);步驟4 與步驟3同理,對右上臂R1R2、左大腿L4L5、右大腿R4R5分別根據(jù)右小臂R2R3、左小腿L5L6、右小腿R5R6與χ軸的夾角進行對應(yīng);步驟5 對其余未處理骨架段將草圖輪廓特征Sli2d與截面輪廓特征中第1組參數(shù) 對應(yīng),草圖輪廓特征SkK2d與截面輪廓特征中第7組參數(shù)對應(yīng)。3. 3輪廓形變參數(shù)計算及三維形變參數(shù)計算根據(jù)草圖輪廓特征與人體模型的截面輪廓特征之間的對應(yīng)關(guān)系,計算之間的縮放 比例作為輪廓形變參數(shù),并對輪廓形變參數(shù)進行插值得到三維形變參數(shù),其算法流程包括 以下步驟步驟1 計算草圖輪廓特征參數(shù)中的半徑Dili與對應(yīng)截面輪廓特征C^k的比值 ratej,以及草圖輪廓特征參數(shù)中的半徑DikK與對應(yīng)截面輪廓特征d(j+6)k的比值rateJ+6 ;步驟2 對比值rate」和比值ratej+6進行線性插值得到縮放比例序列Tate1, rate2,…,rate12,并將插值結(jié)果與截面輪廓特征中的參數(shù)進行對應(yīng);步驟3 重復(fù)步驟1 2,直到人體骨架結(jié)構(gòu)Gss中的所有骨架段均已處理。4.三維重建在深度恢復(fù)過程中計算得到三維形變參數(shù)后,根據(jù)人體模型的骨架結(jié)構(gòu)和截面輪 廓特征對各肢體網(wǎng)格模型進行形變,并將不同肢體部分的網(wǎng)格模型進行混合,得到最終的 三維人體網(wǎng)格模型。整個三維重建過程包括三維模型形變和模型網(wǎng)格混合兩個部分。4.1三維模型形變在人體模型骨架結(jié)構(gòu)和截面特征的指導(dǎo)下,根據(jù)深度恢復(fù)過程中計算得到的三維 形變參數(shù),對各肢體網(wǎng)格模型進行形變。其算法流程包括以下步驟步驟1 設(shè)骨架段Bk的兩個端點坐標分別為(Xl,yi,Zl)和(x2,y2,z2),計算骨架段
Bk與xy平面的夾角為0 = arcctgi^iy.-y,)1+(X2-X1)1 /(z2 - Z1)),計算骨架段Bk在xy平面 的投影與χ軸的夾角為φ = circtg{{y2 - ^1)/(X2 - ^1));步驟2 計算骨架段Bk的局部坐標轉(zhuǎn)換矩陣M^1
-sin^ cos 沒 xcos 識-sin^xcos^
Mlocal = -cosφ—cos 汐 χ sin ρsin ^ χ sin
0 sin θcos θ步驟3 計算骨架段Bk的輪廓截面網(wǎng)格點在世界坐標系中的坐標P' i = PiXML0cJP0其中Pci為骨架段Bk起始關(guān)節(jié)點在世界坐標系中的坐標。步驟4 將骨架段Bk的輪廓截面網(wǎng)格點進行連接同一截面的網(wǎng)格點順次首尾相 連,不同截面的對應(yīng)網(wǎng)格點相連,最終得到該骨架段Bk的網(wǎng)格模型;步驟5 重復(fù)步驟1 4,直到所有骨架段均已計算。4. 2模型網(wǎng)格混合根據(jù)人體骨架結(jié)構(gòu)G' ss對各骨架段的網(wǎng)格模型進行混合,網(wǎng)格模型的幾何混合 根據(jù)關(guān)節(jié)類型的不同分為三種類型1)肘和膝關(guān)節(jié)混合根據(jù)兩部分肢干公共關(guān)節(jié)點,對 相鄰的橫截面上對應(yīng)的兩個點取平均值用以替代原來的點。2)肩部混合將上身網(wǎng)格模型 的指定點位移到上臂頂端橫截面網(wǎng)格點,并對上身網(wǎng)格進行形變;3)胯部混合將人體下 身最下方的橫截面及2個大腿最上方的橫截面尋找對應(yīng)點進行插值,得到新的中間截面,然后將上下對應(yīng)皮膚點連接起來,即完成胯部的混合。其計算流程包括以下步驟步驟1 對于骨架A和骨架B,根據(jù)骨架結(jié)構(gòu)確定其位置關(guān)系。步驟2 若骨架A和骨架B均為四肢骨骼且有公共的關(guān)節(jié)點,則進行第1種混合, 轉(zhuǎn)到步驟3 ;若為上臂和上身,則進行第2中混合,轉(zhuǎn)到步驟6 ;若為大腿和下身,則進行第3 種混合,轉(zhuǎn)到步驟8 ;若非上述3種情況,則不需要混合。步驟3 找到其公共的關(guān)節(jié)點,并根據(jù)該關(guān)節(jié)點找到各自對應(yīng)的橫截面Sa和橫截 面SB。步驟4 將橫截面Sa和橫截面Sb上的采樣點一一對應(yīng)。步驟5 對每組對應(yīng)點的坐標進行平均,將中點作為各自的新坐標。算法結(jié)束。步驟6 根據(jù)標準人體骨架結(jié)構(gòu)Ghs,判斷該上臂位于上身哪一側(cè),在上身該側(cè)網(wǎng)格 中找到上臂端點橫截面對應(yīng)的點,并用上臂端點橫截面對應(yīng)點的坐標替換上身網(wǎng)格點。步驟7 以這些點為特征點,對上身網(wǎng)格模型進行拉普拉斯形變。算法結(jié)束。步驟8 根據(jù)骨架結(jié)構(gòu),判斷該大腿位于下身哪一側(cè),在下身該側(cè)網(wǎng)格中找到大腿 端點橫截面對應(yīng)的點。步驟9 對每組對應(yīng)點進行平均,以中點作為各自新坐標。算法結(jié)束。經(jīng)過上述步驟,即得到最終的三維人體網(wǎng)格模型。圖3a、圖3b、圖3c、圖4a、圖4b、圖4c分別示出了 2種不同的人體姿態(tài)形狀從單幅 手繪草圖創(chuàng)建三維人體模型的實例效果。圖3a、圖3b以及圖3c為繪制符合原人體模型特 征的草圖所生成的模型,圖4a、圖4b以及圖4c為改變原人體模型特征繪制的人體草圖(胖 腰、鼓起的上臂)所生成的模型,可以看到用戶的繪制意圖在結(jié)果模型中得到了體現(xiàn)。本發(fā)明提供了一種三維人體模型的生成方法的思路及方法,具體實現(xiàn)該技術(shù)方案 的方法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普 通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和 潤飾也應(yīng)視為本發(fā)明的保護范圍。本實施例中未明確的各組成部分均可用現(xiàn)有技術(shù)加以實 現(xiàn)。
權(quán)利要求
一種采用手繪草圖的三維人體建模方法,其特征在于,包括以下步驟步驟一,草圖解析將人體草圖分解為骨架筆畫集Ss、輪廓筆畫集Sp以及線索筆畫集Se;對骨架筆畫集Ss進行骨架結(jié)構(gòu)識別得到二維人體姿態(tài),根據(jù)骨架結(jié)構(gòu)識別對輪廓筆畫集進行骨架-輪廓對應(yīng)并提取草圖輪廓特征,根據(jù)骨架結(jié)構(gòu)識別對線索筆畫集進行線索判定;步驟二,模型特征提取在預(yù)定義的人體網(wǎng)格模型MH上進行人體骨架結(jié)構(gòu)抽取,定義標準三維人體模型標定關(guān)節(jié)點并計算深度,得到標準人體骨架結(jié)構(gòu)GHS;進行截面輪廓特征抽取,對標準三維人體模型進行分割,并在標準人體骨架結(jié)構(gòu)GHS的基礎(chǔ)上分別計算人體四肢及軀干網(wǎng)格模型的輪廓截面特征;步驟三,深度恢復(fù)在二維人體姿態(tài)的基礎(chǔ)上,根據(jù)骨架結(jié)構(gòu)識別對線索筆畫集進行線索判定的結(jié)果及人體骨架結(jié)構(gòu)計算三維人體姿態(tài),根據(jù)三維人體姿態(tài)進行輪廓特征對應(yīng),計算對應(yīng)特征之間的差異得到輪廓形變參數(shù),并在輪廓截面特征的基礎(chǔ)上計算對應(yīng)輪廓特征的比值得到三維形變參數(shù);步驟四,三維重建根據(jù)三維形變參數(shù)對四肢及軀干網(wǎng)格模型的截面輪廓特征進行形變,并根據(jù)人體骨架結(jié)構(gòu)將各肢體網(wǎng)格模型轉(zhuǎn)換到世界坐標系,最后對各肢體網(wǎng)格模型進行模型網(wǎng)格混合,得到所述三維人體模型。
2.根據(jù)權(quán)利要求1所述的一種采用手繪草圖的三維人體建模方法,其特征在于,步驟 一中,對骨架筆畫集Ss中的骨架筆畫&進行分割,將所有筆畫分為直線和橢圓兩類圖元, 根據(jù)圖元的位置關(guān)系將筆畫識別為對應(yīng)的骨架段,并將各骨架筆畫B」的端點進行合并得到 對應(yīng)的人體關(guān)節(jié)點;關(guān)節(jié)點位置與骨架段方向構(gòu)成人體骨架結(jié)構(gòu)Gss,作為二維人體姿態(tài)參 數(shù);計算輪廓筆畫集Sp中每一條輪廓筆畫Pi的閉包矩形與人體骨架結(jié)構(gòu)Gss中每一條骨架 筆畫B」閉包矩形的重合程度,重合程度= A。u/Ap其中A。u為輪廓筆畫Pi與骨架筆畫 Bj的閉包矩形重疊面積,Aj為骨架筆畫B」的閉包矩形面積;取重合程度最大的骨架筆 畫B」與輪廓筆畫P」對應(yīng),并根據(jù)骨架筆畫B」對輪廓筆畫Pi進行等距離采樣計算草圖輪廓 特征;計算線索筆畫集S。中每一條線索筆畫Q與人體骨架結(jié)構(gòu)Gss中每一條骨架筆畫Bj的 閉包矩形的重合程度,重合程度o u = mik/ni,其中ni為線索筆畫Q的采樣點數(shù),mik為線索 筆畫Q落在骨架筆畫B」閉包矩形內(nèi)的采樣點數(shù);取重合程度0 u最大的骨架筆畫Bp將線 索筆畫Q判定為作用于該骨架筆畫Bj。
3.根據(jù)權(quán)利要求1所述的一種采用手繪草圖的三維人體建模方法,步驟二中,包括以 下步驟定義標準人體骨架結(jié)構(gòu)Ghs = {Vj; EB},其中VJ為標準人體關(guān)節(jié)點集合,Eb為標準人體 骨架段集合;標準人體骨架結(jié)構(gòu)Ghs中共包含15個標準人體關(guān)節(jié)點以及12段標準人體骨架 段;根據(jù)標準人體關(guān)節(jié)點集合Vj,在人體網(wǎng)格模型%的正視圖上標定各人體關(guān)節(jié)點Vi的 二維位置(x,y),并計算該關(guān)節(jié)點Vi處人體模型的深度均值$,根據(jù)標準人體骨架段集合Eb 將15個標準人體關(guān)節(jié)點V(l,Vl,…,v14進行連接,得到該人體網(wǎng)格模型Mh的人體骨架結(jié)構(gòu)Q UMH,在人體網(wǎng)格模型MH的左右肩膀和左右大腿根處將其劃分為四肢和軀干,根據(jù)人體骨架 結(jié)構(gòu)Gm對各骨架段Bi所對應(yīng)肢體的網(wǎng)格模型進行采樣,通過輪廓截面抽取算法計算各肢 體網(wǎng)格模型的截面半徑集合,得到各肢體的輪廓截面特征SesD。
4.根據(jù)權(quán)利要求1所述的一種采用手繪草圖的三維人體建模方法,步驟三中,包括以 下步驟以人體骨架結(jié)構(gòu)Gss中的腰部關(guān)節(jié)點q為根節(jié)點遍歷調(diào)整人體骨架結(jié)構(gòu)Gss中的骨架 段方向設(shè)每條骨架段所包含的線索筆畫上限為111_條,對每條包含mk條線索線的骨架段 Bk計算骨架段Bk的傾角0 =mk3i/2m_,以骨架段Bk中距根節(jié)點近的關(guān)節(jié)點為中心,按照 視平面垂直方向移動距根節(jié)點遠的關(guān)節(jié)點位置,并在人體骨架結(jié)構(gòu)Gss所定義的關(guān)節(jié)點自 由度限制下計算各關(guān)節(jié)點的深度,得到新的人體骨架結(jié)構(gòu)G' ss作為三維人體姿態(tài)參數(shù);根據(jù)三維人體姿態(tài)參數(shù)將各骨架段的草圖輪廓特征與模型截面輪廓特征進行對應(yīng),計 算對應(yīng)參數(shù)之間的縮放比例作為二維形變參數(shù),并根據(jù)模型截面輪廓特征對二維形變參數(shù) 進行線性插值得到三維形變參數(shù)。
5.根據(jù)權(quán)利要求1所述的一種采用手繪草圖的三維人體建模方法,其特征在于,步驟 四中,包括以下步驟在對應(yīng)骨架段的局部坐標系下,通過模型輪廓截面特征,根據(jù)人體三維形變參數(shù)計算 各肢體部分截面采樣點的局部坐標,并根據(jù)人體骨架結(jié)構(gòu)G' ss將所有截面采樣點的坐標 轉(zhuǎn)化為世界坐標系坐標,得到人體四肢及軀干網(wǎng)格模型;根據(jù)肢體之間的連接情況將肢體混合過程分為肘和膝關(guān)節(jié)混合、肩部混合、胯部混合 三類,并對肘和膝關(guān)節(jié)混合以及胯部混合采用對應(yīng)點插值的方法進行形變,對肩部混合采 用基于特征點的形變方法進行形變,對相鄰肢體網(wǎng)格模型進行混合,得到完整的人體網(wǎng)格 模型。
6.根據(jù)權(quán)利要求2所述的一種采用手繪草圖的三維人體建模方法,其特征在于,所述 筆劃分割算法基于引力模型,定義任意點A和點B兩點之間的引力大小為<formula>formula see original document page 3</formula>其中,a和旦分別為點A和點B的轉(zhuǎn)角,Dis(A,B)為點A和點B之間的距離,對于任 意一個頂點,計算兩個相鄰點對它的吸引,如果引力值超過了閾值,將該點和相鄰點合并, 對任意曲線遍歷其所有采樣點進行合并,計算剩余的頂點數(shù)Vmin,并根據(jù)剩余的頂點數(shù)Vmin, 將該曲線識別為直線或者橢圓。
7.根據(jù)權(quán)利要求3所述的一種采用手繪草圖的三維人體建模方法,其特征在于,所述 通過輪廓截面抽取算法計算各肢體網(wǎng)格模型的截面半徑集合,包含以下步驟對人體骨架結(jié)構(gòu)中的各骨架段進行等距離采樣,采樣點數(shù)根據(jù)標準人體骨架結(jié)構(gòu)中的 預(yù)設(shè)值確定;在各采樣點處作垂直于骨架段的平面,與人體網(wǎng)格模型相交,得到骨架段垂面;在骨架段垂面與人體網(wǎng)格模型的交線上,以對應(yīng)采樣點為中心進行等份角度n采樣, 其中0° <n< 360°,得到該采樣點對應(yīng)的360/n個截面半徑長度;所有骨架段的所有采樣點對應(yīng)的截面半徑長度構(gòu)成的集合即為模型的輪廓截面特征集合。
全文摘要
本發(fā)明提出了一種采用手繪草圖的三維人體建模方法,包括以下步驟步驟一,草圖解析將人體草圖分解為骨架筆畫集Ss、輪廓筆畫集Sp以及線索筆畫集Sc;步驟二,模型特征提取在預(yù)定義的人體網(wǎng)格模型MH上進行人體骨架結(jié)構(gòu)抽?。徊襟E三,深度恢復(fù)在二維人體姿態(tài)的基礎(chǔ)上,根據(jù)骨架結(jié)構(gòu)識別對線索筆畫集進行線索判定的結(jié)果及人體骨架結(jié)構(gòu)計算三維人體姿態(tài);步驟四,三維重建根據(jù)三維形變參數(shù)對四肢及軀干網(wǎng)格模型的截面輪廓特征進行形變。本發(fā)明利用手繪草圖繪制人體正視圖骨架和輪廓,并直接生成三維網(wǎng)格模型,符合動畫角色設(shè)計師的平面繪制習(xí)慣,簡化了人體建模流程,大大減少了用戶進行人體建模的時間。
文檔編號G06T17/00GK101833788SQ201010175210
公開日2010年9月15日 申請日期2010年5月18日 優(yōu)先權(quán)日2010年5月18日
發(fā)明者劉凱, 孫正興, 宋沫飛, 張堯燁 申請人:南京大學(xué)