|
--- |
|
title: Optical Motion Capture AI |
|
sdk: docker |
|
app_port: 7860 |
|
app_file: app.py |
|
--- |
|
|
|
# mocap-ai |
|
Functionality to load FBX files, extract animation, process the animation and write it back to the file. |
|
|
|
# Classifier |
|
* Globals: file with hardcoded values like the marker names. |
|
* Utilities: |
|
* Visualizations |
|
* FBX Handler: |
|
* Load the `.fbx` file. |
|
* Go through each frame in the animation frame range and check if all skeleton nodes have a keyframe there. |
|
* If a keyframe is missing, remove that frame number from the valid frame numbers. |
|
* After finding all valid frames, go through all marker translation channels and store the global transform in a `pandas` DataFrame. |
|
* Add the actor numbers as categorical variables. |
|
* Save the DataFrame to a `.csv` file. |
|
* Inference file loader |
|
* Same as training file loader, but this one should process all frames regardless of keyframe presence. |
|
* Data augmentation: |
|
* Isolate a marker set. |
|
* Translate and rotate (optionally scale) with boundary check. |
|
* Model builder: |
|
* Instantiate a model with various hyperparameters. |
|
* Training loop: |
|
* Train given model with callbacks. |
|
* Test loop: |
|
* Validate model on validation/test data. |
|
* Development script: |
|
* Create new model, train it and test it. |
|
* Deployment script: |
|
* Deploys the model in a Docker image on HuggingFace. |
|
|
|
|
|
## References: |
|
1. PointNet: |
|
- Research paper: Qi, Charles R., et al. "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation." CVPR. 2017. [arXiv:1612.00593](https://arxiv.org/abs/1612.00593) |
|
- Official code repository (TensorFlow): https://github.com/charlesq34/pointnet |
|
- Official code repository (PyTorch): https://github.com/fxia22/pointnet.pytorch |
|
2. PointNet++: |
|
- Research paper: Qi, Charles R., et al. "PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space." NeurIPS. 2017. [arXiv:1706.02413](https://arxiv.org/abs/1706.02413) |
|
- Official code repository (TensorFlow): https://github.com/charlesq34/pointnet2 |
|
- Official code repository (PyTorch): https://github.com/erikwijmans/Pointnet2_PyTorch |
|
3. DGCNN: |
|
- Research paper: Wang, Yue, et al. "Dynamic Graph CNN for Learning on Point Clouds." ACM Transactions on Graphics (TOG) 38.5 (2019): 1-12. [arXiv:1801.07829](https://arxiv.org/abs/1801.07829) |
|
- Official code repository (TensorFlow): https://github.com/WangYueFt/dgcnn |
|
- Official code repository (PyTorch): https://github.com/muhanzhang/DGCNN |