AIsnowboarding — 单板滑雪 AI 动作分析

This article is only available in Chinese for now. The interface is translated; the prose is still on the way.

用 AI + 物理量拆解单板滑雪动作。视频进 → 分析出:

  1. 骨架叠加视频(overlay.mp4)— 姿态骨架 + 实时物理量 HUD,直接当内容素材
  2. 指标曲线图(curves.png)— 体轴倾角 / 反弓 / 屈膝随时间变化,自动标出每个弯
  3. 逐弯数据表 + 中文报告(report.md / metrics.json)— 每个弯的倾角峰值、反弓、换刃速度、节奏对称性
  4. 峰值抓帧(peaks/*.jpg)— 每个弯最大倾角瞬间的注释截图,可做封面/对比图

使用

# 单个视频
.venv\Scripts\python.exe -m pipeline.analyze videos\alex\xxx.mp4 --outdir output\alex

# 按人批量(建基线库用 --no-video 提速,叠加视频做内容时再单独渲染)
.venv\Scripts\python.exe -m pipeline.analyze videos\alex --outdir output\alex --no-video
.venv\Scripts\python.exe -m pipeline.analyze videos\xuebao --outdir output\xuebao --no-video

# 汇总所有人的基线库 -> output/baseline.csv + baseline.md
.venv\Scripts\python.exe -m pipeline.aggregate

# 常用参数
#   --model yolo11s-pose.pt   用更大的模型(更准,更慢)
#   --rotate 90               手动旋转(手机竖拍横躺时)
#   --max-frames 300          只分析前 N 帧(快速试跑)
#   --no-video                只出数据和图,不渲染叠加视频
#   --force                   已分析过的也重跑

视频按人存放:videos/<rider>/(每folder有 _index.json 记录来源标题);结果在 output/<rider>/<视频名>/。torch 为 CUDA 版(RTX 1000 Ada)。

指标口径(视频版 = 几何与时序,诚实物理)

指标定义备注
体轴倾角髋中点→肩中点连线偏离铅垂线的角度(带符号)图像平面投影,机位在正前/正后方时最准
反弓(angulation)躯干轴倾角 − 腿轴倾角正值 = 躯干比腿更立,即反弓补偿
肩髋分离肩连线与髋连线的夹角视角相关,仅同机位对比有意义
屈膝角髋-膝-踝三点夹角(左右平均,180°=直立)
重心起伏髋中点到踝中点距离 / 全片中位腿长无量纲,加压/释压时序
换刃速度过零点处倾角变化率(°/s)每个弯的入弯干脆度
弯的切分倾角信号过零 + 幅值/时长滤波左倾/右倾按画面方向标注

视频测不了的(立刃角精确值、足底压力)留给传感器版(B 线),不假装能测。

项目路线(2026-08 定稿)

优先级 C > A > D > B

目录(2026-08-30 重整)

本项目位于 Desktop/ALEX/AIsnowboarding/Obsidian vault 根在上一级 Desktop/ALEX/, 个人笔记、其他项目与本项目笔记同在一个库里;所有命令仍在本目录(项目根)下运行。

滑雪动作库/        Obsidian 数据笔记(视频笔记/滑手页/总览/CSV),由 pipeline.export_obsidian 全量生成
docs/              项目文档(协议模板、内容脚本、战略),Obsidian 内可见
pipeline/          分析管线源码(Obsidian 已排除)
site/              生成的官网静态站点(Obsidian 已排除)
videos/<rider>/    原始视频按人存放,含 _index.json(Obsidian 已排除)
output/<rider>/    分析产物(Obsidian 已排除;vault 内嵌图是复制到 滑雪动作库/附件/ 的副本)
.venv/             Python 虚拟环境

ALEX 目录下的其他内容(与本项目无关):qixiuzhu/ 个人网站 · 学习/ 课程资料 · 农机出海/ 农机市场调研 · 笔记/ 零散笔记。

分析后同步到 Obsidian:.venv\Scripts\python.exe -m pipeline.export_obsidian(在项目根运行)