SPHP:形状保留半投影图像拼接

Shape-Preserving Half-Projective Warps for Image Stitching

本文提出了一种新的参数扭曲,它是投影变换和相似变换的空间组合。给定与两个输入图像相关的投影变换,基于对投影变换的分析,我们的方法将重叠区域的投影变换平滑地外推到非重叠区域,并且由此产生的扭曲在整个图像上逐渐从投影变为相似。提议的扭曲具有投影扭曲和相似扭曲的优点。它作为投影扭曲提供了良好的对齐精度,同时将单个图像的视角保留为相似扭曲。它还可以与更先进的基于局部扭曲的对齐方法相结合,例如尽可能投影的扭曲,以获得更好的对齐精度。使用建议的经线,通过缝合投影失真较小的图像(拉伸形状和放大尺寸),可以扩展视野。

Ⅰ 介绍

动机:通常图像拼接是找到全局参数扭曲使图像对齐。全局参数扭曲选择包括相似性、仿射和投影,具有强大的鲁棒性,但是并非针对所有场景和运动都很灵活。例如在非平面场景或有视差、运动物体时,无法提供精确的对齐。

为了解决上述问题,最近提出了几种局部扭曲模型。如平滑变换仿射 (SVA) 扭曲和尽可能投影 (APAP) 扭曲。这些方法不依赖于全局参数扭曲,而是在重叠区域采用局部参数扭曲,在非重叠区域,投影正则化用于平滑外推图像重叠之外的扭曲并整体类似于全局变换。

(a)和(b)为APAP扭曲,(c)和(d)是本文方法

使用APAP扭曲在非重叠区域投影扭曲严重改变了尺寸和形状,当下一张图像被拼接时,失真会进一步加大。

由于具有宽视野的单视角图像不可避免地会引入严重的形状/尺寸失真,因此解决方案必须提供多视角拼接图像。一个初步的想法是在重叠区域使用投影扭曲以更好地对齐,同时在非重叠区域使用相似扭曲以保留每个视图的视角。

本文提出了一种新的参数扭曲,即形状保持半投影扭曲,它是投影变换和相似变换的空间组合。这种组合同时考虑了对齐的灵活性和视角的保留。

Ⅱ 相关工作

  • 圆柱形和球形扭曲
  • 多单应和局部变换
  • 投影变换和相似变换

Ⅲ 提出的方法

投影变换分析

投影变换(单应矩阵)表示像素点(x,y)\to(x^\prime,y^\prime)在齐次坐标系下的线性变换关系:
\left[\matrix{x^{\prime}\cr y^{\prime}\cr 1}\right]\sim\left[\matrix{\hat{h}_{1}&\hat{h}_{2}&\hat{h}_{3}\cr \hat{h}_{4}&\hat{h}_{5}&\hat{h}_{6}\cr \hat{h}_{7}&\hat{h}_{8}&1}\right]\left[\matrix{x\cr y\cr 1}\right],\tag{1}
其中\sim表示依据尺寸相等。单应矩阵拥有8个参数,(x,y)(x^\prime.y^\prime)的映射可以表示为:
x^{\prime}={\hat{h}_{1}x+\hat{h}_{2}y+\hat{h}_{3}\over \hat{h}_{7}x+\hat{h}_{8}y+1},\quad y^{\prime}={\hat{h}_{4}x+\hat{h}_{5}y+\hat{h}_{6}\over \hat{h}_{7}x+\hat{h}_{8}y+1}. \tag{2}
当我们将(x,y)旋转一定角度,变为新的坐标(u,v)时,有如下对应关系:
\eqalignno{\left[\matrix{ x\cr y}\right]&=\left[\matrix{ \cos\theta & -\sin\theta\cr \sin\theta & \cos\theta}\right]\left[\matrix{ u\cr v}\right],&\hbox{(3)}\cr \theta&= {\rm atan} 2(-\hat{h}_{8}, -\hat{h}_{7}).&\hbox{(4)}}
进行坐标变换后,新的单应矩阵可以表示为:
\eqalignno{\left[\matrix{ x^{\prime}\cr y^{\prime}\cr 1}\right]\sim\left[\matrix{ h_{1} & h_{2} & h_{3}\cr h_{4} & h_{5} & h_{6}\cr -c & 0 & 1}\right]\left[\matrix{ u\cr v\cr 1}\right],&&\hbox{(5)}\cr {\rm where}\ \left[\matrix{ h_{1} & h_{2}\cr h_{4} & h_{5}}\right]=\left[\matrix{ \hat{h}_{1} & \hat{h}_{2}\cr \hat{h}_{4} & \hat{h}_{5}}\right]\left[\matrix{ \cos\theta & -\sin\theta\cr \sin\theta & \cos\theta}\right],& &\hbox{(6)}\cr (h_{3}, h_{6})=(\hat{h}_{3},\hat{h}_{6}), & &\hbox{(7)}\cr c=\sqrt{\hat{h}_{7}^{2}+\hat{h}_{8}^{2}}.&&\hbox{(8)}}
新的映射关系同样可以写为:
\eqalignno{&x^{\prime}=H_{x}(u, v)={h_{1}u+h_{2}v+h_{3}\over 1-cu},&\hbox{(9)}\cr &y^{\prime}=H_{y}(u, v)={h_{4}u+h_{5}v+h_{6}\over 1-cu}.&\hbox{(10)}}
于是将映射关系变为了uv相关的函数。即
[x^\prime, y^\prime]^T=H(u,v)=[H_x(u,v),H_y(u,v)]^T
坐标变换的好处在于单应矩阵中h_8=0了,坐标变换导致有如下性质:

  1. 尺度变化。单应矩阵H可以分解为仿射变换H_A和纯投影H_P,如下所示:
    \underbrace{\left[\matrix{ h_{1} & h_{2} & h_{3}\cr h_{4} & h_{5} & h_{6}\cr -c & 0 & 1}\right]}_{H}=\underbrace{\left[\matrix{ h_{1}+ch_{3} & h_{2} & h_{3}\cr h_{4}+ch_{6} & h_{5} & h_{6}\cr 0 & 0 & 1}\right]}_{H_{A}}\underbrace{\left[\matrix{ 1 & 0 & 0\cr 0 & 1 & 0\cr -c & 0 & 1}\right]}_{H_{P}}. \tag{11}
    像素点(u,v)局部区域的变化可以用单应矩阵H的雅可比矩阵的行列式表示,即
    \eqalignno{\det J(u, v)&=\det J_{A}(u, v)\cdot\det J_{P}(u, v)\cr &=s_{A}\cdot{1\over (1-cu)^{3}},&\hbox{(12)}}
    其中s_A=\det J_A(u,v)是取决于uv的常量。特别地,在(12)中,局部变换尺度因子只取决于uu越大,由单应H导致的尺度变化越大,如下图所示,沿着u轴增大的区域扭曲变形越大。

    投影扭曲和我们的保形半投影扭曲的比较。请注意,本文方法扭曲显示的形状和大小失真比投影扭曲小得多。
  2. H的线性

    仿射变换保留线长度比例,然而投影变换并不会。然而,在特定的坐标下,长度比例在投影变换下也可以被正确保留。在(9-10)式中,如果固定uH_x(u_0,v)H_y(u_0,v)v的线性函数:
    \eqalignno{&x^{\prime}=H_{x}(u_{0}, v)={h_2\over 1-cu_{0}}v+{h_{1}u_{0}+h_{3}\over 1-cu_{0}},&\hbox{(13)}\cr &y^{\prime}=H_{y}(u_{0}, v)={h_5\over 1-cu_{0}}v+{h_{4}u_{0}+h_{6}\over 1-cu_{0}}.&\hbox{(14)}}
    这表示,单应H保留了线的长度比例。

  3. 规则边界

    规则边界由移动直线扫出来,可以参数化表示为:{\bf s}(u,v)={\bf p}(u)+v\cdot{\bf r}(u),其中{\bf p}(u)为基准曲线,{ \bf r}(u)为导向曲线,考虑函数k(u,v)=f(u)v+g(u),其图形(由(u,v,k(u,v))构成的表面)可以表示为
    \left[\matrix{u\cr v\cr k(u, v)}\right]=\underbrace{\left[\matrix{u\cr 0\cr g(u)}\right]}_{{\bf p}(u)}+v\underbrace{\left[\matrix{0\cr 1\cr f(u)}\right]}_{{\bf r}(u)},\tag{15}
    代表这是一个规则表面。而H_x(u,v)H_y(u,v)可以写成f(u)v+g(u)的形式,表示的图为规则表面。

半投影扭曲

本文的扭曲方法用到了上述坐标变换投影变换H的三个性质。首先,将{\mathbb R}^2依据直线u=u_1分为两个部分:R_H=\{(u,v)|u\leq u_1\}R_L=\{(u,v)|u\geq u_1\},对于像素点(u,v)\in R_H,应用原始变换H,对于像素点(u,v)\in R_L,应用相似变换S取代原始变换H,由性质1可知R_L区域会产生更大扭曲。

为了保证扭曲的连续性,我们必须保证在分界线处所有的S(u,v)=H(u,v),需要注意的是并非所有投影变换都满足这个条件因为投影变换并非都是线性的。幸运的是,由性质2可知,只要沿着v方向,扭曲的连续性就可以得到保障,在分界线上对所有v而言,有
S(u, v)={1\over 1-cu_{1}}\left(\left[\matrix{ h_{5} & h_{2}\cr -h_{2} & h_{5}}\right]\left[\matrix{ u\cr v}\right]+\left[\matrix{(h_{1}-h_{5})u_{1}+h_{3}\cr (h_{4}+h_{2})u_{1}+h_{6}}\right]\right).\tag{16}
u_1的选择在第四节中会详细介绍。

(a)原始图像;(b)通过单应$H$扭曲的变换;(c)C^0扭曲变换;(d)C^1扭曲变换

扭曲变换可以保证连续性(C^0),但是在分界线u=u_1处,会有一个突变值,为减少这一人为因素的影响,在R_L区域不是只用一个单应变换,而是引入缓冲区域让H平缓地过渡到S,使其拥有连续可微的性质。

C^1外推法

为了形成C^1扭曲,作者提出进一步将R_L划分为R_T=\{(u,v)|u_1<u<u_2\}R_S=\{(u,v)|u_2<u\},根据像素点所在区域,采用不同的扭曲变换:
w(u, v)=\left\{\matrix{ H(u, v) & {\rm if}\ (u, v)\in R_{H}\cr T(u, v) & {\rm if}\ (u, v)\in R_{T}.\cr S(u, v) & {\rm if}\ (u, v)\in R_{S}}\right.\tag{17}
其中T(u,v)R_T区域的扭曲函数,介于H(u,v)S(u,v)之间。S(u,v)R_S区域的相似变换,参数化相似变换为:
S(u, v)=\left[\matrix{{S_{x}(u, v)}\cr {S_{y}(u, v)}}\right]=\left[\matrix{ \alpha & -\beta\cr \beta & \alpha}\right]\left[\matrix{ u\cr v}\right]+\left[\matrix{ t_{x}\cr t_{y}}\right]. \tag{18}
给定投影变换H,可以首先确定u_1u_2然后利用式(17)构建变换w

由性质3可知,H_xH_y都构成规则表面,由式(18)可知,S_xS_y也构成规则表面,这要求T_x(u,v)T_y(u,v)也要构成规则表面,因此我们假设T(u,v)有以下形式:
T(u, v)=\left[\matrix{T_{x}(u, v)\cr T_{y}(u, v)}\right]=\left[\matrix{f_{x}(u)\cr f_{y}(u)}\right] +\left[\matrix{g_{x}(u)\cr g_{y}(u)}\right]. \tag{19}
为了确定扭曲w,需要确定的参数有S中的\alpha\betat_xt_y,以及T中的f_xf_yg_xg_y,夹着这四个函数都是u的多项式,由式(9,10,18,19)代入式(17),可以得到
w(u, v)=\left[\matrix{w_{x}(u, v)\cr w_{y}(u, v)}\right]=\left[\matrix{F_{x}(u)v+G_{x}(u)\cr F_{y}(u)v+G_{y}(u)}\right],\tag{20}
其中
\eqalignno{&F_{x}(u)=\left\{\matrix{ {h_2\over 1-cu} & {\rm if}\ u\leq u_{1}\qquad\ \ \cr f_{x}(u) & {\rm if}\ u_{1} < u < u_{2}\, \cr -\beta & {\rm if}\ u_{2}\leq u\qquad}\right.&\hbox{(21)}\cr &G_{x}(u)=\left\{\matrix{ {h_{1}u+h_{3}\over 1-cu} & {\rm if}\ u\leq u_{1}\qquad\ \cr g_{x}(u) & {\rm if}\ u_{1} < u < u_{2}\cr \alpha u+t_{x} & {\rm if}\ u_{2}\leq u\qquad}\right.&\hbox{(22)}}
F_yG_y可以用相同形式表示。

接下来需要找到\alpha\betat_xt_yf_xf_yg_xg_y等参数,这就要求F_x(u)G_x(u)是连续的,以F_x(u)为例,由式(21),C^1连续有:
\eqalignno{&f_{x}(u_{1})={h_2\over 1-cu_{1}}\qquad (F_{x}(u_{1}) {\rm is}\ \ {\rm continuous}) &\hbox{(23)}\cr &f_{x}^{\prime}(u_{1})={ch_2\over (1-cu_{1})^{2}}\quad (F_{x}^{\prime}(u_{1}) \ {\rm is} \ {\rm continuous}) &\hbox{(24)}\cr & f_{x}(u_{2})=-\beta\qquad\qquad (F_{x}(u_{2}) \ {\rm is} \ {\rm continuous}) &\hbox{(25)}\cr &f_{x}^{\prime}(u_{2})=0\qquad\qquad\quad (F_{x}^{\prime}(u_{2}) \ {\rm is} \ {\rm continuous}) &\hbox{(26)}}
故可以求得f_x\beta,同样可以利用F_y(u)计算得到f_y\alpha,用相同方法,可以由G_xG_y求得其他参数。

到此,就可以根据一个单应矩阵H将待拼接图像划分为不同区域,采用不同扭曲变换获得连续性,采用一半投影变换一半相似变换的方式进行拼接。

Ⅳ 图像拼接

形状保留图像拼接

给定两幅图像I_1I_2,假设两幅图由H_{12}相关,即将(x_2,y_2)映射到(x_1,y_1)上,若I_2通过w扭曲,则I_1通过w\cdot H_{12}^{-1}扭曲,当w=H_{12}时,相当于固定I_1I_2扭曲,当w=I时,相当于固定I_2I_1扭曲。

为了使拼接图像尽可能保持视角不变,我们希望扭曲变换w使图像进行尽可能多的相似变换。为了实现这一想法,令I_i的函数E_i表示扭曲矩阵w_i的分化,即
\eqalignno{&E_{i}(u_{1}, u_{2})\cr & =\min_{a_{i}, b_{i}}\iint_{(x, y)\in\Omega_{i}}\left\Vert J_{i}(x, y;u_{1}, u_{2})-\left[\matrix{ a_{i} & -b_{i}\cr b_{i} & a_{i}}\right]\right\Vert_{F}^{2}dxdy &\hbox{(27)}}
其中\Omega_iI_i的矩形区域,J_{i}(x, y;u_{1}, u_{2})w_i(x,y)处的雅可比矩阵,由于u_1u_2w_i的参数,因此雅可比矩阵由(u_1,u_2)决定。

当拼接两幅图像时,总能量
E(u_1,u_2)=E_1(u_1,u_2)+E_2(u_1,u_2)
能量函数是非线性的,作者采用均匀采用对其进行优化。

对于图像序列\{I_1,I_2,\cdots,I_n\},使用群组拼接策略找到所有图像的对应关系。给每对相邻图像找单应H_{i,i+1},并计算出第一张图和最后一张图的H_{1,n},用于产生扭曲wI_nw扭曲,而其余图像由w\cdot H_{in}^{-1}扭曲。

使用本文的warp分析三幅图像之间的几何关系。
结合APAP扭曲

所提方法关注保留视角一致但不关注对齐的正确性。然而,可以和对齐正确性方法进行结合来获得两者的优点。APAP是其中最先进的一种方式。一种方法就是用移动直接线性变换估计的APAP扭曲取代投影变换。然而这就为估计u_1u_2带来了困难。作者提出了一个简单的方案结合APAP和所提方法。

(a) 本文的扭曲可以解释为一个投影扭曲,然后是一个后扭曲进行细化。(b) 在apap warp之后应用我们的post warp进行集成。(c) 使用apap+本文warp的两个图像之间的几何关系。

投影变换H后引入w\cdot H^{-1}表示为上图(a),后扭曲可以认为是对扭曲的矫正,只作用于R_L区域。尽管APAP是局部变换,但在全局也是用的投影变换,因此,可以先用APAP进行局部扭曲w_{APAP},再施加后扭曲w\cdot H^{-1},以进行调整。总的来说,结合APAP的扭曲函数可以表示为:
w\circ H^{-1}\circ w_{{\rm AP}{\rm AP}}.\tag{28}

Ⅴ 实验

结合本文方法和其他方法进行对比
多张图像的拼接效果
APAP方法与本文方法的结合

Ⅵ 结论

本文提出了一种新颖的图像拼接扭曲。我们的扭曲在保持其原始视角的同时全局对齐图像。与 APAP 扭曲相结合时,结果可提供准确的对齐、更少的失真和多视角视图。我们的参数选择程序目前没有考虑图像内容(例如,线特征)。因此,当场景充满线条结构时,所选参数对于减少线条失真可能无效。将来,我们还想探索将我们的扭曲应用于不同应用程序(例如视图变形)的可能性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275