Particle Filter Based Monocular Human Tracking with a 3D Cardbox Model and a Novel Deterministic Resampling Strategy

02/21/2020
by   Ziyuan Liu, et al.
DLR
Technische Universität München
0

The challenge of markerless human motion tracking is the high dimensionality of the search space. Thus, efficient exploration in the search space is of great significance. In this paper, a motion capturing algorithm is proposed for upper body motion tracking. The proposed system tracks human motion based on monocular silhouette-matching, and it is built on the top of a hierarchical particle filter, within which a novel deterministic resampling strategy (DRS) is applied. The proposed system is evaluated quantitatively with the ground truth data measured by an inertial sensor system. In addition, we compare the DRS with the stratified resampling strategy (SRS). It is shown in experiments that DRS outperforms SRS with the same amount of particles. Moreover, a new 3D articulated human upper body model with the name 3D cardbox model is created and is proven to work successfully for motion tracking. Experiments show that the proposed system can robustly track upper body motion without self-occlusion. Motions towards the camera can also be well tracked.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 3

page 7

11/01/2020

Human Leg Motion Tracking by Fusing IMUs and RGB Camera Data Using Extended Kalman Filter

Human motion capture is frequently used to study rehabilitation and clin...
10/14/2014

Refined Particle Swarm Intelligence Method for Abrupt Motion Tracking

Conventional tracking solutions are not feasible in handling abrupt moti...
05/12/2021

ROSEFusion: Random Optimization for Online Dense Reconstruction under Fast Camera Motion

Online reconstruction based on RGB-D sequences has thus far been restrai...
07/11/2019

Assessing postural instability during cerebral hypoperfusion using sub-millimeter monocular 3D sway tracking

Postural instability is prevalent in aging and neurodegenerative disease...
07/05/2017

Computer methods for 3D motion tracking in real-time

This thesis is devoted to marker-less 3D human motion tracking in calibr...
03/11/2021

ChallenCap: Monocular 3D Capture of Challenging Human Performances using Multi-Modal References

Capturing challenging human motions is critical for numerous application...
04/15/2016

Tracking Human-like Natural Motion Using Deep Recurrent Neural Networks

Kinect skeleton tracker is able to achieve considerable human body track...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Human motion capture is the process in which the configuration of body parts is estimated over time from sensor input. Marker-based human motion capture systems use markers attached to the human body to capture human motion. Despite the good accuracy of marker-based motion capture systems, they are obtrusive and expensive. Many applications, such as surveillance and human-computer interaction applications, however, require the capture system to be markerless, and to capture human motion just by analyzing image sequences. In recent years, these systems have attracted tremendous attention, and they are considered to be an active research area in the future as well.


In this paper, a motion capture system is proposed for upper body motion tracking. The proposed system tracks human motion based on monocular silhouette-matching, and it is built on the basis of a hierarchical particle filter. In order to tackle the high dimensionality of the search space, an efficient deterministic resampling strategy (DRS) is applied within the particle filter framework. Using the ground truth data which is obtained by the Moven inertial motion capture suit [18], we evaluate the proposed system quantitatively. In experiments, we compare our DRS with the stratified resampling strategy (SRS) [12]. Experiments show that the proposed system achieves stable real-time tracking of human motion without self-occlusion in 15 fps (frames per second) using 600 particles. Motions towards the camera can also be well tracked. Additionally, a new 3D articulated human upper body model with the name 3D cardbox model is created and is proven to work successfully for motion tracking.
The reminder of this paper is structured as follows: in Section II, we review the related work on markerless human motion tracking and human modeling. Subsequently, we describe our system with respect to its two parts: modeling and estimation. In Section III, we introduce the modeling part, where our new human model and other basic components of the modeling part are explained. In Section IV, the estimation part of the proposed system is introduced, where we discuss model initialization and online motion tracking respectively. In Section V, the proposed system is evaluated in experiments, where we compare our DRS with SRS.

Ii Related Work

The main challenge of markerless human motion capturing lies at the high dimensionality of the search space. So far, many approaches have been proposed. Particle filtering [3]

samples the configuration space according to stochastic models of the observation. However, the bottleneck of applying particle filtering in markerless motion tracking is that the number of particles needed for a successful tracking increases exponentially with the number of degrees of freedom (DOF) of the underlying human model. According to

[2], a realistic human model contains 14 DOF for upper body or 25 DOF for full body, and this results in an extremely high-dimensional search space. In order to address this problem, the annealed particle filter [4] and the partitioned particle filter [5] have been proposed, in which the number of particles needed is effectively reduced, however, the processing speed is slow. Another way to solve the high-dimensionality is to add constraints to human movements, as done in [6]. Nevertheless, the power of such systems is limited due to the incorporated constraints. L. Sigal et. al. [7] apply optimized algorithms to search for a global or local estimation of the pose configuration, but the applicability of the system is limited to situations, in which multiple cameras are used. Gall et. al. [8] combine the stochastic sampling and the optimization to search for a global estimate of the human posture. Despite the good tracking accuracy, their system needs no less than 76 seconds to process one frame. Other systems are based on additional 3D sensor, such as the Swiss Ranger, and employ Iterative Closest Point (ICP) algorithm [9]. Recently, systems using the Kinect sensor have also been proposed [10]. As pointed out by [11], one limitation for most of the existing systems is the lack of quantitative error analysis, which is important for system comparison.
In addition to different tracking methods, there are also several ways to model human body. According to [1], there exist nowadays three main types of human models: 2D shape model [13], 3D volumetric model [14] and 3D surface-based shape model [15]. In 2D models, body parts are modeled as 2D patches. Such models usually do not represent the geometry and kinematics of the human body explicitly. Normally, scaling factors are calculated for 2D models, so that they can better match the input images. In contrast to 2D models, 3D models incorporate physical rotations and translations of the body parts to produce the final body postures. In 3D volumetric models, body parts are modeled as separate rigid objects that are articulated through joints. In 3D surface-based models, the human body is modeled as a single surface which is built by a mesh of deformable polygons.

Iii Modeling

The modeling part of the proposed system contains two components: physical model and observation model. They are explained in the following.

Iii-a Physical Model

In this paper, a new 3D articulated human model with the name “3D cardbox model” is proposed. Our 3D cardbox model represents each body part with two or three 2D patches that are perpendicular to each other. A comparison of the 3D volumetric model and our 3D cardbox model is illustrated in Fig. 1. In the 3D cardbox model, the head, upper arm, forearm and waist are represented by two central patches, whereas the torso is modeled by three patches. Compared with the 3D volumetric model, our model has less planes to project while rendering the human model image.
Our human model contains two types of parameters: posture parameters and size parameters. The posture parameters refer to the kinematic model of our 3D cardbox model, which contains 12 DOF in all, these are: two DOF for rotations of each elbow, two DOF for rotations of each shoulder, three DOF for the orientation of the torso and one DOF for the position of the torso. Intuitively, three DOF are needed for determining torso position, however, at the current stage, two of them are used as constant after an initialization step. These two DOF are along the directions marked by dashed orange arrows in Fig. 1. Thus, we estimate 12 DOF during online motion tracking. Given all the DOF information, the 3D model is mapped to the image plane of a camera observing the scene. Size parameters of our human model reflect the physical dimension of the observed person. These parameters are initialized through offline model initialization. Fig. 2 illustrates all size parameters of our human model.

Fig. 1: The 3D volumetric model (left) and the 3D cardbox model (right). Red lines denote the skeleton and blue circles denote joints. Orange arrows (X, Y and Z) show the 3 DOF for determining the torso position, two out of which are assumed constant (orange dashed arrows: X and Z). Axis X is the opposite direction of the optical axis of the camera. Axis Y is horizontally parallel to the camera plane, and Axis Z is determined by the right-hand rule.
Fig. 2: Size parameters of the 3D cardbox model.

Iii-B Observation Model

In our approach, we observe human motion by the silhouette of the person. Silhouette images are obtained via foreground-background segmentation. Here, the background and the camera position are both assumed static. The brightness statistics of the background is obtained by capturing first a set of images of the background and then using the averaging background method [17]. In this way, the mean brightness

and standard deviation

of the background is learned. Having built the background model, pixels of subsequent images , whose brightness is different from that of the learned background, are identified as foreground. The input image is thresholded into a binary silhouette image:

(1)

where indicates the background and the foreground. Fig. 3 shows one example of foreground segmentation.

Fig. 3: Foreground segmentation: observation image (left) and extracted silhouette image (right).

A certain human posture is assigned a cost by matching the perspectively projected 3D model with the silhouette image . The cost denotes the amount of distinct pixels between and and is given as:

(2)

where denotes the set of image coordinates that are located within the projected human model. The symbol denotes the logic XOR function. The function indicates the intensity value of pixel of the projected human model that is generated by the set of posture parameters :

(3)

where each element in refers to one DOF. Fig. 4 shows one example of silhouette matching, where the distinct pixels (right) between the projected human model (left) and the extracted silhouette (middle) are shown in white. In Section IV, we explain how to estimate posture parameters and size parameters by minimizing the cost function in (III-B).

Fig. 4: Silhouette matching: projected human model (left), extracted silhouette (middle) and distinct pixels (cost) shown in white (right).

Iv Estimation

The estimation part of the proposed system contains two phases, i.e. offline model initialization and online motion tracking as described in the following.

Iv-a Offline Model Initialization

Before the human model is used for online motion tracking, it must be initialized, which means the body size parameters of the human model are tuned for the observed person. Fig. 2 illustrates the body size parameters that need to be initialized. These parameters are iteratively estimated by local optimization around an initial guess using multiple hypotheses. A hypothesis of size parameters is generated by adding Gaussian noise to initial guess of the body size of the 3D model:

(4)

where

is the identity matrix. The standard deviation

used to generate the Gaussian noise is 5 cm for each size parameter. Each hypothesis represents one set of possible values of the body size parameters (Fig. 2):

(5)

Because of the large number of parameters, the parameters are estimated in a three-step hierarchical way. Size of torso, waist and head in front view , size of torso, waist and head in side view , and size of arms in front view are estimated separately:

(6)

According to the subset , that is being estimated, reference images observing the test person doing corresponding reference postures are captured and used to estimate the size parameters. Reference postures of the test person are assumed known. The entire process of offline model initialization is described in Algorithm 1.

0:  .
  Generate hypotheses for estimating size parameters:
  for  do
     ;
  end for
  3-step hierarchical estimation of subsets:
  for  do
     while Initialization accuracy not reached do
         Find the best subset using corresponding reference posture and reference image :
         ;
         Generate new hypotheses of corresponding subset:
         for  do
            ;
         end for
     end while
  end for
Algorithm 1 Offline Model Initialization

Iv-B Online Motion Tracking

Once the human model is initialized, the body posture parameters of the observed person are continuously estimated in the online motion tracking phase. We apply a hierarchical particle filter to perform online motion tracking as described in Algorithm 2: first, initialize particles for tracking torso, left arm and right arm separately; then resample these particles with DRS, using Algorithm 4. Here, each particle of the particle filter represents a certain human posture.

0:  Body size parameters are initialized.
  Initialize particles:
  Set the index of estimation cycle to 0,
  for  do
     ;
  end for
  Assign each particle a cost using (III-B);
  while New observation image  do
     Sample and resample with DRS, as described in Algorithm 4;
  end while
Algorithm 2 Online Motion Tacking

The general idea of our hierarchical particle filter is to divide the whole estimation procedure into three steps that are listed below:

  • First, estimate the orientation of the torso (3 DOF) and the position of the torso (1 DOF).

  • Second, estimate the orientation of the left arm (2 DOF for left shoulder, 2 DOF for left elbow).

  • Third, estimate the orientation of the right arm (2 DOF for right shoulder, 2 DOF for right elbow).

Note that the second and the third step can be processed parallel.
Particles of the initialization step are generated by adding Gaussian noise to the reference posture from which online motion tracking starts:

(7)

where denotes the total number of the used particles. Here, the superscript is the index of estimation cycle which starts with “0” indicating the initialization. The subscript is the particle index.

Iv-C Sampling and Resampling

In the following, we introduce first a standard particle filter that uses SRS (stratified resampling strategy). After that, we discuss our DRS.

Iv-C1 Srs

For tracking with SRS, the sampling and resampling part of online motion tracking is executed using SRS, as described in Algorithm 3. In the th estimation cycle of SRS, each particle

is assigned a probability

:

(8)

where denotes the cost of particle . For the tracking of torso, left arm and right arm, has different values, as listed in Table I.
Having calculated the probability, the normalized probability for each particle can be obtained as follows:

(9)

Using the normalized probability, we calculate for each particle a cumulative probability as follows:

(10)

where denotes the cumulative probability for particle in estimation cycle .

0:  Particles are initialized.
  ;
  for  do
     Generate a random number

with the uniform distribution

according to the stratified sampling [12];
     , with ;
     Assign each particle a normalized probability using (9) and calculate the cumulative probability for each particle using (10);
  end for
  ++;
Algorithm 3 SRS

Iv-C2 Drs

The standard particle filter with SRS uses a Gaussian distribution for the observation probability density, and it samples in a total stochastic way, thus, the selectivity of particles degrades as the modeling error of the observation model increases. This situation occurs especially when the physical model cannot perfectly match the appearance of the human body. Our DRS uses a survival of the fittest paradigm which ensures the selection of the best hypothesis. Therefore, it is especially suitable for filters with a low number of hypotheses. Moreover, it allows to directly process error values without a non-linear transformation by a Gaussian pdf.


Our DRS generates new particles according to a survival-rate , as described in Algorithm 4. Let denote the ranked list of posture parameter with . The first particle in the th estimation cycle is the same as the best particle in the th estimation cycle :

(11)

Multiplying the survival-rate with the total number of particles gives the amount of particles that survive the

th estimation cycle. The survived particles are added with a random Gaussian noise vector

so as to produce new particles:

(12)

In the th estimation cycle, the particles that did not survive are replaced by particles drawn from the neighbourhood of the best particle:

(13)

The particle with the lowest cost is considered to be the estimation result for each estimation cycle. The process of DRS is illustrated in Fig. 5.

0:  Particles are initialized.
  Rank particles , according to their costs, then store the ranked particles into the particle list ;
  for  do
     if  then
         ;
     else if  then
         ;
     else
         ;
     end if
     Assign each particle a cost using (III-B);
  end for
  ;
Algorithm 4 DRS
Fig. 5: Sample and resample with DRS.

V Experiments and Discussions

The experiments are performed with a BumbleBee Stereo Camera BB-COL-20, whereas only one camera of the two is used. A quad-core AMD Phenom II X4 945 (3.0 GHz) processor is used as CPU. However, the current implementation is single-threaded. The “Sequential Monte Carlo Template Class” (SMCTC) [16] library in C++ is used as the framework for implementing particle filter. The OpenCV library [17] is used for image processing and camera calibration. The resolution of input images is 320240.
For the choice of the survival-rate , imagine two extreme situations: just the best particle survives () and all the particles survive (). In the case of , the procedure becomes a greedy local optimization, which redistributes the particles just around the best one. If the observed human motion is fast, the estimation tends to get lost due to the limited search range, which is decided by the noise used to generate new particles. In the case of , the search range of the particle set is much bigger than that in local optimization, but the estimation performance is rather rough, because in this case the resampling is blocked, so that all the particles are just distributed randomly in the whole sample space. Thus, the reasonable choice of should be a compromise of these two cases, which ensures a big search range and a satisfactory accuracy. The values of used parameters are summarized in Table I.

Torso Left arm Right arm
200 200 200
0.2 0.4 0.4
for rotation (radian) 0.1 0.25 0.25
for translation (cm) 2 - -
(pixel) 8000 4000 4000
TABLE I: Parameters used for all experiments.

Motion used in the following experiments consists of a sequence of three fundamental motions: “wave hands” (Fig. 10), “bend aside” (Fig. 11) and “bow forward” (Fig. 12). These figures show examples of online motion tracking using 600 particles and DRS. As can be seen, the proposed system can stably track human motions without self-occlusion, using 600 particles (). With 600 particles, we achieve real-time tracking in 15 fps.

V-a Ground Truth Evaluation

The Moven inertial motion capture suit uses 17 inertial motion trackers and an advanced articulated human model to track human motion. It is utilized to measure the underlying body posture parameters that is considered to be the ground truth of experiments. The Moven system provides Cartesian positions of the body segments. For the comparison, the tracking result in the joint space of the proposed method is converted to Cartesian position of corresponding body parts by forward kinematics using the estimated body size parameters. Here, 3D positions of shoulder, elbow and hand are compared. It should be mentioned that we could not achieve accurate comparison of both systems but rough comparison only. The reason is that different human kinematic models are used in both systems and the real positions of corresponding body parts are not defined in the same way. In the future, an accurate measure for quantitative comparison will be investigated.
The systems are synchronized with the image captured by the camera. Human motion tracking is repeated 100 times on a video of example video, using the proposed system. As tracking error, we measure the average 3D distance between the corresponding body parts of the Moven and the proposed system in these 100 times. The results are shown in Fig. 6 and Fig. 7. DRS achieves better 3D tracking accuracy than SRS in hand and elbow tracking. The accuracy for tracking hand is worse than the accuracy for tracking elbows and shoulders, because the hand of the Moven human model and that of the proposed human model are differently modeled. The hand in Moven system are located at wrists, whereas the hand in the proposed system are at the end of fists. This difference results in an extra error of 10 cm approximately for hand tracking. Taking into account that the tracking is only based on monocular silhouette-matching, and considering the difference of both systems, the proposed system shows good 3D tracking performance.

Fig. 6: Average 3D error over 100 times: left shoulder (LS), left elbow (LE) and left hand (LH).
Fig. 7: Average 3D error over 100 times: right shoulder (RS), right elbow (RE) and right hand (RH).

V-B 2D Error and Reproducibility of the System Output

The system output of each estimation cycle refers to the best estimate (particle) that has the lowest cost. In the following, we compare DRS with SRS regarding two aspects of the system output: 2D error and reproducibility.

V-B1 2D error

2D error of the system output is represented by its cost. In this experiment, we measure the mean of the cost of the system output over 100 times and we show the result in Fig. 8. Here, we conclude that DRS outperforms SRS with respect to 2D error, because the system output obtained by DRS has less cost for each input image, although the same number of particles are used in both cases. Since we track human motion just based on silhouette-matching, the DRS is a better choice compared with SRS.

Fig. 8: Average 2D error over 100 runs: DRS outperforms SRS, because system output obtained by DRS has less cost for each input image.

V-B2 Reproducibility

Ideally, we expect that the system output should show the same performance on the same input. This feature is important for some applications, such as imitation learning of a humanoid robot. Here, we test the reproducibility of the system output by measuring the mean and standard deviation of each DOF (

) of the system output over 100 times. Experiment shows that tracking with DRS provides better reproducibility of the system output, because the standard deviation of the system output obtained by DRS is smaller than that obtained by SRS. One example of the results is shown in Fig. 9, in which one rotational DOF of left elbow is demonstrated. Here, we can see that the mean value (solid lines) is similar in both cases, but the standard deviation (dashed lines) of the system output obtained by DRS is smaller throughout the entire tracking. This result indicates that the system output estimated by DRS is better reproducible than that by SRS.
The DRS works in a survival of the fittest paradigm, and it contains no non-linear processing of the error value, thus, it is more reliable than the SRS for tracking with a small number of particles (600 particles for 12 dimensions).

Fig. 9: Reproducibility test: one rotational parameter of left elbow, dashed lines are corresponding standard deviation (SD) lines.
Fig. 10: Online motion tracking with DRS: wave hands. First row: the best estimate; second row: matching result; third row: raw image.
Fig. 11: Online motion tracking with DRS: bend aside. First row: the best estimate; second row: matching result; third row: raw image.
Fig. 12: Online motion tracking with DRS: bow forward. First row: the best estimate; second row: matching result; third row: raw image.

Vi Conclusions

This paper presents an upper body motion capture system based on monocular silhouette-matching, which is built on the basis of a hierarchical particle filter. A novel deterministic resampling strategy (DRS) is applied so as to explore the search space efficiently. Using the ground truth data collected by Moven system, the tracking performance is quantitatively evaluated. As experiments show, the DRS outperforms SRS regarding the 3D and 2D tracking error with the same number of particles. Moreover, reproducibility test show that tracking results of DRS are more stable compared to SRS.
Additionally, a new 3D articulated human upper body model with the name 3D cardbox model is created and is proven to work successfully for motion tracking. Compared with the 3D volumetric model, our model has less planes to project while rendering the human model image, which leads to less computational cost. The proposed system achieves a stable real-time tracking of human motion in 15 fps, using 600 particles. It is worth mentioning that motions towards the camera, such as “bow forward”, is also well tracked by the proposed system.
Currently, the proposed system tracks human motion just through silhouette-matching. In the future work, we will incorporate more sophisticated cues so as to handle motions with self-occlusion.

References

  • [1] R. Poppe, “Vision-based human motion analysis: An overview”, Computer Vision and Image Understanding, 2007, pp. 4-18.
  • [2] P. Azad et.al., “Stereo-based Markerless Human Motion Capture for Humanoid Robot Systems”, Proc. of IEEE International Conference on Robotics and Automation, 2007, pp. 3951-3956.
  • [3] P. Azad, T. Asfour and R. Dillmann, “Robust Real-time Stereo-based Markerless Human Motion Capture”, IEEE-RAS International Conference on Humanoid Robots, 2008, pp. 700-707.
  • [4] J. Deutscher, A. Blake, and I. Reid, “Articulated Body Motion Capture by Annealed Particle Filtering”,

    International Conference on Computer Vision and Pattern Recognition (CVPR)

    , 2000, pp. 2126-2133.
  • [5] J. Deutscher, A. Davison, and I. Reid, “Automatic partitioning of high dimensional search spaces associated with articulated body motion capture”, International Conference on Computer Vision and Pattern Recognition, 2001, pp. 669-676.
  • [6] M. A. Brubaker and D. Fleet, “The kneed walker for human pose tracking”, International Conference on Computer Vision and Pattern Recognition (CVPR), 2008, pp. 1-8.
  • [7] L. Sigal, S. Bhatia, S. Roth, M. Black, and M. Isard, “Tracking loose-limbed people”, Proc. of IEEE International Conference on Computer Vision and Pattern Recognition, 2004, pp. 421-428.
  • [8] J. Gall, B. Rosenhahn, T. Brox, and H. P. Seidel, “Optimization and filtering for human motion capture”, International Journal of Computer Vision, 2008, pp. 75-92.
  • [9] S. Knoop, S. Vacek, and R. Dillmann, “Modeling Joint Constraints for an Articulated 3D Human Body Model with Artificial Correspondences in ICP”, International Conference on Humanoid Robots (Humanoids), 2005, pp. 74-79.
  • [10] http://www.openni.org.
  • [11] Z. Li and D. Kuli, “Paritcle Filter Based Human Motion Tracking”, International Conference on Control, Automation, Robotics and Vision, 2010, pp. 555-560.
  • [12] G. Kitagawa, “Monte Carlo filter and smoother for non-Gaussian nonlinear state space models”, Journal of Computational and Graphical Statistics, vol. 5, no. 1, pp. 1-25, 1996.
  • [13] Y. Huang, T. S. Huang, “Model-based human body tracking”, Proceedings of the International Conference on Pattern Recognition (ICPR 02), 2002, pp. 552-555.
  • [14] R. Kehl, L. V. Gool, “Markerless tracking of complex human motions from multiple views”, Computer Vision and Image Understanding (CVIU), vol. 104, no. 2, pp. 190-209, 2006.
  • [15] J. Carranza, C. Theobalt, M. A. Magnor, H. P. Seidel, “Free-viewpoint video of human actors”, ACM Transactions on Computer Graphics vol. 22, no. 3, pp. 569-577, 2003.
  • [16] A. M. Johansen, “SMCTC: Sequential Monte Carlo in C++”. Journal of Statistical Software, vol. 30, no. 6, pp. 1-41, 2009.
  • [17] G. Bradski, A. Kaehler, Learning OpenCV. O’Reilly Media, Inc., 2008.
  • [18] Xsens Technologies B.V., “Moven User Manual”. 2008.