專利名稱:示范表演驅(qū)動的基于加速傳感器的三維人體動作編排方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維人體動作識別和動作編排方法,尤其是一種示范表演驅(qū)動 的基于加速傳感器的三維人體動作編排方法。
背景技術(shù):
示范表演驅(qū)動的動作編排是在多個領(lǐng)域的己有工作的基礎(chǔ)上發(fā)展起來的, 這些工作包括玩偶驅(qū)動的動畫制作、使用最少標(biāo)記點或傳感器的動作捕捉及用 戶無關(guān)的動作識別。
玩偶驅(qū)動的動畫制作是一種有效的示范表演驅(qū)動的動畫制作方法,它可以 實時的將表演者的動作轉(zhuǎn)換為計算機虛擬角色的動作。該方法為傳統(tǒng)的電影動 畫提供了一種現(xiàn)場表演及可視化工具,其技術(shù)要點是當(dāng)目標(biāo)角色與表演者的 大小和比例不同的情況下,如何有效的將表演者的動作映射到目標(biāo)角色。但是 該方法需要專門的輸入設(shè)備,而且這種自然的控制方式會將表演者的個性直接 傳遞到虛擬角色,因此控制計算機玩偶設(shè)備通常需要長期訓(xùn)練和專業(yè)知識,只 有少數(shù)的專家才能有效掌握。
對真人的動作捕捉是一種可替代玩偶的示范表演驅(qū)動的動畫制作方法,但 是動作捕捉設(shè)備十分笨重,價格昂貴,使用過程十分繁瑣。因此許多研究者開 始探索如何只用少量標(biāo)記點或傳感器進行快速和有效動作估計的方法,按照輸 入設(shè)備的不同可分為基于視覺的方法和基于傳感器的方法。該類方法的一般 技術(shù)路線是利用少量攝像頭、標(biāo)記點或者傳感器獲取不充分的運動信息,在 大容量的動作捕捉數(shù)據(jù)庫上進行動作檢索或動作識別,得到高質(zhì)量的動作片斷, 借助于動作連接和動作混合算法,得到最終連續(xù)的人體動作數(shù)據(jù)。
有多種機器學(xué)習(xí)方法可用于動作識別,隱馬爾科夫模型是一種得到廣泛應(yīng) 用的模式識別方法,尤其適合于對具有時空變化的時序序列進行建模。從實用 的角度來看,傳統(tǒng)機器學(xué)習(xí)方法的一個缺點是需要收集多個不同用戶的大量 樣本用于訓(xùn)練。因此,在人機交互等領(lǐng)域,用戶無關(guān)的識別算法引起了廣泛的 研究興趣,其關(guān)鍵技術(shù)是如何通過計算機自動生成覆蓋范圍足夠廣的訓(xùn)練樣 本。
運動傳感器是一種可以捕捉多方面運動特性的新型設(shè)備,隨著微機電 (MEMS)技術(shù)的進步,其體積和價格大大降低,己經(jīng)可以用于人機交互和運 動捕獲等領(lǐng)域。加速度傳感器是一種測量加速度的運動傳感器,其價格低廉,非常適合于日常交互應(yīng)用及示范表演驅(qū)動的動畫制作。基于加速傳感器,我們
提出了一種示范表演驅(qū)動的三維人體動作編排方法。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種示范表演驅(qū)動的基于加速傳感器的三維人體動作 編排方法。
包括如下步驟
1) 對動作捕捉數(shù)據(jù)分段,得到只含有單一動作的分段數(shù)據(jù),從分段后的動 作捕捉數(shù)據(jù)中讀取骨架節(jié)點的位置信息,得到與加速傳感在人體所放置部位相 對應(yīng)的虛擬部位的位置信息,對其求二次導(dǎo)數(shù)得到其世界坐標(biāo)內(nèi)加速度數(shù)值, 該數(shù)值在豎直分量上被加上重力加速度之后再乘以對應(yīng)節(jié)點的全局旋轉(zhuǎn)的逆旋 轉(zhuǎn)得到傳感器局部坐標(biāo)內(nèi)的加速度數(shù)值;
2) 以上述加速度信息為原始樣本,通過添加噪音生成一系列訓(xùn)練樣本;
3) 對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn)練樣本;
4) 讀入隱馬爾科夫模型的初始參數(shù),用標(biāo)準(zhǔn)化的訓(xùn)練樣本訓(xùn)練隱馬爾科夫 模型;
5) 連接加速傳感器并將其放置到用戶身體的指定部位;
6) 用戶佩戴著加速傳感器做出示范表演動作,通過一個按鈕來控制示范表 演動作的起始和結(jié)束;
7) 對上述示范表演動作樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的示范表演樣本;
8) 用步驟4)中訓(xùn)練好的隱馬爾科夫模型識別步驟7)輸出的示范表演樣本;
9) 對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容包括 動作的時間調(diào)整、動作的夸張編輯以及動作的連接混合。
所述的以上述加速度信息為原始樣本,通過添加噪音生成一系列訓(xùn)練樣本 步驟采用均勻分布噪音和高斯分布噪音兩種噪音生成方法,控制參數(shù)為信號 的方差與噪音的方差的比值,采用不同的信號的方差與噪音的方差的比值生成 訓(xùn)練樣本進行一系列定量實驗,發(fā)現(xiàn)當(dāng)信號的方差與噪音的方差的比值取值為4 到5之間時,動作識別率最高。
所述的對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn)練樣本步驟采用"樣 條插值-重采樣"的方法對訓(xùn)練樣本長度進行歸一化,采用隨機變量標(biāo)準(zhǔn)化公式對 樣本幅度進行歸一化,采用線性主元分析算法對訓(xùn)練樣本進行特征提取。
所述的對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容 包括動作的時間調(diào)整、動作的夸張編輯以及動作的連接混合步驟在加速度空
5間上,利用動態(tài)時間調(diào)整算法找到示范表演樣本與識別出的動作樣本的最佳匹 配路徑,進而通過增加或刪除某些動作幀來調(diào)整所識別出的動作的時間屬性; 從示范表演動作中提取力度參數(shù),對指定部位的位置信息求一次導(dǎo)數(shù)得到其速 度信息,用力度參數(shù)乘以速度信息得到夸張后的速度信息,再對其積分即可得 到夸張后的動作;最后將識別出的動作與上一次識別出的動作進行連接混合, 生成結(jié)果動作序列并輸出。
本發(fā)明的目標(biāo)是提供一種直觀、自然的表達動畫制作人員創(chuàng)作意圖的方法, 實現(xiàn)高效的三維人體動作數(shù)據(jù)的編排。針對傳統(tǒng)的示范表演驅(qū)動的動畫制作方 法設(shè)備昂貴,難于使用的問題,我們利用廉價的加速度傳感器,提出了一種簡 單實用的動作編排方法,用戶只需將加速度傳感器放置到身體的指定位置并表 演出所要運動即可。針對傳統(tǒng)的機器學(xué)習(xí)方法需要用戶采集大量的訓(xùn)練樣本的 缺點,我們的方法可以從動作捕捉數(shù)據(jù)中自動生成所有訓(xùn)練樣本,系統(tǒng)的動作 識別能力可以通過向動作數(shù)據(jù)庫中添加新的動作捕捉數(shù)據(jù)而得以擴展。在識別 出用戶的示范表演之后,系統(tǒng)還可以根據(jù)示范表演動作中的時間屬性和力度屬 性對識別得到的動作捕捉數(shù)據(jù)做出進一步的調(diào)整。本發(fā)明方法對于用戶沒有特 殊限制,即使是缺乏經(jīng)驗的初學(xué)者也可以在很短的時間內(nèi)熟悉并適用本系統(tǒng), 本發(fā)明解決了示范表演驅(qū)動的動畫制作方法只有少數(shù)經(jīng)驗豐富的專家才會使用 的問題,有效的為動畫制作產(chǎn)業(yè)節(jié)省了人力和財力。
圖1加速傳感器在人體上的配置示意;
圖2本動作編排系統(tǒng)框架與流程示意;
圖3(a)動作捕捉數(shù)據(jù)片段示例;
圖3(b)從動作捕捉數(shù)據(jù)計算得到的加速度樣本;
圖3(C)通過添加均勻分布的噪音生成的樣本;
圖3(d)通過添加高斯分布的噪音生成的樣本;
圖3(e)示范表演動作;
圖3(f)對示范表演采樣得到的樣本;
圖4(a)經(jīng)過預(yù)處理后的訓(xùn)練樣本;
圖4(b)經(jīng)過預(yù)處理后的示范表演樣本; 圖5隱馬爾科夫模型的訓(xùn)練與識別示意; 圖6動態(tài)時間調(diào)整示意;
圖7(a)出拳動作;圖7(b)被擊中后的反應(yīng)性動作; 圖7(C)夸張后的出拳動作; 圖7(d)夸張后的反應(yīng)性動作;
圖8(a)上半身的動作編排示例;
圖8(b)下半身的動作編排示例。
具體實施例方式
示范表演驅(qū)動的基于加速傳感器的三維人體動作編排方法(見圖2)包括如
下步驟
1) 對動作捕捉數(shù)據(jù)分段,得到只含有單一動作的分段數(shù)據(jù),從分段后的動 作捕捉數(shù)據(jù)中讀取骨架節(jié)點的位置信息,得到與加速傳感在人體所放置部位相 對應(yīng)的虛擬部位的位置信息,對其求二次導(dǎo)數(shù)得到其世界坐標(biāo)內(nèi)加速度數(shù)值, 該數(shù)值在豎直分量上被加上重力加速度之后再乘以對應(yīng)節(jié)點的全局旋轉(zhuǎn)的逆旋 轉(zhuǎn)得到傳感器局部坐標(biāo)內(nèi)的加速度數(shù)值;
2) 以上述加速度信息為原始樣本,通過添加噪音生成一系列訓(xùn)練樣本;
3) 對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn)練樣本;
4) 讀入隱馬爾科夫模型的初始參數(shù),用標(biāo)準(zhǔn)化的訓(xùn)練樣本訓(xùn)練隱馬爾科夫 模型;
5) 連接加速傳感器并將其放置到用戶身體的指定部位(見圖1);
6) 用戶佩戴著加速傳感器做出示范表演動作,通過一個按鈕來控制示范表 演動作的起始和結(jié)束;
7) 對上述示范表演動作樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的示范表演樣本;
8) 用步驟4)中訓(xùn)練好的隱馬爾科夫模型識別步驟7)輸出的示范表演樣本;
9) 對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容包括 動作的時間調(diào)整、動作的夸張編輯以及動作的連接混合。
所述的以上述加速度信息為原始樣本,通過添加噪音生成一系列訓(xùn)練樣本 步驟采用均勻分布噪音和高斯分布噪音兩種噪音生成方法,控制參數(shù)為信號
的方差與噪音的方差的比值,采用不同的信號的方差與噪音的方差的比值生成
訓(xùn)練樣本進行一系列定量實驗,發(fā)現(xiàn)當(dāng)信號的方差與噪音的方差的比值取值為4 到5之間時,動作識別率最高。
所述的對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn)練樣本步驟不同的 用戶做同一個動作時,速度相差很大,得到的加速度采樣數(shù)據(jù)長度參差不齊, 采用"三次樣條插值-重采樣"的方法對訓(xùn)練樣本長度進行歸一化;不同的用戶做同一個動作時,力度相差很大,得到的加速度采樣數(shù)據(jù)幅度差別很大,采用概 率論中隨機變量標(biāo)準(zhǔn)化公式對樣本幅度進行歸一化;動作樣本所隱含的主要特
征被淹沒在不相關(guān)的噪聲中,采用線性主元分析算法對訓(xùn)練樣本進行特征提取, 經(jīng)過預(yù)處理之后的訓(xùn)練樣本才用于訓(xùn)練和識別。
所述的對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容
包括動作的時間調(diào)整、動作的夸張編輯以及動作的連接混合步驟在加速度空 間上,利用動態(tài)時間調(diào)整算法找到示范表演樣本與識別出的動作樣本的最佳匹 配路徑,進而通過增加或刪除某些動作幀來調(diào)整所識別出的動作的時間屬性; 從示范表演動作中提取力度參數(shù),對指定部位的位置信息求一次導(dǎo)數(shù)得到其速 度信息,用力度參數(shù)乘以速度信息得到夸張后的速度信息,再對其積分即可得 到夸張后的動作;最后將識別出的動作與上一次識別出的動作進行連接混合, 生成結(jié)果動作序列并輸出。
下面用一個實例來說明
具體實施例方式
首先對動作捕捉數(shù)據(jù)庫中的每個動作片段計算得到相應(yīng)身體部位的加速度 數(shù)據(jù)作為初始樣本,圖3(a)是一個動作捕捉數(shù)據(jù)片段示例,圖3(b)是從該動作捕 捉數(shù)據(jù)計算得到的加速度樣本。接著,系統(tǒng)通過添加噪音自動生成一系列訓(xùn)練 樣本,有兩種噪音生成方法可供選擇均勻分布噪音,見圖3(c),高斯分布噪音, 見圖3(d)。對訓(xùn)練樣本集進行標(biāo)準(zhǔn)化和特征提取,圖4(a)是經(jīng)過標(biāo)準(zhǔn)化后的一個 訓(xùn)練樣本示例。下一步,用經(jīng)過預(yù)處理之后的樣本集訓(xùn)練隱馬爾科夫模型,訓(xùn) 練過程見圖5。連接加速傳感器并將其放置到人體的指定部位,圖1展示了加速 傳感器在人體上的放置部位。接著,用戶佩戴著加速傳感器做出示范表演動作, 通過一個按鈕來控制示范表演動作的起始和結(jié)束,得到加速度采樣,圖3(e)、圖 3(f)是一個示范表演動作及一個加速傳感器采樣得到的樣本。在識別示范表演動 作之前,也需要對其進行標(biāo)準(zhǔn)化和特征提取,圖4(b)是經(jīng)過標(biāo)準(zhǔn)化后的一個示范 表演動作示例。用訓(xùn)練好的隱馬爾科夫模型識別示范表演動作,其過程見圖5。 最后,根據(jù)示范表演動作的時間屬性對識別出的動作進行動態(tài)時間調(diào)整,圖6 是動態(tài)時間調(diào)整示例,其中,動作數(shù)據(jù)以一條一維曲線示意;根據(jù)示范表演動 作的力度對識別出的動作進行夸張動作編輯,圖7(a)-(d)展示了對出拳動作及其 反應(yīng)動作分別進行動作夸張的效果。圖8(a)和圖8(b)則分別給出了上半身和下半 身示范表演驅(qū)動的基于加速傳感器的三維人體動作編排實例。
權(quán)利要求
1. 一種示范表演驅(qū)動的基于加速傳感器的三維人體動作編排方法,其特征在于包括如下步驟1)對動作捕捉數(shù)據(jù)分段,得到只含有單一動作的分段數(shù)據(jù),從分段后的動作捕捉數(shù)據(jù)中讀取骨架節(jié)點的位置信息,得到與加速傳感在人體所放置部位相對應(yīng)的虛擬部位的位置信息,對其求二次導(dǎo)數(shù)得到其世界坐標(biāo)內(nèi)加速度數(shù)值,該數(shù)值在豎直分量上被加上重力加速度之后再乘以對應(yīng)節(jié)點的全局旋轉(zhuǎn)的逆旋轉(zhuǎn)得到傳感器局部坐標(biāo)內(nèi)的加速度數(shù)值;2)以上述加速度信息為原始樣本,通過添加噪音生成一系列訓(xùn)練樣本;3)對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn)練樣本;4)讀入隱馬爾科夫模型的初始參數(shù),用標(biāo)準(zhǔn)化的訓(xùn)練樣本訓(xùn)練隱馬爾科夫模型;5)連接加速傳感器并將其放置到用戶身體的指定部位;6)用戶佩戴著加速傳感器做出示范表演動作,通過一個按鈕來控制示范表演動作的起始和結(jié)束;7)對上述示范表演動作樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的示范表演樣本;8)用步驟4)中訓(xùn)練好的隱馬爾科夫模型識別步驟7)輸出的示范表演樣本;9)對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容包括動作的時間調(diào)整、動作的夸張編輯以及動作的連接混合。
2. 如權(quán)利要求1所述的一種示范表演驅(qū)動的基于加速傳感器的三維人體動 作編排方法,其特征在于,所述的以上述加速度信息為原始樣本,通過添加噪 音生成一系列訓(xùn)練樣本步驟采用均勻分布噪音和高斯分布噪音兩種噪音生成方法,控制參數(shù)為信號的方差與噪音的方差的比值,采用不同的信號的方差與 噪音的方差的比值生成訓(xùn)練樣本進行一系列定量實驗,發(fā)現(xiàn)當(dāng)信號的方差與噪音的方差的比值取值為4到5之間時,動作識別率最高。
3. 如權(quán)利要求1所述的一種示范表演驅(qū)動的基于加速傳感器的三維人體動 作編排方法,其特征在于所述的對上述訓(xùn)練樣本進行預(yù)處理,得到標(biāo)準(zhǔn)化的訓(xùn) 練樣本步驟采用"樣條插值-重釆樣"的方法對訓(xùn)練樣本長度進行歸一化,采用隨機變量標(biāo)準(zhǔn)化公式對樣本幅度進行歸一化,采用線性主元分析算法對訓(xùn)練樣 本進行特征提取。
4. 如權(quán)利要求1所述的一種示范表演驅(qū)動的基于加速傳感器的三維人體動作編排方法,其特征在于,所述的對識別出的動作進行編輯修改得到結(jié)果動作序列,編輯修改的內(nèi)容包括動作的時間調(diào)整、動作的夸張編輯以及動作的連接 混合步驟在加速度空間上,利用動態(tài)時間調(diào)整算法找到示范表演樣本與識別 出的動作樣本的最佳匹配路徑,進而通過增加或刪除某些動作幀來調(diào)整所識別 出的動作的時間屬性;從示范表演動作中提取力度參數(shù),對指定部位的位置信 息求一次導(dǎo)數(shù)得到其速度信息,用力度參數(shù)乘以速度信息得到夸張后的速度信 息,再對其積分即可得到夸張后的動作;最后將識別出的動作與上一次識別出 的動作進行連接混合,生成結(jié)果動作序列并輸出。
全文摘要
本發(fā)明公開了一種示范表演驅(qū)動的基于加速傳感器的三維人體動作編排方法。方法的步驟如下1)對動作捕捉數(shù)據(jù)分段,并從中計算得到指定部位的加速度數(shù)據(jù);2)通過添加噪音自動生成訓(xùn)練樣本集;3)對訓(xùn)練樣本進行預(yù)處理;4)訓(xùn)練隱馬爾科夫模型;5)連接加速傳感器并將其放置到人體的指定部位;6)用戶表演示范動作;7)對示范表演樣本進行預(yù)處理;8)用隱馬爾科夫模型識別示范表演動作;9)對識別出的動作進行編輯修改得到結(jié)果動作序列。本發(fā)明實現(xiàn)了利用加速傳感器進行動作識別和動作編排的功能。解決了傳統(tǒng)動作識別方法需要采集大量訓(xùn)練樣本的問題,提供了一種示范表演驅(qū)動的在加速度空間上進行動作識別和動作編排的方法。
文檔編號G06T15/70GK101441776SQ20081016259
公開日2009年5月27日 申請日期2008年12月4日 優(yōu)先權(quán)日2008年12月4日
發(fā)明者翔 張, 順 張, 李啟雷, 梁秀波, 耿衛(wèi)東 申請人:浙江大學(xué)