一种基于密集连接网络的视频帧序列生成方法与流程

文档序号:18180469发布日期:2019-07-17 05:10阅读:134来源:国知局
一种基于密集连接网络的视频帧序列生成方法与流程

本发明涉及计算机视觉领域以及视频信号处理技术领域,尤其涉及一种基于密集连接网络的视频帧序列生成方法。



背景技术:

近年来,人工智能技术逐步普及,成为应用系统的重要组成部分,应用场景十分广泛。在公共交通领域,监控系统使用摄像头捕获视频序列,再通过系统的深度学习图像处理模块对捕获到的视频帧进行分析处理,可以实现对特定目标的识别追踪。对自动驾驶汽车而言,其系统搭建完全基于人工智能技术,其中的视觉系统作为自动驾驶汽车的“眼睛”,是整个系统中最重要的组成部分之一。在体育竞技中,智能电子裁判通过对目标运动员姿态进行跟踪,能够对运动员冲线时间或犯规等关键点进行监控,这使得体育裁决更加公正公开。在这些应用中,视频帧序列作为整个智能系统的输入,它的质量将直接影响整个智能系统的后续决策。

在一些特定场景下,视频采集系统有可能会在某个时刻失效。以自动驾驶为例,日间行车进入隧道时会发生骤暗的情况,夜间行车被灯光照射时会发生骤明的情况,这些光线变换都会导致视频采集系统无法采集到有效的图像。再者,当汽车行驶在较为颠簸的路面上时,视频采集系统此时虽然能够正常运转,但是由于拍摄到的视频图像模糊程度较高,对视频处理系统而言这些图像只能被当作无效帧处理。对于自动驾驶等对实时性要求较高的系统,这种采集信息的缺失无疑将对整个系统造成较大影响。一旦作为输入的视频帧序列失效,会导致整个系统的后续部分都无法正常工作,陷入瘫痪状态。因此,如何保证系统在输入视频中存在失效帧的情况下仍能够正常工作已经成为一个紧迫的问题。

一种方法是依赖现有的有效输入视频帧序列,对失效帧位置的图像做生成处理。目前已经有一些基于深度学习的算法用于解决视频帧序列生成问题。使用基于卷积网络的模型能够学习视频帧序列的运动信息,卷积网络中的池化层能够抽取到视频帧序列中更为完整的特征,但同时也会丢失掉大量的纹理信息,这将导致生成的后续视频帧序列的关键细节部分丢失较为严重。另一种方法是对输入视频帧序列以及对应光流图像进行卷积操作从而生成后续视频帧序列,这种方法虽然能够更加精准的捕获运动信息,生成质量较高的后续视频帧序列,但由于光流图像需要依赖输入视频帧序列计算获得,因此所需的计算时间更长,耗费的算力资源更多,并且不同的光流计算方法的选择也会导致最终生成后续视频帧序列的质量不同。

现有的后续视频帧序列生成方法没有考虑到视频采集对象所具备的特点。视频采集的对象不同,获得的视频帧的内容分布特点也不同。如果采集对象为参加田径比赛的运动员,对视频内容而言,图像中存在运动员的部分为视频帧内容的主体,在采集图像的过程中,通常会将视频帧内容的主体部分放在视频中较为靠近中心的位置。在后续视频帧序列生成的过程中,模型需要为生成后续视频帧序列的中心位置分配更多注意力。如果采集对象是驾驶场景,此时视频帧的主体部分并不明显,但对行驶中的车辆而言,越靠近视野中心位置的部分,在获得的视频帧序列中变化频率越慢,越靠近视野边缘位置的部分,在获得的视频帧序列中变化频率越快,因此在模型生成后续视频帧序列的过程中,需要对靠近视野周边的部分给予更多的注意力。而现有的用于后续视频帧序列生成的方法并没有有效使用输入视频帧序列的内容分布特点,没有对输入视频帧序列的不同部分给出不同的权重,因此导致生成的后续视频帧序列质量不高的问题。

现有的后续视频帧序列生成方法通常使用卷积神经网络作为搭建模型的基础。卷积神经网络通过对输入对象进行卷积处理,能够较好的抽取图像中的有效信息,通常被用于解决分类,识别等问题。但对生成后续视频帧序列而言,由于卷积神经网络只能够对卷积获得的信息加以利用,因此单一地使用卷积神经网络生成的后续视频帧序列较真实视频帧序列而言还是具有一定的差距,并不十分适用于生成任务。



技术实现要素:

本发明提出一种基于密集连接网络的视频帧序列生成方法,以解决现有技术生成后续视频帧序列中存在的细节模糊以及生成的后续视频帧图像质量不高的问题,为视频帧生成、仍至自动驾驶领域提供了一种新的解决方法。

本发明采取的技术方案是,包括下列步骤:

(1)以生成对抗网络为模型的基线,构建基于密集连接网络的生成器模型g和基于卷积神经网络的判别器模型d;

(2)获取输入视频帧序列,根据输入视频帧序列的特点,对生成后续视频帧序列的高权重区域进行设定,得注意力机制损失函数;

(3)构建模型的损失函数:生成器模型g的总损失函数由生成对抗网络部分的损失函数、步骤(2)中注意力机制损失函数以及生成后续视频帧序列与真实后续视频帧序列间的欧氏距离构成,判别器模型d由生成对抗网络部分的损失函数构成;

(4)对输入视频帧序列进行预处理包括:对输入视频帧序列的图像进行归一化处理,在完成对输入视频帧图像的归一化处理之后,将预处理后的视频帧序列输入到生成器模型g中生成后续视频帧序列;

(5)将输入视频帧序列分别与使用生成器模型g生成的后续视频帧序列和真实的视频帧序列进行拼接,将其输入到判别器模型d中得到输出的概率perceimg,并将生成的后续视频帧序列和概率perceimg作为步骤(3)中损失函数的输入,计算损失函数,对模型整体进行训练;

(6)对生成器模型g和判别器模型d进行ite次迭代训练后,当生成器模型g和判别器模型d的损失函数值逐步稳定在区间范围φ内时,认为生成器模型g和判别器模型d已经达到稳定状态,即可完成训练,在完成对生成器模型g和判别器模型d的训练后,即可得到生成器模型g的参数集αg和判别器模型d的参数集αd,可以将输入视频帧序列输入到生成器模型g,对后续视频帧序列进行生成。

本发明所述步骤(1)中,以生成对抗网络为模型的基线,生成对抗网络基于博弈的思想,其基本结构包括一个生成器模型g和一个判别器模型d,生成器模型g表示如下:

其中outimg表示由生成器模型g生成的图像,αg表示生成器模型g的参数集,x1,x2,...,xl表示生成器模型g的输入由l帧输入视频帧组成,x表示输入视频帧序列集合;

判别器模型d表示如下

其中perceimg表示判别器模型d认定输入为由输入的视频帧序列和真实的后续视频帧序列拼接构成的概率,αd表示判别器模型d的参数集,img1,img2,...,imgl,omgl+1,omgl+2,...,omgl+t表示判别器模型d的输入,x表示输入视频帧序列集合,y表示真实的后续视频帧序列集合,表示由生成器模型g生成的后续视频帧序列集合,也即判别器模型d的输入共有两种,分别为由l帧输入视频帧序列和t帧生成的后续视频帧序列拼接构成的(l+t)帧序列和由l帧输入视频帧序列和t帧真实的后续视频帧序列拼接构成的(l+t)帧序列;

生成器模型g使用密集连接网络,归一化层bn和激活函数af搭建,密集连接网络由b个密集连接块db构成,每个密集连接块包括卷积层cn,归一化层bn以及激活函数af,每个卷积层的滤波器大小为fs×fs,步长为s,密集连接块可表示为:

db=af(bn(cn(data)))

其中data表示密集连接块的输入,生成器模型g可由密集连接块表示为:

判别器模型d使用c个卷积层cn,c个激活函数af以及f个全连接层fn搭建,每个卷积层的滤波器大小为fs×fs,步长为s,全连接层的长度为lf,在最后一层全连接层后加入激活函数af用于输出概率值,判别器模型d表示为:

与一般的卷积层,池化层以及激活函数搭建的判别器模型d不同,采用步长更大的卷积层代替池化层提取输入内容中更大尺寸的特征信息,能够在整合特征的同时,保留更多纹理信息,每个卷积层cn后接一个激活函数af,以增加判别器模型d的整体非线性,使得判别器模型d具备拟合复杂分布的能力,在最后一个卷积层后连接f个全连接层fn,用于最终压缩图像特征,在最后一个全连接层fn后连接一个激活函数af输出概率;

生成器模型g的生成对抗网络部分的损失函数如下:

判别器模型d的生成对抗网络部分的损失函数如下:

其中lce表示求取交叉熵,表示为:

lce(in,label)=-labellog(in)-(1-label)log(1-in)

其中in和label分别对应判别器模型d的输出的概率perceimg以及对应的标签,标签的取值范围为{0,1}。

本发明步骤(2)中,对输入视频帧序列特点进行分析,进而对生成后续视频帧序列的高权重区域进行设定,包括对输入视频帧序列的图像特点进行分析,对输入视频帧序列中变化速率较快的部分以及输入视频帧序列中的重点关注内容所在的部分做分割处理,并提高这些部分的注意力,注意力机制损失函数如下:

其中,k表示第k个需要提高权重部分,k表示在图像中共有k个部分需要被提高权重,mk表示第k个需要提高权重的部分的起始行位置,mk表示第k个需要提高权重的部分的终止行位置,(mk-mk)表示第k个需要提高权重的部分对应的高度,nk表示第k个需要提高权重的部分的起始列位置,nk表示第k个需要提高权重的部分的终止列位置,(nk-nk)表示第k个需要提高权重的部分对应的宽度,i表示当前图像上的第i行,j表示当前图像上的第j列,outimgkij对应生成的视频帧图像第k个需要提高权重的部分对应i,j位置的像素值,outimg'kij对应真实的视频帧图像第k个需要提高权重的部分对应i,j位置的像素值,||·||β表示β维空间下的欧氏距离。

本发明步骤(3)中,对模型的损失函数进行构建:生成器模型g损失函数由三部分组成,分别是步骤(2)中的注意力机制损失函数,生成对抗网络部分的损失函数,以及生成的后续视频帧序列与真实的后续视频帧的欧氏距离,生成器模型g对应的损失函数如下:

lg=λadgladg+λattentionlattention+λpixlpix

其中λadg表示生成对抗网络部分损失函数对应的系数,ladg表示生成对抗网络部分的损失函数,λattention为注意力机制损失函数的系数,lattention表示注意力机制的损失函数,λpix为生成的后续视频帧序列与真实的后续视频帧的欧氏距离差值的系数,lpix表示生成后续视频帧序列与真实的后续视频帧序列的欧氏距离差值,其对应函数如下:

其中row表示输入图像的高度,col表示输入图像的宽度,outimg'ij表示真实视频帧图像的对应i,j位置的像素值,outimgij表示生成视频帧图像在i,j位置的像素值;

判别器模型d的损失函数为生成对抗网络部分的损失函数,其对应的损失函数如下:

ld=λaddladd。

本发明的优点是:

本发明是首个结合输入视频特点进行视频帧序列生成的方法,提出注意力机制,考虑输入视频帧序列具有的特点,针对输入视频帧内容的差异性,对生成视频帧序列的不同部分给予不同权重,能够对生成视频帧图像中的关键部分实现更好的生成,较现有方法,使用本发明方法生成的视频帧序列质量更高。

本发明采用密集连接网络搭建生成器模型g,密集连接网络中的卷积层使得生成器模型g能够捕获输入视频帧序列间的时空信息。同时密集连接网络中的高效连接方式,使得每个卷积层的输入都会包含之前所有卷积层产生的特征图,提高了特征图的使用效率。因此本发明中的生成器模型g可以使用较少的卷积层提取输入视频帧的特征信息,减少了参数的数量,在节省计算时间和算力的条件下,使得输入视频帧序列中的细节信息能够被大量保留。

本发明使用生成对抗网络作为整个视频帧生成网络的基线,使得生成器模型g具有一定的创造能力,能够对生成的视频帧图像中未出现的部分进行补充,因此生成的后续视频帧序列图像在分布上更加贴近真实图像,从而进一步提高生成图像的质量。

附图说明

图1是本发明的流程图;

图2是本发明中密集连接块结构示意图;

图3是本发明模型结构示意图;

图4是本发明以驾驶环境中图像为例,表示被赋予更高权重的部分的示意图;

图5(a)是输入视频序列的第1帧图像;

图5(b)是输入视频序列的第2帧图像;

图5(c)是输入视频序列的第3帧图像;

图5(d)是输入视频序列的第4帧图像;

图5(e)为真实的后续视频帧图像;

图5(f)为使用图5(a)-(d)的图像作为本发明方法的输入,进入生成器模型g生成的下一帧视频帧图像。

具体实施方式

如图1所示,对任意一个视频帧而言,可以采用本发明的流程图实施;

包括下列步骤:

(1)以生成对抗网络为模型的基线,构建基于密集连接网络的生成器模型g和基于卷积神经网络的判别器模型d;具体如下:

对模型结构进行搭建,使用生成对抗网络作为模型的基线,生成对抗网络基于博弈的思想,其基本结构包括一个生成器模型g和一个判别器模型d,生成器模型g表示如下:

其中outimg表示由生成器模型g生成的图像,αg表示生成器模型g的参数集,x1,x2,...,xl表示生成器模型g的输入由l帧输入视频帧组成,x表示输入视频帧序列集合;

判别器模型d表示如下:

其中perceimg表示判别器模型d认定输入为由输入的视频帧序列和真实的后续视频帧序列拼接构成的概率,αd表示判别器模型d的参数集,img1,img2,...,imgl,omgl+1,omgl+2,...,omgl+t表示判别器模型d的输入,x表示输入视频帧序列集合,y表示真实的后续视频帧序列集合,表示由生成器模型g生成的后续视频帧序列集合,也即判别器模型d的输入共有两种,分别为由l帧输入视频帧序列和t帧生成的后续视频帧序列拼接构成的(l+t)帧序列和由l帧输入视频帧序列和t帧真实的后续视频帧序列拼接构成的(l+t)帧序列;

生成器模型g使用密集连接网络,归一化层bn和激活函数af搭建,密集连接网络由b个包括卷积层cn,归一化层bn以及激活函数af的密集连接块db构成,每个卷积层的滤波器大小fs×fs及步长s依据当前的输入特征图的尺寸决定,激活函数af根据当前层实现的目标功能决定。密集连接块可表示为:

db=af(bn(cn(data)))

其中data表示密集连接块的输入。生成器模型g可由密集连接块表示为:

判别器模型d使用c个卷积层cn,c个激活函数af以及f个全连接层fn搭建,每个卷积层的滤波器大小fs×fs及步长s依据当前的输入特征图尺寸决定,激活函数af根据当前层实现的目标功能决定,全连接层的长度lf由当前输入特征图尺寸决定,在最后一层全连接层后加入一个激活函数af用于输出概率值。判别器模型d可表示为:

生成器模型g在经过训练后,能够学习当前处理视频帧序列的分布特点,生成较为逼真的后续视频帧序列,并且尝试使得生成的后续视频帧序列能够欺骗判别器模型d,使之认为生成的图像就是真实的后续视频帧序列。迭代训练生成器模型g和判别器模型d,生成器模型g的生成对抗网络部分的损失函数如下:

判别器模型d的生成对抗网络部分的损失函数如下:

其中lce表示求取交叉熵,可以表示为

lce(in,label)=-labellog(in)-(1-label)log(1-in)

其中in和label在本发明中分别对应判别器模型d的输出的概率perceimg以及对应的标签,标签的取值范围为{0,1},0表示判别器模型d认为输入是由输入视频帧序列和生成器模型g生成的后续视频帧序列拼接构成的,1表示判别器模型d认为输入是由输入视频帧序列和真实的后续视频帧序列拼接构成的;

步骤(2)获取输入视频帧序列,并对输入视频帧序列的特点进行分析,进而对生成的后续视频帧序列的高权重区域进行设定,包括对输入视频帧序列的图像特点进行分析,对输入视频帧序列中变化速率较快的部分以及输入视频帧序列中的重点关注内容所在的部分做分割处理,并提高这些部分的的注意力,注意力机制损失函数如下:

其中,k表示第k个需要提高权重部分,k表示在图像中共有k个部分需要被提高权重,mk表示第k个需要提高权重的部分的起始行位置,mk表示第k个需要提高权重的部分的终止行位置,(mk-mk)表示第k个需要提高权重的部分对应的高度,nk表示第k个需要提高权重的部分的起始列位置,nk表示第k个需要提高权重的部分的终止列位置,(nk-nk)表示第k个需要提高权重的部分对应的宽度,i表示当前图像上的第i行,j表示当前图像上的第j列,outimgkij对应生成的视频帧图像第k个需要提高权重的部分对应i,j位置的像素值,outimg'kij对应真实的视频帧图像第k个需要提高权重的部分对应i,j位置的像素值,||·||β表示β维空间下的欧氏距离;

步骤(3)构建模型的损失函数:生成器模型g损失函数由三部分组成,分别是生成对抗网络部分的损失函数,步骤(2)中的注意力机制损失函数,以及生成的后续视频帧序列与真实的后续视频帧的欧氏距离,生成器模型g对应的损失函数如下:

lg=λadgladg+λattentionlattention+λpixlpix

其中λadg表示生成对抗网络部分损失函数对应的系数,ladg表示生成对抗网络部分的损失函数,λattention为注意力机制损失函数的系数,lattention表示注意力机制的损失函数,λpix为生成的后续视频帧序列与真实的后续视频帧的欧氏距离差值的系数,lpix表示生成后续视频帧序列与真实的后续视频帧序列的欧氏距离差值,其对应函数如下:

其中row表示输入图像的高度,col表示输入图像的宽度,outimg'ij表示真实视频帧图像的对应i,j位置的像素值,outimgij表示生成视频帧图像在i,j位置的像素值。判别器模型d的损失函数为生成对抗网络部分的损失函数,其对应的损失函数如下:

ld=λaddladd

步骤(4)对输入视频帧序列进行预处理的操作包括,对输入视频帧序列的图像进行归一化处理,在完成对输入视频帧图像的归一化处理之后,将处理后的视频帧序列输入到生成器模型g中生成后续视频帧序列;

步骤(5)将输入的视频帧序列分别与使用生成器模型g生成的后续视频帧序列和真实的视频帧序列进行拼接,将其输入到判别器模型d中得到输出的概率为perceimg,并将生成的后续视频帧序列和概率perceimg作为步骤(3)中损失函数的输入,计算损失函数,通过反向传播的方式对生成器模型g的参数集αg和判别器模型d的参数集αd进行调整,对生成器模型g和判别器模型d进行训练;

步骤(6)对生成器模型g和判别器模型d进行ite次迭代训练后,当生成器模型g和判别器模型d的损失函数值逐步稳定在区间范围φ内时,认为生成器模型g和判别器模型d已经达到稳定状态,即可完成训练,在完成对生成器模型g和判别器模型d的训练后,即可得到生成器模型g的参数集αg和判别器模型d的参数集αd,可以将输入视频帧序列输入到生成器模型g对进行后续视频帧序列进行生成。

应用举例:以驾驶场景的视频帧为输入,生成后续视频帧序列

步骤(1)、对本发明的模型结构进行构建,生成器模型g,本实例中选用b=7个密集连接块db对生成器模型g进行搭建,密集连接块的卷积层的滤波器大小,除第一个为7×7外,其余6个密集连接块的卷积层的滤波器大小均设定为3×3,上述所有卷积层的步长s均设定为1,所有密集连接块中的激活函数af均使用relu,最外层的激活函数af选用tanh,判别器模型d,本实例中选用c=5个卷积层cn和激活函数af,结合f=3个全连接层fn进行搭建。其中判别器模型d的第一个卷积层的滤波器大小为11×11,第二个卷积层的滤波器大小为5×5,其余3个卷积层的滤波器大小均为3×3,除第一个卷积层滤波器的步长s设定为4外,其余4个卷积层的步长s均设定为2,全连接层fn的长度依次为512,256和5,最后的激活函数af使用sigmoid;

步骤(2)、对输入视频帧序列的分布特点进行分析,确定视频帧生成过程中需要赋予高权重的部分,为生成器模型g的目标函数增加注意力机制,图4给出以驾驶场景为实例的输入视频帧图像,对驾驶环境中输入视频帧序列的分布特点进行分析,可以发现,在汽车行进的过程中,由于视角特点使得处在视频帧图像中心的内容变化频率较低,而对应图像边缘的内容变化则较为剧烈。因此在描述驾驶场景的数据集中,图像存在靠近图像边缘的两侧,内容变化较为明显,而集中在图像中心部分内容变化并不明显的特点,也即白色边框外部为内容变化较为明显区域,白色边框内部为内容变化不明显区域,据此可以对注意力机制损失函数进行设计;

步骤(3)、构建模型的损失函数,生成器模型g的总损失函数由生成对抗网络部分的损失函数,步骤(2)中设计的特定权重以及生成后续视频帧序列与真实后续视频帧序列间的欧氏距离构成。判别器模型d由生成对抗网络部分的损失函数构成;

步骤(4)、对输入的视频帧序列进行预处理,输入视频帧序列的长度为l=4帧,将经过预处理的,长度为l=4的视频帧序列作为生成器模型g的输入,输出长度t=1的后续视频帧序列;

步骤(5)、将4帧输入视频帧序列与1帧生成的后续视频帧序列进行拼接,得到判别器模型d的一种输入(img1,img2,...,img4,omg1),其中img1,img2,...,img4∈x,将4帧输入视频帧序列与1帧真实的后续视频帧序列进行拼接,得到判别器模型d的第二种输入(img1,img2,...,img4,omg1),其中img1,img2,...,img4∈x,omg1∈y,将这两种输入分别送入判别器模型d中计算概率,将输出概率和生成的后续视频帧作为步骤(3)中损失函数的输入,计算损失函数lg和ld,通过反向传播的方式对生成器模型g的参数集αg和判别器模型d的参数集αd进行调整,对模型进行训练;

步骤(6)、经过ite次迭代训练,当生成器模型g和判别器模型d的损失函数值逐步稳定在一个区间范围φ内时,认为生成器模型g和判别器模型d已经达到稳定状态,即可完成训练,在完成对生成器模型g和判别器模型d的训练后,即可得到生成器模型g的参数集αg和判别器模型d的参数集αd,可以将输入视频帧序列输入到生成器模型g中,由生成器模型g对进行后续视频帧序列进行生成。

图5a~f是使用本方法生成的后续视频帧的一组实例结果。本实例选择输入视频帧图像长度l等于4,输出视频帧图像长度t等于1,选择驾驶场景为内容的视频序列作为本实例的输入视频帧序列,如该图所示,图5(a)是输入视频序列的第1帧,图5(b)是输入视频序列的第2帧,图5(c)是输入视频序列的第3帧,图5(d)是输入视频序列的第4帧,图5(e)为真实的后续视频帧,图5(f)为使用图5(a)-(d)图像作为本发明方法的输入,进入生成器模型g生成的下一帧视频帧图像,可以看出,本发明方法能够有效的对视频帧序列进行生成,同时保留了大量细节信息,使得生成结果更加贴近实际的结果。

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