摘? 要:文章主要闡述了在嵌入式設備上運行AI算法檢測人體運動姿態(tài)并給出相應運動建議的實現(xiàn)方法,其中嵌入式設備包含攝像頭模塊、顯示屏模塊、控制主板、模型算法、語音模塊、通信模塊等。通過攝像頭采集運動姿態(tài)的圖像,并由目標檢測算法、人體骨骼算法、姿態(tài)動作算法得到運動姿態(tài)參數(shù)進行統(tǒng)計與姿態(tài)修正,反饋給運動人員,實現(xiàn)運動姿態(tài)的計數(shù)與姿態(tài)修正,進而提高動作完成的質量,達到有效運動的目的。
關鍵詞:攝像頭;目標檢測;人體骨骼點;模型;人工智能
中圖分類號:TP18? ? ? ? 文獻標識碼:A文章編號:2096-4706(2021)22-0092-04
Abstract: This paper mainly expounds the implementation method of running AI algorithm on embedded equipment to detect human motion attitude and give corresponding motion suggestions. The embedded equipment includes camera module, display module, control motherboard, model algorithm, voice module, communication module and so on. The image of motion attitude is collected through the camera, and the motion attitude parameters are obtained through the target detection algorithm, human bone algorithm and attitude action algorithm for statistics and attitude correction, which are fed back to the athletes to realize the counting of motion attitude and attitude correction, so as to improve the quality of action completion and achieve the purpose of effective motion.
Keywords: camera; object detection; human bone point; model; artificial intelligence
0? 引? 言
國家連續(xù)多次發(fā)文引導青少年學生體質健康的發(fā)展改革,屢次強調體育學科的重要性,并且明確要求體育中考要逐年增加分值,達到跟語數(shù)外同分值的水平。在“以考促動、健康中國、體育強國”的指引下體育學科的重要性更加凸顯,學科要求也更加嚴格,對學生起著決定性影響,如何有效地進行體育鍛煉也引起學生、家長和社會的高度關注。
隨著新一代信息技術的發(fā)展日新月異,特別是AI人工智能技術的廣泛應用,在體育領域正在開辟出全新的道路,如:微軟開發(fā)出的一套解析運動員訓練、比賽表現(xiàn)的數(shù)據(jù)化管理系統(tǒng),可以為運動員提供運動數(shù)據(jù)分析。
目前AI人工智能技術依賴于不同的模型,但人體運動模型魯棒性仍較弱,需要龐大得數(shù)據(jù)量作為支撐,計算量大,對硬件要求高,如何在嵌入式低配置高實時的設備上實現(xiàn)AI人工智能檢測運動姿態(tài)?針對以上問題可采用以下方法進行解決:
(1)建立不同運動姿態(tài)下的人體姿態(tài)點模型,運用局部圖像分割與目標追蹤檢測快速推理算法。
(2)采集不同人群在不同運動下的人體數(shù)據(jù)并進行分類、打樣、訓練。
(3)簡化模型與推理算法,犧牲部分精度換取推理速度的提升,進而降低對硬件的高要求。
通過上述方法可實現(xiàn)在嵌入式設備上進行運動姿態(tài)的檢測,在滿足AI人工智能技術的應用,加上嵌入式設備的低成本,有利于設備的普及與市場的推廣。
1? 開發(fā)內容簡介
從硬件與軟件兩方面簡述AI檢測運動姿態(tài)在嵌入式設備上實現(xiàn)的開發(fā)內容。由于AI人工智能技術的模型與算法比較依賴于硬件,因此在硬件的選型上,主要取決于軟件上對模型與算法的優(yōu)化,降低對硬件配置的高要求。此外,針對業(yè)務上的要求需要有攝像頭進行圖像采集、顯示與語音交互、業(yè)務數(shù)據(jù)的管理,由控制主板進行管理攝像頭模塊、顯示屏模塊、語音模塊、通信模塊以及最為關鍵的AI模型算法。軟件上選用目前主流的Android操作系統(tǒng),Android操作系統(tǒng)具有豐富的UI界面、動畫效果好,應用接口豐富,第三方插件也有大量的開發(fā)人員進行開發(fā)維護;AI人工智能軟件框架采用Tensorflow軟件框架,Tensorflow與Android操作系統(tǒng)同屬Google旗下的開源軟件庫,里面含有深度學習的各類標準算法API和數(shù)據(jù)集等,模型上選用比較主流的YOLO3與MoveNet,推理算法采用卷積神經網絡CNN。
如圖1所示,嵌入式設備搭載AI人工智能算法的系統(tǒng)包含攝像頭模塊、顯示屏模塊、控制主板、模型算法、語音模塊、通信模塊等以及各個模塊之間的關系。
其中,各個模塊可獨立進行開發(fā)調試,控制主板作為整個系統(tǒng)核心,統(tǒng)籌各個模塊協(xié)同工作,從圖像輸入、圖像分析、結果輸出、數(shù)據(jù)反饋完成運動姿態(tài)的檢測。
2? 模塊實現(xiàn)方法
2.1? 攝像頭模塊
根據(jù)不同運動姿態(tài)的要求,對攝像頭參數(shù)要求也不一樣,攝像頭主要會影響運動檢測的參數(shù)有幀率、分辨率、數(shù)據(jù)格式、白平衡、寬動態(tài)范圍、動態(tài)速度。其中,幀率、分辨率、數(shù)據(jù)格式影響圖像采集到CPU的頻率,幀率越高、分辨率越低、數(shù)據(jù)格式MJPG較穩(wěn)定能有效提高圖像采集到CPU的速度。對焦方式、寬動態(tài)范圍、動態(tài)速度影響圖像的真實還原,對焦方式可以采用手動對焦防止自動對焦時導致圖像某幾幀的變模糊,寬動態(tài)范圍在強光下也能有較好的清晰度,動態(tài)速度可以減少抓取的運動姿態(tài)拖影的效果。
考慮在嵌入式設備上使用,采用一般的高清攝像頭,幀率在30幀,分辨率最大支持1 920×1 080、支持手動調焦、支持寬動態(tài)范圍、動態(tài)速度滿足大部分運動姿態(tài)較少拖影。從穩(wěn)定性與擴展性上,選用免驅的USB連接方式的攝像頭,方便軟件開發(fā)、維護、更換。
2.2? ?控制主板
控制主板采用主流的芯片方案,主要的考慮參數(shù)有CPU、GPU、NPU、內存、存儲、功耗等,結合應用場景與成本考慮,選取對應的參數(shù)。AI人工智能算法的算力可以配置CPU、GPU、NPU,一般嵌入式芯片方案的GPU的配置比不上PC機、具有NPU的不多,因此更多依賴于CPU,主板芯片方案選取CPU配置高的,處理會較快;GPU、內存的參數(shù)選擇上也要往較高的靠,提升顯示屏的速度與流暢性;為了方便后續(xù)功能擴展,外圍接口也是多多益善,如:USB接口、串口接口、HDMI接口、音頻口等。如表1所示的參數(shù)可供參考。
2.3? 顯示屏模塊
顯示屏目前有液晶屏、LED屏等,按照實際應用場景可選用紅外觸摸屏或者電容觸摸屏,一般電容觸摸屏用得比較多。顯示屏的分辨率可采用1 920×1 080,響應時間低于6毫秒,亮度不低于300 cd/m2,可視角度178度,尺寸不小于32英寸,橫豎屏都可以。
軟件上采用OpenGL雙緩沖技術,包括前臺緩沖即當前屏幕顯示、后臺緩沖即內存顯存,繪圖操作先在內存中繪好,然后再將結果復制到屏幕上。這樣就不會造成畫面的閃爍。一是解決屏幕的頻繁刷新造成的畫面閃爍問題,二是方便AI人工智能算法的圖像處理即在圖像處理的同時又不影響畫面的顯示。
2.4? 語音模塊
語音模塊一般采用語音芯片與外置揚聲器結合的方式。外置揚聲器可根據(jù)需要配置不同功放參數(shù)如:雙8R/5W功放可滿足大部分使用場景。
軟件上采用TTS語音技術即文本轉語音,將不同運動狀態(tài)的提示語、成績通過文本轉化成語音播放。android操作系統(tǒng)自帶TextToSpeech接口可直接調用,如果需要不同語調與語速的可采用第三方插件。
2.5? 通信模塊
通信模塊包含移動通信、Wi-Fi通信、以太網通信、Lora通信等。其中,Wi-Fi通信與以太網通信作為標準接口,集成在控制主板上,移動通信、Lora通信等以模塊的方式通過USB或者串口連接到主板上實現(xiàn)數(shù)據(jù)通信。移動通信模塊目前主流有5G通信模塊、4G全網通通信模塊,4G-CAT1通信模塊、NB通信模塊等。
軟件上如果是外接的通信模塊,需要固件進行適配,按照通信模塊的數(shù)據(jù)手冊集成到Android的固件中,應用則直接調用Android系統(tǒng)的接口,管理不同通信模塊的數(shù)據(jù)收發(fā)、通信關閉與開啟、鏈路檢測等,與后臺的協(xié)議一般采用HTTP通信,字段以Json格式封裝,報文以安全算法進行加密傳輸。
2.6? 模型算法
模型算法是自然環(huán)境下對人體進行分類、檢測、分割得到人體關鍵關節(jié)點位置的目標檢測算法。由于人體大小分布不一致,且各個關節(jié)活動范圍很大,相對位置不固定,還存在各種位置遮擋和服裝遮擋的情況。由于關鍵點的分布范圍太廣,用全連接層去回歸導致泛化能力很差。因此采用CNN神經網絡會有較好的效果。目標學習形式采用回歸heatmap的方式來訓練,即把原圖縮小幾倍得到特征圖,特征圖有關鍵點的位置值就是1、背景就是0,因為只設1太稀疏了,所以把1改為一個高斯核。檢測流程分為Top-Bottom與Bottom-Up兩種,兩者的差別在于Top-Bottom方式精度高,但是速度慢一點,而Bottom-Up速度快,但是精度差一點。因此在保證精度優(yōu)先的前提下采用Top-Bottom,即是先檢測人,再裁剪出來對每個人去檢測關鍵點。
YOLO系列是最經典也是目前被大家認可使用的檢測框架,因此算法模型采用YOLO3在滿足一定精度的條件下推理速度可以在20毫秒以內,在滿足實時的條件下還能滿足較低的CPU占用,比較適合在嵌入式上進行部署。
軟件上android操作系統(tǒng)有現(xiàn)成的OpenCV庫,但是要注意OpenCV庫的版本,從3.4.2開始支持YOLO3,因此導入的OpenCV庫要在3.4.2版本之后。此外要加載完OpenCV以后才能調用yolo3初始化加載模型,接下來就是傳入攝像頭拍攝的圖片數(shù)據(jù)格式轉成Mat數(shù)據(jù),輸出目標的分類標簽,識別出人體框,再加載人體檢測MoveNet模型識別出人體關鍵點位置。在識別人體關鍵點位置后,按照具體的運動姿態(tài)要求判定動作有沒有做到位,并給出提示與計數(shù)。
3? 具體案例——開合跳姿態(tài)檢測
開合跳的動作要求:身體保持直立,雙手自然垂放于身體兩側;用力向上跳起,同時雙腳向兩側張開;跳到最高處時雙手前后交叉,此時雙手和雙腿都應該是筆直的;回到地面,此時注意應腳尖先落地同時膝蓋微屈,如此反復。按照開合跳動作要求,可以將整套動作拆解為二種狀態(tài),第一種狀態(tài)為起始狀態(tài),即身體保持直立,雙手垂于兩側;第二種狀態(tài)為起跳狀態(tài),即身體向上跳起,雙腳張開,雙手前后交叉。如圖2所示,兩種狀態(tài)反復轉換即可。
起始狀態(tài)根據(jù)檢測當前人體的關鍵點位置,判定身體軀干是否直立,可根據(jù)脖子、中骻、腳踝的關鍵點連線是否在一條直線上,雙手是否垂于身體兩側檢測肩、肘、手腕的關鍵點是否在一條直線上且與身體的線平行。
起跳狀態(tài)根據(jù)骻的縱向變化值最高時為跳到最高點,在此過程檢測左腳踝、中骻、右腳踝關鍵點的夾角是否超過30°,雙手手腕的點超過頭部鼻子的點,雙手手腕關鍵點的橫向差值變成負值。
根據(jù)上述狀態(tài)判定,只要經過兩種狀態(tài)的變化可記錄動作完成一次,反之給出未做到位的提示。
4? 結? 論
在嵌入式設備實現(xiàn)運動姿態(tài)的檢測,涉及攝像頭采集、目標檢測算法、人體骨骼點算法、某一運動姿態(tài)的計數(shù)違規(guī)算法、人機交互等方面,保證在嵌入式設備上流暢實時的進行識別,除了犧牲一定的算法精度外,還要協(xié)調好圖像采集的速率與檢測算法運行時間的平衡,在滿足采集速率的情況下,盡可能地壓縮檢測算法的推理時間,保障整個運動姿態(tài)的流暢性與準確性。雖然在嵌入式設備上的運動姿態(tài)識別精度無法與服務器端相提并論,但嵌入式設備的低功耗、低成本且能滿足一般的運動姿態(tài)的識別,還是比較有競爭力。此外,保證精度與推理速度都能達到高要求,還需要更多的素材數(shù)據(jù)進行采樣訓練工作以及姿態(tài)判定算法的優(yōu)化。
參考文獻:
[1] 彭正方.5G移動通信關鍵技術分析 [J].通信電源技術,2021,38(4):138-139+142.
[2] 徐海寧.基于深度圖像和骨骼數(shù)據(jù)的人體動作識別 [D].鄭州:鄭州大學,2016.
[3] 王田苗.嵌入式系統(tǒng)設計與實例開發(fā) [M].北京:清華大學出版社,2003.
[4] 岳傳真.Android系統(tǒng)移植和應用程序開發(fā) [D].上海:復旦大學,2010.
[5] 胡銀星.嵌入式多媒體終端設備關鍵技術研究 [D].武漢:華中科技大學,2008.
[6] 朱繼洪,裴繼紅,趙陽.卷積神經網絡(CNN)訓練中卷積核初始化方法研究 [J].信號處理,2019,35(4):641-648.
[7] 龔維亮,李偉雪.深度學習在競技體育訓練中的應用研究 [C]//第十一屆全國體育科學大會. 第十一屆全國體育科學大會論文摘要匯編. 南京:出版社不詳,2019:5736-5738.
作者簡介:柯宇(1985.02—),男,漢族,福建仙游人,研發(fā)經理,中級工程師,本科,研究方向:金融類電子產品設計、教育類電子產品設計、物聯(lián)網人工智能應用、嵌入式軟硬件設計、手機APP客戶端設計、管理平臺軟件架構搭建、移動端檢測算法。