胡建華 劉曉林 鐘昀烽 羅貴祥 張浩賢



摘? 要:教學系統中的人機互動一直是智慧教育的重要研究議題,文章提出基于骨骼信息的手勢識別互動教學系統。系統采用姿態識別算法提取手勢關節點、基于關節點信息構建LSTM神經網絡模型,進行模型訓練預測,實現對手勢動作進行識別,將手勢動作與課堂教學答題進行體感交互,將課堂教學過程游戲化,讓學生不僅體驗到體感交互課堂的樂趣,提高了學習興趣,也對課本上的知識理解更深刻。
關鍵詞:深度學習;姿態識別;手勢識別
中圖分類號:TP391.4? 文獻標識碼:A? 文章編號:2096-4706(2023)03-0079-04
Hand Gesture Recognition Interaction System Based on Skeletal Information
HU Jianhua1, LIU Xiaolin1, ZHONG Yunfeng1, LUO Guixiang2, ZHANG Haoxian1
(1.Computer Engineering Technical College, Guangdong Polytechnic of Science and Technology, Zhuhai? 519090, China;
2.School of Computer Science, Guangdong Polytechnic Normal University, Guangzhou? 510665, China)
Abstract: The human-computer interaction in teaching systems is an important research topic in smart education. This paper proposes the hand gesture recognition interactive teaching system based on skeletal information. The system extracts hand gesture nodes using a gesture recognition algorithm, builds an LSTM neural network model based on the node information, performs model training and prediction, recognizes hand gesture actions, physically interacts the hand gesture actions with classroom teaching and answering questions, and achieves the gamification of the classroom teaching process. So that students not only enjoy the fun of the physically interactive classroom, but also improve their interest in learning, and have a deeper understanding of the knowledge in the textbooks.
Keywords: deep learning; gesture recognition; hand gesture recognition
0? 引? 言
隨著智慧校園建設工作的推進,我國中小學信息化教學逐漸從傳統的粉筆黑板課堂向交互式多媒體課堂轉變,但依然面臨著如何充分利用互聯網、大數據與人工智能促進智慧課堂互動教學交互性差、學習者積極性差等新問題[1]。通過互聯網+智慧課堂使教育形式逐漸從傳統的紙質教學轉為互聯網結合傳統形式教學[2]。
深度學習姿態識別與動作識別算法一直是人體分析的重要研究部分,是人工智能領域和計算機視覺領域中十分具有挑戰性的應用與實踐,目前,也有學者將其應用于課堂上如基于改進SSD算法的學生課堂行為狀態識別[3]、基于深度學習的課堂行為識別[4]等。部分學者采用了基于OpenPose姿態估計方法進行學生行為骨架提取,從而實現行為識別和動作交互[5]。同時提出采用姿態識別方法實現對手勢進行識別[6,7],但是這些動作方法主要用于監控課堂行為方面,因此本文采用深度學習手勢識別方法與課堂交互教學進行結合,通過姿態識別檢測手勢,得到骨骼關鍵點信息,然后采用深度學習LSTM網絡對當前手勢動作進行識別。為了提高神經網絡識別的準確度,使用基于改進的動作識別從而實現課堂的實時交互,增加學生和教師的課堂互動。通過識別肢體動作,進行課堂互動教學以及積極參與教學,能夠替代傳統課堂中僅僅只有聽和看這種互動式的教學方式,這不僅活躍了課堂的氣氛,而且還能讓學生更加容易地理解知識點。學生不只可以和老師進行互動交流,還可以和其他的同學進行相互交流,不僅加強了學生的參與感,還提升了學生的獨立思考能力,使得各個知識點得以融會貫通。同時,系統對平時參考課堂的數據進行存儲分析,通過大數據可視化分析學生對知識的掌握情況,以及學生參與課堂的情況,教師可以根據情況對學生進行全方位的了解,掌握學生所學知識的薄弱環節,調整教學方法。還可以采用有效的教學手段實現每個同學的有效學習,實現課堂學習互動教學,讓學生在課堂上能聽、能看,更能參與體驗,活躍課堂氣氛,讓知識易于理解。在互動教學中,學生利用自有的熟悉的終端,來和同學教師互動、交流、學習,這為學生提供更強的參與感,同時激發了學生的獨立思考能力,打通學習的各個環節。教師可以通過課堂大數據分析實時掌握學生對知識點的掌握情況,根據學生接受情況隨時調整教學方法,讓每個同學更有效地學習知識。
1? 系統概述與架構
基于骨骼信息的手勢識別交互系統主要應用于小學課堂,此系統圍繞讓學生擺脫被動學習的問題展開,使用游戲化場景吸引學生進行課堂答題,通過將手勢動作轉化為答題選項,克服傳統采用手工輸入體驗差的缺點,實現體感人機交互。通過攝像頭讀取視頻,然后采用深度學習姿態識別算法實現手的骨骼關節點檢測,得到手的21個關鍵點信息。然后采用循環神經網絡LSTM進行算法模型構建,進行當前手勢的識別。系統分為前端與后端,前端實現游戲渲染,習題通過游戲化方式出現;后端算法根據攝像頭視頻進行實時算法識別,將結果反饋到前端,前端根據結果選擇對應的答題,然后判斷對錯,同時通過打地鼠游戲來呈現識別結果,實現將游戲與教學相結合,提高學生學習效率,系統架構如圖1所示。
本系統使用Python作為后端語言,使用Django作為開發框架,Django是一個由Python語言編寫的一個基于MVC模型的開源Web應用框架,開發簡單高效,由于其采用Python編寫,能否與系統的后端算法實現無縫對接。基于Django框架能夠為系統搭建一個輕量級網站,簡單高效。其中Django采用MVC架構,其中M為Model(模型),V為View(視圖)C為Controller(控制器)。分別實現模型、視圖與控制器的分離。降低了程序的修改和擴展難度,而且減少了代碼的耦合,使得代碼的重復利用成為可能。
系統前端采用主流的Web框架Vue.js進行開發,基于Vue.js對系統進行響應式設計,上手簡單、開發效率高。Vue.js框架是輕量級以及漸進式框架,能夠很方便地構建用戶界面,采用了視圖與數據進行分離架構,能夠很好地整合資源。本系統通過Vue.js設計前端,通過接口與django后端進行通信,實現前后端分離與交互。
在大數據分析過程中采用Echarts進行數據可視化,ECharts是一個由Javascript編寫的庫,能夠兼容不同的瀏覽器與客戶端,通過簡單的數據綁定與編程,實現直觀、生動,而且可高度個性化圖表,增強了用戶對數據的挖掘、整合的能力。數據可視化圖表庫通過配合后端數據進行數據可視化。前后端交互采用Ajax進行數據通信,由前端向后端發送Ajax請求,服務端給后端返回Json數據到前端進行數據渲染,系統將手勢識別等游戲互動算法圖像通過前端渲染,采用WebSocket全雙工通信協議實現視頻雙向數據傳輸。WebSocket一種基于TCP的全雙工通信協議,因為在視頻傳輸過程,需要高效的數據傳輸,因此采用WebSocket能夠實現當客戶端與服務器建立WebSocket連接后,客戶端和服務器就實現了雙向通信。而且一旦WebSocket通信建立后,客戶端或服務端就不需要重新發起連接請求。正是因為這一特性,WebSocket在實時傳輸反面具有明顯的優勢,因此系統采用此種方法進行視頻傳輸,提高效率。
2? 后端深度學習算法實現
姿態估計(pose estimation)在計算機視覺領域是一個非常重要的方向,人類動作理解、人機互動等應用都需要精確的姿態識別。目前,絕大多數的2d姿態識別都是識別人體的關鍵點,比如,給定一張普通的RGB圖像,算法會給出人體的腳踝、胳膊、面部等區域的關鍵點(keypoint),本文采用過姿態識別算法對手勢動作進行關鍵點檢測,得到手勢動作序列,然后將30幀關節點數據作為輸入數據,然后采用LSTM網絡模型進行動作識別,得到當前手勢的動作結果信息。
2.1? 姿態識別算法進行骨骼點檢測
本文采用了開源項目MediaPipe進行姿態識別手勢檢測。MediaPipe是一款由Google Research開發并開源的多媒體機器學習模型應用框架。利用MediaPipe可以將感知管道構建為模塊化組件的圖形,包括例如推理模型(例如TensorFlow、TFLite)和媒體處理功能。Mediapipe其中對應手勢模塊(solutions.hands)函數能夠實現手勢關節點檢測,具有非常高的算法準確度。其主要采用深度學習姿態識別算法可以實現檢測手的21個點骨骼關節點,如圖2所示。
2.2? 循環神經網絡模型
當采用姿態識別算法進行骨骼點檢測后,傳統的方向主要是通過判斷各個關節點之間的角度進行識別[8],其識別的準確性以及穩定性較差,因此本文采用LSTM神經網絡進行模型訓練,提高動作識別的準確率。LSTM可以看作是一個更高級的RNN系列,主要由五個不同部分組成:單元狀態、隱藏狀態、輸入門、忘記門、量輸出門。LSTM經過精心設計,可以避免RNN的梯度消失問題。首先對數據集進行預處理,并且設置權重、對應的標簽類型等信息。然后進行網絡模型訓練,在模型訓練過程,將調整調整模型中的層數、每層隱藏層的節點數以及激活函數等信息。最后,不斷更新權重,使損失逐步下降,達到比較好的動作識別效果。
本文采用的網經結構如圖3所示。
首先采用MediaPipe姿態識別對手勢進行檢測,得到21個手關節點數的,每個數據3個分量組成,并且通過采集30幀連續圖像,得到的輸入圖像數據大小為30×21×3,然后分別通過4個LSTM網絡對特征進行提取,最后通過3個全連接網絡,得到最后的輸出。該網絡結構較為簡單,正因為如此,因此可以輕松地使用網格搜索來找到最適合神經網絡的超參數,通過使用少量的例子得到很好的準確率,具有較好商業推廣價值。同時不需要為不同光照下的每個手勢重新訓練模型,因為MediaPipe實現不同環境下的姿態識別檢測工作。本文的網絡模型采用Keras深度學習框架進行構建,關鍵代碼如下所示:
model = Sequential()
model.add(LSTM(64, return_sequences=True, activation='relu', input_shape=(video_frame_length, 21*4)))#LSTM網絡層
model.add(LSTM(128, return_sequences=True, activation='relu'))#LSTM網絡層
model.add(LSTM(128, return_sequences=True, activation='relu'))#LSTM網絡層
model.add(LSTM(64, return_sequences=False, activation='relu'))#LSTM網絡層
model.add(Dense(64, activation='relu'))#全連接層
model.add(Dense(32, activation='relu'))#全連接層
model.add(Dense(actions.shape[0], activation='softmax'))#輸出層
編譯的網絡模型如圖4所示。
2.3? 手勢檢測結果
通過采用MediaPipe算法能夠實現實時對手關節點進行,然后采集連續的30幀關節點數據,通過加載上述訓練完成的LSTM神經網絡模型,啟動手勢識別分類過程,攝像頭能夠得到手勢的識別結果,并且將檢測結果輸出到圖片上,左上角分別標有動作識別的結果標簽,如圖5所示。
3? 前端游戲設計與手勢識別交互
Web前端界面采用Vue框架進行設計,如圖6所示,通過手勢識別與前端游戲進行互動,學生可自行選擇學習科目、游戲類型、游戲難度等。手勢游戲以打地鼠游戲為例,游戲答案分為四個選擇,分別對應A、B、C、D四個選項,在題目設計過程全部是選擇題的形式出現。通過深度學習姿態識別算法實現對手關節點進行檢測,通過LSTM網絡進行動作識別當前學生的手勢動作,通過一定規則將手勢動作與答案選項進行映射,例如1手勢對應A選項,2手勢對應B選項,3手勢對應C選項,比4手勢對應C選項來進行游戲互動。通過將手勢信息傳遞到游戲,實現體感游戲互動功能,這種通過肢體動作來進行游戲答題,具有互動性強,娛樂性強,綜合性強的特點,使學生可以邊學邊玩,能夠有效地進行課堂互動,提高課堂教學質量。
4? 實驗分析
系統以網頁形式將攝像頭的實時手勢在前端窗口展示,后端算法實現實時的動作識別方法,將識別的結果反饋到前端,前端根據答題的結果實現實時的判斷,如果是正確打中地鼠,加分;如果不正確,地鼠不被打中,不加分,如圖6所示。本文將體感互動游戲融合在教學過程中,學生無需佩戴任何感應設備,真正實現無接觸式人機互動,具有互動識別精準、靈敏、穩定、交互強的特點。能夠讓學生在學中玩,玩中學,提高學生的學習興趣。
5? 結? 論
基于骨骼信息的手勢識別交互系統能將傳統的教師講授式教學方式轉變為互動式教學,從傳遞知識到自主發展,學生能夠在課堂中通過肢體動作識別與習題練習相結合,通過游戲闖關的方法,能夠更好地參與到課堂活動中來,提高學生的積極性,極大地提高學習效率。教師和學生可通過課堂大數據分析實時掌握學生對知識點的掌握情況,根據學生接受情況隨時調整教學方法,讓每個同學真正地學習到知識點。通過手勢識別、姿態識別等深度學習算法與課堂游戲進行結合,將課堂活動游戲化,實時進行課堂互動。
參考文獻:
[1] 翟雪松,史聰聰.《教育信息化十年發展規劃(2011-2020年)》的實施現狀、挑戰與展望 [J].現代教育技術,2020,30(12):20-27.
[2] 葛永普.構“六新”智慧課堂,促學生深度學習 [J].貴州教育,2022(1):37-39.
[3] 董琪琪,劉劍飛,郝祿國,等.基于改進SSD算法的學生課堂行為狀態識別 [J].計算機工程與設計,2021,42(10):2924-2930.
[4] 胡建華,張軍,吳偉美,等.基于深度學習的課堂行為識別系統 [J].電子技術與軟件工程,2021(20):103-105.
[5] 蘇超,王國中.基于改進OpenPose的學生行為識別研究 [J].計算機應用研究,2021,38(10):3183-3188.
[6] 吳彩芳,謝鈞,俞璐.基于骨骼和深度信息的手勢識別的研究與應用 [J].計算機技術與發展,2016,26(8):200-204.
[7] 高翔.基于手勢識別的虛實交互技術研究 [J].電子制作,2022,30(9):88-90+52.
[8] PALACIOS J M,SAG??S C,MONTIJANO E,et al. Human-Computer Interaction Based on Hand Gestures Using RGB-D Sensors [J].Sensors,2013,13(9):11842-11860.
作者簡介:胡建華(1984—),男,漢族,湖南婁底人,高級工程師,碩士,研究方向:圖像視頻處理、計算機視覺、深度學習;通訊作者:劉曉林(1978—),男,漢族,湖南懷化人,高級工程師,碩士,研究方向:移動應用開發、IT項目管理、虛擬現實。
收稿日期:2022-09-24
基金項目:2022年度廣州市基礎研究計劃基礎與應用基礎研究項目(202201011753);廣東省教育廳青年創新人才類項目(2019GKQNCX043);廣東省教育廳2021年度普通高校重點科研項目(2021ZDZX3040);廣東省教育科學規劃課題(2018GXJK318)