一种视频在线稳定方法及系统与流程

文档序号:21361869发布日期:2020-07-04 04:35阅读:263来源:国知局
一种视频在线稳定方法及系统与流程

本发明实施例涉及图像处理技术领域,尤其涉及一种视频在线稳定方法及系统。



背景技术:

随着移动设备与社交网络的快速发展,使用手机等移动设备拍摄成为了常见的网络媒体形式之一。由于高频抖动,视频稳定技术对于大多数手持拍摄视频至关重要。先前已经提出了几种基于2d、2.5d和3d的稳定技术,但据我们所知,迄今为止还没有提出基于深度卷积神经网络的解决方案。这种遗漏的主要原因是训练数据的不足以及使用神经网络对问题建模的挑战。

在视频稳定化领域,grundmann等人在2011年提出用基于l1路径优化的方法对手持拍摄的视频进行稳定化,liu等人在2013年提出将视频图像域划分成规则网格,通过对每个网格内的视频内容进行平滑,从而对视频整体内容进行稳定化。总体来讲,视频稳定化技术可以分为基于三维的场景重建的方法与基于二维特征点跟踪的方法将相机路径进行表达并平滑。

近年来,在深度卷积神经网络在计算机视觉任务方面的应用,可以预测光流,相机运动或语义。也有很多直接产生视频的应用,如场景动态生成,帧插值和去模糊,但是预测长视频序列仍然是一个具有挑战性的问题,所以上述所有工作仅使用两个或几个连续帧作为训练样本。

因此,亟需一种在深度卷积神经网络领域解决视频稳定化问题的方法。



技术实现要素:

针对上述问题,本发明实施例提供一种视频在线稳定方法及系统。

第一方面,本发明实施例提供一种视频在线稳定方法,包括:

s1,获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

s2,将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

s3,通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

s4,重复步骤s2至s3,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

第二方面,本发明实施例提供一种视频在线稳定系统,包括:

获取模块,用于获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

变形模块,用于将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

转换模块,用于通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

处理模块,用于重复上述步骤,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

第三方面,本发明实施例提供一种电子设备,包括:

至少一个处理器、至少一个存储器、通信接口和总线;其中,

所述处理器、存储器、通信接口通过所述总线完成相互间的通信;

所述通信接口用于该测试设备与显示装置的通信设备之间的信息传输;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的一种视频在线稳定方法。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面提供的一种视频在线稳定方法。

本发明实施例提供的一种视频在线稳定方法及系统,通过深度卷积神经网络解决了视频稳定化的问题,并且,本发明实施例的可并行度高,在gpu上的运行速度比传统离线方法快十倍,扩展了视频稳定化的应用场景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一种视频在线稳定方法的流程图;

图2为本发明实施例中卷积神经网络的结构示意图;

图3为本发明实施例中的形变项变量示意图;

图4为本发明实施例一种视频在线稳定系统的结构示意图;

图5示例了一种电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一种视频在线稳定方法的流程图,如图1所示,该方法包括:

s1,获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

s2,将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

s3,通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

s4,重复步骤s2至s3,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

首先获取待测视频和训练后的卷积神经网络,待测视频是指需要进行稳定化的视频,也就是说待测视频中的图像是不稳定的,通过训练视频集中的训练视频,对初始卷积神经网络进行训练得到训练后的卷积神经网络。

为了方便描述,用i表示当前帧,i+1表示当前帧的下一帧,待测视频中的前i帧表示已经稳定化后的帧序,将待测视频中的前i帧中的若干帧以及需要进行稳定化的第i+1帧输入到训练后的卷积神经网络中,得到变形参数,变形参数表示将不稳定图像变换为稳定图像的网格参数。

变形参数的具体获得过程为:

若为4*4的网格,则需要回归5*5个网格变换后的坐标,每个坐标的变换用(dx,dy)表示与原坐标的差,故总共需要回归5*5*2个值表示变换。

通过获得的变形参数,对第i+1帧图像进行转换,使得第i+1帧图像变为稳定的图像,按照上面的步骤依次将不稳定的图像变为稳定的图像,直到待测视频中所有不稳定的图像都变为稳定的图像,从而完成对视频的在线稳定。

本发明实施例提供的一种视频在线稳定方法,通过深度卷积神经网络解决了视频稳定化的问题,并且,本发明实施例的可并行度高。

在上述实施例的基础上,优选地,所述训练视频集中包括若干对训练视频,对于任一对训练视频,所述任一对训练视频中两个训练视频的拍摄路径和拍摄时间相同,所述任一对训练视频中的其中一个视频是通过位于稳定云台上的相机拍摄得到的,所述任一训练视频中的另外一个视频与使用者的手或身体的运动一致。

具体地,训练视频集中的视频具有如下特征:该训练视频集中包括若干对训练视频,每一对训练视频中包括2个训练视频,其中一个训练视频是由位于稳定云台上相机拍摄的,由于该相机位于稳定云台上,所以拍摄出来的视频是稳定的,另外一个视频是通过绑定在云台的不可进行去抖的握持杆上的相机拍摄的,由于在拍摄过程中可能会有抖动,所以这样拍摄出来的视频是不稳定的,通过这两种方法拍摄出来的视频的拍摄路径和拍摄时间相同。

在训练时,输入的前序稳定帧用数据集中一对视频里稳定视频的前序帧代替。

在上述实施例的基础上,优选地,图2为本发明实施例中卷积神经网络的结构示意图,如图2所示,所述初始卷积神经网络为stabnet,stabnet由一个编码器和一个网格格点回归器组成,所述编码器由resnet-50实现,所述网格格点回归器由若干个全连接层组成。

具体地,所述通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像稳定后的下一帧图像,具体为:

其中,表示稳定后的下一帧图像,it表示所述当前帧图像的下一帧图像,ft表示所述变形参数。

对于一个需要进行稳定化的帧,可以等分的把该帧切成4乘以4的网格然后回归对这个网格的变换ft={fti,j|1≤i,j≤4}。

其中,fti,j表示帧与网格的差

网络可以回归网格格点的变换,并且用于变换输入的待稳定化的图像it。

具体地,所述对初始卷积神经网络进行训练过程中约束条件中的视频稳定项为:

lstab(ft,it)=α1lpixel(ft,it)+α2lfeature(ft,it),

α1=50,α2=1

其中,pt为m个it和it′中对应的特征点对集合,lstab(ft,it)表示生成结果的稳定性损失,lpixel(ft,it)表示生成结果与稳定监督图像的逐像素差别损失,lfeature(ft,it)表示生成结果与所述稳定监督图像通过的对应特征点距离损失,it′表示所述稳定监督图像,m表示求得的特征点数,表示所述稳定监督图像的第i个特征点,表示生成结果图像的第i个特征点。

图3为本发明实施例中的形变项变量示意图,如图3所示,图3中(a)为lintra的当lintra=0时的示意图,图3中(b)为linter的linter=0时的示意图。

具体地,所述初始卷积神经网络进行训练过程中约束条件的形变约束项为:

lshape(ft,gt)=γ1lintra(ft,gt)+γ2linter(ft,gt),

γ1=1,γ2=20,

其中,是相邻的格点,lshape(ft,gt)表示网格的变形度损失,lintra(ft,gt)表示单个格子扭曲度损失,linter(ft,gt)表示相邻格子不一致性损失,gt表示4乘4的网格,是一条直线上的3个相邻格点。

具体地,所述初始卷积神经网络进行训练过程中约束条件的临帧连续项为:

λ=10,

其中,ω表示it'-1到it'计算得到的光流信息,ltemp(ft,ft-1,it,it-1)表示生成的相邻结果的不连续性损失,d表示图像像素数。

stabnet通过对视频稳定项、形变约束项和临帧连续项联合优化学习,

l=∑i∈{t,t-1}lstab(fi,ii)+lshape(fi,gi)+ltemp(ft,ft-1,it,it-1)。

lstab项用于监督使生成结果稳定,lshape项用于使生成结果不为了稳定而过度变形,ltemp项用于使生成的相邻两帧之间有一致性。

图4为本发明实施例一种视频在线稳定系统的结构示意图,如图4所示,该系统包括:获取模块401、变形模块402、转换模块403和处理模块404,其中:

获取模块401用于获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

变形模块402用于将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

转换模块403用于通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

处理模块404用于重复上述步骤,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

本系统实施例的具体执行过程与上述方法实施例的具体执行过程相同,详情请参考上述方法实施例,本系统实施例在此不再赘述。

图5示例了一种电子设备的实体结构示意图,如图5所示,该服务器可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和总线540,其中,处理器510,通信接口520,存储器530通过总线540完成相互间的通信。通信接口540可以用于服务器与智能电视之间的信息传输。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:

s1,获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

s2,将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

s3,通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

s4,重复步骤s2至s3,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

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

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:

s1,获取待测视频和训练后的卷积神经网络,训练后的卷积神经网络通过训练视频集对初始卷积神经网络进行训练得到;

s2,将所述待测视频中的当前图像、和位于所述当前帧图像之前的若干帧图像输入到训练后的卷积神经网络中,获取变形参数,所述当前图像和位于所述当前帧图像之前的图像是稳定的,所述变形参数表示将不稳定图像转换为稳定图像的网格参数;

s3,通过所述变形参数对所述当前帧图像的下一帧图像进行转换,获取稳定后的下一帧图像,并将稳定后的下一帧图像重新作为所述当前帧图像;

s4,重复步骤s2至s3,直到处理完所述待测视频的所有帧,获取稳定后的待测视频。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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