掌桥专利:专业的专利平台
掌桥专利
首页

一种视频处理的方法、装置、可读存储介质和电子设备

文献发布时间:2023-06-19 09:29:07


一种视频处理的方法、装置、可读存储介质和电子设备

技术领域

本发明涉及视频处理领域,具体涉及一种视频处理的方法、装置、可读存储介质和电子设备。

背景技术

随着互联网应用的发展,在线教学、智能客服等在人们的日常生活使用越来越广泛,面对不同的应用场景,有时需要预先录制多个视频,然后对多个视频进行拼接,得到长视频。例如:在线教学的录播课场景中,需要对多个分段录制的录播课片段进行拼接成一个完整的上课视频。

现有技术中的视频拼接的过程中,会由于平滑度不够,造成卡顿感,例如:直接拼接会导致在第一个视频和第二个视频之间会发生瞬移和闪现等问题,造成用户体验效果差;并且,现有技术中视频的拼接顺序是固定的,无法适应动态交互的情况,例如,在线教学的课程中会存在动态互动的环节,学生会无顺序的提出多种问题,如何对教师预先录制的多个视频进行拼接,才可以在动态交互过程中实现与学生的无障碍交流,是目前需要解决的问题。

发明内容

有鉴于此,本发明实施例提供了一种视频处理的方法、装置、可读存储介质和电子设备,实现多个视频之间的无顺序拼接,且降低了视频交替播放过程中的卡顿。

第一方面,本发明实施例提供了一种视频处理的方法,该方法包括:

获取至少两个图像序列;

根据所述至少两个图像序列确定过渡图像集合,其中,所述过渡图像集合包括多个过渡图像,所述过渡图像为所述图像序列的中位于开始部分或最后部分的预定位置的图像;

根据所述过渡图像集合确定目标图像;

基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列。

在一个实施例中,所述根据所述过渡图像集合确定目标图像,具体包括:

在所述过渡图像集合中,确定与剩余的图像差异最小的图像作为所述目标图像。

在一个实施例中,所述预定位置为所述图像序列的起始位置或者终止位置。

在一个实施例中,所述至少两个图像序列包括第一图像序列和第二图像序列,拼接顺序为所述第一图像序列在前,所述第二图像序列在后;

所述基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列,具体包括:

将所述第一图像序列的所述终止位置对应的图像以及所述第二图像序列的所述起始位置对应的图像替换为所述目标图像;

将替换后的第一图像序列和替换后的第二图像序列拼接为目标图像序列。

在一个实施例中,该方法还包括:

将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理;

将所述替换后的第二图像序列中所述设定时长的所述开始部分的图像序列进行平滑处理。

在一个实施例中,所述将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理,具体包括:

确定第一图像的时间戳,所述第一图像为替换后的所述第一图像序列中时间戳早于所述目标图像的图像;

确定所述第一图像与所述目标图像的相似度;

响应于所述相似度满足预定相似度条件,基于预先训练的第一模型,根据所述第一图像与所述目标图像确定对应的正向光流场向量以及逆向光流场向量,所述正向光流场向量用于表征所述第一图像与所述目标图像的正向光流,所述逆向光流场向量用于表征所述第一图像与所述目标图像的逆向光流;

基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,所述中间图像为所述第一图像与所述目标图像之间的图像。

在一个实施例中,所述确定所述第一图像与所述目标图像的相似度,具体包括:

计算所述第一图像与所述目标图像的光流相似度作为所述相似度。

在一个实施例中,所述基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,具体包括:

根据所述正向光流以及所述逆向光流确定第一近似光流场向量以及第二近似光流场向量,所述第一近似光流场向量用于表征中间时刻的正向近似光流,所述第二近似光流场向量用于表征所述中间时刻的逆向近似光流;

根据所述第一图像以及所述第一近似光流场向量确定第一插值函数;

根据所述目标图像以及所述第二近似光流场向量确定第二插值函数;

以所述第一图像、所述目标图像、所述第一近似光流场向量、所述第二近似光流场向量、所述第一插值函数以及所述第二插值函数为所述第二模型的输入,确定所述中间时刻的正向可视图、逆向可视图、第一增量和第二增量,所述第一增量用于表征所述第一近似光流场向量在所述中间时刻的增量,所述第二增量用于表征所述第二近似光流场向量在所述中间时刻的增量;

根据所述第一图像、所述目标图像、所述正向可视图、所述逆向可视图、第一增量以及所述第二增量确定所述中间时刻对应的所述中间图像。

在一个实施例中,所述第一模型以及所述第二模型通过如下方式训练:

获取多个图像组,所述图像组中包括第一图像样本、目标图像样本和至少一个中间图像样本,所述第一图像样本、目标图像样本和所述中间图像样本为同一图像序列中的不同图像;

以各所述图像组中的所述第一图像样本和所述目标图像样本为输入,以对应的所述中间图像样本为训练目标,对所述第一模型以及所述第二模型同时进行训练,直至所述第一模型以及所述第二模型的损失函数收敛。

在一个实施例中,所述损失函数用于表征所述第一模型以及第二模型的重建损失、语义损失、扭曲损失以及平滑损失。

在一个实施例中,所述方法还包括:

根据所述目标图像序列以及对应的音频序列确定目标视频。

第二方面,本发明实施例提供了一种视频处理的装置,该装置包括:

获取单元,用于获取至少两个图像序列;

确定单元,用于根据所述至少两个图像序列确定过渡图像集合,其中,所述过渡图像集合包括多个过渡图像,所述过渡图像为所述图像序列的中位于开始部分或最后部分的预定位置的图像;

所述确定单元还用于,根据所述过渡图像集合确定目标图像;

处理单元,用于基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列。

在一个实施例中,所述确定单元具体用于:

在所述过渡图像集合中,确定与剩余的图像差异最小的图像作为所述目标图像。

在一个实施例中,所述预定位置为所述图像序列的起始位置或者终止位置。

在一个实施例中,所述至少两个图像序列包括第一图像序列和第二图像序列,拼接顺序为所述第一图像序列在前,所述第二图像序列在后;

所述处理单元具体用于:

将所述第一图像序列的所述终止位置对应的图像以及所述第二图像序列的所述起始位置对应的图像替换为所述目标图像;

将替换后的第一图像序列和替换后的第二图像序列拼接为目标图像序列。

在一个实施例中,所述处理单元还用于,将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理;

将所述替换后的第二图像序列中所述设定时长的所述开始部分的图像序列进行平滑处理。

在一个实施例中,所述处理单元具体用于:

确定第一图像的时间戳,所述第一图像为替换后的所述第一图像序列中时间戳早于所述目标图像的图像;

确定所述第一图像与所述目标图像的相似度;

响应于所述相似度满足预定相似度条件,基于预先训练的第一模型,根据所述第一图像与所述目标图像确定对应的正向光流场向量以及逆向光流场向量,所述正向光流场向量用于表征所述第一图像与所述目标图像的正向光流,所述逆向光流场向量用于表征所述第一图像与所述目标图像的逆向光流;

基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,所述中间图像为所述第一图像与所述目标图像之间的图像。

在一个实施例中,所述处理单元具体用于:

计算所述第一图像与所述目标图像的光流相似度作为所述相似度。

在一个实施例中,所述确定单元还用于:

根据所述目标图像序列以及对应的音频序列确定目标视频。

第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能中任一项所述的方法。

第四方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面或第一方面任一种可能中任一项所述的方法。

本发明实施例通过获取至少两个图像序列;根据所述至少两个图像序列确定过渡图像集合,其中,所述过渡图像集合包括多个过渡图像,所述过渡图像为所述图像序列的中位于开始部分或最后部分的预定位置的图像;根据所述过渡图像集合确定目标图像;基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列。通过上述方法,通过目标图像将任意两个图像序列进行拼接,无需确定图像序之间段顺序,实现了多个视频之间的无顺序拼接,降低了视频交替播放过程中的卡顿。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施例的一种视频处理的方法流程图;

图2是本发明实施例的目标图像序列结构示意图;

图3是本发明实施例的一种视频处理的方法流程图;

图4是本发明实施例的第一图像序列结构示意图;

图5是本发明实施例的一种确定中间图像的方法流程图;

图6是本发明实施例的中间时刻的光流场的示意图;

图7是本发明实施例的图像插值的示意图;

图8是本发明实施例的第一图像序列以及第二图像序列结构示意图;

图9是本发明实施例的一种训练第一模型与第二模型的流程图;

图10是本发明实施例的视频处理的装置示意图;

图11是本发明实施例的电子设备的示意图。

具体实施方式

以下基于实施例对本发明公开进行描述,但是本发明公开并不仅仅限于这些实施例。在下文对本发明公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明公开。为了避免混淆本发明公开的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个申请文件中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在现有技术中,在线教学的应用场景中,有些课程教师需要提前对课程内容进行录制,例如,通过摄像机、具有拍照功能的手机、平板电脑等图像采集装置录制视频,假设教师提前录制的是动态交互课堂时所需要的视频,动态交互课堂的特点在于学生提出问题的顺序是变化的,因此,针对每个问题需要单独录制一个短视频,然后根据学生提出问题的顺序,将单独录制的多个短视频进行拼接,以获得一个完整的课程视频,实现教师与学生的完整互动;由于学生提出问题的顺序是变化的,而现有技术中视频的拼接顺序是固定的,因此无法适应动态交互课堂的情况;并且在完整的课程视频播放的过程中,各段视频之间的平滑度较低,也即,前一段视频的最后一帧图像与相邻的后一段视频的第一帧图像的重合度不高,从而导致在相邻两段视频交替播放的过程中,图像的过渡较为生硬,从而呈现出瞬移或卡顿的效果,造成用户观看体验效果差;现有的拼接技术中,为解决上述问题,在短视频与短视频之间插入图像帧,以实现平滑处理,通常是基于前一段视频与后一段视频确定待插入的图像帧,因此拼接顺序是固定的,例如:对A、B、C三个视频进行拼接,需要提前确定A、B、C的顺序,假设确定出A、B、C的顺序为先A,然后B,最后C,根据三个视频的顺序分别确定A与B之间、B与C之间分别需要插入的图像帧,实现拼接,即只能实现固定顺序的拼接;综上所述,如何对教师预先录制的多个视频进行拼接,才可以在动态交互过程中实现与学生的无障碍交流,且保证用户使用体验是目前需要解决的问题。

本发明实施例中,通过目标图像将任意两个图像序列进行拼接,无需确定图像序之间段顺序,实现了多个视频之间的无顺序拼接,降低了视频交替播放过程中的卡顿;由于可以无顺序拼接,因此可以解决在线教学时学生提出问题的顺序变化的情况下与教师的无障碍交流,即根据学生提出的问题,确定该问题对应的短视频(图像序列),然后根据学术提出问题的顺序对每个问题对应的短视频进行拼接,在学生角度看,教师回答问题是流畅的,提高了学生的使用体验。

本发明实施例中,图1是本发明实施例的一种视频处理的方法流程图。如图1所示,具体包括如下步骤:

步骤S100、获取至少两个图像序列。

在一个或多个实施例中,所述图像序列还可以称为视频片段、短视频、视频等,本发明实施例对其不做限定。

举例说明,假设所述图像序列为教师的教学短视频,每个段视频用于解答学生的一个问题,学生可能提出的问题为多个,因此,教师需要录制的教学段视频为多个。

步骤S101、根据所述至少两个图像序列确定过渡图像集合,其中,所述过渡图像集合包括多个过渡图像,所述过渡图像为所述图像序列的中位于开始部分或最后部分的预定位置的图像。

在一个或多个实施例中,在每个图像序列中获取至少一个过渡图像,其中,所述过渡图像可以为图像序列的起始位置对应的图像、可以为所述图像序列的终止位置对应的图像、还可以为所述图像序列的开始部分中的图像,例如,所述图像序列开始的0.5秒内的图像中的至少一个、也可以为所述所述图像序列的最后部分中的图像,例如,所述图像序列结束的0.5秒内的图像中的至少一个。

举例说明,假设存在3个图像序列,在所述3个图像序列中每个图像序列的起始位置对应和终止位置各获取一张图像,3个图像序列分别为图像序列1、图像序列2和图像序列3,图像序列1起始位置的图像为图像A、终止位置的图像为图像B,图像序列2起始位置的图像为图像C、终止位置的图像为图像D,图像序列3起始位置的图像为图像E、终止位置的图像为图像F,将所述图像A、图像B、图像C、图像D、图像E和图像F组成过渡图像集合。

步骤S102、根据所述过渡图像集合确定目标图像。

在一个或多个实施例中,所述根据所述过渡图像集合确定目标图像,具体包括:在所述过渡图像集合中,确定与剩余的图像差异最小的图像作为所述目标图像。

在一个或多个实施例中,假设过渡图像集合中存在3个过渡图像,过渡图像中的内容都是一个人的上半身图像,其中,过渡图像1中人的头是向左边偏的,过渡图像2中人的头是居中的,过渡图像3中人的头是向右边偏的,因此,3个过渡图像中过渡图像2是为其他过渡图像差异最小的图像,将过渡图像2确定为目标图像,上述实施例仅仅为对差异最小做出的示例性说明,具体根据实际情况确定,本发明实施例对其不做限定。

举例说明,如步骤S101中过渡图像集合是由所述图像A、图像B、图像C、图像D、图像E和图像F组成的,根据图像差异最小的原则,确定出图像C为目标图像。

步骤S103、基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列。

在一个或多个实施例中,基于所述目标图像对所述至少两个图像序列进行拼接处理时,对图像序列的顺序不做限定,若存在两个图像序列,分别为第一图像序列和第二图像序列,拼接顺序可以为所述第一图像序列在前,所述第二图像序列在后;还可以为所述第二图像序列在前,所述第一图像序列在后。

在一个或多个实施例中,所述第一图像序列在前,所述第二图像序列在后时,所述基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列,具体包括:将所述第一图像序列的所述终止位置对应的图像以及所述第二图像序列的所述起始位置对应的图像替换为所述目标图像;将替换后的第一图像序列和替换后的第二图像序列拼接为目标图像序列。

举例说明,上述步骤S102中确定出图像C为目标图像,首先确定出图像序列1、图像序列2和图像序列3的拼接顺序,包括:图像序列1至图像序列2至图像序列3;图像序列2至图像序列1至图像序列3;图像序列3至图像序列2至图像序列1;图像序列3至图像序列1至图像序列2等等任一种情况,假设拼接顺序为图像序列2至图像序列1至图像序列3,具体如图2所示,将图像2终止位置的图像为图像D替换为图像C,将图像序列1起始位置的图像A以及终止位置的图像为图像B都替换为图像C,将图像序列3起始位置的图像序列E替换为图像C;然后将替换后的图像序列间拼接处理,得到目标图像序列。

本发明实施例中,通过上述方式,可以无需考虑图像序列的顺序,可以先确定出目标图像,然后根据目标图像实现图像序列的任意拼接,解决了现有技术中需要先确定图像序列的位置,然后在根据图像序列的位置确定出图像序列间的过渡图像,无法实现任意拼接,且需要确定多个过渡图像,计算复杂的问题。

本发明实施中,上述方案实现了图像的任意拼接,但是由于目标图像替换了图像序列中的起始位置的图像或者终止位置的图像,会造成图像序列播放开始部分或最后部分时出现卡顿或瞬移的情况,因此,需要对图像序列中开始部分或最后部分的图像进行平滑处理。

在一个或多个实施例中,所述第一图像序列在前,所述第二图像序列在后,所述基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列之后,该方法还包括:将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理;将所述替换后的第二图像序列中所述设定时长的所述开始部分的图像序列进行平滑处理。

在一个或多个实施例中,所述将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理,如图3所示,具体包括如下步骤:

步骤S300、确定第一图像的时间戳,所述第一图像为替换后的所述第一图像序列中时间戳早于所述目标图像的图像。

举例说明,所述第一图像的时间戳为第一图像序列中时间戳早于所述第一图像序列中目标图像前0.5秒(S),如图4所示。

步骤S301、确定所述第一图像与所述目标图像的相似度。

在一个或多个实施例中,所述确定所述第一图像与所述目标图像的相似度,具体包括:计算所述第一图像与所述目标图像的光流相似度作为所述相似度;所述光流是空间(也即,三维)移动物体在像素观察平面(也即,二维的图像序列)上的投影,根据物体和相机的相对速度产生,反映了物体在极短时间段内对应的图像像素的运动方向和速度。光流的本质是一个二维向量场,每个向量表示了场景中该图像像素从前一帧到后一帧的位移,在本实施例中,即所述第一图像到所述目标图像的位移;具体的,可以选择基于L1范数正则化的全变分算法(Total Variation L1-regulation,TVL1)来计算第一图像与第二图像的光流相似度。TVL1是一种基于开源发行的跨平台计算机视觉和机器学习软件库(OpenCV)函数,通过将所述第一图像与所述目标图像转换为灰度图像,并输出一个光流场图像,光流场图像中的各像素值用于表征对应的图像像素从在所述第一图像中的位置移动到在所述目标图像中的位置的过程中,在x方向和y方向的位移,即光流相似度用于表征图像像素的位移。

可选地,还可以采用其他的光流相似度算法来确定所述第一图像与所述目标图像的光流相似度,例如基于L2范数正则化的全变分算法(Total Variation L2-regulation,TVL2)、霍恩-舒克(Horn-Schunck)方法等,本实施例不做具体限定。

步骤S302、响应于所述相似度满足预定相似度条件,基于预先训练的第一模型,根据所述第一图像与所述目标图像确定对应的正向光流场向量以及逆向光流场向量,所述正向光流场向量用于表征所述第一图像与所述目标图像的正向光流,所述逆向光流场向量用于表征所述第一图像与所述目标图像的逆向光流。

在一个或多个实施例中,由于光流相似度用于表征图像像素的位移,在位移过大时,光流相似度较低,所述第一图像与所述目标图像之间的区别较大;而在位移过小时,光流相似度较高,所述第一图像与所述目标图像之间的区别较小,因此,需要在第一图像与目标图像之间插入中间图像,实现平滑过渡,需要预定相似度条件为光流相似度大于第一阈值且小于第二阈值。

在一个或多个实施例中,第一模型用于计算光流,具体可以为卷积神经网络(Convolutional Neural Network,CNN);CNN是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。CNN仿造生物的视知觉(Visual Perception)机制构建,可以进行有监督学习和无监督学习,隐层内卷积核参数共享和层间连接的稀疏性使得CNN能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程要求。更具体地,第一模型可以为级联区域卷积神经网络(Cascade Region-Convolutional Neural Network,Cascade R-CNN)。

步骤S303、基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,所述中间图像为所述第一图像与所述目标图像之间的图像。

在一个实施例中,所述基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,如图5所示,具体包括如下步骤:

S500、根据所述正向光流以及所述逆向光流确定第一近似光流场向量以及第二近似光流场向量,所述第一近似光流场向量用于表征中间时刻的正向近似光流,所述第二近似光流场向量用于表征所述中间时刻的逆向近似光流。

在一个或多个实施例中,所述中间时刻为第一图像与目标图像之间的中间图像对应的时刻。例如,第一图像通过I

由于中间图像未知,因此中间时刻的正向光流场向量和逆向光流场向量很难获取。图6是中间时刻的光流场的示意图。如图6所示,各点表示一个像素,同一列的像素对应相同的时刻,同一行的像素对应相同的位置。对于T=t(也即,中间时刻)的像素21,可以通过T=0(也即,第一图像对应的时刻)时相同位置的像素,也即像素22对应的正向光流和T=1(也即,目标图像对应的时刻)时相同位置的像素,也即像素23对应的逆向光流来近似像素22对应的光流场向量。具体地,可以根据像素22对应的正向光流确定第一近似光流场向量

具体地,第一近似光流场向量

其中,F

类似地,第二近似光流场向量

由于上述近似方法在平滑的区域内效果较好,而在运动边界附近的效果不佳,因为运动边界附近的运动不是局部平滑的,会产生伪影。因此服务器可以根据第一图像以及第一近似光流场向量确定第一插值函数,并根据目标图像以及第二近似光流场向量确定第二插值函数。

S501、根据所述第一图像以及所述第一近似光流场向量确定第一插值函数。

S502、根据所述目标图像以及所述第二近似光流场向量确定第二插值函数。

在一个或多个实施例中,第一插值函数和第二插值函数均为双线性插值函数。

在一个或多个实施例中,服务器可以分别根据第一图像、第一近似光流场向量以及目标图像、第二近似光流场向量确定中间图像,然后分别基于第一插值函数

在一个或多个实施例中,图7是本发明实施例的图像插值的示意图。图7以第一插值函数为例进行说明,容易理解,第二插值函数的确定方式与第一插值函数相似。在T=0时刻,像素71、像素72、像素73和像素74为相邻的四个像素,位置关系如图7左上侧所示;在T=t时刻,像素71、像素72、像素73和像素74发生了移动且互不相邻,位置关系如图7右上侧所示。在计算T=t时刻,像素71、像素72、像素73和像素74之间的缺失像素,如像素75时,服务器可以以像素71指向像素72的方向为X轴正方向,以像素71指向像素73的方向为Y轴正方向,然后设定T=t时刻时像素71、像素72、像素73和像素74的坐标分别为(0,0)、(1,0)、(0,1)和(1,1),进而根据像素75与像素71、像素72、像素73和像素74的距离,也即,x,1-x,y和1-y(其中,x和y均为大于0且小于1的实数)确定像素75对应的像素值。具体地,第一插值函数

f(x,y)≈f(0,0)*(1-x)(1-y)+f(1,0)*x(1-y)+f(0,1)*(1-x)y+f(1,1)xy;

其中,(x,y)为像素75的坐标值,f(x,y)为像素75的像素值,f(0,0)为像素71的像素值,f(1,0)为像素72的像素值,f(0,1)为像素73的像素值,f(1,1)为像素74的像素值。

S503、以所述第一图像、所述目标图像、所述第一近似光流场向量、所述第二近似光流场向量、所述第一插值函数以及所述第二插值函数为所述第二模型的输入,确定所述中间时刻的正向可视图、逆向可视图、第一增量和第二增量,所述第一增量用于表征所述第一近似光流场向量在所述中间时刻的增量,所述第二增量用于表征所述第二近似光流场向量在所述中间时刻的增量。

在一个或多个实施例中,在确定第一近似光流场向量、第二近似光流场向量、第一插值函数以及第二插值函数后,服务器可以以第一图像、第一近似光流场向量、第一插值函数、第二图像、第二近似光流场向量以及第二插值函数为输入,基于第二模型得到目标时刻的正向可视图、逆向可视图、第一增量和第二增量,以基于第二模型对待修正图像进行残差修正。其中,正向可视图以及逆向可视图用于表征目标图像的可见性,第一增量用于表征第一近似光流场向量在目标时刻的增量,第二增量用于表征第二近似光流场向量在目标时刻的增量。

在一个或多个实施例中,第二模型用于对光流(也即,正向光流场向量和逆向光流场向量)进行矫正,且同样可以为CNN,具体可以为Cascade R-CNN。且与第一模型类似,第二模型的主要架构同样可以为U-Net。

S504、根据所述第一图像、所述目标图像、所述正向可视图、所述逆向可视图、第一增量以及所述第二增量确定所述中间时刻对应的所述中间图像。

在一个或多个实施例中,假设第一图像和目标图像之间需要三个中间图像,第一图像的时间戳为倒数0.5s,目标图像的时间戳为倒数0.1s,在中间时刻0.4s、0.3s和0.2s分别插入对应的中间图像,使第一图像平滑的过渡到目标图像。

类似的,所述将所述替换后的第二图像序列中设定时长的所述开始部分的图像序列进行平滑处理,具体包括:确定第二图像的时间戳,所述第二图像为替换后的所述第二图像序列中时间戳晚于所述目标图像的图像;确定所述第二图像与所述目标图像的相似度;响应于所述相似度满足预定相似度条件,基于预先训练的第一模型,根据所述第二图像与所述目标图像确定对应的正向光流场向量以及逆向光流场向量,所述正向光流场向量用于表征所述第二图像与所述目标图像的正向光流,所述逆向光流场向量用于表征所述第二图像与所述目标图像的逆向光流;基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,所述中间图像为所述第二图像与所述目标图像之间的图像。

综上所述,替换后的所述第一图像序列与替换后的所述第二图像序列进行拼接之后,将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理,也即,将第一图像序列中的最后部分的图像进行替换;且将所述替换后的第二图像序列中所述设定时长的所述开始部分的图像序列进行平滑处理,也即,将第二图像序列中的开始部分的图像进行替换;最终得到的目标图像序列。

举例说明,如图8所示,将第一图像序列最后部分的0.5s的图像替换为平滑处理后的中间图像(也可以称为平滑帧)与目标图像(也可以称为标准样帧)的组合;将第二图像序列开始部分的0.5s的图像替换为目标图像(也可以称为标准样帧)与平滑处理后的中间图像(也可以称为平滑帧)的组合。

在一个或多个实施例中,完成了目标图像序列的拼接之后,根据所述目标图像序列以及对应的音频序列确定目标视频;具体的,根据目标图像序列中各图像序列的顺序对音频序列进行排序,将排序后的音频序列拼接为一个目标音频序列;然后将目标图像序列与目标音频序列进行合成,输出视频文件。

在一个或多个实施例中,第一模型与第二模型的训练方式为无监督的训练方式,服务器可以对第一模型与第二模型同时进行训练。图9是一种训练第一模型与第二模型的流程图。如图9所示,第一模型与第二模型可以通过如下方式进行训练:

步骤S900、获取多个图像组,所述图像组中包括第一图像样本、目标图像样本和至少一个中间图像样本,所述第一图像样本、目标图像样本和所述中间图像样本为同一图像序列中的不同图像。

在一个或多个实施例中,所述中间图像样本为时间戳介于第一图像样本以及目标图像样本之间的中间图像样本。

例如,作为样本的图像序列中包括图像P1、图像P2、…、图像P(m-1)以及图像Pm(其中,m为大于1的预定整数),图像P1、图像P2、…、图像P(m-1)以及图像Pm按时间轴顺序先后排列,服务器可以将图像P1确定为第一图像样本,将图像Pm确定为目标图像样本,并将图像P2-图像P(m-1)中的至少一个图像确定为中间图像样本;在确定中间图像样本后,服务器可以根据中间图像样本的数量确定中间图像样本对应的时刻。例如,中间图像样本的数量为3,则服务器可以将时间轴顺序最靠前的中间图像样本对应的时刻确定为0.4s,将时间轴顺序最靠后的中间图像样本对应的时刻确定为0.2s。

步骤S901、以各所述图像组中的所述第一图像样本和所述目标图像样本为输入,以对应的所述中间图像样本为训练目标,对所述第一模型以及所述第二模型同时进行训练,直至所述第一模型以及所述第二模型的损失函数收敛。

在一个或多个实施例中,在第一模型和第二模型的训练过程中,服务器可以以各图像组中的第一图像样本和目标图像样本为输入,以对应的一个中间图像样本为训练目标,对第一模型以及第二模型同时进行训练,直至第一模型以及第二模型的损失函数收敛;例如,图像组G1包括第一图像P1、目标图像P2、中间图像P31,中间图像P32和中间图像P33,服务器可以以第一图像P1和目标图像P2为输入,以中间图像P31、中间图像P32和中间图像P33为训练目标对第一模型以及第二模型同时进行训练。

在一个或多个实施例中,第一模型与第二模型共同的损失函数由四部分组成,四个部分分别用于表征第一模型以及第二模型的重建损失、语义损失、扭曲损失以及平滑损失。其中,重建损失用于表征中间图像重建的好坏,像素值通常在[0,255]范围内;语义损失用于保留预测的细节,并增强目标图像的清晰度;扭曲损失用于衡量目标图像的光流质量;平滑损失用于促进相邻像素间具有相似的光流。具体地,损失函数I可以通过如下公式表示:

I=λ

其中,λ

其中,i用于表征第i个中间图像样本,

语义损失I

其中,Φ用于表征在ImageNet数据集上预训练的VGG16模型的conv4_3特征。

扭曲损失I

平滑损失I

由此,当损失函数收敛后,可以认为第一模型与第二模型训练完毕,可以在后续根据第一图像和目标图像得到平滑度较高的中间图像。

图10是本发明实施例的一种视频处理的装置示意图。如图10所示,本实施例的装置包括获取单元1001、确定单元1002和处理单元1003。

其中,获取单元,用于获取至少两个图像序列;确定单元,用于根据所述至少两个图像序列确定过渡图像集合,其中,所述过渡图像集合包括多个过渡图像,所述过渡图像为所述图像序列的中位于开始部分或最后部分的预定位置的图像;所述确定单元还用于,根据所述过渡图像集合确定目标图像;处理单元,用于基于所述目标图像对所述至少两个图像序列进行拼接处理,得到目标图像序列。

进一步地,所述确定单元具体用于:

在所述过渡图像集合中,确定与剩余的图像差异最小的图像作为所述目标图像。

进一步地,所述预定位置为所述图像序列的起始位置或者终止位置。

进一步地,所述至少两个图像序列包括第一图像序列和第二图像序列,拼接顺序为所述第一图像序列在前,所述第二图像序列在后;

所述处理单元具体用于:将所述第一图像序列的所述终止位置对应的图像以及所述第二图像序列的所述起始位置对应的图像替换为所述目标图像;

将替换后的第一图像序列和替换后的第二图像序列拼接为目标图像序列。

进一步地,所述处理单元还用于,将所述替换后的第一图像序列中设定时长的所述最后部分的图像序列进行平滑处理;

将所述替换后的第二图像序列中所述设定时长的所述开始部分的图像序列进行平滑处理。

进一步地,所述处理单元具体用于:

确定第一图像的时间戳,所述第一图像为替换后的所述第一图像序列中时间戳早于所述目标图像的图像;

确定所述第一图像与所述目标图像的相似度;

响应于所述相似度满足预定相似度条件,基于预先训练的第一模型,根据所述第一图像与所述目标图像确定对应的正向光流场向量以及逆向光流场向量,所述正向光流场向量用于表征所述第一图像与所述目标图像的正向光流,所述逆向光流场向量用于表征所述第一图像与所述目标图像的逆向光流;

基于预先训练的第二模型,根据所述正向光流场向量以及所述逆向光流场向量确定至少一个中间图像,所述中间图像为所述第一图像与所述目标图像之间的图像。

进一步地,所述处理单元具体用于:

计算所述第一图像与所述目标图像的光流相似度作为所述相似度。

进一步地,所述确定单元还用于:

根据所述目标图像序列以及对应的音频序列确定目标视频。

图11是本发明实施例的电子设备的示意图。图11所示的电子设备为通用视频处理装置,其包括通用的计算机硬件结构,其至少包括处理器1101和存储器1102。处理器1101和存储器1102通过总线1103连接。存储器1102适于存储处理器1101可执行的指令或程序。处理器1101可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器1101通过执行存储器1102所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线1103将上述多个组件连接在一起,同时将上述组件连接到显示控制器1104和显示装置以及输入/输出(I/O)装置1105。输入/输出(I/O)装置1105可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置1105通过输入/输出(I/O)控制器1106与系统相连。

如本领域技术人员将意识到的,本发明实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明实施例的各个方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。

可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。

计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。

可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。

用于执行针对本发明实施例各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。

上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本发明实施例的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。

还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。

计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 视频处理方法、视频处理装置、电子设备和可读存储介质
  • 视频处理方法、视频处理装置、电子设备及计算机可读存储介质
技术分类

06120112188425