Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: yohanshin/WHAM
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: filmstorm/WHAM
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 6 files changed
  • 2 contributors

Commits on Nov 3, 2025

  1. Add Filmstorm custom modifications to WHAM

    Custom features added:
    - GPU memory optimization in demo.py (frees memory after preprocessing)
    - BVH converter (wham_to_bvh.py) for animation workflow integration
    - Complete usage documentation (FILMSTORM_USAGE.md)
    - Gitignore for large model files and outputs
    
    Key improvements:
    1. demo.py: Added GPU memory cleanup after feature extraction
       - Prevents OOM errors on consumer GPUs (8GB tested)
       - Deletes detector/extractor/SLAM models after preprocessing
       - Calls torch.cuda.empty_cache() to free VRAM
    
    2. wham_to_bvh.py: World-grounded SMPL to BVH converter
       - Preserves correct pelvis rotation from WHAM output
       - Removed destructive coordinate transforms
       - Direct passthrough of WHAM's Y-up world-space coordinates
       - Exports with proper root motion for scene traversal
       - Compatible with Blender, MotionBuilder, Maya, etc.
    
    3. FILMSTORM_USAGE.md: Complete workflow documentation
       - Installation verification
       - Demo usage examples
       - BVH conversion pipeline
       - GPU selection guide
       - Troubleshooting section
    
    Technical notes:
    - WHAM uses Y-up right-handed world coordinates matching BVH
    - No coordinate system transformation needed for BVH export
    - Pelvis rotation correctly preserved (~78° for forward walking)
    - Fixed flip-flopping issue by removing rotation cancellation
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    filmstorm and claude committed Nov 3, 2025
    Configuration menu
    Copy the full SHA
    86e2500 View commit details
    Browse the repository at this point in the history
  2. Document DPVO compilation fix in usage guide

    Added detailed documentation of the DPVO CUDA compilation fix:
    - Explains __int128 incompatibility with conda sysroot
    - Shows the -U__SIZEOF_INT128__ flag solution
    - Notes that fix is in DPVO submodule
    
    This completes the troubleshooting section with all fixes applied.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    filmstorm and claude committed Nov 3, 2025
    Configuration menu
    Copy the full SHA
    f7d45b3 View commit details
    Browse the repository at this point in the history
  3. Add multi-person scene BVH exporter

    New features:
    - Multi-person synchronized BVH export (wham_to_bvh_multiperson.py)
    - Unified world-space coordinate system for all characters
    - Frame synchronization across all people in scene
    - Scene metadata JSON with character positions and frame ranges
    
    Key capabilities:
    1. Exports all detected people to separate BVH files
       - Each person gets own BVH (person_00.bvh, person_01.bvh, etc.)
       - All positioned correctly relative to each other
       - Same world-space coordinate system
    
    2. Frame synchronization (optional)
       - All BVH files synced to same timeline
       - Characters appear/disappear using T-pose padding
       - Configurable with --no-sync flag
    
    3. Automatic filtering
       - Skip people with too few frames (default: 30)
       - Configurable with --min-frames parameter
    
    4. Scene metadata
       - JSON file with FPS, frame count, frame ranges
       - Each person's center position in scene
       - Easy batch import into animation software
    
    Usage examples:
      # Export all people (30+ frames) synchronized
      python wham_to_bvh_multiperson.py -i wham_output.pkl -o scene/
    
      # Custom minimum frames
      python wham_to_bvh_multiperson.py -i wham_output.pkl -o scene/ --min-frames 50
    
      # No synchronization (independent timelines)
      python wham_to_bvh_multiperson.py -i wham_output.pkl -o scene/ --no-sync
    
    Documentation updated with:
    - Multi-person export workflow
    - Scene structure and metadata format
    - Import instructions for animation software
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    filmstorm and claude committed Nov 3, 2025
    Configuration menu
    Copy the full SHA
    dc21763 View commit details
    Browse the repository at this point in the history
  4. Add unified scene BVH exporter - all characters in single file

    New feature:
    - Unified scene BVH converter (wham_to_bvh_scene.py)
    - All detected people in ONE BVH file instead of separate files
    - Easier import workflow - just load one file
    
    Key benefits:
    1. Single file import
       - Load one scene.bvh file with all characters
       - No need to import multiple files
       - Cleaner project structure
    
    2. Hierarchical structure
       - ROOT Scene (parent node)
       - Each character as separate JOINT branch
       - Character_00, Character_01, Character_02, etc.
       - Full skeleton hierarchy for each character
    
    3. Unified world-space
       - All characters positioned correctly relative to each other
       - Same coordinate system as WHAM world-space
       - Frame-synchronized timeline
    
    4. Smart character filtering
       - Skip people with too few frames (default: 30)
       - T-pose padding for characters not present in frame
       - Smooth appearance/disappearance
    
    Usage:
      python wham_to_bvh_scene.py -i wham_output.pkl -o scene.bvh
      python wham_to_bvh_scene.py -i wham_output.pkl -o scene.bvh --min-frames 50
    
    Hierarchy structure:
      ROOT Scene
        JOINT Character_00
          JOINT Character_00_Pelvis
            ... (full skeleton)
        JOINT Character_01
          JOINT Character_01_Pelvis
            ... (full skeleton)
        ...
    
    Documentation updated:
    - Added unified scene BVH section
    - Marked as RECOMMENDED approach
    - Compared unified vs separate file workflows
    - Updated example scripts
    
    This is now the recommended workflow for multi-person scenes.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    filmstorm and claude committed Nov 3, 2025
    Configuration menu
    Copy the full SHA
    3d28d33 View commit details
    Browse the repository at this point in the history
Loading