CN115209030B - 视频防抖处理方法、装置、电子设备和存储介质 - Google Patents
视频防抖处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115209030B CN115209030B CN202110379627.2A CN202110379627A CN115209030B CN 115209030 B CN115209030 B CN 115209030B CN 202110379627 A CN202110379627 A CN 202110379627A CN 115209030 B CN115209030 B CN 115209030B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- smoothing
- image frames
- track
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000009499 grossing Methods 0.000 claims abstract description 95
- 238000012545 processing Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000009466 transformation Effects 0.000 claims description 35
- 239000011159 matrix material Substances 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 12
- 208000012788 shakes Diseases 0.000 description 56
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2622—Signal amplitude transition in the zone between image portions, e.g. soft edges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
本公开实施例涉及一种视频防抖处理方法、装置、电子设备和存储介质,其中,该方法包括:通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹;基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量确定;基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。本公开实施例实现了在视频防抖处理过程中,根据待处理视频中图像帧上的特征点数量,自适应调整图像帧对应的平滑半径的效果,优化了视频防抖的处理效果,有效改善了视频质量。
Description
技术领域
本公开涉及视频处理技术领域,尤其涉及一种视频防抖处理方法、装置、电子设备和存储介质。
背景技术
随着短视频的兴起,视频拍摄变得越来越重要。目前,用户一般都是使用手持设备进行视频拍摄,这很容易造成视频的抖动,导致视频质量欠佳。因此,如何对视频进行防抖处理,提高视频质量仍是当前待解决的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种视频防抖处理方法、装置、电子设备和存储介质。
第一方面,本公开实施例提供了一种视频防抖处理方法,包括:
通过对视频中不同图像帧之间进行特征点追踪,确定所述视频的拍摄位置的移动轨迹,其中,所述移动轨迹用于指示所述视频中不同图像帧的拍摄位置;
基于所述视频中不同图像帧对应的平滑半径,分别对所述移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,所述视频中不同图像帧对应的平滑半径分别基于所述视频中不同图像帧用于追踪的特征点的数量确定;
基于所述平滑轨迹和所述移动轨迹之间的差异,对所述视频进行形变,以得到经过防抖处理的视频。
第二方面,本公开实施例还提供了一种视频防抖处理装置,包括:
移动轨迹确定模块,用于通过对视频中不同图像帧之间进行特征点追踪,确定所述视频的拍摄位置的移动轨迹,其中,所述移动轨迹用于指示所述视频中不同图像帧的拍摄位置;
平滑轨迹确定模块,用于基于所述视频中不同图像帧对应的平滑半径,分别对所述移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,所述视频中不同图像帧对应的平滑半径分别基于所述视频中不同图像帧用于追踪的特征点的数量确定;
视频防抖处理模块,用于基于所述平滑轨迹和所述移动轨迹之间的差异,对所述视频进行形变,以得到经过防抖处理的视频。
第三方面,本公开实施例还提供了一种电子设备,包括存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备实现本公开实施例提供的任一所述的视频防抖处理方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现本公开实施例提供的任一所述的视频防抖处理方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:在本公开实施例中,基于待处理视频中不同图像帧上用于追踪的特征点的数量,动态确定该视频中不同图像帧对应的平滑半径,即本公开实施例实现了基于图像帧上的特征点数量,自适应调整待处理视频中不同图像帧对应的平滑半径的效果,然后基于该视频中不同图像帧对应的平滑半径,分别对视频的拍摄位置的移动轨迹中不同图像帧的拍摄位置进行平滑处理,最后基于平滑轨迹和移动轨迹之间差异,对待处理视频进行形变,实现视频的防抖处理,优化了视频防抖的处理效果。相比于平滑半径的统一取值的情况,本公开实施例通过平滑半径的动态取值,有效避免了图像帧上用于追踪的特征点数量较少(或称为用于特征匹配的特征点数量较少,即特征不足)时,针对用于拍摄视频的拍摄装置的运动估计不准确,即视频拍摄位置的移动趋势估计不准确,进而引起视频画面晃动和异常形变的现象,有效改善了视频质量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种视频防抖处理方法的流程图;
图2为本公开实施例提供的另一种视频防抖处理方法的流程图;
图3为本公开实施例提供的一种视频防抖处理装置的结构示意图;
图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开实施例提供的一种视频防抖处理方法的流程图,可以适用于对视频进行防抖处理的情况。该方法可以由视频防抖处理装置执行,该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上,例如终端或者服务器等。
在本公开实施例中,待处理视频可以是拍摄中的视频,也可以是拍摄完成的视频,即本公开实施例可以在视频拍摄过程中实时对拍摄的视频进行防抖处理,也可以在视频拍摄完成后对视频进行防抖处理,均可达到改善视频质量的效果。
如图1所示,本公开实施例提供的视频防抖处理方法可以包括:
S101、通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,其中,移动轨迹用于指示视频中不同图像帧的拍摄位置。
在获取待处理视频后,可以利用任意可用的特征点提取与追踪技术,对视频中不同图像帧之间进行特征点追踪(例如从视频中第一帧图像开始,依次进行每帧图像上的特征点提取与追踪),确定不同图像帧之间的匹配特征点(指不同图像帧中针对同一拍摄对象的特征点,匹配特征点的数量可以视情况而定),然后基于匹配特征点,计算视频中不同图像帧的拍摄位置或者拍摄位置的相对变化量,得到视频的拍摄位置的移动轨迹(或称为用于拍摄视频的拍摄装置的运动轨迹)。确定视频拍摄位置的移动轨迹,也即确定了视频拍摄位置的抖动趋势。
在一种可选实施方式中,移动轨迹采用变换矩阵表示,移动轨迹中的不同变换矩阵分别表示视频中不同图像帧的拍摄位置;相应地,通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,包括:通过对视频中不同图像帧之间进行特征点追踪,确定视频中不同图像帧之间拍摄位置的变换矩阵,并基于视频中不同图像帧之间拍摄位置的变换矩阵确定视频的拍摄位置的移动轨迹。
其中,变换矩阵可以包括单应变换(homography)矩阵、仿射变换(affinetransformation)矩阵或者相似变换(similarity transformation)矩阵。不同的变换矩阵对应的自由度不同,自由度越高的变换矩阵对应的运动拟合能力越强,在实际处理过程中可以根据需求灵活选择变换矩阵的类型。关于变换矩阵的具体计算可以参考现有技术实现。
在基于多个变换矩阵,确定移动轨迹的过程中,可以在视频中选择一帧图像作为参考帧(具体可以灵活确定),然后基于不同图像帧之间拍摄位置的变换矩阵,分别确定每帧图像相对参考帧的拍摄位置的变换矩阵,最后基于每帧图像相对参考帧的拍摄位置的变换矩阵,得到所需的移动轨迹。
以参考帧为视频中的第一帧图像,视频中不同图像帧指相邻的两帧图像为例,通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,包括:
通过对视频中相邻两帧图像进行特征点追踪,确定相邻两帧图像之间匹配的特征点,基于匹配的特征点,计算相邻两帧图像之间拍摄位置的变换矩阵;
基于相邻两帧图像之间拍摄位置的变换矩阵,确定视频中每帧图像相对视频中第一帧图像的拍摄位置的变换矩阵;
基于视频中每帧图像相对视频中第一帧图像的拍摄位置的变换矩阵,确定视频的拍摄位置的移动轨迹。
例如,假设视频V共包含n帧图像,记第i帧图像为fi,则视频V={f1,f2,...,fn-1,fn,},依次对视频的每一帧图像进行以下处理:
1)对于第i帧图像fi,进行特征点提取,记为pi。
2)在第i+1帧图像fi+1上对上一帧图像的特征点pi进行跟踪,跟踪到的特征点记为pi~i+1,即pi和pi~i+1分别为第i帧图像fi和第i+1帧图像fi+1上匹配成功的特征点;
3)根据pi和pi~i+1的对应关系,拟合出第i帧图像fi到第i+1帧图像fi+1的拍摄位置的变换矩阵,记为Ti;
4)将第i帧图像fi以及第i帧图像之前的各相邻两帧图像之间的变换矩阵进行累积处理,例如进行累乘计算(具体可以根据实际处理而定),得到第i帧图像fi相对第一帧图像的拍摄位置的变换矩阵,表示如下:
依次得到视频中每帧图像相对第一帧图像的拍摄位置的变换矩阵,则视频的拍摄位置的移动轨迹可以表示为C={C1,C2,…,Cn-1,Cn},n表示视频中包括的图像帧数。
S102、基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量确定。
视频中不同图像帧用于追踪的特征点(或称为在后帧图像上与在前帧图像上匹配成功的特征点)的数量与每帧图像上的拍摄对象有关。以相邻两帧图像为人脸图像为例,在前帧图像上显示了完整的人脸区域,包括的特征点数量较多,而在后帧图像上只显示了一半的人脸区域,包括的特征点数量较少,进而相邻两帧图像中在后帧图像上用于追踪的特征点可以只是脸部特征点中对应五官区域的部分特征点。
本公开实施例中,预先设置特征点数量与平滑半径之间的对应关系,以使得可以根据该对应关系和图像帧上用于追踪的特征点数量动态确定图像帧对应的平滑半径,平滑半径的取值决定了参与平滑处理的图像帧数。当图像帧上用于追踪的特征点数量越多(即特征较多),则基于该图像帧对用于拍摄视频的拍摄装置的运动估计越准确,因此,针对该图像帧,可以设置较大的平滑半径,使得基于较多的邻近图像帧对该图像帧的拍摄位置进行平滑处理,并且不会引入较大的累计误差;当图像帧上的特征点数量越少(即特征较少),则基于该图像帧对用于拍摄视频的拍摄装置的运动估计的准确性相对较低,因此,针对该图像帧,可以设置较小的平滑半径,使得基于较少的邻近图像帧对该图像帧的拍摄位置进行平滑处理,避免引入较大的累计误差,从而最终优化视频防抖的处理效果。
可选地,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量所属的数量区间、以及数量区间与平滑半径的对应关系确定。示例性地,视频中每帧图像fi对应的平滑半径ri可以利用以下对应关系确定:
其中,m1>m2>m3,各个取值可以灵活设置,例如m1可以取值为50,m2可以取值为25,m3可以取值为10;ni表示每帧图像fi相对在前帧图像用于追踪的特征点数量,r0表示平滑半径的初始值,其取值也可以灵活确定。需要说明的是,上述公式中,针对不同的特征点数量区间,平滑半径ri的取值与初始值r0的关系,只是作为一种示例,在实际处理中可以根据处理需求灵活设置ri与r0之间的取值比例关系。
通过预先设置特征点数量区间与平滑半径取值的对应关系,有助于提高确定每帧图像对应的平滑半径的效率。
在本公开实施例中,平滑处理算法可以是现有技术中任意可用的能够实现平滑处理效果的算法,例如高斯平滑处理算法等。经过平滑处理得到的平滑轨迹例如可以表示为平滑轨迹即用于指示平滑处理后的视频中不同图像帧的拍摄位置,例如/>表示视频中第n帧图像的拍摄位置被平滑处理后的位置。
可选地,基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹,包括:
基于视频中每帧图像对应的平滑半径,确定视频中参与每次平滑处理的预设帧数的图像;
基于参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置,对移动轨迹中每帧图像的拍摄位置进行平滑处理,得到平滑轨迹。例如可以将参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置进行加权求和计算,并将计算结果作为当前帧图像的拍摄位置的平滑结果。
S103、基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。
将平滑轨迹和平滑前的移动轨迹C进行比对,可以确定移动轨迹的调整参数W={W1,W2,...,Wn-1,Wn},调整参数W中的各个子值/>n表示视频中包括的图像帧数;然后可以按照调整参数中各个子值与视频中每帧图像的对应关系,基于调整参数中的每个子值对相应的图像帧进行形变处理,从而得到防抖处理后的视频。在形变处理过程中,涉及对特定帧图像的旋转、平移、缩放或者裁剪等处理,可以根据实际处理需求来执行。即可选地,在本公开实施例中,基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频,包括:基于平滑轨迹和移动轨迹之间的差异,确定调整参数;利用调整参数对视频进行形变,以得到经过防抖处理的视频。
在本公开实施例中,基于待处理视频中不同图像帧上用于追踪的特征点的数量,动态确定该视频中不同图像帧对应的平滑半径,即本公开实施例实现了基于图像帧上的特征点数量,自适应调整视频中不同图像帧对应的平滑半径的效果,然后基于该视频中不同图像帧对应的平滑半径,分别对视频的拍摄位置的移动轨迹中不同图像帧的拍摄位置进行平滑处理,最后基于平滑轨迹和移动轨迹之间差异,对视频进行形变,实现视频的防抖处理,优化了视频防抖的处理效果。相比于平滑半径的统一取值的情况,本公开实施例通过平滑半径的动态取值,有效避免了图像帧上用于追踪的特征点数量较少(或称为用于特征匹配的特征点数量较少,即特征不足)时,针对用于拍摄视频的拍摄装置的运动估计不准确,即视频拍摄位置的移动趋势估计不准确,进而引起视频画面晃动和异常形变的现象,有效改善了视频质量。
图2为本公开实施例提供的另一种视频防抖处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图2所示,本公开实施例提供的视频防抖处理方法可以包括:
S201、通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,其中,移动轨迹用于指示视频中不同图像帧的拍摄位置。
S202、基于视频中每帧图像对应的平滑半径,确定视频中参与每次平滑处理的预设帧数的图像。
示例性一,可以基于视频中每帧图像对应的平滑半径,在视频中确定每帧图像之前的第一预设帧数的在前帧图像;
将每帧图像以及第一预设帧数的在前帧图像,确定为视频中参与每次平滑处理的预设帧数的图像;此时,该第一预设帧数的取值可以是平滑半径的取值1。
本公开实施例支持在视频拍摄的同时对视频进行防抖处理,视频拍摄完成,视频防抖处理也随之结束,从而得到质量较佳的拍摄视频。
示例性二,可以基于视频中每帧图像对应的平滑半径,在视频中确定每帧图像之前的第二预设帧数的在前帧图像,以及确定每帧图像之后的第二预设帧数的在后帧图像;
将每帧图像、第二预设帧数的在前帧图像以及第二预设帧数的在后帧图像,确定为视频中参与每次平滑处理的预设帧数的图像;此时,该第二预设帧数的取值可以是平滑半径的取值。
本公开实施例还支持对拍摄完成的视频进行防抖处理,在每帧图像前后各取一定帧数的图像,参与每帧图像在移动轨迹中的拍摄位置的平滑处理,同样达到改善视频质量的效果。
S203、基于参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置,进行拍摄位置的加权求和计算,得到每帧图像的平滑位置。
以移动轨迹包括多个变换矩阵,即视频中每帧图像的拍摄位置可以采用一个变换矩阵表示为例,每帧图像的平滑位置(即平滑处理后的拍摄位置)可以采用矩阵的形式表示,以下称为平滑矩阵。加权求和计算过程中的权重可以适应性取值,本公开实施例不作具体限定。
示例性一,以按照每帧图像对应的平滑半径,在每帧图像之前取一定帧数的图像,参与每帧图像的拍摄位置的平滑处理为例,每帧图像fi的平滑矩阵可以表示如下:
示例性二,以按照每帧图像对应的平滑半径,分别在每帧图像之前和之后取相同帧数的图像,参与每帧图像的拍摄位置的平滑处理为例,每帧图像fi的平滑矩阵可以表示如下:
在上述两个示例中,r为每帧图像对应的平滑半径,Ct表示参与平滑处理的每帧图像在移动轨迹C中的拍摄位置(或称为变换矩阵),wi~t为参与平滑处理的每帧图像的权重,取值可以适应性设置。得到视频中每帧图像对应的平滑矩阵后,平滑轨迹可以表示如下:
通过对预设帧数的图像在移动轨迹中的拍摄位置进行加权求和计算,得到对应每帧图像的平滑位置,不仅计算方式简捷、高效,可以满足实时处理的需求,而且还可以保证视频拍摄位置的移动轨迹的平滑处理效果。
S204、基于每帧图像的平滑位置,得到平滑轨迹。
S205、基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。
在本公开实施例中,通过在视频防抖处理过程中根据待处理视频中每帧图像用于追踪的特征点数量,动态确定每帧图像对应的平滑半径,进而动态确定一定的图像帧数,以参与视频拍摄位置的移动轨迹的平滑处理,优化了视频防抖的处理效果。相比于平滑半径的统一取值的情况,本公开实施例通过平滑半径的动态取值,有效避免了当视频中图像帧上用于追踪的特征点数量较少时,针对用于拍摄视频的拍摄装置的运动估计不准确,即视频拍摄位置的移动趋势估计不准确,进而引起视频画面晃动和异常形变的现象,有效改善了视频质量。
图3为本公开实施例提供的一种视频防抖处理装置的结构示意图,可以适用于对视频进行防抖处理的情况。该装置可以采用软件和/或硬件实现,并可集成在任意具有计算能力的电子设备上,例如终端或者服务器等。
如图3所示,本公开实施例提供的视频防抖处理装置300可以包括移动轨迹确定模块301、平滑轨迹确定模块302和视频防抖处理模块303,其中:
移动轨迹确定模块301,用于通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,其中,移动轨迹用于指示视频中不同图像帧的拍摄位置;
平滑轨迹确定模块302,用于基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量确定;
视频防抖处理模块303,用于基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。
可选地,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量所属的数量区间、以及数量区间与平滑半径的对应关系确定。
可选地,平滑轨迹确定模块302包括:
图像帧数确定单元,用于基于视频中每帧图像对应的平滑半径,确定视频中参与每次平滑处理的预设帧数的图像;
平滑处理单元,用于基于参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置,对移动轨迹中每帧图像的拍摄位置进行平滑处理,得到平滑轨迹。
可选地,图像帧数确定单元包括:
第一确定单元,用于基于视频中每帧图像对应的平滑半径,在视频中确定每帧图像之前的第一预设帧数的在前帧图像;
第二确定单元,用于将每帧图像以及第一预设帧数的在前帧图像,确定为视频中参与每次平滑处理的预设帧数的图像;或者
第三确定单元,用于基于视频中每帧图像对应的平滑半径,在视频中确定每帧图像之前的第二预设帧数的在前帧图像,以及确定每帧图像之后的第二预设帧数的在后帧图像;
第四确定单元,用于将每帧图像、第二预设帧数的在前帧图像以及第二预设帧数的在后帧图像,确定为视频中参与每次平滑处理的预设帧数的图像。
可选地,平滑处理单元包括:
平滑位置确定子单元,用于基于参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置,进行拍摄位置的加权求和计算,得到每帧图像的平滑位置;
平滑轨迹确定子单元,用于基于每帧图像的平滑位置,得到平滑轨迹。
可选地,移动轨迹采用变换矩阵表示,移动轨迹中的不同变换矩阵分别表示视频中不同图像帧的拍摄位置;
移动轨迹确定模块301具体用于:
通过对视频中不同图像帧之间进行特征点追踪,确定视频中不同图像帧之间拍摄位置的变换矩阵,并基于视频中不同图像帧之间拍摄位置的变换矩阵确定视频的拍摄位置的移动轨迹。
可选地,视频防抖处理模块303包括:
调整参数确定单元,用于基于平滑轨迹和移动轨迹之间的差异,确定调整参数;
视频形变单元,用于利用调整参数对视频进行形变,以得到经过防抖处理的视频。
本公开实施例所提供的视频防抖处理装置可执行本公开实施例所提供的任意视频防抖处理方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图4为本公开实施例提供的一种电子设备的结构示意图,用于对实现本公开实施例提供的视频防抖处理方法的电子设备进行示例性说明。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机、智能家居设备、可穿戴电子设备、服务器等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和占用范围带来任何限制。
如图4所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行程序指令,以实现本公开实施例提供的视频防抖处理方法,还可以实现其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
其中,本公开实施例提供的视频防抖处理方法可以包括:通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,其中,移动轨迹用于指示视频中不同图像帧的拍摄位置;基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量确定;基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。应当理解,电子设备400还可以执行本公开方法实施例提供的其他可选实施方案。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入装置403还可以包括例如键盘、鼠标等等。
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序或计算机程序指令,计算机程序或计算机程序指令在被处理器执行时使得计算设备实现本公开实施例所提供的任意视频防抖处理方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上且部分在远程电子设备上执行、或者完全在远程电子设备上执行。
此外,本公开实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得计算设备实现本公开实施例所提供的任意视频防抖处理方法。
其中,本公开实施例提供的视频防抖处理方法可以包括:通过对视频中不同图像帧之间进行特征点追踪,确定视频的拍摄位置的移动轨迹,其中,移动轨迹用于指示视频中不同图像帧的拍摄位置;基于视频中不同图像帧对应的平滑半径,分别对移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,视频中不同图像帧对应的平滑半径分别基于视频中不同图像帧用于追踪的特征点的数量确定;基于平滑轨迹和移动轨迹之间的差异,对视频进行形变,以得到经过防抖处理的视频。应当理解,计算机程序指令在被处理器运行时,还可以使得计算设备实现本公开方法实施例提供的其他可选实施方案。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种视频防抖处理方法,其特征在于,包括:
通过对视频中不同图像帧之间进行特征点追踪,确定所述视频的拍摄位置的移动轨迹,其中,所述移动轨迹用于指示所述视频中不同图像帧的拍摄位置;
基于所述视频中不同图像帧对应的平滑半径,分别对所述移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,所述视频中不同图像帧对应的平滑半径分别基于所述视频中不同图像帧用于追踪的特征点的数量、以及特征点数量与平滑半径的对应关系确定;
基于所述平滑轨迹和所述移动轨迹之间的差异,对所述视频进行形变,以得到拍摄位置位于平滑轨迹的视频,其中,拍摄位置位于平滑轨迹的视频指的是经过防抖处理的视频;
所述基于所述视频中不同图像帧对应的平滑半径,分别对所述移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹,包括:
基于所述视频中每帧图像对应的平滑半径,确定所述视频中参与每次平滑处理的预设帧数的图像;
基于参与每次平滑处理的预设帧数的图像在所述移动轨迹中的拍摄位置,对所述移动轨迹中每帧图像的拍摄位置进行平滑处理,得到平滑轨迹。
2.根据权利要求1所述的方法,其特征在于,所述视频中不同图像帧对应的平滑半径分别基于所述视频中不同图像帧用于追踪的特征点的数量所属的数量区间、以及数量区间与平滑半径的对应关系确定。
3.根据权利要求1所述的方法,其特征在于,基于所述视频中每帧图像对应的平滑半径,确定所述视频中参与每次平滑处理的预设帧数的图像,包括:
基于所述视频中每帧图像对应的平滑半径,在所述视频中确定每帧图像之前的第一预设帧数的在前帧图像;
将每帧图像以及所述第一预设帧数的在前帧图像,确定为所述视频中参与每次平滑处理的预设帧数的图像;或者
基于所述视频中每帧图像对应的平滑半径,在所述视频中确定每帧图像之前的第二预设帧数的在前帧图像,以及确定每帧图像之后的第二预设帧数的在后帧图像;
将每帧图像、所述第二预设帧数的在前帧图像以及所述第二预设帧数的在后帧图像,确定为所述视频中参与每次平滑处理的预设帧数的图像。
4.根据权利要求3所述的方法,其特征在于,基于参与每次平滑处理的预设帧数的图像在所述移动轨迹中的拍摄位置,对所述移动轨迹中每帧图像的拍摄位置进行平滑处理,得到平滑轨迹,包括:
基于参与每次平滑处理的预设帧数的图像在所述移动轨迹中的拍摄位置,进行拍摄位置的加权求和计算,得到每帧图像的平滑位置;
基于每帧图像的平滑位置,得到所述平滑轨迹。
5.根据权利要求1所述的方法,其特征在于,所述移动轨迹采用变换矩阵表示,所述移动轨迹中的不同变换矩阵分别表示所述视频中不同图像帧的拍摄位置;
通过对视频中不同图像帧之间进行特征点追踪,确定所述视频的拍摄位置的移动轨迹,包括:
通过对所述视频中不同图像帧之间进行特征点追踪,确定所述视频中不同图像帧之间拍摄位置的变换矩阵,并基于所述视频中不同图像帧之间拍摄位置的变换矩阵确定所述视频的拍摄位置的移动轨迹。
6.根据权利要求1所述的方法,其特征在于,基于所述平滑轨迹和所述移动轨迹之间的差异,对所述视频进行形变,以得到经过防抖处理的视频,包括:
基于所述平滑轨迹和所述移动轨迹之间的差异,确定调整参数;
利用所述调整参数对所述视频进行形变,以得到经过防抖处理的视频。
7.一种视频防抖处理装置,其特征在于,包括:
移动轨迹确定模块,用于通过对视频中不同图像帧之间进行特征点追踪,确定所述视频的拍摄位置的移动轨迹,其中,所述移动轨迹用于指示所述视频中不同图像帧的拍摄位置;
平滑轨迹确定模块,用于基于所述视频中不同图像帧对应的平滑半径,分别对所述移动轨迹中不同图像帧的拍摄位置进行平滑处理,得到平滑轨迹;其中,所述视频中不同图像帧对应的平滑半径分别基于所述视频中不同图像帧用于追踪的特征点的数量、以及特征点数量与平滑半径的对应关系确定;
视频防抖处理模块,用于基于所述平滑轨迹和所述移动轨迹之间的差异,对所述视频进行形变,以得到拍摄位置位于平滑轨迹的视频,其中,拍摄位置位于平滑轨迹的视频指的是经过防抖处理的视频;
所述平滑轨迹确定模块包括:
图像帧数确定单元,用于基于视频中每帧图像对应的平滑半径,确定视频中参与每次平滑处理的预设帧数的图像;
平滑处理单元,用于基于参与每次平滑处理的预设帧数的图像在移动轨迹中的拍摄位置,对移动轨迹中每帧图像的拍摄位置进行平滑处理,得到平滑轨迹。
8.一种电子设备,其特征在于,包括存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备实现权利要求1-6中任一项所述的视频防抖处理方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-6中任一项所述的视频防抖处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379627.2A CN115209030B (zh) | 2021-04-08 | 2021-04-08 | 视频防抖处理方法、装置、电子设备和存储介质 |
PCT/CN2022/085382 WO2022214001A1 (zh) | 2021-04-08 | 2022-04-06 | 视频防抖处理方法、装置、电子设备和存储介质 |
US18/472,001 US20240013347A1 (en) | 2021-04-08 | 2023-09-21 | Method for video anti-shake processing, electronic apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379627.2A CN115209030B (zh) | 2021-04-08 | 2021-04-08 | 视频防抖处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115209030A CN115209030A (zh) | 2022-10-18 |
CN115209030B true CN115209030B (zh) | 2024-02-27 |
Family
ID=83545997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110379627.2A Active CN115209030B (zh) | 2021-04-08 | 2021-04-08 | 视频防抖处理方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115209030B (zh) |
WO (1) | WO2022214001A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116797497B (zh) * | 2023-08-24 | 2023-11-14 | 摩尔线程智能科技(北京)有限责任公司 | 一种图像处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632501A (zh) * | 2017-03-23 | 2018-10-09 | 展讯通信(上海)有限公司 | 视频防抖方法及装置、移动终端 |
WO2018223381A1 (zh) * | 2017-06-09 | 2018-12-13 | 厦门美图之家科技有限公司 | 一种视频防抖方法及移动设备 |
CN110519507A (zh) * | 2019-07-23 | 2019-11-29 | 深圳岚锋创视网络科技有限公司 | 一种相机镜头平滑处理方法、装置及便携式终端 |
CN111901678A (zh) * | 2020-07-31 | 2020-11-06 | 成都云格致力科技有限公司 | 一种面向tcp实时视频流的抗抖动平滑方法及其*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8872928B2 (en) * | 2010-09-14 | 2014-10-28 | Adobe Systems Incorporated | Methods and apparatus for subspace video stabilization |
WO2014092193A1 (ja) * | 2012-12-14 | 2014-06-19 | 株式会社コンセプト | 画像処理装置、画像処理方法、画像処理プログラム、プログラム及びカメラ付き移動端末装置 |
CN105409196B (zh) * | 2013-07-23 | 2018-11-30 | 微软技术许可有限责任公司 | 用于视频稳定的自适应路径平滑 |
CN108564554A (zh) * | 2018-05-09 | 2018-09-21 | 上海大学 | 一种基于运动轨迹优化的视频稳定方法 |
CN108596858B (zh) * | 2018-05-10 | 2021-03-09 | 中国科学技术大学 | 一种基于特征轨迹的交通视频去抖方法 |
CN110047091B (zh) * | 2019-03-14 | 2022-09-06 | 河海大学 | 一种基于相机轨迹估计和特征块匹配的稳像方法 |
CN110139031B (zh) * | 2019-05-05 | 2020-11-06 | 南京大学 | 一种基于惯性感知的视频防抖***及其工作方法 |
-
2021
- 2021-04-08 CN CN202110379627.2A patent/CN115209030B/zh active Active
-
2022
- 2022-04-06 WO PCT/CN2022/085382 patent/WO2022214001A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632501A (zh) * | 2017-03-23 | 2018-10-09 | 展讯通信(上海)有限公司 | 视频防抖方法及装置、移动终端 |
WO2018223381A1 (zh) * | 2017-06-09 | 2018-12-13 | 厦门美图之家科技有限公司 | 一种视频防抖方法及移动设备 |
CN110519507A (zh) * | 2019-07-23 | 2019-11-29 | 深圳岚锋创视网络科技有限公司 | 一种相机镜头平滑处理方法、装置及便携式终端 |
CN111901678A (zh) * | 2020-07-31 | 2020-11-06 | 成都云格致力科技有限公司 | 一种面向tcp实时视频流的抗抖动平滑方法及其*** |
Non-Patent Citations (1)
Title |
---|
视频监控图像去抖动视觉监测算法优化仿真;尹雅楠;;计算机仿真(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022214001A1 (zh) | 2022-10-13 |
CN115209030A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115209031B (zh) | 视频防抖处理方法、装置、电子设备和存储介质 | |
WO2020228522A1 (zh) | 目标跟踪方法、装置、存储介质及电子设备 | |
JP2022508988A (ja) | 顔認識のための圧縮-拡張深さ方向畳み込みニューラルネットワーク | |
CN109766925B (zh) | 特征融合方法、装置、电子设备及存储介质 | |
US12008167B2 (en) | Action recognition method and device for target object, and electronic apparatus | |
CN109118447B (zh) | 一种图片处理方法、图片处理装置及终端设备 | |
US20220130025A1 (en) | Picture optimization method device, terminal and corresponding storage medium | |
CN112561269A (zh) | 顾问推荐方法及装置 | |
CN107368181B (zh) | 一种手势识别方法及装置 | |
CN115209030B (zh) | 视频防抖处理方法、装置、电子设备和存储介质 | |
CN111951192A (zh) | 一种拍摄图像的处理方法及拍摄设备 | |
CN111985556A (zh) | 关键点识别模型的生成方法和关键点识别方法 | |
CN112991151B (zh) | 图像处理方法、图像生成方法、装置、设备和介质 | |
CN111966473B (zh) | 一种线性回归任务的运行方法及装置、电子设备 | |
CN114390201A (zh) | 对焦方法及其装置 | |
WO2024022301A1 (zh) | 视角路径获取方法、装置、电子设备及介质 | |
CN112183946A (zh) | 多媒体内容评估方法、装置及其训练方法 | |
WO2024021504A1 (zh) | 人脸识别模型训练方法、识别方法、装置、设备及介质 | |
CN116934591A (zh) | 多尺度特征提取的图像拼接方法、装置、设备及存储介质 | |
CN116012418A (zh) | 多目标跟踪方法及装置 | |
US20240013347A1 (en) | Method for video anti-shake processing, electronic apparatus, and storage medium | |
CN112967351A (zh) | 图像生成方法、装置、电子设备和存储介质 | |
CN110443746B (zh) | 基于生成对抗网络的图片处理方法、装置及电子设备 | |
CN110222777B (zh) | 图像特征的处理方法、装置、电子设备及存储介质 | |
CN111866609B (zh) | 用于生成视频的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |