成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

摔倒檢測,基于骨骼點人體動作識別,部分代碼用 Chatgpt 完成

人工智能
有能力的朋友可以自己訓(xùn)練模型試試,另外,百度的Paddle也基于STGCN開發(fā)了一個跌倒檢測模型,只支持摔倒這一種行為的識別。

哈嘍,大家好。

今天給大家分享一個摔倒檢測項目,準(zhǔn)確地說是基于骨骼點的人體動作識別。

圖片

圖片

大概分為三個步驟

  • 識別人體
  • 識別人體骨骼點
  • 動作分類

項目源碼已經(jīng)打包好了,獲取方式見文末。

0. chatgpt

首先,我們需要獲取監(jiān)控的視頻流。這段代碼比較固定,我們可以直接讓chatgpt完成

圖片

chatgpt寫的這段代碼是沒有問題的,可以直接使用。

但后面涉及到業(yè)務(wù)型任務(wù),比如:用mediapipe?識別人體骨骼點,chatgpt給出的代碼是不對的。

我覺得chatgpt?可以作為一個工具箱,能獨立于業(yè)務(wù)邏輯,都可以試著交給chatgpt完成。

所以,我覺得未來對程序員的要求會更加注重業(yè)務(wù)抽象的能力。扯遠(yuǎn)了,言歸正傳。

1. 人體識別

人體識別可以用目標(biāo)檢測模型,比如:YOLOv5?,之前我們也分享過好多訓(xùn)練YOLOv5模型的文章。

但這里我沒有用YOLOv5?,而是用mediapipe?。因為mediapipe?運行速度更快,在 CPU 上也能流暢地運行。

2. 骨骼點識別

識別骨骼點的模型有很多,如:alphapose、openpose,每種模型識別出來的骨骼點個數(shù)和位置都有所差異。比如下面這兩種:

圖片

mediapipe 32個骨骼點

圖片

coco 17個骨骼點

骨骼點的識別我仍然使用mediapipe?,除了速度快,另一個優(yōu)勢是mediapipe識別的骨骼點多,有 32 個,能滿足我們的使用。因為下面要用的人體動作分類,強(qiáng)依賴于骨骼點。

image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
results = pose.process(image)

if not results.pose_landmarks:
continue

# 識別人體骨骼點
image.flags.writeable = True
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)

mp_drawing.draw_landmarks(
image,
results.pose_landmarks,
mp_pose.POSE_CONNECTIONS,
landmark_drawing_spec=mp_drawing_styles.get_default_pose_landmarks_style()
)

3. 動作識別

動作識別使用的是基于骨架動作識別的時空圖卷積網(wǎng)絡(luò),開源方案是STGCN(Skeleton-Based Graph Convolutional Networks)

https://github.com/yysijie/st-gcn

圖片

一組動作,如:摔倒,由 N 幀組成,每一幀可以構(gòu)造出以骨骼點坐標(biāo)組成的空間圖,骨骼點在幀之間連接起來就構(gòu)成時間圖,骨骼點的連接和時間幀的連接便可以構(gòu)造一張時空圖。

圖片

時空圖

在時空圖上進(jìn)行多層圖卷積運算,便可生成更高層次的特征圖。然后輸入到SoftMax分類器進(jìn)行動作分類(Action Classification)。

圖片

圖卷積

本來我打算訓(xùn)練STGCN模型的,但遇到的坑實在是太多了,最后直接用了別人訓(xùn)練好的模型。

坑1. STGCN? 支持 OpenPose? 識別的骨骼點,有數(shù)據(jù)集Kinetics-skeleton?可以直接用。坑的地方在于OpenPose安裝太麻煩,需要一堆步驟,掙扎后放棄。

坑2. STGCN? 還支持 NTU RGB+D數(shù)據(jù)集,該數(shù)據(jù)集有 60 個動作分類,如:起立、行走、摔倒等。這份數(shù)據(jù)集的人體包含 25 個骨骼點,只有坐標(biāo)數(shù)據(jù),原始視頻基本搞不到,所以沒辦法知道這 25 個骨骼點對應(yīng)哪些位置,以及用什么模型能識別出這 25 個骨骼點,掙扎后放棄。

上面兩個大坑,導(dǎo)致沒法直接訓(xùn)練STGCN?模型,找了一個開源的方案,它用的是alphapose?識別 14 個骨骼點,同時修改STGCN源碼支持自定義骨骼點。

https://github.com/GajuuzZ/Human-Falling-Detect-Tracks

我看了下mediapipe包含了這 14 個骨骼點,所以可以用mediapipe識別的骨骼點輸入他的模型,實現(xiàn)動作分類。

圖片

mediapipe 32個骨骼點

圖片

選出14個關(guān)鍵骨骼點

14個骨骼點提取代碼:

KEY_JOINTS = [
mp_pose.PoseLandmark.NOSE,
mp_pose.PoseLandmark.LEFT_SHOULDER,
mp_pose.PoseLandmark.RIGHT_SHOULDER,
mp_pose.PoseLandmark.LEFT_ELBOW,
mp_pose.PoseLandmark.RIGHT_ELBOW,
mp_pose.PoseLandmark.LEFT_WRIST,
mp_pose.PoseLandmark.RIGHT_WRIST,
mp_pose.PoseLandmark.LEFT_HIP,
mp_pose.PoseLandmark.RIGHT_HIP,
mp_pose.PoseLandmark.LEFT_KNEE,
mp_pose.PoseLandmark.RIGHT_KNEE,
mp_pose.PoseLandmark.LEFT_ANKLE,
mp_pose.PoseLandmark.RIGHT_ANKLE
]

landmarks = results.pose_landmarks.landmark
joints = np.array([[landmarks[joint].x * image_w,
landmarks[joint].y * image_h,
landmarks[joint].visibility]
for joint in KEY_JOINTS])

STGCN?原始方案構(gòu)造的空間圖只支持openpose?18個骨骼點和NTU RGB+D數(shù)據(jù)集25個骨骼點

圖片

修改這部分源碼,以支持自定義的14個骨骼點

圖片

模型直接使用Human-Falling-Detect-Tracks項目已經(jīng)訓(xùn)練好的,實際運行發(fā)現(xiàn)識別效果很差,因為沒有看到模型訓(xùn)練過程,不確定問題出在哪。

有能力的朋友可以自己訓(xùn)練模型試試,另外,百度的Paddle?也基于STGCN?開發(fā)了一個跌倒檢測模型,只支持摔倒這一種行為的識別。

當(dāng)然大家也可以試試Transformer的方式,不需要提取骨骼點特征,直接將 N 幀圖片送入模型分類。

關(guān)于STGCN的原理,大家可以參考文章:https://www.jianshu.com/p/be85114006e3  總結(jié)的非常好。

需要源碼的朋友留言區(qū)回復(fù)即可。

如果大家覺得本文對你有用就點個 在看 鼓勵一下吧,后續(xù)我會持續(xù)分享優(yōu)秀的 Python+AI 項目。

責(zé)任編輯:武曉燕 來源: 渡碼
相關(guān)推薦

2023-04-06 19:06:28

ChatGPT開發(fā)摔倒識別

2024-02-26 12:48:28

ChatGPT人工智能論文

2023-09-28 11:01:24

AI摔倒檢測

2020-08-21 13:40:17

Python代碼人體膚色

2025-04-21 08:13:58

ChatGPTAINLP

2017-10-17 13:30:32

Python人臉識別

2020-02-28 15:33:12

代碼人工智能檢測

2011-03-31 11:14:14

2023-09-04 08:23:29

ChatGPT?代碼開發(fā)

2024-06-12 12:57:12

2010-07-13 15:23:10

vsftpd

2021-03-14 22:14:55

代碼語法Java

2019-07-24 15:25:29

框架AI開發(fā)

2011-07-20 17:29:12

iPhone 網(wǎng)絡(luò)

2022-12-25 10:35:09

ChatGPTPython

2024-05-09 08:14:52

2023-06-02 13:19:15

模型AI

2023-04-28 14:03:16

ChatGPT工作任務(wù)

2013-07-27 21:04:58

2023-02-21 21:50:07

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩国产欧美在线观看 | 91高清视频在线 | 免费观看成人鲁鲁鲁鲁鲁视频 | 五月天天色| 91视频正在播放 | 国产一区二区三区网站 | 成人福利在线 | 精品欧美乱码久久久久久 | 国产精品久久久久久久久久久久 | 91亚洲国产 | 国内精品久久精品 | 天天夜天天操 | 亚洲欧美一区二区三区情侣bbw | 亚洲日本一区二区 | 在线成人免费视频 | 中文字幕视频在线观看免费 | 色综合久久伊人 | 国产一区二区三区www | 久久99国产精品 | 91精品国产高清一区二区三区 | 精品伊人| 国产精品视频一区二区三区四蜜臂 | 日韩中文字幕在线 | av性色 | 欧美13videosex性极品 | 在线观看国产三级 | 久久高清 | 欧美日本久久 | 精品国产99 | 亚洲欧美日韩成人在线 | 亚洲精品一区久久久久久 | 亚洲福利一区二区 | 久久久久亚洲 | 久久福利 | 国产成人精品久久二区二区91 | 欧美一卡二卡在线观看 | 日韩国产在线观看 | 亚洲福利 | 日韩毛片播放 | 超碰最新在线 | 欧美人人 |