220 likes | 343 Vues
This paper explores an efficient wavelet compression technique tailored for human motion capture data. As the demand for motion capture technology surges, so does the need for effective data compression due to large data volumes generated. We introduce a method emphasizing small cache footprints, joint data access, and improved accuracy in motion representation. Through optimized coefficient selection and inverse kinematics corrections, we achieve significant compression ratios (up to 35:1) while maintaining high-quality pose fidelity. The technique allows rapid compression and decompression, facilitating real-time applications.
E N D
Adapting Wavelet Compression to Human Motion Capture Clips Philippe Beaudoin 1Pierre Poulin 1Michiel van de Panne 2 1 Université de Montréal, LIGUM2 University of British Columbia, Imager
A need for compression? • Motion capture is very popular • Motion capture rapidly produces huge collections of data • Escalating cost of the memory hierarchy (ie. Martin Walker talk) • Lossy compression Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
What is a good compression? • Depends on the application • We aim for: • Small cache footprint • Access to subset of joint data • Accurate foot placement • Independent motion clips • Best ratio may not be the target Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Which kind of compression? • Joint correlation • 2:1 up to 4:1 (PCA) • Joint + temporal coherence • Cannot access individual signals • 30:1 up to 35:1 [Arikan 06] • Temporal coherence alone • 35:1 (this work) • Access to subset of joint data • Low computational requirements Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Preliminary details… • A pose is… • Root position (3 signals) • Euler angles of joints (59 signals) • Motion is sampled at 120 hz • No preprocessing or format conversion before compression Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Standard wavelet compression • Cubic interpolating bi-orthogonal wavelet basis [Sweldens 98] • Not specially targeted to motion capture Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Standard wavelet compression • Wavelet transform 62 signals • Keep the largest coefficients from all the transformed signals • Yield vector wi (1 ≤ i ≤ 62) counting how many coefficients are kept for each signal Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Vector wi Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Optimized coefficient selection • wiminimizes RMS error in the DOF • Quality depends much more on positional distortion • Optimally redistribute coefficients? • Too costly! Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Optimized coefficient selection • Motion capture data is hierarchical • Build vector mi that favors some signals more than others • Fixed choice for mi? Bad! • Depends on complexity of signals • Depends on the poses Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Start withmi = wi Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Randomly select i reduce mi Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Find optimal j increase mj Repeat… Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Inverse kinematics correction • Problem: Noticeable sliding feet • Change distortion metric? • Assumption breaks down, difficult to find a good mi • Instead, add positional channels for the feet, use IK Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Inverse kinematics correction • Signals encode difference between compressed position and true feet position • Wavelet compress these signals independently Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Final details… • Quantize to 16 bits • Run-length encode 0s • Optionally use lempel-ziv independently on each clip Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Results • Tested on 1 sec. to 45 sec. clips • Compression ≈ 300 ms/frame • Decompression ≈ 30 μs/frame (no IK) ≈ 300 μs/frame (with IK) Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Video Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Conclusion • Tractable coefficient search space adapted to motion capture data • Fast decompression • Access to subset of joints • Independent clips • 35:1 compression ratio Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Future Work • Metric for perceived quality in a motion capture animation • Explore large-scale redundancies (see our technical report) • Level-of-detail streaming Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007
Questions? Adapting Wavelet Compression to Human Motion Capture ClipsBeaudoin, Poulin, van de Panne – Graphics Interface 2007