Introduction
单应矩阵估计方法(传统+deep learning)
本文的工作
auxiliary loss function:
compares the dynamic mask
from the ground-truth dynamics map that is estimated from the training data.
Related Work
1.Pixel-based approaches
直接搜索使得两张图片对齐误差
最小的单应矩阵
已有的误差度量和参数搜索算法(层次估计、傅立叶对齐)能够使得这些方法强大高效。
适用情况:
对缺乏纹理的图像具有鲁棒性,但难以处理 较大运动
2.Feature-based approaches
- 使用算法(eg.SIFT and SURF)估计局部特征点
- 在两张图片间匹配特征点
- 对于一对匹配点,可基于 p 1 = H p 2 p_1=Hp_2 p1=Hp2 求解最小二乘问题来获得最佳单应矩阵
注意:
特征匹配时可能会产生错误,特征点可能会来自移动的对象
,因此常使用RANSAC和Magsac等鲁棒估计算法来去除异常值。
适用情况:
该方法的性能取决于局部特征的检测和匹配
,不太适用于模糊和缺乏纹理的图像
3.Deep learning approaches
以上方法 仅基于静态场景下取得成功,没有考虑动态场景
4.本文 multi-scale neural network 的改进
- 相较于之前的
hierarchical neural network
的工作,我们的method从输入图像的低分辨率版本开始,逐渐增加输入图像的大小,而非在每个阶段都以原始输入图像作为input,这使得我们的方法相对于大运动更加稳健。 - 相较于之前的
Lucas_Kanade layer
的工作,我们的method使用前一阶段估计的单应矩阵将输入图像预先对齐到下一阶段,以最小化全局运动。这有助于后期网络解决全局运动 - 加入
a dynamics mask network
来处理动态场景。<之前的neural network-based未考虑的>
Experiments
评估指标:the mean corner error
e c = 1 4 ∑ j = 1 4 ∣ ∣ c j − c j ^ ∣ ∣ 2 e_c=\frac{1}{4}\sum_{j=1}^{4}||c_j-\hat{c_j}||_2 ec=41j=1∑4∣∣cj−cj^∣∣2
其中,
c
j
c_j
cj 是
c
o
r
n
e
r
j
corner\ j
corner j 通过estimated homography
变换得到的,
c
j
^
\hat{c_j}
cj^ 是
c
o
r
n
e
r
j
corner\ j
corner j 通过 ground-truth homography
得到的。
训练集的影响
我们分别在动态场景的静态版本和动态版本上训练了homography network
动态区域大小的影响
Discussions
Scale selection
An important hyper-parameter
of our multi-scale neural network:number of scales
Real-World videos
- 我们使用合成数据集进行训练,并在NUS stabilization benchmark的video进行了测试
- 实验结果显示我们的网络可以很好的应用于真实视频,并且可以通过检查dynamics masks来识别动态内容
Parallx
视差的简单解释:
把手指放在据眼睛较近的地方,分别用左右两只眼睛看手指,会发现他们的位置不一样,用数学方式把这个差距计算出来,就是视差。
在上述真实世界的视频中我们发现我们的网络也可以处理视差。
我们在optical flow benchmarks的数据集 Middlebury和Sintel 上进行测试:
- 使用我们的method来估计两个帧之间的homography
- 使用计算出的homography将这两个帧对齐
- 计算两个对齐的帧之间的光流
(c)中对齐后背景中几乎没有运动,而靠近相机的物体没有对齐,这表明,当我们把foreground objects也当作异常值(像dynamic object一样)去除之后,就能够找到一个homography来处理在尽可能大的区域里的运动。
我们的method就是通过检测 foreground objects 并也把它视作outliers进行处理。