论文笔记 | Computing Rectification Homographies for Stereo Vision

一、摘要

这是微软研究院张正友在Stereo Vision方向讲双目图像校正的一篇论文。提出了一种利用双目标定后得到的基础矩阵(Fundamental Matrix)来求两个相机校正用的单应矩阵的方法。主要的思路是分解单应矩阵为几个矩阵的乘积,每个矩阵有各自的用处,然后在保证最小失真的情况下依次求解,得到最终的单应矩阵。

这篇论文还有一些地方不是很明白,会在下面标注,以后搞清楚了再来填坑

二、How Dose It Work?

2.0 校正要做什么

在这里插入图片描述
由对极几何,世界坐标系上的一个点,投影在两个像平面,已知一个点m,则其相关点m‘会被约束在另一个像平面上的一条线(极线)上。

为了在Stereo Matching时能够较方便地找到对应点,在之前要将两幅图的极线对齐,这样在之后找的时候只要在一行里搜索就可以。

这就是校正要做的 ---- 实现极线对齐。

从Fundamental Matrix说起

基础矩阵是同时包含两个相机相对位置信息的矩阵。
它是3x3的,秩为2的矩阵。
它实现了将一幅图上的点(齐次坐标)映射到另一幅图上的一条线 ---- 极线。
也就是说对于两个相对点m,m’,有:
在这里插入图片描述
m’(Fm) = 0 ,也就是m’在Fm得到的线上。
而对于极点e,Fe = 0;即所以任何一条极线都过极点。

也就是说在像平面上有一个点(极点),所有的极线都过该点,那么如果要实现极线对齐(各极线都平行),就需要把这个点投影到无穷远处,比方说校正后极点被投影到了i = [1 0 0],根据之前的性质(Fe = 0),可以得到校正后的基础矩阵F为:
在这里插入图片描述
[i]x 指的是与这个点叉乘的矩阵
(?乘起来为0)

将所求的单应性矩阵记作H、H’;两个相关点m、m’。则变换后有:
在这里插入图片描述
由基础矩阵性质,可得:
在这里插入图片描述
将单应矩阵代入:
在这里插入图片描述
这里F(有上划线)是已知的,就得到了F与H,H’的关系:
在这里插入图片描述
这里设H为用三条直线表示的形式:
在这里插入图片描述
则对于极点有:
在这里插入图片描述
因为v,w与e相乘为0,说明e会在这两条线上,即这两条线相交于e。

可以用下面的图表示:
在这里插入图片描述
这里面包含了两个单应矩阵的联系,这种联系会在消除失真时用到。(?)

开始分解H

首先,H包含将e投影到无穷远处的投影变换矩阵Hp,这个矩阵会带来失真;投影到∞处后,需要一个矩阵将所有在∞处的点旋转到一条方向为[1 0 0]的线上,称为Similarity Transform – Ha。
(?为什么需要变到一条线上)

或者这么解释:将H分为一个投影变换Hp加上一个仿射变换Ha。
关于仿射变换可以参考:https://www.matongxue.com/madocs/244.html
简言之,就是线性变换+平移
(?为什么是一个投影+一个仿射)

这里有一个技巧,就是将H(3,3)定义为1,将w这条线约束在一个面上。论文中的原文是:It is convenient to equate the scale invariant homography H with a scale variant counterpart by dividing out wc.
(?)
即H如下:
在这里插入图片描述

投影变换Hp

因为Ha是仿射变换,所以有格式要求,可以将Hp定义为:
在这里插入图片描述
这样Ha就是:
在这里插入图片描述
所以Hp就由直线w来定义。
设w所对应的方向为z = [? µ 0]T,所以有:
在这里插入图片描述
设任意点P = [pi,u pi,v 1]T被Hp投影成:
在这里插入图片描述
其中:
在这里插入图片描述
对于投影变换会不可避免地带来失真,而最理想的情况就是Hp是一个仿射变换,此时不会带来失真,但由于w的存在,所以不可能为仿射变换。
而对应的最小化失真的方法就是对于任意点其wi都相差无几,那么最小化失真的criterion就是:
在这里插入图片描述
wc是对于图像平均点的w,即:
在这里插入图片描述
也可以写成如下形式:
在这里插入图片描述
或者用矩阵简单写成:
在这里插入图片描述
P是:
在这里插入图片描述
对于两个相机同时最小化失真,代入w = [e]xz, w’ = Fz,有:
在这里插入图片描述
对大小为w*h的图片,Pc为:
在这里插入图片描述
且有下面两个式子成立:
在这里插入图片描述
这样就可以求A,B矩阵。
A(对称的)可以分解为DDT。
令y = Dz。
然后经过一系列推导,
(这里涉及到一些高妙的数学推导,没看懂。。。)
得到一个结论,当:
在这里插入图片描述
有最小失真,所以整个流程是:
先求A,B --> 再求D,y --> 求z --> w = [e]xz(其中e由Fe = 0得到) --> Hp

仿射变换Ha = Hr*Hs

Hr的作用在于将被投影到无穷远处的两个极点,变换到一个方向上(这个方向定义为[1 0 0])
Hr写成下面的形式:
在这里插入图片描述
因为校正后的极点确实是在i = [1 0 0]处,所以有下面的式子:
在这里插入图片描述
从最后一行可以得到:
在这里插入图片描述
这里还留有一个自由项vc‘未知。
(怎么求vc’?)

现在还留有最后一个未知直线u
u可以用来减少投影带来的失真
现设减少失真的矩阵为:
在这里插入图片描述
那么判断失真的标准就是:选择图片四条边界上的中点(a,b,c,d变换后的对应点在上面加~),这四个点连成的两条线在变换后仍应该保持垂直,且长宽比不变。
数学上如下:
在这里插入图片描述
保持垂直:
在这里插入图片描述
保持长宽比:
在这里插入图片描述
这样求出的结果为:
在这里插入图片描述
在S前面加上一个缩放平移因子就是Hs。
(这个因子怎么选择?论文中选择的是一个作用后保持图片区域总和不变的因子)

结论

到目前,我们已经分别求出Hp,Hs,Hr,最后的单应矩阵就是HsHrHp。
另一个相机类似。
这篇论文涉及的数学比较复杂,很多地方不懂,但是还是能够知道作者的大致思想,对此我总结了以下六点:
。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值