Noise Reduction in Human Motion-Captured Signals for Computer Animation based on B-Spline Filtering
<p>(<b>a</b>) The experimental true sine signal of frequency 1 and (<b>b</b>) the sine signal with randomly generated noise added.</p> "> Figure 2
<p>The output of the moving average filter with the ground-truth sine signal for comparison using (<b>a</b>) an asymmetric window of size 2, (<b>b</b>) an asymmetric window of size 3, (<b>c</b>) a symmetric window of size 3, and (<b>d</b>) a symmetric window of size 5.</p> "> Figure 3
<p>The output of the B-spline filter with the ground-truth sine signal for comparison using (<b>a</b>) 500, (<b>b</b>) 200, (<b>c</b>) 100, and (<b>d</b>) 50 control points.</p> "> Figure 4
<p>The output of the Kalman filter with the ground-truth sine signal for comparison using (<b>a</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.01 and (<b>b</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.02.</p> "> Figure 5
<p>Original noisy motion signal from channel 1 of the root-joint of the kicking character versus the smoothed signal via the moving average filter using (<b>a</b>) an asymmetric window of size 2, (<b>b</b>) an asymmetric window of size 3, (<b>c</b>) a symmetric window of size 3, and (<b>d</b>) a symmetric window of size 5.</p> "> Figure 6
<p>Original noisy motion signal from channel 3 of the root-joint of the kicking character versus the smoothed signal via the moving average filter using (<b>a</b>) an asymmetric window of size 2, (<b>b</b>) an asymmetric window of size 3, (<b>c</b>) a symmetric window of size 3, and (<b>d</b>) a symmetric window of size 5.</p> "> Figure 6 Cont.
<p>Original noisy motion signal from channel 3 of the root-joint of the kicking character versus the smoothed signal via the moving average filter using (<b>a</b>) an asymmetric window of size 2, (<b>b</b>) an asymmetric window of size 3, (<b>c</b>) a symmetric window of size 3, and (<b>d</b>) a symmetric window of size 5.</p> "> Figure 7
<p>Percentages of relative difference for smoothness gained for the selected root-joint signals of the kicking character using the moving average filter with symmetric and asymmetric averaging windows of different sizes.</p> "> Figure 8
<p>Original noisy motion signal from channel 1 of the root-joint of the kicking character versus the smoothed signal via B-spline smoothing using (<b>a</b>) 598, (<b>b</b>) 100, (<b>c</b>) 50, and (<b>d</b>) 25 control points.</p> "> Figure 8 Cont.
<p>Original noisy motion signal from channel 1 of the root-joint of the kicking character versus the smoothed signal via B-spline smoothing using (<b>a</b>) 598, (<b>b</b>) 100, (<b>c</b>) 50, and (<b>d</b>) 25 control points.</p> "> Figure 9
<p>Original noisy motion signal from channel 3 of the root-joint of the kicking character versus the smoothed signal via B-spline smoothing using (<b>a</b>) 598, (<b>b</b>) 100, (<b>c</b>) 50, and (<b>d</b>) 25 control points.</p> "> Figure 10
<p>Original noisy motion signal from channel 1 of the root-joint of the kicking character versus the smoothed signal via the Kalman filter using (<b>a</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.005, (<b>b</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.01 and (<b>c</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.02.</p> "> Figure 11
<p>Original noisy motion signal from channel 3 of the root-joint of the kicking character versus the smoothed signal via the Kalman filter using (<b>a</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.005, (<b>b</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.01 and (<b>c</b>) <math display="inline"><semantics> <mrow> <msub> <mi>E</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>a</mi> </mrow> </msub> </mrow> </semantics></math> = 0.02.</p> ">
Abstract
:1. Introduction
2. Materials and Methods
2.1. Moving Average Filtering
2.2. B-Spline Smoothing
2.3. Kalman Filter
2.4. Research Method
3. Results
3.1. Simulated Noisy Sine Signal
3.2. Real Motion Signals
4. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Menolotto, M.; Komaris, D.-S.; Tedesco, S.; O’Flynn, B.; Walsh, M. Motion capture technology in industrial applications: A systematic review. Sensors 2020, 20, 5687. [Google Scholar] [CrossRef] [PubMed]
- Aminian, K.; Najafi, B. Capturing human motion using body-fixed sensors: Outdoor measurement and clinical applications. Comput. Animat. Virt. Worlds 2004, 15, 79–94. [Google Scholar] [CrossRef]
- Agarwal, A.; Triggs, B. Monocular human motion capture with a mixture of regressors. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05)—Workshops, San Diego, CA, USA, 21–23 September 2005; p. 72. [Google Scholar]
- Herda, L.; Fua, P.; Plankers, R.; Boulic, R.; Thalmann, D. Skeleton-based motion capture for robust reconstruction of human motion. In Proceedings of the Computer Animation 2000, Philadelphia, PA, USA, 3–5 May 2000; IEEE Computer Society: Philadelphia, PA, USA, 2000; pp. 77–83. [Google Scholar]
- Gall, J.; Stoll, C.; de Aguiar, E.; Theobalt, C.; Rosenhahn, B.; Seidel, H.-P. Motion capture using joint skeleton tracking and surface estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Miami, FL, USA, 20–25 June 2009; IEEE: Miami, FL, USA, 2009; pp. 1746–1753. [Google Scholar]
- Moeslund, T.B.; Hilton, A.; Krüger, V. A survey of advances in vision-based human motion capture and analysis. Comput. Vis. Image Underst. 2006, 104, 90–126. [Google Scholar] [CrossRef]
- Pfister, A.; West, A.M.; Bronner, S.; Noah, J.A. Comparative abilities of Microsoft Kinect and Vicon 3D motion capture for gait analysis. J. Med. Eng. Technol. 2014, 38, 274–280. [Google Scholar] [CrossRef] [PubMed]
- Wang, Q. Computational models for multiview dense dynamic scene depth maps. IEEE COMSOC MMTC E Lett. 2015, 10, 16–19. [Google Scholar]
- Shotton, J.; Fitzgibbon, A.; Cook, M.; Sharp, T.; Finocchio, M.; Moore, R.; Kipman, A.; Blake, A. Real-time human pose recognition in parts from single depth images. In Proceedings of the CVPR 2011, Colorado Springs, CO, USA, 20–25 June 2011; pp. 1297–1304. [Google Scholar]
- Ren, Z.; Yuan, J.; Meng, J.; Zhang, Z. Robust part-based hand gesture recognition using Kinect sensor. IEEE T. Multimed. 2013, 15, 1110–1120. [Google Scholar] [CrossRef]
- Chatzitofis, A.; Zarpalas, D.; Kollias, S.; Daras, P. DeepMoCap: Deep optical motion capture using multiple depth sensors and retro-reflectors. Sensors 2019, 19, 282. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Marin, J.; Blanco, T.; Marin, J.J. Octopus: A design methodology for motion capture wearables. Sensors 2017, 17, 1875. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Savitzky, A.; Golay, M.J. Smoothing and differentiation of data by simplified least squares procedures. Anal. Chem. 1964, 36, 1627–1639. [Google Scholar] [CrossRef]
- Eilers, P.H.; Marx, B.D. Flexible smoothing with B-splines and penalties. Stat. Sci. 1996, 11, 89–121. [Google Scholar] [CrossRef]
- Eilers, P.H. A perfect smoother. Anal. Chem. 2003, 75, 3631–3636. [Google Scholar] [CrossRef] [PubMed]
- Hsieh, C.C. B-spline wavelet-based motion smoothing. Comput. Ind. Eng. 2001, 41, 59–76. [Google Scholar] [CrossRef]
- Qi, J.; Miao, Z.; Zhang, S. Several methods of smoothing motion capture data. In Proceedings of the Third International Conference on Digital Image Processing (ICDIP 2011), Chengdu, China, 8 July 2011; Volume 8009, p. 80091E. [Google Scholar]
- Lou, H.; Chai, J. Example-based human motion denoising. IEEE T. Vis. Comput. Gr. 2010, 16, 870–879. [Google Scholar] [CrossRef] [PubMed]
- Bruderlin, A.; Williams, L. Motion signal processing. In Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH95), 6–11 August 1995; pp. 97–104. [Google Scholar]
- Voulodimos, A.; Rallis, I.; Doulamis, N. Physics-based keyframe selection for human motion summarization. Multimed. Tools Appl. 2020, 79, 3243–3259. [Google Scholar] [CrossRef]
- Unser, M. Splines: A perfect fit for signal and image processing. IEEE Signal Process. Mag. 1999, 16, 22–38. [Google Scholar] [CrossRef] [Green Version]
- Thévenaz, P.; Blu, T.; Unser, M. Interpolation revisited. IEEE Trans. Med. Imaging 2000, 19, 739–758. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Maybeck, P.S. The Kalman filter: An introduction to concepts. In Autonomous Robot Vehicles; Cox, I.J., Wilfong, G.T., Eds.; Springer: New York, NY, USA, 1990; pp. 194–204. [Google Scholar]
- Carnegie Mellon University. CMU Graphics Lab Motion Capture Database. Available online: http://mocap.cs.cmu.edu (accessed on 9 February 2022).
* WT | # WS | SM10 | SM20 | SM11 | SM21 | %SM1 | %SM2 |
---|---|---|---|---|---|---|---|
asym. | 2 | 64.87 | 19.08 | 28.12 | 2.64 | 56.65 | 86.17 |
asym. | 3 | 64.87 | 19.08 | 20.29 | 1.67 | 68.73 | 91.25 |
sym. | 3 | 64.87 | 19.08 | 23.14 | 1.15 | 64.33 | 93.97 |
sym. | 5 | 64.87 | 19.08 | 15.48 | 0.56 | 76.14 | 97.07 |
* No. CP | SM10 | SM20 | SM11 | SM21 | %SM1 | %SM2 |
---|---|---|---|---|---|---|
500 | 64.87 | 19.08 | 23.06 | 0.88 | 64.46 | 95.38 |
200 | 64.87 | 19.08 | 9.47 | 0.03 | 85.39 | 99.83 |
100 | 64.87 | 19.08 | 8.21 | 0.00 | 87.34 | 100.00 |
50 | 64.87 | 19.08 | 8.07 | 0.00 | 87.56 | 100.00 |
Measurement Error | SM10 | SM20 | SM11 | SM21 | %SM1 | %SM2 |
---|---|---|---|---|---|---|
= 0.01 | 64.87 | 19.08 | 8.69 | 0.08 | 86.60 | 99.60 |
= 0.02 | 64.87 | 19.08 | 7.82 | 0.02 | 87.95 | 99.87 |
Moving | Average | B-Spline | Kalman | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
asym. | asym. | sym. | sym. | p = 3 | |||||||||
Ch. | SM10 | 2 | 3 | 3 | 5 | 598 | 200 | 100 | 50 | 25 | 0.005 | 0.01 | 0.02 |
1 | 79.42 | 75.57 | 70.95 | 76.04 | 74.61 | 78.85 | 76.24 | 75.37 | 73.82 | 49 | 66.01 | 53.45 | 36.81 |
3 | 216.45 | 168.4 | 140.58 | 173.06 | 154.78 | 210.78 | 168.62 | 143.76 | 134.84 | 109.41 | 127.76 | 110.64 | 88.94 |
Moving | Average | B-Spline | Kalman | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
asym. | asym. | sym. | sym. | p = 3 | |||||||||
Ch. | SM20 | 2 | 3 | 3 | 5 | 598 | 200 | 100 | 50 | 25 | 0.005 | 0.01 | 0.02 |
1 | 4.9 | 1.17 | 0.85 | 0.98 | 0.75 | 3.36 | 0.7 | 0.43 | 0.38 | 0.08 | 0.35 | 0.18 | 0.07 |
3 | 258.55 | 50 | 23.03 | 40.23 | 17.7 | 172.27 | 15.34 | 3.41 | 1.54 | 0.16 | 5.48 | 1.85 | 0.67 |
Moving | Average | B-Spline | Kalman | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
asym. | asym. | sym. | sym. | p = 3 | ||||||||
Ch. | 2 | 3 | 3 | 5 | 598 | 200 | 100 | 50 | 25 | 0.005 | 0.01 | 0.02 |
1 | 4.86 | 10.67 | 4.26 | 6.06 | 0.72 | 4.01 | 5.11 | 7.06 | 38.3 | 16.88 | 32.71 | 53.65 |
3 | 22.2 | 35.05 | 20.04 | 28.49 | 2.62 | 22.09 | 33.58 | 37.7 | 49.45 | 40.97 | 48.88 | 58.91 |
Moving | Average | B-Spline | Kalman | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
asym. | asym. | sym. | sym. | p = 3 | ||||||||
Ch. | 2 | 3 | 3 | 5 | 598 | 200 | 100 | 50 | 25 | 0.005 | 0.01 | 0.02 |
1 | 76.14 | 82.63 | 79.96 | 84.69 | 31.41 | 85.76 | 91.29 | 92.33 | 98.46 | 92.94 | 96.3 | 98.51 |
3 | 80.66 | 91.09 | 84.44 | 93.15 | 33.37 | 94.07 | 98.68 | 99.4 | 99.94 | 97.88 | 99.29 | 99.74 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Memar Ardestani, M.; Yan, H. Noise Reduction in Human Motion-Captured Signals for Computer Animation based on B-Spline Filtering. Sensors 2022, 22, 4629. https://doi.org/10.3390/s22124629
Memar Ardestani M, Yan H. Noise Reduction in Human Motion-Captured Signals for Computer Animation based on B-Spline Filtering. Sensors. 2022; 22(12):4629. https://doi.org/10.3390/s22124629
Chicago/Turabian StyleMemar Ardestani, Mehdi, and Hong Yan. 2022. "Noise Reduction in Human Motion-Captured Signals for Computer Animation based on B-Spline Filtering" Sensors 22, no. 12: 4629. https://doi.org/10.3390/s22124629
APA StyleMemar Ardestani, M., & Yan, H. (2022). Noise Reduction in Human Motion-Captured Signals for Computer Animation based on B-Spline Filtering. Sensors, 22(12), 4629. https://doi.org/10.3390/s22124629