直接法
已知3维坐标,在灰度不变的条件下,求解姿态随灰度的变化率
(1):稀疏直接法:稀疏关键点直接进行运算
(2):半稠密(Semi-Dense)直接法:使用部分像素点,抛弃梯度为零的点
(3):稠密直接法:计算所有像素点
-
已知:
p 1 = [ u v 1 ] 1 = 1 Z 1 K P p_1=\left[\begin{matrix}u\\v\\1\end{matrix}\right]_1=\frac{1}{Z_1}KP p1=⎣⎡uv1⎦⎤1=Z11KP
p 2 = [ u v 1 ] 2 = 1 Z 2 K ( R P + t ) = 1 Z 2 K ( T P ) 1 : 3 p_2=\left[\begin{matrix}u\\v\\1\end{matrix}\right]_2=\frac{1}{Z_2}K(RP+t)=\frac{1}{Z_2}K(TP)_{1:3} p2=⎣⎡uv1⎦⎤2=Z21K(RP+t)=Z21K(TP)1:3 -
亮度误差
I 1 , I 2 : 灰 度 值 I_1,I_2:灰度值 I1,I2:灰度值
e = I 1 ( p 1 ) − I 2 ( p 2 ) ( 两 个 像 素 之 间 的 误 差 ) e=I_1(p_1)-I_2(p_2)(两个像素之间的误差) e=I1(p1)−I2(p2)(两个像素之间的误差) -
优化目标函数:
m i n T J ( T ) = ∣ ∣ e ∣ ∣ 2 ( e i = I 1 ( p 1 , i ) − I 2 ( p 2 , i ) ) min_{T}J(T)=||e||^2(e_i=I_1(p_1,i)-I_2(p_2,i)) minTJ(T)=∣∣e∣∣2(ei=I1(p1,i)−I2(p2,i)) -
令:
q = T P : q 第 二 个 像 素 坐 标 系 下 的 坐 标 , T : 相 机 位 姿 q=TP:q第二个像素坐标系下的坐标,T:相机位姿 q=TP:q第二个像素坐标系下的坐标,T:相机位姿
u = 1 Z 2 K q : u : 像 素 坐 标 , K 相 机 内 参 u=\frac{1}{Z_2}Kq:u:像素坐标,K相机内参 u=Z21Kq:u:像素坐标,K相机内参
e ( T ) = I 1 ( p 1 ) − I 2 ( u ) ∂ e ∂ T = ∂ I 2 ∂ u ∂ u ∂ q ∂ q ∂ δ ξ δ ξ ∂ u ∂ q = [ ∂ u ∂ X ∂ u ∂ Y ∂ u ∂ Z ∂ v ∂ X ∂ v ∂ Y ∂ v ∂ Z ] = [ f x Z 0 − f x X Z 2 0 f y Z − f y Y Z 2 ] ∂ u ∂ δ ξ = [ f x Z 0 − f x X Z 2 − f x X Y Z 2 f x + f x X 2 Z 2 − f x Y Z 0 f y Z − f y Y Z 2 − f y − f y Y 2 Z 2 f y X Y Z 2 f y X Z ] J = − ∂ I 2 ∂ u ∂ u ∂ δ ξ e(T)=I_1(p_1)-I_2(u)\\ \frac{\partial e}{\partial T}=\frac{\partial I_2}{\partial u}\frac{\partial u}{\partial q}\frac{\partial q}{\partial \delta \xi}\delta \xi\\ \frac{\partial u}{\partial q}=\left[\begin{matrix}\frac{\partial u}{\partial X}&\frac{\partial u}{\partial Y}&\frac{\partial u}{\partial Z}\\ \frac{\partial v}{\partial X}&\frac{\partial v}{\partial Y}&\frac{\partial v}{\partial Z}\end{matrix}\right]=\left[\begin{matrix}\frac{f_x}{Z}&0&-\frac{f_xX}{Z^2}\\ 0&\frac{f_y}{Z}&-\frac{f_yY}{Z^2}\end{matrix}\right]\\ \frac{\partial u}{\partial \delta\xi}=\left[\begin{matrix}\frac{f_x}{Z}&0&-\frac{f_xX}{Z^2}&-\frac{f_xXY}{Z^2}&f_x+\frac{f_xX^2}{Z^2}&-\frac{f_xY}{Z}\\ 0&\frac{f_y}{Z}&-\frac{f_yY}{Z^2}&-f_y-\frac{f_yY^2}{Z^2}&\frac{f_yXY}{Z^2}&\frac{f_yX}{Z}\end{matrix}\right]\\ J=-\frac{\partial I_2}{\partial u}\frac{\partial u}{\partial \delta \xi} e(T)=I1(p1)−I2(u)∂T∂e=∂u∂I2∂q∂u∂δξ∂qδξ∂q∂u=[∂X∂u∂X∂v∂Y∂u∂Y∂v∂Z∂u∂Z∂v]=[Zfx00Zfy−Z2fxX−Z2fyY]∂δξ∂u=[Zfx00Zfy−Z2fxX−Z2fyY−Z2fxXY−fy−Z2fyY2fx+Z2fxX2Z2fyXY−ZfxYZfyX]J=−∂u∂I2∂δξ∂u