1. Introduction
Motion capture (MoCap) has become one of the main sources of simulating real, natural motions. The produced motions have extensive applications in motion analysis research, animation, gaming, and virtual reality products.
The raw motion signals captured, however, are usually contaminated with noises from different sources. Therefore, these signals should undergo special processes to generate high-quality motion signals that can be used in the various applications mentioned above. Moreover, due to the rapid development of virtual reality (VR), augmented reality (AR), extended reality (XR), mixed reality (MR) and metaverse-based technologies, there is an increased need to process human motion-captured signals in computer animation. For these reasons, studies of motion smoothing or denoising techniques for generating more realistic motion signals have always been appealing and can gain useful applications in real-world digital entertainment systems.
Recently, a systematic review of the applications of motion capture (MoCap) in various industries was studied by Menolotto et al. [
1]. Their study mainly focused on applications in the construction, robotics, and automotive industries. Motion capturing is achieved by using various motion-capture devices, including body-fixed sensors [
2], monocular cameras [
3], marker [
4] or marker-less [
5] approaches, and visual information [
6], that can track certain body points of the moving target object. Moreover, using infrared sensors, depth cameras such as Microsoft Kinect and Vicon 3D [
7] provide a convenient way to track and extract motion data from depth maps with high accuracy [
8,
9,
10]. Furthermore, Chatzitofis et al. [
11] proposed DeepMoCap, a marker-based, optical motion-capture method equipped with a multistage fully convolutional network (FCN) deep-learning architecture. The proposed method could achieve up to 4.5% more accuracy compared to the next best model in their study. For the design aspect of motion-capture wearables, readers are referred to a study by Marin et al. [
12] in which they presented a design framework that could help identify the design requirements for creating wearable products.
Regarding the smoothing of data obtained from a continuous experiment, vast literature is available. One of the earliest works was performed by Savitzky and Golay [
13] in which they leveraged the power of early computers to compute the smooth curve that best fit the data using a simplified least square method. Eilers and Marx [
14] combined B-spline and difference penalties to form the so-called P-splines. They also presented a way to calculate the optimal value of the smoothness penalty factor using the Akaike information criterion (AIC). Moreover, in 2003, Eilers [
15] proposed an improved version of the Savitzky–Golay filter, the so-called perfect smoother, using a discrete penalized least square method that offered continuous control over smoothness of the curve. Moreover, this method allowed for fast leave-one-out cross-validation.
Hsieh [
16] utilized B-spline wavelets to smooth the motion data. In his work, the noise was modeled as high-frequency, small-amplitude components added to the original signal, and then the noisy signal was decomposed using a wavelet transform process to detect and eliminate the noise.
Qi et al. [
17] presented and compared three different filtering methods, namely wavelet filter, Gauss filter, and mean filter, to produce natural motion data. They smoothed the position and orientation signals separately.
Lou and Chai [
18] presented an example-based approach. They formulated the signal denoising process as a nonlinear optimization process in which the objective function had two parts to ensure the minimum distance between the noisy input and the filtered signal, as well as the preservation of the spatial–temporal patterns of the human motion signals.
Using image and signal processing techniques such as multiresolution motion filtering, multitarget motion interpolation with time-warping, and motion displacement mapping, Bruderlin and Williams [
19] used existing motion data to design and modify the animated motions. Their method of blending motions could be used independently of the way the animation was produced, whether it was achieved via traditional keyframing, motion capture, or procedural animation.
In the case of motion signals, the signals usually contain a wide range of frequencies, depending on the activity being captured and the channel being processed. Moreover, the signals may contain outliers, or some data may be missing, depending on the capturing tools, their accuracy, and the environment conditions.
There are several factors that contribute to the noise in the captured signal. They can broadly be categorized into internal and external factors. By internal factors, we mean noises associated with electronic parts used in the capturing device. Several contributing factors for external noises can be due to (1) the experiment environment condition related to the temperature, the weather, or the lighting; (2) the kind of activity being captured (for example if it involves sudden movements or sudden changes in direction); (3) accidental touching of the markers attached to the capture subject; and (4) interference by other radio frequency signals present in the lab environment.
As can be seen, most of the contributing factors are inevitable in the process of motion capturing. Therefore, denoising or other post-processing remedies, for example, in the case of missing data, are essential parts of the process to acquire high-quality, smooth motion signals.
The classical filters, such as moving average or Kalman filters, may not perform well since they are too dependent on the current or immediate neighboring data being processed. This motivates the application of B-spline smoothing to motion signals. B-spline smoothing is appealing to us because of its flexible nature, i.e., the piecewise connectivity between the curves and, more importantly, because the degree of continuity (and, hence, the smoothness) of the produced signals is guaranteed and can be readily increased with minimal effort. This is the unique property of B-spline-smoothed signals that cannot be accessed through other filters. Therefore, in cases of the presence of outliers or missing data, a B-spline smoother can naturally produce outputs that are reliable and smoothed to the required degree. Moreover, for studies involving the extraction of signal features such as velocity and acceleration for downstream data processing, such as clustering and classifier training [
20], the ability to obtain reliable values for derivatives is required. B-spline smoothing can be used to denoise motion signals, which then can be used reliably for the accurate calculation of derivatives. This unique feature is not accessible using classical filtering methods such as moving average and Kalman filters. The limitation of the B-spline method, however, is that it can be used in an offline setting only. Nevertheless, since the applications of offline motion-captured signals are vast, the method can be useful in these applications. Furthermore, other filters, such as Kalman and moving average, can be used for online settings because their calculations are localized around the current timeframe. That is, they are based on the current datapoint and some immediate, neighboring, past datapoints, and they may not perform well when dealing with sudden local spikes in the signal. In addition, we use low-pass filters here since we are trying to eliminate shaky movements, which are mainly due to high-frequency noises, from our captured motion signals. Designing a specific band-pass filter for our workflow is not our intention in this study. Here, we aim for utilizing B-spline filtering because of the flexibility and the straightforward control it provides over the continuity of its piecewise connected curves.
In this paper, we compare three different smoothing methods and investigate their performances and limitations for the processing of motion signals. The methods we consider here are moving average smoothing, B-spline smoothing, and the well-known Kalman filter. The methods are introduced in
Section 2. Their performances are subsequently analyzed through testing with simulated noisy signals and real captured motion signals in
Section 3. The superior properties of B-spline-smoothed curves are also explained.