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

MediaPipe Pose实战应用:人体骨骼关键点检测,从图片到可视化全流程

MediaPipe Pose实战应用人体骨骼关键点检测从图片到可视化全流程1. 项目背景与技术优势想象一下这样的场景健身房里的智能镜实时纠正你的瑜伽姿势康复中心通过摄像头分析患者的步态异常动画工作室无需动作捕捉设备就能让虚拟角色模仿真人动作——这些应用的背后都离不开一项关键技术高精度人体骨骼关键点检测。而Google的MediaPipe Pose正是这一领域的佼佼者。MediaPipe Pose是一个轻量级但功能强大的姿态估计解决方案它能从单目RGB图像中检测出人体的33个3D关键点包括面部特征点、四肢关节和躯干中心点。与传统的OpenPose等方案相比它具有三大核心优势极速推理专为CPU优化单张图片处理仅需毫秒级无需GPU加速高鲁棒性对复杂动作如交叉手臂、背对镜头有出色识别能力零配置部署模型内置于Python包中无需额外下载或联网验证2. 环境准备与快速部署2.1 安装依赖只需一行命令即可安装MediaPipe核心库pip install mediapipe2.2 基础代码框架下面是最简化的检测代码框架import cv2 import mediapipe as mp # 初始化MediaPipe Pose组件 mp_pose mp.solutions.pose pose mp_pose.Pose(static_image_modeTrue) # 设置为图片模式 mp_drawing mp.solutions.drawing_utils # 绘图工具3. 完整检测流程解析3.1 图像预处理MediaPipe Pose对输入图像有特定要求# 读取并转换图像格式 image cv2.imread(input.jpg) image_rgb cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 转为RGB格式 image_height, image_width, _ image.shape3.2 关键点检测执行检测并获取结果results pose.process(image_rgb) if results.pose_landmarks: # 检测到人体 landmarks results.pose_landmarks.landmark print(f检测到{len(landmarks)}个关键点)3.3 可视化渲染MediaPipe提供了内置的可视化工具# 在原图上绘制骨骼连线 annotated_image image.copy() mp_drawing.draw_landmarks( annotated_image, results.pose_landmarks, mp_pose.POSE_CONNECTIONS, landmark_drawing_specmp_drawing.DrawingSpec(color(255,0,0), thickness2), connection_drawing_specmp_drawing.DrawingSpec(color(0,255,0), thickness2) ) # 保存结果 cv2.imwrite(output.jpg, annotated_image)4. 关键点数据深度解析4.1 关键点索引与含义MediaPipe Pose的33个关键点有明确的索引定义索引身体部位索引身体部位0鼻子16右眼内角11左肩12右肩23左髋24右髋25左膝26右膝4.2 坐标系统解读每个关键点包含三个重要属性landmark results.pose_landmarks.landmark[0] # 以鼻子关键点为例 print(fX坐标: {landmark.x}) # 归一化坐标(0-1) print(fY坐标: {landmark.y}) # 归一化坐标(0-1) print(fZ坐标: {landmark.z}) # 相对深度(数值越小越靠近相机)5. 实战应用案例5.1 健身动作分析通过计算关节角度评估动作标准度def calculate_angle(a, b, c): # 计算三个关键点形成的角度 ba [a.x-b.x, a.y-b.y] bc [c.x-b.x, c.y-b.y] cosine_angle (ba[0]*bc[0] ba[1]*bc[1]) / ( math.sqrt(ba[0]**2 ba[1]**2) * math.sqrt(bc[0]**2 bc[1]**2)) return math.degrees(math.acos(cosine_angle)) # 计算肘部角度 shoulder landmarks[mp_pose.PoseLandmark.LEFT_SHOULDER.value] elbow landmarks[mp_pose.PoseLandmark.LEFT_ELBOW.value] wrist landmarks[mp_pose.PoseLandmark.LEFT_WRIST.value] angle calculate_angle(shoulder, elbow, wrist) print(f左肘角度: {angle:.1f}°)5.2 多人场景处理MediaPipe Pose也支持多人检测# 修改初始化参数 pose mp_pose.Pose( static_image_modeTrue, model_complexity2, # 使用更复杂的模型 enable_segmentationTrue, # 启用分割掩码 min_detection_confidence0.5 )6. 性能优化技巧6.1 参数调优建议根据场景调整关键参数参数推荐值说明static_image_modeFalse(视频)/True(图片)视频流设为False提升速度model_complexity0-2数值越大精度越高但速度越慢min_detection_confidence0.5-0.8过滤低置信度检测6.2 实时视频处理视频流处理示例cap cv2.VideoCapture(0) # 摄像头输入 pose mp_pose.Pose(static_image_modeFalse) # 设为视频模式 while cap.isOpened(): success, frame cap.read() if not success: break # 处理帧 frame_rgb cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) results pose.process(frame_rgb) # 渲染结果 if results.pose_landmarks: mp_drawing.draw_landmarks( frame, results.pose_landmarks, mp_pose.POSE_CONNECTIONS) cv2.imshow(MediaPipe Pose, frame) if cv2.waitKey(1) ord(q): break cap.release()7. 总结与展望MediaPipe Pose提供了一个高效、易用的人体姿态估计解决方案。通过本文的实践指南我们实现了从单张图片到实时视频的完整骨骼关键点检测流程。这项技术正在多个领域展现出巨大潜力健身健康实时动作纠正与运动分析医疗康复步态分析与姿势评估娱乐创作低成本动作捕捉方案安防监控异常行为检测未来随着模型的持续优化我们期待看到更多创新的应用场景。对于开发者而言MediaPipe Pose的低门槛特性使得快速原型开发成为可能为计算机视觉应用开辟了新的可能性。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

MediaPipe Pose实战应用:人体骨骼关键点检测,从图片到可视化全流程

MediaPipe Pose实战应用:人体骨骼关键点检测,从图片到可视化全流程 1. 项目背景与技术优势 想象一下这样的场景:健身房里的智能镜实时纠正你的瑜伽姿势,康复中心通过摄像头分析患者的步态异常,动画工作室无需动作捕捉…...

FreeRTOS临界区避坑指南:taskENTER_CRITICAL()用不对,你的系统可能随时崩溃

FreeRTOS临界区避坑指南:taskENTER_CRITICAL()用不对,你的系统可能随时崩溃 调试嵌入式系统时最令人抓狂的瞬间,往往是那些看似毫无规律的随机崩溃——比如某个传感器数据偶尔错位、系统突然卡死、或是中断服务程序莫名丢失事件。上周我就遇到…...

[特殊字符] OpenClaw v2.6.4 一键部署指南:5分钟让AI接管你的电脑(保姆级教程)

&#x1f525; 重点提示&#xff1a;本文提供的安装包已内置28万Tokens额度&#xff0c;<span style"color:#ff6b6b"> &#x1f4be; 最新版下载&#xff1a;&#x1f449; 点击获取 OpenClaw v2.6.4 一键安装包 &#x1f4cb; 环境要求 项目要求操作系统Wind…...

Lovable开发平台,生成安卓和iOS都能运行的原生App方案(用Kotlin或者Switf编写)

Lovable 核心生成的是 Web 应用&#xff08;React Supabase&#xff09;&#xff0c;它本身不直接编写纯原生的 Kotlin 或 Swift 代码。 不过&#xff0c;它通过 Capacitor 这个桥接框架实现了"一套代码&#xff0c;两端运行"的折中方案&#xff1a; &#x1f6e0;️…...

终极指南:5分钟掌握ComfyUI-BiRefNet-ZHO,轻松实现专业级图像视频抠图

终极指南&#xff1a;5分钟掌握ComfyUI-BiRefNet-ZHO&#xff0c;轻松实现专业级图像视频抠图 【免费下载链接】ComfyUI-BiRefNet-ZHO Better version for BiRefNet in ComfyUI | Both img & video 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BiRefNet-ZHO …...

面向星上实时处理的银河飞腾多核DSP与FPGA异构计算平台构建

1. 银河飞腾DSP与FPGA异构计算平台概述 在卫星载荷这种特殊应用场景下&#xff0c;传统的通用处理器往往难以满足实时性、可靠性和低功耗的多重要求。我参与过多个航天项目&#xff0c;深刻体会到国产化异构计算平台的重要性。银河飞腾多核DSP搭配FPGA的方案&#xff0c;正好能…...

B站视频下载神器:三步搞定高清视频与音频永久收藏

B站视频下载神器&#xff1a;三步搞定高清视频与音频永久收藏 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/Bi…...

告别SD卡!用闲置的香橙派Zero给树莓派4B做网络启动服务器(保姆级配置)

用香橙派Zero打造树莓派4B网络启动服务器&#xff1a;极简硬件的高阶玩法 手里闲置的香橙派Zero开发板除了吃灰还能做什么&#xff1f;今天我们来解锁一个硬核玩法——将它改造成树莓派4B的网络启动服务器。这种配置不仅能让你彻底告别SD卡&#xff0c;还能实现多台树莓派的集中…...

2025届最火的AI写作助手实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 一种借助自然语言处理技术的智能工具&#xff0c;是 AI 写作软件&#xff0c;它能够帮用户迅…...

如何智能配置系统防休眠:Move Mouse实战指南与高效方案

如何智能配置系统防休眠&#xff1a;Move Mouse实战指南与高效方案 【免费下载链接】movemouse Move Mouse is a simple piece of software that is designed to simulate user activity. 项目地址: https://gitcode.com/gh_mirrors/mo/movemouse 你是否曾在远程会议中短…...

别再对着HDF5文件发愁了!用Matlab读取gprMax的out文件,这份保姆级教程帮你搞定

从零掌握gprMax仿真数据&#xff1a;Matlab解析HDF5格式的完整实战指南 地质雷达仿真数据处理的第一个拦路虎&#xff0c;往往是那个神秘的.out文件。作为gprMax软件的输出结果&#xff0c;它采用HDF5格式存储&#xff0c;这种结构化的数据容器虽然高效&#xff0c;却让不少初学…...

别再被XML命名空间坑了!手把手教你用JAXB解析带命名空间的XML(附完整代码)

深度解析JAXB处理XML命名空间的五种实战方案 金融报文、Web服务响应、企业级数据交换——在这些需要处理标准化XML格式的场景中&#xff0c;命名空间就像一把双刃剑。它本是为了解决元素命名冲突而设计&#xff0c;却常常成为Java开发者使用JAXB解析时的"拦路虎"。当…...

从‘记账本’到‘智能合约’:手把手教你用Remix IDE部署第一个私有链Demo

从‘记账本’到‘智能合约’&#xff1a;手把手教你用Remix IDE部署第一个私有链Demo 区块链技术正在重塑数字世界的信任机制&#xff0c;而智能合约作为其核心应用之一&#xff0c;已经渗透到金融、供应链、版权管理等众多领域。对于开发者而言&#xff0c;理解区块链原理固然…...

新手入门不迷路:我花一周整理的神经网络工作原理通俗笔记,看完就能懂

引言 不知道有没有和我当初一样的朋友&#xff0c;刚接触深度学习的时候&#xff0c;信心满满翻开《深度学习》花书&#xff0c;刚看了两章神经元&#xff0c;满页的偏导、矩阵乘法直接给我干懵了。合上书脑子里就一个想法&#xff1a;神经网络这玩意儿是不是给天才准备的&…...

别再死磕‘Solving environment: failed’了!手把手教你配置Conda的.condarc文件(附清华/中科大源完整配置)

深度解析Conda环境配置&#xff1a;从原理到实践的.condarc文件终极指南 当你在终端看到"Solving environment: failed"这个刺眼的红色报错时&#xff0c;是否感到一阵无力&#xff1f;作为Python开发者&#xff0c;我们或多或少都经历过这种挫败感——明明按照教程…...

告别手动转换!用MyBatis TypeHandler优雅处理MySQL 8.0的JSON字段(附完整Spring Boot配置)

告别手动转换&#xff01;用MyBatis TypeHandler优雅处理MySQL 8.0的JSON字段&#xff08;附完整Spring Boot配置&#xff09; 在Spring Boot项目中处理MySQL的JSON字段时&#xff0c;开发者常常陷入手动序列化/反序列化的繁琐操作中。本文将带你彻底摆脱这种低效模式&#xf…...

从零搭建你的第一个“家庭网络实验室”:ENSP + 虚拟PC + 云设备实战指南

从零搭建你的第一个“家庭网络实验室”&#xff1a;ENSP 虚拟PC 云设备实战指南 在卧室里复现企业级网络拓扑&#xff1f;用一台笔记本电脑模拟智能家居的完整数据流转&#xff1f;这不是科幻场景&#xff0c;而是每位网络技术爱好者都能实现的低成本学习方案。本文将手把手带…...

别再手动输单号了!用Python的reportlab库5分钟搞定Code128条形码批量生成

用Python的reportlab库5分钟实现Code128条形码批量生成 每次月底盘点时&#xff0c;行政部的李姐总要加班到深夜——她需要手动将3000多个资产编号逐个输入到标签打印系统。直到上个月&#xff0c;隔壁IT部门的小张用20行Python代码帮她解决了这个问题。现在&#xff0c;只需运…...

从MATLAB到FPGA:手把手教你用Verilog在Vivado里实现SVPWM(附死区时间配置)

从MATLAB到FPGA&#xff1a;SVPWM算法在Vivado中的Verilog实现全解析 在电机控制领域&#xff0c;空间矢量脉宽调制&#xff08;SVPWM&#xff09;技术因其电压利用率高、谐波含量低等优势&#xff0c;已成为变频驱动系统的核心算法。对于已经掌握MATLAB仿真的工程师而言&#…...

3步搞定顽固窗口:WindowResizer 窗口强制调整工具完全指南

3步搞定顽固窗口&#xff1a;WindowResizer 窗口强制调整工具完全指南 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否遇到过那些无法正常拖拽大小的应用程序窗口&#xff1…...

VisualCppRedist AIO终极指南:一键解决Windows运行库缺失问题

VisualCppRedist AIO终极指南&#xff1a;一键解决Windows运行库缺失问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist VisualCppRedist AIO是一个革命性的Win…...

告别啸叫与发热!手把手教你搞定DC-DC电源PCB布局(附Buck电路实战避坑清单)

告别啸叫与发热&#xff01;手把手教你搞定DC-DC电源PCB布局&#xff08;附Buck电路实战避坑清单&#xff09; 在硬件工程师的日常工作中&#xff0c;DC-DC电源模块的设计总是让人又爱又恨。高效的电源转换性能背后&#xff0c;往往隐藏着各种"暗坑"——莫名其妙的啸…...

别再手动翻页了!Jupyter Notebook 一键生成目录的保姆级教程(含豆瓣源加速)

解放生产力&#xff1a;Jupyter Notebook智能目录生成全攻略 在数据分析的日常工作中&#xff0c;我们常常需要处理包含数十个代码块和Markdown章节的复杂笔记本。想象一下这样的场景&#xff1a;当你需要回顾三个月前做的市场分析报告时&#xff0c;面对一个滚动条细如发丝的.…...

惊艳展示!CYBER-VISION零号协议实时分割效果:盲道、行人、车辆精准识别

惊艳展示&#xff01;CYBER-VISION零号协议实时分割效果&#xff1a;盲道、行人、车辆精准识别 1. 视觉革命&#xff1a;当AI遇见助盲科技 在熙攘的城市街道上&#xff0c;视障人士的每一次出行都是一场充满未知的挑战。传统的盲杖只能探测到脚边的障碍&#xff0c;而CYBER-V…...

免费QQ空间备份神器:一键导出所有说说记录,永久保存青春记忆

免费QQ空间备份神器&#xff1a;一键导出所有说说记录&#xff0c;永久保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年你在QQ空间留下的青春印记吗&#xff1…...

告别MATLAB环境:保姆级教程教你用App Designer打包独立EXE(含Runtime配置避坑)

MATLAB App Designer应用打包实战&#xff1a;从开发到分发的全流程指南 在工程计算和科研领域&#xff0c;MATLAB一直是不可或缺的工具。随着App Designer的推出&#xff0c;开发交互式GUI应用变得前所未有的简单。但当你完成了一个优秀的应用后&#xff0c;如何让没有MATLAB环…...

WechatRealFriends技术指南:微信好友关系检测原理与系统化操作流程

WechatRealFriends技术指南&#xff1a;微信好友关系检测原理与系统化操作流程 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRea…...

从周期到成长:中国巨石如何成为AI材料基础设施核心?

4月15日晚间&#xff0c;中国巨石披露2026年一季度业绩预告&#xff0c;预计归母净利润11.69亿元至13.15亿元&#xff0c;同比增长60%至80%&#xff1b;扣非净利润同样增长60%至80%。如果仅从数字看&#xff0c;这是一个典型的高增长季度&#xff0c;但更重要的问题是&#xff…...

PyQt5-tools安装总失败?可能是你的Python版本和系统环境在‘打架’(附兼容性自查清单)

PyQt5-tools安装失败深度排查&#xff1a;环境兼容性全景解决方案 当你在终端看到那个刺眼的红色报错——"Could not find a version that satisfies the requirement pyqt5-tools"时&#xff0c;可能已经尝试了更换镜像源、添加信任主机参数等常规操作。但问题依旧存…...

MATLAB新手也能懂:用Jakes模型仿真120km/h车速下的瑞利信道(附完整代码)

MATLAB实战&#xff1a;用Jakes模型仿真120km/h车速下的瑞利信道&#xff08;附完整代码解析&#xff09; 当你的手机在高速行驶的列车上突然断网&#xff0c;或是车载导航在隧道中信号飘忽不定时&#xff0c;背后都是瑞利衰落信道在"作怪"。今天我们将用MATLAB还原…...