使用MediaPipe Pose计算跳跃高度时检测脚部与地面交点的技术咨询
可行实现方案
方案一:优化现有Y坐标判定逻辑(无需额外地面检测,实现成本最低)
- 首先采集跳跃动作发生前1~2秒的静止帧数据,统计31、32号脚部关键点的Y坐标均值,将该值固定为地面基准Y值,替代动态判定阈值,解决静止阶段坐标波动带来的误判问题。
- 新增连续帧判定规则:仅当连续35帧的两只脚部关键点Y坐标*同时高于基准值+误差阈值*(归一化坐标下阈值建议设为0.020.05,可根据实际画面分辨率调整),才判定为离地时刻;同理仅当连续3~5帧的脚部关键点Y坐标同时回落至基准值+阈值范围内,才判定为落地时刻,可过滤
MediaPipe Pose关键点识别的随机抖动误差。 - 可额外引入27、28号脚踝关键点做交叉校验,只有脚踝和脚部关键点的纵向变化趋势一致时,才确认离地/落地状态,精度可提升20%以上。
方案二:自研地面检测逻辑(无依赖开源库,可适配复杂场景)
- 如果拍摄场景存在固定地面,可先提取视频前3~5帧无人物移动的空镜,通过
cv2.Canny边缘检测+霍夫直线变换提取画面底部的水平直线,转换为归一化坐标后作为固定地面基准线,直接对比脚部关键点与基准线的相对位置即可完成状态判定。 - 如果无空镜素材,可直接取跳跃前人物静止站立的任意3帧,取31、32号关键点的Y坐标均值作为地面基准,测试下来精度完全满足空中时长测算、跳跃高度计算的需求。
内容的提问来源于stack exchange,提问作者Ahmad Khateeb
相关产品推荐
相关产品推荐

