CN115550632A - 一种视频抖动检测方法、装置以及设备 - Google Patents
一种视频抖动检测方法、装置以及设备 Download PDFInfo
- Publication number
- CN115550632A CN115550632A CN202211119187.8A CN202211119187A CN115550632A CN 115550632 A CN115550632 A CN 115550632A CN 202211119187 A CN202211119187 A CN 202211119187A CN 115550632 A CN115550632 A CN 115550632A
- Authority
- CN
- China
- Prior art keywords
- image
- images
- frame
- jitter
- degree
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/004—Diagnosis, testing or measuring for television systems or their details for digital television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
Abstract
本说明书实施例公开了一种视频抖动检测方法、装置以及设备。方案包括:获取待检测视频包含的帧图像集合中多组两帧相邻图像;将所述两帧相邻图像分别进行切块处理,得到多个图像块;计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
Description
技术领域
本说明书涉及图像处理技术领域,尤其涉及一种视频抖动检测方法、装置以及设备。
背景技术
无论是短视频还是直播业务中,都存在视频抖动,视频抖动会直接影响用户的观看体验,为了帮助改善用户体验,需要较为准确地检测出视频抖动,之后再对这部分进行相应处理,以降低视频抖动带来的不良体验。
目前采用的一些视频抖动检测方案,有考虑到图像中运动的物体,但是处理方式比较粗糙,提取的运动特征过于简单,造成的误差很大。
基于此,需要更为准确可靠的视频抖动检测方案。
发明内容
本说明书一个或多个实施例提供一种视频抖动检测方法、装置、设备以及存储介质,用以解决如下技术问题:需要更为准确可靠的视频抖动检测方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种视频抖动检测方法,包括:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
本说明书一个或多个实施例提供的一种视频抖动检测装置,包括:
图像获取模块,获取待检测视频包含的帧图像集合中多组两帧相邻图像;
切块处理模块,将所述两帧相邻图像分别进行切块处理,得到多个图像块;
局部检测模块,计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
抖动调整模块,判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
整体检测模块,在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
本说明书一个或多个实施例提供的一种视频抖动检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:不仅能够关注到图像中运动的物体的特征,同样也关注了包括图像背景在内的其他局部区域的特征,基于对视频中的图像切块得到的多个图像块,更精细地提取这些特征,而且还能够基于图像块的位移矢量,将图像中一些异常的局部区域排除或者降低其对检测可能引入的负面影响;尤其是针对传统方案容易将摄影平移、摄影拉伸等正常动作产生的视频正常效果误识别为视频抖动,根据相邻帧图像整体的运动方向是否具有一致性来准确地识别这类正常效果,降低了误判,提高了检测的可靠性和准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的一种视频抖动检测方法的流程示意图;
图2为本说明书一个或多个实施例提供的图1中方法的一种具体实施方案的流程示意图;
图3为本说明书一个或多个实施例提供的一种方向统计方案示意图;
图4为本说明书一个或多个实施例提供的一种图像相似度比较示意图;
图5(a)、图5(b)为本说明书一个或多个实施例提供的一种图像对应的运动方向示意图;
图6为本说明书一个或多个实施例提供的一种视频抖动检测装置的结构示意图;
图7为本说明书一个或多个实施例提供的一种视频抖动检测设备的结构示意图。
具体实施方式
本说明书实施例提供一种视频抖动检测方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请尝试采用一些方案来检测视频抖动,但是,这些方案应用环境受限,只能检测特定环境或者部分环境下的视频抖动,存在背景技术中的问题,下面进一步分析。这些方案包括特征点法、稠密光流法、投影法等。
对于特征点法,其主要通过sift、surf、fast、brief、orb等方式获得特征,然后根据特征点获得前后帧的变换矩阵,进而判断是否抖动,但是,这种方案会使特征点聚集在运动的物体上,而背景特征点很少,这样会造成大量的误判,而且有些视频对于特征点难以提取,进一步增大了检测难度。
对于稠密光流法,这种方案计算量大,而且由于视频运动物体往往较多,导致会产生许多误差,进而对最终结果产生误判。
对于投影法,尽管其计算量相对稠密光流法相对少一些,但是该方案对于视频中镜头拉伸和镜头平移的这两种情况,两种情况虽然整个图像都在运动,但是未必属于抖动,而该方案则很容易造成误检,在这两种情况下,容易误判为抖动。
针对上面这些问题本申请进行了改进,下面针对这样的思路,继续详细说明本申请提供的方案。
图1为本说明书一个或多个实施例提供的一种视频抖动检测方法的流程示意图。该方法可以应用于不同的业务领域中,这些业务领域比如包括:短视频业务、直播业务、即时通讯业务领域、电商业务领域、电子支付业务领域、游戏业务领域等。该流程可以在图像处理设备上执行,比如,智能手机、直播服务器等。流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
图1中的流程包括以下步骤:
S102:获取待检测视频包含的帧图像集合中多组两帧相邻图像。
在本说明书一个或多个实施例中,待检测视频由其帧率下连续的一帧又一帧图像构成,帧图像集合为构成待检测视频的部分或者全部帧图像,比如,可以只从待检测视频中抽样出一部分图像作为帧图像集合,如此有助于提高检测效率。
S102中的相邻指时序上的相邻,帧图像集合中图像的时序即为在待检测视频中的时序。按照帧图像集合中图像的时序,依次获取时序相邻的每两帧图像,作为一组两帧相邻图像(比如,第1、2帧为1组、第2、3帧为1组、第3、4帧为1组,等等)。两帧相邻图像也可称为前后帧图像,其中的前一帧图像的时序早于后一帧图像的时序。为了便于描述,下面主要以其中任一组两帧相邻图像为例,说明处理过程,其他的每组两帧相邻图像可以按照类似的方式处理,直到整个帧图像集合处理完毕。
S104:将所述两帧相邻图像分别进行切块处理,得到多个图像块。
在本说明书一个或多个实施例中,视频是否抖动与图像中的运动情况是密切相关的,哪些情况是正常的运动,哪些情况是抖动所间接导致的运动,要想准确地进行分辨必须得更精细准确地检测图像中的运动情况。为了更好地实现这个目的,将每一帧图像切块处理,每个图像块反映了其所属的那一帧图像中的局部情况,先局部分析再结合多个局部来全局分析,如此,一方面有助于得到更准确的全局分析结果,另一方面也有助于尽早排除一些异常情况,以防止某些局部情况误导最终的检测结果,而且还能够提高后续处理效率。
切块处理的方式是多样的。比如,在每帧图像中进行目标分割后,再在各目标之间分类后切块,或者对目标的组成部分分类后切块,这种方式的优点是使得切分得到的图像块本身就拥有了更明确的业务含义,从而有助于后续区别化地有针对性地处理。当然,这种方式也带来的更多的计算力要求,在对效率要求较高的情况下,也可以更简单的切块方式,比如,按照矩阵的划分方式,将每帧图像切分为m行n列(记作m*n)图像块,按需求设定m和n的取值,比如,将m和n都取值为4,或者都取值5,等等。
S106:计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值。
在本说明书一个或多个实施例中,每个图像块的位移矢量用指定的多个方向上的矢量分量来表示,比如,从横向方向(x轴方向)和纵向方向(y轴方向)上分别的分量。若在具体业务场景下,特别关注某些特殊的方向(比如,球类比赛视频中可能会关注球的角度,则有可能指定45度方向或者其他一些能表示出球起飞时的仰角方向),也可以基于该方向的分量来表示位移矢量。
在本说明书一个或多个实施例中,假定前一帧图像中的图像块(或者其中的部分内容)在指定方向上移动一定的位移,则校验后一帧图像对应于该位移后的图像块(或者对应的部分内容)与前一帧中的内容的相关性如何,若相关性越高,则表示假定的该位移与事实越相符。按照这种思路进行多次尝试,分别得到各指定方向上相对更有可能的位移,进而用这些位移作为分量,表示出图像块的位移矢量。
在本说明书一个或多个实施例中,基于图像块,度量局部范围对于抖动检测结果的影响,之后再综合考虑多个局部范围,得到对整帧图像对于抖动检测结果的影响。在实际应用中,一些局部范围的情况会给整体带来干扰,影响度量结果,因此,先尝试将对应的这类图像块视为异常块进行完全排除或一定程度地降低干扰。之后主要基于剩下的图像块(即剩余块),来度量整帧图像对于抖动检测结果的影响,可以预先定义抖动程度表征值,用于表示这种影响。在待检测视频中,若有越多帧图像对应的抖动程度表征值所表征的抖动程度越高,则该待检测视频抖动的可能性也越高,大致可以如此理解,实际的关系未必是线性的,可能是更复杂的正相关关系。
S108:判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度。
包括投影法在内的一些方案中,对视频中镜头拉伸和镜头平移的这两种情况(尤其是匀速运动的情况下)都很容易造成误检。本申请认为这两种情况下的特点在于,虽然对应的视频画面在运动,但是,运动方向确具有一致性,会连续出现多帧图像对应的运动方向一致的现象;另外,在匀速运动的情况下,不仅是运动方向,连运动对应的位移长度连续变化情况也具有一致性。因此,基于这些现象,反过来判断当前视频中表现出的运动是否由于这两种情况导致,从而避免误判为抖动。
在本说明书一个或多个实施例中,S108中的多帧图像的抖动程度表征值可以按照前面的步骤进行计算。对于S106中的异常块,可以直接排除,或者,也可以部分保留,通过调整其抖动程度表征值降低其负面影响(若降到足够低甚至也可能实现与直接排除基本一致的效果);可以根据实际需要灵活地选择或者结合使用这两种处理方式。
S110:在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
在本说明书一个或多个实施例中,累积或者加权累积这些图像的抖动程度表征值,并基于设定阈值和抖动程度表征值的累积值,来表征整个待检测视频的抖动情况,进而判断待检测视频是否抖动。该阈值可以根据诸如抖动程度表征值、切块处理、帧图像集合等涉及的参数来设定,以便于能够自适应调整阈值。
通过图1的方法,不仅能够关注到图像中运动的物体的特征,同样也关注了包括图像背景在内的其他局部区域的特征,基于对视频中的图像切块得到的多个图像块,更精细地提取这些特征,而且还能够基于图像块的位移矢量,将图像中一些异常的局部区域排除或者降低其对检测可能引入的负面影响;尤其是针对传统方案容易将摄影平移、摄影拉伸等正常动作产生的视频正常效果误识别为视频抖动,根据相邻帧图像整体的运动方向是否具有一致性来准确地识别这类正常效果,降低了误判,提高了检测的可靠性和准确性。
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
在本说明书一个或多个实施例中,从前一帧图像到后一帧图像是正确的时序,图像中产生的位移是符合实际的,但是,在具体计算时并不按照肉眼观测这种直接的方式确定位移的,而是通过多次尝试来搜索最优解,因此可能存在误差还可能陷入局部最优解。考虑到这种情况,为了提高可靠性,引入正反两个方向对位移进行校对,通过将比较相邻两个图像对应图像块的正向位移矢量和反向位移矢量,来判断本次的位移计算是否可靠,如果某一个图像块的位移计算是可靠的,则其正向位移矢量与反向位移矢量理论上互为相反数,则两者之和应当为零。
基于上一段的思路,为图像块计算从对应的两帧相邻图像中前一帧图像到后一帧图像的正向位移矢量,以及从后一帧图像到前一帧图像的反向位移矢量,根据正向位移矢量与反向位移矢量之间的差异程度,判断图像块是否为异常块。若两者之和为零或者为接近于零的一个设定阈值(即,两者的绝对值基本一致),则可以认为图像块是正常块;否则为异常块,正向位移矢量与反向位移矢量两者至少有一个计算时不可靠的。对于初步判定为异常块的图像块,也可以重新尝试计算其位移矢量,若通过重新尝试能够得到可靠的计算结果,则可以将该图像块视为正常块。
在本说明书一个或多个实施例中,在实际应用中,还有一类异常情况,即整帧图像或者图像局部出现黑屏、白屏,或者卡顿等情况,在这类情况下,图像中表现出的内容很可能是无意义的,会干扰检测结果。基于均值和方差来识别这类情况,具体地,根据位移矢量,计算同一帧图像中的各图像块的位移矢量平方和对应的均值和方差(也可以采用标准差),比如,位移矢量平方和自身的均值和方差,或者位移矢量平方开方和的均值和方差,若均值和方差均为零(在考虑误差的情况下,可以给予一定的容忍度,比如,均接近零),则将各图像块确定为异常块或者降低同一帧图像的抖动程度表征值表征的抖动程度。
在本说明书一个或多个实施例中,还考虑了可能误导检测结果的另一类情况,即在一帧图像中,只有个别图像块中发生了比较激烈的运动,则虽然该运动不是由于抖动导致的,但它会影响对这整帧图像的检测,因此,考虑将这种少量的相对于整帧图像剧烈变化的图像块排除掉。基于此,可以计算一帧图像包含的多个图像块(若已确定部分异常块,则将这部分异常块先排除掉)的位移矢量平方和,判断位移矢量平方和的离散程度是否大于设定阈值,若是,则将多个图像块中导致离散程度扩大的至少部分图像块判定为异常块,以使得剩余图像块对应的离散程度不再大于设定阈值。离散程度采用标准差或方差表示,还可以基于均值进行归一化处理,以使得所设定的阈值更有普适性,比如,可以使离散程度与位移矢量平方和的标准差或方差正相关,与位移矢量平方和的均值负相关。
在本说明书一个或多个实施例中,在排除了导致上述的离散程度不正常地偏大的异常块后,离散程度本身能够较为合理地反映出对应图像的抖动程度,因此可以基于离散程度来计算抖动程度表征值。比如,对于两帧相邻图像中任一帧图像的全部剩余块,根据全部剩余块的剩余块数量(若其中有未运动的剩余块则可以不对其计数,或者将其直接排除),以及位移矢量平方和的离散程度,计算任一帧图像的抖动程度表征值。
在本说明书一个或多个实施例中,除了一帧图像中少量的局部区域剧烈运动可能误导检测结果以外,若一帧图像中全体的运动情况都比较剧烈且混乱(这种情况往往不是由于抖动导致,而是实际可能发生的,比如近距离拍摄正在炒菜的锅中情景),也可能误导检测结果。本申请将熵引入来描述图像内部运动的混乱性,对于两帧相邻图像中任一帧图像的全部剩余块,统计全部剩余块分别对应的运动方向,根据分别对应的运动方向,计算任一帧图像的熵值,熵值反映了任一帧图像中的运动方向混乱程度,若熵值大于设定阈值,可以认为任一帧图像中运动方向过于混乱,则相应地降低任一帧图像的抖动程度表征值所表征的抖动程度。比如,通过统计图像包含的多个图像块的速度方向,然后统计各个方向的块数累加和,再换算成各个方向的图像块数量占比,据此计算图像的熵值,针对过大的熵值进行排除,有助于防止将复杂运动的镜头中占比大物体运动误识别为抖动。
在实际应用中,一个视频中往往是由多个切换的镜头组成的,而不是由一个长镜头一镜到底,而在镜头切换过程前后帧图像会发生显著变化,从而也容易导致抖动误识别。本申请基于当前的抖动程度表征值是否剧烈变化(比如,陡增),来识别出疑似画面切换场景,之后再通过比对前后帧图像的相似度,以判定是否确实为画面切换场景并进行应对处理。不仅如此,考虑到前后帧之间的间隔时间往往很小,对比量很大,而大部分图像之间的相似度很高,为了提高比对效率和准确性,基于dhash值进行比对。
具体比如,在确定两帧相邻图像分别的抖动程度表征值之后,根据多个图像块的数量,确定画面切换参考阈值,判断抖动程度表征值是否大于画面切换参考阈值,若是,则计算所述两帧相邻图像之间的相似度,若相似度小于设定阈值,则对抖动程度表征值进行调整,以降低其表征的抖动程度。在计算相似度时,若比对对象时间间隔很近(比如,若两帧相邻图像为待检测视频中的连续两帧),则可以计算两帧相邻图像分别的dhash值,根据两帧相邻图像分别的dhash值之间的距离(比如,汉明距离),计算两帧相邻图像之间的相似度。
在本说明书一个或多个实施例中,对于帧图像集合中连续的多帧图像,分别根据前一帧图像的剩余块的位移矢量和后一帧图像的剩余块的位移矢量(用分量分别判断,或者分量合成后统一判断),计算前一帧图像对应的位移矢量和、后一帧图像对应的位移矢量和,根据这两个位移矢量和的乘积,判断前一帧图像与后一帧图像分别对应的运动方向是否符合设定的一致性条件,通过迭代执行上述步骤,判断连续的多帧图像分别对应的运动方向是否符合设定的一致性条件。若两者的运动方向是完全相同(此时,该乘积为1),则是最符合一致性条件的,不过实际应用中判定可以更为宽松,比如,这两个位移矢量和的乘积大于等于0即可,表示两者方向夹角不为钝角,一般为锐角,则方向大致是一致的,可以认为此时也符合一致性条件,根据实际需求控制一致性条件的严格程度。
进一步地,若帧图像集合中连续的多帧图像分别对应的运动方向符合设定的一致性条件,根据前面说明可知这很可能是正常现象而非抖动,因此,让这些帧图像导致整体的抖动程度表征值按照图像数量持续累积膨胀是不合理的。可以从中挑选少量有代表性的帧来为抖动程度的可能性增长进行贡献,而忽视其他帧,从而即防止了不合理的膨胀又使得这些帧整体上仍然能够贡献,因为这种情况也未必就不是抖动。
有代表性的帧比如包括其中的第一帧或最后一帧等,基于此,比如将多帧图像中第一帧图像和/或最后一帧图像的抖动程度表征值保留,将其他的中间帧图像的抖动程度表征值进行调整,以使其表征的抖动程度最低。
根据上面的说明,更直观地,本说明书一个或多个实施例还提供的图1中方法的一种具体实施方案的流程示意图,如图2所示。为了便于理解,在该流程中,采用了一些示例性的可选方案、计算公式和相关阈值,在实际测试中取得了较好的效果。
图2中的流程包括以下步骤:
步骤1:将一段待检测视频,每取间隔两秒为研究对象,统称为子视频,每秒抽帧20帧图像,记作chou_zhen=20,若图像的帧率小于20,则根据帧率进行选取,并获得每张相邻图像时间间隔,记作dis_time=1/chou_zhen。
步骤2:记sum_t=[],sum_t用于存放子视频中符合要求的t值,t值即为上述的抖动状态表征值。
步骤3:将两帧相邻图像切块处理,比如分别切成5*5或4*4的图像块。
位移矢量获取:
(1)计算图片的横向投影RowL(i)、纵向投影ColL(j);
其中,m表示图像的列数,n表示图像的行数,L表示第L帧图像。
(2)计算横向投影的平均值RowL,纵向投影的平均值ColL;
(3)获得横向投影偏移值dis_RowL(i),纵向投影偏移值dis_ColL(j);
dis_RowL(i)=RowL(i)-RowL;
dis_ColL(j)=ColL(j)-ColL。
(4)根据横向投影偏移和纵向投影偏移计算水平位移和垂直位移,计算方式相同,在此列举横向投影计算为例。首先计算横向相关性函数:
其中,cur表示当前帧图像,pre表示前一帧图像,m是设定值,表示搜索的范围,比如推荐取值16。
(5)计算在范围内使Cx(w)达到最小值的wmin。
(6)获得水平位移vx=m+1-wmin。
(7)计算位移矢量平方和dis及其夹角θ;
(8)由前一帧图像到后一帧图像获得正向位移矢量fv={vxf,vyf},由后一帧图像到前一帧图像获得反向位移矢量bv={vxb,vyb},正向位移矢量是后面步骤主要需要的位移矢量;
vx=vxf;
vy=vyf。
步骤1:判断每个图像块的位移矢量是否可靠,有意义。将图像块的正向位移矢量和反向位移矢量进行相加,判断相加值是否小于设定阈值vthresh,若大于该阈值,则舍弃该块,否则进行下一步;
vxf+vxb≤vthresh;
vyf+vyb≤vthresh。
步骤6:判断位移矢量平方和的均值和方差是否同时为0,或者一帧图片全部剩余块的数量小于设定阈值,若是,则都将tL(即,第L帧图像对应的t值)置为0,然后,跳转到步骤2,否则,进行下一步。这里判断同时为0,能够识别出黑屏、白屏或者卡顿情况。剩余块的数量的阈值比如取6。
步骤7:根据位移矢量平方和的均值和方差删除抖动异常的图像块。
删除块的步骤:
步骤8:判断均值和方差是否同时为0,若是,则将tL置为0,然后跳转到步骤15。
步骤3:如此以防止图像中部分异常移动的块,导致静止图片的误判。否则,进入下一步。
步骤10:计算剩余:块的熵值。
将步骤4中θ与位移的方向统计为8个方向,参见图3。图3为本说明书一个或多个实施例提供的一种方向统计方案示意图,在图3中,方向分为0度、45度、90度、135度、180度、225度、270度、315度,从而,得到θall={num1,num2,...,num8},然后,对各个方向统计个数进行归一化,得到θ’all’={num’1,num’2,...,num’8}
步骤11:如果熵值大于0.43(表示图像内容运动方向过于混乱,可以避免由于复杂运动的镜头占比大的物体,导致误识别为抖动),则将tL置为0,跳转到步骤18,否则,进行下一步。
步骤12:计算图像中剩余块的tL值。
(2)根据剩余的位移矢量平方和(或者平方和开方)的均值和方差,以及剩余块的数量求出tL。
tL的求解:
sum(displace>0)表示displace中单个disn>0的个数。
步骤13:判断tL值是否大于6×qie_num2,qie_num表示切分的行列数,比如,对于5*5切分,则qie_num取值为5。当视频出现画面切换时,会出现tL的陡增,因此,对于出现剧烈陡增时,对图像基于dhash值判断。若没有出现陡增,则跳转到步骤15。
具体判断流程:
(1)首先将图像缩放,比如缩放到9*8(这里的数字表示像素数量)尺寸。
(2)计算差异值,获得哈希值。通过比较每行左右两个像素,若左边的像素值大于右边的像素值,则记录为1,否则,记录为0。由于每行一共有9个像素,因此可以获得8个值,一共有8行,最终,可以得到哈希值长度为64的0-1序列。
(3)通过汉明距离计算两帧图像分别的dhash值,进而获得相似度;
对于连续视频来说,由于取的间隔时间很小的图像,因此图像的连续性很强,图像相似性很高,通过dhash判断方式进行发现,比较符合使用需求,而且,相对于特征点判断方式速度要快100倍以上;
其中,han表示取汉明距离。
参见图4,图4为本说明书一个或多个实施例提供的一种图像相似度比较示意图,在图4,所展示的前两帧图像之间的dhash值相似度为0.4843,后两帧图像之间的dhash值相似度为0.8125。
步骤14:判断两帧图像之间的dhash值相似度是否小于0.65,若是,则置tL为0,进行下一步,否则,跳转到步骤16。
步骤15:对于连续多帧位移矢量方向具有一致性的帧图像对应的tL值的序列,根据记录这类帧的计数器continue_num,保留起始tL和末尾tL,将中间tL全部置为0,然后,跳转到步骤18。
步骤16:将当前帧的位移矢量和与前一帧的对应方向的位移矢量和进行相乘,判断当前帧的运动方向与前一帧图像是否一致,需要横向方向与纵向方向均一致。对于镜头拉伸和镜头平移的情况,尽管整个图像都在移动,而且各个图像块的运动方向可能是不一样的,但是,前后两帧图像的横向和纵向位移矢量和方向是一致的。参见图5(a)和图5(b),其为为本说明书一个或多个实施例提供的一种图像对应的运动方向示意图。图5(a)中展示了摄影拉伸情况下的近似位移矢量和,图5(b)展示了摄影平移情况下的近似位移矢量和;
步骤17:若不一致,跳转到步骤4;若一致,则计数器continue_num加1,进行下一步。
步骤18:若一致,则将tL放入sum_t中,并将计数器n加1,n表示sum_t中的t值数量。
步骤19:判断遍历的图像数量是否达到间隔时间内的图像数量,若是,则计算sum_k中所有t值的和,若和大于阈值H,则判定为抖动,否则,判定为未抖动。H比如设置为all_sum*(qie_num+2)*(qie_num+thresh)*(all_num/40),all_sum表示时间间隔内所有抽取的图像总数量,按照前面的实例取值则,一个时间间隔为2秒,每秒抽帧20帧,共计40帧。
步骤20:如果没有到达预计的数量,则跳转到步骤3,继续迭代执行。
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图6、图7所示。
图6为本说明书一个或多个实施例提供的一种视频抖动检测装置的结构示意图,所述装置包括:
图像获取模块602,获取待检测视频包含的帧图像集合中多组两帧相邻图像;
切块处理模块604,将所述两帧相邻图像分别进行切块处理,得到多个图像块;
局部检测模块606,计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
抖动调整模块608,判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
整体检测模块610,在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
可选地,所述局部检测模块606,为所述图像块计算从所述两帧相邻图像中前一帧图像到后一帧图像的正向位移矢量,以及从所述后一帧图像到所述前一帧图像的反向位移矢量;
根据所述正向位移矢量与所述反向位移矢量之间的差异程度,判断所述图像块是否为异常块。
可选地,所述局部检测模块606,根据所述位移矢量,计算同一帧所述图像中的各所述图像块的位移矢量平方和对应的均值和方差;
若所述均值和所述方差均为零,则将所述各所述图像块确定为异常块或者降低所述同一帧所述图像的抖动程度表征值表征的抖动程度。
可选地,所述局部检测模块606,对于所述两帧相邻图像中任一帧图像的全部剩余块;
根据全部剩余块的剩余块数量,以及位移矢量平方和的离散程度,计算所述任一帧图像的抖动程度表征值。
可选地,所述局部检测模块606,判断所述位移矢量平方和的离散程度是否大于设定阈值;
若是,则将所述多个图像块中导致所述离散程度扩大的至少部分图像块判定为异常块,以使得剩余图像块对应的所述离散程度不再大于所述设定阈值;
其中,所述离散程度与所述位移矢量平方和的标准差或方差正相关,与所述位移矢量平方和的均值负相关。
可选地,所述局部检测模块606,对于所述两帧相邻图像中任一帧图像的全部剩余块;
统计所述全部剩余块分别对应的运动方向;
根据所述分别对应的运动方向,计算所述任一帧图像的熵值,所述熵值反映了所述任一帧图像中的运动方向混乱程度;
若所述熵值大于设定阈值,则相应地降低所述任一帧图像的抖动程度表征值所表征的抖动程度。
可选地,所述局部检测模块606,在确定所述两帧相邻图像分别的抖动程度表征值之后,根据所述多个图像块的数量,确定画面切换参考阈值;
判断所述抖动程度表征值是否大于所述画面切换参考阈值;
若是,则计算所述两帧相邻图像之间的相似度;
若所述相似度小于设定阈值,则对所述抖动程度表征值进行调整,以降低其表征的抖动程度。
可选地,所述局部检测模块606,若所述两帧相邻图像为所述待检测视频中的连续两帧,则计算所述两帧相邻图像分别的dhash值;
根据所述两帧相邻图像分别的dhash值之间的汉明距离,计算所述两帧相邻图像之间的相似度。
可选地,所述抖动调整模块608,对于所述帧图像集合中连续的多帧图像,分别根据前一帧图像的剩余块的位移矢量和后一帧图像的剩余块的位移矢量,计算所述前一帧图像对应的位移矢量和、所述后一帧图像对应的位移矢量和;
根据这两个位移矢量和的乘积,判断所述前一帧图像与所述后一帧图像分别对应的运动方向是否符合设定的一致性条件;
通过迭代执行上述步骤,判断所述连续的多帧图像分别对应的运动方向是否符合设定的一致性条件。
可选地,所述抖动调整模块608,将所述多帧图像中第一帧图像和/或最后一帧图像的抖动程度表征值保留,将其他的中间帧图像的抖动程度表征值进行调整,以使其表征的抖动程度最低;
所述根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动,具体包括:
根据所述帧图像集合中图像的抖动程度表征值的累积值,判断所述待检测视频是否抖动。
图7为本说明书一个或多个实施例提供的一种视频抖动检测设备的结构示意图,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
基于同样的思路,本说明书一个或多个实施例还提供了对应于图1中方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (21)
1.一种视频抖动检测方法,包括:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
2.如权利要求1所述的方法,所述计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,具体包括:
为所述图像块计算从所述两帧相邻图像中前一帧图像到后一帧图像的正向位移矢量,以及从所述后一帧图像到所述前一帧图像的反向位移矢量;
根据所述正向位移矢量与所述反向位移矢量之间的差异程度,判断所述图像块是否为异常块。
3.如权利要求1所述的方法,所述根据所述位移矢量,识别所述多个图像块中的异常块,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值,具体包括:
根据所述位移矢量,计算同一帧所述图像中的各所述图像块的位移矢量平方和对应的均值和方差;
若所述均值和所述方差均为零,则将所述各所述图像块确定为异常块或者降低所述同一帧所述图像的抖动程度表征值表征的抖动程度。
4.如权利要求1所述的方法,所述根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值,具体包括:
对于所述两帧相邻图像中任一帧图像的全部剩余块;
根据全部剩余块的剩余块数量,以及位移矢量平方和的离散程度,计算所述任一帧图像的抖动程度表征值。
5.如权利要求4所述的方法,所述根据所述位移矢量,识别所述多个图像块中的异常块,具体包括:
判断所述位移矢量平方和的离散程度是否大于设定阈值;
若是,则将所述多个图像块中导致所述离散程度扩大的至少部分图像块判定为异常块,以使得剩余图像块对应的所述离散程度不再大于所述设定阈值;
其中,所述离散程度与所述位移矢量平方和的标准差或方差正相关,与所述位移矢量平方和的均值负相关。
6.如权利要求1所述的方法,所述根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值,具体包括:
对于所述两帧相邻图像中任一帧图像的全部剩余块;
统计所述全部剩余块分别对应的运动方向;
根据所述分别对应的运动方向,计算所述任一帧图像的熵值,所述熵值反映了所述任一帧图像中的运动方向混乱程度;
若所述熵值大于设定阈值,则相应地降低所述任一帧图像的抖动程度表征值所表征的抖动程度。
7.如权利要求1所述的方法,所述确定所述两帧相邻图像分别的抖动程度表征值之后,所述方法还包括:
根据所述多个图像块的数量,确定画面切换参考阈值;
判断所述抖动程度表征值是否大于所述画面切换参考阈值;
若是,则计算所述两帧相邻图像之间的相似度;
若所述相似度小于设定阈值,则对所述抖动程度表征值进行调整,以降低其表征的抖动程度。
8.如权利要求7所述的方法,所述计算所述两帧相邻图像之间的相似度,具体包括:
若所述两帧相邻图像为所述待检测视频中的连续两帧,则计算所述两帧相邻图像分别的dhash值;
根据所述两帧相邻图像分别的dhash值之间的汉明距离,计算所述两帧相邻图像之间的相似度。
9.如权利要求1所述的方法,所述判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,具体包括:
对于所述帧图像集合中连续的多帧图像,分别根据前一帧图像的剩余块的位移矢量和后一帧图像的剩余块的位移矢量,计算所述前一帧图像对应的位移矢量和、所述后一帧图像对应的位移矢量和;
根据这两个位移矢量和的乘积,判断所述前一帧图像与所述后一帧图像分别对应的运动方向是否符合设定的一致性条件;
通过迭代执行上述步骤,判断所述连续的多帧图像分别对应的运动方向是否符合设定的一致性条件。
10.如权利要求9所述的方法,所述将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,具体包括:
将所述多帧图像中第一帧图像和/或最后一帧图像的抖动程度表征值保留,将其他的中间帧图像的抖动程度表征值进行调整,以使其表征的抖动程度最低;
所述根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动,具体包括:
根据所述帧图像集合中图像的抖动程度表征值的累积值,判断所述待检测视频是否抖动。
11.一种视频抖动检测装置,包括:
图像获取模块,获取待检测视频包含的帧图像集合中多组两帧相邻图像;
切块处理模块,将所述两帧相邻图像分别进行切块处理,得到多个图像块;
局部检测模块,计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
抖动调整模块,判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
整体检测模块,在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
12.如权利要求11所述的装置,所述局部检测模块,为所述图像块计算从所述两帧相邻图像中前一帧图像到后一帧图像的正向位移矢量,以及从所述后一帧图像到所述前一帧图像的反向位移矢量;
根据所述正向位移矢量与所述反向位移矢量之间的差异程度,判断所述图像块是否为异常块。
13.如权利要求11所述的装置,所述局部检测模块,根据所述位移矢量,计算同一帧所述图像中的各所述图像块的位移矢量平方和对应的均值和方差;
若所述均值和所述方差均为零,则将所述各所述图像块确定为异常块或者降低所述同一帧所述图像的抖动程度表征值表征的抖动程度。
14.如权利要求11所述的装置,所述局部检测模块,对于所述两帧相邻图像中任一帧图像的全部剩余块;
根据全部剩余块的剩余块数量,以及位移矢量平方和的离散程度,计算所述任一帧图像的抖动程度表征值。
15.如权利要求14所述的装置,所述局部检测模块,判断所述位移矢量平方和的离散程度是否大于设定阈值;
若是,则将所述多个图像块中导致所述离散程度扩大的至少部分图像块判定为异常块,以使得剩余图像块对应的所述离散程度不再大于所述设定阈值;
其中,所述离散程度与所述位移矢量平方和的标准差或方差正相关,与所述位移矢量平方和的均值负相关。
16.如权利要求11所述的装置,所述局部检测模块,对于所述两帧相邻图像中任一帧图像的全部剩余块;
统计所述全部剩余块分别对应的运动方向;
根据所述分别对应的运动方向,计算所述任一帧图像的熵值,所述熵值反映了所述任一帧图像中的运动方向混乱程度;
若所述熵值大于设定阈值,则相应地降低所述任一帧图像的抖动程度表征值所表征的抖动程度。
17.如权利要求11所述的装置,所述局部检测模块,在确定所述两帧相邻图像分别的抖动程度表征值之后,根据所述多个图像块的数量,确定画面切换参考阈值;
判断所述抖动程度表征值是否大于所述画面切换参考阈值;
若是,则计算所述两帧相邻图像之间的相似度;
若所述相似度小于设定阈值,则对所述抖动程度表征值进行调整,以降低其表征的抖动程度。
18.如权利要求17所述的装置,所述局部检测模块,若所述两帧相邻图像为所述待检测视频中的连续两帧,则计算所述两帧相邻图像分别的dhash值;
根据所述两帧相邻图像分别的dhash值之间的汉明距离,计算所述两帧相邻图像之间的相似度。
19.如权利要求11所述的装置,所述抖动调整模块,对于所述帧图像集合中连续的多帧图像,分别根据前一帧图像的剩余块的位移矢量和后一帧图像的剩余块的位移矢量,计算所述前一帧图像对应的位移矢量和、所述后一帧图像对应的位移矢量和;
根据这两个位移矢量和的乘积,判断所述前一帧图像与所述后一帧图像分别对应的运动方向是否符合设定的一致性条件;
通过迭代执行上述步骤,判断所述连续的多帧图像分别对应的运动方向是否符合设定的一致性条件。
20.如权利要求19所述的装置,所述抖动调整模块,将所述多帧图像中第一帧图像和/或最后一帧图像的抖动程度表征值保留,将其他的中间帧图像的抖动程度表征值进行调整,以使其表征的抖动程度最低;
所述根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动,具体包括:
根据所述帧图像集合中图像的抖动程度表征值的累积值,判断所述待检测视频是否抖动。
21.一种视频抖动检测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待检测视频包含的帧图像集合中多组两帧相邻图像;
将所述两帧相邻图像分别进行切块处理,得到多个图像块;
计算所述图像块的位移矢量,并根据所述位移矢量,识别所述多个图像块中的异常块,根据除了所述异常块以外的剩余块,确定所述两帧相邻图像分别的抖动程度表征值;
判断所述帧图像集合中连续的多帧图像分别对应的运动方向是否符合设定的一致性条件,若是,则将所述多帧图像中至少部分帧图像的抖动程度表征值进行调整,以降低其表征的抖动程度;
在根据所述判断的结果相应处理后,根据所述帧图像集合中图像的抖动程度表征值,判断所述待检测视频是否抖动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119187.8A CN115550632A (zh) | 2022-09-14 | 2022-09-14 | 一种视频抖动检测方法、装置以及设备 |
PCT/CN2023/110118 WO2024055762A1 (zh) | 2022-09-14 | 2023-07-31 | 一种视频抖动检测方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211119187.8A CN115550632A (zh) | 2022-09-14 | 2022-09-14 | 一种视频抖动检测方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115550632A true CN115550632A (zh) | 2022-12-30 |
Family
ID=84727065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211119187.8A Pending CN115550632A (zh) | 2022-09-14 | 2022-09-14 | 一种视频抖动检测方法、装置以及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115550632A (zh) |
WO (1) | WO2024055762A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055762A1 (zh) * | 2022-09-14 | 2024-03-21 | 支付宝(杭州)信息技术有限公司 | 一种视频抖动检测方法、装置以及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080278633A1 (en) * | 2007-05-09 | 2008-11-13 | Mikhail Tsoupko-Sitnikov | Image processing method and image processing apparatus |
CN102111532B (zh) * | 2010-05-27 | 2013-03-27 | 周渝斌 | 相机镜头遮挡检测系统及方法 |
US9362710B1 (en) * | 2015-07-01 | 2016-06-07 | Northrop Grumman Systems Corporation | Multichannel controller |
CN105681663B (zh) * | 2016-02-26 | 2018-06-22 | 北京理工大学 | 一种基于帧间运动几何平滑性的视频抖动检测方法 |
CN108492287B (zh) * | 2018-03-14 | 2020-06-02 | 罗普特(厦门)科技集团有限公司 | 一种视频抖动检测方法、终端设备及存储介质 |
CN110414321B (zh) * | 2019-06-13 | 2022-02-01 | 北京百度网讯科技有限公司 | 自动识别晃动视频的方法和系统 |
CN111741186B (zh) * | 2020-06-11 | 2022-09-13 | 浙江大华技术股份有限公司 | 一种视频抖动检测方法、装置以及系统 |
CN114245102A (zh) * | 2021-11-26 | 2022-03-25 | 深圳市豪恩汽车电子装备股份有限公司 | 车载摄像头抖动识别方法、装置及计算机可读存储介质 |
CN114638808A (zh) * | 2022-03-22 | 2022-06-17 | 山东大学 | 一种基于视频监控的多场景视频抖动检测方法 |
CN115550632A (zh) * | 2022-09-14 | 2022-12-30 | 支付宝(杭州)信息技术有限公司 | 一种视频抖动检测方法、装置以及设备 |
-
2022
- 2022-09-14 CN CN202211119187.8A patent/CN115550632A/zh active Pending
-
2023
- 2023-07-31 WO PCT/CN2023/110118 patent/WO2024055762A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055762A1 (zh) * | 2022-09-14 | 2024-03-21 | 支付宝(杭州)信息技术有限公司 | 一种视频抖动检测方法、装置以及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2024055762A1 (zh) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9179071B2 (en) | Electronic device and image selection method thereof | |
KR101739245B1 (ko) | 비디오 프레임들의 디스플레이 파티셔닝 및 클러스터링을 위한 오브젝트들의 선택 및 추적 | |
EP3008696B1 (en) | Tracker assisted image capture | |
CN108875465B (zh) | 多目标跟踪方法、多目标跟踪装置以及非易失性存储介质 | |
KR20180084085A (ko) | 얼굴 위치 추적 방법, 장치 및 전자 디바이스 | |
CN110691259B (zh) | 视频播放方法、系统、装置、电子设备及存储介质 | |
JP7223079B2 (ja) | 画像処理装置およびその制御方法、ならびに撮像装置 | |
CN111241872B (zh) | 视频图像遮挡方法及装置 | |
US11386576B2 (en) | Image processing apparatus, method of tracking a target object, and storage medium | |
CN115550632A (zh) | 一种视频抖动检测方法、装置以及设备 | |
WO2023040298A1 (zh) | 视频表征自监督对比学习方法和装置 | |
EP2296095A1 (en) | Video descriptor generator | |
Chen et al. | Modelling of content-aware indicators for effective determination of shot boundaries in compressed MPEG videos | |
JP2015226326A (ja) | 映像解析方法及び映像解析装置 | |
US10880457B2 (en) | Image processing apparatus, image capturing apparatus, image processing method, and storage medium | |
CN110782425A (zh) | 图像处理方法、图像处理装置和电子设备 | |
JP2006215655A (ja) | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 | |
CN111368813B (zh) | 运动模糊图像的识别方法、装置、电子设备和支付设备 | |
CN106575359B (zh) | 视频流的动作帧的检测 | |
US10708501B2 (en) | Prominent region detection in scenes from sequence of image frames | |
CN114219938A (zh) | 感兴趣区域获取方法 | |
US20130135524A1 (en) | Method for searching small moving object in dynamic image | |
Warhade et al. | Effective algorithm for detecting various wipe patterns and discriminating wipe from object and camera motion | |
CN116188919B (zh) | 一种测试方法、装置、可读存储介质及电子设备 | |
JP7324066B2 (ja) | 画像処理装置およびその制御方法、ならびに撮像装置 |
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 |