一种基于流形优化的图像拼接方法与流程

文档序号:14941494发布日期:2018-07-13 20:58阅读:326来源:国知局

本发明涉及一种图像拼接方法,特别涉及一种基于流形优化的图像拼接方法,属于图像处理以及图像拼接技术领域。



背景技术:

随着可视化媒体的逐渐发展,社会大众对于媒体信息也有了更高的需求。除了希望可以得到更高的分辨率和更清晰的图像之外,人们还希望图像中可以涵盖更大视角的场景信息。但是当前一般的拍摄设备因为摄像头硬件条件的限制,无法获取到更大视角的图像。虽然有可以拍摄出更大视角的广角相机或是超广角相机,但是这类相机的成本一般会比较高,而且操作起来会非常复杂,只有专业的人士才可以使用,在普通用户中很难推广。为了可以迎合大众在这方面的需求,利用图像拼接获取广视角图像的科研方向逐步发展起来。

之前的图像拼接方法都是在欧氏空间操作,得到的图像可能会有扭曲的产生,本发明的操作基本都是在流形空间中进行,可以有效避免在欧氏空间中可能会产生的问题,从而得到一幅平滑而自然的拼接图像。



技术实现要素:

本发明的目的就是要利用流形优化的优势来实现图像的拼接,并得到一幅平滑自然的广角图像,提出了一种基于流形优化的图像拼接方法。

本发明的核心思想是将图像拼接的中的变换矩阵映射到流形空间去,在流形空间中通过一系列的优化插值得到最后的图像变换矩阵,然后再将该矩阵映射到欧氏空间并作用到变换图像上,最后将参照图像和变换图像融合到一起得到最后的广角图像;之所以将矩阵的操作放到流形空间是因为从李群的角度俩看,变换矩阵在欧氏空间中的加减运算是不合理的,容易产生奇异的结果,而在流形空间则会避免这样的情况,所以将变换矩阵的操作放入流形空间。

本发明的具体实现步骤如下:

一种基于流形优化的图像拼接方法,该方法包括以下步骤:

步骤一、将待拼接的两幅图像的重叠部分进行对齐;

其中,使用i1和i2来表示待拼接的两幅图像;

步骤1.1、求取待拼接的两幅图像的对应特征点;具体为:

首先使用特征点提取的算法检测图像i1和图像i2的特征点;然后进行粗匹配;再利用ransac算法进一步筛选出准确的匹配特征点;

步骤1.2、利用流形优化的方法获取图像变换矩阵,具体为:

步骤1.2.1、将图像i2网格化,即将图像i2为w×h个网格;

其中,w为宽,h为高,共m=w×h个网格;

步骤1.2.2、在流形空间中获取步骤1.2.1中w×h个网格的变换矩阵;

在流形空间中获取w×h个网格中的每一个网格的变换矩阵,具体通过迭代优化能量函数(1)来得到:

其中,m=w×h表示所有的网格数;i表示w×h个网格按行排列后的第i个网格;ni表示第i个网格内的所有匹配特征点数;是第i个网格前一次迭代后得到的变换矩阵,初始的值设为直接线性变换得到的全局单应矩阵;

hi(xi)表示第i个网格每次迭代要更新的值,而xi就是hi(xi)在流形空间中的表示形式,第i个网格在每一次迭代后都会得到xi,将其转换到欧氏空间后利用更新之后再次迭代;w(h)(pj)表示变换矩阵h与点pj坐标的齐次形式相乘得到新的坐标位置;表示利用第i个网格变换矩阵变换该网格内的特征点pj后得到的特征点与实际检测到的特征点p'j之间的距离;k表示第i个网格的四个顶点;k表示第i个网格内按行排列的第k个顶点;μk表示与顶点qk相连接的网格集合;表示第i个网格变换矩阵和第l个网格变换矩阵变换同一个网格顶点qk后相差的距离;λ是为了平衡匹配项和平滑项而设立的参数;

为了求解能量函数,令:

其中,yi(x)表示与第i个网格优化所涉及的所有能量项组成的向量;ni表示在第i个网格内的特征点对数;表示在第i个网格中,利用第j对特征点建立的能量项,可以表示为其中表示利用对pji做变换,也可以表示为“○”代表操作的叠加:先用hi(xi)与pji的齐次形式相乘得到新的坐标位置,再用与之前得到的新的坐标位置相乘;fi表示第i个网格的顶点数,fi=4;vki(x)表示与第i个网格中的第k(k∈fi)个顶点建立的能量项,可以表示为l∈μk;

将公式(2)带入公式(1)推出通过优化w×h个网格的y(x),就可得能量函数(1)的优化结果,进而就可得到w×h个网格的变换矩阵;由于w×h个网格计算的过程是一样的,而且是独立进行的,为了简化表示就用y(x)来表示当前处理网格的yi(x);

步骤1.2.2,又具体包括如下子步骤:

步骤1.2.2.a、将y(x)按照泰勒公式展开,得到了如下公式(3):

其中,j(x)为y(x)的雅各比矩阵,如公式(4);m(0,x),即m(x1=0,x2=x),它的计算过程如公式(5)所示:

再将公式(3)带入得到(6):

j(x)=j(0)+m(0,x)+o(||x||2)(6)

将公式(6)带入公式(3)得到(7):

(7)公式的近似表示为(8):

至此,网格y(x)优化的目标是为了找一个x0使得y(x0)≈0;将y(x0)=0带入公式(8)后,可得x0=-2(j(0)+j(x0))+*y(0);

其中,(j(0)+j(x0))+表示(j(0)+j(x0))的伪逆矩阵;从x0=-2(j(0)+j(x0))+*y(0)看出,求出j(0)和j(x0),可得x0;

步骤1.2.2.b、求解j(0);

将公式(2)带入公式(5),并令x=0得得

其中:

是上一次迭代第l个网格的变换矩阵;由公式(9)和(10)看出,yi(x)和vi(x)都是由三个函数复合而成的,所有的求解可以由三个雅各比矩阵相乘得到,即为了求解需要求解ji、jw、jg、

步骤1.2.2.b.a、通过公式(11)求解ji;

其中,表示矩阵的雅各比矩阵;

步骤1.2.2.b.b、通过公式(12)求解jw:

令特征点pi=[uivi1]t那么jw就可以表示为(13):

步骤1.2.2.b.c、通过公式(14)求解jg:

通过利用流形映射的方式,将(14)表示为(15);

jg=[[a1]v[a2]v…[a8]v](15)

[ai]v是将ai按行变换为一个向量;其中

步骤1.2.2.b.d、通过公式(16)求解

其中,表示矩阵的雅各比矩阵;

步骤1.2.2.b.e、通过公式(17)求解

令特征点qk=[ekrk1]t那么就可以表示为公式(18);

就可以得到通过计算得到j(0);

步骤1.2.2.c、通过公式(19)求解j(x0);

将公式(2)带入公式(5),并令x=x0得公式(19):

其中表示为公式(20):

假设那么可表示为公式(21):

将(21)表示为公式(22):

可以表示为公式(23):

从公式(22)和(23)看出,yi(x)和vi(x)都是由三个函数复合而成的,所以的求解可以由三个雅各比矩阵相乘得到,即

步骤1.2.2.c.a、通过公式(24)求解:

其中,表示矩阵的雅各比矩阵;

步骤1.2.2.c.b、通过公式(25)求解:

那么可以表示为式(26):

步骤1.2.2.c.c、通过公式(27)求解

其中,表示矩阵的雅各比矩阵;

步骤1.2.2.c.d、通过公式(28)求解:

那么可以表示为公式(29):

就可以得到进而就可以得到j(x0);

计算出j(x0)和j(0)后,结合x0=-2(j(0)+j(x0))+*y(0)得到x0,然后利用黎曼指数函数将x0转换到欧氏空间,即h(x0);之后利用h(x0)更新

步骤1.2.2是一个网格在一次迭代过程中的计算,每一次迭代会将所有的网格变换矩阵更新一遍,然后再次迭代计算,一直到所有网格的x0的模长都小于阈值后停止迭代,此时每个网格得到的就是w×h个网格得到的变换矩阵;

步骤二、在流形空间中矫正非重叠部分的扭曲,得到变换后的图像;

步骤二之前的变换矩阵可以将图像i1和i2的重叠部分对齐,但是会让图像i2的非重叠部分产生投影扭曲,所以需要矫正这部分扭曲;

首先要利用之前的匹配特征点求取图像i2到i1的全局相似变换矩阵s,具体的公式如(30)和(31):

di=hi*(s)-1(30)

hi表示图像i2中第i个网格插值前的矩阵,表示图像i2中第i个网格插值后的变换矩阵,exp(a)表示黎曼指数函数,可以将流形空间的矩阵转换到欧氏空间中,log(a)表示黎曼对数函数,可以将欧氏空间中的矩阵转换到流形空间中,ti表示第i个网格插值的权重;该权重是通过如下的公式(32)计算:

其中,pi表示第i个网格的网格中心点,pmin和pmax的计算是通过下面的公式(33):

o是图像i2原始状态对应点的中心点,o′是图像i2目标状态对应点的中心

点,用表示图像变换的偏移向量;pi表示当前的网格中心点,pmin和pmax分别表示ai最小和最大时所对应网格中心点在方向上的投影点;在得到pmin和pmax后再按照公式(32)取权重ti,并得到新的网格变换矩阵;ti的计算可以使重叠部分的网格趋于步骤二中计算出的变换,非重叠部分的网格趋于相似变换;最后通过新的变换矩阵变换图像i2得到新的变换结果;

但是由于插值操作是针对整幅图像的,重叠部分也发生了变换,为了可以使插值后的图像i2依然可以与图像i1对齐,需要对图像i1也网格化为w×h个网格,并按照公式(34)求解图像i1w×h个网格的变换矩阵:

其中,表示图像i2第i个网格插值后的矩阵,表示图像i1第i个网格矫正后的矩阵,表示图像i2第i个网格插值前的矩阵;通过公式(34)调整图像i1的各个网格变换之后就可以使图像i1和图像i2的重叠部分重新对齐了,即得到了变换后的图像i1和i2

步骤三、图像融合,具体基于步骤二得到变换后的图像,再利用线性融合的方式将这两幅图像融合到一起,得到了一幅包含更大视角的图像;

至此,从步骤一到步骤三,完成了一种基于流形空间的图像拼接方法。

有益效果

本发明一种基于流形优化的图像拼接方法,对比现有技术,具有以下特点:

(1)本发明所述方法与传统欧氏空间的图像拼接方法相比,拼接的效果会更加自然平滑;之前的图像拼接方法都是在欧氏空间中操作图像的变换矩阵,例如变换矩阵的获取或是插值,但是从李群的角度来看,欧氏空间中的变换矩阵是不可以相加减的,那么诸如插值这样的操作如果放到欧氏空间中的话很容易就会产生奇异的结果,反映到图像上就是扭曲;而本发明将其放入流形空间中就避免了这种情况。

(2)本发明所述方法与传统欧氏空间的图像拼接方法相比,处理效率也会有所提升;从欧氏空间转换到流形空间,向量的维度会有所降低,这样就大大减小了优化过程中的计算量,计算的速度会更快。

附图说明

图1是本发明一种基于流形优化的图像拼接方法及实施例1中的流程示意图。

具体实施方式

下面结合附图和实施例对本发明所述方法的具体实施做详细说明。

实施例1

本实施例叙述了本发明一种基于流形优化的图像拼接方法的具体实现过程。图1本实施例的实现流程示意图。

从图1中可以看出,本发明及本实施例的具体实现步骤如下:

步骤a、将图像的重叠部分进行对齐;

在本次的步骤说明中使用i1和i2来表示待拼接的两幅图像;

步骤a.1、求取两幅图像的对应特征点;具体为:

首先使用sift(lowedg.objectrecognitionfromlocalscale-invariantfeatures[c]//computervision,1999.theproceedingsoftheseventhieeeinternationalconferenceon.ieee,1999,2:1150-1157.)算法检测图像i1和图像i2的特征点;然后进行粗匹配;再利用ransac算法进一步筛选出准确的匹配特征点;。

步骤a.2、利用流形优化的方法获取图像变换矩阵,具体为:

步骤a.2.1、将图像i2网格化,即将图像i2为w×h个网格;

其中,w=50为宽,h=50为高,共m=w×h=2500个网格;

步骤a.2.2、在流形空间中获取步骤a.2.1中w×h个网格的变换矩阵;

在流形空间中获取w×h个网格中的每一个网格的变换矩阵,具体通过迭代优化能量函数(35)来得到:

其中,m=50×50=2500表示所有的网格数;i表示50×50个网格按行排列后的第i个网格;ni表示第i个网格内的所有匹配特征点数;是第i个网格前一次迭代后得到的变换矩阵,初始的值设为直接线性变换得到的全局单应矩阵;

hi(xi)表示第i个网格每次迭代要更新的值,而xi就是hi(xi)在流形空间中的表示形式,第i个网格在每一次迭代后都会得到xi,将其转换到欧氏空间后利用更新之后再次迭代;w(h)(pj)表示变换矩阵h与点pj坐标的齐次形式相乘得到新的坐标位置;表示利用第i个网格变换矩阵变换该网格内的特征点pj后得到的特征点与实际检测到的特征点p'j之间的距离;k表示第i个网格的四个顶点;k表示第i个网格内按行排列的第k个顶点;μk表示与顶点qk相连接的网格集合;表示第i个网格变换矩阵和第l个网格变换矩阵变换同一个网格顶点qk后的距离;λ是为了平衡匹配项和平滑项而设立的参数,设置为1.5;

为了求解能量函数,令:

其中,yi(x)表示与第i个网格优化所涉及的所有能量项组成的向量;ni表示在第i个网格内的特征点对数;表示在第i个网格中,利用第j对特征点建立的能量项,可以表示为其中表示利用对pji做变换,也可以表示为“○”代表操作的叠加:先用hi(xi)与pji的齐次形式相乘得到新的坐标位置,再用与之前得到的新的坐标位置相乘;fi表示第i个网格的顶点数,fi=4;vki(x)表示与第i个网格中的第k(k∈fi)个顶点建立的能量项,可以表示为l∈μk;

将公式(36)带入公式(35)推出通过优化50×50个网格的y(x),就可得能量函数(35)的优化结果,进而就可得到50×50个网格的变换矩阵;由于2500个网格计算的过程是一样的,而且是独立进行的,为了简化表示就用y(x)来表示当前处理网格的yi(x);

步骤a.2.2,又具体包括如下子步骤:

步骤a.2.2.a、将y(x)按照泰勒公式展开,得到了如下公式(37):

其中,j(x)为y(x)的雅各比矩阵,如公式(38);m(0,x),即m(x1=0,x2=x),它的计算过程如公式(39)所示:

再将公式(37)带入得到(40):

j(x)=j(0)+m(0,x)+o(||x||2)(40)

将公式(40)带入公式(37)得到(41):

(41)公式的近似表示为(42):

至此,网格y(x)优化的目标是为了找一个x0使得y(x0)≈0;将y(x0)=0带入公式(42)后,可得x0=-2(j(0)+j(x0))+*y(0);

其中,(j(0)+j(x0))+表示(j(0)+j(x0))的伪逆矩阵;从x0=-2(j(0)+j(x0))+*y(0)看出,求出j(0)和j(x0),可得x0;

步骤a.2.2.b、求解j(0);

将公式(36)带入公式(39),并令x=0得

其中:

是上一次迭代第l个网格的变换矩阵;由公式(43)和(44)看出,yi(x)和vi(x)都是由三个函数复合而成的,所有的求解可以由三个雅各比矩阵相乘得到,即为了求解需要求解ji、jw、jg、

步骤a.2.2.b.a、通过公式(45)求解ji;

其中,表示矩阵的雅各比矩阵;

步骤a.2.2.b.b、通过公式(46)求解jw:

令特征点pi=[uivi1]t那么jw就可以表示为(47):

步骤a.2.2.b.c、通过公式(48)求解jg:

通过利用流形映射的方式,将(48)变换为(49);

jg=[[a1]v[a2]v…[a8]v](49)

[ai]v是将ai按行变换为一个向量;其中

步骤a.2.2.b.d、通过公式(50)求解

其中,表示矩阵的雅各比矩阵;

步骤a.2.2.b.e、通过公式(51)求解

令特征点qk=[ekrk1]t那么就可以表示为公式(52);

就可以得到通过计算得到j(0);

步骤1.2.2.c、求解j(x0);

将公式(36)带入公式(39),并令x=x0得公式(53):

其中表示为公式(54):

假设那么可表示为公式(55):

将(55)表示为公式(56):

可以表示为公式(57):

从公式(22)和(23)看出,yi(x)和vi(x)都是由三个函数复合而成的,所以的求解可以由三个雅各比矩阵相乘得到,即

步骤a.2.2.c.a、通过公式(58)求解:

其中,表示矩阵的雅各比矩阵;

步骤a.2.2.c.b、通过公式(59)求解:

那么可以表示为式(60):

步骤a.2.2.c.c、通过公式(61)求解

其中,表示矩阵的雅各比矩阵;

步骤a.2.2.c.d、通过公式(62)求解:

那么可以表示为公式(63):

就可以得到进而就可以得到j(x0);

计算出j(x0)和j(0)后,结合x0=-2(j(0)+j(x0))+*y(0)得到x0,然后利用黎曼指数函数将x0转换到欧氏空间,即h(x0);之后利用h(x0)更新

步骤1.2.2是一个网格在一次迭代过程中的计算,每一次迭代会将所有的网格变换矩阵更新一遍,然后再次迭代计算,一直到所有网格的x0的模长都小于阈值后停止迭代,阈值设为0.1,此时每个网格得到的就是50×50个网格得到的变换矩阵。

步骤b、在流形空间中矫正非重叠部分的扭曲;

之前的变换矩阵可以将图像i1和i2的重叠部分对齐,但是会让图像i2的非重叠部分产生投影扭曲,所以需要矫正这部分扭曲;

首先要利用之前的匹配特征点求取图像i2到i1的全局相似变换矩阵s,具体的公式如(64)和(65):

di=hi*(s)-1(64)

hi表示图像i2中第i个网格插值前的矩阵,表示图像i2中第i个网格插值后的变换矩阵,exp(a)表示黎曼指数函数,可以将流形空间的矩阵转换到欧氏空间中,可以使用matlab中的expm函数求取;log(a)表示黎曼对数函数,可以将欧氏空间中的矩阵转换到流形空间中,可以使用matlab中的logm函数求取;ti表示第i个网格插值的权重;该权重是通过如下的公式计算:

其中,pi表示第i个网格的网格中心点,pmin和pmax的计算是通过下面的公式(67):

o是图像i2原始状态对应点的中心点,o′是图像i2目标状态对应点的中心点,用表示图像变换的偏移向量;pi表示当前的网格中心点,pmin和pmax分别表示ai最小和最大时所对应网格中心点在方向上的投影点;在得到pmin和pmax后再按照公式(66)取权重ti,并得到新的网格变换矩阵;ti的计算可以使重叠部分的网格趋于步骤b中计算出的变换,非重叠部分的网格趋于相似变换;最后通过新的变换矩阵变换图像i2得到新的变换结果;

但是由于插值操作是针对整幅图像的,重叠部分也发生了变换,为了可以使插值后的图像i2依然可以与图像i1对齐,需要对图像i1也网格化50×50个网格,并按照公式(68)求解图像i150×50个网格的变换矩阵:

其中,表示图像i2第i个网格插值后的矩阵,表示图像i1第i个网格矫正后的矩阵,表示图像i2第i个网格插值前的矩阵;通过公式(68)调整图像i1的各个网格变换之后就可以使图像i1和图像i2的重叠部分重新对齐了;

步骤c、图像融合,具体基于步骤b得到变换后的图像i1和i2,再利用线性融合的方式将这两幅图像融合到一起,得到了一幅包含更大视角的图像;

按照步骤a到步骤c中方法,就可以将两幅不同视角拍摄的图像拼接成一幅广视角的图像。相比于之前的拼接方法,本发明将变换矩阵的一系列操作都放到流形空间中去执行,由此避免了欧氏空间中的很多限制,最后得到的拼接图像相比之前的方法也会更加平滑自然。

为了说明本发明的内容及实施方法,本说明书给出了一个具体实施例。在实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明所述方法。本领域的技术人员应理解:不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1