999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于流形假設的骨架序列動作識別算法

2022-11-15 07:55:34彭亞新
上海大學學報(自然科學版) 2022年2期
關鍵詞:動作

彭亞新, 趙 倩

(上海大學理學院, 上海 200444)

人體動作識別一直是模式識別任務中最活躍的研究課題之一, 由于應用場景廣泛, 眾多學者都對這一課題進行了深入研究. 在過去的數十年里, 動作識別算法能夠處理的數據類型已經涵蓋了RGB 圖像[1-2]、深度圖像[3-4]以及3D 骨架數據[5-6](見圖1). RGB 圖像可為動作識別算法提供豐富的背景信息, 輔助判斷當前人體執行的動作類別. Poppe 等[7]最先總結了基于RGB 圖像的動作識別方法, 并針對動作識別領域的基本挑戰提出了解決方法, 隨后從圖像表示和動作分類過程出發, 討論了該領域的工作進展. Weinland 等[8]則從空域和時域的角度出發, 概述了該領域工作的處理方法. Wu 等[9]概述了基于深度學習的視頻分類和捕捉任務,介紹了常用的卷積神經網絡(convolutional neural network, CNN)和循環神經網絡(recurrent neural network, RNN)模型的基本結構, Samitha 等[10]則討論了常用的深度識別框架, 并對其進行定量分析. 上述工作都為輸入數據的預處理帶來很多啟發, 其中RGB 圖像容易受光線、遮擋等因素影響, 導致圖像內容不清晰, 為動作識別帶來了極大挑戰, 這也是眾多基于RGB 圖像的計算機視覺任務所面臨的共同難題.

與RGB 圖像相比, 深度圖像受光線以及照明條件的影響降低, 并且可對3D 結構信息進行編碼, 例如人體的形狀、邊界以及整個場景的幾何結構, 但是深度圖像中冗余的背景信息會對動作識別產生干擾. 近年來, 基于RGB 圖像和深度圖像的人體姿態估計算法[11-13]日益精進, 研究人員通過提取動作的3D 骨架數據來進行動作分類. Microsoft Kinect[14]低價傳感器的推出, 也使獲取骨架的3D 數據更加容易.

與RGB 圖像、深度圖像相比, 3D骨架數據具有3 個主要特征.

(1) 空間幾何信息. 3D 骨架數據記錄了人體關節點的位置信息, 因此每副人體骨架都對特定時刻特定動作的空間位置關系進行了編碼.

(2) 時間信息. 一個完整的動作采集的數據實際上是一個3D 骨架序列, 它是一個時間序列, 能夠直觀地展現骨架不同位置的先后順序以及在時域上的相對位置.

(3) 3D 骨架序列避免了冗余背景信息的干擾. 不同于深度圖像和RGB 圖像中, 需要正確識別前景信息, 避免背景信息的干擾, 3D 骨架序列只存在關節點數據, 不存在背景信息.

近年來, 應用于3D 骨架序列的動作識別算法大致分為3 類: 基于概率統計的動作識別算法[1,15-16]、基于深度學習的動作識別算法[17-25]以及基于流形假設的動作識別算法[26-28].Presti 等[29]首次總結了3D 骨架序列建模以及動作識別, 闡述了3D 骨架數據的獲得與預處理以及動作的表示與分類問題. Ren 等[30]則從3 個深度學習框架CNN、RNN 和圖神經網絡(graph neural network, GCN)出發, 介紹三者之間的差異與應用動機, 總結了基于深度學習的動作識別方法的最新進展. 上述工作是基于歐氏結構對骨架序列進行編碼, 但實際上, 人的行為動作往往是分布在低維流形上的非線性規律, 因此流形能夠對非線性結構和規律進行很好的描述. 通過流形假設, 可以對骨架進行合適的建模, 并且流形提供了幾何計算工具, 便于對動作進行比較和度量. 因此, 本工作將對基于流形假設的動作識別算法進行概述.

1 方 法

骨架是由關節點和骨骼連接而成的鉸鏈結構(見圖2), 其中紅點li(i=1,2,··· ,15)為關節點, 黑色實線ej(j= 1,2,··· ,14)為帶有位置和方向的人體骨骼. 基于流形假設的骨架表示,就是對骨架結構進行建模, 將骨架從形狀空間映射到流形上. 一套完整的動作對應一個骨架序列. 一個完整的骨架序列就可以看成由流形上離散點構成的軌跡(見圖3). 處理流形上的動作軌跡存在一個重大挑戰, 即軌跡的時間錯位問題. 這會導致在對軌跡進行度量和比較時產生扭曲, 因此需要進行軌跡時間對齊. 軌跡時間對齊之后, 需要提取合適的特征來對動作序列進行進一步表征, 并將該特征作為輸入數據, 輸入到合適的分類器中進行動作分類. 因此, 本工作主要圍繞骨架表示、軌跡時間對齊、動作序列表征和動作分類這4 個步驟來概述當前最新的工作進展, 具體框架如圖4 所示.

圖2 骨架圖Fig.2 An example skeleton

圖3 將骨架序列表示為流形上的軌跡Fig.3 Representation of skeletal sequences as a trajectory in the manifold

圖4 基于流形假設的動作識別框架Fig.4 Action recognition framework based on manifold assumption

1.1 骨架表示

在現有工作中, 骨架常用的表示空間有矩陣李群SE(3)、Grassmann 流形、肯德爾形狀空間(Kendall’s shape space)、對稱正定(symmetric positive definite, SPD)矩陣流形等.

(1) 基于李群的骨架表示.

3D 骨架具有天然的鉸接結構, 因此可以通過對骨骼之間的空間位置進行編碼, 將3D 骨架映射到李群SE(3)上. Vemulapalli 等[26]將骨骼之間的相對位置表示成特殊歐氏群SE(3)上的一個點, 即

式中:Rm′,m(t)和dm′,m(t)是將em移動到em′位置和方向上的旋轉和平移. 同理, 對骨骼em′構建局部坐標系, 可以得到骨骼em與em′在時刻t時的相對幾何Pm,m′(t). 一個完整的3D骨架序列可以當成是M(M-1)個SE(3)的積空間, 即李群SE(3)×···×SE(3)上的一條軌跡, 記為

圖5 骨骼em′ 在em 局部坐標系下的表示Fig.5 Representation of body part em′ in the local coordinate system of em

該工作還將每條軌跡上的離散點映射到李代數上, 即單位元處的切空間, 它等價于6 維的向量空間v= [ω1,ω2,ω3,v1,v2,v3], 由此獲得軌跡的向量表示. 實驗結果表明, 軌跡的李代數是一個有效的分類特征[26]. Vemulapalli 等[27]發現, 骨架的平移元素對最后分類結果的影響并不明顯, 因此在骨架表示中移除了平移元素, 將骨架序列映射為特殊正交群積空間SO(3)×···×SO(3)上的軌跡, 同時提出將滾動映射與對數映射相結合, 克服對數映射在求取李代數時產生的扭曲. Xu 等[28]和Anirudh 等[31]同樣選擇了矩陣李群SE(3)×···×SE(3)作為骨架表示空間.

(2) 基于Grassmann 流形的骨架表示.

假設每個動作樣本有T幀骨架圖, 每副骨架上標記了N個關節點的位置. Slama 等[32]首先將一個動作描述為關節點3D 位置的時間序列矩陣, 即F= [p(1),p(2),··· ,p(T)], 其中p(t) = [x1(t),y1(t),z1(t),··· ,xN(t),yN(t),zN(t)]T∈R3N,t= 1,2,··· ,T是第t幀骨架圖中所有關節點位置的集合, 再采用ARMA (auto-regressive moving average)模型[42]來捕捉骨架序列矩陣F的動態變化過程, 即構建線性動力系統

式中:h ∈Rd是隱藏狀態向量;A ∈Rd×d是過渡矩陣;C ∈R3N×d是度量矩陣;w和u分別是服從均值為0, 協方差矩陣為R ∈R3N×3N和Q ∈Rd×d的正態分布. 該工作通過對骨架序列矩陣F進行奇異值分解(singular value decomposition, SVD), 最終求得模型參數(A,C).由于比較兩個骨架序列的ARMA 模型可以轉換為直接比較它們的觀測矩陣, 因此作者采用有限觀測矩陣(finite observability matrix)[43]:

記有限觀測矩陣θTm ∈R3mN×d的列向量張成的子空間為U, 該子空間恰好對應于Grassmann流形上的一個點. 骨架序列之間的相似度就可以通過Grassmann 流形上兩個子空間之間的距離來度量. 假設U1和U2是Grassmann 流形G(d,D)上的兩個子空間, 二者之間的測地距離為

式中:θi是主角向量, 可以通過U1TU2的SVD 分解得到.

Hong 等[33]采用了與文獻[32]相同的方法, 將動作骨架序列建模為線性動力系統, 然后將線性動力系統的觀測矩陣映射到Grassmann 流形上, 該項工作的目的在于數據增強. 另外, 該工作提出的VGM (variant Grassmann manifolds)方法, 將Y個動作骨架序列的子空間表示為U1,U2,··· ,UY, 對應的黎曼流形為G(d1,D),G(d2,D),··· ,G(dY,D), 其中d1到dY小于滿秩子空間U的秩d. 定義從Grassmann 流形到對稱矩陣空間的投影映射為

對每個子空間U, 定義α ∈{0,1}m來選擇子空間的基, 那么每個動作訓練樣本可以得到Y個累加表示, 即

式中: 1 表示元素全為1 的向量;Gαi表示按向量αi選擇該子空間上的基.

(3) 基于肯德爾形狀空間的骨架表示.

Amor 等[35]將骨架序列表示成肯德爾形狀空間上的軌跡. 肯德爾形狀空間是一種黎曼流形, 能夠表示Rd(d= 2 或3)上N個地標點的形狀, 并且在不同變換下建立與形狀保持相等的等價關系, 這些變換包括平移、旋轉和全局縮放[44]. 在骨架表示方法中, 3D骨架的關節點就是R3上的地標點. 具體地, 令X ∈RN×d表示一副骨架形狀,N為關節點數量,d為坐標維度. 為了保持形狀平移不變性, Amor 等[35]采用了(N-1)×N的Helmert 半矩陣H, 用于對齊形狀中心. Helmert 半矩陣H的第j行元素為(hj,··· ,hj,-jhj,0,··· ,0), 其中hj={-j(j+1)}-1/2,j=1,2,··· ,N-1. 例如, 當N=3 時,

對任意X ∈RN×d,HX ∈R(N-1)×d, 形狀集合記為

為了保持縮放不變性, 定義了一個預形狀空間

(4) 基于SPD 流形的骨架表示.

SPD 流形也是常用的骨架表示空間. 給定一個動作樣本, 有T幀骨架圖, 每幀骨架圖上有N個關節點. 令第t幀骨架圖中所有關節點位置向量為

f(t)中共有3N個元素. Harandi 等[36]采用關節點協方差算子[37]

(5) 基于半正定錐的骨架表示.

Kacem 等[38]基于3D 關節點矩陣的Gramian 矩陣, 將骨架序列表示為半正定矩陣錐上的軌跡. 假設一個動作的骨架序列為{X0,X1,··· ,XT}, 每副骨架Xi(0 ≤i≤T)是一個秩為d(d= 2 或d= 3)的N×d矩陣,N為關節點的數量. 作者選擇形狀之間的成對距離矩陣作為一種形狀表示. 為了便于處理, 該工作考慮距離的平方矩陣, 同時將骨架的質心平移到坐標原點. 假設li,i= 1,2,··· ,N為新坐標系下的關節點坐標,l0= (0,0)(d= 2) 或者l0=(0,0,0)(d=3)時, 成對距離矩陣D的形式為

式中:‖·‖表示L2內積〈·,·〉誘導的范數. 該成對距離矩陣D可以由N×N的Gram 矩陣計算獲得. 事實上, Gram 矩陣G中的元素是點l1,l2,··· ,lN之間成對的內積:

成對距離矩陣D中的元素

因此, Gram 矩陣集合和成對距離矩陣之間可以建立線性等價關系, 從而將骨架映射到半正定錐上. 同時, Kacem 等[38]提出了Gram 矩陣之間的偽測地線計算方法, 從而將整個骨架序列表示為半正定錐上的軌跡.

1.2 軌跡時間對齊

基于流形假設的動作識別算法中, 一項重要挑戰就是軌跡的時間錯位問題. 通過骨架表示, 我們可以得到位于不同流形上的軌跡, 并利用流形幾何計算工具來分析、度量和比較軌跡.動作的執行速率會直接影響軌跡的度量和比較結果. 所謂動作的執行速率, 就是動作完成的快慢. 例如, 兩位演員執行一個相同的動作. 如果一位演員前半部分動作執行得很慢, 后半部分動作執行得很快, 而另外一位演員剛好相反, 那么即便是相同的動作, 最后采集的數據幀也會存在動作不一致的情況. 如圖6 所示, 第一行動作的執行速度明顯快于第二行, 導致對應幀的骨架圖并不一致, 這就是時間錯位問題.

圖6 揮手動作骨架序列的時間錯位Fig.6 Temporal misalignment of the skeletal sequences for the hand-raising action

解決時間錯位問題的方法主要分為兩種: DTW[45]和TSRVF 表示方法[41].

(1) 基于DTW 算法的軌跡時間對齊.

DTW 算法是一種時間魯棒性較強的算法, 它的基本思想是基于動態規劃方法, 將復雜的全局最優化問題拆分成多個局部最優問題, 該算法通過計算時間長度不同的兩序列間的最優匹配路徑, 來對不同序列進行時間規整. 假設一個樣本動作軌跡為P={p1,p2,··· ,pS}, 待匹配的動作軌跡為Q={q1,q2,··· ,qT}, 其中S /=T,ps(i= 1,2,··· ,S),qt(j= 1,2,··· ,T)為兩個動作軌跡上的離散點. DTW 算法通過計算這兩條軌跡之間的最優匹配路徑, 將待匹配動作軌跡上的離散點與樣本動作軌跡進行對齊. 全局匹配距離L可由

求得, 其中d(pS(k),qT(k)) 為兩條動作軌跡對應離散點的匹配距離;N是匹配點對的數目.DTW 算法能夠自動搜索最優匹配路徑使得L最小.當二者距離小于設定的閾值δ時, 獲得最終的對齊模板, 并采用DTW 算法進行最后一次對齊.

在文獻[27]中, Vemulapalli 等[27]首先將骨架序列表示為李群SO(3)×···×SO(3)上的軌跡, 然后運用DTW 算法進行時間對齊. 不同于文獻[26]中的方法, 作者在DTW 算法中采用了兩種距離度量方式. 第一種是歐氏距離, 先將動作軌跡映射到李代數上, 然后采用文獻[26]中相同的計算步驟, 獲取對齊模板. 除此之外, 在文獻[27]中更新對齊模板時, 并沒有直接對李代數進行線性平均, 而是采用Karcher 均值算法更新對齊模板. 第二種是直接采用SO(3)上定義的測地距離

式中:R0,R1∈SO(3);‖·‖F是Frobenius 范數. 更新對齊模板時, 同樣采取了Karcher 均值算法. 作者通過實驗發現, DTW 算法結合SO(3)上的測地距離, 對最后的分類結果并沒有顯著改善.

Kacem 等[38]在半正定矩陣錐上定義了軌跡的相似性度量

式中:S+表示半正定錐;、是半正定錐上的兩條軌跡;γ*(t)是最優時間規整;dS+為兩條軌跡之間的偽測地距離. DTW 算法采用該相似性度量進行軌跡時間對齊.

(2) 基于TSRVF 表示的軌跡時間對齊.

Su 等[41]首次提出將TSRVF 表示方法用于軌跡的統計分析. TSRVF 的定義是一種平行移動, 即將一條光滑軌跡的縮放速度向量場平行移動到一個參考點處, 用公式表示為

式中:β為流形上的光滑軌跡;c是流形上的參考點;M是黎曼流形;|·|是黎曼流形上的黎曼度量; 最終得到的hβ就是TSRVF. 不同軌跡的TSRVF 之間的距離定義為

式中: 距離dh是標準的L2范數, 滿足對稱性、正定性以及三角不等式.

假設兩條流形上的光滑軌跡β1、β2,γ是時間規整,即γ:[0,1]→[0,1],γ(0)=0,γ(1)=1.軌跡對(β1,β2)和(β1°γ,β2°γ)的匹配點完全相同,但是兩對軌跡之間的距離卻不同.TSRVF框架對軌跡的速率不變性進行分析時, 希望得到一個在相同時間規整下, 保持距離不變的度量. 上述定義的TSRVFs 之間距離dh恰好滿足這一條件, 即dh(hβ1°γ,hβ2°γ) =dh(hβ1,hβ2).此外, TSRVF 表示方法還定義了軌跡等價類之間的距離

式中:γ1、γ2是不同的時間規整. TSRVF 表示方法解決軌跡的時間錯位問題, 即尋找一個最優匹配γ*, 對任意δ >0, 使得

該目標函數可通過動態規劃(dynamic programming, DP)算法進行求解.γ*最后的取值可能并不唯一, 但任意一個滿足條件的γ*都可以達到最優匹配的結果.

DTW 算法在解決時間錯位問題時, 采用定義在骨架表示空間上的度量, 多為歐氏距離或者相似性度量. 前者不便擴展到非歐空間, 后者并不是合適的距離度量. 因此, TSRVF 表示方法廣泛應用于軌跡時間對齊. Amor 等[35]先將骨架序列表示成肯德爾形狀空間的軌跡, 再根據TSRVF 的定義來對齊軌跡, 具體如下: 首先定義用于對齊的模板軌跡, 給定J條軌跡β1(t),β2(t),··· ,βJ(t),t=0,1,··· ,T, 初始化對齊模板βμ(t)=β1(t). 根據以下3 個公式更新對齊模板, 即

Anirudh 等[31]首先將骨架序列表示成李群上的軌跡, 然后采用軌跡Karcher 均值計算方法[41]得到模板軌跡. 具體如下: 給定J條軌跡β1(t),β2(t),··· ,βJ(t),t= 0,1,··· ,T; 第一步, 隨機初始化Karcher 均值軌跡βμ(t) =β1(t), 計算該軌跡的TSRVF 為hβμ; 第二步, 根據式(3), 將每條動作軌跡的TSRVFhβj匹配到hβμ上, 由動態規劃算法找出最優匹配γ*j, 對齊后的軌跡為~βj=βj °γ*j; 第三步, 計算對齊后軌跡的TSRVFh~βj,j=1,2,··· ,J, 并且根據

更新模板的hβμ; 第四步, 根據模板軌跡的初始條件βμ(0)=β1(0), 對

進行積分求解, 從而對模板軌跡βμ(t)進行更新, 其中c →βμ(t)表示將hβμ(t)從參考點c平行移動到βμ(t). 軌跡進行時間對齊后, 每條軌跡的TSRVF 應該與模板軌跡的TSRVF 更加接近. 因此, 整個更新過程的目標函數可以表達為

當Obj 小于給定的超參數δ時, 算法達到收斂. 最后, 根據算法第二步, 將所有動作軌跡與模板軌跡進行時間對齊.

1.3 動作序列表征

對軌跡進行時間對齊之后, 需要提取合適的特征來對動作序列進行表征. 通常用于動作序列表征的有李代數、局部切叢(local tangent bundle, LTB)、稀疏系數向量、軌跡的TSRVF 和正交投影向量、射擊向量的歐氏編碼系數以及軌跡的相似性矩陣.

(1) 基于李代數的動作序列表征.

Vemulapalli 等[26]將骨架序列表示為李群SE(3)×···×SE(3)上的軌跡ξ(t) = (P1,2(t),P2,1(t),··· ,PM-1,M(t),PM,M-1(t)), 為了便于分類, 將軌跡映射到李代數上. 李代數是李群單位元處的切空間, 用李代數來表征動作序列, 可以記為

式中: vec 表示將李代數用向量表示. 在任意時刻t, C(t) 是6M(M-1) 維的向量. 之后,Vemulapalli 等[27]采用李群SO(3)×···×SO(3)的李代數來表征動作序列. 與文獻[26]中不同之處在于, C(t)的維度為3M(M-1), 該動作表征利用了李群上自然、有效的幾何計算方法,在實驗中取得了良好表現, 但僅考慮了單個動作軌跡的特征, 并沒有度量不同軌跡之間的距離.

(2) 基于局部切叢的動作序列表征.

Slama 等[32]將骨架序列表示為Grassmann 流形上的點, 并提出了局部切叢的概念. 假定有N個動作類別. 作者首先采用Karcher 均值算法, 計算每類動作的平均μi,i= 1,2,··· ,N.局部切叢就是通過對數映射, 計算每個數據點映射到每個動作類別Karcher 均值點的切向量. 最后, 每個動作序列就可以用一個向量矩陣進行表征. 如圖7 所示,μ1、μ2、μ3為三類動作的Karcher 均值中心,Tμ1、Tμ2、Tμ3為每類動作Karcher 均值中心的切空間; 棕色點為Grassmann 流形上的一個數據點, 黑色虛線表示從數據點映射到每類動作Karcher 均值中心的過程, 最終得到的表征結果用紅、藍、綠3 種顏色表示. 比起考慮單個數據點的切空間, 該表征更加注重比較數據點之間的距離. 然而, 對數映射在度量兩個數據點之間的距離時, 可能會產生扭曲, 尤其是當兩個數據點相距較遠時, 會對最終提取的LTB 的有效性產生影響.

圖7 動作序列的LTB表征[30]Fig.7 LTB characterization of action sequences[30]

(3) 基于稀疏系數向量的動作序列表征.

Harandi 等[36]將骨架序列映射到SPD 流形上, 并采用稀疏編碼和字典學習, 找到一組動作序列的字典矩陣. 每一個動作都可以由字典矩陣與一個稀疏系數向量相乘得到.因此, 該稀疏系數向量就可以用于表征動作序列. 具體地, 在SPD 流形Sn++上, 令X={X1,X2,··· ,XN},Xi ∈Sn++為黎曼字典,φ:Sn++→H為嵌入函數. 現給定一個黎曼點x,需要尋找一個稀疏向量y ∈RN, 使得φ(X)可以由{φ(X1),φ(X2),··· ,φ(XN)}稀疏表示. 換句話說, 該稀疏表示的目標函數為

最終求解得出的稀疏向量y即可用來表征動作序列.

Tanfous 等[34]將骨架序列映射到肯德爾形狀空間S中, 該工作同樣采用稀疏表示和字典學習, 找到一組字典矩陣. 不同的是, 該工作通過最小化每個動作序列到所有字典矩陣元素的測地距離, 得到每個動作序列的稀疏系數向量表征. 具體地, 現有黎曼字典X={X1,X2,··· ,XN},Xi ∈S, 給定一個數據點x ∈S, 定義S上的測地距離為dS(x,Xi)=‖logxXi‖x. 因此, 目標函數為

該表征采用的并不是切空間的向量表示, 而是利用稀疏編碼和字典學習提取有用的信息特征,進而對動作序列進行表征.

(4) 基于軌跡的TSRVF 和正交投影向量的動作序列表征.

Amor 等[35]首先將骨架序列表示為肯德爾形狀空間S上的軌跡. 由式(2)可知, 一條軌跡β(t)的TSRVF 是關于時間t的導數, 由軌跡上連續點之間的射擊向量組成(見圖8), 即

圖8 軌跡上點到點的射擊向量Fig.8 Point-to-point shooting vector on the trajectory

Amor 等[35]發現, 用β(t+δ),δ= 2,3,···, 代替β(t+1)可以提高最后的分類結果, 于是將篩選出的TSRVF 記為hβ,δ(t), 同時將每條動作軌跡的TSRVF 映射到一組正交基F上, 由此可以得到一組投影系數向量cβ,δ(t), 最后, 每個動作序列可以由該動作軌跡的hβ,δ(t)和cβ,δ(t)級聯來進行表征. 該工作采用了兩種向量特征,hβ,δ(t)考慮的是單條動作軌跡的特征, 投影系數cβ,δ(t) 則考慮軌跡之間的相互表示, 因此, 動作序列表征更加豐富.

(5) 基于射擊向量矩陣的歐氏編碼系數的動作序列表征.

Anirudh 等[31]將骨架序列表示為李群SE(3)×···×SE(3)上的軌跡, 并采用軌跡的Karcher 均值方法求取平均軌跡, 將每條動作軌跡與平均軌跡對齊之后, 提出采用射擊向量來表征動作序列. 如圖9 所示, 射擊向量是切向量, 它在τ= 0 時刻從平均軌跡βμ(t)出發, 在τ= 1 時刻到達動作軌跡βi(t). 具體地, 在t時刻, 平均軌跡βμ(t)到對齊后的動作軌跡~βi(t)的射擊向量為

假設動作序列共有T幀骨架圖, 射擊向量矩陣為

此外, Anirudh 等[31]為了達到降維的目的, 采用了歐氏編碼函數K: RD →Rd, 其中d ?D.對射擊向量矩陣進行歐氏編碼, 最終得到[A,B] =K(V). 因此, 每個動作序列可用編碼系數[A,B]表征. 該動作序列表征方法的優勢在于, 如果歐氏編碼函數是可逆的, 那么也可以通過最后的編碼系數重構出動作軌跡.

(6) 基于軌跡相似性矩陣的動作序列表征.

Kacem 等[38]在半正定錐S+上提出偽測地線(pseudo-geodesic)的計算方式, 從而將骨架序列表示成半正定錐上的軌跡. 為了表征動作序列, 根據式(1)定義的軌跡相似性度量, 計算每條動作軌跡的相似性矩陣. 具體地, 令潛在流形上的時間參數化軌跡集合為T=βG:[0,1]→S+. 給定m條軌跡β1G,β2G,··· ,βmG, 定義兩條軌跡β1G,β2G ∈T之間的相似性函數PT:T×T →R+:

對任意一條軌跡βG ∈T, 定義映射

φ(βG)∈Rm即為軌跡的相似性矩陣, 可以用于表征動作序列, 該表征考慮了軌跡之間的比較和度量, 但缺乏對單條軌跡的特征分析.

1.4 動作分類

動作序列表征過程中提取的特征可以作為動作分類的輸入數據, 選擇合適的動作分類器有助于提高最終的分類結果. 目前大部分工作的分類方法都是基于SVM 的. Vemulapalli等[26-27]采用One-vs-all 線性SVM 來分類動作, 即在分類時, 選擇其中某一類動作為第一類,余下所有動作為第二類, 訓練一個二分類SVM. One-vs-all 線性SVM 同時訓練N個二分類SVM, 其中N為動作類別數目. 同樣采用線性SVM 的工作還有文獻[31-32,34-36]. Wang等[6]采用非線性SVM 分類器來分類特征, 由于最終表征動作序列的是一個協方差矩陣, 故將SPD 矩陣空間常用的核函數log-Euclidean 核應用到SVM 分類器中. Xu 等[28]提出了一種PSO 算法來優化SVM. PSO 算法可以根據實際情況快速動態地平衡自適應粒子, 準確找到支持向量機的最優參數. 通過優化懲罰參數和核半徑參數, 最小化SVM 誤差, 從而使優化后的SVM 可以進行更好的分類. Kacem 等[38]提出了PPF SVM 用于分類特征, 該分類器的策略實際上涉及輸入的構造, 即計算每條軌跡到其余所有軌跡的相似性度量, 最后將常規的SVM 應用到計算得到的數據上. 除了SVM 分類器外, 最近鄰分類方法也被用于動作分類[35].

2 實驗結果及分析

2.1 基準數據集

下面介紹3 個常用的動作識別數據集: Florence3D-Action 數據集[46]、UTKinect-Action數據集[47]和MSR-Action3D 數據集[48].

(1) Florence3D Action 數據集.

Florence3D Action 是2012 年在佛洛倫薩大學使用Kinect 相機采集的數據集. 它包含215 個動作序列,每個動作序列采集的幀數為8~35 幀,分別由10 位演員執行9 個動作:“wave”“drink” “answer phone” “clap” “tight lace” “sit down” “stand up” “read watch”以及“bow”.每位演員重復每個動作2 到3 次. 每幀骨架上包含15 個關節點, 展示了Florence3D 數據集中動作“bow”的部分骨架序列(見圖10).

圖10 Florence3D數據集中, 動作“bow”的部分骨架序列Fig.10 Part of the skeletal sequences of the action “bow” in the Florence3D Action dataset

(2) UTKinect Action 數據集.

UTKinect Action 是2012 年使用單個靜態Kinect 相機采集的數據集. 它由199 個動作序列組成, 每個動作序列采集的幀數為5~74 幀, 分別由10 位演員執行10 個動作: “walk”“sit down”“stand up”“pick up”“carry”“throw”“push”“pull”“wave hands” 以及“clap hands”. 每個動作重復執行兩次. 每幀骨架上包含20個關節點. 這個數據集的挑戰性在于, 所有的動作序列并不是在同一視角下捕捉到的. 圖11(a)和(b)雖然都是動作“walk”的骨架序列, 但是視角完全相反, 因此在處理該數據集時, 必須克服視角變換的差異.

圖11 UTKinect 數據集中動作“walk”在兩個視角下的部分骨架序列Fig.11 Part of the skeletal sequences of the action “walk” in the two perspectives in the UTKinect Action dataset

(3) MSR-Action3D 數據集.

MSR-Action3D 是2010 年由一個與Kinect 類似的深度傳感器采集的數據集. 它包含557個動作序列, 每個動作序列采集的幀數為24~59 幀, 分別由10 位演員執行20 個動作: “high arm wave”“horizontal arm wave”“hammer”“hand catch”“forward punch”“high throw”“draw X”“draw tick”“draw circle”“hand clap”“two hand wave”“side boxing”“bend”“forward kick”“side kick”“jogging”“tennis swing”“tennis serve”“golf swing”以及“pick up and throw”. 每個動作重復執行2 到3 次. 每幀骨架上包含20 個關節點, 骨架序列從左到右, 展示了動作“high arm wave”的部分骨架序列(見圖12).

圖12 MSR-Action3D 數據集中動作“high arm wave”的部分骨架序列Fig.12 Part of the skeletal sequences of the action “high arm wave” in the MSR-Action3D dataset

2.2 實驗結果

由表1~3 可知, 在這3 個基準數據集上, Tanfous 等[34]的工作均取得了最高的動作識別正確率, 在Florence3D Action 數據集上, 實驗結果達到了94.48%, 比第二名Vemulapalli 等[27]取得的結果高出了3.08%, 比第三名Xu 等[28]取得的結果高出3.28%. 在UTKinect Action 數據集上, Tanfous 等[34]的實驗結果為98.49%, 與Kacem 等[38]的實驗結果相同, 并列第一. Xu等[28]的實驗結果達到了97.45%, 比最優結果低1.04%. 在MSR-Action3D 數據集上, Tanfous等[34]的實驗結果達到了94.19%, Xu 等[28]的實驗結果達到了93.75%, 二者相差0.44%, 后者位列第二.

表1 基于流形假設的動作識別方法在Florence3D Action 數據集上的表現Table 1 Performance on Florence3D Action dataset of action recognition method based on manifold assumption

表2 基于流形假設的動作識別方法在UTKinect Action 數據集上的表現Table 2 Performance on UTKinect Action dataset of action recognition method based on manifold assumption

表3 基于流形假設的動作識別方法在MSR-Action3 數據集上的表現Table 3 Performance on MSR-Action3D dataset of action recognition method based on manifold assumption

2.3 結果分析

Tanfous 等[34]提出將骨架序列表示為肯德爾形狀空間上的軌跡. 該骨架表示方法能夠在剛體變換下維持骨架形狀的不變性, 具有良好的魯棒性. 此外, 由于該骨架表示直接對關節點的位置進行編碼, 得到的動作軌跡保留了更多的位置信息. 該工作還采用了稀疏編碼和字典學習算法, 對骨架序列的有效特征進行提取. 因此該方法在各個數據集上均取得了優異表現.

Vemulapalli 等[27]與Xu 等[28]采用的是基于李群的骨架表示. Vemulapalli 等[27]對身體骨骼之間的相對旋轉進行編碼, 并且提出將滾動映射與對數映射相結合, 克服了對數映射在求取李代數時易產生扭曲的問題. 滾動映射將李群上的軌跡展平, 確保當兩條軌跡相近時, 它們的李代數也保持相近. 因此, 該方法最終使得表征動作序列的李代數更加有效, 分類效果更好.Xu 等[28]同時對骨骼之間的相對旋轉平移進行編碼, 該工作在Florence3D Action 數據集上的實驗結果低于Vemulapalli 等結果的0.2%. 這是因為該工作的主要貢獻在于提出粒子群優化算法來優化SVM 分類器, 從而提高動作的分類正確率, 并未對提取的動作特征進行進一步優化. 由于基于李群的骨架表示主要對身體骨骼之間的相對幾何進行編碼, 最后得到的動作軌跡是不可逆的, 即僅根據骨骼之間的相對幾何, 無法得到關節點的位置信息. 此外, 由于相似動作的骨架會有一定程度的相像, 僅憑骨骼之間的相對位置很難進行判別, 因此, 基于李群的骨架表示對于相似動作的識別正確率通常相對較低.

Kacem 等[38]采用的是基于半正定錐的骨架表示. 該骨架表示用關節點成對距離矩陣來刻畫骨架形狀, 并通過Gram 矩陣來建立骨架到半正定錐的映射. 這種骨架表示方法的優勢在于它同時對關節點位置的空間協方差進行編碼, 對于動作幅度較大的動作, 能夠得到更加精確的表征, 但在處理精細動作時, 往往識別正確率不高. 因此, 該方法在UTKinect Action數據集上取得的結果排名第一, 但在Florence3D Action 數據集上卻排名第六, 它在識別動作“answering phone”時正確率僅為68.2%, “reading watch”識別正確率為73.9%.

3 基于骨架序列的動作識別算法應用

3.1 醫療康復領域

基于骨架序列的動作識別算法在醫療健康領域有著重要的研究意義. 每年全球有數百萬的中風患者因運動功能下降而致殘, 這嚴重限制了一個人日常活動的能力. 近十年來, 康復系統的發展開始幫助中風患者恢復部分運動功能. Chen 等[49]開發的中風康復系統(見圖13), 其中白色球為采集動作信息的傳感器. 該系統使用14 個標記點來分析和研究患者的運動, 例如,伸手和抓握, 評價指標通常是由治療師提供的運動質量評分, 如Wolf 運動功能測試. Anirudh等[31]結合該中風康復系統, 對中風患者的運動質量進行預測. 他們采集了19 名中風患者多次重復伸展和抓握的動作, 每個動作共有14 個標記點, 并讓治療師給出每個動作的WMFT評分. 該工作將每個動作表示為李群SE(3)×···×SE(3)上的軌跡, 然后根據TSRVF 算法進行軌跡時間對齊, 并采用射擊向量的歐氏系數編碼進行動作表征. 最后, 將動作分類問題轉化為WMFT 評分的預測問題, ground truth為治療師給出的WMFT 評分. 實驗結果與真實WMFT 評分的相關度最高達到了97.84%. 這項工作可以協助醫生對中風患者的康復狀況進行評估, 具有重大的醫療意義.

圖13 中風康復系統[49]Fig.13 Stroke rehabilitation system[49]

3.2 監控安全領域

防護監控是動作識別算法的另一應用領域. 隨著家用攝像頭的普及, 人們可以用它對家中老人、小孩的行為活動進行監控, 一旦發生意外, 及時預警. 如圖14 所示, 攝像頭捕捉人物的摔倒動作[50], 然后在人體姿態估計模型[13]的幫助下, 將采集的視頻數據分割為單獨的幀, 并對每幀中的人物提取關節點信息, 在2D 或3D 上形成一副骨架, 從而得到摔倒動作的骨架序列.之后進一步采用基于骨架序列的動作識別算法對當前動作進行識別, 一旦判定為摔倒等危險動作, 及時發出預警通知家人.

圖14 對摔倒動作的RGB 圖像序列提取骨架序列Fig.14 Extract the skeletal sequences from the RGB image sequence of the fall action

安全監控也是銀行、酒店、出租車內等社會公共場景防范暴力犯罪的重要手段. 通過監控攝像頭, 可以實現人體目標的追蹤以及動作數據的采集, 然后利用動作識別技術, 對目標的行為動作進行識別與預測. 當目標出現擊打等暴力行為時, 可以立即通知安保人員并報警. 動作識別技術能夠起到重要的防范作用, 因此在監控安全領域有著重大的研究意義.

3.3 其他應用領域

相似的應用場景還有健身App 的使用. 當用戶使用健身App 時, 攝像頭會捕捉并記錄用戶在運動過程中的動作, 通過人體姿態估計模型提取出骨架序列后; 再采用流形假設等方法對骨架序列進行分析, 找出健身練習動作中的錯誤; 最后將對錯誤動作的描述以及改進建議反饋給用戶.

動作識別技術還可應用于行人再識別任務. 通過采集不同目標的行為動作, 可以構建目標與步態數據的一對一映射. 然后利用動作識別技術, 刻畫不同目標步態之間的差異, 實現不同目標的步態分類, 最后由一對一映射達到行人再識別的目的.

4 結束語

流形可以很好地描述非線性結構和規律. 本工作從動作識別框架的4 個步驟著手, 對基于流形假設的動作識別方法進行了回顧與分析. 據我們所知, 這是第一篇從流形假設的角度出發, 對基于骨架序列的動作識別方法進行探討的工作. 在這類方法中, 通過流形假設, 能夠對骨架數據的空間幾何信息進行編碼, 將動作的骨架序列表示為流形上的一條軌跡或者一個數據點. 骨架序列之間的時序關系處理也是一大挑戰. 針對動作軌跡存在的時間錯位問題, 多項工作采用了DTW 算法和SRVF 表示兩種方法進行處理. 同時, 流形上的幾何計算工具為分析和度量動作軌跡提供了便利. 在動作表征時, 除了考慮單條動作軌跡的特征分析, 還需要從全局層面度量軌跡之間的相似性, 提取軌跡間的信息特征. 最后, 文章對當前常用的動作分類器進行了概述.

縱觀發展現狀, 動作識別框架的每個步驟都存在優化的潛能, 因此我們對以下5 點進行展望. (1) 更加有效、魯棒的骨架表示仍是一個可研究的方向. 當前的骨架表示方法都有適用的數據集, 當兩個數據集分布差異大時, 直接采用已有的骨架表示方法, 可能無法取得良好的動作識別結果. 因此, 可以考慮將域遷移引入到骨架表示中, 構建一個更加有效、魯棒的骨架表示框架. (2) 針對軌跡的時間錯位問題, DTW 算法需要結合流形上合適的距離度量, TSRVF表示則需要軌跡上的每個離散點均可導. 這兩類方法在進行時間對齊時, 都需要找到一條合適的對齊模板. 這個模板通常是向量空間的線性平均向量, 或者是流形上通過Karcher 均值算法計算得到的平均軌跡. 然而, 在向量空間進行時間對齊時, 特征已經失去了骨架結構的非歐信息. Karcher 均值算法在尋找平均軌跡時, 需要初始化對齊模板, 最后得到的平均軌跡事實上依賴于初始值的選擇. 因此, 在進行軌跡對齊時, 尋找一個無偏的對齊模板仍是一個值得研究的問題. (3) 在動作表征階段, 除了對流形幾何工具的運用, 更需要考慮如何提取軌跡以及軌跡間相互關系的特征. (4) 動作分類器的選擇是當前可做研究最多的地方. 目前, 大多數基于流形假設的動作識別方法, 采用的是基于SVM 的分類器, 少數工作中采用了最近鄰分類法. 由于動作序列最后都由一個矩陣或一個向量表征, 因此可以考慮度量學習等更加魯棒的分類方法來進行動作分類. (5) 從應用的角度出發, 動作識別算法還可應用于病患的步態分析. 通過采集患者進行復健時的動作序列, 分析當前患者的康復程度, 從而幫助醫生制定患者下一階段的復健療程.

猜你喜歡
動作
動作不可少(下)
巧借動作寫友愛
下一個動作
動作描寫要具體
畫動作
讓動作“活”起來
動作描寫不可少
非同一般的吃飯動作
動作喜劇電影周
電影故事(2015年30期)2015-02-27 09:03:12
神奇的手
主站蜘蛛池模板: 福利在线不卡| 亚洲无码高清免费视频亚洲| 精品国产中文一级毛片在线看| 五月丁香在线视频| 久久超级碰| 国产欧美日韩在线一区| 全裸无码专区| 亚洲国产精品一区二区第一页免| 亚洲人视频在线观看| 国产乱人乱偷精品视频a人人澡| 日韩在线1| 亚洲中文字幕无码爆乳| 日本爱爱精品一区二区| 18禁黄无遮挡网站| 亚洲有码在线播放| 国产sm重味一区二区三区| 18禁不卡免费网站| a亚洲视频| 日韩福利在线观看| 永久免费精品视频| 亚洲日韩精品欧美中文字幕| 欧美精品一区在线看| 特级精品毛片免费观看| 国产亚洲精品yxsp| A级全黄试看30分钟小视频| a级免费视频| 九九视频免费看| 国产精品亚洲五月天高清| 精品少妇人妻无码久久| 亚洲黄色激情网站| 黄色网页在线播放| 精品1区2区3区| 国模视频一区二区| 国产精品午夜电影| 国产成人精品无码一区二| 久久国产黑丝袜视频| 久久久波多野结衣av一区二区| 1024国产在线| 国产91九色在线播放| 国产精品3p视频| 亚洲最大福利网站| 婷婷五月在线| 国产精品福利导航| 欧美中文字幕在线视频| 国产夜色视频| 国产精品私拍99pans大尺度| 久久国产成人精品国产成人亚洲| 国产精品自在线拍国产电影| 草逼视频国产| 在线播放精品一区二区啪视频| 国产国模一区二区三区四区| 四虎影视国产精品| 国产成人综合日韩精品无码不卡| 青青草原国产| 欧美国产精品不卡在线观看| 无码网站免费观看| 国产第一页免费浮力影院| 国产后式a一视频| 91区国产福利在线观看午夜| 69av在线| 国产精品一线天| 久久久无码人妻精品无码| 97精品久久久大香线焦| 亚洲自偷自拍另类小说| 日韩无码视频专区| 精品视频一区二区三区在线播| 国产在线小视频| 午夜久久影院| 欧美综合在线观看| 久久这里只有精品免费| 亚洲系列中文字幕一区二区| 999精品色在线观看| 日韩欧美国产三级| 国产情侣一区| 亚洲男人天堂网址| 国产在线日本| 国产熟睡乱子伦视频网站| 婷五月综合| 欧美精品伊人久久| 一区二区三区高清视频国产女人| 超碰精品无码一区二区| 久久久久久久蜜桃|