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

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

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

哈嘍,大家好。

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

圖片

圖片

大概分為三個步驟

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

項目源碼已經打包好了,獲取方式見文末。

0. chatgpt

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

圖片

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

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

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

所以,我覺得未來對程序員的要求會更加注重業務抽象的能力。扯遠了,言歸正傳。

1. 人體識別

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

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

2. 骨骼點識別

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

圖片

mediapipe 32個骨骼點

圖片

coco 17個骨骼點

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

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. 動作識別

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

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

圖片

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

圖片

時空圖

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

圖片

圖卷積

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

坑1. STGCN? 支持 OpenPose? 識別的骨骼點,有數據集Kinetics-skeleton?可以直接用??拥牡胤皆谟贠penPose安裝太麻煩,需要一堆步驟,掙扎后放棄。

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

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

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

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

圖片

mediapipe 32個骨骼點

圖片

選出14個關鍵骨骼點

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?原始方案構造的空間圖只支持openpose?18個骨骼點和NTU RGB+D數據集25個骨骼點

圖片

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

圖片

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

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

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

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

需要源碼的朋友留言區回復即可。

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

責任編輯:武曉燕 來源: 渡碼
相關推薦

2023-04-06 19:06:28

ChatGPT開發摔倒識別

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?代碼開發

2024-06-12 12:57:12

2021-03-14 22:14:55

代碼語法Java

2019-07-24 15:25:29

框架AI開發

2010-07-13 15:23:10

vsftpd

2022-12-25 10:35:09

ChatGPTPython

2011-07-20 17:29:12

iPhone 網絡

2024-05-09 08:14:52

2023-06-02 13:19:15

模型AI

2024-03-19 13:15:23

EAI 框架人體動作預測

2023-04-28 14:03:16

ChatGPT工作任務

2013-07-27 21:04:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久热伊人 | 99re国产视频 | 天天人人精品 | 亚洲成人一区二区 | 国产精品人人做人人爽 | 欧美日韩在线一区二区 | 91精品国产欧美一区二区 | 韩国主播午夜大尺度福利 | www.成人.com | 欧美一区二区在线播放 | 国产精品国产三级国产a | 美女啪啪国产 | 亚洲九九 | 91国在线观看 | 欧美一级免费看 | 午夜手机在线 | 日韩中文字幕在线观看 | www.久久 | 日韩精品一区二区三区 | 国产精品欧美一区二区三区不卡 | 亚洲欧美在线视频 | 日本三级日产三级国产三级 | 日韩欧美久久精品 | 精品伊人 | 久久精品无码一区二区三区 | 久久久国产亚洲精品 | 欧美在线小视频 | 久久久国产精品 | 久久精品视频免费观看 | 欧美日韩综合视频 | av黄色国产 | 日韩视频在线一区 | 亚洲精品久久久久久久久久久 | 欧美一区二区网站 | 国产日韩欧美在线观看 | 久久精品com| 亚洲精品免费看 | 久久久蜜桃一区二区人 | 国产精品九九九 | 免费看啪啪网站 | 请别相信他免费喜剧电影在线观看 |