專利名稱:一種行為描述的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及行為識別技術(shù)領(lǐng)域,特別涉及一種行為描述的方法和裝置。
背景技術(shù):
近年來人的行為識別已成為多個領(lǐng)域的研究熱點,它在智能視頻監(jiān)控、人機交互、虛擬現(xiàn)實等方面有著廣泛的應(yīng)用前景。行為描述是行為識別一個最基本的問題,也是一個極具挑戰(zhàn)性的問題。
目前常用的一種行為描述的方法是基于人體模型的行為描述方法,利用該方法描述行為時,常采用基于三維人體模型自動提取關(guān)節(jié)點的方法獲取三維人體關(guān)節(jié)點序列,然后再用三維人體關(guān)節(jié)點序列描述三維行為者序列。其中,現(xiàn)有技術(shù)中基于三維人體模型自動提取關(guān)節(jié)點的方法,獲取三維人體關(guān)節(jié)點序列的過程如下1)三維人體模型及姿勢參數(shù)的初始化;2)三維行為者的肢體部件分割,即將原始的三維行為者劃分為若干個肢體部件;3)三維行為者的肢體部件跟蹤,并獲得各個肢體部件上關(guān)節(jié)點的位置。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題 1)現(xiàn)有技術(shù)中基于三維人體模型自動提取關(guān)節(jié)點的方法,獲取三維人體關(guān)節(jié)點序列時運算量非常大,提取關(guān)節(jié)點的速度非常慢; 2)現(xiàn)有技術(shù)只用三維人體關(guān)節(jié)點序列描述三維行為者的行為,對三維行為者行為的描述單一,包含的三維行為者的信息不豐富。
發(fā)明內(nèi)容
為了減少獲取三維人體關(guān)節(jié)點序列過程的運算量,提高獲取三維人體關(guān)節(jié)點序列速度,并豐富對三維行為者的行為描述,本發(fā)明實施例提供了一種行為描述的方法和裝置。所述技術(shù)方案如下 一方面,本發(fā)明實施例提供了一種行為描述的方法,所述方法包括 獲取三維行為者序列,所述三維行為者序列總共為K幀; 根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算所述第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中所述第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù); 依次對所述三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,所述每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù); 將所述三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將所述三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將所述三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列; 用所述三維人體關(guān)節(jié)點坐標序列、所述朝向參數(shù)序列和所述空間位置參數(shù)序列描述所述三維行為者序列。另一方面,本發(fā)明實施例提供了一種行為描述的裝置,所述裝置包括 獲取模塊,用于獲取三維行為者序列,所述三維行為者序列總共為K幀; 初始化模塊,用于根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算所述第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中所述第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù); 處理模塊,用于依次對所述三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,所述每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù); 合并模塊,用于將所述三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將所述三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將所述三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列; 描述模塊,用于用所述三維人體關(guān)節(jié)點坐標序列、所述朝向參數(shù)序列和所述空間位置參數(shù)序列描述所述三維行為者序列。
本發(fā)明實施例提供的技術(shù)方案的有益效果是 通過采用自上而下和自下而上相結(jié)合的分割方法和自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法,可以快速精確地自動提取出三維行為者的三維人體關(guān)節(jié)點坐標;并且,既可以有效地獲得粘連肢體部件的三維人體關(guān)節(jié)點坐標,也可以有效地獲得運動非??斓闹w部件的三維人體關(guān)節(jié)點坐標;另外,自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法可以根據(jù)三維行為者的運動狀態(tài)自適應(yīng)地分配粒子數(shù)目,提高了算法的性能;并且用三維人體關(guān)節(jié)點坐標序列、空間位置參數(shù)序列和朝向序列參數(shù)綜合描述行為,包含了三維行為者的軌跡信息、朝向信息和三維行為者的各個肢體部件關(guān)節(jié)點的運動信息,是對行為最為豐富和有效的描述。
圖1是本發(fā)明實施例1提供的一種行為描述的方法流程圖; 圖2是本發(fā)明實施例2提供的一種行為描述的方法流程圖; 圖3是本發(fā)明實施例2提供的一種三維人體模型的結(jié)構(gòu)示意圖; 圖4是本發(fā)明實施例2提供的肢體部件分層控制的結(jié)構(gòu)示意圖; 圖5是本發(fā)明實施例2提供的三個特征向量與人體的三個主軸之間的對應(yīng)關(guān)系示意圖; 圖6是本發(fā)明實施例2提供的點到線段的距離示意圖; 圖7是本發(fā)明實施例2提供的用同中心的兩個圓柱體C1、C2()來近似表示軀干所在的區(qū)域的示意圖; 圖8本發(fā)明實施例3提供的一種行為描述的裝置結(jié)構(gòu)示意圖。
具體實施例方式 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
實施例1 本發(fā)明實施例提供了一種行為描述的方法,參見圖1,具體包括 101獲取三維行為者序列,該三維行為者序列總共為K幀; 102根據(jù)三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù); 103依次對三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到第二幀三維行為者至第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù); 104將三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列; 105用三維人體關(guān)節(jié)點坐標序列、朝向參數(shù)序列和空間位置參數(shù)序列描述三維行為者序列。
本實施例所述的方法,通過采用自上而下和自下而上相結(jié)合的分割方法和自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法,可以快速精確地自動提取出三維行為者的三維人體關(guān)節(jié)點坐標;并且,既可以有效地獲得粘連肢體部件的三維人體關(guān)節(jié)點坐標,也可以有效地獲得運動非??斓闹w部件的三維人體關(guān)節(jié)點坐標;另外,自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法可以根據(jù)三維行為者的運動狀態(tài)自適應(yīng)地分配粒子數(shù)目,提高了算法的性能。
實施例2 本發(fā)明實施例提供了一種行為描述的方法,參見圖2,具體包括 201進行多視角視頻采集得到多視角視頻序列。
其中,進行多視角視頻采集得到多視角視頻序列的具體過程與現(xiàn)有技術(shù)相同,此處不再贅述。
202對多視角視頻序列進行三維重構(gòu)得到三維行為者序列。
其中,對多視角視頻序列進行三維重構(gòu)得到三維行為者序列的具體過程與現(xiàn)有技術(shù)相同,此處不再贅述。并且,三維空間被劃分為離散的網(wǎng)格點,三維行為者用三維占據(jù)網(wǎng)格的頂點點集表示,設(shè)表示三維行為者序列中第k幀三維行為者的點集,其中
表示第n個網(wǎng)格頂點的三維坐標,Nk表示第k幀行為者點集的個數(shù)。另外,假設(shè)本實施例中得到的三維行為者序列總共為K幀,并設(shè)初始的幀序號為k=1,為了便于描述將三維行為者序列按照順序依次稱為第一幀三維行為者、第二幀三維行為者…第k幀三維行為者…第K幀三維行為者。并且本實施例中三維行為者的行為從三維行為者的站立姿勢開始,即三維行為者序列中的第一幀三維行為者為站立姿勢。
203獲取幀序號k=1對應(yīng)的三維行為者,即三維行為者序列中的第一幀三維行為者,根據(jù)第一幀三維行為者,對選取的三維人體模型進行初始化,并計算第一幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標。
本實施例中描述的行為是指人體的四肢和軀干運動而形成的行為,不包含手、腳、頭等小部件的動作,所以本實施例選取的是包含11個肢體部件、14個關(guān)節(jié)點的三維人體模型,參見圖3為本實施例選取的一種三維人體模型的結(jié)構(gòu)示意圖。并且三維人體模型也是由三維占據(jù)網(wǎng)格的頂點點集表示的,設(shè)表示人體模型的三維網(wǎng)格頂點集合,其中h(m)為第m個網(wǎng)格頂點的三維坐標。11個肢體部件依次為頭、軀干、腰、左上臂、左前臂、右上臂、右前臂、左大腿、左小腿、右大腿和右小腿;設(shè)L(m)(1≤m≤11)表示三維人體模型11個肢體部件的三維網(wǎng)格頂點子集,則14個關(guān)節(jié)點依次為頸關(guān)節(jié)1、腰關(guān)節(jié)2、左肩關(guān)節(jié)3、左肘關(guān)節(jié)4、右肩關(guān)節(jié)5、右肘關(guān)節(jié)6、左胯關(guān)節(jié)7、左膝關(guān)節(jié)8、右胯關(guān)節(jié)9、右膝關(guān)節(jié)10、左腕關(guān)節(jié)11、右腕關(guān)節(jié)12、左踝關(guān)節(jié)13和右踝關(guān)節(jié)14;設(shè)表示三維人體模型14個關(guān)節(jié)點的三維人體關(guān)節(jié)點坐標。需要說明的是,在選取三維人體模型時L(m)(1≤m≤11)和在三維人體模型初始姿勢下的初始值是作為已知量給出的 本實施例中對于整個人體,共設(shè)計了23個自由度,其中包括1個朝向自由度(即整個人體繞豎直軸旋轉(zhuǎn)的角度)、3個空間位置自由度、3個腰關(guān)節(jié)旋轉(zhuǎn)自由度、2個左肩關(guān)節(jié)旋轉(zhuǎn)自由度、2個左肘關(guān)節(jié)旋轉(zhuǎn)自由度、2個右肩關(guān)節(jié)旋轉(zhuǎn)自由度、2個右肘關(guān)節(jié)旋轉(zhuǎn)自由度、2個左胯關(guān)節(jié)旋轉(zhuǎn)自由度、2個左膝關(guān)節(jié)旋轉(zhuǎn)自由度、2個右胯關(guān)節(jié)旋轉(zhuǎn)自由度和2個右膝關(guān)節(jié)旋轉(zhuǎn)自由度。每個自由度對應(yīng)一個姿勢參數(shù)和一個姿勢變換矩陣,設(shè)
表示23維的姿勢參數(shù),整個人體的姿勢空間由23維姿勢參數(shù)構(gòu)成,其中朝向和空間位置這4個姿勢參數(shù)可以控制人體整體的變化,其余19個姿勢參數(shù)分別控制某些肢體部件的變化。參見表1為人體關(guān)節(jié)點對應(yīng)的姿勢參數(shù)及姿勢變換矩陣,并且表1中還列出了各個姿勢參數(shù)
(1≤n≤23)的物理意義。
表1
其中,表1中各個姿勢變換矩陣的具體表達式如下 (1)朝向的姿勢變換矩陣令
(2)空間位置的三個姿勢變換矩陣令
(3)腰關(guān)節(jié)的三個姿勢變換矩陣令
Tα旋轉(zhuǎn)軸為X軸 Tβ旋轉(zhuǎn)軸為
軸
設(shè)則Tβ=eAβ=I+Asin(β)+A2[1-cos(β)]; Tγ旋轉(zhuǎn)軸為
軸
設(shè)則Tγ=eAγ=I+Asin(γ)+A2[1-cos(γ)]; (4)左肩關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為Y軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (5)左肘關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為Y軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (6)右肩關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為Y軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (7)右肘關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為Y軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (8)左胯關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為X軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (9)左膝關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為X軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (10)右胯關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為X軸
旋轉(zhuǎn)軸為
軸
設(shè)則 (11)右膝關(guān)節(jié)點的兩個姿勢變換矩陣令
旋轉(zhuǎn)軸為X軸
旋轉(zhuǎn)軸為
軸
設(shè)則 通過姿勢變換矩陣,人體的23個姿勢參數(shù)可以控制11個肢體部件進行姿勢變化。并且這11個肢體部件之間的姿勢變換不是獨立的,而是分層控制的,參見圖4為肢體部件分層控制的結(jié)構(gòu)示意圖,其中,朝向和空間位置的姿勢參數(shù)可以控制所有肢體部件的姿勢變化,腰關(guān)節(jié)的姿勢參數(shù)可以控制整個上半身(包括軀干、頭、腰、左上臂、右上臂、左前臂和右前臂)的姿勢變化,右肘關(guān)節(jié)控制右前臂的姿勢變化,其它控制關(guān)系類似不再一一贅述,并且也可以通過表1中的對姿勢參數(shù)的物理意義的描述看出肢體部件分層控制的具體關(guān)系。
根據(jù)圖4中肢體部件分層控制的關(guān)系,例如軀干受到朝向參數(shù)、空間位置參數(shù)和腰關(guān)節(jié)姿勢參數(shù)的控制,可知軀干的姿勢變換由姿勢變換矩陣Bγ、Bx、By、Bz、Tα、Tβ、Tγ共同決定,所以根據(jù)肢體部件分層控制的關(guān)系,可以得到11個肢體部件在23個姿勢參數(shù)控制下的姿勢變換公式,如表2所示為各個肢體部件的姿勢變換公式,其中,表示三維人體模型在姿勢參數(shù)Ψ下進行姿勢變換后的點集,
(1≤m≤11)表示姿勢變換后的各個肢體部件點集,
(1≤n≤14)表示姿勢變換后的14個三維人體關(guān)節(jié)點坐標,
(1≤m≤11)表示三維人體模型在圖3所示的初始姿勢下各個肢體部件的點集,
(1≤n≤14)表示三維人體模型在圖3所示的初始姿勢下的三維人體關(guān)節(jié)點坐標。并且需要說明的是,人體的關(guān)節(jié)點處在不同肢體部件的連接部分,所以可以通過姿勢變換公式來計算三維人體關(guān)節(jié)點坐標,具體是,計算該關(guān)節(jié)點的三維點坐標公式與該關(guān)節(jié)點所連接的肢體對應(yīng)的姿勢變換公式一樣,參見圖3,例如頸關(guān)節(jié)1j(1)、腰關(guān)節(jié)2j(2)、左肩關(guān)節(jié)3j(3)、右肩關(guān)節(jié)5j(5)都和軀干相連接,則這些關(guān)節(jié)的三維點坐標公式與軀干的姿勢變換公式一樣為其中n=1、2、3或者5;并且如果關(guān)節(jié)點所連接的肢體部件為多個,則計算該關(guān)節(jié)點的三維點坐標公式可以為多個個肢體部件對應(yīng)的姿勢變換公式中的任意一個,例如腰關(guān)節(jié)2j(2)分別與軀干和腰相連接,則計算腰關(guān)節(jié)2的三維點坐標公式為或 表2
其中,本實施例中根據(jù)三維行為者序列中的第一幀三維行為者,對三維人體模型進行初始化包括三維人體模型尺寸的初始化和23個姿勢參數(shù)的初始化,具體如下 (1)三維人體模型尺寸的初始化 由于不同三維行為者的體形各不相同,所以需要將三維人體模型縮放至與三維行為者相同的水平。三維行為者和三維人體模型都是用三維占據(jù)網(wǎng)格點集表示的,因此將三維行為者(站立姿勢)和三維人體模型(初始狀態(tài))各自點集的Z軸的最大值和最小值相減就可以分別獲取三維行為者和三維人體模型的身高;例如表示三維行為者序列中第一幀三維行為者的點集,其中表示第n個網(wǎng)格頂點的三維坐標,表示選取的三維人體模型的初始點集,其中h(m)=[x(m),y(m),z(m)]′表示第m個網(wǎng)格頂點的三維坐標,則三維行為者的身高為
三維人體模型的身高為
然后根據(jù)三維行為者的身高和三維人體模型的身高,得到三維人體模型與三維行為者的身高比例;最后將三維人體模型按照身高比例縮放至與三維行為者相同的水平。
(2)三維人體模型23個姿勢參數(shù)的初始化 設(shè)姿勢參數(shù)的初始值為
由于第一幀三維行為者為站立姿勢的三維行為者,對于站立姿勢的三維行為者,除了朝向參數(shù)
和空間位置參數(shù)
這4個參數(shù)之外,其它19個姿勢參數(shù)的都是已知的,依次為
參數(shù)
表示三維行為者初始的空間位置,這三個參數(shù)可以通過三維行為者的點集的中心直接獲取,其中,
參數(shù)
是指三維行為者沿豎直軸(Z軸)旋轉(zhuǎn)的角度,可以通過對三維行為者的點集進行KL(Karhunen-LoeveTransform)變換獲得參數(shù)
具體為對三維行為者的點集進行KL變換,得到三個特征值和與三個特征值對應(yīng)的三個特征向量,按照特征值從大到小的順序,為了便于描述,將三個特征值按照從大到小的順序依次稱為第一特征值、第二特征值和第三特征值,并且將與第一特征值、第二特征值和第三特征值對應(yīng)的特征向量分別稱為第一特征向量、第二特征向量和第三特征向量,該三個特征向量分別對應(yīng)人體的三個主軸。參見圖5為三個特征向量與人體的三個主軸之間的對應(yīng)關(guān)系示意圖,其中,第一特征向量10對應(yīng)于人體40的豎軸,第二特征向量20對應(yīng)于人體40的橫軸,第三特征向量30對應(yīng)于人體40的縱軸。計算第二特征向量(即人體橫軸)與x軸的夾角,由于繞Z軸旋轉(zhuǎn)度數(shù)相差180度的兩個三維行為者得到的三個主軸是一樣的,所以三維行為者繞Z軸旋轉(zhuǎn)的角度為人體橫軸正向與x軸正向的夾角,或三維行為者繞Z軸旋轉(zhuǎn)的角度為人體橫軸正向與x軸正向的夾角再加180度,可見由人體橫軸正向與x軸正向的夾角得到的三維行為者沿豎直軸旋轉(zhuǎn)的角度并不唯一。為了確定三維行為者沿豎直軸旋轉(zhuǎn)的角度的具體值,我們將三維人體模型與三維行為者在相差180度的兩個角度分別進行匹配,其中,三維人體模型和三維行為者更匹配的角度就是三維行為者的朝向角
具體如下設(shè)人體橫軸與x軸正向的夾角為θ,
根據(jù)姿勢變換公式得到
和
然后分別計算A1和
A1和
之間的CM(Chamfer Matching)距離,這兩個距離分別記為
如果
則
否則
其中A1和H之間的CM距離定義如下 從而可以得到23個姿勢參數(shù)的初始值
的具體值。
根據(jù)23個姿勢參數(shù)的初始值
可以得到與各個姿勢參數(shù)對應(yīng)的姿勢變換矩陣,然后根據(jù)表2的各個肢體部件的姿勢變換公式就可以得到
從而可以獲得在初始姿勢參數(shù)Ψ0下進行姿勢變換的三維人體模型點集例如根據(jù)已知的
和
及表1中姿勢變換矩陣的具體表達式,計算得到Bγ、、Bx、By、Bz、Tα、Tβ和Tγ;然后根據(jù)表2中的姿勢變換公式計算得到
類似地還可以得到
從而得到 其中,計算第一幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,具體為 通過上述對三維人體模型的23個姿勢參數(shù)的初始化可以看出,三維人體模型的23個姿勢參數(shù)的初始值即為第一幀三維行為者的姿勢參數(shù),從而第一幀三維行為者的姿勢參數(shù)Ψ1為
并且根據(jù)步驟203中的描述,可知由姿勢參數(shù)計算三維人體關(guān)節(jié)點坐標的公式與關(guān)節(jié)點所在的肢體部件的姿勢變換公式是一樣的,所以可以通過姿勢變換公式來得到相應(yīng)的關(guān)節(jié)點的三維坐標,例如頸關(guān)節(jié)1的三維人體關(guān)節(jié)點坐標j(1)可根據(jù)頭的姿勢變換公式計算得到;腰關(guān)節(jié)2的三維人體關(guān)節(jié)點坐標j(2)可根據(jù)腰的姿勢變換公式或軀干的姿勢變換公式計算得到。類似地可以計算出其它三維人體關(guān)節(jié)點坐標,從而得到第一幀三維行為者的三維人體關(guān)節(jié)點坐標 204將幀序號k加1,即k=k+1,判斷此時的幀序號k是否大于K,如果大于K,則執(zhí)行207;否則,執(zhí)行205。
205對第k幀三維行為者進行肢體部件分割,獲得第k幀三維行為者的各個肢體部件。
需要說明的是,對三維行為者進行肢體部件分割和肢體部件跟蹤是為了獲取三維行為者的三維人體關(guān)節(jié)點坐標和姿勢參數(shù),而第一幀三維行為者的三維人體關(guān)節(jié)點坐標和姿勢參數(shù)可以通過計算直接獲取,所以不需要對第一幀三維行為者進行肢體部件分割和肢體部件跟蹤,所以第k幀三維行為者具體為第二幀三維行為者、第三幀三維行為者…第K-1幀三維行為者和第K幀三維行為者其中之一。
肢體部件分割就是將三維行為者的點集劃分為11個肢體部件子集。本實施例中肢體部件分割結(jié)合了“自上而下”和“自下而上”這兩種策略,本實施例中肢體部件分割方法可稱為自上而下和自下而上相結(jié)合的分割方法,該方法由3個步驟組成 (1)采用自上而下的方法分割肢體部件首先計算第k幀三維行為者的朝向參數(shù)和空間位置參數(shù),得到
并假設(shè)其它姿勢參數(shù)保持不變,即
由此得到姿勢變換后的三維人體模型點集
并根據(jù)
對第k幀三維行為者進行初步分割,得到初步分割結(jié)果;(2)采用自下而上的方法分割肢體部件基于初步分割結(jié)果,根據(jù)人體各個肢體部件之間存在的約束關(guān)系,重新確定第k幀三維行為者中的每個點與各個肢體部件的關(guān)系,得到修正分割結(jié)果,即半監(jiān)督聚類的初值;(3)采用半監(jiān)督聚類算法對修正分割結(jié)果進行迭代求解,得到半監(jiān)督聚類分割結(jié)果。
其中,采用自上而下的方法分割肢體部件的過程具體如下 (1)計算第k幀三維行為者的空間位置參數(shù)和朝向參數(shù) 其中,空間位置參數(shù)
可通過第k幀三維行為者的點集的中心獲取,具體過程與步驟203中獲取
的過程類似,此處不再贅述。當三維行為者處于站立姿勢時,可以通過KL變換獲取三維行為者的朝向參數(shù)
具體過程與步驟203中獲取
的過程類似,此處不再贅述;當三維行為者不處于站立姿勢時,通過在一定的范圍內(nèi)全搜索的方法獲取朝向參數(shù)
即
(2)獲取姿勢變換后的三維人體模型的點集
上述得到了第k幀三維行為者的空間位置參數(shù)
和朝向參數(shù)
然后假設(shè)第k幀三維行為者的其它姿勢參數(shù)保持不變,即
將Ψ(k-)作為第k幀三維行為者的預測姿勢參數(shù),根據(jù)Ψ(k-)就可以得到三維人體模型
,其中,根據(jù)Ψ(k-)得到三維人體模型
)的具體過程與步驟203中根據(jù)Ψ0得到的過程類似,此處不再贅述。
(3)初步分割肢體部件 基于三維人體模型
對第k幀三維行為者進行初步的分割,即將第k幀三維行為者上的點
分割到三維人體模型
上距離點
最近的肢體部件,得到初步分割結(jié)果。
其中,三維人體模型的頭部可以用一個球體近似表示,其它肢體部件可以用圓柱體近似表示,令表示三維人體模型11個肢體部件的中心。對于用球體表示的頭部,其中心就是球心;對于用圓柱體表示的其他肢體部件,其中心則是圓柱體的中心軸線段。
令
表示三維行為者的點
與三維人體模型的第m個肢體部件中心u(m)之間的距離。若u(m)為頭部的中心,則
為
到u(m)的歐氏距離,即若u(m)為其他肢體部件的中心,則
定義為點
到線段的距離,參見圖6為點到線段的距離示意圖,首先判斷點
處于線段區(qū)域I0還是線段外區(qū)域I1或者I2,具體方法如下設(shè)o1、o2為線段u(m)的兩個端點,計算矢量
和矢量
的夾角,記為θ1,并計算矢量
和矢量
的夾角,記為θ2,如果θ1和θ2都不是鈍角,則
處于線段區(qū)域I0,如果θ1是鈍角,則
處于線段外區(qū)域I1,如果θ2是鈍角,則
處于線段外區(qū)域
;當
處于區(qū)域I0時,
為點
到線段的距離;當
處于區(qū)域I1時,其中
為點
到線段端點o1的距離,c為大于1的懲罰因子常數(shù)。當
處于區(qū)域I2時,其中
為點
到線段端點o2的距離。需要說明的是,當
處于區(qū)域I1或者I2時,
為點an到線段端點o1或者線段端點o2的距離,所以將
乘以c來近似表示
并且本實施例中c的取值為1.5。由于不同肢體部件的半徑并不相同,所以將
歸一化,令
表示點
到u(m)的歸一化距離,則 其中,rm表示第m個肢體部件的半徑。
設(shè)表示三維行為者的點集與11個肢體部件L(m)(1≤m≤11)之間的關(guān)系矩陣,如果則設(shè)定rn,m=1,rn,m′=0(1≤m′≤11,m′≠m);對于三維行為者的點
設(shè)則即將點
初步分割到第m*個肢體部件,由此可以確定關(guān)系矩陣R元素的初始值rn,m=0(1≤m≤11,m≠m*),即獲得初步分割結(jié)果。
其中,采用自下而上的方法分割肢體部件的過程具體如下 自下而上的分割肢體部件就是根據(jù)人體各個肢體部件之間存在的約束關(guān)系對初步分割結(jié)果進行修正,重新確定三維行為者的點
與肢體部件的關(guān)系,這種關(guān)系分為以下3種情況 (1)
確定屬于某一肢體部件;(2)
可能屬于某一肢體部件,即
不確定是否屬于某一肢體部件;(3)
確定不屬于某一肢體部件。通過這個修正的過程可以將上一步得到的關(guān)系矩陣R進行如下的修正
其中,0<α<1,并且修正后的關(guān)系矩陣R包含了上述3種關(guān)系。
基于初步分割結(jié)果,根據(jù)人體各個肢體部件之間存在的約束關(guān)系,就可以對關(guān)系矩陣R進行修正。下面以軀干為例來說明如何根據(jù)人體各個肢體部件之間存在的約束關(guān)系,對關(guān)系矩陣R進行修正。
(1)如圖7所示,用同中心的兩個圓柱體C1、C2來近似表示軀干所在的區(qū)域。
從圖7可以看出,在C1內(nèi)的點一定屬于軀干;不在C1內(nèi),在C2內(nèi)的點可能屬于軀干,也可能屬于軀干周圍的其他肢體部件;在C2之外的點一定不屬于軀干。并且需要說明的是,實際應(yīng)用中還可以通過其他方法來近似表示軀干所在的區(qū)域,如用兩個長方體、兩個球體等等。
(2)判斷初步分割為軀干的點與C1、C2的關(guān)系,對關(guān)系矩陣R中與軀干對應(yīng)的元素進行修正。
具體為①在C1內(nèi)的點一定屬于軀干,則該點對應(yīng)的rn,m=1;②不在C1內(nèi),在C2內(nèi)的點可能屬于軀干,也可能屬于軀干周圍的其他肢體部件,則該點對應(yīng)的rn,m=α;③在C2之外的點一定不屬于軀干,則該點對應(yīng)的rn,m=0。
采用與修正關(guān)系矩陣R中與軀干對應(yīng)的元素類似的方法,可以對關(guān)系矩陣R中與其它肢體部件對應(yīng)的元素進行修正,從而得到修正后的關(guān)系矩陣R,即獲得修正分割結(jié)果。
需要說明的是對于點
如果存在rn,m=1(1≤m≤11),則可以確定點
屬于第m個肢體部件,稱該點為確定點;對于點
如果存在rn,m=α(1≤m≤11),則點
可能屬于第m個肢體部件,稱該點為不確定點;這些不確定點將會通過下一步半監(jiān)督聚類算法劃分到各個肢體部件, 其中,采用半監(jiān)督聚類算法對修正分割結(jié)果進行迭代求解,得到半監(jiān)督聚類分割結(jié)果具體如下 根據(jù)人體各個肢體部件之間存在的約束關(guān)系對初始分割結(jié)果進行修正,使得每一個肢體部件由以下兩部份組成確定屬于該肢體部件的點及可能屬于該肢體部件的點。將這些不確定的點分類到各個肢體部件的問題就變成一個半監(jiān)督聚類問題。令pn,m=p(rn,m=1|Ak)表示三維行為者上的點
屬于第m個肢體部件的條件概率。具體步驟如下 (1)設(shè)定初始值 設(shè)迭代次數(shù)的初始值為i=0;關(guān)系矩陣R的初始值為R0,R0是上一步分割得到的修正后的關(guān)系矩陣;表示迭代初始時確定屬于第m個肢體部件的點集;11個肢體部件聚類中心的初始值為其中頭部的聚類中心的初始值
為所有屬于頭部的點的中心,即其它肢體部件的聚類中心的初始值為屬于該肢體部件的點集
的主軸線段,由KL變化獲得,即 (2)更新條件概率
表示點
到第m個肢體部件的聚類中心
的歸一化距離,由
可以近似計算條件概率 其中,
的具體定義與
類似,此處不再贅述。
(3)更新關(guān)系矩陣R(i+1) 當大于某一閾值T1(0<T1<1)時, 當點
屬于某一類的條件概率
小于某一閾值T2(0<T2<T1)時, 本實施例中的兩個閾值根據(jù)經(jīng)驗選擇為T1=0.8、T2=0.1。
(4)更新類別中心Vi+1 頭部類別的中心
為 其它肢體部件的類別中心為 (5)迭代中止條件的判斷 當相鄰兩次迭代各個肢體部件的聚類中心Vi、Vi+1之間的距離小于某一閾值或者達到最大迭代次數(shù)時迭代中止,否則i=i+1,轉(zhuǎn)向(2)。
其中,聚類中心Vi、Vi+1之間的的距離具體定義如下頭部的聚類中心是三維點,則相鄰兩次迭代的聚類中心
的距離為其它肢體部件的聚類中心為線段,設(shè)
表示
的兩個端點,則相鄰兩次迭代的聚類中心
的距離由矢量
和矢量
的夾角和端點距離
定義,即此時需要滿足矢量
和矢量
的夾角、端點距離
都小于某一閾值時迭代才中止。
經(jīng)過半監(jiān)督聚類迭代求解后,得到第k幀三維行為者的半監(jiān)督聚類迭代分割結(jié)果 206對第k幀三維行為者的各個肢體部件進行跟蹤,獲得第k幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,然后執(zhí)行204。
肢體部件跟蹤是指根據(jù)姿勢參數(shù)的變化跟蹤人體各個肢體部件的位置并獲得各三維人體關(guān)節(jié)點坐標。肢體分割獲得了三維行為者的各個肢體部件以及姿勢參數(shù)
之后就可以對各個肢體部件進行跟蹤,獲得姿勢參數(shù)
和三維人體關(guān)節(jié)點坐標。
需要說明的是,通過步驟205將三維行為者分割為11個肢體部件,為了進一步降低跟蹤過程中的運算量,可以將11個肢體部件合并為5個肢體部件,然后對該5個肢體部件進行跟蹤,下面以將11個肢體部件合并為5個肢體部件后的跟蹤為例,說明如何實現(xiàn)對第k幀三維行為者的各個肢體部件進行跟蹤的。
(1)根據(jù)各個肢體部件之間的關(guān)節(jié)點控制關(guān)系,將11個肢體部件進行合并,得到5個合并肢體部件; 由于某些肢體部件之間例如右上臂和右前臂、左上臂和左前臂、右大腿和右小腿、左大腿和左小腿關(guān)節(jié)點的控制關(guān)系非常密切,并且由于相互連接,邊界點往往分割不準確,所以將這些肢體部件合并后再跟蹤,即在肢體部件跟蹤過程中,需要跟蹤5個合并后的肢體部件軀干(軀干、頭、腰)、左臂(左上臂、左前臂)、右臂(右上臂、右前臂)、左腿(左大腿、左小腿)、右腿(右大腿、右小腿),其中,軀干(軀干、頭、腰)對應(yīng)的是腰關(guān)節(jié),即跟蹤軀干可以得到腰關(guān)節(jié)的3個姿勢參數(shù);左臂(左上臂、左前臂)對應(yīng)的是左肩關(guān)節(jié)和左肘關(guān)節(jié),即跟蹤左臂可以得到左肩關(guān)節(jié)的2個姿勢參數(shù)和左肘關(guān)節(jié)的2個姿勢參數(shù),其它類似不再一一贅述。這樣在每個肢體部件的跟蹤中只有3~4個自由度,與同時跟蹤19個自由度的參數(shù)集相比可以大大降低運算量。并且在跟蹤上層肢體部件的姿勢參數(shù)時我們假設(shè)它的子節(jié)點的參數(shù)保持上一幀的參數(shù)不變。并且需要說明的是,人體整個自由度的搜索空間用一個分層的樹表示,如圖4所示,設(shè)各層的節(jié)點之間是相互獨立的。根據(jù)這個分層的樹,按照自上而下的順序依次跟蹤各個肢體部件,獲取其姿勢參數(shù),具體順序如下首先同時分別跟蹤軀干、左腿、右腿,然后再同時分別跟蹤左臂、右臂。需要說明的是,當對11個肢體部件進行跟蹤時,也 (2)設(shè)置跟蹤框架 本實施例采用貝葉斯跟蹤框架,它包括兩個模型系統(tǒng)動態(tài)模型和觀測模型。設(shè)X為狀態(tài),它表示所跟蹤的肢體部件對應(yīng)的關(guān)節(jié)點的姿勢參數(shù)s和姿勢參數(shù)的速度v,即
表示對X的一個采樣;Zk為時刻k的觀測,表示被跟蹤的第k幀三維行為者的肢體部件的點集,
為粒子集,其中ω表示采樣的樣本,即粒子
的權(quán)重,對應(yīng)于粒子的概率。
系統(tǒng)動態(tài)模型如下在預測階段,粒子
用一階動態(tài)模型獲得 其中,為變化矩陣,vk~N(0,σk)為0均值的高斯隨機變量。
觀測模型如下觀測Zk表示被跟蹤的第k幀三維行為者的肢體部件的點集,令
表示三維人體模型上相應(yīng)的肢體部件在姿勢狀態(tài)為
時的點集,
表示Zk和
之間的距離。根據(jù)sigmoid函數(shù)近似獲得觀測概率 (3)利用自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法跟蹤合并肢體部件,得到所述第k幀三維行為者的三維人體關(guān)節(jié)點坐標。
粒子濾波算法是跟蹤非線性非高斯系統(tǒng)的一種有效的算法,非常適用于非線性運動的肢體部件跟蹤。然而在不同的行為中,各個肢體部件的運動狀態(tài)差別非常大,例如在“揮手”這種行為中,右臂或左臂的運動復雜,而其它肢體部件基本保持不動;甚至同一種行為的不同時刻,同一個肢體部件的運動狀態(tài)差別也很大。因此在各個肢體部件的跟蹤過程中需要逐幀自適應(yīng)的分配粒子數(shù)。而自適應(yīng)粒子個數(shù)粒子濾波算法可以根據(jù)三維行為者的運動狀態(tài)自適應(yīng)地分配粒子數(shù),因此本實施例將自適應(yīng)粒子個數(shù)粒子濾波算法用于跟蹤肢體部件,為了便于說明,將本實例的跟蹤算法稱為自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法,下面以將自適應(yīng)粒子個數(shù)粒子濾波算法嵌入到SIR(Sampling Importance Re-sampling filter,重要性重采樣濾波器)得到的一種自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法為例進行說明,將自適應(yīng)粒子個數(shù)粒子濾波算法嵌入到SIR中得到的自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法具體如下所示 (1)重要性采樣 for i=1N End (2)歸一化權(quán)重 (3)估計狀態(tài)參數(shù)
for i=1N
end end (4)估計過程噪聲方差 if σ<α×abs(xk-xk-1) σ=α×abs(xk-xk-1); end (5)更新粒子個數(shù) Nk+1∝σk/τDim(0<τ<1,Dim為自由度的維數(shù)); (6)重采樣 通過上述過程可以得到所以通過對各個合并肢體部件進行跟蹤就可以得到姿勢參數(shù)
將
與步驟205中得到的
合并,就可以獲得姿勢參數(shù)
然后根據(jù)Ψk和表2所示姿勢變化公式就可以得到三維人體關(guān)節(jié)點坐標Jk;其中,得到三維人體關(guān)節(jié)點坐標Jk的具體過程與得到三維人體關(guān)節(jié)點坐標J1。
207將獲取的三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將述三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序,用三維人體關(guān)節(jié)點坐標序列、朝向參數(shù)序列和空間位置參數(shù)序列描述該三維行為者序列。
通過步驟203至步驟206可以獲取三維行為者序列中的所有三維行為者各自對應(yīng)的姿勢參數(shù)Ψ1、Ψ2…ΨK和各自對應(yīng)的三維人體關(guān)節(jié)點坐標J1、J2…JK,其中K為三維行為者序列的幀數(shù)。將三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并,得到三維人體關(guān)節(jié)點坐標序列為
將三維行為者序列中的所有三維行為者的姿勢參數(shù)中的空間位置參數(shù)合并,得到空間位置參數(shù)序列為
將三維行為者序列中的所有三維行為者的姿勢參數(shù)中的朝向參數(shù)合并,得到朝向參數(shù)序列為
將三維行為者序列用如下幾類特征聯(lián)合描述1)三維人體關(guān)節(jié)點坐標序列
2)空間位置參數(shù)序列
3)朝向參數(shù)序列
。其中,三維人體關(guān)節(jié)點坐標序列表現(xiàn)了行為過程中三維行為者各個肢體部件的相對運動,空間位置參數(shù)序列表現(xiàn)了三維行為者的位置信息,朝向參數(shù)序列表現(xiàn)了三維行為者朝向角度的變化。
對本實施例所述的方法,進行了相應(yīng)的實驗,具體實驗結(jié)果如下 (1)參見表3,為自適應(yīng)粒子個數(shù)粒子濾波算法、粒子濾波算法和Kalman(卡爾曼)濾波算法應(yīng)用到本實施例中進行跟蹤時得到的關(guān)節(jié)點誤差比較表,其中誤差的單位為體素。
表3 在粒子濾波算法中粒子個數(shù)固定為300個,在自適應(yīng)粒子個數(shù)粒子濾波算法中粒子個數(shù)可以在200~400之間自適應(yīng)的變化。由表3可見,當肢體部件運動幅度較小如站立、轉(zhuǎn)圈、行走時,或者發(fā)生姿勢變換的肢體部件個數(shù)較少如揮手、看手表、指中只有一個手臂有較大幅度動作時,粒子濾波算法和自適應(yīng)粒子個數(shù)粒子濾波算法的性能相差不大;而在踢腿中,自適應(yīng)粒子個數(shù)粒子濾波算法要優(yōu)于粒子濾波算法。Kalman濾波算法主要應(yīng)用于線性高斯系統(tǒng)下的跟蹤,而行為中的各個肢體部件并不是線性運動的,Kalman濾波算法在各種行為序列中的性能都比其它兩種算法差。并且自適應(yīng)粒子個數(shù)粒子濾波算法、粒子濾波算法和Kalman濾波算法得到的平均關(guān)節(jié)點誤差分別為0.83體素、0.90體素和1.83體素,而相應(yīng)的運算時間分別為0.53s/frame、0.72s/frame和0.27s/frame。綜上所述Kalman濾波算法的速度最快,但跟蹤性能最差;并且可以看出自適應(yīng)粒子個數(shù)粒子濾波算法的運算速度和跟蹤性能都要優(yōu)于粒子濾波算法。
(2)參見表4,為12個三維行為者在7種行為中各個肢體部件分配到的平均粒子數(shù)圖。
從表4可以看出在站立序列中各個肢體部件的運動幅度不是很大,所以粒子個數(shù)基本保持在最小值,而在其它行為序列中,運動比較激烈的肢體部件分配了較多粒子,而運動相對緩慢的肢體部件的粒子數(shù)保持在最小粒子數(shù)附近。
表4 本實施例所述的方法,通過采用自上而下和自下而上相結(jié)合的分割方法和自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法,可以快速精確地自動提取出三維行為者的三維人體關(guān)節(jié)點坐標;并且,既可以有效地獲得粘連肢體部件的三維人體關(guān)節(jié)點坐標,也可以有效地獲得運動非常快的肢體部件的三維人體關(guān)節(jié)點坐標;另外,可以根據(jù)三維行為者的運動狀態(tài)自適應(yīng)地分配粒子數(shù)目,提高了算法的性能;并且用三維人體關(guān)節(jié)點坐標序列、空間位置參數(shù)序列和朝向參數(shù)序列綜合描述行為,包含了三維行為者的軌跡信息、朝向信息和三維行為者的各個肢體部件關(guān)節(jié)點的運動信息,是對行為最為豐富和有效的描述。
實施例3 參見圖11,本發(fā)明實施例提供了一種行為描述的裝置,包括 獲取模塊301,用于獲取三維行為者序列,三維行為者序列總共為K幀; 初始化模塊302,用于根據(jù)三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù); 處理模塊303,用于依次對三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù); 合并模塊304,用于將三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列; 描述模塊305,用于用三維人體關(guān)節(jié)點坐標序列、朝向參數(shù)序列和空間位置參數(shù)序列描述所述三維行為者序列。
其中,初始化模塊302包括 初始化單元,用于根據(jù)三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化; 計算單元,用于計算第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù)。
其中,處理模塊303包括 處理單元,用于依次將第二幀三維行為者至第K幀三維行為者中的每幀三維行為者分別作為當前幀三維行為者,并設(shè)當前幀三維行為者為第k幀三維行為者; 肢體部件分割單元,用于采用自上而下和自下而上相結(jié)合的分割方法,對第k幀三維行為者進行肢體部件分割,得到第k幀三維行為者的N個肢體部件; 肢體部件跟蹤單元,用于跟蹤第k幀三維行為者的N個肢體部件,得到第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
其中,肢體部件分割單元包括 第一分割子單元,用于采用自上而下的方法對第k幀三維行為者進行肢體部件分割,得到初步分割結(jié)果; 第二分割子單元,用于采用自下而上的方法對初步分割結(jié)果進行修正,得到修正分割結(jié)果; 第三分割子單元,用于采用半監(jiān)督聚類算法對修正分割結(jié)果進行迭代求解,得到半監(jiān)督聚類分割結(jié)果,半監(jiān)督聚類分割結(jié)果中包括第k幀三維行為者的N個肢體部件。
進一步地, 第一分割單元,具體用于根據(jù)第k-1幀三維行為者的第k-1姿勢參數(shù)和第k幀三維行為者的第k朝向參數(shù)和第k空間位置參數(shù),得到第k幀三維行為者的第k預測姿勢參數(shù);根據(jù)第k預測姿勢參數(shù),對三維人體模型進行姿勢變換,得到姿勢變換后的三維人體模型;將第k幀三維行為者中的每個點分別分割到姿勢變換后的三維人體模型上距離該點最近的肢體部件,得到初步分割結(jié)果。
進一步地, 第二分割單元,具體用于根據(jù)第k幀三維行為者的各個肢體部件之間存在的約束關(guān)系,重新確定第k幀三維行為者中的每個點與各個肢體部件的關(guān)系,得到修正分割結(jié)果。
其中,肢體部件跟蹤單元包括 肢體部件合并子單元,用于根據(jù)N個肢體部件之間的關(guān)節(jié)點控制關(guān)系,將N個肢體部件進行合并,得到M個合并肢體部件; 設(shè)置子單元,用于設(shè)置跟蹤框架; 跟蹤子單元,用于利用自適應(yīng)粒子個數(shù)粒子濾波算法跟蹤所述M個合并肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
本實施例所述的裝置,通過采用自上而下和自下而上相結(jié)合的分割方法和自適應(yīng)粒子個數(shù)粒子濾波跟蹤算法,可以快速精確地自動提取出三維行為者的三維人體關(guān)節(jié)點坐標;并且,既可以有效地獲得粘連肢體部件的三維人體關(guān)節(jié)點坐標,也可以有效地獲得運動非??斓闹w部件的三維人體關(guān)節(jié)點坐標;另外,可以根據(jù)三維行為者的運動狀態(tài)自適應(yīng)地分配粒子數(shù)目,提高了算法的性能;并且用三維人體關(guān)節(jié)點坐標序列、空間位置參數(shù)序列和朝向參數(shù)序列綜合描述行為,包含了三維行為者的軌跡信息、朝向信息和三維行為者的各個肢體部件關(guān)節(jié)點的運動信息,是對行為最為豐富和有效的描述。
以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實現(xiàn),其軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如計算機中的硬盤、光盤或軟盤。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種行為描述的方法,其特征在于,所述方法包括
獲取三維行為者序列,所述三維行為者序列總共為K幀;
根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算所述第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中所述第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù);
依次對所述三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,所述每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù);
將所述三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將所述三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將所述三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列;
用所述三維人體關(guān)節(jié)點坐標序列、所述朝向參數(shù)序列和所述空間位置參數(shù)序列描述所述三維行為者序列。
2、根據(jù)權(quán)利要求1所述的行為描述的方法,其特征在于,所述根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化,包括
計算所述第一幀三維行為者和所述三維人體模型之間的身高比例,按照所述身高比例將所述三維人體模型縮放至與所述第一幀三維行為者相同的水平;
根據(jù)所述第一幀三維行為者,計算得到所述三維人體模型的初始姿勢參數(shù)。
3、根據(jù)權(quán)利要求1所述的行為描述的方法,其特征在于,所述依次對所述三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,包括
依次將所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者分別作為當前幀三維行為者,并設(shè)所述當前幀三維行為者為第k幀三維行為者;
采用自上而下和自下而上相結(jié)合的分割方法,對所述第k幀三維行為者進行肢體部件分割,得到所述第k幀三維行為者的N個肢體部件;
跟蹤所述第k幀三維行為者的N個肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
4、根據(jù)權(quán)利要求3所述的行為描述的方法,其特征在于,所述采用自上而下和自下而上相結(jié)合的分割方法,對所述第k幀三維行為者進行肢體部件分割,得到所述第k幀三維行為者的N個肢體部件,包括
采用自上而下的方法對所述第k幀三維行為者進行肢體部件分割,得到初步分割結(jié)果;
采用自下而上的方法對所述初步分割結(jié)果進行修正,得到修正分割結(jié)果;
采用半監(jiān)督聚類算法對所述修正分割結(jié)果進行迭代求解,得到半監(jiān)督聚類分割結(jié)果,所述半監(jiān)督聚類分割結(jié)果中包括所述第k幀三維行為者的N個肢體部件。
5、根據(jù)權(quán)利要求4所述的行為描述的方法,其特征在于,所述采用自上而下的方法對所述第k三維行為者進行肢體部件分割,得到初步分割結(jié)果,包括
根據(jù)第k-1幀三維行為者的第k-1姿勢參數(shù)和所述第k幀三維行為者的第k朝向參數(shù)和第k空間位置參數(shù),得到所述第k幀三維行為者的第k預測姿勢參數(shù);
根據(jù)所述第k預測姿勢參數(shù),對所述三維人體模型進行姿勢變換,得到姿勢變換后的三維人體模型;
將所述第k幀三維行為者中的每個點分別分割到所述姿勢變換后的三維人體模型上距離該點最近的肢體部件,得到初步分割結(jié)果。
6、根據(jù)權(quán)利要求4所述的行為描述的方法,其特征在于,所述采用自下而上的方法對所述初步分割結(jié)果進行修正,得到修正分割結(jié)果,具體為
根據(jù)所述第k幀三維行為者的各個肢體部件之間存在的約束關(guān)系,重新確定所述第k幀三維行為者中的每個點與各個肢體部件的關(guān)系,得到修正分割結(jié)果。
7、根據(jù)權(quán)利要求3所述的行為描述的方法,其特征在于,所述跟蹤所述第k幀三維行為者的N個肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標,包括
根據(jù)所述N個肢體部件之間的關(guān)節(jié)點控制關(guān)系,將所述N個肢體部件進行合并,得到M個合并肢體部件;
設(shè)置跟蹤框架;
利用自適應(yīng)粒子個數(shù)粒子濾波算法,跟蹤所述M個合并肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
8、一種行為描述的裝置,其特征在于,所述裝置包括
獲取模塊,用于獲取三維行為者序列,所述三維行為者序列總共為K幀;
初始化模塊,用于根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算所述第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中所述第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù);
處理模塊,用于依次對所述三維行為者序列中的第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標,所述每幀三維行為者的姿勢參數(shù)中包括每幀三維行為者的朝向參數(shù)和空間位置參數(shù);
合并模塊,用于將所述三維行為者序列中的所有三維行為者的三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將所述三維行為者序列中的所有三維行為者的朝向參數(shù)合并為朝向參數(shù)序列,將所述三維行為者序列中的所有三維行為者的空間位置參數(shù)合并為空間位置參數(shù)序列;
描述模塊,用于用所述三維人體關(guān)節(jié)點坐標序列、所述朝向參數(shù)序列和所述空間位置參數(shù)序列描述所述三維行為者序列。
9、根據(jù)權(quán)利要求8所述的行為描述的裝置,其特征在于,所述初始化模塊包括
初始化單元,用于根據(jù)所述三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;
計算單元,用于計算所述第一幀三維行為者的第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標,其中所述第一姿勢參數(shù)中包含第一朝向參數(shù)和第一空間位置參數(shù)。
10、根據(jù)權(quán)利要求8所述的行為描述的裝置,其特征在于,所述處理模塊包括
處理單元,用于依次將所述第二幀三維行為者至所述第K幀三維行為者中的每幀三維行為者分別作為當前幀三維行為者,并設(shè)所述當前幀三維行為者為第k幀三維行為者;
肢體部件分割單元,用于采用自上而下和自下而上相結(jié)合的分割方法,對所述第k幀三維行為者進行肢體部件分割,得到所述第k幀三維行為者的N個肢體部件;
肢體部件跟蹤單元,用于跟蹤所述第k幀三維行為者的N個肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
11、根據(jù)權(quán)利要求10所述的行為描述的裝置,其特征在于,所述肢體部件分割單元包括
第一分割子單元,用于采用自上而下的方法對所述第k幀三維行為者進行肢體部件分割,得到初步分割結(jié)果;
第二分割子單元,用于采用自下而上的方法對所述初步分割結(jié)果進行修正,得到修正分割結(jié)果;
第三分割子單元,用于采用半監(jiān)督聚類算法對所述修正分割結(jié)果進行迭代求解,得到半監(jiān)督聚類分割結(jié)果,所述半監(jiān)督聚類分割結(jié)果中包括所述第k幀三維行為者的N個肢體部件。
12、根據(jù)權(quán)利要求11所述的行為描述的裝置,其特征在于,
所述第一分割單元,具體用于根據(jù)第k-1幀三維行為者的第k-1姿勢參數(shù)和所述第k幀三維行為者的第k朝向參數(shù)和第k空間位置參數(shù),得到所述第k幀三維行為者的第k預測姿勢參數(shù);根據(jù)所述第k預測姿勢參數(shù),對所述三維人體模型進行姿勢變換,得到姿勢變換后的三維人體模型;將所述第k幀三維行為者中的每個點分別分割到所述姿勢變換后的三維人體模型上距離該點最近的肢體部件,得到初步分割結(jié)果。
13、根據(jù)權(quán)利要求11所述的行為描述的裝置,其特征在于,
所述第二分割單元,具體用于根據(jù)所述第k幀三維行為者的各個肢體部件之間存在的約束關(guān)系,重新確定所述第k幀三維行為者中的每個點與各個肢體部件的關(guān)系,得到修正分割結(jié)果。
14、根據(jù)權(quán)利要求10所述的行為描述的裝置,其特征在于,所述肢體部件跟蹤單元包括
肢體部件合并子單元,用于根據(jù)所述N個肢體部件之間的關(guān)節(jié)點控制關(guān)系,將所述N個肢體部件進行合并,得到M個合并肢體部件;
設(shè)置子單元,用于設(shè)置跟蹤框架;
跟蹤子單元,用于利用自適應(yīng)粒子個數(shù)粒子濾波算法跟蹤所述M個合并肢體部件,得到所述第k幀三維行為者的第k姿勢參數(shù)和第k三維人體關(guān)節(jié)點坐標。
全文摘要
本發(fā)明公開了一種行為描述的方法和裝置,屬于行為識別技術(shù)領(lǐng)域。所述方法包括獲取三維行為者序列,三維行為者序列總共為K幀;根據(jù)三維行為者序列中的第一幀三維行為者,對選取的三維人體模型進行初始化;并計算第一姿勢參數(shù)和第一三維人體關(guān)節(jié)點坐標;依次對第二幀三維行為者至第K幀三維行為者進行肢體部件分割和跟蹤,得到第二幀三維行為者至第K幀三維行為者中的每幀三維行為者的姿勢參數(shù)和三維人體關(guān)節(jié)點坐標;將所有三維人體關(guān)節(jié)點坐標合并為三維人體關(guān)節(jié)點坐標序列,將所有朝向參數(shù)合并為朝向參數(shù)序列,將所有空間位置參數(shù)合并為空間位置參數(shù)序列;用三維人體關(guān)節(jié)點坐標序列、朝向參數(shù)序列和空間位置參數(shù)序列描述三維行為者序列。
文檔編號G06K9/62GK101482928SQ20091007829
公開日2009年7月15日 申請日期2009年2月24日 優(yōu)先權(quán)日2009年2月24日
發(fā)明者丁曉青, 谷軍霞, 吳佑壽, 王生進, 馳 方, 劉長松 申請人:清華大學