A Centroid Coincidence Theorem

While reviewing shape matching problem between 3D point sets of rigid object using least squares approximation. I found A Centroid Coincidence Theorem, which interest me. So I organize the proof of the theorem and related notions in here. 
I'll follow mathematical notation of [1] as possible as I can. But, since, the mathematical notations in [1] is to implicit, I write it more explicitly (because of my poor imagination and mathematical skills).

Problem

Let two 3-D point sets as $p_i = [x_i, y_i, z_i]^t, p^{'}_i = [x^{'}_i, y^{'}_i, z^{'}_i]^t, i= 1,2,\cdots,N$. Which is related by (1) where $R$ is $3\times 3$ rotation matrix, $T$ is $3\times 1$ translation vector, and $N_i$ a noise vector.
$$
\begin{align}
    p^{'}_i &= Rp_i + T + N_i \tag{1}
\end{align}
$$

And let mathematical formulation of shape matching of 3D point sets using least squares approximation as (2).

$$
\begin{align}
   \underset{R, T} {\operatorname{argmin}} \sum_{i=1}^{N} \| p^{'}_i - (Rp_i + T) \|^2  \tag{2}
\end{align}
$$

Then the Theorem 1 is satisfied..

Theorem 1 (A Centroid Coincidence TheoremLet $\hat{R}$ and $\hat{T}$ be the least-squares solution to (2). Then the centroids of $ \{ p^{'}_i \} $ and $ \{ \hat{R} p_i + \hat{T} \} $ coincide.

Proof

Let
$$% '&=' sign in align region means align at equal sign. \begin{align}
    p^{'}_i &= Rp_i + T + N_{i} \tag{3} \\
    p^{''}_i &= [ x^{''}_i, y^{''}_i, z^{''}_i ] \triangleq \hat{R} p_i + \hat{T} \tag{4} \\
    p &\triangleq \sum_{i=1}^{N} p_i \ (Centroid\ of\ \{ p_i \}) \tag{5} \\
    p^{'} &\triangleq \sum_{i=1}^{N} p^{'}_i \ (Centroid\ of\ \{ p^{'}_i \}) \tag{6} \\
    p^{''} &\triangleq \sum_{i=1}^{N} p^{''}_i \ (Centroid\ of\ \{ p^{''}_i \}). \tag{7} \\
\end{align}$$

We reformulate our problem as follows:
$$\begin{align}
    \underset{ \{ p^{''}_i \} } {\operatorname{argmin}} \sum_{i=1}^{N} \| p^{'}_i - p^{''}_i \|^2  \tag{8}
\end{align}$$
subject to the rigidity constraints

$$\begin{align}\| p^{''}_i - p^{''}_j \|^2 = \| p_i - p_j \|^2, \forall i, j
\end{align}$$
Note that $p_i, p^{'}_i$ are known, and $p^{''}_i$ is unknown variable.

We can attempt to solve above problem with Lagrangian Multipliers.

Let
$$ \begin{align}
f( p^{''}_1 , \dots , p^{''}_N ) &= \sum_{i=1}^{N} w_i \| p^{'}_i - p^{''}_i \|^2 \tag{9} \\ g_{ij}( p^{''}_1 , \dots , p^{''}_N ) &= \| p^{''}_i - p^{''}_j \|^2 - \| p_i - p_j \|^2 \tag{10} \end{align} $$

Then, the equation for Lagrangian Multipliers can be formulated as follows: 
$$\begin{align}\nabla f( p^{''}_1 , \dots , p^{''}_N ) =  \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{ij} \nabla g_{ij}( p^{''}_1 , \dots , p^{''}_N ) \tag{11}\end{align}$$
where $\lambda_{ij} = \lambda_{ji}$ (because, obiviously, $g_{ij}$ and $g_{ji}$ are same function.)

Then, system of equations is derived from Equ. (11) as follows:

$$
\begin{align}
      2w_{1}(x^{''}_1 - x^{'}_1) &= 4 \sum_{j=1}^{N} \lambda_{ij} (x^{''}_1 - x^{''}_j) \\
      2w_{2}(x^{''}_2 - x^{'}_2) &= 4 \sum_{j=1}^{N} \lambda_{ij} (x^{''}_2 - x^{''}_j) \\
     &\vdots \\
      2w_{N}(x^{''}_N - x^{'}_N) &= 4 \sum_{j=1}^{N} \lambda_{ij} (x^{''}_N - x^{''}_j) \\
\end{align}
$$
Summation of equations in above system produces, $$ \begin{align} 2 \sum_{i = 1}^{N} w_i(x^{''}_i - x^{'}_i) &= 0 \\ \sum_{i = 1}^{N} w_i x^{''}_i &= \sum_{i = 1}^{N} w_i x^{'}_i \\ \end{align} $$ $$Q.E.D.$$

Insight

It shows that the determination of $R$ and $T$ can be decoupled by translating original point set with its center of mass.

Reference

[1] Lin, Zse Cherng, et al. "MOTION ESTIMATION FROM 3-D POINT SETS WITH AND WITHOUT CORRESPONDENCES." Unknown Host Publication Title. IEEE, 1986. 194-201.

댓글

이 블로그의 인기 게시물

Linux에서 특정한 디렉토리가 차지하는 용량을 효율적이고, 빠르게 계산하는 법(Fast, efficient way to calculate directory size recursively on linux)

Proof of well-known 'Intersection Of Three Planes' formula.

영화 'Call me by your name'의 OST 중 'Visions of Gideons' 번역 및 해석