国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進OpenPose算法的籃球動作識別系統(tǒng)設計

2022-12-20 06:02林恒青
通化師范學院學報 2022年12期
關鍵詞:關鍵點姿態(tài)卷積

林恒青

隨著全民健身運動的普及和開展,越來越多的人加入到了各種體育運動當中.在眾多體育運動中籃球運動在我國有廣泛的群眾基礎,愛好者眾多,但普通練習者學習籃球時一般不會聘請專業(yè)籃球教練進行一對一教學.隨著視頻教學的興起,現(xiàn)階段的鍛煉者主要通過視頻教學來學習籃球技術,由于缺乏專業(yè)的指導,僅跟隨視頻學習有時不但達不到相應的鍛煉效果,甚至存在受傷的風險.為解決上述問題,幫助進行體育鍛煉的人發(fā)現(xiàn)自己的不足并加以改進,可以對體育運動視頻進行姿態(tài)分析,糾正不規(guī)范的姿勢,從而達到相應的效果.雖然現(xiàn)階段計算機視覺在體育運動中的應用已經(jīng)開展了一些研究,例如童金茂[1]提出用機器視覺識別籃球投籃打手動作;楊菁菁[2]把動作識別技術應用到乒乓球運動中,但是把計算機視覺應用到籃球教學中的案例依然少之又少.對運動姿態(tài)進行分析需要大量帶標注的體育視頻,然而當前帶人體標注的體育視頻數(shù)據(jù)稀缺,要獲得適用于體育視頻領域的模型成本較高.此外,對于現(xiàn)有的大多數(shù)籃球教學視頻來說,僅是提供標準的動作視頻供用戶學習,沒有一個評價體系對用戶的動作進行量化指導,在與用戶進行交互方面還做得不夠.針對上述問題,本文設計了一種基于改進OpenPose 算法的籃球動作識別系統(tǒng),可以識別一些基本的籃球動作,將用戶和教練的姿勢進行比對,并給出相應的評分,幫助用戶對動作進行矯正.

1 籃球動作識別系統(tǒng)整體設計

基于改進OpenPose 算法的籃球動作識別系統(tǒng)設計思路:工作過程為系統(tǒng)通過攝像頭自動捕捉用戶每個動作,然后對動作進行識別并根據(jù)標準動作進行打分.圖1為該系統(tǒng)結構設計框圖,整個系統(tǒng)可分為圖像預處理、人體姿態(tài)估計、人體動作識別/評分三個部分.圖像預處理模塊可以處理已有的或采集到的視頻信號,自動找到出現(xiàn)人物的視頻圖像,過濾掉無關背景的干擾;人體姿態(tài)估計模塊可以檢測人體骨架的關鍵點進行連接;人體動作識別/評分模塊可以識別用戶的籃球動作,并且通過比較用戶姿態(tài)和標準姿態(tài)兩者之間的相似程度對用戶的籃球動作進行打分[3].

圖1 基于改進的OpenPose 的籃球動作識別系統(tǒng)框架

攝像頭采集到的是視頻信號.視頻信號是視覺處理過程中經(jīng)常要處理的一類信號,是重要的視覺信息來源,視頻信號可以看作由一系列圖像組成的,這一系列圖像被稱為幀,它是以固定的時間間隔從視頻信號中獲取的最小影像單位.通常把在1 秒鐘內傳輸?shù)膱D片的幀數(shù)稱為幀速率,其單位使用“幀/秒”表示,對應的英文為FPS(Frames Per Second).實際上,視頻處理通常步驟是先從視頻信號中提取出獨立的幀,再使用圖像處理的方法對其進行預處理,達到處理視頻的目的[4].預處理模塊主要實現(xiàn)對數(shù)據(jù)的獲取和標準化的任務.因為動作識別和人體姿態(tài)聯(lián)系緊密,人體姿態(tài)估計是系統(tǒng)的一個關鍵模塊.所以在識別籃球動作前,先要對人體姿態(tài)進行估計,人體姿態(tài)估計模塊以改進的OpenPose 算法為基礎.動作識別/評分模塊的輸入是人體姿態(tài)的關鍵信息,包含人體骨架和關鍵點,這些是進行動作識別的基礎,本文使用基于人體姿態(tài)估計的方法來識別籃球動作的類別.

2 算法設計

2.1 OpenPose 算法介紹

按照開始處理的級別(高級抽象或低級像素)不同,人體姿態(tài)估計可以分為自下而上(Bottom-Up)和自上而下(Top-down)兩種不同的方法.Bottom-Up 方法的基本原理是先檢測圖像中人體所有的關鍵點,然后將這些關鍵點進行歸納總結從而對應到不同人身上.Top-down 方法是將人體和關鍵點的檢測分開進行,第一步先找人,通過人體檢測器識別出圖像中的人,第二步再去找每個人身上的關鍵點得出相應的結果,缺點是速度較慢[5].OpenPose 算法屬于自上而下(Bottom-Up)的方法,在OpenPose算法提出前,已有的“Bottom-Up”方法存在圖片中其他人的身體關鍵點信息未得到利用,將關鍵點分配到不同的人物個體,算法復雜度太高的不足.OpenPose 算法提出“Part Affinity Fields(PAFs)”的概念較好地解決了上述問題,因此本文選用OpenPose 算法進行人體姿態(tài)識別.

OpenPose 是一個由卡內基梅隆大學開發(fā)的基于深度學習的人體姿態(tài)識別項目開源庫,它以caffe 為框架,適用于面部表情、手勢識別、人體動作等單人或多人的姿態(tài)估計等場景[6].圖2為OpenPose 網(wǎng)絡結構.輸入的圖像經(jīng)過VGG19 網(wǎng)絡前10 層處理后得到特征圖F(Featuremaps)輸入到后續(xù)的卷積神經(jīng)網(wǎng)絡中,后面的網(wǎng)絡結構分成了兩條支路,每條支路由多階段的卷積神經(jīng)網(wǎng)絡構成,上分支為關鍵點置信度網(wǎng)絡S,下分支為關鍵點親和度向量場網(wǎng)絡L,同時分別對應著熱度圖(Heatmap)和向量圖(Vectormap),在每個階段的后面,前端的F和兩個分支的預測輸出融合作為下個階段的輸入,最終得到整個網(wǎng)絡的關節(jié)熱度圖(Heatmap)和關節(jié)部分關聯(lián)域[7](Part Affinity Fields,PAFs).其中Part Affinity Fields(PAFs)是OpenPose 模型采用的一項新技術,用它可以學習將圖中人物和其身體部位聯(lián)系到一起.圖中S=(S1,S2,…,Sj)表示熱度圖(Heatmap),j表示要檢測的關節(jié)數(shù).L=(L1,L2,…,Lc)表示向量圖(Vectormap),c表示要檢測的關節(jié)對數(shù).

圖2 OpenPose 網(wǎng)絡結構

其中,ρ1和?1代表第一階段上下兩分支的網(wǎng)絡結構,第一階段上下兩支路網(wǎng)絡結構各包含3 個3×3 卷積塊和2 個1×1 卷積塊,F(xiàn)經(jīng)過第一階段處理后分別輸出S1=ρ1(F) 和L1=?1(F),第二階段開始后面各個階段的網(wǎng)絡均由5 個7×7 卷積核組成的卷積塊和2 個1×1 的卷積塊組成.

從第二階段開始每個階段網(wǎng)絡的輸入為:

損失函數(shù)是保證網(wǎng)絡能收斂的重要的關鍵因素,每個階段的每個分支都有對應的損失函數(shù),公式如下:

式中:W為二值化mask 矩陣,當位置p存在標簽時其值為1,否則值為0.損失函數(shù)采用空域加權操作后,對于未被標記的人物關節(jié)點W(p)=0,而被標記的人物關節(jié)點和非關節(jié)點W(p)=1,因此未被標記的人物關節(jié)點不會影響模型的學習過程,整個卷積神經(jīng)網(wǎng)絡架構的優(yōu)化目標函數(shù)如下[8]:

2.2 改進的OpenPose 算法

OpenPose 網(wǎng)絡結構較為復雜,參數(shù)較多,為了保證動作識別的實時性效果,本文借鑒MobileNets[9]中深度可分離卷積的思路,把原OpenPose 模型中特征提取網(wǎng)絡VGG19 中的標準卷積結構進行分解,各層由一個深度卷積和一個采用1×1 卷積核的點卷積取代.采用新的卷積方式,可以達到減少參數(shù)數(shù)量和提升運算速度的目的.用在MobileNets 網(wǎng)絡結構上進行調整后得到的12 層網(wǎng)絡替代VGG19 的前10 層網(wǎng)絡如表1所示.替換后的模型使網(wǎng)絡參數(shù)量大為減少,有效地提高運算速度,滿足檢測過程的實時性要求[2].

表1 調整后的特征提取網(wǎng)絡結構

其中網(wǎng)絡除第一層是一個標準卷積(Conv)外,剩下11 層均由深度可分離卷積構成.所有卷積核的大小3×3,第一層、第三層、第五層卷積核的步幅都為2,其余層的步幅為1,此外隨著層數(shù)的加深卷積核的數(shù)量增多.

2.3 COCO 數(shù)據(jù)集介紹

本文選用開源數(shù)據(jù)集MSCOCO 作為訓練數(shù)據(jù)對人體姿態(tài)估計進行訓練.COCO 數(shù)據(jù)集是由微軟發(fā)布的一個大型的、豐富的對象檢測、分割、人體關鍵點檢測和字幕數(shù)據(jù)集,其中的圖像分為訓練集、驗證集和測試集.COCO 數(shù)據(jù)集包含80 個對象類別,主要從復雜的日常場景中截取了總數(shù)超過33 萬張圖片,其中含有標注的為20 萬張.

2.4 動作姿態(tài)匹配算法

如圖3所示人體的不同特征部位可以歸納為18 個關鍵點,由這些關鍵點連接而成的人體骨架可反映某一時刻人體的姿態(tài),Open-Pose 可以生成這些關鍵點的坐標文件.一個人動作的準確性可以依據(jù)特定關節(jié)間的角度值來判斷,不會受到背景環(huán)境和其他無關因素的影響.通過關鍵點坐標數(shù)據(jù)計算關節(jié)間夾角角度值作為動作姿態(tài)匹配的依據(jù),用來表征整體的動作特征.本文將利用這一特征進行動作對比和量化評價.

圖3 COCO 數(shù)據(jù)集中的人體關鍵點

比較算法的步驟為:先通過計算歐氏距離得出兩點之間的長度,然后由余弦定理計算得出反映人體動作的特定關節(jié)間夾角的角度值,以圖4為例,假設A、B、C三個關鍵點的坐標值已知,θ角的具體求解公式如式(6)所示.接著使用這一方法對標準動作圖片分別進行處理,得出該圖片人體骨架的關節(jié)角度值,作為比對基準.之后輸入需要進行評判的訓練者動作圖片,同樣得出關節(jié)角度值.最后將兩者角度值進行比較即可得出訓練者動作是否達標,達到動作比對的效果.

圖4 關鍵點組成三角形示意圖

3 實驗結果與分析

3.1 實驗環(huán)境

本文的軟硬件實驗環(huán)境包括:Windows10操作系統(tǒng),Intel(R)Core(TM)I5處理器3.2 GHz、8 GB 內存,GTX 1050 顯卡.

3.2 數(shù)據(jù)預處理

鑒于目前還沒有專門用于識別籃球動作的公開數(shù)據(jù)集,導致相關動作分析任務不易開展.為了更好地對本文設計的系統(tǒng)性能進行評判,本文收集自制了一個籃球視頻數(shù)據(jù)集,并將其命名為Baskdataset,接下來用不同方法在該數(shù)據(jù)集上進行測試比較.數(shù)據(jù)集的制作過程為首先拍攝練習者的動作視頻,然后對視頻圖像處理后得到幾個動作的關鍵幀,包含運球、投籃、上籃等基本動作,最后用軟件進行標注.

具體實現(xiàn)方式為把動作視頻輸入Open-Pose 實現(xiàn)對視頻中人體骨骼關鍵點定位得到原始數(shù)據(jù).視頻是由視頻幀構成的,對視頻的處理可轉化為對一張張圖片的處理,預處理模塊利用OpenCV 中的cv2.VideoCapture.read()函數(shù)來捕獲幀信息,通過cv2.resize()函數(shù)把批量的圖片處理成統(tǒng)一的h×w尺寸,首先處理標準動作的視頻數(shù)據(jù),對視頻剪輯得到一個完整的籃球動作或姿勢,作為對照數(shù)據(jù)使用[10].再將練習者的動作視頻做相同處理,截取其同樣動作的關鍵幀,用來與對照數(shù)據(jù)比對.表2從準確率和速度兩方面展示了不同方法在BaskDataset 數(shù)據(jù)集上的實驗結果.

表2 不同方法在BaskDataset 數(shù)據(jù)集上的實驗結果

根據(jù)以上對比實驗結果可知,本文算法在準確率上略低于AlphaPose 算法而高于Mask-RCNN 算法,但是AlphaPose 算法屬于自上而下的方法,先要進行目標檢測,對實時性要求較高的場合有一定的局限性.通過表2也可以看出速度方面改進的OpenPose 算法要優(yōu)于其他兩種算法,滿足實時性的要求.

3.3 實驗過程

實驗過程是把要對比的練習者所拍攝的視頻截取關鍵幀圖像輸入OpenPose 模型,標記出圖片中人體18 個關鍵點坐標、還原骨架、對關節(jié)間角度值進行計算,得出最終用來判別動作規(guī)范度的關節(jié)角度數(shù)據(jù),如圖5所示.經(jīng)過改進的OpenPose 模型處理,畫面中的人體會標注出關鍵點并連接成骨架,如圖6所示.之后,將輸出的數(shù)據(jù)和標準動作數(shù)據(jù)進行對比,并給出量化評分,對比結果與標準動作數(shù)據(jù)越接近的量化評分越高,練習者據(jù)此可大致判斷出動作是否規(guī)范,并對照修正.

圖5 人體關鍵點的坐標和關節(jié)間角度值

圖6 練習者運球骨架結構

4 結語

本文針對當前市場需求,設計了一套智能籃球動作識別系統(tǒng),該系統(tǒng)可以自動分析用戶學習打籃球動作時的姿態(tài)并提供量化評測用以糾正動作.系統(tǒng)包含圖像預處理、人體姿態(tài)估計和動作識別/評分這三個模塊,文章闡述了這幾個模塊的原理,驗證了基于改進OpenPose 的姿態(tài)識別算法在籃球動作教學中的適用性和可靠性,并對量化評分提出了思路,具體的量化評分標準可由實施者按照一定的標準來執(zhí)行.通過與其他傳統(tǒng)方法比較,本文的方法在綜合性能上更有優(yōu)勢,對于各種體育運動的教學、傳承、推廣具有很好的現(xiàn)實意義和實用價值.

猜你喜歡
關鍵點姿態(tài)卷積
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
攀爬的姿態(tài)
卷積神經(jīng)網(wǎng)絡的分析與設計
從濾波器理解卷積
全新一代宋的新姿態(tài)
跑與走的姿態(tài)
基于傅里葉域卷積表示的目標跟蹤算法
機械能守恒定律應用的關鍵點
泰来县| 高要市| 越西县| 孝感市| 峨边| 桑植县| 昌黎县| 图们市| 海口市| 甘孜县| 承德市| 临安市| 兰西县| 高雄市| 绥阳县| 惠东县| 红安县| 明溪县| 荃湾区| 清水县| 中方县| 盘锦市| 台北县| 寿宁县| 三穗县| 绍兴县| 寻甸| 得荣县| 浮山县| 广昌县| 宜川县| 晋中市| 合肥市| 监利县| 和政县| 定西市| 旅游| 土默特左旗| 恩施市| 饶阳县| 贡觉县|