一種人體動作特征提取方法
【技術領域】
[0001 ]本發(fā)明屬于自動視頻分析技術領域,涉及一種快速人體動作自動識別方法,具體 涉及一種人體動作特征快速提取方法。
【背景技術】
[0002] 隨著互聯(lián)網的不斷發(fā)展、視頻監(jiān)控系統(tǒng)的不斷推廣,視頻數(shù)據量急劇增長。面對海 量涌現(xiàn)的視頻數(shù)據,如何快速分析其中包含的人體動作行為成為一個亟待解決的問題。目 前運動特征提取算法運行速度慢,達不到在線快速視頻分析工程要求。
【發(fā)明內容】
[0003] 為了解決上述技術問題,本發(fā)明提供了一種快速的人體動作特征快速提取方法。
[0004] 本發(fā)明所采用的技術方案是:一種人體動作特征提取方法,其特征在于,包括以下 步驟:
[0005] 步驟1:解碼視頻碼流獲取視頻原始圖像及圖像運動矢量數(shù)據;
[0006] 步驟2:在視頻原始圖像中檢測行人;
[0007] 步驟3:剔除行人區(qū)域中的圖像運動矢量數(shù)據,獲得相機運動參數(shù)估計矢量數(shù)據;
[0008] 步驟4:基于相機運動的對稱性及矢量差分理論,對相機運動參數(shù)估計矢量數(shù)據進 行相機運動參數(shù)估計;
[0009] 步驟5 :根據估計參數(shù)值,消除視頻運動矢量數(shù)據中的相機運動矢量,還原實際目 標運動矢量數(shù)據,獲得修正后的矢量數(shù)據;
[0010] 步驟6:基于修正后的矢量數(shù)據及解碼圖像提取人體動作局部時空特征。
[0011]作為優(yōu)選,步驟1中是利用開源工具FFMPEG解碼視頻碼流獲取視頻原始圖像及圖 像運動矢量數(shù)據,F(xiàn)FMPEG解碼器根據視頻碼流編碼格式,自動調用相應的解碼器對碼流進 行解碼,得到原始圖像幀F(xiàn)m和圖像運動矢量數(shù)據MV= {MV(k〇,MV(k2),…,MV(K)},其中K為 視頻碼流中宏塊數(shù)。
[0012] 作為優(yōu)選,步驟2中是利用快速行人檢測算法yolo在視頻原始圖像中檢測行人,利 用基于行人檢測圖片數(shù)據集事先離線訓練好的y〇l〇算法參數(shù)模型,檢測原始圖像幀F(xiàn) m中的 行人,獲取行人在圖像中的區(qū)域位置。
[0013] 作為優(yōu)選,步驟4的具體實現(xiàn)過程為,在視頻解碼得到壓縮域P幀運動矢量數(shù)據后, 基于圖像中心原點構建圖像坐標系Χ0Υ,X軸方向向右,Y軸方向向下;P幀中的每一個運動矢 量能分解為平衡分量、伸縮分量和旋轉分量的組合;相機運動參數(shù)方程表示為:
[0014]
[0015] 其中,tx和ty分別表示X軸和Y軸上的平衡變化;&1和 &2控制伸縮和旋轉變化;由此, 相機運動估計轉換為對tx、ty、ai和a 2四個參數(shù)的估計;
[0016] 在圖像坐標系Χ0Υ下,任意點Zi位置的運動矢量表示為:
[0019]
[0017] MV(zi) = f(zi |A,T)-Zi = (A-I)zi+T (2);[0018] 相機平移運動參數(shù)求解公式如下:
[0020]
[0021]其中21,211,2111,印分別為圖像坐標系父0¥第一、二、三、四象限中的像素點坐標;
[0022] 應用公式3和公式4基于P幀運動矢量數(shù)據計算,得到參數(shù)T的初步估計值集合Tinit =i2,…,Τυη,Μ,Tn_IV,i,Tn_IV,2,…,Tn_ IV,N};然后計算所有Ti數(shù)據的均值,并 計算所有數(shù)據與此均值的殘差,再將殘差的絕對平均值作為閾值剔除對應殘差絕對值大于 這個閾值的異常數(shù)據,剩余初始!^參數(shù)數(shù)據的均值作為最終參數(shù)T的估計值 ty esti);
[0023] 參數(shù)a#Pa2求解公式如下:
[0024]
[0025]
[0026]
[0027]
[0028] 其中 = =
[0029] 應用公式5、公式6、公式7和公式8基于P幀運動矢量數(shù)據計算,得到參數(shù)ai,a2的初 步估計值集合ai-init= {aix-1,aix-2,…,aix-l,aiY-1,aiY-2,…,aiY-κ}和a2-init = {a2x-1,a2x-2,…, a2x_R,a2Y_i,a2Y_2,···,a2Y_s},計算所有ai_i,a 2_i參數(shù)數(shù)據均值,然后再計算所有數(shù)據與此均值 的殘差,并將殘差的絕對平均值作為閾值剔除對應殘差絕對值大于這個閾值的異常數(shù)據, 剩余初始ai_i,a2_i參數(shù)數(shù)據的均值被作為最終參數(shù)ai,a 2的估計值ai^t^as^ti。
[0030] 作為優(yōu)選,步驟5中所述消除視頻壓縮域運動矢量數(shù)據的相機運動矢量,計算公式 如下:
[0031]
[0032] 作為優(yōu)選,步驟6的具體實現(xiàn)過程為,將視頻立體塊按16行X 16列X5幀切分成小 塊,并按小塊計算H0G、H0F和MBH值;對小塊視頻H0G、H0F和MBH值按2 X 2 X 3塊進行拼接,得 到人體動作特征描述向量。
[0033] 相對于現(xiàn)有技術,本發(fā)明的有益效果為:明顯提升了動作特征提取速度,可應用于 在線快速動作分析。
【附圖說明】
[0034] 圖1是本發(fā)明實施例的流程圖。
[0035] 圖2是本發(fā)明實施例的相機伸縮、旋轉運動矢量對稱消減示例圖。
[0036] 圖3是本發(fā)明實施例的人體動作H0G、H0F、MBH特征提取方法圖。
【具體實施方式】
[0037] 為了便于本領域普通技術人員理解和實施本發(fā)明,下面結合附圖及實施例對本發(fā) 明作進一步的詳細描述,應當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不 用于限定本發(fā)明。
[0038] 參見圖1,本發(fā)明實施例提供的一種人體動作特征快速提取方法,具體包括以下步 驟:
[0039]步驟1:利用開源工具FFMPEG解碼視頻碼流獲取視頻原始圖像及圖像運動矢量數(shù) 據。FFMPEG解碼器根據視頻碼流編碼格式,自動調用相應的解碼器對碼流進行解碼,得到原 始圖像幀F(xiàn)m和圖像運動矢量數(shù)據MV= {MV(k〇,MV(k2),…,MV(K)},其中K為視頻碼流中宏塊 數(shù)。
[0040] 步驟2:利用快速行人檢測算法yolo在視頻原始圖像中檢測行人。利用基于行人檢 測圖片數(shù)據集事先離線訓練好的y〇l〇算法參數(shù)模型,檢測原始圖像幀F(xiàn) m*的行人,獲取行 人在圖像中的區(qū)域位置。
[0041] 步驟3 :剔除行人區(qū)域中的圖像運動矢量數(shù)據,獲得相機運動參數(shù)估計矢量數(shù)據 MVesti= _(1!),MV(12),…,MV(L)} 〇
[0042] 步驟4:利用相機運動的對稱性及矢量差分理論,基于視頻壓縮域運動矢量數(shù)據進 行相機運動參數(shù)估計。在相機運動參數(shù)估計矢量數(shù)據中,基于圖像中心原點構建圖像坐標 系Χ0Υ(參見圖2),X軸方向向右,Y軸方向向下。P幀中的每一個運動矢量可以分解為平衡分 量、伸縮分量和旋轉分量的組合。相機運動參數(shù)方程可以表示為:
[0043]
[0044] 其中,tx和ty分別表示X軸和Y軸上的平衡變化。a#Pa2控制伸縮和旋轉變化。由此, 相機運動估計轉換為對t x、ty、ai和a2四個參數(shù)的估計。
[0045] 在圖2所示的圖像坐標系Χ0Υ下,任意點Zi位置的運動矢量可表示為:
[0046] MV(zi) = f(zi |A,T)-Zi = (A-I)zi+T (2);
[0047] 請見圖2,因為伸縮分量和旋轉分量基于原點對稱,所以第一、三象限和二、四象限 的運動矢量和旋轉分量可以對稱消減,消減后剩下平