220 likes | 339 Views
Adapting Wavelet Compression to Human Motion Capture Clips. Philippe Beaudoin 1 Pierre Poulin 1 Michiel van de Panne 2. 1 Universit é de Montréal, LIGUM 2 University of British Columbia, Imager. A need for compression?. Motion capture is very popular
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