當(dāng)前位置:首頁 > 公眾號精選 > AI科技大本營
[導(dǎo)讀]作者|李秋鍵來源|AI科技大本營(ID:rgznai100)引言人工智能作為計(jì)算機(jī)科學(xué)的一個分支,其主要是將人的思維與計(jì)算機(jī)網(wǎng)絡(luò)相結(jié)合,令整個系統(tǒng)在對某一類事物進(jìn)行處理時實(shí)現(xiàn)人工智能化分析,然后結(jié)合內(nèi)部程序的設(shè)定,分析出當(dāng)前事務(wù)處理所具備的各類功能如何實(shí)現(xiàn)。人工智能作為一項(xiàng)綜合性...

Python?搭建?AI?健身評分系統(tǒng)


作者|李秋鍵來源|AI科技大本營(ID:rgznai100)


Python?搭建?AI?健身評分系統(tǒng)引言人工智能作為計(jì)算機(jī)科學(xué)的一個分支,其主要是將人的思維與計(jì)算機(jī)網(wǎng)絡(luò)相結(jié)合,令整個系統(tǒng)在對某一類事物進(jìn)行處理時實(shí)現(xiàn)人工智能化分析,然后結(jié)合內(nèi)部程序的設(shè)定,分析出當(dāng)前事務(wù)處理所具備的各類功能如何實(shí)現(xiàn)。人工智能作為一項(xiàng)綜合性學(xué)科,其在發(fā)展過程中可分為低級、中級、高級三個階段,通過技術(shù)體系的逐步更新,人們將思維意識與計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)形成深度融合,利用人工智能體系在社會事務(wù)處理中實(shí)現(xiàn)智能化轉(zhuǎn)變,以此來達(dá)到人力資源節(jié)約的效果。


將人工智能與體育產(chǎn)業(yè)的融合是指通過智能化體系的融合,體育產(chǎn)業(yè)以及其關(guān)聯(lián)行業(yè)在發(fā)展過程中可對數(shù)據(jù)信息進(jìn)行精準(zhǔn)分辨,尤其是在大數(shù)據(jù)發(fā)掘技術(shù)的作用下,各類工作機(jī)制的建設(shè)可通過行業(yè)領(lǐng)域業(yè)務(wù)拓展實(shí)現(xiàn)技術(shù)性融合。然而,從現(xiàn)階段實(shí)際應(yīng)用趨勢來看,人工智能與體育產(chǎn)業(yè)的融合無法得到有效基準(zhǔn)的制定,這就造成相關(guān)職能部門在制定規(guī)范制度時,無法將人工智能與體育產(chǎn)業(yè)進(jìn)行深度分析,令制度本身缺乏有效監(jiān)管性。除此之外,體育產(chǎn)業(yè)作為綜合型項(xiàng)目,人工智能體系的應(yīng)用,無法覆蓋到整個體育產(chǎn)業(yè)鏈中,只要造成體育項(xiàng)目在實(shí)際開展中無法形成合理、科學(xué)性的基準(zhǔn),進(jìn)而令地區(qū)體育項(xiàng)目的發(fā)展無法達(dá)成一致,在一定程度上,將令體育產(chǎn)業(yè)形成以地區(qū)為主導(dǎo)的滯后性發(fā)展現(xiàn)象。


本項(xiàng)目使用姿態(tài)估計(jì)技術(shù),提取人體關(guān)鍵點(diǎn)后,對不同人體肢節(jié)進(jìn)行組合,實(shí)時評估骨骼向量角數(shù)據(jù),并根據(jù)人體向量角數(shù)據(jù)與建立好的標(biāo)準(zhǔn)動作比對,給出各肢體評分,和總評分。在這里我們以舉啞鈴動作為例,搭建我們的智能健身評分系統(tǒng):


Python?搭建?AI?健身評分系統(tǒng)



Python?搭建?AI?健身評分系統(tǒng)1、系統(tǒng)使用本系統(tǒng)主要使用的人體姿態(tài)估計(jì)技術(shù)。需要用到的知識點(diǎn)有openpose姿態(tài)估計(jì)算法、向量角組合和計(jì)算,評估準(zhǔn)則的判定。


1.1 openpose姿態(tài)估計(jì)


Open Pose實(shí)時姿態(tài)監(jiān)測估計(jì)算法是由卡內(nèi)基梅隆大學(xué)的一個團(tuán)隊(duì)最先提出的。此算法使用一種叫做人體關(guān)鍵點(diǎn)親和域的方法連接人體關(guān)鍵點(diǎn)。圖中的網(wǎng)絡(luò)結(jié)構(gòu)分支1的S1代表一組關(guān)鍵點(diǎn),分支2的Ll代表連接這些關(guān)鍵點(diǎn)的親和向量。重復(fù)此步,可以得到一個所有2D關(guān)鍵點(diǎn)的集合S和關(guān)鍵點(diǎn)相關(guān)度的向量集合L,再根據(jù)相關(guān)度連接將得到一個近似度高的棍型圖。所采用的數(shù)據(jù)集是COCO和MPI,并且收集了試驗(yàn)者執(zhí)行的不同活動并與計(jì)算機(jī)相關(guān)聯(lián),既能檢測人體,也能感知到周圍環(huán)境中的信息。


Open Pose提供了23個精確的身體部位,包括肩膀、肘部、手腕、臀部、膝蓋、腳踝等。為了減少數(shù)據(jù)集的冗余,系統(tǒng)參考不同身體關(guān)節(jié)的視覺效應(yīng),根據(jù)人體結(jié)構(gòu)和運(yùn)動特征將關(guān)節(jié)分成不同的組,并給每個關(guān)節(jié)分配不同的權(quán)重。


1)面部五官:面部關(guān)節(jié)分布集中密集,活動范圍小。它們很少表現(xiàn)出明顯的獨(dú)立運(yùn)動。


2)軀干關(guān)節(jié):軀干關(guān)節(jié)包括肩關(guān)節(jié)、脊椎中心和臀部,它們體現(xiàn)了身體運(yùn)動位移的主要趨勢,是連接身體和四肢的樞紐。


3)一級關(guān)節(jié):一級關(guān)節(jié)包括肘關(guān)節(jié)和膝關(guān)節(jié),包含大量關(guān)于四肢動作的信息。當(dāng)身體旋轉(zhuǎn)和彎曲時,它在視覺上相對軀干關(guān)節(jié)有更重要的作用。


4)二級連接:二級連接部位包括手腕和腳踝。手腕和踝關(guān)節(jié)比肘關(guān)節(jié)和膝蓋點(diǎn)延伸得更長,給人留下更加明顯的視覺印象。


5)三級連接:三級點(diǎn)包含右手、右臀、右腳、左手、左臀和左腳。手和腳是手腕和腳踝的延伸,沒有明顯的視覺印象。


Python?搭建?AI?健身評分系統(tǒng)



1.2標(biāo)準(zhǔn)動作


在這里我們設(shè)置標(biāo)準(zhǔn)動作如下:


Python?搭建?AI?健身評分系統(tǒng)


作為標(biāo)準(zhǔn)動作,統(tǒng)計(jì)出各個骨骼關(guān)鍵點(diǎn)坐標(biāo),并根據(jù)不同骨骼坐標(biāo)點(diǎn)組合形成向量角,并計(jì)算不同關(guān)節(jié)之間的向量角作為標(biāo)準(zhǔn)。


1.3評估標(biāo)準(zhǔn)


對攝像頭視頻流或者本地視頻流數(shù)據(jù)實(shí)時計(jì)算各個關(guān)鍵點(diǎn)角度,并逐一對比,并可視化。計(jì)算公式按照歐氏距離做出最簡單評估即可。


Python?搭建?AI?健身評分系統(tǒng)




Python?搭建?AI?健身評分系統(tǒng)2、模型實(shí)驗(yàn)2.1 環(huán)境搭建


1、首先下載好完整無誤配置好的代碼(包括模型等等,見文末)。


2、整個多目標(biāo)動作監(jiān)測系統(tǒng)的搭建主要是依賴于openpose的姿態(tài)識別環(huán)境。而openpose的基本環(huán)境依賴于python,CUDA和swig的支持,其中python是作為openpose的代碼編寫和運(yùn)行工具,CUDA作為調(diào)用顯卡訓(xùn)練測試的必須軟件需要和python版本有一定的關(guān)系,swig目的在于給openpose編譯環(huán)境。根據(jù)openpose官方提供的cmu模型、mobilenet_thin模型、mobilenet_v2_large模型和mobilenet_v2_small模型的評價,我們選擇了cmu模型作為姿態(tài)識別的調(diào)用模型,主要原因在于cmu具有更高一些的識別精度。


Openpose的調(diào)用在這里通過調(diào)用其中設(shè)定好的主函數(shù)即可,其中包括模型加載程序、調(diào)用程序以及Estimator評估等等。


3、配置好python的cuda環(huán)境,以及opencv、pyqt5等基礎(chǔ)環(huán)境。


4、運(yùn)行GUI.py主界面,點(diǎn)擊按鈕即可。


2.2 姿態(tài)估計(jì)


這里設(shè)置默認(rèn)的標(biāo)準(zhǔn)動作位為'Standard/1.jpg',默認(rèn)使用模型為cmu模型。按照標(biāo)準(zhǔn)的姿態(tài)估計(jì)配置,設(shè)置代碼如下:


parser = argparse.ArgumentParser(description='tf-pose-estimation run')parser.add_argument('--image', type=str, default='Standard/1.jpg')parser.add_argument('--model', type=str, default='cmu', help='cmu / mobilenet_thin / mobilenet_v2_large / mobilenet_v2_small')parser.add_argument('--resize', type=str, default='0x0', help='if provided, resize images before they are processed. ' 'default=0x0, Recommends : 432x368 or 656x368 or 1312x736 ')parser.add_argument('--resize-out-ratio', type=float, default=4.0, help='if provided, resize heatmaps before they are post-processed. default=1.0')args = parser.parse_args()w, h = model_wh(args.resize)if w == 0 or h == 0: e = TfPoseEstimator(get_graph_path(args.model), target_size=(432, 368))else: e = TfPoseEstimator(get_graph_path(args.model), target_size=(w, h))


2.3角度計(jì)算


計(jì)算需要使用到的關(guān)節(jié)角度,分別為右鍵、右手臂、左鍵、左手臂。代碼如下:


image1 = TfPoseEstimator.draw_humans(image, humans, imgcopy=True)cv2.imwrite("../img1.jpg", image1)f = open("../img1.txt", 'w')f.close()line = Vector([0, 100])'''角度'''try: # 右肩5 RShoulder = Vector(list_sub(skeleton[5], skeleton[6])) RShoulder_angel = line.angle_with(RShoulder) Angels[5]=str(round(RShoulder_angel,1)) "°" # 右手臂6 RElbow = Vector(list_sub(skeleton[6], skeleton[7])) RElbow_angel = line.angle_with(RElbow) Angels[6] = str(round(RElbow_angel, 1)) "°" # 左肩3 LShoulder = Vector(list_sub(skeleton[2], skeleton[3])) LShoulder_angel = line.angle_with(LShoulder) Angels[2] = str(round(LShoulder_angel, 1)) "°" # 左手臂4 LElbow = Vector(list_sub(skeleton[3], skeleton[4])) LElbow_angel = line.angle_with(LElbow) Angels[3] = str(round(LElbow_angel, 1)) "°" state=Trueexcept: pass


2.4 評分可視化


在獲取到角度值后,設(shè)置各個角度評分為(1 - abs((RShoulder_angel - Standard[i]) / Sum_Standard)) * 100,即最高分為100分,最低分為0分。其中標(biāo)準(zhǔn)對比值由標(biāo)準(zhǔn)動作自行計(jì)算,放入數(shù)組即可,代碼如下:


if state: '''評分''' Standard = [150, 10, 150, 10] Sum_Standard = sum(Standard) Score1 = (1 - abs((RShoulder_angel - Standard[0]) / Sum_Standard)) * 100 Score2 = (1 - abs((RElbow_angel - Standard[1]) / Sum_Standard)) * 100 Score3 = (1 - abs((LShoulder_angel - Standard[2]) / Sum_Standard)) * 100 Score4 = (1 - abs((LElbow_angel - Standard[3]) / Sum_Standard)) * 100 Avg_Score=(Score1 Score2 Score3 Score4)/len(Standard) myfont = ImageFont.truetype(r'C:/Windows/SIMLI.TTF', 20) image2 = Image.fromarray(cv2.cvtColor(image2, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(image2) draw.text((10, 10), "總評分:" str(round(Avg_Score,1)), font=myfont, fill=(255, 0, 0)) draw.text((10,50), "右肩評分:" str(round(Score1,1)), font=myfont, fill=(255, 0, 0)) draw.text((10, 90), "右臂評分:" str(round(Score2, 1)), font=myfont, fill=(255, 0, 0)) draw.text((10, 130), "左肩評分:" str(round(Score3, 1)), font=myfont, fill=(255, 0, 0)) draw.text((10, 170), "右臂評分:" str(round(Score4, 1)), font=myfont, fill=(255, 0, 0)) image2 = cv2.cvtColor(np.asarray(image2), cv2.COLOR_RGB2BGR)


運(yùn)行過程如下可見,在這里通過雙擊“啟動.bat”即可直接運(yùn)行:


Python?搭建?AI?健身評分系統(tǒng)



Python?搭建?AI?健身評分系統(tǒng)


完整代碼:


附行為安全監(jiān)測系統(tǒng)見文章


https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/120299561。



姿態(tài)估計(jì)代碼:
鏈接:


https://pan.baidu.com/s/1vkc1EQuaAUMqoaegkdZ_pA


提取碼:i46w



健身評分系統(tǒng)代碼:


https://download.csdn.net/download/qq_42279468/33154887


李秋鍵,CSDN博客專家,CSDN達(dá)人課作者。碩士在讀于中國礦業(yè)大學(xué),開發(fā)有taptap競賽獲獎等。


Python?搭建?AI?健身評分系統(tǒng)





本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉