徐廣,吳星辰
(1 沈陽航空航天大學(xué) 體育部綜合教研室,沈陽 110136;2 季華實驗室 九韶人工智能算法研究院,佛山 528200)
近年來,人們存在對運動積極性不高、運動水平提升慢等諸多問題[1],將混合現(xiàn)實技術(shù)的融入到運動可以有效且高質(zhì)量的學(xué)習(xí)[2].人體姿態(tài)估計方法(Human Pose Estimation,HPE)作為混合現(xiàn)實技術(shù)中關(guān)鍵的一環(huán),HPE 可以利用傳感器、圖像和視頻來估計人體部位的姿態(tài),通過HPE 可以得到人體的幾何和運動信息,對混合現(xiàn)實運動領(lǐng)域的發(fā)展有著至關(guān)重要的作用,因此,探索高精度人體姿態(tài)估計算法在混合現(xiàn)實運動中應(yīng)用具有實際工程意義[3-4].
人體姿態(tài)估計算法在運動領(lǐng)域主要有二維姿態(tài)估計算法和三維姿態(tài)估計算法兩類[5].在二維姿態(tài)估計算法方面,TOSHEV 提出了DeepPose[6],它采用級聯(lián)回歸網(wǎng)絡(luò)實現(xiàn)人體姿態(tài)估計,雖然該模型簡潔強大,但檢測精度較低,直接回歸2D 坐標(biāo)很困難.WEI等人[7]提出了卷積姿態(tài)估計(CPM)方法,它使用熱力圖來表示人體骨骼關(guān)節(jié)點的位置信息,但該方法包含的語義信息較少,容易產(chǎn)生欠分割現(xiàn)象.CAO 等人[8]使用自底向上的思路創(chuàng)新地提出了OpenPose 方法,通過對關(guān)鍵點進(jìn)行聚類分析,得到每個人的骨骼關(guān)鍵點信息,但運行計算量非常大,幀率較低.SUN 等研究者[9]提出的HRnet 方法可以始終輸出高分辨率的結(jié)果,但對硬件設(shè)備的要求較高,不利于普遍使用.YU 等人[10]提出了Lite-HRNet網(wǎng)絡(luò)模型實現(xiàn)了高性能的輕量化HRnet,主要通過通道權(quán)重從不同分辨率的特征圖中計算出權(quán)重,最后采用加權(quán)處理融合的方式實現(xiàn)輕量化,但預(yù)測精度不高.
在三維姿態(tài)估計算法方面,還有一些研究者開始利用三維標(biāo)注數(shù)據(jù)集來實現(xiàn)人體在三維空間內(nèi)的姿態(tài)估計,例如使用End-to-End 方法直接從圖像特征獲取3D 網(wǎng)格參數(shù).還有一些研究者設(shè)計了全連接殘差網(wǎng)絡(luò)和使用長短期記憶LSTM 網(wǎng)絡(luò)來學(xué)習(xí)圖像序列中人體姿態(tài)的時序信息,以提高三維姿態(tài)估計的準(zhǔn)確度和穩(wěn)定性[11].然而,這些方法容易受到背景、照明和服裝等因素的影響,并且在一個數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò)不能很好地推廣到其他不同環(huán)境的數(shù)據(jù)集,可能導(dǎo)致結(jié)果不穩(wěn)定[12].在三維姿態(tài)估計運動領(lǐng)域,人體姿態(tài)估計技術(shù)被廣泛應(yīng)用于評估運動員的姿勢、動作和技術(shù),以改進(jìn)運動質(zhì)量[13].然而,諸如遮擋、訓(xùn)練數(shù)據(jù)不足和深度歧義等挑戰(zhàn)仍然存在困難[14].并且對于復(fù)雜場景中的高度遮擋多人HPE,3D HPE 獲得準(zhǔn)確的3D 姿態(tài)注釋十分困難[15].
綜上所述,雖然HPE 的性能有了顯著的提高,在運動領(lǐng)域HPE 中仍存在一些挑戰(zhàn),需要在未來的研究中進(jìn)一步解決.首先是在顯著遮擋下可靠地檢測個體[16].第二個挑戰(zhàn)是計算效率,大多數(shù)HPE 算法在資源受限的設(shè)備上實現(xiàn)實時計算仍然很困難.另一個挑戰(zhàn)在于罕見姿勢的數(shù)據(jù)集有限,數(shù)據(jù)不平衡可能會導(dǎo)致模型偏差,導(dǎo)致在這些姿勢上表現(xiàn)不佳[17].
針對人體姿態(tài)估計存在遮擋、計算效率低,罕見姿態(tài)的數(shù)據(jù)集有限等問題,我們在高分辨率網(wǎng)絡(luò)的HRnet 模型的基礎(chǔ)上提出了一個注意力機制的輕量級采樣模塊的HRnet(Lightweight Sampling Attention block HRnet,LSA-HRnet),分別采用輕量級采樣模塊和注意力機制進(jìn)行人體姿態(tài)估計來克服計算效率低、預(yù)測精度不高等問題,并在自制太極拳運動數(shù)據(jù)集上驗證了模型的有效性,與HRnet、SCnet 模型以及Lite-HRnet 網(wǎng)絡(luò)模型相比具有更高的精度.本文對人體姿態(tài)估計技術(shù)應(yīng)用到太極拳運動中進(jìn)行研究探索,并在一定程度上擴充了罕見姿勢的人體姿態(tài)估計算法的數(shù)據(jù)集,提出的方法可以識別運動過程中不規(guī)范動作,在提高競技水平的同時也能夠預(yù)防運動損傷,并且可以幫助提高運動質(zhì)量.
在人體姿態(tài)評估網(wǎng)絡(luò)的發(fā)展中,檢測關(guān)鍵點的效果有了顯著的提高.然而,之前的網(wǎng)絡(luò)模型在運動領(lǐng)域并未充分關(guān)注計算機視覺任務(wù),特別是對于人體姿態(tài)評估任務(wù)中的高空間敏感度.因此,網(wǎng)絡(luò)模型中使用了過多的上采樣操作來提高特征圖的分辨率,但是用于填充像素的雙線性插值和轉(zhuǎn)置卷積等方法并不能保證填充的像素值有用,因此不能恢復(fù)關(guān)鍵點的空間位置.為提高關(guān)鍵點的精確定位,對傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了改進(jìn),提出了高分辨率網(wǎng)絡(luò)HRnet,HRnet網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 高分辨率HRnet網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 High resolution HRnet network structure
高分辨率網(wǎng)絡(luò)(HRnet)是由沙漏網(wǎng)絡(luò)改進(jìn)而成的多分辨率網(wǎng)絡(luò)[18].HRnet 的架構(gòu)主要包含四個階段,每個階段內(nèi)部都有多個模塊.如圖1 所示,HRnet 從第一階段的高分辨率分支開始.在接下來的每個階段中,一個新的分支被添加到當(dāng)前分支中,同時添加當(dāng)前分支中分辨率最低的12 個分支.隨著網(wǎng)絡(luò)階段的增多,它會有更多的并行分支,這些分支具有不同的分辨率,而前一階段的分辨率都保留在后面的階段中.一個包含3 個并行分支的示例網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示.使用類似HRnet 的方式實例化骨干網(wǎng).該網(wǎng)絡(luò)從一個莖開始,由兩個跨步的3×3 卷積組成,將分辨率降低到1/4.第1 階段包含4 個剩余單元,其中每個單元由寬度為64 的瓶頸組成,然后進(jìn)行一個3×3 卷積,將特征映射的寬度減少到C.第2、3、4 階段分別包含1、4 和3 個多分辨率塊.四種分辨率的卷積寬度分別為C、2C、4C和8C.多分辨率群卷積中的每個分支有4 個剩余單元,每個單元在每個分辨率中有兩個3×3 卷積.HRnet 最初設(shè)計用于自上而下的姿勢估計.得益于高分辨率特征和所有低分辨率分支特征的融合,HRnet 在人體姿態(tài)估計任務(wù)中取得了優(yōu)異的性能.
最近的工作表明,HRnet為了實現(xiàn)特征融合,通常需要大量的參數(shù),導(dǎo)致網(wǎng)絡(luò)變得復(fù)雜,模型的運行速度變慢.為了解決這個問題,本文提出了一種基于注意力機制輕量級采樣模塊的HRnet 模型LSA-HRnet,其中LSA模塊和傳統(tǒng)采樣模塊如圖2所示,在保證模型結(jié)構(gòu)簡單和推理精度的同時,顯著減少了采樣過程中的參數(shù)量和計算量.
圖2 傳統(tǒng)采樣模塊和LSA模塊Fig.2 Traditional sampling module and LSA module
具體來說,對于輸入大小為Cin×Win×Hin的特征圖,輸出大小為Cout×Wout×Hout的特征圖,傳統(tǒng)的轉(zhuǎn)置卷積計算量計算公式為公式(1):
其中,K是傳統(tǒng)轉(zhuǎn)置卷積的核大小,為了減小計算量和參數(shù)量,同時保持轉(zhuǎn)置卷積的效果,本文在HRnet網(wǎng)絡(luò)結(jié)構(gòu)上設(shè)計的注意力機制的輕量級采樣模塊.如圖2(b)所示,它由三部分組成:空間轉(zhuǎn)置卷積(Depthwise Transpose Convolution)、1×1 卷積和注意力模塊.具體來說,首先通過1×1 點卷積將低維度信息擴展為高維信息,并對特征圖的每個通道使用空間轉(zhuǎn)置卷積進(jìn)行空間轉(zhuǎn)換.最后,使用1×1 點卷積來融合各通道之間信息,并將高維度信息壓縮到原始輸入維度.如圖2(b)所示,LSA 的計算量主要是空間轉(zhuǎn)置卷積和兩點卷積計算量的總和,計算公式為公式(2):
LSA的參數(shù)數(shù)量計算公式為公式(3):
其中,C為高維度特征的通道數(shù).LSA 模塊和傳統(tǒng)采樣模塊參數(shù)量比值和計算量比值分別為公式(4)與公式(5):
在本文中參數(shù)設(shè)置為C*=2×Cin,Wout=2×Win,Hout=2×Hin,公式(4)與公式(5)化簡后分別為公式(6)與公式(7).
LSA 采樣模塊與傳統(tǒng)采樣模塊相比,減少了84%計算量,參數(shù)量減少75%.在圖2(a)中為傳統(tǒng)的轉(zhuǎn)置卷積,它有很大的計算量,圖2(b)中展示了本文提出的注意力機制輕量級采樣LSA 模塊,其中包括如何操作空間轉(zhuǎn)置的卷積網(wǎng)絡(luò),如何操作點卷積網(wǎng)絡(luò)以及引入注意力SEnet 模塊,首先選用1×1點卷積來擴展外層特征圖的通道數(shù),使得通道數(shù)C變?yōu)镃*,然后繼續(xù)選用空間轉(zhuǎn)置卷積逐步形成最高的外層特征高分辨率圖,最后,通過采用1×1 點卷積將通道數(shù)變?yōu)镃,由于注意力機制輕量級LSA 模塊將空間如何操作和通道操作分成了兩個獨立的具體操作步驟,因此轉(zhuǎn)置卷積的效果不是很好,針對這一問題,本文選用注意力機制SENet來增強空間中與通道有所關(guān)聯(lián)的信息的融合,直接使用通道注意力機制(作為通道編碼器,動態(tài)地調(diào)整每個通道的權(quán)重,如圖2(b)所示.綜上所述,假設(shè)輸入的特征圖,通過輕量級上采樣模塊輸出的特征為,作為通道關(guān)注機制的輸入.通過通道關(guān)注機制的特征輸出.然后將LSA模塊的特征輸出和信道注意力機制的特征輸出相乘并求和,得到最終的融合信息,即公式(8):
為了驗證本文方法的可行性和有效性,本文設(shè)計了太極拳運動人體姿態(tài)估計實驗,實驗采用的計算機硬件環(huán)境為12th Gen Intel(R)Core(TM)i9-12900K 3.20 GHz,64 GB 內(nèi)存,NVIDIA GeForce RTX 3070Ti 顯卡;軟件環(huán)境為Windows 11 操作系統(tǒng);運行環(huán)境為Python3.7,Pytorch2.1 和Anaconda3.考慮到人體姿態(tài)估計領(lǐng)域目前還沒有開源的太極拳人數(shù)據(jù)集及相關(guān)模型,本文建立了一個太極拳站人體姿態(tài)估計模型的數(shù)據(jù)集,該數(shù)據(jù)集包含了12個一段完整學(xué)習(xí)太極拳視頻序列,
針對太極拳數(shù)據(jù)集,我們首先將捕獲的視頻序列逐幀輸出并進(jìn)行關(guān)鍵圖片篩選,為提高模型的預(yù)測性能進(jìn)行圖像預(yù)處理,在原有的基礎(chǔ)上更進(jìn)一步提高了在線視頻幀的曝光度、色彩飽和度和整體色調(diào),增強了數(shù)據(jù)質(zhì)量.最后,將視頻幀顯示圖像全部設(shè)置為攝像400×400 像素,大小為256×256,并用0 和1 對太極拳動作數(shù)據(jù)集上的關(guān)節(jié)點坐標(biāo)進(jìn)行標(biāo)注(關(guān)節(jié)點位置標(biāo)記為1,沒有關(guān)節(jié)點的位置標(biāo)記為0.構(gòu)建人體姿態(tài)估計模型數(shù)據(jù)集后,依據(jù)7∶3 的比例劃分訓(xùn)練集和測試集.自定義太極拳視頻數(shù)據(jù)集的提取是為了能夠更方便的了解太極拳姿勢的具體操作步驟,為強化訓(xùn)練集和驗證集顯示的圖像來自志愿者,本文內(nèi)容采取使用幀差法提取太極拳學(xué)習(xí)動作,每一個學(xué)者的太極拳數(shù)據(jù)集包含100 張關(guān)鍵幀圖像,最終存儲在一個JSON 生成的文件中,其基本結(jié)構(gòu)與COCO 人體姿態(tài)估計模型標(biāo)注基本一致,標(biāo)簽樣式為人體關(guān)鍵點標(biāo)注,人體關(guān)鍵點標(biāo)注用于標(biāo)記人體姿態(tài)中的關(guān)鍵點位置,例如頭部、頸部、肩膀、手肘、手腕、膝蓋、腳踝等,每個標(biāo)注樣本的關(guān)鍵點信息由三個值組成:x、y坐標(biāo)和可見性.
人體姿態(tài)估計實驗為了使用戶清楚地觀察太極拳動作中的骨骼關(guān)節(jié)位置、方向、角度等信息,對太極拳動作視頻的關(guān)鍵幀序列進(jìn)行人體姿態(tài)估計.首先,從太極拳關(guān)鍵幀序列圖像中選擇連續(xù)的5 幀圖像,最后,對得到的關(guān)節(jié)點序列進(jìn)行可視化.人體姿態(tài)估計實驗為了能清楚地觀察到太極動作中骨骼、關(guān)節(jié)的位置、方向、角度等信息,對太極動作視頻的關(guān)鍵幀序列進(jìn)行人體姿態(tài)估計,首先,本文中對網(wǎng)絡(luò)進(jìn)行了100次迭代訓(xùn)練,并使用Adam 優(yōu)化器以1e-5 的學(xué)習(xí)率訓(xùn)練網(wǎng)絡(luò),每次迭代以指數(shù)方式衰減.其次,從太極關(guān)鍵幀序列圖像輸入到LSA-HRnet的模型中,估計出太極拳動作二維關(guān)節(jié)點序列.為了突出太極拳動作中重點關(guān)節(jié)在空間中的位置和角度,本文利用LSA-HRne 對得到二維關(guān)節(jié)點序列進(jìn)行人體姿態(tài)估計,最后為使能夠清楚地觀察太極拳動作,對網(wǎng)絡(luò)輸出的各個關(guān)節(jié)點坐標(biāo)進(jìn)行可視化,可視化結(jié)果如圖3 和圖4 所示,圖中的第1 行均為拆分太極拳運動動作的關(guān)鍵幀圖像;第2 行均為太極拳運動動作幀圖像的二維人體骨骼關(guān)節(jié)點序列可視化圖.
圖3 太極拳運動A二維關(guān)節(jié)點序列可視化Fig.3 Two-dimensional joint point sequence visualization of taichiquan movement A
圖4 太極拳運動B二維關(guān)節(jié)點序列可視化Fig.4 Two-dimensional joint point sequence visualization of taichiquan movement B
實驗評估:人體姿態(tài)估計評價指標(biāo)主要是正確的關(guān)鍵點百分比(Percentage of Correct Keypoints,PCK)和平均精確率(Average Precision,AP),其中,PCK 定義為正確估計出關(guān)鍵點的比例,計算檢測的關(guān)鍵點與其對應(yīng)的標(biāo)簽間的歸一化距離小于設(shè)定閾值的比例本文采用人體姿態(tài)估計常用的PCK作為評價指標(biāo).PCK 指標(biāo)對于一個關(guān)節(jié)點計算公式如式(9):
其中,Tk表示第k個閾值,p表示第p個人,i表示i第關(guān)節(jié)點,dpi表示第p個人中第i關(guān)節(jié)點預(yù)測值與人工標(biāo)注的歐式距離.
應(yīng)用于單人人體姿態(tài)估計的AP 指標(biāo)計算如式(10)所示,AP指標(biāo)首先需要計算出正確標(biāo)注與檢測所得的OKS為標(biāo)量,人為給定一個閾值T,后可通過所有圖片的OKS 得到計算結(jié)果.OKS 指標(biāo)的計算如式(11)所示,OKS 表示在人體關(guān)鍵點評價任務(wù)中,對于網(wǎng)絡(luò)得到的關(guān)鍵點好壞并不僅僅通過簡單的歐氏距離計算,而是在計算時根據(jù)實際需要引入新的尺度信息參與計算,通過最后得到的計算結(jié)果表示兩個關(guān)鍵點之間的距離.
式中:p表示正確標(biāo)注中的第p個人;pi表示第p個人的第i個關(guān)鍵點;dpi表示當(dāng)前檢測的編號為i的關(guān)鍵點與正確標(biāo)注中第p個人的第i個關(guān)鍵點的歐氏距離;Sp表示正確標(biāo)注中第p個人的尺度因子;σi表示第i個關(guān)鍵點的歸一化因子;vpi表示關(guān)鍵點的可見性;vpi=1 表示關(guān)鍵點無遮擋且已標(biāo)注,vpi=2 表示關(guān)鍵點有遮擋但已標(biāo)注.
注意力機制輕量級HRnet 和HRnet、SCnet 及Lite-HRnet在太極拳教學(xué)動作數(shù)據(jù)集上的結(jié)果如表1所示.所有的模型都是從零開始訓(xùn)練的,表1顯示了我們的模型和原始HRnet的結(jié)果,結(jié)果表明,在相同的訓(xùn)練設(shè)置下,我們的模型在很大程度上優(yōu)于原始HRnet.這是由于在我們的LSA 塊中,輕量級采樣模塊首先將通道數(shù)壓縮到C/s,其中C 是輸入特征圖中的通道數(shù),s是比例參數(shù),經(jīng)過卷積層后,通道數(shù)恢復(fù)到C,表1中顯示使用我們的LSA-HRnet模型獲得了更好的平均mPCK分?jǐn)?shù).
表1 太極拳運動動作數(shù)據(jù)集上的PCK和APTab.1 PCK ang AP on Taichiquan movement action dataset
如表1展示了我們的網(wǎng)絡(luò)和其他輕量級網(wǎng)絡(luò)在太極拳運動數(shù)據(jù)集上的結(jié)果,與原本HRnet、SCnet及Lite-HRnet 相比,我們的模型以更少的參數(shù)和更小的計算量,獲得了較高的精度.在太極拳運動數(shù)據(jù)集上,與HRnet 相比,我們的模型精度達(dá)到0.9785,參數(shù)量比HRnet少15 M.與SCnet相比,我們的模型分別提高了16.7%.可以從實驗結(jié)果中看出Lite-HRnet 相比本文提出的模型及HRnet、SCnet 在參數(shù)量的方面有著大幅的下降,但是預(yù)測性能表現(xiàn)最差,相比之下可以看出LSA-HRnet 在降低參數(shù)量的同時有效的提高了模型預(yù)測精度.與Lite-HRnet對比中,本文提出的模型在后續(xù)的研究可以在保持高精度高性能的同時進(jìn)一步降低參數(shù)量、提高計算性能.
為了驗證設(shè)計的輕量級采樣模塊和注意力機制SEnet 模塊分別對HRnet 的征提取能力和對人體關(guān)鍵點檢測準(zhǔn)確率的影響程度,引入消融實驗來驗證主干網(wǎng)絡(luò)結(jié)構(gòu)變化所帶來的影響,分別構(gòu)建了本文提出的有注意力機制的輕量級HRnet網(wǎng)絡(luò)和無注意力機制的輕量級HRnet 網(wǎng)絡(luò)模型進(jìn)行對比實驗,實驗結(jié)果如表2所示:
表2 消融實驗結(jié)果Tab.2 Ablation results
表2 的實驗結(jié)果表明:無注意力機制的LSAHRnet 在相比本文提出的LSA-HRnet 只增加本文設(shè)計的輕量級采樣模塊,無注意力機制的LSA-HRnet模型的mPCK 和AP 指標(biāo)僅下降了2.4%和1.8%,這有效的說明本文提出的LSA-HRnet的設(shè)計的輕量級采樣模塊不僅大幅度降低了網(wǎng)絡(luò)模型的運算復(fù)雜度與參數(shù)量,而且還能夠保證網(wǎng)絡(luò)模型的性能,達(dá)到輕量型網(wǎng)絡(luò)的目的.并且有注意力機制的LSAHRnet 在加入注意力機制SEnet 后并不會對模型的運算復(fù)雜度造成很大的影響,而且添加注意力機制能夠一定程度的提高LSA-HRnet在檢測關(guān)鍵點時的準(zhǔn)確率.
對HRnet 網(wǎng)絡(luò)的采樣模塊進(jìn)行了輕量化處理,并在HRnet 的基本殘差塊中增加了通道注意力機制,提出了一種基于注意力機制輕量級HRnet網(wǎng)絡(luò),將HRnet 中的原始塊替換為我們所提出的LSA 模塊.太極拳運動的實驗證明了模型輕量化和通道注意機制的有效性,基于注意力機制輕量級HRnet 網(wǎng)絡(luò)的性能優(yōu)于原HRnet,在太極拳運動數(shù)據(jù)集上達(dá)到了最先進(jìn)的性能.本文最終設(shè)計實現(xiàn)了該人體姿態(tài)估計在太極拳運動中的應(yīng)用,并基于該方法能獲得及時的動作學(xué)習(xí)反饋,提高運動質(zhì)量.未來的研究內(nèi)容包括實現(xiàn)端到端的混合現(xiàn)實的運動與反饋應(yīng)用系統(tǒng),并進(jìn)行推廣應(yīng)用.
中南民族大學(xué)學(xué)報(自然科學(xué)版)2023年6期