[1910.11016] Convex Optimisation for Inverse Kinematics
Our experiments confirm this advantage and also demonstrate that our proposed SDP-IK approach is a useful method for tackling inverse kinematics problems as they appear in computer vision and computer graphic problems.

Abstract: We consider the problem of inverse kinematics (IK), where one wants to find
the parameters of a given kinematic skeleton that best explain a set of
observed 3D joint locations. The kinematic skeleton has a tree structure, where
each node is a joint that has an associated geometric transformation that is
propagated to all its child nodes. The IK problem has various applications in
vision and graphics, for example for tracking or reconstructing articulated
objects, such as human hands or bodies. Most commonly, the IK problem is
tackled using local optimisation methods. A major downside of these approaches
is that, due to the non-convex nature of the problem, such methods are prone to
converge to unwanted local optima and therefore require a good initialisation.
In this paper we propose a convex optimisation approach for the IK problem
based on semidefinite programming, which admits a polynomial-time algorithm
that globally solves (a relaxation of) the IK problem. Experimentally, we
demonstrate that the proposed method significantly outperforms local
optimisation methods using different real-world skeletons.

‹Figure 1. Our SDP-IK method results in a better fit compared to local optimisation. Left: Ground truth pose, where the observed points are shown in red. Centre: Local IK methods can get stuck in an unwanted local minimum. Right: Our convex SDP-IK formulation can reliably reach a good optimum that is much closer to the ground truth. (Introduction)Figure 2. Illustration of a kinematic skeleton of a human hand (left) and a human body (right). The root joint for both skeletons admits 6 DOF (global translation and rotation), whereas all other joints admit between 0 and 3 rotational DOF. (Inverse Kinematics)Figure 3. We show the performance of different local optimisation methods: gradient descent (GD), trust region method (TR), conjugate gradient method (CG), and LBFGS. (Local Optimisation Methods)Figure 4. Box plot for fitting to noise-free observed joint locations of 100 poses for different skeletons (top: body, bottom: hand). Our SDP-IK method yields a consistently lower error in terms of cost (??), both in the case where all joints are given (top), as well as in the case when only the end-effectors are given (bottom). (Fitting to Noise-Free Observations)

Figure 5. Box plot for fitting to noisy observed joint locations of 100 poses for different skeletons (top: body, bottom: hand). Our SDP-IK method yields lower or similar error in terms of the normalised cost, both in the case where all joints are given (left), as well as in the case when only the end-effectors are given (right). (Fitting to Noisy Observations)Figure 6. Qualitative results for fitting kinematic skeletons to known noisy points of human body and hand skeletons in different poses (red spheres: noisy points, blue spheres: fitted points). Top row: observed noisy joint positions. Second row: inverse kinematics solved via local optimisation using a random initialisation (erroneous joints are circled). Third row: solution of the semidefinite programming approach in (??) after projection. Bottom row: Our proposed SDP-IK method. (Fitting to Noisy Observations)›