基于光流法实现运动感知模糊特效的方法及装置与流程

文档序号:31050085发布日期:2022-08-06 06:45阅读:246来源:国知局
基于光流法实现运动感知模糊特效的方法及装置与流程

1.本发明属于图像处理技术领域,具体涉及一种基于光流法实现运动感知模糊特效的方法及装置。


背景技术:

2.运动模糊效果是通过感知视频中的运动内容及运动幅度的强弱,来只对运动内容叠加模糊效果,并根据运动幅度来智能添加模糊的程度,从而让视频变得更具有动感。运动模糊效果是视频特效处理中的热门效果之一,是个长久有需求的特效处理。
3.相关技术中,目前运动模糊效果仅可在电脑端处理。现有移动端的模糊效果都是对视频整体内容进行模糊处理,并不识别和针对性处理运动内容,不能符合用户需求的。另外一种替代方案是通过物体追踪来识别内容并进行模糊处理,具体为通过物体追踪或特征点追踪算法先识别出画面中的运动内容,再针对运动内容进行模糊处理。该方案由于追踪算法的性能开销普遍很大,以移动端芯片的计算能力难以支持该类算法的实时处理,且仅依靠追踪算法识别出的结果进行智能模糊处理的效果也欠佳,因此该方案通常在电脑端的视频编辑软件中作为辅助手段被采用,无法真正在移动端实现,因此也无法满足移动端用户的需求。


技术实现要素:

4.有鉴于此,本发明的目的在于克服现有技术的不足,提供一种基于光流法实现运动感知模糊特效的方法及装置,以解决现有技术中运动模糊效果无法满足移动端用户需求的问题。
5.为实现以上目的,本发明采用如下技术方案:一种基于光流法实现运动感知模糊特效的方法,包括:提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光流方向及光流强度;保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
6.进一步的,所述基于光流法求解得到光流结果纹理,包括:获取所述目标视频中相邻的两个帧图像;采用光流法求解目标物体在当前帧图像中的第一位置坐标,以及所述目标物体在当前帧图像的下一帧图像中的第二位置坐标;根据所述第一位置坐标和第二位置坐标,得到所述下一帧图像像素到当前帧图像
像素流动的光流方向及光流强度。
7.进一步的,所述保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流,包括:对所述光流结果纹理进行采样,得到对应所述光流纹理的像素点上的光流;判断像素点是否满足敏感度条件;将满足敏感度条件的像素点进行映射处理,得到非线性强度的光流;其中,motion 表示光流纹理结果,表示向量的第i个元素,texture(t, c) 表示对纹理t在坐标c处进行采样获得像素点处的值,coord表示像素点的初始纹理坐标,表示对光流纹理进行采样得到的对应像素点上的光流表示,表示经过映射得到的非线性强度的光流,sensitivity表示敏感度参数;所述非线性空间中向量各元素的取值范围为[0,1]。
[0008]
进一步的,对下一帧图像的像素点进行高斯模糊处理。
[0009]
进一步的,采用如下方式对下一帧图像的像素点进行高斯模糊处理:其中,n表示采样次数,gaussian(w)表示一维高斯分布中x=w时对应的y值,blured表示经模糊处理后的模糊结果,表示对下一帧图像纹理next在坐标处进行采样获得像素点处的值,next表示下一帧图像纹理,表示像素点的纹理坐标,表示与向量同方向同长度的偏移量,i表示第i次采样。
[0010]
进一步的,所述将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果,包括:根据非线性强度的光流计算得到比例系数;根据所述比例系数对下一帧图像的模糊结果与当前帧图像采用如下方式进行插值处理,其中,p表示比例系数,prev表示当前帧图像,result表示渲染输出结果,表示向量的c次幂。
[0011]
进一步的,所述光流法为基于opencv函数得到的dis光流算法。
[0012]
本技术实施例提供一种基于光流法实现运动感知模糊特效的装置,包括:
提取模块,用于提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光流方向及光流强度;映射模块,用于保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;处理模块,用于根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;输出模块,用于将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
[0013]
本技术实施例提供一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一实施例提供的方法的步骤。
[0014]
本发明采用以上技术方案,能够达到的有益效果包括:

通过使用光流法,将运动内容的识别和幅度感知的性能开销降低到可支持不同性能级别的移动设备使用,同时保证使用过程中表现稳定,并支持实时预览;

通过不断调试参数,拟合出对不同运动幅度的最佳智能模糊效果,使其高度接近电脑端处理的表现;

通过使用光流法,让导出效率大幅提升,达到了常规视频处理的水平。
[0015]
通过这三点突破,本发明为用户提供真正可用、好用的移动端运动模糊效果处理。
附图说明
[0016]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]
图1为本发明基于光流法实现运动感知模糊特效的方法的步骤示意图;图2为本发明基于光流法实现运动感知模糊特效的装置的结构示意图;图3为本发明基于光流法实现运动感知模糊特效的方法实施的硬件环境示意图。
具体实施方式
[0018]
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
[0019]
下面结合附图介绍本技术实施例中提供的一个具体的基于光流法实现运动感知模糊特效的方法及装置。
[0020]
如图1所示,本技术实施例中提供的基于光流法实现运动感知模糊特效的方法,包括:s101,提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光
流方向及光流强度;可以理解的是,光流是关于视域的物体运动检测中的概念,用来描述相对观察者的运动所造成的观测目标、表面或边缘的运动。通俗来讲,光流的含义就是光的流动,这里的光可以理解为图片里的像素,流则表示像素的流动或是运动。
[0021]
一些实施例中,所述基于光流法求解得到光流结果纹理,包括:获取所述目标视频中相邻的两个帧图像;采用光流法求解目标物体在当前帧图像中的第一位置坐标,以及所述目标物体在当前帧图像的下一帧图像中的第二位置坐标;根据所述第一位置坐标和第二位置坐标,得到所述下一帧图像像素到当前帧图像像素流动的光流方向及光流强度。
[0022]
举例说明,例如画面中有一个物体在第一帧画面里处于点(x1,y1)(该文档中皆用笛卡尔直角坐标系的表示方法来描述位置信息),到了第二帧画面,该物体移动到位置(x2,y2)处。那么可用向量来表示该物体在这相邻两帧间发生的移动,则其光流方向可用的方向向量来表示;向量的长度,即则表示对应的光流强度。因此,向量同时也表示该物体的光流,而根据光流的定义,又可近似等价于两帧之间物体运动所产生的位移的方向及距离。在本方法中,预先给定视频里相邻的前后两帧画面,光流法需要做的事情就是近似求解从后一帧到当前像素流动的方向以及强度。
[0023]
需要说明的是,根据计算光流的稠密程度,光流法可分为稠密光流法和稀疏光流法两种类别。稠密光流法会求解画面里每一个像素点的光流,相对而言,稀疏光流法则只会求解部分像素点的光流,可以是人为指定的一些像素点,通常是某些特征明显的像素点,其运行效率一般比稠密光流法更高,但计算得到的结果相较之下也会显得不足。为了保证能尽量准确地检测出画面中所有物体的运动,本技术中是由opencv实现的dis光流算法。对于opencv版本的dis光流算法的计算质量。考虑到移动设备芯片的处理能力普遍较弱,已经经过实际使用时的运动模糊效果得知,本技术选择了耗时最少的ultrafast方法。
[0024]
最后,将计算得到的光流结果存储在rg16f类型的纹理中,供下一步在opengl渲染中使用。其中,rg16f格式的含义是纹理上每个像素点含有两个元素,元素的类型是16位浮点数。选择rg16f格式是因为代表光流的向量正好由两个元素组成,且16位浮点数已足以保留不同强度的光流的细节。
[0025]
s102,保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;具体的,首先得到视频当前帧画面的纹理prev,视频后一帧画面的纹理next,以及步骤101中获得的光流结果纹理motion。
[0026]
通过映射函数将原本处于线性空间的光流强度映射至一个非线性空间,而光流的方向保持不变,同时保证该非线性空间中向量各元素的取值范围均属于[0,1],该过程可表示为如下公式:(1)
(2)(3)其中,motion表示光流纹理结果,表示向量的第i个元素,texture(t,c)表示对纹理t在坐标c处进行采样获得该像素点处的值,coord表示像素点的初始纹理坐标(下文中的texture与coord含义皆与此等同),那么就是对光流纹理进行采样得到的对应像素点上的光流表示,是经过映射得到的非线性结果。
[0027]
公式(2)中的sensitivity表示敏感度参数,只有当光流强度不低于sensitivity时,才认为该像素点在两帧画面之间有进行运动,否则,在后续处理流程中将不会考虑该像素点。即表示对像素点是否满足敏感度条件做判别处理后的中间结果,公式(3)中transform函数的输入亦是该中间结果;需注意的是,当输入为(0,0)时,输出也应为(0,0),且不应改变任意非零输入向量的方向。
[0028]
本技术中将光流强度从线性空间映射至非线性空间,有助于使得最终效果在人眼的视觉感知中更显平滑;过滤光流强度低于某一阈值的像素点,有助于提升经过运动模糊处理的视频在播放时的画面平稳性,尽量避免出现画面频繁抖动的现象。
[0029]
s103,根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;根据映射过后的光流,对像素点进行模糊处理。本方法中,模糊方法采用的是高斯模糊,其计算过程可表示为公式(4):(4)其中n表示采样次数,gaussian(w)表示一维高斯分布中x=w时对应的y值,blured则是经模糊处理后的结果颜色,表示对下一帧图像纹理next在坐标处进行采样获得像素点处的值,next表示下一帧图像纹理,表示像素点的纹理坐标,表示与向量同方向同长度的偏移量,i表示第i次采样。
[0030]
公式(4)展开来讲,就是首先进行n次循环,每次循环都对上次循环内采样的坐标进行与同方向同长度的偏移,在偏移后的位置进行采样(第一次循环则直接用像素点自身对应的纹理坐标coord采样),记录其颜色值,同时记录一个根据高斯分布计算出来的权重。在循环完成后,对之前循环采样得到的所有颜色进行加权平均求和,得到blured。
[0031]
s104,将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
[0032]
一些实施例中,根据非线性强度的光流计算得到比例系数;根据所述比例系数对下一帧图像的模糊结果与当前帧图像采用如下方式进行插值处理,
(5)最后用后一帧画面的模糊结果blured与当前画面prev做混合操作,该过程可用公式(5)表示,其本质是根据映射到非线性空间的光流强度计算得到一个比例系数p,然后再对blured与prev以比例p进行插值。光流强度越大,p的值随之越大,prev上的像素值对渲染输出结果result的影响就越大,其中,表示向量的c次幂。
[0033]
需要说明的是,因为光流法只能求得一个近似解,当前后两帧画面内容差距过大时,光流法结果的置信度相对较低,换言之,物体的运动幅度越大,计算得到的光流与真实情况的误差通常也会越大。如果仅凭借模糊这一单一手段进行处理,输出的运动模糊效果易出现果冻效应,而通过对模糊结果和前一帧画面进行插值,就能极大程度地缓解光流法误差所带来的负面影响。
[0034]
本技术中通过光流法求解视频相邻前后两帧画面内各物体的运动,在保证一定求解质量的情况下满足移动端视频编辑应用所要求的实时性。凭借光流法计算得到的光流,调校出一套合适的后处理流程,使得运动模糊的最终效果真实自然,并平稳作用于整个视频。
[0035]
如图2所示,本技术实施例提供一种基于光流法实现运动感知模糊特效的装置,包括:提取模块201,用于提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光流方向及光流强度;映射模块202,用于保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;处理模块203,用于根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;输出模块204,用于将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
[0036]
本技术提供的基于光流法实现运动感知模糊特效的装置的工作原理为,提取模块201提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光流方向及光流强度;映射模块202保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;处理模块203根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;输出模块204将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
[0037]
本技术提供一种计算机设备,包括:存储器和处理器,还可以包括网络接口,所述存储器存储有计算机程序,存储器可以包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。该计算机设备存储有操作系统,存储器是计算机可读介质的示例。所述计算机程序被所述处理器执行时,使得所述处理器执行基于光流法实现运动感知模糊特效的方法,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的
计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0038]
在一个实施例中,本技术提供的基于光流法实现运动感知模糊特效的方法可以实现为一种计算机程序的形式,计算机程序可在如图3所示的计算机设备上运行。
[0039]
一些实施例中,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:提取目标视频中的当前帧图像和所述当前帧图像的下一帧图像,根据所述当前帧图像和下一帧图像,基于光流法求解得到光流结果纹理;所述光流结果纹理包括光流方向及光流强度;保持所述光流方向不变,通过预设的映射函数将处于线性空间的光流强度映射至非线性空间,得到非线性强度的光流;根据所述非线性强度的光流,对下一帧图像的像素点进行模糊处理,得到模糊结果;将下一帧图像的模糊结果与当前帧图像进行混合处理,得到渲染输出结果。
[0040]
其中,计算机设备可以为移动端或是其他设备,本技术在此不做限定。
[0041]
综上所述,本发明提供一种基于光流法实现运动感知模糊特效的方法及装置,具有以下有益效果:

通过使用光流法,将运动内容的识别和幅度感知的性能开销降低到可支持不同性能级别的移动设备使用,同时保证使用过程中表现稳定,并支持实时预览;

通过不断调试参数,拟合出对不同运动幅度的最佳智能模糊效果,使其高度接近电脑端处理的表现;

通过使用光流法,让导出效率大幅提升,达到了常规视频处理的水平。通过这三点突破,本发明为用户提供真正可用、好用的移动端运动模糊效果处理。
[0042]
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
[0043]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0044]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0045]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0046]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0047]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1