Articulated body pose estimation explained

Articulated body pose estimation in computer vision is the study of algorithms and systems that recover the pose of an articulated body, which consists of joints and rigid parts using image-based observations. It is one of the longest-lasting problems in computer vision because of the complexity of the models that relate observation with pose, and because of the variety of situations in which it would be useful.[1] [2]

Description

Perception of human beings in their neighboring environment is an important capability that robots must possess. If a person uses gestures to point to a particular object, then the interacting machine should be able to understand the situation in real world context. Thus pose estimation is an important and challenging problem in computer vision, and many algorithms have been deployed in solving this problem over the last two decades. Many solutions involve training complex models with large data sets.

Pose estimation is a difficult problem and an active subject of research because the human body has 244 degrees of freedom with 230 joints. Although not all movements between joints are evident, the human body is composed of 10 large parts with 20 degrees of freedom. Algorithms must account for large variability introduced by differences in appearance due to clothing, body shape, size, and hairstyles. Additionally, the results may be ambiguous due to partial occlusions from self-articulation, such as a person's hand covering their face, or occlusions from external objects. Finally, most algorithms estimate pose from monocular (two-dimensional) images, taken from a normal camera. Other issues include varying lighting and camera configurations. The difficulties are compounded if there are additional performance requirements. These images lack the three-dimensional information of an actual body pose, leading to further ambiguities. There is recent work in this area wherein images from RGBD cameras provide information about color and depth.[3]

Sensors

The typical articulated body pose estimation system involves a model-based approach, in which the pose estimation is achieved by maximizing/minimizing a similarity/dissimilarity between an observation (input) and a template model. Different kinds of sensors have been explored for use in making the observation, including the following:

These sensors produce intermediate representations that are directly used by the model. The representations include the following:

Classical models

Part models

The basic idea of part based model can be attributed to the human skeleton. Any object having the property of articulation can be broken down into smaller parts wherein each part can take different orientations, resulting in different articulations of the same object. Different scales and orientations of the main object can be articulated to scales and orientations of the corresponding parts. To formulate the model so that it can be represented in mathematical terms, the parts are connected to each other using springs. As such, the model is also known as a spring model. The degree of closeness between each part is accounted for by the compression and expansion of the springs. There is geometric constraint on the orientation ofsprings. For example, limbs of legs cannot move 360 degrees. Hence parts cannot have that extreme orientation. This reduces the possible permutations.[6]

The spring model forms a graph G(V,E) where V (nodes) corresponds to the parts and E (edges) represents springs connecting two neighboring parts. Each location in the image can be reached by the

x

and

y

coordinates of the pixel location. Let

pi(x,y)

be point at

ith

location. Then the cost associated in joining the spring between

ith

and the

jth

point can be given by

S(pi,pj)=S(pi-pj)

. Hence thetotal cost associated in placing

l

components at locations

Pl

is given by

S(Pl)=

l
\displaystyle\sum
i=1

i
\displaystyle\sum
j=1

sij(pi,pj)

The above equation simply represents the spring model used to describe body pose. To estimate pose from images, cost or energy function must be minimized. This energy function consists of two terms. The first is related to how each component matches the image data and the second deals with how much theoriented (deformed) parts match, thus accounting for articulation along with object detection.[7]

The part models, also known as pictorial structures, are of one of the basic models on which other efficient models are built by slight modification. One such example is the flexible mixture model which reduces the database of hundreds or thousands of deformed parts by exploiting the notion of local rigidity.[8]

Articulated model with quaternion

The kinematic skeleton is constructed by a tree-structured chain.[9] Each rigid body segment has its local coordinate system that can be transformed to the world coordinate system via a 4×4 transformation matrix

Tl

,

Tl=T\operatorname{par(l)}Rl,

where

Rl

denotes the local transformation from body segment

Sl

to its parent

\operatorname{par}(Sl)

. Each joint in the body has 3 degrees of freedom (DoF) rotation. Given a transformation matrix

Tl

, the joint position at the T-pose can be transferred to its corresponding position in the world coordination. In many works, the 3D joint rotation is expressed as a normalized quaternion

[x,y,z,w]

due to its continuity that can facilitate gradient-based optimization in the parameter estimation.

Deep learning based models

Since about 2016, deep learning has emerged as the dominant method for performing accurate articulated body pose estimation. Rather than building an explicit model for the parts as above, the appearances of the joints and relationships between the joints of the body are learned from large training sets. Models generally focus on extracting the 2D positions of joints (keypoints), the 3D positions of joints, or the 3D shape of the body from either a single or multiple images.

Supervised

2D joint positions

The first deep learning models that emerged focused on extracting the 2D positions of human joints in an image. Such models take in an image and pass it through a convolutional neural network to obtain a series of heatmaps (one for each joint) which take on high values where joints are detected.[10]

When there are multiple people per image, two main techniques have emerged for grouping joints within each person. In the first, "bottom-up" approach, the neural network is trained to also generate "part affinity fields" which indicate the location of limbs. Using these fields, joints can be grouped limb by limb by solving a series of assignment problems. In the second, "top-down" approach, an additional network is used to first detect people in the image and then the pose estimation network is applied to each image.[11]

3D joint positions

With the advent of multiple datasets with human pose annotated in multiple views,[12] [13] models which detect 3D joint positions became more popular. These again fell into two categories In the first, a neural network is used to detect 2D joint positions from each view and these detections are then triangulated to obtain 3D joint positions.[14] The 2D network may be refined to produce better detections based on the 3D data.[15] Furthermore, such approaches often have filters in both 2D and 3D to refine the detected points.[16] [17] In the second, a neural network is trained end-to-end to predict 3D joint positions directly from a set of images, without 2D joint position intermediate detections. Such approaches often project image features into a cube and then use a 3D convolutional neural network to predict a 3D heatmap for each joint.[18] [15] [19]

3D shape

Concurrently with the work above, scientists have been working on estimating the full 3D shape of a human or animal from a set of images. Most of the work is based on estimating the appropriate pose of the skinned multi-person linear (SMPL) model[20] within an image. Variants of the SMPL model for other animals have also been developed.[21] Generally, some keypoints and a silhouette are detected for each animal within the image, and then the parameters 3D shape model are fit to match the position of keypoints and silhouette.

Unsupervised

The above algorithms all rely on annotated images, which can be time-consuming to produce. To address this issue, computer vision researchers have developed new algorithms which can learn 3D keypoints given only annotated 2D images from a single view or identify keypoints given videos without any annotations.

Applications

Assisted living

Personal care robots may be deployed in future assisted living homes. For these robots, high-accuracy human detection and pose estimation is necessary to perform a variety of tasks, such as fall detection. Additionally, this application has a number of performance constraints.

Character animation

Traditionally, character animation has been a manual process. However, poses can be synced directly to a real-life actor through specialized pose estimation systems. Older systems relied on markers or specialized suits. Recent advances in pose estimation and motion capture have enabled markerless applications, sometimes in real time.[22]

Intelligent driver assisting system

Car accidents account for about two percent of deaths globally each year. As such, an intelligent system tracking driver pose may be useful for emergency alerts . Along the same lines, pedestrian detection algorithms have been used successfully in autonomous cars, enabling the car to make smarter decisions.

Video games

Commercially, pose estimation has been used in the context of video games, popularized with the Microsoft Kinect sensor (a depth camera). These systems track the user to render their avatar in-game, in addition to performing tasks like gesture recognition to enable the user to interact with the game. As such, this application has a strict real-time requirement.[23]

Medical Applications

Pose estimation has been used to detect postural issues such as scoliosis by analyzing abnormalities in a patient's posture,[24] physical therapy, and the study of the cognitive brain development of young children by monitoring motor functionality.[25]

Other applications

Other applications include video surveillance, animal tracking and behavior understanding, sign language detection, advanced human–computer interaction, and markerless motion capturing.

Related technology

A commercially successful but specialized computer vision-based articulated body pose estimation technique is optical motion capture. This approach involves placing markers on the individual at strategic locations to capture the 6 degrees-of-freedom of each body part.

Research groups

A number of groups and companies are researching pose estimation, including groups at Brown University, Carnegie Mellon University, MPI Saarbruecken, Stanford University, the University of California, San Diego, the University of Toronto, the École Centrale Paris, ETH Zurich, National University of Sciences and Technology (NUST),[26] the University of California, Irvine and Polytechnic University of Catalonia.

Companies

At present, several companies are working on articulated body pose estimation.

External links

Notes and References

  1. Moeslund. Thomas B.. Granum. Erik. 2001-03-01. A Survey of Computer Vision-Based Human Motion Capture. Computer Vision and Image Understanding. 81. 3. 231–268. 10.1006/cviu.2000.0897. 1077-3142.
  2. Web site: Survey of Advances in Computer Vision-based Human Motion Capture (2006) . 2007-09-15 . https://web.archive.org/web/20080302215124/http://www.sciencedirect.com/science/article/B6WCX-4M1DB7H-1/2/8da6f6e7a8c8e07d9331bc7738c6d499 . 2008-03-02 . dead.
  3. Droeschel, David, and Sven Behnke. "3D body pose estimation using an adaptive person model for articulated ICP." Intelligent Robotics and Applications. Springer Berlin Heidelberg, 2011. 157167.
  4. Book: Han, J.. Gaszczak, A.. Maciol, R.. Barnes, S.E.. Breckon, T.P.. Human Pose Classification within the Context of Near-IR Imagery Tracking. Proc. SPIE Optics and Photonics for Counterterrorism, Crime Fighting and Defence. September 2013. 8901. E. 89010E. SPIE. 10.1117/12.2028375. http://www.durham.ac.uk/toby.breckon/publications/papers/han13humanpose.pdf. 5 November 2013. Optics and Photonics for Counterterrorism, Crime Fighting and Defence IX; and Optical Materials and Biomaterials in Security and Defence Systems Technology X. 10.1.1.391.380. 17034080. Zamboni. Roberto. Kajzar. Francois. Szep. Attila A.. Burgess. Douglas. Owen. Gari.
  5. M. Ding and G. Fan, "Generalized Sum of Gaussians for Real-Time Human Pose Tracking from a Single Depth Sensor" 2015 IEEE Winter Conference on Applications of Computer Vision (WACV), Jan 2015
  6. Fischler, Martin A., and Robert A. Elschlager. "The representation and matching of pictorial structures." IEEE Transactions on computers 1 (1973): 6792.
  7. Felzenszwalb, Pedro F., and Daniel P. Huttenlocher. "Pictorial structures for object recognition." International Journal of Computer Vision 61.1 (2005): 5579.
  8. Yang, Yi, and Deva Ramanan. "Articulated pose estimation with flexible mixtures-of-parts." Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. IEEE, 2011.
  9. M. Ding and G. Fan, "Articulated and Generalized Gaussian Kernel Correlation for Human Pose Estimation" IEEE Transactions on Image Processing, Vol. 25, No. 2, Feb 2016
  10. Book: Cao. Zhe. Simon. Tomas. Wei. Shih-En. Sheikh. Yaser. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) . Realtime Multi-person 2D Pose Estimation Using Part Affinity Fields . July 2017. http://dx.doi.org/10.1109/cvpr.2017.143. 1302–1310. IEEE. 10.1109/cvpr.2017.143. 1611.08050. 978-1-5386-0457-1. 16224674.
  11. Book: Fang. Hao-Shu. Xie. Shuqin. Tai. Yu-Wing. Lu. Cewu. 2017 IEEE International Conference on Computer Vision (ICCV) . RMPE: Regional Multi-person Pose Estimation . October 2017. http://dx.doi.org/10.1109/iccv.2017.256. 2353–2362. IEEE. 10.1109/iccv.2017.256. 1612.00137. 978-1-5386-1032-9. 6529517.
  12. Ionescu. Catalin. Papava. Dragos. Olaru. Vlad. Sminchisescu. Cristian. July 2014. Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments. IEEE Transactions on Pattern Analysis and Machine Intelligence. 36. 7. 1325–1339. 10.1109/tpami.2013.248. 26353306. 4244548. 0162-8828.
  13. Sigal. Leonid. Balan. Alexandru O.. Black. Michael J.. 2009-08-05. HumanEva: Synchronized Video and Motion Capture Dataset and Baseline Algorithm for Evaluation of Articulated Human Motion. International Journal of Computer Vision. 87. 1–2. 4–27. 10.1007/s11263-009-0273-6. 11279201. 0920-5691.
  14. Nath. Tanmay. Mathis. Alexander. Chen. An Chi. Patel. Amir. Bethge. Matthias. Mathis. Mackenzie Weygandt. 2018-11-24. Using DeepLabCut for 3D markerless pose estimation across species and behaviors. 2021-06-30. bioRxiv. 476531. 10.1101/476531. 92206469.
  15. Book: Iskakov. Karim. Burkov. Egor. Lempitsky. Victor. Malkov. Yury. 2019 IEEE/CVF International Conference on Computer Vision (ICCV) . Learnable Triangulation of Human Pose . October 2019. http://dx.doi.org/10.1109/iccv.2019.00781. 7717–7726. IEEE. 10.1109/iccv.2019.00781. 1905.05754. 978-1-7281-4803-8. 153312868.
  16. Karashchuk. Pierre. Rupp. Katie L.. Dickinson. Evyn S.. Sanders. Elischa. Azim. Eiman. Brunton. Bingni W.. Tuthill. John C.. 2020-05-29. Anipose: a toolkit for robust markerless 3D pose estimation. bioRxiv. 36 . 13 . 10.1101/2020.05.26.117325. 34592148 . 219167984. free. 8498918.
  17. Günel. Semih. Rhodin. Helge. Morales. Daniel. Campagnolo. João. Ramdya. Pavan. Fua. Pascal. 2019-10-04. O'Leary. Timothy. Calabrese. Ronald L. Shaevitz. Josh W. DeepFly3D, a deep learning-based approach for 3D limb and appendage tracking in tethered, adult Drosophila. eLife. 8. e48571. 10.7554/eLife.48571. 31584428. 6828327. 2050-084X . free .
  18. Dunn. Timothy W.. Marshall. Jesse D.. Severson. Kyle S.. Aldarondo. Diego E.. Hildebrand. David G. C.. Chettih. Selmaan N.. Wang. William L.. Gellis. Amanda J.. Carlson. David E.. Aronov. Dmitriy. Freiwald. Winrich A.. 2021-04-19. Geometric deep learning enables 3D kinematic profiling across species and environments. Nature Methods. 18. 5. 564–573. 10.1038/s41592-021-01106-6 . 8530226. 33875887. 233310558. 1548-7091.
  19. Zimmermann. Christian. Schneider. Artur. Alyahyay. Mansour. Brox. Thomas. Diester. Ilka. 2020-02-27. FreiPose: A Deep Learning Framework for Precise Animal Motion Capture in 3D Spaces. 2021-06-30. bioRxiv. 10.1101/2020.02.27.967620. 213583372.
  20. Loper. Matthew. Mahmood. Naureen. Romero. Javier. Pons-Moll. Gerard. Black. Michael J.. 2015-11-04. SMPL. ACM Transactions on Graphics. 34. 6. 1–16. 10.1145/2816795.2818013. 229365481 . 0730-0301.
  21. Book: Zuffi. Silvia. Kanazawa. Angjoo. Black. Michael J.. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition . Lions and Tigers and Bears: Capturing Non-rigid, 3D, Articulated Shape from Images . June 2018. http://dx.doi.org/10.1109/cvpr.2018.00416. 3955–3963. IEEE. 10.1109/cvpr.2018.00416. 978-1-5386-6420-9. 46907802.
  22. Web site: Dent. Steven. What you need to know about 3D motion capture. Engadget. AOL Inc. 31 May 2017.
  23. Web site: Kohli. Pushmeet. Shotton. Jamie. Key Developments in Human Pose Estimation for Kinect. Microsoft. 31 May 2017.
  24. Aroeira, Rozilene Maria C., Estevam B. de Las Casas, Antônio Eustáquio M. Pertence, Marcelo Greco, and João Manuel R.S. Tavares. “Non-Invasive Methods of Computer Vision in the Posture Evaluation of Adolescent Idiopathic Scoliosis.” Journal of Bodywork and Movement Therapies 20, no. 4 (October 2016): 832–43. https://doi.org/10.1016/j.jbmt.2016.02.004.
  25. Khan, Muhammad Hassan, Julien Helsper, Muhammad Shahid Farid, and Marcin Grzegorzek. “A Computer Vision-Based System for Monitoring Vojta Therapy.” International Journal of Medical Informatics 113 (May 2018): 85–95. https://doi.org/10.1016/j.ijmedinf.2018.02.010.
  26. Web site: NUST-SMME RISE Research Center.