直接线性变换(DLT)求解单应性矩阵

来源:互联网 发布:鼎捷软件家具行业 编辑:程序博客网 时间:2024/06/06 18:08

在图像拼接中,得到了两张图像的特征匹配,两个点集分别记作XX。用单应性变换来拟合二者的关系,可表达为

cuv1=Hxy1(1)

其中(uv1)TX中特征点的坐标,(xy1)TX中特征点的坐标,H即是单应性矩阵,代表它们之间的变换关系。

H是个3×3的矩阵,有8个自由度,所以待求未知参数有8个,

H=h1h4h7h2h5h8h3h6h9

DLT算法推导过程如下:将(1)式展开,前2行分别被第3行相除,得到

h1xh2yh3+(h7x+h8y+h9)u=0(2)

h4xh5yh6+(h7x+h8y+h9)v=0(3)

式(2)、式(3)可以整理为

Aih=0(4)

其中,

Ai=(x0y0100x0y01uxvxuyvyuv)

h=(h1h2h3h4h5h6h7h8h9)

由未知变量的个数可知,求解出H至少需要4对匹配点。通常情况下为了得到更稳定的结果,会用到多于4对的特征匹配。所以,这个方程会变成超定的,可以将最小二乘解作为最后的解。

方程的最小二乘解有一个既定的结论,即对A进行SVD分解,A的最小的奇异值对应的右奇异向量即是h的解。对h做reshape得到H

0 0
原创粉丝点击