一种在视频帧内合理组装待展示运动目标的方法与流程

文档序号:11286480阅读:167来源:国知局
一种在视频帧内合理组装待展示运动目标的方法与流程

本发明属于视频分析领域,具体涉及把不同时间出现的运动目标实现有效“聚集”并组装到尽可能短的视频区间内的方法。



背景技术:

视频图像分析系统已被广泛用于银行、公安、道路、交通等行业,而视频浓缩则是其中一个重要功能和应用。视频浓缩是指以自动或半自动的方式,利用视频分析算法对视频内容分析,提取其中的运动目标、分析其运动轨迹,将不同的运动目标拼接到一个共同的背景场景中,并将它们以某种方式进行组合、生成新的浓缩后视频的一种技术。视频浓缩剔除了视频中没有价值的内容,把较长时间视频内的运动目标(人、车、物等)以及发生的事件浓缩到非常短的视频,使得工作人员可以很快看完所有的活动目标,利用回溯原始视频功能,瞬间锁定目标在原始视频的位置,大大提高了视频监控分析效率。

视频浓缩涉及两个关键技术:视频分析算法和浓缩视频展示算法。视频分析算法负责分析视频内容,提取其中的运动目标和运动轨迹,并存放到内存或数据库中。浓缩视频展示算法负责从内存或数据库中读取视频分析算法的结果,把多个运动目标合并组装到一定数量的视频帧内,有效展示给用户。本发明主要讨论浓缩视频展示算法。

浓缩视频的展示对用户体验起着至关重要的作用,一个好的浓缩视频展示算法应解决如下几个问题:在组装运动目标时,应尽量避免不同运动目标互相遮挡、重叠,避免同一运动目标在运动过程中被割裂,避免目标运动轨迹的不平滑,最终把不同时间出现的运动目标实现“聚集”并组装到尽可能短的视频区间内进行展示。

目前现有的浓缩视频的展示的缺点有两类:一类是由于两个或多个运动目标由于其在原始视频中的运动轨迹在空间上有重叠,现有技术方案在吧这些运动目标被安装到浓缩视频中进行展示时没有考虑这种运动轨迹的重叠问题,导致在某些时间点上多个运动目标互相重叠互相遮挡,视觉上看上去很乱,用户体验差;另一类是有些技术方案为了避免运动目标在轨迹上的重叠,强行把运动目标的展示在时间上串联起来,导致浓缩视频的长度大大增加,从而没达到“浓缩”的效果。



技术实现要素:

本发明的目的在于为了克服以上现有技术的不足提出一种把不同时间出现的运动目标实现有效“聚集”并组装到尽可能短的视频区间内的方法。

本发明的技术方案如下:

一种在视频帧内合理组装待展示运动目标的方法,该方法适于在计算设备中执行,包括以下步骤:

步骤1,通过背景建模的方法得到原始视频的背景作为其浓缩视频的初始帧,从待展示运动目标集中找到在原始视频中最早出现的运动目标作为第一待展示目标;

步骤2,根据第一待展示目标在原始视频中的运动轨迹,把第一待展示目标放置到浓缩视频中;

步骤3,将待展示运动目标集中的第一待展示目标删除;

步骤4,在删除第一待展示目标后的待展示运动目标集中选择新的待展示目标,选择新的待展示目标满足如下条件:该新的待展示目标在浓缩视频中的运动轨迹与已放置到浓缩视频中的待展示目标的运动轨迹重叠部分越小越好,同时要求该新的待展示目标被放置到浓缩视频中后使得浓缩视频的时间长度增加得越短越好;

步骤5,继续依次按照步骤2至步骤4的操作将新的待展示目标放置到浓缩视频中,然后将待展示运动目标集中的新的待展示目标删除,选择下一待展示目标并将其运动轨迹装入上一次待展示浓缩视频中,直到待展示运动目标集为空集,得到最终待展示序列。

进一步地,所述的在视频帧内合理组装待展示运动目标的方法,步骤1中待展示运动目标集为原始视频中需要展示的运动目标的集合。

进一步地,所述的在视频帧内合理组装待展示运动目标的方法,步骤2中第一待展示目标放置到浓缩视频中时使得该目标在浓缩视频中的运动轨迹与该目标在原始视频中的运动轨迹一致。

进一步地,所述的在视频帧内合理组装待展示运动目标的方法,步骤4中选择新的待展示目标满足的条件可以用以下公式得到:

cost(a1,ok)=λ1cov(a1,ok)+λ2len(a1,ok);

其中cov(a1,ok)表示把运动目标ok组装进浓缩视频序列a1时由于其与序列a1中其他运动目标有空间上的重叠产生的代价;len(a1,ok)表示把运动目标ok组装进序列a1时导致浓缩视频长度增加而产生的代价;λ1和λ2为权重参数;cov(a1,ok)的定量化值用重叠面积表示,len(a1,ok)的定量化值用浓缩视频序列增加的视频帧数表示;

选择新的待展示目标时,需满足其放置到序列a1中时应满足:

cost(a1,ok)<c,其中c为预先设定的阈值。

进一步地,所述的在视频帧内合理组装待展示运动目标的方法,步骤5中得到最终待展示序列的长度与放置到其中的待展示目标叠加后的总长度一致。

本发明还提供了一种视频集中展示设备,其中存储有多条指令,所述指令适用于由处理器加载并执行:

对原始视频进行浓缩处理得到浓缩视频,将原始视频的背景作为其浓缩视频的初始帧;

将原始视频中最早出现的待展示目标装入浓缩视频中,且该待展示目标在浓缩视频中的运动轨迹与其在原始视频一致;

选择除已装入浓缩视频中的待展示目标以外的原始视频中下一待展示目标,并满足以下公式要求:

cost(a1,ok)=λ1cov(a1,ok)+λ2len(a1,ok);

cost(a1,ok)<c;

其中c为预先设定的阈值;cov(a1,ok)表示把运动目标ok组装进浓缩视频序列a1时由于其与序列a1中其他运动目标有空间上的重叠产生的代价;len(a1,ok)表示把运动目标ok组装进序列a1时导致浓缩视频长度增加而产生的代价;λ1和λ2为权重参数;cov(a1,ok)的定量化值用重叠面积表示,len(a1,ok)的定量化值用浓缩视频序列增加的视频帧数表示;将满足以上公式条件的下一待展示目标装入浓缩视频中;

继续按照以上公式要求选择新的待展示目标并装入浓缩视频中,直至全部待展示目标装入完毕。

浓缩视频是对原始视频的一个概况,浓缩视频的生成包括两个步骤,第一个步骤是对原始视频进行分析,提取原始视频中的运动目标,得到各个目标的运动轨迹,第二个步骤是将不同的目标拼接到一个共同的背景场景中,并将它们以某种方式进行组合,生成新的浓缩后视频。本方面的技术方案主要解决了上述的第二个步骤。

本发明相对于现有技术的显著进步在于,本发明形成浓缩视频时综合考虑了时间和空间两方面的因素,即:在组装运动目标过程中,尽量避免不同运动目标互相遮挡、重叠,同时尽可能少地增加浓缩视频的长度,最终把不同时间出现的运动目标实现高效“聚集”并组装到尽可能短的视频区间内进行展示。

附图说明

图1为本发明提供的在视频帧内合理组装待展示运动目标的方法流程图;

图2为本发明实施例1中运动目标o1在浓缩视频中的运动轨迹示意图;

图3为本发明实施例1中运动目标ok在浓缩视频中的运动轨迹少于运动目标o1在浓缩视频中的运动轨迹示意图;

图4为本发明实施例1中运动目标ok在浓缩视频中的运动轨迹多于运动目标o1在浓缩视频中的运动轨迹示意图;

图5为本发明实施例1中运动目标ok与运动目标o1在原始视频中的运动轨迹在某一点相交示意图;

图6为本发明实施例1中运动目标ok与运动目标o1在浓缩视频中的运动轨迹在某一点重叠示意图。

具体实施方式

实施例1

本实施例提供了一种在视频帧内合理组装待展示运动目标的方法,过程如图1所示,该方法适于在计算设备中执行,包括以下步骤:

步骤1,通过背景建模的方法得到原始视频的背景作为其浓缩视频的初始帧,从待展示运动目标集中找到在原始视频中最早出现的运动目标作为第一待展示目标;

步骤2,根据第一待展示目标在原始视频中的运动轨迹,把第一待展示目标放置到浓缩视频中;

步骤3,将待展示运动目标集中的第一待展示目标删除;

步骤4,在删除第一待展示目标后的待展示运动目标集中选择新的待展示目标,选择新的待展示目标满足如下条件:该新的待展示目标在浓缩视频中的运动轨迹与已放置到浓缩视频中的待展示目标的运动轨迹重叠部分越小越好,同时要求该新的待展示目标被放置到浓缩视频中后使得浓缩视频的时间长度增加得越短越好;

步骤5,继续依次按照步骤2至步骤4的操作将新的待展示目标放置到浓缩视频中,然后将待展示运动目标集中的新的待展示目标删除,选择下一待展示目标并将其运动轨迹装入上一次待展示浓缩视频中,直到待展示运动目标集为空集,得到最终待展示序列。

进一步地,以上过程通过以下具体的方式实现:

步骤1,原始视频中的待展示运动目标集p1={o1,o2,……,on},其中oi为第i个运动目标,每个oi均为一个矩形块。我们用v表示原始视频序列,vi表示原始视频的第i帧;a表示生成的浓缩视频序列,ai表示浓缩视频的第i帧;将原始视频的第零帧图像设定为浓缩视频初始背景b;对任意一个运动目标ok,假设其在原始视频的vj帧至vj+t-1帧区间段内出现,我们用表示运动目标ok在视频帧vjj内所处的二维空间位置,表示运动目标ok在视频帧vj+1内所处的二维空间位置,以此类推……,我们称为目标ok在视频v中的运动轨迹,t为运动目标ok在原始视频中的生存期;

步骤2,搜索待展示运动目标集p1={o1,o2,……,on},找到某个运动目标om,使得om相对于其他运动目标(即待展示运动目标集p1中除去om以外的其他运动目标)而言是最早出现在原始视频中的运动目标。

步骤3,把运动目标o1放置到浓缩视频的初始背景b中,形成浓缩视频的起始帧a1,假设o1在原始视频的vj帧至vj+t-1帧区间段内出现,于是我们可以得到浓缩视频的初始序列a1,即:a1=(a1,a2,……,at),1在初始序列a1中每一帧中的空间位置与其在原始视频帧序列中的空间位置保持一致,如图2所示。

步骤4,从待展示运动目标集p1中去除目标o1,形成新的待展示运动目标集p2,即p2={o2,……,on};

步骤5,搜索待展示运动目标集p2,找到第一个满足条件的待展示运动目标ok,假设运动目标ok在出现在原始视频的vi帧至vi+l-1帧区间段内,根据ok在原始视频中的空间和时间信息,把ok组装至浓缩视频序列a1,形成新的浓缩视频序列a2。

下面说明何为“满足条件”,当把运动目标ok组装进序列a1时,可能对浓缩视频序列产生两类影响:一类是由于ok可能与组装进序列a1的运动目标在某些时间点上轨迹有相交而产生目标重叠或部分遮挡,导致用户体验下降;另一类是ok组装进序列a1后可能导致序列增长(即视频帧数增加)导致用户体验下降。我们希望在步骤5找到的运动目标ok能够使得上述两类影响越小越好,我们把这两类影响定量化,使得该定量化的影响小于某个预先指定的阈值,此时我们称之为“满足条件”。为此我们用cost(a1,ok)表示把ok组装进序列a1产生的代价,代价可用如下公式计算得到:

cost(a1,ok)=λ1cov(a1,ok)+λ2len(a1,ok)

上式中cov(a1,ok)表示把ok组装进序列a1由于其与序列a1中其他运动目标有空间上的重叠产生的代价;len(a1,ok)表示把ok组装进序列a1时导致浓缩视频长度增加而产生的代价,λ1和λ2为权重参数,可以根据实际需要设定。上式中cov(a1,ok)的定量化值可以用重叠面积表示,len(a1,ok)的定量化值可以用浓缩视频序列增加的视频帧数表示。

于是步骤5的实质即为找到运动目标ok使得把运动目标ok组装进序列a1时满足下列不等式:

cost(a1,ok)<c,其中c为预先设定的阈值。

把运动目标ok组装进序列a1的组装过程可能会遇到如下几种情形:

情形一,如果目标ok在原始视频中的运动轨迹与目标o1的运动轨迹不相交,并且目标ok在原始视频中的生存期l小于目标o1的生存期t,则直接把目标ok组装进浓缩视频序列a1的各帧中形成浓缩序列a2,a2的视频帧数与a1相同,如图3所示。

情形二,如果目标ok在原始视频中的运动轨迹与目标o1的运动轨迹不相交,并且目标ok在原始视频中的生存期l大于目标o1的生存期t,即l>t,则首先把目标ok组装进浓缩视频序列a1的各帧中,同时需要扩展视频序列以确保目标ok的浓缩展示,形成浓缩序列a2,如图4所示。

情形三,如果目标ok在原始视频中的运动轨迹与目标o1的运动轨迹在某个时间点相交,如图5所示。则把目标ok组装进浓缩视频序列a1时即会产生目标ok与目标o1在第am帧重叠的情况,如图6所示。

对于情形三,可以选择另一种方法避免目标ok与目标o1重叠,比如把ok的展示时间向后推迟,以避免两目标在第am帧重叠,但是这种方法可能会导致浓缩视频序列长度增加。究竟采用哪种方法我们可以通过计算两种方法的cost(a1,ok)代价值,选择cost(a1,ok)代价值较小的那个方法。

步骤6,对待展示运动目标集p2,循环执行步骤4、步骤5的方法,直至待展示运动目标集pn为空集,此时生成的浓缩视频序列an即为最终的浓缩视频序列。

实施例2

基于实施例1提供的方法,本实施例提供了一种视频集中展示设备,该展示设备中存储有多条指令,所述指令适用于由处理器加载并执行:

对原始视频进行浓缩处理得到浓缩视频,将原始视频的背景作为其浓缩视频的初始帧;

将原始视频中最早出现的待展示目标装入浓缩视频中,且该待展示目标在浓缩视频中的运动轨迹与其在原始视频一致;

选择除已装入浓缩视频中的待展示目标以外的原始视频中下一待展示目标,并满足以下公式要求:

cost(a1,ok)=λ1cov(a1,ok)+λ2len(a1,ok);

cost(a1,ok)<c;

其中c为预先设定的阈值;cov(a1,ok)表示把运动目标ok组装进浓缩视频序列a1时由于其与序列a1中其他运动目标有空间上的重叠产生的代价;len(a1,ok)表示把运动目标ok组装进序列a1时导致浓缩视频长度增加而产生的代价;λ1和λ2为权重参数;cov(a1,ok)的定量化值用重叠面积表示,len(a1,ok)的定量化值用浓缩视频序列增加的视频帧数表示;将满足以上公式条件的下一待展示目标装入浓缩视频中;

继续按照以上公式要求选择新的待展示目标并装入浓缩视频中,直至全部待展示目标装入完毕。

通过以上设备,能够很好地实现将原始视频中待展示的运动目标装入到与之对应的浓缩视频中,该浓缩视频不仅能够原样展示各目标的运动轨迹,同时能够满足展示的视频长度尽可能的短,很好地达到了视频展示过程中的运动目标重叠率低以及无效视频片段低的展示效果,全面提升了用户体验。

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