Paper name
Video Stitching with Spatial-Temporal Content-Preserving Warping
Paper Reading Note
URL: http://openaccess.thecvf.com/content_cvpr_workshops_2015/W10/papers/Jiang_Video_Stitching_With_2015_CVPR_paper.pdf
TL;DR
该文章将14年cvpr的parallex-tolarent image stitching扩展到时域上,结合video stabilization来取得视频上的较好的拼接结果,所提出的具体方法有:1.在时域和空域同时进行local warping and composition;2.加权3Dgraphcut处理拼缝
Introduction
-
视频拼接应用:
- 360°全景相机,用于安防、远程会议、远程展示
- 沉浸式虚拟现实、增强现实体验
-
视频拼接的难点:
- 相机不共光心,场景不能近似成平面
- 前景目标在输入的各视频流中运动
- 视频抖动
-
如下图所示的三个视频拼接的场景,直接对每帧输入使用流行的图片拼接方法进行拼接,会遇到前景目标变形信息缺失的情况
-
视频拼接需要在处理好视差的同时,让拼接在时域上有一定的一致性,另外还需要解决相机抖动的问题,比如对于室外的安防摄像头、手持相机、手机摄像机等场景
-
作者基于在时域和空域同时进行local warping and composition实现了一种新的视频拼接方法
- 对于视频帧空间对齐,作者提出了spatial-temporal content-preserving warping算法,能够对于每帧每个相机来同时更新一个homography mesh,以实现不同相机视频的空间对齐的同时能够保证时域上的对齐一致性
- 对于视频的帧组合部分,作者提出了一种加权的3D graphcut算法来处理overlap区域的组合问题,移动物体和显著性物体的像素区域都有更高的权重来避免被拼缝切割,能够进一步降低拼接的artifacts
Dataset/Algorithm/Model/Experiment Detail
- 如上图所示,所提出的方法分为两个部分:
- 1.帧的空间对齐
- 基于全局homography的初对齐
- 基于优化时域空域的local warp来最小化不同相机以及不同时间上的对齐损失
- 2.组合对齐后的视频帧成一个完整的全景视频
- 加权3Dgraphcut
- 1.帧的空间对齐
3.1 Frame Alignment of Multiple Videos
3.1.1 Pre-warping with Global Transformation
- 基于SIFT检测前K帧,各相机的frame上的特征点,使用所有匹配的特征点和RANSAC算法计算一个全局的Homography( H i S H^{S}_{i} HiS)
- 为了使基于该homography的全局对齐在时域上平滑,类似于video stabilization中的操作,作者使用时域的global homography transmation( H i , t T H^{T}_{i,t} Hi,tT),作用于每一帧来对全局的homography进行转换(这对于多摄像头设备在移动或者抖动的情况下缓解抖动特别有效)
-
H
i
,
t
T
H^{T}_{i,t}
Hi,tT的求取方式为:
- 首先计算连续帧的平均homography transmation:
其中 A i T ( t − 1 , t ) A^{T}_{i}(t-1,t) AiT(t−1,t)为时序上连续两帧的homography - 然后即可计算出homography transmation(
H
i
,
t
T
H^{T}_{i,t}
Hi,tT)
其中第一帧的 H i , t − 1 T H^{T}_{i,t-1} Hi,t−1T为单位矩阵I
- 首先计算连续帧的平均homography transmation:
- 如上图所示,基于全局的Homography(
H
i
S
H^{S}_{i}
HiS)与时域上的全局homography transmation(
H
i
,
t
T
H^{T}_{i,t}
Hi,tT),可以对图片及图片上特征点进行pre-warp
3.1.2 Spatial-Temporal Local Warping
- 在全局的transformation之后,作者使用了spatial-temporal local warping来解决视频帧之间的视差问题
- 如上图所示,作者将每个图片帧分成M1xM2的网格,作者希望同时优化各网格的位置,使匹配的特征点能够更好得进行对齐,使用的匹配cost term是空域上和时域上的cost的线性组合:
其中前三项的 E d s E_{ds} Eds, E g s E_{gs} Egs, E s s E_{ss} Ess是代表时域一致性的损失,与论文parallax-tolarent image stitching中的定义一致,分别代表local alignment,global alignment和网格平滑项;后三项的 E d t E_{dt} Edt, E g t E_{gt} Egt, E s t E_{st} Est分别代表对应的在时域上的损失项
local alignment用于基于匹配的特征点调节local homography来避免视差;global alignment用于对没有很多匹配特征点的区域进行align,使得这些区域的local align更稳定;网格平滑项用于避免极端的扭曲 - 优化求解方式:
- 由于其中所有项均为二次项,可以基于线性最小二乘求解
- 对于多个摄像头以及长时间的视频帧,对每个时刻单独进行求解可能有累积误差,所以基于bundle adjustment来对所有的摄像头和所有时域上的视频帧同时优化
- 作者所提出的STCPW的效果如下图所示,基于单帧的CPW存在这大量的鬼影artifacts,;STGlobal(使用1x1网格,K=10frame)可以降低时域上的不一致性,但是仍然有鬼影的artifacts;使用STCPW(15x15网格,k=10frame),能够最大程度降低鬼影和保持时域上的一致性
3.2 Spatial-Temporal Seam Finding
- 进行完对齐过程后,需要将所有的对齐后的视频帧处理成全景视频,作者使用了spatial-temporal seam finding来搜索overlap区域的拼缝
- 基于graphcut方式,首先基于overlap区域的像素点构建graph,其中边缘包含空域和时域的edges,cost设计为:
其中D为像素间的距离衡量方式,这里使用的sum of squared difference(SSD);另外其中 o p o_{p} op和 o q o_{q} oq用于对物体显著性进行加权,其中加权的来源为人脸检测和motion detection,然后对于人脸和主导性的移动进行加权 - 得到上述构建的graph后,可以使用max-flow算法找到最优拼缝,拼缝在时域上使用的划窗大小为(-L,L),其中L可选择为1-3,L为1的情况下计算量相比于单帧仅增加20%左右
- 作者之后使用与autostitch方式相同的multi-band blending与color correction来进行后处理
实验结果
- 能够较好处理前景物体及运动物体
Thoughts
- 该文章将14年cvpr的parallex-tolarent image stitching扩展到时域上,结合video stabilization来取得视频上的较好的拼接结果
- 前景移动物体的匹配特征点较少,前景移动物体分割或许能有帮助
- 大的曝光变化、FOV变化、色彩变化对于时域不一致性的影响在该论文中未解决