專(zhuān)利名稱(chēng):一種用于人體-服裝沖突檢測(cè)的候選集的建立方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬現(xiàn)實(shí)領(lǐng)域,特別是涉及一種用于人體-服裝沖突檢測(cè)的候 選集的建立方法。
背景技術(shù):
服裝仿真是增強(qiáng)虛擬現(xiàn)實(shí)沉浸感的重要技術(shù)。在虛擬世界中,對(duì)服裝模型 進(jìn)行三維運(yùn)動(dòng)仿真,主要是為了得到特定服裝模型穿著在某一特定人體模型上 的動(dòng)態(tài)效果。在現(xiàn)實(shí)世界中,人體的運(yùn)動(dòng)驅(qū)使服飾產(chǎn)生各種自然的動(dòng)畫(huà)例如褶皺等。若要在虛擬世界中生成真實(shí)的描述客觀世界中人和服裝的運(yùn)動(dòng),需要對(duì) 人體模型和服裝模型進(jìn)行運(yùn)動(dòng)仿真或動(dòng)畫(huà)模擬。其中關(guān)鍵問(wèn)題之一是在仿真或動(dòng)畫(huà)模擬過(guò)程中對(duì)人體模型和服裝模型進(jìn)行空間位置的沖突檢測(cè)。為了提高服裝與人體模型間的沖突檢測(cè)速度,實(shí)現(xiàn)快速的服裝仿真,國(guó)內(nèi)外許多學(xué)者在這方面做出了富有成效的工作。已有的方法主要著眼于服裝模型頂點(diǎn)(或面片)與人體表面大量面片(通常為三角面片)間的位置沖突,通過(guò)減少?zèng)_突檢測(cè)的次數(shù)來(lái)達(dá)到提高速度的目的。經(jīng)典的包圍盒方法結(jié)合層次數(shù)據(jù)結(jié)構(gòu),可以有效地減少虛擬環(huán)境中物體間的沖突檢測(cè)次數(shù),將沖突檢測(cè)的算法復(fù)雜度降至0("lg2^左右。其中適合布料等柔性物體的有Van發(fā)展的基于AABB樹(shù)的層次包圍盒方法;Klosowski等人 發(fā)展的基于k-D0Ps的層次包圍盒方法;Mezger等人在改進(jìn)已有基于k-D0Ps 的層次包圍盒方法的基礎(chǔ)上發(fā)展的啟發(fā)式的剪切技術(shù)等。另外,基于體元 (voxel)的空間分解技術(shù)也可以有效地減少?zèng)_突檢測(cè)的次數(shù)。其中,Zhang 等人采用均勻的體元網(wǎng)格,并克服了傳統(tǒng)方法中體元大小難以確定和體元信息 更新費(fèi)時(shí)等缺點(diǎn),使沖突檢測(cè)算法的計(jì)算復(fù)雜度接近oW。上述這些方法存在的主要共性問(wèn)題是在人體運(yùn)動(dòng)狀態(tài)下,由于人體表面 每個(gè)片元的位置信息在每一時(shí)刻都在發(fā)生變化,因而計(jì)算并更新沖突檢測(cè)所需 的中間數(shù)據(jù)(例如包圍盒信息和包圍盒的層次信息)將需要花費(fèi)大量存儲(chǔ)空間和計(jì)算時(shí)間,從而影響沖突檢測(cè)的效率。 發(fā)明內(nèi)容本發(fā)明的目的在于提供一種用于人體-服裝沖突檢測(cè)的候選集的建立方 法,其充分利用人體和服裝的幾何結(jié)構(gòu)和運(yùn)動(dòng)特點(diǎn),提出一種沖突候選集的建 立方法,人體即使處于復(fù)雜或激烈的運(yùn)動(dòng)狀態(tài)下候選集均具有較快的更新速 度,從而加速人體與服裝模型的沖突檢測(cè)的過(guò)程。為實(shí)現(xiàn)本發(fā)明的目的而提供的一種用于人體-服裝沖突檢測(cè)的候選集的建 立方法,具體包括下列步驟A. 建立候選母集;B. 建立候選子集。 步驟A還進(jìn)一步包括步驟 Al.遍歷人體圖元;A2.針對(duì)當(dāng)前人體圖元,預(yù)測(cè)服裝圖元相對(duì)當(dāng)前人體圖元的運(yùn)動(dòng)范圍,將 處于此范圍之內(nèi)的服裝圖元加入到當(dāng)前人體圖元對(duì)應(yīng)的候選母集中;A3.判斷是否遍歷完全部人體圖元,如果是,則候選母集建立過(guò)程結(jié)束; 否則讀取下一個(gè)人體圖元并轉(zhuǎn)步驟A2。所述運(yùn)動(dòng)范圍可以采用軸向范圍表示,軸向范圍即以當(dāng)前人體圖元為中 心,以一定邊長(zhǎng)所形成的長(zhǎng)方體范圍。所述運(yùn)動(dòng)范圍可以采用徑向范圍表示,徑向范圍是以人體圖元為中心,以 一定半徑所形成的球體范圍。步驟A2中,由于人體不同部位的衣片運(yùn)動(dòng)范圍不一樣,可以對(duì)人體不同 部位的圖元所對(duì)應(yīng)的候選集范圍采取不同大小。 步驟B還進(jìn)一步包括步驟 Bl.遍歷所有人體圖元對(duì)應(yīng)的候選母集; B2.清空當(dāng)前人體圖元對(duì)應(yīng)的候選子集;B3.讀取當(dāng)前人體圖元的當(dāng)前運(yùn)動(dòng)狀態(tài)和位置信息,以當(dāng)前人體圖元的位 置為中心,建立大小與當(dāng)前人體圖元運(yùn)動(dòng)速度相適應(yīng)的鄰域; B4.遍歷當(dāng)前人體圖元對(duì)應(yīng)的候選母集中的服裝圖元; B5.讀取候選母集中的當(dāng)前服裝圖元,判斷當(dāng)前服裝圖元是否在步驟B3中建立的鄰域之內(nèi),若是則將其加入到當(dāng)前人體圖元對(duì)應(yīng)的候選子集中;否則轉(zhuǎn) 到步驟B6;B6.判斷是否遍歷完當(dāng)前候選母集中的所有服裝圖元,如果沒(méi)有,則讀取 下一個(gè)服裝圖元,并轉(zhuǎn)到步驟B5;否則轉(zhuǎn)到步驟B7;B7.判斷是否遍歷完所有的人體圖元對(duì)應(yīng)的候選母集,如果沒(méi)有則讀取下一個(gè)人體圖元對(duì)應(yīng)的候選母集,并轉(zhuǎn)到步驟B2;否則,候選子集的建立過(guò)程結(jié)束。本發(fā)明的有益效果是加速虛擬空間中人體模型與服裝模型的沖突檢測(cè)過(guò) 程,可以應(yīng)用在虛擬試衣、服裝動(dòng)畫(huà)等相關(guān)應(yīng)用中,對(duì)加速?zèng)_突檢測(cè)的計(jì)算效 率有很大幫助。
圖1是用于人體-服裝沖突檢測(cè)的候選集的示意圖;圖2是本發(fā)明一種用于人體-服裝沖突檢測(cè)的候選集的建立方法的流程圖; 圖3是建立候選母集的方法流程圖; 圖4是建立候選子集的方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對(duì)本發(fā)明的一種用于人體-服裝沖突檢測(cè)的候選集的建立方法進(jìn)行進(jìn)一 步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。本發(fā)明的一種用于人體-服裝沖突檢測(cè)的候選集的建立方法,根據(jù)人體服 裝模型上相應(yīng)圖元的鄰近位置關(guān)系以及運(yùn)動(dòng)時(shí)相對(duì)位移小的特點(diǎn),針對(duì)每一人 體圖元,將與其可能沖突即將距離此人體圖元一定范圍之內(nèi)的服裝圖元作為候 選集的組成元素。其中,候選母集的建立在預(yù)處理階段完成,此時(shí)人體服裝處 于靜止?fàn)顟B(tài),距離范圍可取較大值以避免漏檢;候選子集在動(dòng)畫(huà)階段建立或者 更新,距離范圍取較小值以減少圖元間的檢測(cè)次數(shù),提高沖突檢測(cè)效率。下面結(jié)合上述目標(biāo)詳細(xì)介紹本發(fā)明一種用于人體-服裝沖突檢測(cè)的候選集 的建立方法,其將可能與人體圖元發(fā)生沖突的服裝圖元分為候選母集與候選子集兩層,如圖l,圖2所示,具體包括下列步驟 步驟S100,建立候選母集,如圖3所示;對(duì)服裝各個(gè)圖元相對(duì)人體圖元的運(yùn)動(dòng)范圍進(jìn)行預(yù)測(cè),并將所有可能與人體 圖元發(fā)生沖突的服裝圖元添加到相應(yīng)人體圖元對(duì)應(yīng)的候選母集中(候選母集與 人體圖元一一對(duì)應(yīng));步驟S110,遍歷人體圖元(多邊形或者頂點(diǎn));步驟S120,針對(duì)當(dāng)前人體圖元,預(yù)測(cè)服裝圖元相對(duì)當(dāng)前人體圖元的運(yùn)動(dòng) 范圍,將處于此范圍之內(nèi)的服裝圖元加入到當(dāng)前人體圖元對(duì)應(yīng)的候選母集中;所述運(yùn)動(dòng)范圍可以采用軸向范圍表示,軸向范圍即以當(dāng)前人體圖元為中 心,以一定邊長(zhǎng)所形成的長(zhǎng)方體范圍。所述運(yùn)動(dòng)范圍可以采用徑向范圍表示,徑向范圍是以人體圖元為中心,以 一定半徑所形成的球體范圍。所述運(yùn)動(dòng)范圍還可以采用其他方式表示,并不限于以上所述的方式。另一方面,由于人體不同部位的衣片運(yùn)動(dòng)范圍不一樣,故可以對(duì)人體不同 部位的圖元所對(duì)應(yīng)的候選集范圍采取不同大小。步驟S130,判斷是否遍歷完全部人體圖元,如果是,則候選母集建立過(guò) 程結(jié)束;否則讀取下一個(gè)人體圖元并轉(zhuǎn)步驟S120;步驟S200,建立候選子集,如圖4所示;針對(duì)人體圖元和服裝圖元的當(dāng)前運(yùn)動(dòng)狀態(tài),從相應(yīng)候選母集中篩選出可能 與人體圖元發(fā)生沖突的服裝圖元以更新候選子集; 步驟S210,遍歷所有人體圖元對(duì)應(yīng)的候選母集; 步驟S220,清空當(dāng)前人體圖元對(duì)應(yīng)的候選子集;步驟S230,讀取當(dāng)前人體圖元的當(dāng)前運(yùn)動(dòng)狀態(tài)和位置信息,以當(dāng)前人體 圖元的位置為中心,建立大小與當(dāng)前人體圖元運(yùn)動(dòng)速度相適應(yīng)的鄰域(即以a 為中心的任何開(kāi)區(qū)間稱(chēng)為點(diǎn)a的鄰域);步驟S240,遍歷當(dāng)前人體圖元對(duì)應(yīng)的候選母集中的服裝圖元;步驟S250,讀取候選母集中的當(dāng)前服裝圖元,判斷當(dāng)前服裝圖元是否在步 驟S230中建立的鄰域之內(nèi),若是則將其加入到當(dāng)前人體圖元對(duì)應(yīng)的候選子集 中;否則轉(zhuǎn)到步驟S260;步驟S260,判斷是否遍歷完當(dāng)前候選母集中的所有服裝圖元,如果沒(méi)有,則讀取下一個(gè)服裝圖元,并轉(zhuǎn)到步驟S250;否則轉(zhuǎn)到步驟S270;步驟S270,判斷是否遍歷完所有的人體圖元對(duì)應(yīng)的候選母集,如果沒(méi)有 則讀取下一個(gè)人體圖元對(duì)應(yīng)的候選母集,并轉(zhuǎn)到步驟S220;否則,候選子集的建立過(guò)程結(jié)束。較佳地,本發(fā)明以5'作為預(yù)測(cè)運(yùn)動(dòng)狀態(tài)下的服裝圖元相對(duì)人體圖元的最大 運(yùn)動(dòng)范圍,來(lái)具體說(shuō)明一種用于人體-服裝沖突檢測(cè)的候選集的建立過(guò)程,包括下列步驟步驟SIOO,,建立候選母集;預(yù)測(cè)運(yùn)動(dòng)狀態(tài)下(即靜態(tài)時(shí)),服裝圖元相對(duì)人體圖元的最大運(yùn)動(dòng)范圍為5',并以^。="^(^:>1)作為候選母集的范圍。步驟SllO,,在預(yù)處理階段,遍歷人體表面模型上的每一個(gè)圖元;步驟S120',針對(duì)當(dāng)前人體圖元,遍歷所有的服裝圖元,將到當(dāng)前人體 圖元距離小于^的服裝圖元加入到人體圖元所對(duì)應(yīng)的候選母集中;所述運(yùn)動(dòng)范圍可以采用軸向范圍表示,軸向范圍即以當(dāng)前人體圖元為中 心,以2^為邊長(zhǎng)所形成的長(zhǎng)方體范圍。所述運(yùn)動(dòng)范圍可以采用徑向范圍表示,徑向范圍是以人體圖元為中心,以 ^為半徑所形成的球體范圍。步驟S130,,判斷是否遍歷完全部人體圖元,如果是,則候選母集建立 過(guò)程結(jié)束;否則讀取下一個(gè)人體圖元并轉(zhuǎn)步驟S120';步驟S200',建立候選子集;針對(duì)人體圖元和服裝圖元的當(dāng)前運(yùn)動(dòng)狀態(tài),從相應(yīng)候選母集中篩選出可能 與人體圖元發(fā)生沖突的服裝圖元以更新候選子集;步驟S210,,遍歷所有人體圖元對(duì)應(yīng)的候選母集; 步驟S220',清空當(dāng)前人體圖元對(duì)應(yīng)的候選子集;步驟S230,,讀取當(dāng)前候選母集對(duì)應(yīng)的人體圖元的當(dāng)前位置信息p。,以a 為中心,建立大小與當(dāng)前人體圖元運(yùn)動(dòng)速度相適應(yīng)的鄰域5,,(即以p。為中心 的任何開(kāi)區(qū)間稱(chēng)為點(diǎn)a)的鄰域《),現(xiàn)設(shè)可能與當(dāng)前人體圖元發(fā)生沖突的服裝 圖元位于范圍《(《<(5。)之內(nèi);步驟S240',遍歷當(dāng)前人體圖元對(duì)應(yīng)的候選母集中的服裝圖元;步驟S250',讀取候選母集中的當(dāng)前服裝圖元,該服裝圖元的位置信息為A ,若A)與P,的距離小于《,則將其加入到當(dāng)前人體圖元對(duì)應(yīng)的候選子集中; 步驟S260',判斷是否遍歷完當(dāng)前候選母集中的所有服裝圖元,如果沒(méi)有,則讀取下一個(gè)服裝圖元,并轉(zhuǎn)到步驟S250';否則轉(zhuǎn)到步驟S270'; 步驟S270',判斷是否遍歷完所有的人體圖元對(duì)應(yīng)的候選母集,如果沒(méi)有則讀取下一個(gè)人體圖元對(duì)應(yīng)的候選母集,并轉(zhuǎn)到步驟S220';否則,候選子集的建立過(guò)程結(jié)束。本發(fā)明的有益效果在于1. 充分利用人體和服裝的相似幾何形狀和運(yùn)動(dòng)時(shí)相對(duì)位移小的特點(diǎn),對(duì)可 能與各個(gè)人體圖元發(fā)生沖突的服裝圖元建立二級(jí)候選結(jié)構(gòu),提高了層次更新速 度,減少了圖元級(jí)沖突檢測(cè)的次數(shù),提高了整個(gè)沖突檢測(cè)效率。2. 本發(fā)明所述的方法,無(wú)論在人體模型處于運(yùn)動(dòng)狀態(tài)還是靜止?fàn)顟B(tài), 一樣 有效。3. 利用本發(fā)明所述的方法進(jìn)行沖突檢測(cè)的算法復(fù)雜度為0 (m+n) , m, n 分別為人體和服裝模型的圖元數(shù)目?;谏鲜鰞?yōu)點(diǎn),利用本發(fā)明所公開(kāi)的方法,能夠加速虛擬空間中人體模型 與服裝模型的沖突檢測(cè)過(guò)程,可以應(yīng)用在虛擬試衣、服裝動(dòng)畫(huà)等相關(guān)應(yīng)用中, 對(duì)加速?zèng)_突檢測(cè)的計(jì)算效率有很大幫助。通過(guò)結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的描述,本發(fā)明的其它方面及特征對(duì)本 領(lǐng)域的技術(shù)人員而言是顯而易見(jiàn)的。以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述和說(shuō)明,這些實(shí)施例應(yīng)被認(rèn)為其只是示 例性的,并不用于對(duì)本發(fā)明進(jìn)行限制,本發(fā)明應(yīng)根據(jù)所附的權(quán)利要求進(jìn)行解釋。
權(quán)利要求
1.一種用于人體-服裝沖突檢測(cè)的候選集的建立方法,其特征在于,包括下列步驟A.建立候選母集;B.建立候選子集。
2. 根據(jù)權(quán)利要求1所述的用于人體-服裝沖突檢測(cè)的候選集的建立方法, 其特征在于,步驟A還進(jìn)一步包括步驟Al.遍歷人體圖元;A2.針對(duì)當(dāng)前人體圖元,預(yù)測(cè)服裝圖元相對(duì)當(dāng)前人體圖元的運(yùn)動(dòng)范圍,將 處于此范圍之內(nèi)的服裝圖元加入到當(dāng)前人體圖元對(duì)應(yīng)的候選母集中;A3.判斷是否遍歷完全部人體圖元,如果是,則候選母集建立過(guò)程結(jié)束; 否則讀取下一個(gè)人體圖元并轉(zhuǎn)步驟A2。
3. 根據(jù)權(quán)利要求2所述的用于人體-服裝沖突檢測(cè)的候選集的建立方法, 其特征在于,所述運(yùn)動(dòng)范圍可以采用軸向范圍表示,軸向范圍即以當(dāng)前人體圖 元為中心,以一定邊長(zhǎng)所形成的長(zhǎng)方體范圍。
4. 根據(jù)權(quán)利要求2所述的用于人體-服裝沖突檢測(cè)的候選集的建立方法, 其特征在于,所述運(yùn)動(dòng)范圍可以采用徑向范圍表示,徑向范圍是以人體圖元為 中心,以一定半徑所形成的球體范圍。
5. 根據(jù)權(quán)利要求2所述的用于人體-服裝沖突檢測(cè)的候選集的建立方法, 其特征在于,步驟A2中,由于人體不同部位的衣片運(yùn)動(dòng)范圍不一樣,可以對(duì) 人體不同部位的圖元所對(duì)應(yīng)的候選集范圍采取不同大小。
6. 根據(jù)權(quán)利要求2所述的用于人體-服裝沖突檢測(cè)的候選集的建立方法, 其特征在于,步驟B還進(jìn)一步包括步驟Bl.遍歷所有人體圖元對(duì)應(yīng)的候選母集; B2.清空當(dāng)前人體圖元對(duì)應(yīng)的候選子集;B3.讀取當(dāng)前人體圖元的當(dāng)前運(yùn)動(dòng)狀態(tài)和位置信息,以當(dāng)前人體圖元的位 置為中心,建立大小與當(dāng)前人體圖元運(yùn)動(dòng)速度相適應(yīng)的鄰域; B4.遍歷當(dāng)前人體圖元對(duì)應(yīng)的候選母集中的服裝圖元; B5.讀取候選母集中的當(dāng)前服裝圖元,判斷當(dāng)前服裝圖元是否在步驟B3中建立的鄰域之內(nèi),若是則將其加入到當(dāng)前人體圖元對(duì)應(yīng)的候選子集中;否則轉(zhuǎn) 到步驟B6;B6.判斷是否遍歷完當(dāng)前候選母集中的所有服裝圖元,如果沒(méi)有,則讀取 下一個(gè)服裝圖元,并轉(zhuǎn)到步驟B5;否則轉(zhuǎn)到步驟B7;B7.判斷是否遍歷完所有的人體圖元對(duì)應(yīng)的候選母集,如果沒(méi)有則讀取下一個(gè)人體圖元對(duì)應(yīng)的候選母集,并轉(zhuǎn)到步驟B2;否則,候選子集的建立過(guò)程結(jié)束。
全文摘要
本發(fā)明公開(kāi)了一種用于人體-服裝沖突檢測(cè)的候選集的建立方法,主要包括兩個(gè)步驟建立候選母集和建立候選子集。其根據(jù)人體服裝模型上相應(yīng)圖元的鄰近位置關(guān)系以及運(yùn)動(dòng)時(shí)相對(duì)位移小的特點(diǎn),針對(duì)每一人體圖元,將與其可能沖突即將距離此人體圖元一定范圍之內(nèi)的服裝圖元作為候選集的組成元素。其中,候選母集的建立在預(yù)處理階段完成,此時(shí)人體服裝處于靜止?fàn)顟B(tài),距離范圍可取較大值以避免漏檢;候選子集在動(dòng)畫(huà)階段建立或者更新,距離范圍取較小值以減少圖元間的檢測(cè)次數(shù),提高沖突檢測(cè)效率。利用該方法,可以加速虛擬空間中人體模型與服裝模型的沖突檢測(cè)過(guò)程,可以應(yīng)用在虛擬試衣、服裝動(dòng)畫(huà)等相關(guān)應(yīng)用中,對(duì)加速?zèng)_突檢測(cè)的計(jì)算效率有很大幫助。
文檔編號(hào)G06T15/70GK101261745SQ20081010249
公開(kāi)日2008年9月10日 申請(qǐng)日期2008年3月21日 優(yōu)先權(quán)日2008年3月21日
發(fā)明者夏時(shí)洪, 朱小龍, 毛天露, 王兆其 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所