一种在线视频拼接方法系统与流程

文档序号:14993705发布日期:2018-07-20 23:06阅读:392来源:国知局

本发明涉及视频拼接技术领域,尤其涉及一种在线视频拼接方法系统。



背景技术:

视频拼接技术的目标是将多个同步拍摄的具有一定重叠度的视频拼接得到一个具有更大视场范围的视频。近年来,随着虚拟现实,增强现实,机器人导航定位等领域的蓬勃发展,与其紧密相关的视频拼接技术也得到了密切关注。视频拼接主要需要解决两个方面的问题:不同视频对应帧之间的拼接关系,以及拼接结果在时间序列上的稳定性。

针对以上两个问题,现有的视频拼接方法主要有:基于单一拼接模型的在线视频拼接和基于局部拼接模型的离线视频拼接;

基于单一拼接模型的在线视频拼接采用同一个拼接模型来拼接整个视频序列。这类方法通过对视频的某一帧或某几帧进行特征点匹配,从而估计出一个较优的视频拼接模型,然后对视频后续的所有帧采用这一估计出的拼接模型直接进行拼接。该方法实现流程简单,拼接结果在时间序列上的稳定性较好,但是由于视频中的场景的不断变化,估计出的拼接模型不一定满足当前的视频场景,因此拼接结果中会存在较为明显的错位问题;

基于局部拼接模型的离线视频拼接在拼接时同时考虑空间上的拼接效果以及时间上的拼接稳定性。这类算法将一个视频帧划分为许多网格,每一个网格采用不同的局部拼接模型,同时约束时空上相邻网格的局部拼接模型的平滑性,从而保证拼接结果在空间上不发生明显的扭曲,时间上不产生不稳定的跳变。该方法通常需要联合多帧视频进行最优局部拼接模型的求解,在对当前帧进行拼接时需要用到当前时刻之后的视频帧,这种离线拼接模式不适用于在线虚拟现实直播,机器人导航定位等一些时效性较高的应用场景。



技术实现要素:

本发明所要解决的技术问题是针对视频拼接中存在的不同视频对应帧之间空间对齐以及拼接结果在视频序列上的稳定性问题,提供一种在线视频拼接方法及系统。

本发明解决上述技术问题的技术方案如下:一种在线视频拼接方法,包括如下步骤:

步骤1:对t时刻对应的视频帧组gt,采用全局单应模型进行初始化全局拼接;

步骤2:对所述视频帧组gt中每一对相互重叠的视频帧在重叠区域进行特征点提取,并根据提取的特征点估算每一个视频帧的规则网格光流;

步骤3:对所述视频帧组gt进行平滑优化;

步骤4:根据所述网格光流对经过平滑优化后的所述视频帧组gt中的每个视频帧进行局部变形,以使所述视频帧组gt中的不同视频帧局部对齐;

步骤5:将完成局部变形后的所述视频帧组gt中的不同视频帧拼接融合成一帧视频,完成视频拼接。

本发明的有益效果是:本发明的在线视频拼接方法,通过采用全局单应模型进行初始化全局拼接,可以保证拼接后的视频帧在视频的时间序列上是稳定一致的,通过估算每个视频帧的网格光流并进行平滑优化,进一步减小拼接误差,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性,通过对视频帧组中的每个视频帧进行变形,从而实现当前组视频帧的局部对齐,改善初始化拼接中所不能解决的局部错位现象。

在上述技术方案的基础上,本发明还可以做如下改进:

进一步:所述步骤2具体包括:

步骤21:将所述视频帧组gt中任一对相邻的视频帧在其重叠区域进行特征点提取,得到多对相互匹配的所述匹配特征点;

步骤22:根据每一对所述匹配特征点构建每个所述视频帧对应的不规则稀疏光流;

步骤23:根据所述不规则稀疏光流构建每个所述视频帧对应的分布在视频场景内的规则网格光流。

上述进一步方案的有益效果是:通过提取每一对相互重叠的所述视频帧的特征点,可以将所述匹配特征点对应的不规则稀疏光流转换为视频场景内的规则网格光流,方便后续以视频帧为单位进行局部拼接。

进一步:所述步骤21的具体实现为:

步骤211:将所述视频帧组gt中任一对相邻的视频帧ix和视频帧iy分别划分成m×n的网格区域;

步骤212:采用surf算法对所述视频帧ix和视频帧iy对应的所述网格区域分别进行特征点提取,得到对应的特征点集px={pi|i=1,2,...,m}和py={pj|j=1,2,...,n};

步骤213:计算所述特征点集px={pi|i=1,2,...,m}中的任一特征点pi对应的特征向量与所述特征点集py={pj|j=1,2,...,n}中所有特征点对应的特征向量之间的距离,并将所述特征点集py={pj|j=1,2,...,n}中与所述特征点pi对应的特征向量距离最小的特征向量对应的特征点pj记为所述特征点pi的匹配特征点。

上述进一步方案的有益效果是:通过提取所述视频帧的特征点,从而可以准确的计算出每个视频帧的光流值,并根据光流值对每一个视频帧构成一个不规则稀疏光流。

进一步:所述步骤22的具体实现为:

步骤221:将每一对匹配特征点分别映射到二者的中点位置,并计算每一个所述匹配特征点处的光流值,具体计算公式为;

其中,表示匹配特征点<px,py>对应的一组光流值;

步骤222:根据所述匹配特征点处的光流值构建每一个所述视频帧对应的不规则稀疏光流。

上述进一步方案的有益效果是:通过每一对匹配特征点所在位置以及各自与中点位置可以准确的计算出每一对所述匹配特征点各自的光流值,从而准确的构建每一个所述视频帧对应的不规则稀疏光流。

进一步:所述步骤23的具体实现为:

步骤231:将每一个所述视频帧划分为d1×d2的规则网格;

步骤232:采用多尺度b样条插值法计算所述不规则稀疏光流在所述规则网格中每一个网格点出的光流值,并构建每一个所述视频帧在所述规则网格上的规则网格光流。

上述进一步方案的有益效果是:通过对所述视频帧进行规则网格划分,并计算所述不规则稀疏光流在所述规则中每一个网格点出的光流值,可以将所述光流场分布在整个视频场景对应的规则网格中,从而构建每一个所述视频帧在所述规则网格上的规则稀疏光流。

进一步:所述步骤3具体包括:

步骤31:提取每一个视频帧中每个所述网格点对应的光流序列v(t)={v(t-δ+1),v(t-δ+2),...,v(t-1),v(t)},并形成光流序列的集合v(t)={vi(t)|i=1,2,3,...,m},,vi(t)表示同一网格点在t时刻的光流值,δ表示所述光流序列的最长长度,vi(t)表示所述视频帧中每个所述网格点对应的光流序列,其中m表示所述视频帧中网格点的数目;

步骤32:采用凸二次规划法最小化能量函数对所述光流序列集合v(t)进行优化,得到优化后的每个所述网格点上的光流值

其中,所述能量函数表达式为:

其中,t0表示光流序列的起始时刻,表示时序优化后的光流序列,||·||2表示向量二范数的平方,ωt,r表示衡量t时刻光流值与t时刻之前的δ-1个视频帧上对应光流之间的平滑程度的自适应权重系数,δ为光流序列的长度,v(t)表示当前t时刻优化前的光流值,v(r)表示在所述光流序列范围内的t时刻之前的某一时刻优化前的光流值,表示当前t时刻优化后的光流值,表示在所述光流序列范围内的t时刻之前的某一时刻优化后的光流值。

上述进一步方案的有益效果是:通过利用t时刻前的网格光流模型对每一个所述视频帧进行平滑优化,而不需要用到t时刻后的视频帧,可以增加所述视频帧组中时间序列上相邻两帧视频帧之间的平滑性,避免直接进行视频帧之间的拼接造成画面跳变和抖动,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性。

进一步:所述自适应权重系数ωt,r的计算公式如下:

其中σ为半高斯函数的归一化参数,ε为常数,||·||表示向量的二范数,t表示当前时刻,r表示在所述光流序列范围内的t时刻之前的某一时刻,v(t)表示当前t时刻的光流值,v(r)表示在所述光流序列范围内的t时刻之前的某一时刻的光流值。

上述进一步方案的有益效果是:计算通过半高斯函数在时间距离上衡量t时刻光流值与t时刻之前的光流值之间的平滑程度,计算通过t时刻光流值与t时刻之前的光流值之间的差异大小来衡量平滑程度,从而可以准确的表示向量两帧视频帧之间的平滑性。

本发明还提供了一种在线视频拼接系统,包括初始化拼接模块,用于对t时刻对应的视频帧组gt,采用全局单应模型进行初始化全局拼接;特征点提取模块,用于对所述视频帧组gt中每一对相互重叠的视频帧在重叠区域进行特征点提取,并根据所述特征点估算每一个视频帧的网格光流;平滑优化模块,用于对当前组视频帧组gt进行平滑优化;变形对齐模块,用于根据所述网格光流对经过平滑优化后的所述视频帧组gt中的每个视频帧进行局部变形,以使当前的视频帧组gt中的不同视频帧局部对齐;拼接模块,用于将完成局部变形后的所述视频帧组gt中的不同视频帧拼接融合成一帧视频,完成视频拼接。

本发明的在线视频拼接系统,特征点提取模块采用全局单应模型进行初始化全局拼接,可以保证拼接后的视频帧在视频的时间序列上是稳定一致的,特征点提取模块估算每个视频帧的网格光流,平滑优化模块进行平滑优化,进一步减小拼接误差,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性,通过变形对齐模块对视频帧组中的每个视频帧进行变形,从而实现当前组视频帧的局部对齐,改善初始化拼接中所不能解决的局部错位现象。

本发明还提供了一种在线视频拼接装置,包括:存储器和处理器;

所述存储器,用于存储有计算机程序;

所述处理器,用于当读取所述存储器存储的所述计算机程序时,执行在线视频拼接方法。

本发明还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的在线视频拼接方法。

附图说明

图1为本发明的在线视频拼接方法流程示意图;

图2为本发明的视频拼接在线模拟示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种在线视频拼接方法,包括如下步骤:

步骤1:对t时刻对应的视频帧组gt,采用全局单应模型进行初始化全局拼接;

步骤2:对所述视频帧组gt中每一对相互重叠的视频帧在重叠区域进行特征点提取,并根据提取的特征点估算每一个视频帧的规则网格光流;

步骤3:对所述视频帧组gt进行平滑优化;

步骤4:根据所述网格光流对经过平滑优化后的所述视频帧组gt中的每个视频帧进行局部变形,以使所述视频帧组gt中的不同视频帧局部对齐;

步骤5:将完成局部变形后的所述视频帧组gt中的不同视频帧拼接融合成一帧视频,完成视频拼接。

本发明的在线视频拼接方法,通过采用全局单应模型进行初始化全局拼接,可以保证拼接后的视频帧在视频的时间序列上是稳定一致的,通过估算每个视频帧的网格光流并进行平滑优化,进一步减小拼接误差,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性,通过对视频帧组中的每个视频帧进行变形,从而实现当前组视频帧的局部对齐,改善初始化拼接中所不能解决的局部错位现象。

可选地,作为本发明一个实施例,所述步骤2具体包括:

步骤21:将所述视频帧组gt中任一对相邻的视频帧在其重叠区域进行特征点提取,得到多对相互匹配的匹配特征点;

步骤22:根据每一对所述匹配特征点构建每个所述视频帧对应的不规则稀疏光流;

步骤23:根据所述不规则稀疏光流构建每个所述视频帧对应的分布在视频场景内的规则网格光流。

通过提取每一对相互重叠的所述视频帧的特征点,可以将所述匹配特征点对应的不规则稀疏光流转换为视频场景内的规则网格光流,方便后续以视频帧为单位进行局部拼接。

具体地,上述实施例中,所述步骤21的具体实现为:

步骤211:将所述视频帧组gt中任一对相邻的视频帧ix和视频帧iy分别划分成m×n的网格区域;

步骤212:采用surf算法对所述视频帧ix和视频帧iy对应的所述网格区域分别进行特征点提取,得到对应的特征点集px={pi|i=1,2,...,m}和py={pj|j=1,2,...,n};

步骤213:计算所述特征点集px={pi|i=1,2,...,m}中的任一特征点pi对应的特征向量与所述特征点集py={pj|j=1,2,...,n}中所有特征点对应的特征向量之间的距离,并将所述特征点集py={pj|j=1,2,...,n}中与所述特征点pi对应的特征向量距离最小的特征向量对应的特征点pj记为所述特征点pi的匹配特征点。

通过提取所述视频帧的特征点,从而可以准确的计算出每个视频帧的光流值,并根据光流值对每一个视频帧构成一个不规则稀疏光流。

在上述实施例中,所述步骤22的具体实现为:

步骤221:将每一对匹配特征点分别映射到二者的中点位置,并计算每一个所述匹配特征点处的光流值,具体计算公式为;

其中,表示匹配特征点<px,py>对应的一组光流值;

步骤222:根据所述匹配特征点处的光流值构建每一个所述视频帧对应的不规则稀疏光流。

通过每一对匹配特征点所在位置以及各自与中点位置可以准确的计算出每一对所述匹配特征点各自的光流值,从而准确的构建每一个所述视频帧对应的不规则稀疏光流。

在上述实施例中,所述步骤23的具体实现为:

步骤231:将每一个所述视频帧划分为d1×d2的规则网格;

步骤232:采用多尺度b样条插值法计算所述不规则稀疏光流在所述规则网格中每一个网格点出的光流值,并构建每一个所述视频帧在所述规则网格上的规则稀疏光流。

通过对所述视频帧进行规则网格划分,并计算所述不规则稀疏光流在所述规则中每一个网格点出的光流值,可以将所述光流场分布在整个视频场景对应的规则网格中,从而构建每一个所述视频帧在所述规则网格上的规则网格光流。

优选地,在上述实施例中,所述步骤3具体包括:

步骤31:提取每一个视频帧中每个所述网格点对应的光流序列v(t)={v(t-δ+1),v(t-δ+2),...,v(t-1),v(t)},并形成光流序列的集合v(t)={vi(t)|i=1,2,3,...,m},其中,vi(t)表示同一网格点在t时刻的光流值,δ表示所述光流序列的最长长度,vi(t)表示所述视频帧中每个所述网格点对应的光流序列,m表示所述视频帧中网格点的数目;

步骤32:采用凸二次规划法最小化能量函数对所述光流序列集合v(t)进行优化,得到优化后的每个所述网格点上的光流值

其中,所述能量函数表达式为:

其中,t0表示光流序列的起始时刻,表示时序优化后的光流序列,||·||2表示向量二范数的平方,ωt,r表示衡量t时刻光流值与t时刻之前的δ-1个视频帧上对应光流之间的平滑程度的自适应权重系数,δ为光流序列的长度,v(t)表示当前t时刻优化前的光流值,v(r)表示在所述光流序列范围内的t时刻之前的某一时刻优化前的光流值,表示当前t时刻优化后的光流值,表示在所述光流序列范围内的t时刻之前的某一时刻优化后的光流值。

通过利用t时刻前的网格光流模型对每一个所述视频帧进行平滑优化,而不需要用到t时刻后的视频帧,可以增加所述视频帧组中时间序列上相邻两帧视频帧之间的平滑性,避免直接进行视频帧之间的拼接造成画面跳变和抖动,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性。

在步骤3中,对于当前组视频帧gt,本发明仅利用t时刻前的网格光流模型对当前的模型进行平滑优化,而不需要用到t时刻后的视频帧,在确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性。

具体地,上述实施例中,所述自适应权重系数ωt,r的计算公式如下:

其中σ为半高斯函数的归一化参数,ε为常数,||·||表示向量的二范数,t表示当前时刻,r表示在所述光流序列范围内的t时刻之前的某一时刻,v(t)表示当前t时刻的光流值,v(r)表示在所述光流序列范围内的t时刻之前的某一时刻的光流值。

计算通过半高斯函数在时间距离上衡量t时刻光流值与t时刻之前的光流值之间的平滑程度,计算通过t时刻光流值与t时刻之前的光流值之间的差异大小来衡量平滑程度,从而可以准确的表示向量两帧视频帧之间的平滑性。

需要说明的是,所述步骤4中,根据所述网格光流对经过平滑优化后的所述视频帧组gt中的每个视频帧进行局部变形,以使当前的视频帧组gt中的不同视频帧局部对齐,从而改善初始化拼接中所不能解决的局部错位现象。

以一个视频帧的规则网格的一个网格矩形为例,矩形对应的四个顶点的坐标分别表示为s1,s2,s3和s4。假设这四个顶点对应的优化后的网格光流值分别为v1,v2,v3和v4,对当前的网格矩形区域进行局部变形,要将四个顶点根据对应的光流值变换到对应的位置上。假设变换后的顶点位置分别为的位置根据si和vi,按照下式计算得到:

在本实施实例中,假设对视频帧的一个局部网格区域的局部拼接满足单应模型,即局部变换前的坐标位置与变换后的坐标位置满足同一个3×3的满秩矩阵h。假设(u,v,1)t为当前网格内任意一个像素点变换前的齐次坐标,为其变换后对应的齐次坐标,则根据单应变换模型,它们应该满足下式:

根据网格的四个顶点坐标s1~s4,以及变换后的顶点坐标按照上式构建方程组并联立求解可以得到单应矩阵h,然后利用求解出的单应矩阵对网格内的所有像素点逐一求解局部变换后的像素位置,完成一个网格区域的局部拼接。对一组视频帧中的每一帧视频,遍历规则网格中的每一个网格矩形,即可完成对当前组视频帧的局部拼接。

本实施例还提供了一种在线视频拼接系统,包括初始化拼接模块,用于对t时刻对应的视频帧组gt,采用全局单应模型进行初始化全局拼接;特征点提取模块,用于对所述视频帧组gt中每一对相互重叠的视频帧在重叠区域进行特征点提取,并根据所述特征点估算每一个视频帧的网格光流;平滑优化模块,用于对当前组视频帧组gt进行平滑优化;变形对齐模块,用于根据所述网格光流对经过平滑优化后的所述视频帧组gt中的每个视频帧进行局部变形,以使当前的视频帧组gt中的不同视频帧局部对齐;拼接模块,用于将完成局部变形后的所述视频帧组gt中的不同视频帧拼接融合成一帧视频,完成视频拼接。

本发明的在线视频拼接系统,特征点提取模块采用全局单应模型进行初始化全局拼接,可以保证拼接后的视频帧在视频的时间序列上是稳定一致的,特征点提取模块估算每个视频帧的网格光流,平滑优化模块进行平滑优化,进一步减小拼接误差,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性,通过变形对齐模块对视频帧组中的每个视频帧进行变形,从而实现当前组视频帧的局部对齐,改善初始化拼接中所不能解决的局部错位现象。

可选地,作为本发明一个实施例,所述特征点提取模块包括:

第一提取子模块,用于将所述视频帧组gt中任一对相邻的视频帧在其重叠区域进行特征点提取,得到多对相互匹配的匹配特征点;

第一构建子模块,用于根据每一对所述匹配特征点构建每个所述视频帧对应的不规则稀疏光流;

第二构建子模块,根据所述不规则稀疏光流构建每个所述视频帧对应的分布在视频场景内的规则网格光流。

通过提取每一对相互重叠的所述视频帧的特征点,可以将所述匹配特征点对应的不规则稀疏光流转换为视频场景内的规则网格光流,方便后续以视频帧为单位进行局部拼接。

可选地,作为本发明一个实施例,所述第一提取子模块具体用于:

将所述视频帧组gt中任一对相邻的视频帧ix和视频帧iy分别划分成m×n的网格区域;

采用surf算法对所述视频帧ix和视频帧iy对应的所述网格区域分别进行特征点提取,得到对应的特征点集px={pi|i=1,2,...,m}和py={pj|j=1,2,...,n};

计算所述特征点集px={pi|i=1,2,...,m}中的任一特征点pi对应的特征向量与所述特征点集py={pj|j=1,2,...,n}中所有特征点对应的特征向量之间的距离,并将所述特征点集py={pj|j=1,2,...,n}中与所述特征点pi对应的特征向量距离最小的特征向量对应的特征点pj记为所述特征点pi的匹配特征点。

通过提取所述视频帧的特征点,从而可以准确的计算出每个视频帧的光流值,并根据光流值对每一个视频帧构成一个不规则稀疏光流。

可选地,作为本发明一个实施例,所述第一构建子模块具体用于:

将每一对匹配特征点分别映射到二者的中点位置,并计算每一个所述匹配特征点处的光流值,

根据所述匹配特征点处的光流值构建每一个所述视频帧对应的不规则稀疏光流。

通过每一对匹配特征点所在位置以及各自与中点位置可以准确的计算出每一对所述匹配特征点各自的光流值,从而准确的构建每一个所述视频帧对应的不规则稀疏光流。

可选地,作为本发明一个实施例,所述平滑优化模块包括:

第二提取子模块,用于提取每一个视频帧中每个所述网格点对应的光流序列,并形成光流序列的集合;

采用凸二次规划法最小化能量函数对所述光流序列集合进行优化,得到优化后的每个所述网格点上的光流值。

通过利用t时刻前的网格光流模型对每一个所述视频帧进行平滑优化,而不需要用到t时刻后的视频帧,可以增加所述视频帧组中时间序列上相邻两帧视频帧之间的平滑性,避免直接进行视频帧之间的拼接造成画面跳变和抖动,确保拼接流程可以在线进行的同时,保证拼接结果在时序上的稳定性。

本发明实施例还提供了一种在线视频拼接装置,包括:存储器和处理器;

所述存储器,用于存储有计算机程序;

所述处理器,用于当读取所述存储器存储的所述计算机程序时,执行所述的在线视频拼接方法。

本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的在线视频拼接方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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