Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Motion-Sorting-System-

本系统旨在解决大规模 AMASS 动作捕捉数据集(.npz 格式)的分类难题。系统结合了基于物理特征的启发式规则分拣(前期)与基于深度学习的迭代自训练(Self-Training)(后期),实现了从海量杂乱数据到有序分类目录的自动化转化。

🚀 核心工作流 (Workflow)

整个系统的运作分为两个阶段:

阶段 1:启发式规则分拣 (classify_complete.py)

这是系统的前置工作。在模型还未训练时,通过物理公式提取动作特征。

  • 特征提取:分析水平速度 ()、关节活跃度 ()、高度变化 () 等 10 项物理指标。
  • 双重决策
  1. 关键词匹配:优先识别文件名中的 run, jump, sit 等关键词。
  2. 决策树分类:对无关键词文件,通过物理阈值(如 判定为地面动作)进行初步归类。
  • 作用:为阶段 2 提供高质量的“种子数据”(Labeled Data)。

阶段 2:神经网络迭代演化 (Deep Learning Iteration)

基于阶段 1 的成果,利用神经网络进行自监督学习(代码见前文交流)。

  • 动态阈值:从高置信度(0.98)开始,逐步收敛至 0.85。
  • 决策机制:引入 Margin (边缘检测)Sample Weighting (置信度加权),确保自动标注的准确性。
  • 虚拟系统:在 CSV 中记录状态,不物理移动原始文件,确保数据安全。

📊 训练监控 (Training Monitoring)

系统内置可视化监控,如下图所示: image

  • 左图 (Loss):展示了加权损失函数的收敛情况。曲线稳步下降,说明模型能有效吸收自动标注带来的新知识。
  • 右图 (Growth & Entropy)
  • 蓝线:展示了数据集的膨胀过程,从约 2000 个种子样本增长到 14000+ 个。
  • 绿线 (熵):监控类别的多样性,确保模型没有发生“模式塌陷”(即把所有数据都分给某一类)。

🛠️ 核心功能特性

  1. 零风险分拣:采用“虚拟索引”逻辑,仅在导出阶段进行物理复制,保护原始数据集。
  2. RAM 高速缓存:一次性将 .npz 特征载入内存,训练速度提升 20-50 倍。
  3. 多层递归搜索:支持任意深度的文件夹结构,自动识别路径中的类别关键词。
  4. 智能模糊匹配:忽略大小写,支持 Run, Running, tracking_run 等多种命名兼容。

🏃 如何运行

1. 环境准备

pip install numpy torch pandas tqdm matplotlib

2. 执行前置分拣

将原始散乱的 .npz 文件进行物理初筛:

python classify_complete.py
  • 该脚本会根据物理规则在 TARGET_DIR 生成最初的分类文件夹。

3. 启动 AI 迭代清洗

运行主清洗程序(cleaner_ultimate.py):

  • 模型会读取初筛结果作为种子,自动分拣剩余的 unlabeled 数据。
  • 训练完成后,输入 y 即可导出最终整齐的分类结果。

📂 导出结构示例

导出后的文件夹可直接用于后续算法训练或发给团队成员:

CLEANED_OUTPUT/
├── tracking_run/
│   ├── auto_0.99_subject1_run.npz
│   └── original_run_01.npz
├── tracking_jump/
│   └── ...
└── tracking_dance/
    └── ...


💡 开发者建议

  • 前置工作的重要性classify_complete.py 决定的“种子数据”质量直接影响 AI 的演化方向。如果发现某类分错了,请先调整该脚本中的物理阈值。
  • 导出检查:建议在导出后,对置信度较低(文件名中 auto_0.8x)的文件进行人工抽检。

系统能够做什么?

它可以将原本需要数周的人工标注工作,缩短为**“一键分拣 + 数小时机器运行”**。无论是同学协作还是科研实验,它都能为你提供最整洁的数据基础。

About

本系统旨在解决大规模 AMASS 动作捕捉数据集(.npz 格式)的分类难题。系统结合了基于物理特征的启发式规则分拣(前期)与基于深度学习的迭代自训练(Self-Training)(后期),实现了从海量杂乱数据到有序分类目录的自动化转化。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages