当前位置: 首页 > article >正文

python监测人体姿势摔倒算法

通过mediapipe来获取人体关节点再分别通过重心下降检测(CGDD),身体倾斜检测(BTD)外形轮廓变形检测(CSDD)进行当前状态分析最后进行总体评估来分析是否摔倒!from collections import deque class CGDD:# def __init__(self, window_size7, threshold0.06): self.window_size window_size self.threshold threshold self.cog_history deque(maxlenwindow_size) def update(self, left_hip, right_hip): cog_y (left_hip[1] right_hip[1]) / 2 self.cog_history.append(cog_y) if len(self.cog_history) self.window_size: return False delta self.cog_history[-1] - self.cog_history[0] return delta self.thresholdimport math class BTD: def __init__(self, angle_threshold45): self.angle_threshold angle_threshold def calculate_angle(self, shoulder_mid, hip_mid): dx shoulder_mid[0] - hip_mid[0] dy hip_mid[1] - shoulder_mid[1] angle abs(math.degrees(math.atan2(dx, dy))) return angle def detect(self, shoulder_mid, hip_mid): angle self.calculate_angle(shoulder_mid, hip_mid) return angle self.angle_threshold, angleclass SCDD: def __init__(self, ratio_threshold0.9): self.ratio_threshold ratio_threshold def detect(self, landmarks): xs [lm[0] for lm in landmarks] ys [lm[1] for lm in landmarks] width max(xs) - min(xs) height max(ys) - min(ys) if height 0: return False, 0 ratio width / height return ratio self.ratio_threshold, ratioimport cv2 from pose_detector import PoseDetector from cgdd import CGDD from btd import BTD from scdd import SCDD from posture_state import PostureState import mediapipe as mp pose_detector PoseDetector() cgdd CGDD() btd BTD() scdd SCDD() posture PostureState() # cap cv2.VideoCapture(0) cap cv2.VideoCapture(这里传入是测试的视频当然你也可以改成摄像头播放流地址) while cap.isOpened(): ret, frame cap.read() if not ret: break result pose_detector.process(frame) if result.pose_landmarks: lm result.pose_landmarks.landmark l_hip (lm[mp.solutions.pose.PoseLandmark.LEFT_HIP].x, lm[mp.solutions.pose.PoseLandmark.LEFT_HIP].y) r_hip (lm[mp.solutions.pose.PoseLandmark.RIGHT_HIP].x, lm[mp.solutions.pose.PoseLandmark.RIGHT_HIP].y) l_sh (lm[mp.solutions.pose.PoseLandmark.LEFT_SHOULDER].x, lm[mp.solutions.pose.PoseLandmark.LEFT_SHOULDER].y) r_sh (lm[mp.solutions.pose.PoseLandmark.RIGHT_SHOULDER].x, lm[mp.solutions.pose.PoseLandmark.RIGHT_SHOULDER].y) shoulder_mid ((l_sh[0] r_sh[0]) / 2, (l_sh[1] r_sh[1]) / 2) hip_mid ((l_hip[0] r_hip[0]) / 2, (l_hip[1] r_hip[1]) / 2) cgdd_flag cgdd.update(l_hip, r_hip) btd_flag, angle btd.detect(shoulder_mid, hip_mid) scdd_flag, ratio scdd.detect([(lm[i].x, lm[i].y) for i in range(33)]) state posture.update((l_hip[1] r_hip[1]) / 2, angle) # print(cgdd_flag) # print(btd_flag) # print(scdd_flag) # print(state) if cgdd_flag True: cv2.putText(frame, CGDD, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 3) if btd_flag True: cv2.putText(frame, BTD, (60, 60), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 3) if scdd_flag True: cv2.putText(frame, SCDD, (100, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 3) if state FALLEN : cv2.putText(frame, STATE FALLEN, (120, 120), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 0), 3) pose_detector.draw(frame, result.pose_landmarks) cv2.imshow(Fall Detection, frame) if cv2.waitKey(1) 0xFF 27: break cap.release() cv2.destroyAllWindows()原作者开源地址https://github.com/hao-7835/Fall-detection-algorithm

相关文章:

python监测人体姿势摔倒算法

通过mediapipe来获取人体关节点,再分别通过重心下降检测(CGDD),身体倾斜检测(BTD),外形轮廓变形检测(CSDD)进行当前状态分析,最后进行总体评估来分析是否摔倒! from collections import dequeclass CGDD:# def __init__(self, window_size7, …...

为什么你的AI Agent总输出垃圾?因为你没装“技能插件”

最近三个月,我至少被问了20次同一个问题。“老师,我调了GPT-5,也用了Claude Code,为什么Agent做事还是乱七八糟?让它分析代码,它说一堆正确的废话。让它修Bug,它改出三个新Bug。Prompt改了几十版…...

Grasscutter Tools:原神私服玩家的终极桌面助手,告别复杂命令行

Grasscutter Tools:原神私服玩家的终极桌面助手,告别复杂命令行 【免费下载链接】grasscutter-tools A cross-platform client that combines launcher, command generation, and mod management to easily play Grasscutter; 一个结合了启动器、命令生成…...

通过用量看板清晰观测 Taotoken 上各模型的调用成本与消耗

通过用量看板清晰观测 Taotoken 上各模型的调用成本与消耗 1. 用量看板的入口与概览 Taotoken 控制台为每个账户提供了详细的用量看板功能,用户登录后可在左侧导航栏找到「用量统计」入口。该页面默认展示最近7天的调用数据概览,包括总消耗 token 数、…...

如何构建Windows任务栏图标居中解决方案的安全加固与自动化检测体系

如何构建Windows任务栏图标居中解决方案的安全加固与自动化检测体系 【免费下载链接】CenterTaskbar Center Windows Taskbar Icons 项目地址: https://gitcode.com/gh_mirrors/ce/CenterTaskbar 随着Windows系统任务栏管理需求的日益复杂化,任务栏图标居中工…...

Decompile逆向方法 Decompile2.1.0解锁会员教程

工具 MT管理器(看版本号选最新版本) NP管理器(看版本号选最新版本) Decompile(自行必应) 教程 一、准备 1.在mt/np管理器提取安装包/找到安装包位置 2.去除软件签名效验,mt管理器中直接点击,np管理器中优先用超强方案2(去签后能正常打…...

3个颠覆性策略:构建智能知识网络的全新指南

3个颠覆性策略:构建智能知识网络的全新指南 【免费下载链接】Obsidian-Templates A repository containing templates and scripts for #Obsidian to support the #Zettelkasten method for note-taking. 项目地址: https://gitcode.com/gh_mirrors/ob/Obsidian-T…...

你的QQ空间记忆,值得被永久珍藏:GetQzonehistory备份指南

你的QQ空间记忆,值得被永久珍藏:GetQzonehistory备份指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年你在QQ空间写下的第一条说说吗&#xff1f…...

从MP3到FLAC:你的音乐文件到底‘损失’了什么?一次搞懂音频压缩的取舍艺术

从MP3到FLAC:你的音乐文件到底‘损失’了什么?一次搞懂音频压缩的取舍艺术 每次打开音乐播放器,面对琳琅满目的音频格式选择——MP3、AAC、FLAC、WAV——你是否曾困惑过它们之间的本质区别?为什么同样一首歌,FLAC格式的…...

AutoDL云服务器+ Xinference部署实战:我把ChatGLM3、BGE大模型全家桶都塞进了Dify知识库

AutoDL云服务器Xinference部署实战:高性价比大模型知识库搭建指南 去年夏天,我接手了一个企业知识库升级项目,预算却只有大公司的零头。经过反复测试,终于摸索出一套在AutoDL云服务器上通过Xinference同时部署ChatGLM3对话模型、B…...

老外用 AI 日发100+条TK带货视频,推特40万人围观,我梳理了完整SOP并用Clipcat复现这套爆款复刻工作流

最近 X 上有个帖子彻底炸了。一个叫 MaverickEcom 的老外,发了一套 TikTok Shop 的 AI 内容工厂方法论,40 万 曝光,评论区全是 "这不是降维打击吗"。我花了两天把他的 YouTube 详解视频逐帧拆了一遍,说说我的理解&…...

别再凭感觉给MOS管栅极加电压了!手把手教你用数据手册选Vgs(附Excel计算模板)

MOS管栅极电压的科学选择:从数据手册到Excel量化决策 在硬件设计领域,MOS管栅极电压的选择往往被当作一种"经验艺术"——很多工程师习惯性地采用5V、10V这样的"标准值",或者简单地在阈值电压基础上加个固定值。这种凭感觉…...

在多轮对话场景下感受 Taotoken 聚合 API 的响应速度与连贯性

在多轮对话场景下感受 Taotoken 聚合 API 的响应速度与连贯性 1. 多轮对话的技术挑战 构建需要上下文保持的聊天应用时,开发者通常面临两个核心问题:模型对历史对话的理解能力,以及各轮次交互的响应速度。前者直接影响用户体验的连贯性&…...

Java程序员无高并发经验该如何破局?

现在Java面试,问的是越来越底层。作为一名合格的Java程序员不仅要能“上天”,还要能“入地”!上天是指高并发,缓存,大流量,大数据量,能在更高的层面解决问题,入地是指从JVM&#xff…...

对接 Claude Code 编程助手时配置 Taotoken 作为 API 提供商

对接 Claude Code 编程助手时配置 Taotoken 作为 API 提供商 1. 准备工作 在开始配置前,请确保已注册 Taotoken 账号并获取有效的 API Key。登录控制台后,可在「API 密钥管理」页面创建新密钥。同时,在「模型广场」查找 Claude 系列模型的 …...

告别模糊照片:用CBDNet训练你自己的手机照片去噪模型(PyTorch实战)

手机摄影爱好者的救星:用CBDNet打造个性化去噪模型的完整指南 每次翻看手机相册时,那些在昏暗餐厅、夜晚街头或是室内弱光环境下拍摄的照片是否总让你感到遗憾?噪点像一层挥之不去的薄雾,掩盖了本应清晰的细节。传统修图软件的去噪…...

从样品到量产:RK3568驱动ILI9881C MIPI屏,如何避免‘开机黑屏’的坑?

从样品到量产:RK3568驱动ILI9881C MIPI屏的工程实践与问题溯源 当一块MIPI屏幕从实验室样品走向批量生产时,工程师们往往会遇到一个令人头疼的现象:明明样品调试一切正常,量产时却出现开机只显示uboot logo后黑屏的问题。这种&quo…...

告别模拟信号:手把手教你用示波器解析汽车传感器SENT协议数据帧

告别模拟信号:手把手教你用示波器解析汽车传感器SENT协议数据帧 在汽车电子系统的调试现场,工程师们常常需要面对各种传感器信号的解析难题。当传统的模拟信号无法满足高精度需求时,SENT协议作为一种数字化的替代方案逐渐崭露头角。不同于CAN…...

别再只懂PCA了!用PyTorch从零搭建一个Auto-Encoder,实战图像去噪与数据压缩

别再只懂PCA了!用PyTorch从零搭建Auto-Encoder实战图像去噪与数据压缩 当你的MNIST手写数字被噪声淹没时,当你的高维数据让PCA力不从心时,是时候尝试一种更强大的非线性降维工具了。Auto-Encoder(自编码器)这个看似简单…...

DownKyi哔哩下载姬:解锁B站视频下载的5个隐藏功能与实战指南

DownKyi哔哩下载姬:解锁B站视频下载的5个隐藏功能与实战指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等…...

从‘海马’到‘小脑蚓部’:手把手教你用AAL模板在MRIcroGL里可视化你的脑激活图

从‘海马’到‘小脑蚓部’:手把手教你用AAL模板在MRIcroGL里可视化你的脑激活图 第一次看到fMRI数据分析结果时,那些彩色的激活簇就像夜空中的星座——美丽却难以解读。当.nii文件中的ANG.L或HIP.R缩写出现在论文中,你是否曾困惑这些代码究竟…...

高效智能的免费小说下载工具:novel-downloader终极解决方案

高效智能的免费小说下载工具:novel-downloader终极解决方案 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 在网络文学蓬勃发展的今天,如何永久保存喜爱的网络…...

告别盲猜:用Process Monitor给你的软件行为做一次“全身体检”(以Chrome/微信为例)

告别盲猜:用Process Monitor给你的软件行为做一次“全身体检”(以Chrome/微信为例) 你是否曾经好奇过,当你在电脑上双击一个软件图标时,它究竟在后台悄悄执行了哪些操作?为什么有些软件启动特别慢&#xff…...

Dante Cloud v4.0.6.0 版本发布:开源新功能,支持多架构灵活切换!

1. Dante Cloud v4.0.6.0 版本发布,有哪些亮点?国内首个同时支持阻塞式服务和响应式服务的、微服务版和单体版本可以无缝切换的 Dante Cloud v4.0.6.0 版本发布。为支持后续产品开发,继核心组件 Dante Engine 回归开源之后,该版本…...

终极指南:如何用xEdit快速清理和优化你的游戏Mod

终极指南:如何用xEdit快速清理和优化你的游戏Mod 【免费下载链接】TES5Edit xEdit by Elminster; Updated and maintained by Sharlikran, Zilav, and Hlp 项目地址: https://gitcode.com/gh_mirrors/te/TES5Edit xEdit是一款强大的游戏模组编辑器&#xff0…...

绝地求生终极压枪指南:5个技巧教你用罗技鼠标宏实现完美后坐力控制

绝地求生终极压枪指南:5个技巧教你用罗技鼠标宏实现完美后坐力控制 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 如果你正在寻找提…...

百万上下文之后,拼什么?

过去几天,科技圈的视线全被DeepSeek吸走了。满屏都是传闻中的估值溢价,或者是跟各类国产算力芯片的适配通稿。市场的狂热情绪,很容易让人迷失在庞大的数字迷宫里。大众的关注点,要么是“百万上下文"这个听起来很唬人的标签&a…...

大模型优化实战:LoRA与量化技术降低70亿参数模型显存需求

1. 大模型优化技术背景在深度学习模型规模不断膨胀的今天,如何让百亿参数级别的大模型真正落地应用,已经成为工业界和学术界共同关注的焦点问题。我最近在部署一个70亿参数的对话模型时,就深刻体会到了原始模型对计算资源的恐怖需求——单次推…...

物理知识点

⚙️ 经典力学(基础核心) • 质点运动学 • 参考系与位置矢量、位移 • 速度、加速度的矢量定义与导数表示 • 直角/自然/极坐标下运动分解 • 切向、法向加速度的物理意义 • 匀变速/抛体/圆周运动公式 • 伽利略速度变换(相对运动) • 质点动力学 • 牛顿三大定…...

手把手教你写一个Linux下的mdio调试工具(附完整C代码)

从零构建Linux MDIO调试工具:深入PHY寄存器操作实战 当你面对一块没有预装mii-tool或ethtool的嵌入式开发板,或者需要直接操作PHY芯片寄存器进行底层调试时,自己动手编写一个轻量级MDIO工具会成为解决问题的关键。本文将带你深入Linux内核的M…...