◎李佳兵 張天奇 趙燕民 仲 銳
(中國礦業大學徐海學院 江蘇 徐州 221000)
非剛體是受力會發生形變的物體,以跳水視頻為例對非剛體建立模型,就需要在模型中考慮人體的質量、大小和形態。結合跳水運動的特點,形態是考慮的首要因素。本文基于粒子濾波算法建立模型,對跳水運動中人體的形態特征進行分析。
粒子濾波算法是以貝葉斯推理和重采樣原理為基礎的目標跟蹤算法[1]。基本原理為:人工指定跟蹤目標后,提取目標的特征。在目標區域撒出一系列隨機抽取的采樣點(即等權重的粒子),計算采樣點與目標區域的相似度,之后進行歸一化,將第i個采樣點的權重更新為這個相似度,按更新的權重再次采樣。去除低權值的粒子,復制高權重的粒子,以更新的采樣點進行下一輪濾波。迭代次數滿足要求后,可以認為權重最大的粒子位于目標物體所在處。
本文擬采用跳水運動員當前的身體姿態描述其運動狀態,當前的勢能描述其能量變化。
勢能:
對視頻進行圖像序列轉化,將其分為109幀,每幀劃分為320×240的像素點。同時降低圖片像素、進行中值濾波,減少孤立噪聲點對視頻處理的干擾。之后將運動員的頸部標記為目標區域,采用 Rob hess粒子濾波算法處理每一幀圖像,得到運動員頸部的運動軌跡。下面根據運動軌跡確定其勢能。采用 Rob hess 粒子濾波算法求得視頻中每一幀運動員的頸部位置,繪出運動軌跡見圖1。

圖1 運動員頸部運動軌跡
觀察頸部運動軌跡,可以發現軌跡在豎直方向上位移明顯,在水平方向上只有微小位移。結合拍攝過程進行分析,拍攝視頻時,為了完整拍攝到運動員的身體姿態,通常會通過攝像機的運動保證運動員跳水運動始終處于圖像中央,因此水平方向位移較小,與實際情況符合,說明視頻處理方法選取正確。
以水面為勢能零點,則運動員勢能EC為

身體姿態:
對視頻中運動員的跳水動作進行定性分析,可分為三個階段,劃分結果及每階段勢能變化如下:1.起跳:運動員首先進行向下的蓄力過程,使跳板發生形變;之后從蓄力最低點發力,離開跳板,直至騰空;起跳過程中,勢能在蓄力最低點處形成突變。2.翻騰兩周半:運動員以頭為軸,抱住肢體在空中做圓周運動,且圓心高度呈螺旋狀變化。根據轉體周數,可近似認為轉體運動軌跡存在三個突變點。三個突變點將整個轉體運動分解為四次半周旋轉過程。若假設運動的轉體函數是連續可導的,則該函數具有三個一階極點。3.入水:身體從抱膝完全伸展至倒立狀態,在此過程中運動員的頭結點從抱膝完全伸展至倒立狀態,可以近似理解為自由落體運動。因此我們認為入水運動不存在任何轉折點。若假設運動的入水函數是連續可導的,則該函數沒有極點。圖2表現了運動員三個階段的動作。
繪圖表示視頻能量與幀數的關系,并根據勢能的變化分析,得到了跳水過程三個階段對應的幀,見圖3。

圖3 跳水過程視頻能量與幀數關
圖3 中視頻能量與幀數的關系曲線較為平滑,且存在極點,因此考慮二者間存在函數關系。根據跳水過程的階段劃分,可分階段進行函數擬合,得到每階段視頻能量與幀數的函數關系式。從而實現根據任何運動員做該動作時的一段能量變化過程,可知其當前的身體姿態。
函數公式如下,起跳過程擬合曲線圖見圖4,其余擬合曲線見附錄。
起跳:

翻滾:
f(x)=1010(0.8029-1.117cos(0.007872x)-0.6387si n(0.007872x)+0.3285cos(0.015744x)+0.5578sin(0.015 744x)+0.3285cos(0.015744x)+0.5578sin(0.015744x)-0.00243cos(0.0023616x)-0.1868sin(0.023616x)-0.01148cos(0.31488x)-0.02071sin(0.031488x)),x[40,92]


圖4 起跳函數與幀數關系
入水:


圖2 運動員三個階段的動作
函數擬合均R2大于0.95,效果良好。已知任何運動員做該動作時的一段能量變化并進行擬合,將結果與三個階段起跳能量——幀數對比,從而實現根據任何運動員做該動作時的一段能量變化過程,求得其當前的身體姿態。
本節建立了跳水運動模型,合理描述了跳水過程中運動員的運動特征及視頻能量變化,可在以下場景進行運用:
(1)體育訓練中運動員身體姿態的監測。
(2)體育賽事中的輔助評判系統。
群體,如人群,可視為非剛體,運動物體不再是只有質量沒有大小的點,而是加入了對大小、形態和形變的考慮。我們以俯視視頻為例建立模型,并考慮群體的異常。因此群體模型中非剛體運動時的形變體現不明顯,可主要考慮人體的大小。
群體運動的異常,可以理解為自由行走的人群突然四散逃離。因此對于群體對象運動模型首先選取運動學基本物理量速度、加速度、位置。之后定義群體模型異常度能量,使用速度矢量交點密集度描述人群的散亂程度,即異常程度。視頻中每一個人的速度,采用HS光流法[2]跟蹤視頻進行求解。最后選取靜止攝像機拍攝的大廳中模擬混亂事件的視頻作為實驗素材,檢測視頻場景的異常度。
常度能量用來描述群體對象的運動特征與能量變化,首先對視頻按幀提取出圖像序列,每幀劃分為320×240的像素點。之后使用光流法提取每一幀中的像素特征點并求解特征點的光流矢量,即求解每一個像素點運動的速度。
首先引入速度矢量交點個數P:同一幀中,可以用直線方程表示像素特征點的光流矢量,即速度矢量。設同一個像素特征點在當前幀、上下相鄰兩幀的位置投影到同一個平面分別為A2、A1和A3,如圖 5所示。其中 A1 的坐標為(a1,b1),A2的坐標為(a2,b2),A3的坐標為(a3,b3),粒子在A1、A2的速度分別為(1,v1)(2,v2)相鄰三幀的時間間隔很小,因此認為 A1,A2,A3三點共線,向量即像素點 A2 的光流矢量。可寫出像素點在 A2 時的速度矢量對應的直線方程:

將每一個光流失量都用與其對應的直線方程表示后, 通過解二元一次方程可求得直線兩兩相交后的交點,落在圖像范圍內的交點個數即為 P 。

圖5 像素點連續三幀影
設第 i幀圖像中速度交點個數為iP,交點區域所占圖像上面積為 iS,根據散點密集度的物理意義,定義模型異常度能量

以靜止攝像機拍攝的大廳中模擬混亂事件的視頻為例,使用 定義的群體對象異常度能量,檢測視頻中人群是否發生異常行為。求解所選視頻每一幀圖像的異常度,用Matlab求解結果,繪制異常度——幀數圖像如圖6左所示。
根據求解結果第487幀圖像的異常度遠遠大于其他圖像,出現了數量級上的差異。檢查原始視頻,第487幀出現了明顯的“Abnormal Crowd Activity”標記,標記出現的瞬間會產生大量交叉運動矢量,導致該幀異常度出現極端增大。刪去第487幀圖像,再次求解,繪制異常度——幀數圖像如圖6右,不再包含離群值,得到了有分析價值的各幀間的異常度差異信息。

圖6 異常度-幀數圖像
根據異常度——幀數圖,可以粗略地將異常度突然變大的部分判斷為群體對象出現異常。但初步判斷結果主觀性大,還可能受光流法固有缺陷的影響而出現偏差,比如將“Abnormal Crowd Activity”標記判定為異常等。本節設計更為精確的算法,基于求解結果判斷群體運動是否存在異常。
視頻中物體的突然出現往往引起光流矢量出現大量交叉點,異常度增大;之后,物體繼續存在于圖像中時,光流矢量的交點恢復正常,異常度特征表現為驟增驟減。考慮對異常值積分,將積分值作為異常行為判斷標準,去除光流法的自身缺陷。
算法步驟由 step1-3給出:
step1:計算視頻中異常度能量的均值

step2:對每一個可疑幀,以5幀為單位向后搜索,若5幀中不含其余可疑幀,終止搜索;若含有其他可疑幀,繼續向后搜索5幀。以此類推,直到搜索的5幀中不含可疑幀。
Step3:計算起始幀與搜索到的最后一個可疑幀的間隔,若大于30幀(含首尾兩幀),認為搜索區間內的幀中人群出現異常行為。若不大于 30 幀,認為區間內的高異常度屬于光流法的誤判。
由于視頻的場景不同,“異常情況”的定義和檢測視頻是否異常的目的不同,step2每一次向后搜索的幀數和 step3判斷是否有異常的臨界幀數不是固定值,可以參考經驗值自行設置。
本文認為異常行為至少持續1秒,因此設置 step2中向后搜索5幀,step3中臨界幀數為30幀,求解得到視頻的平均異常度能量為 3517.42,存在一段異常幀,為461-572幀,與視頻中發生人群逃離的幀數基本一致,證明了模型及算法的合理性。
本文建立了群體對象運動模型,合理描述了群體對象的運動學特征和行為異常度的衡量方法,可在以下場景進行運用:
(1)用于學校、廣場等人流密集場所的視頻監控,通過監控人群運動方向,判斷是否存在發生踩踏事件的傾向。
(2)利用光流法對進入視頻內的物體敏感的特點,用于僻靜街道、單元樓樓道等人流稀疏場所的監控,判斷是否有突發事件發生。
本文采用了光流法和粒子跟蹤算法對視頻進行處理,根據動能、勢能等物理能量的定義創新地定義視頻能量的概念,利用視頻能量對視頻的突發狀況進行識別,綜合運用了大量數據,將模型誤差控制在一個不大的范圍,得出了極其精確的結果。通過對運動對象的位置、形態和速度的變化的確定,判斷對象所處的狀態或者面臨的情況,推斷隨后的結果,為人們帶來非常有價值的應用。