一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

影分身视频的生成方法、生成装置、电子设备及存储介质与流程

2022-06-01 00:15:19 来源:中国专利 TAG:


1.本技术实施例涉及图像处理技术领域,尤其涉及一种影分身视频的生成方法、生成装置、电子设备及存储介质。


背景技术:

2.随着自媒体的快速发展,用户对各种具体趣味效果的特效视频制作的需求在日渐增加,例如,具有类似火影忍者的影分身术,同一人物可以在画面中不同位置出现很多个分身,各个分身可以做不同的事。
3.目前市面上,制作影分身视频的方法都是通过拍摄多个视频,后期通过ae,ps等软件人工合成的,拍摄成本、时间成本和人力成本都很大。并且,需要专门的技术人员去剪辑合成,制作门槛高,无法普及。


技术实现要素:

4.本技术实施例主要解决的技术问题是提供一种影分身视频的生成方法、生成装置、电子设备及存储介质,能够自动生成影分身视频,降低制作门槛,容易广泛普及。
5.为解决上述技术问题,第一方面,本技术实施例中提供给了一种获取全景视频,全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,其中,n是大于或等于2的整数;
6.在全景视频中跟踪目标对象,获取目标对象的跟踪框序列,跟踪框序列反映目标对象在全景视频中各图像帧上的位置;
7.对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到至少n个环绕停留点分别在对应图像帧中的位置;
8.根据至少n个环绕停留点分别在对应图像帧中的位置,得到至少n个环绕停留点对应的截取框;
9.采用各截取框,依次截取截取框对应的环绕停留点的视频段中的第i个图像帧,得到环绕停留点对应的第i个图像区域,并拼接至少n个环绕停留点对应的第i个图像区域,得到影分身视频的第i个图像帧。
10.在一些实施例中,前述对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到至少n个环绕停留点分别在对应图像帧中的位置,包括:
11.对跟踪框序列进行聚类分析,获取至少n个环绕停留点分别在对应图像帧上的位置。
12.在一些实施例中,前述对跟踪框序列进行聚类分析,获取至少n个环绕停留点分别在对应图像帧上的位置,包括:
13.遍历跟踪框序列,若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,确定第t个跟踪框所属当前聚类中心,并根据第t个跟踪框更新当前聚类中心,累计所属当前聚类中心的跟踪框的数量;
14.若所属当前聚类中心的跟踪框的数量大于或等于数量阈值,则将当前聚类中心作为一个环绕停留点在全景视频的图像帧上的位置。
15.在一些实施例中,前述根据第t个跟踪框更新当前聚类中心,包括:
16.采用以下公式计算得到更新后的当前聚类中心;
[0017][0018][0019]
其中,(cx,cy)是更新前的当前聚类中心,(cx

,cy

)是更新后的当前聚类中心,(xt,yt)是第t个跟踪框的中心。
[0020]
在一些实施例中,前述根据至少n个环绕停留点分别在对应图像帧中的位置,得到至少n个环绕停留点对应的截取框,包括:
[0021]
根据至少n个环绕停留点在对应图像帧上的位置,确定至少n个划分线;
[0022]
根据至少n个划分线,确定至少n个环绕停留点对应的截取框。
[0023]
在一些实施例中,前述根据至少n个环绕停留点在对应图像帧上的位置,确定至少n个划分线,包括:
[0024]
采用以下公式计算至少n个划分线;
[0025][0026]
其中,lj是第j个划分线在图像帧上的横坐标,cxj是第j个环绕停留点在图像帧上的横坐标,cx
j 1
是第j 1个环绕停留点在图像帧上的横坐标,w是图像帧的宽。
[0027]
在一些实施例中,前述根据n个划分线,确定至少n个环绕停留点对应的截取框,包括:
[0028]
采用以下公式计算至少n个环绕停留点对应的截取框;
[0029][0030]
其中,rectj是第j个截取框在图像帧上的位置,h是图像帧的高,是第j个截取框在图像帧上的中心坐标,(l
j-l
j-1
)是第j个截取框的宽,l0=0。
[0031]
为解决上述技术问题,第二方面,本技术实施例中提供给了一种影分身视频的生成装置,包括:
[0032]
第一获取模块,用于获取全景视频,全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,其中,n是大于或等于2的整数;
[0033]
第二获取模块,用于在全景视频中跟踪目标对象,获取目标对象的跟踪框序列,跟踪框序列反映目标对象在全景视频中各图像帧上的位置;
[0034]
第一确定模块,对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到至少n个环绕停留点分别在图像帧中的位置;
[0035]
第二确定模块,用于根据至少n个环绕停留点分别在图像帧中的位置,得到至少n个环绕停留点对应的截取框;
[0036]
生成模块,用于采用各截取框,依次截取截取框对应的环绕停留点的视频段中的第i个图像帧,得到环绕停留点对应的第i个图像区域,并拼接至少n个环绕停留点对应的第i个图像区域,得到影分身视频的第i个图像帧。
[0037]
为解决上述技术问题,第三方面,本技术实施例中提供给了一种电子设备,包括:
[0038]
至少一个处理器,以及
[0039]
与至少一个处理器通信连接的存储器,其中,
[0040]
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执如上第一方面的方法。
[0041]
为解决上述技术问题,第四方面,本技术实施例中提供给了一种计算机可读存储介质计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上第二方面的方法。
[0042]
本技术实施例的有益效果:区别于现有技术的情况,本技术实施例提供的影分身视频的生成方法,通过获取全景视频,基于全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,从而,可以在全景视频中跟踪目标对象,获取目标对象的跟踪框序列(即目标对象在各图像帧中的位置),然后,对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到各环绕停留点分别在图像帧中的位置,进而获取至少n个环绕停留点对应的截取框。采用各截取框依次截取该截取框对应的环绕停留点的视频段中的第i个图像帧,得到该环绕停留点对应的第i个图像区域,基于截取框与环绕停留点一一对应,从而,可以得到至少n个图像区域,最后,拼接这至少n个图像区域,得到影分身视频的第i个图像帧,可以理解的是,影分身视频中的各图像帧均采用前述方法截取拼接得到,从而,影分身视频的每一图像帧上都包括至少n个目标对象,目标对象在各停留点处做的动作在影分身视频上可以同时展现,即得到具有分身特效的影分身视频。采用上述方法,只需拍摄一段全景视频,即可智能化一键生成影分身视频,无需用户剪辑操作,降低了制作门槛,方便用户分享影分身视频至社交网络。
附图说明
[0043]
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0044]
图1为本技术一些实施例中具有影分身特效的视频的任意一图像帧的示意图;
[0045]
图2为本技术一些实施例中影分身视频的生成方法的流程示意图;
[0046]
图3为本技术一些实施例中全景相机的结构示意图;
[0047]
图4为本技术一些实施例中全景视频的拍摄示意图;
[0048]
图5为本技术一些实施例中跟踪框在图像帧中的示意图;
[0049]
图6为本技术一些实施例中各跟踪框聚集示意图;
[0050]
图7为图2所示方法中步骤s30的一流程示意图;
[0051]
图8为图7所示方法中步骤s31的一子流程示意图;
[0052]
图9为本技术一些实施例中遍历跟踪框的流程示意图;
[0053]
图10为图7所示方法中步骤s40的一子流程示意图;
[0054]
图11为本技术一些实施例中各划分线的示意图;
[0055]
图12为本技术一些实施例中各截取框的示意图;
[0056]
图13为本技术一些实施例中影分身视频的第i个图像帧的生成示意图;
[0057]
图14为本技术一些实施例中影分身视频的生成装置的结构示意图;
[0058]
图15为本技术一些实施例中电子设备的结构示意图。
具体实施方式
[0059]
下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
[0060]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0061]
需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
[0062]
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0063]
此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0064]
如图1所示,图1为具有影分身特效的视频的任意一图像帧的示意图。为了实现视频中同一主体在同一场景下出现多个分身的特效,即“影分身”效果,当前技术中,需要多次拍摄不同的镜头,后期处理时需要进行抠图、剪辑和光影调整等来实现,用户不仅需要多次手动操作拍摄,还需要一定的视频剪辑技术,制作具有影分身特效的视频的门槛较高。
[0065]
在本技术发明人知晓的一些技术中,拍摄多个视频,对除第一段视频外的其它视频进行处理,将第2-r段视频的背景处理为透明图层,r为大于2的整数,然后在进行视频后期处理时,将第1-r段视频进行叠加,获得具有分身效果的特效视频。在这r段视频中,若第p段视频和第q段视频中人物位置相同,则删除第q段视频,避免特效视频中产生人物重合的现象。在此技术中,一方面,需要多次拍摄视频,操作麻烦,不容易普及,另一方面,拍摄多段视频时,不容易把握拍摄位置,会导致特效视频过于拥挤,或因重合而遗漏某一视频段,效果较差。
[0066]
有鉴于此,本技术一些实施例提供了一种影分身视频的生成方法,通过获取全景
视频,基于全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,从而,可以在全景视频中跟踪目标对象,获取目标对象的跟踪框序列(即目标对象在各图像帧中的位置),然后,对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到各环绕停留点分别在图像帧中的位置,进而获取至少n个环绕停留点对应的截取框。采用各截取框依次截取该截取框对应的环绕停留点的视频段中的第i个图像帧,得到该环绕停留点对应的第i个图像区域,基于截取框与环绕停留点一一对应,从而,可以得到至少n个图像区域,最后,拼接这至少n个图像区域,得到影分身视频的第i个图像帧,可以理解的是,影分身视频中的各图像帧均采用前述方法截取拼接得到,从而,影分身视频的每一图像帧上都包括至少n个目标对象,目标对象在各停留点处做的动作在影分身视频上可以同时展现,即得到具有分身特效的影分身视频。采用上述方法,只需拍摄一段全景视频,即可智能化一键生成影分身视频,无需用户剪辑操作,降低了制作门槛,方便用户分享影分身视频至社交网络。
[0067]
以下,对本技术一些实施例中的影分身视频的生成方法进行详细说明,请参阅图2,该方法包括但不限制于以下步骤:
[0068]
s10:获取全景视频。
[0069]
全景视频由全景相机拍摄得到。可以理解的是,全景相机包括至少两个镜头,该至少两个镜头能够覆盖360
°
的视角,无视野盲区。如图3(a)所示,全景相机可以包括2个鱼眼镜头,2个鱼眼镜头相对设置,单个鱼眼镜头的视角为190
°
,从而,2个鱼眼镜头可以覆盖360
°
的视角。如图3(b)所示,全景相机可以包括3个普通镜头,3个普通镜头的中心在同一平面上,且3个普通镜头呈环形阵列分布,从而,3个普通镜头可以覆盖360
°
的视角。在其它实施例中,全景相机还可以包括4个、5个或6个镜头,在此,不对全景相机的具体结构进行任何限制,只要能够覆盖360
°
视角即可。
[0070]
可以理解的是,全景相机中的各镜头同频率拍摄录像,即各镜头拍摄的图像帧是同步的,各镜头的时间戳相同。基于各镜头的视角存在重叠,全景相机在获取各镜头拍摄的图像帧后,会进行去重和拼接处理,得到一全景图像帧。前述去重和拼接处理可以采用现有的图像拼接算法(as projective as possible image stitching,apap),在此,不对图像拼接算法的原理进行详细介绍。当然,本技术实施例也不对图像拼接算法进行任何限制,本领域技术可以根据实际情况,选择合适的图像拼接算法、合适的镜头数量,或者,选择合适的全景相机即可。
[0071]
在一些实施例中,全景相机的水平视角为360
°
、竖直视角为180
°
,从而,全景相机的图像帧的分辨率的宽高比为2∶1。
[0072]
全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,其中,n是大于或等于2的整数。其中,目标对象可以环绕全景相机运动,在n个环绕停留点前驻足,目标对象在每个环绕停留点可以停留一段时间,做自己想做的运动(即连贯动作)。可以理解的是,该目标对象可以是人或宠物等。其中,n可以根据用户需求自行设置,例如,用户想要3个分身,则n可以设置为3,若用户想要5个分身,则n可以设置为5等。停留驻足时间也可以根据用户需求自行设置,例如,若用户想获取一个30s的影分身视频,则各环绕停留点的停留驻足时间应该不少于30s。
[0073]
如图4所示,全景相机固定于三脚架上,在全景相机开始录像后,用户围绕全景相机行走一圈,在行走过程中,在3个环绕停留点a、b和c处分别停留t1、t2和t3秒,在各环绕停
留点的停留期间可以做不同动作,例如,在环绕停留点a处做“广播体操第一节”,在环绕停留点b处做“广播体操第二节”,在环绕停留点c处做“广播体操第三节”等。可以理解的是,用户在各环绕停留点的停留时间t1、t2和t3可以相同,也可以不同,在此不对停留时间做任何限制。
[0074]
当用户在最后一个环绕停留点运动完毕后,可以控制全景相机停止录像,全景相机依据自身内置图像拼接算法可以自动输出一个全景视频。
[0075]
s20:在全景视频中跟踪目标对象,获取目标对象的跟踪框序列,跟踪框序列反映目标对象在全景视频中各图像帧上的位置。
[0076]
可以理解的是,在全景视频中,每一图像帧上有目标对象,从而,可以采用现有的目标跟踪算法,在全景视频中跟踪目标对象,即定位出目标对象在每一图像帧上的位置。其中,目标跟踪算法可以为现有的压缩跟踪或相关滤波算法等。
[0077]
如图5所示,图5示出了全景视频中任意一图像帧上目标对象的位置的示意图。采用跟踪框(x,y,w,h)表示目标对象在图像坐标系上的位置,其中,(x,y)表示跟踪框的中心,w表示跟踪框的宽,h表示跟踪框的高,目标对象即在跟踪框中。
[0078]
基于全景视频由在时间戳上连续的若干个图像帧组成,从而,按照时间戳的顺序,各图像帧对应的跟踪框组成跟踪框序列,跟踪框序列为bboxes={(x
t
,y
t
,w
t
,h
t
)},其中,t可以为全景视频的时间戳,或者,t也可以为跟踪框的个数标号,该个数标号是按时间戳顺序排列的。
[0079]
s30:对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到至少n个环绕停留点分别在对应图像帧中的位置。
[0080]
可以理解的是,由于目标对象在各环绕停留点处停留,因此,在各环绕停留点处,跟踪框位置相近,呈聚集状态。如图6所示,图6示出了5个环绕停留点处的跟踪框的聚集示意图。可以理解的是,目标对象在某一环绕停留点处停留的时间越长,则聚集在该处的跟踪框越多。值得注意的是,图6中是各跟踪框在图像帧的图像坐标系中的聚集效果示意图,实际上,各跟踪框处于不同的图像帧中,这些图像帧的大小相同。
[0081]
为了将各环绕停留点的目标对象合成在一图像帧中,首先,需要确定各环绕停留点分别在图像帧中的位置,从而,可以对跟踪框序列进行停留点检测,确定至少n个环绕停留点,即得到至少n个环绕停留点分别在图像帧中的位置。请再次参阅图6,对于任意一个环绕停留点,若干个跟踪框聚集在该环绕停留点周围,该环绕停留点在图像帧中的作为(坐标)可以为这若干个跟踪框的中心,即可得到至少n个环绕停留点分别在图像帧中的位置。在一些实施例中,可以将跟踪框序列看成是时间连续的视频,因为停留点附近的跟踪框形成聚集,在时间上显示停留点附近的跟踪框之间的时间间隔很短,就可以根据跟踪框的时间间隔来实现停留点检测;在另一些实施例中,可以对跟踪框序列在图像帧的图像坐标系中的位置进行分析,实现停留点检测。本发明对具体的停留点检测方法不做具体限定。
[0082]
在一些实施例中,请参阅图7,上述步骤s30具体包括:
[0083]
s31:对跟踪框序列进行聚类分析,获取至少n个环绕停留点分别在对应图像帧上的位置。
[0084]
对跟踪框序列进行聚类分析,找出环绕停留点,确定各环绕停留点对应的截取框,即至少n个截取框,这至少n个截取框与至少n个环绕停留点一一对应。
[0085]
对跟踪框序列进行聚类分析,可以找出n个聚类中心,可以理解的是,在图像帧的图像坐标系上,目标对象就在聚类中心附近,因此,可以将n个聚类中心当作n个环绕停留点在全景视频的图像帧上的位置。
[0086]
在此实施例中,通过对跟踪框序列进行聚类分析,然后,找出各环绕停留点在图像帧上的位置,使得各环绕停留点能够充分反映各聚类的中心,即目标对象的停留位置,因此,得到的各环绕停留点准确。
[0087]
在一些实施例中,请参阅图8,上述步骤s31具体包括:
[0088]
s311:遍历跟踪框序列,若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,确定第t个跟踪框所属当前聚类中心,并根据第t个跟踪框更新当前聚类中心,累计所属当前聚类中心的跟踪框的数量;
[0089]
s312:若所属当前聚类中心的跟踪框的数量大于或等于数量阈值,则将当前聚类中心作为一个环绕停留点在全景视频的图像帧上的位置。
[0090]
遍历跟踪框序列,即从跟踪框序列中第1个跟踪框开始,设置一个初始化的当前聚类中心,计算第1个跟踪框与当前聚类中心的距离,以判断第1个跟踪框是否属于当前聚类中心,若不属于,则可以按一定步长重新调整当前聚类中心,重新计算第1个跟踪框是否属于当前聚类中心,直到第1个跟踪框属于当前聚类中心后,根据第1个跟踪框的位置更新当前聚类中心。计算第2个跟踪框是否属于更新后的当前聚类中心。若不属于,则重新调整当前聚类中心,直到第2个跟踪框属于当前聚类中心。若属于,跟踪框1和跟踪框2聚类在一起,统计聚类在一起的跟踪框数量(即聚类框统计量),若聚类在一起的跟踪框数量(聚类框统计量)小于数量阈值,则计算第3个跟踪框与当前聚类中心的距离是否小于或等于聚类半径,并开始重新统计聚类在一起的跟踪框数量(聚类框统计量)。
[0091]
依次类推,若第a个跟踪框与当前聚类中心的距离小于或等于聚类半径,则根据第a个跟踪框更新当前聚类中心,并累计属于当前聚类中心的跟踪框数量(聚类框统计量),再计算第a 1个跟踪框与更新后的当前聚类中心的距离,依次类推,继续向后搜索跟踪框序列,若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,确定第t个跟踪框所属当前聚类中心,并根据第t个跟踪框更新当前聚类中心,统计属于当前聚类中心的跟踪框的数量(聚类框统计量)m(可知m=t-a 1),继续向后搜索。
[0092]
若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径(说明第t个跟踪框属于当前聚类中心),且m大于或等于数量阈值,说明目标对象在此处的停留时间超过时间阈值,则将当前聚类中心作为一个环绕停留点在全景视频的图像帧上的位置。
[0093]
若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,且m小于数量阈值,则说明目标对象在此处的停留时间未达到时间阈值,不能当作停留点,继续向跟踪框序列后面搜索,按一定步长重新调整当前聚类中心,按照上述方式,直到搜索完整个跟踪框序列。
[0094]
如图9所示,按以下步骤在跟踪框序列中搜索出各聚类中心,其中,第t个跟踪框可以是跟踪框序列中的任意一个。
[0095]
(1)初始化当前聚类中心以及将聚类框统计量清零。
[0096]
(2)输入跟踪框序列中的第t个跟踪框。
[0097]
(3)判断第t个跟踪框与当前聚类中心的距离是否小于或等于聚类半径。
[0098]
(4)若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,根据第t个跟踪框更新当前聚类中心,累计聚类框统计量m。
[0099]
(5)若聚类框统计量m小于数量阈值,则返回步骤(2)计算第t 1个跟踪框是否属于当前聚类中心。
[0100]
(6)若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,且属于当前聚类中心的跟踪框的数量m大于或等于数量阈值,则将当前聚类中心作为一个环绕停留点在全景视频的图像帧中的位置。
[0101]
(7)若跟踪序列遍历未结束,重新返回步骤(1),以继续向后搜索。
[0102]
(8)若第t个跟踪框与当前聚类中心的距离大于聚类半径,且属于当前聚类中心的跟踪框的数量m小于数量阈值,则重新返回步骤(1),以继续向后搜索。
[0103]
在此实施例中,通过遍历跟踪框序列,不断调整更新当前聚类中心,基于各跟踪框与各当前聚类中心之间的距离,判断各跟踪框是否属于相应的聚类,以得到n个聚类中心,即n个环绕停留点在全景视频的图像帧上的位置。
[0104]
在一些实施例中,前述“根据第t个跟踪框更新当前聚类中心”,具体包括:
[0105]
采用以下公式计算得到更新后的当前聚类中心;
[0106][0107][0108]
其中,(cx,cy)是更新前的当前聚类中心,(cx

,cy

)是更新后的当前聚类中心,(xt,yt)是第t个跟踪框的中心。
[0109]
在此实施例中,通过上述公式,将第t个跟踪框的中心融入更新前的当前聚类中心中,以更新当前聚类中心,使得更新后的当前聚类中心更加能够代表聚类在一起的跟踪框的中心,更加准确。
[0110]
为了将各环绕停留点处的目标对象合成在一图像帧中,其次,需要截取各环绕停留点处的目标对象,具体地,采用以下步骤s40实现。
[0111]
s40:根据至少n个环绕停留点分别在对应图像帧中的位置,得到至少n个环绕停留点对应的截取框。
[0112]
基于同一目标对象在各环绕停留点处体型保持不变,即在图像帧中的像素面积大致相同,从而,可以根据至少n个环绕停留点分别在图像帧中的位置,结合目标对象所占的像素面积,得到至少n个环绕停留点对应的截取框,一环绕停留点对应一截取框。
[0113]
在确定n个环绕停留点在图像坐标系上的位置后,可以以每个环绕停留点(聚类中心)为中心,向外扩展,获取n个截取框。例如,以环绕停留点为中心,建立一个a*b大小的矩形框以实现向外扩展,从而,该a*b大小的矩形框即为截取框。可以理解的是,a*b的具体数值可以由本领域技术人员根据目标对象的体型大小和图像帧的分辨率而确定,在此,不对a*b的具体数值进行任何限制。
[0114]
在此实施例中,通过各环绕停留点在图像帧上的位置,确定各截取框,使得各截取框能够准确截取到目标对象,有益于后续拼接合成包括目标对象的多个分身的图像帧。
[0115]
在一些实施例中,请参阅图10,上述步骤s40具体包括:
[0116]
s41:根据至少n个环绕停留点在对应图像帧上的位置,确定至少n个划分线;
[0117]
s42:根据至少n个划分线,确定至少n个环绕停留点对应的截取框。
[0118]
在获取到n个环绕停留点在全景视频的图像帧上的位置后,首先,确定各截取框的分界线,即n个划分线。划分线为用于分割确定截取框的分界线。
[0119]
在一些实施例中,前述步骤s41具体包括:
[0120]
采用以下公式计算至少n个划分线;
[0121][0122]
其中,lj是第j个划分线在图像帧上的横坐标,cxj是第j个环绕停留点在图像帧上的横坐标,cx
j 1
是第j 1个环绕停留点在图像帧上的横坐标,w是图像帧的宽。
[0123]
在此实施例中,如图11所示,以图像帧的左下角为图像坐标系的坐标原点进行示例性说明,将两相邻的聚类中心(即两相邻的环绕停留点)的横坐标的平均值作为一划分线的横坐标,使得划分线尽量不会影响到目标对象,防止因划分线过于靠近聚类中心导致使得目标对象受分割而不完整。
[0124]
可以理解的是,最后一个划分线的横坐标即为图像帧的宽。基于划分线相当于截取框的分界线,在获取到n个划分线后,即可基于n个划分线确定n个截取框。
[0125]
在一些实施例中,前述步骤s41具体包括:
[0126]
采用以下公式计算至少n个环绕停留点对应的截取框;
[0127][0128]
其中,rectj是第j个截取框在图像帧上的位置,h是图像帧的高,是第j个截取框在图像帧上的中心坐标,(l
j-l
j-1
)是第j个截取框的宽,l0=0。
[0129]
在此实施例中,如图12所示,以图像帧的左下角为图像坐标系的坐标原点为例进行示例性说明,图12中,示出了5个截取框,截取框的中心的横坐标为左、右两个划分线的平均值,截取框的中心的纵坐标为图像帧的高的一半,截取框的宽为左、右两个划分线之间的距离,截取框的高为图像帧的高,使得截取框不仅能准确截取到目标对象,还不会遗漏全景背景,有益于后续拼接截取到的图像区域得到一个全景背景完整的图像帧,在完整的全景背景下,分身效果更加真实。
[0130]
s50:采用各截取框,依次截取该截取框对应的环绕停留点的视频段中的第i个图像帧,得到环绕停留点对应的第i个图像区域,并拼接至少n个环绕停留点对应的第i个图像区域,得到影分身视频的第i个图像帧。
[0131]
可以理解的是,一截取框对应一个环绕停留点,例如第1个截取框用于截取属于第1个环绕停留点(或属于第1个聚类中心)的各图像帧中的目标对象,第2个截取框用于截取属于第2个环绕停留点(或属于第2个聚类中心)的各图像帧中的目标对象,依次类推,第n个截取框用于截取属于第n个环绕停留点(或属于第n个环绕停留点)的各图像帧中的目标对象。
[0132]
以n=5进行示例性说明,即有5个停留点,全景视频中的跟踪框在5个聚类中心有聚集,对应有5个截取框。若目标对象在第1个停留点停留3s,在第2个停留点停留2s,在第3个停留点停留4s,在第4个停留点停留3s,在第5个停留点停留5s,假设每秒有30帧图像帧,则属于第1个停留点的图像帧有90帧,属于第2个停留点的图像帧有60帧,属于第3个停留点的图像帧有120帧,属于第4个停留点的图像帧有90帧,属于第5个停留点的图像帧有150帧。
[0133]
采用第1个截取框rect1截取属于第1个停留点的第1帧图像帧,得到图像区域1-1#;采用第2个截取框rect2截取属于第2个停留点的第1帧图像帧,得到图像区域1-2#;采用第3个截取框rect3截取属于第3个停留点的第1帧图像帧,得到图像区域1-3#;采用第4个截取框rect4截取属于第4个停留点的第1帧图像帧,得到图像区域1-4#;采用第5个截取框rect5截取属于第5个停留帧的第1帧图像帧,得到图像区域1-5#,将图像区域1-1#、1-2#、1-3#、1-4#和1-5#拼接,得到影分身视频的第1个图像帧。
[0134]
同理,如图13所示,对于影分身视频的第i个图像帧,其中,第i个图像帧为需要获取的影分身视频的任意一帧,采用第1个截取框rect1截取属于第1个停留点的第i帧图像帧,得到图像区域i-1#;采用第2个截取框rect2截取属于第2个停留点的第i帧图像帧,得到图像区域i-2#;采用第3个截取框rect3截取属于第3个停留点的第i帧图像帧,得到图像区域i-3#;采用第4个截取框rect4截取属于第4个停留点的第i帧图像帧,得到图像区域i-4#;采用第5个截取框rect5截取属于第5个停留帧的第i帧图像帧,得到图像区域i-5#,将图像区域i-1#、i-2#、i-3#、i-4#和i-5#拼接,得到影分身视频的第i个图像帧。
[0135]
将图像区域i-1#、i-2#、i-3#、i-4#和i-5#拼接,得到如图13所示的影分身视频的第i个图像帧。
[0136]
可以理解的是,若为了保证影分身视频的每一图像帧上都有5个目标对象(即5个分身),影分身视频的时长受各环绕停留点对应的最少停留时长的影响,即影分身视频的帧数受各环绕停留点对应的图像帧帧数中最小值的影响,例如,上述5个停留点中第2个停留点的停留时长最短,属于第2个停留点的图像帧数最少(停留2s,属于第2个停留点的图像帧有60帧),从而,为了满足影分身视频的每一图像帧上都有5个目标对象,该影分身视频的时长可以不超过2s,图像帧帧数不超过60帧。即对于n个环绕停留点,上述i小于或等于n个环绕停留点对应的图像帧帧数中的最小值。
[0137]
可以理解的是,本领域技术人员也可以根据设计需求,设计影分身视频的时长(图像帧帧数),例如,影分身视频中目标对象的分身(个数)随着视频的播放时间增加逐渐减少,这里,影分身视频的时长不受各环绕停留点对应的最少停留时长的影响。本技术实施例,对影分身视频的时长不进行任何限制,可根据实际需求以及各停留点的停留时长自行设置。
[0138]
综上所述,本技术实施例提供的影分身视频的生成方法,通过获取全景视频,基于全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,从而,可以在全景视频中跟踪目标对象,获取目标对象的跟踪框序列(即目标对象在各图像帧中的位置),然后,对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到各环绕停留点分别在图像帧中的位置,进而获取至少n个环绕停留点对应的截取框。采用各截取框依次截取该截取框对应的环绕停留点的视频段中的第i个图像帧,得到该环绕停留点对应的第i个图像区域,基于截取框与环绕停留点一一对应,从而,可以得到至少n个图像区域,最后,拼接这至少n个图像
区域,得到影分身视频的第i个图像帧,可以理解的是,影分身视频中的各图像帧均采用前述方法截取拼接得到,从而,影分身视频的每一图像帧上都包括至少n个目标对象,目标对象在各停留点处做的动作在影分身视频上可以同时展现,即得到具有分身特效的影分身视频。采用上述方法,只需拍摄一段全景视频,即可智能化一键生成影分身视频,无需用户剪辑操作,降低了制作门槛,方便用户分享影分身视频至社交网络。
[0139]
以上介绍了本技术实施例中影分身视频的生成方法,为了更好地实施本技术的方法,接下来介绍本技术实施例提供的装置。
[0140]
请参阅图14,图14是本技术实施例提供的一种影分身视频的生成装置的结构示意图,如图14所示,该装置30包括:
[0141]
第一获取模块31,用于获取全景视频,该全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,其中,n是大于或等于2的整数。
[0142]
第二获取模块32,用于在全景视频中跟踪目标对象,获取目标对象的跟踪框序列,该跟踪框序列反映目标对象在全景视频中各图像帧上的位置。
[0143]
第一确定模块33,用于对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到至少n个环绕停留点分别在对应图像帧中的位置。
[0144]
第二确定模块34,用于根据至少n个环绕停留点分别在对应图像帧中的位置,得到至少n个环绕停留点对应的截取框。
[0145]
生成模块35,用于采用各截取框,依次截取截取框对应的环绕停留点的视频段中的第i个图像帧,得到环绕停留点对应的第i个图像区域,并拼接至少n个环绕停留点对应的第i个图像区域,得到影分身视频的第i个图像帧。
[0146]
在一种可能的实现方式中,上述第一确定模块33具体用于:对跟踪框序列进行聚类分析,获取至少n个环绕停留点分别在对应图像帧上的位置。
[0147]
在一些可能的实现方式中,上述第一确定模块33还具体用于:遍历跟踪框序列,若第t个跟踪框与当前聚类中心的距离小于或等于聚类半径,确定第t个跟踪框所属当前聚类中心,并根据第t个跟踪框更新当前聚类中心,累计所属当前聚类中心的跟踪框的数量。若所属当前聚类中心的跟踪框的数量大于或等于数量阈值,则将当前聚类中心作为一个环绕停留点在所述全景视频的图像帧上的位置。
[0148]
在一些可能的实现方式中,上述第一确定模块33还具体用于:采用以下公式计算得到更新后的当前聚类中心;
[0149][0150][0151]
其中,(cx,cy)是更新前的当前聚类中心,(cx

,cy

)是更新后的当前聚类中心,(xt,yt)是第t个跟踪框的中心。
[0152]
在一些可能的实现方式中,上述第二确定模块34还具体用于:根据至少n个环绕停留点分别在对应图像帧上的位置,确定至少n个划分线;根据至少n个划分线,确定至少n个所述环绕停留点对应的截取框。
[0153]
在一些可能的实现方式中,上述第二确定模块34还具体用于:采用以下公式计算至少n个划分线;
[0154][0155]
其中,lj是第j个划分线在全景视频的图像帧上的横坐标,cxj是第j个环绕停留点在全景视频的图像帧上的横坐标,cx
j 1
是第j 1个环绕停留点在全景视频的图像帧上的横坐标,w是全景视频的图像帧的宽。
[0156]
在一些可能的实现方式中,上述第二确定模块34还具体用于:采用以下公式计算至少n个环绕停留点对应的截取框;
[0157][0158]
其中,rectj是第j个截取框在全景视频帧的图像帧上的位置,h是全景视频的图像帧的高,是第j个截取框在全景视频帧的图像帧上的中心坐标,(l
j-l
j-1
)是第j个截取框的宽,l0=0。
[0159]
需要说明的是,图14对应的实施例中未提及的内容可参见图1-图13对应的方法实施例的描述,这里不再赘述。
[0160]
上述装置30,通过获取全景视频,基于全景视频包括目标对象在全景相机前的n个环绕停留点的视频段,从而,可以在全景视频中跟踪目标对象,获取目标对象的跟踪框序列(即目标对象在各图像帧中的位置),然后,对跟踪框序列进行停留点检测,确定至少n个环绕停留点,得到各环绕停留点分别在图像帧中的位置,进而获取至少n个环绕停留点对应的截取框。采用各截取框依次截取该截取框对应的环绕停留点的视频段中的第i个图像帧,得到该环绕停留点对应的第i个图像区域,基于截取框与环绕停留点一一对应,从而,可以得到至少n个图像区域,最后,拼接这至少n个图像区域,得到影分身视频的第i个图像帧,可以理解的是,影分身视频中的各图像帧均采用前述方法截取拼接得到,从而,影分身视频的每一图像帧上都包括至少n个目标对象,目标对象在各停留点处做的动作在影分身视频上可以同时展现,即得到具有分身特效的影分身视频。采用上述方法,只需拍摄一段全景视频,即可智能化一键生成影分身视频,无需用户剪辑操作,降低了制作门槛,方便用户分享影分身视频至社交网络。
[0161]
请参阅图15,为本技术实施例提供的一种电子设备40的硬件结构图,具体的,如图15所示,电子设备40包括通信连接的至少一个处理器41和存储器42(图15中以总线连接、一个处理器为例)。
[0162]
其中,处理器41用于提供计算和控制能力,以控制电子设备40执行相应任务,控制电子设备40执行上述实施例提供的任意一种影分身视频的生成方法。
[0163]
可以理解的是,处理器41可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)
或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0164]
存储器42作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中影分身视频的生成方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的非暂态软件程序、指令以及模块,可以实现上述实施例提供的任意一种影分身视频的生成方法。具体地,存储器42可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器42还可以包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0165]
可以理解的是,在一些实施例中,电子设备可以为服务器,例如,全景相机与移动终端(例如智能手机)蓝牙通信连接,移动终端上下载有相应的视频制作应用程序(app),全景相机在拍摄到全景视频后,发送给移动终端,移动终端通过视频制作应用程序(app)将全景视频上传给服务器,并发送对影分身视频的需求,服务器按需求生成影分身视频,再发送给移动终端,以供用户分享至社交网络。可以理解的是,在一些实施例中,电子设备也可以为移动终端或全景相机等。
[0166]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行如前述影分身视频的生成方法。
[0167]
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0168]
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0169]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献