这里有一个细节,我想了很久才想明白,DSO 中的 residual 联系了两个关键帧之间的相对位姿,但是最终需要优化帧的绝对位姿,中间的导数怎么转换?这里使用的是李群、李代数中的Adjoint。
参考 http://ethaneade.com/lie.pdf 。
需要变通一下,字母太多,表达不方便。此处 (xi) 表示 se(3) 和 affLight 参数。
Adjoint 在其中的使用如下(根据代码推断,具体数学推导看我的博客《Adjoint of SE(3)》):
[egin{align} {partial r_{th}^{(i)} over partial xi_{h}}^T {partial r_{th}^{(i)} over partial xi_{h}} &= left( {partial r_{th}^{(i)} over partial xi_{th}} {partial xi_{th} over partial xi_{h}}
ight)^T {partial r_{th}^{(i)} over partial xi_{th}} {partial xi_{th} over partial xi_{h}}
otag \ &= {partial xi_{th} over partial xi_{h}}^T {partial r_{th}^{(i)} over partial xi_{th}}^T {partial r_{th}^{(i)} over partial xi_{th}} {partial xi_{th} over partial xi_{h}}
otag \
{partial xi_{th} over partial xi_{h}} &= - ext{Ad}_{T_{th}}
otag \
{partial xi_{th} over partial xi_{t}} &= I
otagend{align}]
复习一下 Schur Complement:
[egin{align} egin{bmatrix} H_{
ho
ho} & H_{
ho X} \ H_{X
ho} & H_{XX} end{bmatrix} egin{bmatrix} delta
ho \ delta X end{bmatrix} &= - egin{bmatrix} J_{
ho}^T r \ J_X^T r end{bmatrix}
otag \
egin{bmatrix} H_{
ho
ho} & H_{
ho X} \ 0 & H_{XX} - H_{X
ho} H_{
ho
ho}^{-1} H_{
ho X} end{bmatrix} egin{bmatrix} delta
ho \ delta X end{bmatrix} &= - egin{bmatrix} J_{
ho}^T r \ J_X^T r - H_{X
ho} H_{
ho
ho}^{-1} J_{
ho}^T r end{bmatrix}
otag end{align}]
EnergyFuntional::accumulateAF_MT 和 EnergyFunctional::accumulateLF_MT 的目标是计算(H_{XX}, J_X^T r),EnergyFunctional::accumulateSCF_MT 的目标是计算(H_{X ho} H_{ ho ho}^{-1} H_{ ho X}, H_{X ho} H_{ ho ho}^{-1} J_{ ho}^T r)。
(X)是68维的,4个相机参数加上8*8个帧状态量。就不写出来了。
这里需要注意一下,(r)是Nx1,( ho)是Mx1,(M le N),即 residual 的数目与需要优化的逆深度的数目不一定相等。(J_{ ho})是NxM,(J_X)是Nx68。
非 Schur Complement 部分
[H_{XX} = egin{bmatrix} {partial r over partial C}^T {partial r over partial C} & {partial r over partial C}^T {partial r over partial xi} \ {partial r over partial xi}^T {partial r over partial C} & {partial r over partial xi}^T {partial r over partial xi} end{bmatrix}
]
[egin{align} {partial r over partial C}^T {partial r over partial C} &= egin{bmatrix} {partial r^{(1)} over partial C}^T & {partial r^{(2)} over partial C}^T & dots & {partial r^{(N)} over partial C}^T end{bmatrix} egin{bmatrix} {partial r^{(1)} over partial C} \ {partial r^{(2)} over partial C} \ dots \ {partial r^{(N)} over partial C} end{bmatrix}
otag \ &= sum_{i=1}^{N} {partial r^{(i)} over partial C}^T{partial r^{(i)} over partial C}
otag end{align}
]
[egin{align} {partial r over partial C}^T {partial r over partial xi} &= egin{bmatrix} {partial r^{(1)} over partial C}^T & {partial r^{(2)} over partial C}^T & dots & {partial r^{(N)} over partial C}^T end{bmatrix} egin{bmatrix} {partial r^{(1)} over partial xi_1} & {partial r^{(1)} over partial xi_2} & dots & {partial r^{(1)} over partial xi_8} \ {partial r^{(2)} over partial xi_1} & {partial r^{(2)} over partial xi_2} & dots & {partial r^{(2)} over partial xi_8} \ vdots & vdots & ddots & vdots \ {partial r^{(N)} over partial xi_1} & {partial r^{(N)} over partial xi_2} & dots & {partial r^{(N)} over partial xi_8} end{bmatrix}
otag \ &= egin{bmatrix} sum_{i=1}^{N} {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial xi_1} & sum_{i=1}^{N} {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial xi_2} & dots & sum_{i=1}^{N} {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial xi_8} end{bmatrix}
otag end{align}
]
[egin{align} {partial r over partial xi}^T {partial r over partial xi} &= egin{bmatrix} {partial r^{(1)} over partial xi_1}^T & {partial r^{(2)} over partial xi_1}^T & dots & {partial r^{(N)} over partial xi_1}^T \ {partial r^{(1)} over partial xi_2}^T & {partial r^{(2)} over partial xi_2}^T & dots & {partial r^{(N)} over partial xi_2}^T \ vdots & vdots & ddots & vdots \ {partial r^{(1)} over partial xi_8}^T & {partial r^{(2)} over partial xi_8}^T & dots & {partial r^{(N)} over partial xi_8}^T end{bmatrix} egin{bmatrix} {partial r^{(1)} over partial xi_1} & {partial r^{(1)} over partial xi_2} & dots & {partial r^{(1)} over partial xi_8} \ {partial r^{(2)} over partial xi_1} & {partial r^{(2)} over partial xi_2} & dots & {partial r^{(2)} over partial xi_8} \ vdots & vdots & ddots & vdots \ {partial r^{(N)} over partial xi_1} & {partial r^{(N)} over partial xi_2} & dots & {partial r^{(N)} over partial xi_8} end{bmatrix}
otag \
&= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T{partial r^{(i)} over partial xi_1} & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T{partial r^{(i)} over partial xi_2} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T{partial r^{(i)} over partial xi_8} \ sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T{partial r^{(i)} over partial xi_1} & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T{partial r^{(i)} over partial xi_2} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T{partial r^{(i)} over partial xi_8} \ vdots & vdots & ddots & vdots \ sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T{partial r^{(i)} over partial xi_1} & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T{partial r^{(i)} over partial xi_2} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T{partial r^{(i)} over partial xi_8} end{bmatrix}
otag end{align}]
[egin{align} J_{X}^Tr &= egin{bmatrix} {partial r over partial C}^T \ {partial r over partial xi}^T end{bmatrix} r
otag \ &= egin{bmatrix} {partial r^{(1)} over partial C}^T & {partial r^{(2)} over partial C}^T & dots & {partial r^{(N)} over partial C}^T \ {partial r^{(1)} over partial xi_1}^T & {partial r^{(2)} over partial xi_1}^T & dots & {partial r^{(N)} over partial xi_1}^T \ {partial r^{(1)} over partial xi_2}^T & {partial r^{(2)} over partial xi_2}^T & dots & {partial r^{(N)} over partial xi_2}^T \ vdots & vdots & ddots & vdots \ {partial r^{(1)} over partial xi_8}^T & {partial r^{(2)} over partial xi_8}^T & dots & {partial r^{(N)} over partial xi_8}^T end{bmatrix} egin{bmatrix} r^{(1)} \ r^{(2)} \ vdots \ r^{(N)}end{bmatrix}
otag \
&= egin{bmatrix} sum_{i = 1}^{N} {partial r^{(i)} over partial C}^T r^{(i)} \ sum_{i = 1}^{N} {partial r^{(i)} over partial xi_1}^T r^{(i)} \ sum_{i = 1}^{N} {partial r^{(i)} over partial xi_2}^T r^{(i)} \ vdots \ sum_{i = 1}^{N} {partial r^{(i)} over partial xi_8}^T r^{(i)} end{bmatrix}
otag end{align}]
所以算这些矩阵就是遍历每一个 residual,累加求和。
Schur Complement 部分
[egin{align} egin{bmatrix} H_{
ho
ho} & H_{
ho X} \ H_{X
ho} & H_{XX} end{bmatrix} egin{bmatrix} delta
ho \ delta X end{bmatrix} &= - egin{bmatrix} J_{
ho}^T r \ J_X^T r end{bmatrix}
otag \
egin{bmatrix} H_{
ho
ho} & H_{
ho X} \ 0 & H_{XX} - H_{X
ho} H_{
ho
ho}^{-1} H_{
ho X} end{bmatrix} egin{bmatrix} delta
ho \ delta X end{bmatrix} &= - egin{bmatrix} J_{
ho}^T r \ J_X^T r - H_{X
ho} H_{
ho
ho}^{-1} J_{
ho}^T r end{bmatrix}
otag end{align}]
Hsc:
[H_{X
ho} H_{
ho
ho}^{-1} H_{
ho X}
]
bsc:
[H_{X
ho} H_{
ho
ho}^{-1} J_{
ho}^T r
]
[egin{align} J_
ho^TJ_
ho &= {partial r over partial
ho}^T {partial r over partial
ho}
otag \
&= egin{bmatrix} {partial r^{(1)} over partial
ho^{(1)}}^T & {partial r^{(2)} over partial
ho^{(1)}}^T & dots & {partial r^{(N)} over partial
ho^{(1)}}^T \ {partial r^{(1)} over partial
ho^{(2)}}^T & {partial r^{(2)} over partial
ho^{(2)}}^T & dots & {partial r^{(N)} over partial
ho^{(2)}}^T \ vdots & vdots & ddots & vdots \ {partial r^{(1)} over partial
ho^{(M)}}^T & {partial r^{(2)} over partial
ho^{(M)}}^T & dots & {partial r^{(N)} over partial
ho^{(M)}}^T end{bmatrix} egin{bmatrix} {partial r^{(1)} over partial
ho^{(1)}} & {partial r^{(1)} over partial
ho^{(2)}} & dots & {partial r^{(1)} over partial
ho^{(M)}} \ {partial r^{(2)} over partial
ho^{(1)}} & {partial r^{(2)} over partial
ho^{(2)}} & dots & {partial r^{(2)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ {partial r^{(N)} over partial
ho^{(1)}} & {partial r^{(N)} over partial
ho^{(2)}} & dots & {partial r^{(N)} over partial
ho^{(M)}} end{bmatrix}
otag \
&= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(M)}} \ sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}} end{bmatrix}
otag \
&= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}} & 0 & dots & 0 \ 0 & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}} & dots & 0 \ vdots & vdots & ddots & vdots \ 0 & 0 & dots & sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}} end{bmatrix}
otag end{align}]
[egin{align} {partial r over partial C}^T {partial r over partial
ho} &= egin{bmatrix} {partial r^{(1)} over partial C}^T & {partial r^{(2)} over partial C}^T & dots & {partial r^{(N)} over partial C}^Tend{bmatrix} egin{bmatrix} {partial r^{(1)} over partial
ho^{(1)}} & {partial r^{(1)} over partial
ho^{(2)}} & dots & {partial r^{(1)} over partial
ho^{(M)}} \ {partial r^{(2)} over partial
ho^{(1)}} & {partial r^{(2)} over partial
ho^{(2)}} & dots & {partial r^{(2)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ {partial r^{(N)} over partial
ho^{(1)}} & {partial r^{(N)} over partial
ho^{(2)}} & dots & {partial r^{(N)} over partial
ho^{(M)}} end{bmatrix}
otag \ &= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}} end{bmatrix}
otag end{align}
]
[egin{align} {partial r over partial xi}^T {partial r over partial
ho} &= egin{bmatrix} {partial r^{(1)} over partial xi_1}^T & {partial r^{(2)} over partial xi_1}^T & dots & {partial r^{(N)} over partial xi_1}^T \ {partial r^{(1)} over partial xi_2}^T & {partial r^{(2)} over partial xi_2}^T & dots & {partial r^{(N)} over partial xi_2}^T \ vdots & vdots & ddots & vdots \ {partial r^{(1)} over partial xi_8}^T & {partial r^{(2)} over partial xi_8}^T & dots & {partial r^{(N)} over partial xi_8}^T end{bmatrix} egin{bmatrix} {partial r^{(1)} over partial
ho^{(1)}} & {partial r^{(1)} over partial
ho^{(2)}} & dots & {partial r^{(1)} over partial
ho^{(M)}} \ {partial r^{(2)} over partial
ho^{(1)}} & {partial r^{(2)} over partial
ho^{(2)}} & dots & {partial r^{(2)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ {partial r^{(N)} over partial
ho^{(1)}} & {partial r^{(N)} over partial
ho^{(2)}} & dots & {partial r^{(N)} over partial
ho^{(M)}} end{bmatrix}
otag \
&= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}} \ sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}} end{bmatrix}
otag end{align}]
[egin{align} H_{X
ho} H_{
ho
ho}^{-1} H_{
ho X} &= J_X^T J_
ho (J_
ho^TJ_
ho)^{-1} J_
ho^T J_X
otag \
&= egin{bmatrix} {partial r over partial C}^T \ {partial r over partial xi}^T end{bmatrix} {partial r over partial
ho} left( {partial r over partial
ho}^T {partial r over partial
ho}
ight)^{-1} {partial r over partial
ho}^T egin{bmatrix} {partial r over partial C} & {partial r over partial xi} end{bmatrix}
otag \
&= egin{bmatrix} {partial r over partial C}^T {partial r over partial
ho} \ {partial r over partial xi}^T {partial r over partial
ho} end{bmatrix} egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & 0 & dots & 0 \ 0 & left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & 0 \ vdots & vdots & ddots & vdots \ 0 & 0 & dots & left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} end{bmatrix}
otag \ & egin{bmatrix} {partial r over partial
ho}^T {partial r over partial C} & {partial r over partial
ho}^T {partial r over partial xi} end{bmatrix}
otag \
&= egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}} \ sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}} \ sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(M)}} \ vdots & vdots & ddots & vdots \ sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}} & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}} & dots & sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}} end{bmatrix}
otag \
&egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & 0 & dots & 0 \ 0 & left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & 0 \ vdots & vdots & ddots & vdots \ 0 & 0 & dots & left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} end{bmatrix}
otag \
&egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T \
vdots & vdots & ddots & vdots \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T end{bmatrix}
otag \
&= egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ vdots & vdots & ddots & vdots \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} end{bmatrix}
otag \
&egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)^T \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}}
ight)^T \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(3)}}
ight)^T \
vdots & vdots & ddots & vdots \ left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}}
ight)^T end{bmatrix}
otag end{align}]
同理
[egin{align} H_{X
ho} H_{
ho
ho}^{-1} J_
ho^T r
otag & =
otag egin{bmatrix} left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(1)}}
ight)left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial C}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_1}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_2}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} \ vdots & vdots & ddots & vdots \ left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(1)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T{partial r^{(i)} over partial
ho^{(1)}}
ight)^{-1} & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(2)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T{partial r^{(i)} over partial
ho^{(2)}}
ight)^{-1} & dots & left( sum_{i=1}^N {partial r^{(i)} over partial xi_8}^T {partial r^{(i)} over partial
ho^{(M)}}
ight) left( sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T{partial r^{(i)} over partial
ho^{(M)}}
ight)^{-1} end{bmatrix}
otag \
& egin{bmatrix} sum_{i=1}^N {partial r^{(i)} over partial
ho^{(1)}}^T r^{(i)} \ sum_{i=1}^N {partial r^{(i)} over partial
ho^{(2)}}^T r^{(i)} \
vdots \ sum_{i=1}^N {partial r^{(i)} over partial
ho^{(M)}}^T r^{(i)} end{bmatrix} end{align}]