发明内容
本公开的主要目的是提供一种生成视频的方法,装置,存储介质及电子设备,用以解决现有技术中存在的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种生成视频的方法,所述方法包括:
将源视图的三原色图像输入深度及语义网络,得到所述深度及语义网络输出的深度图以及语义图;
将所述语义图以及所述三原色图像输入特征编码器网络,得到所述特征编码器网络输出的特征图;
针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与所述深度图,对所述语义图和所述特征图分别进行变换,得到对应于每一所述位姿变换矩阵的目标语义图和目标特征图,所述多个连续的位姿变换矩阵是所述源视图相对于多个连续的图像帧的分别的位姿变换矩阵;
根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧,其中,每一所述图像帧和所述源视图是同一对象不同视角的图像;
将所述多个连续的图像帧合成为视频。
可选地,所述针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与所述深度图,对所述语义图和所述特征图分别进行变换,包括:
分别针对所述特征图以及所述语义图中的每一像素通过如下公式计算该像素在第一图像帧中的坐标:
[pt]=dK[R|t]K-1[ps]
[R|t]=[Rs|ts]-1[Rt|tt]
其中,d代表所述深度图中该像素处的深度值,K代表相机的内参,[R|t]代表所述源视图相对所述第一图像帧的位姿变换矩阵,R代表旋转,t代表平移,[Rs|ts]、[Rt|tt]分别代表所述源视图及所述第一图像帧下相机在世界坐标系下的位姿,ps表示该像素在所述源视图下的坐标,pt表示该第一图像帧下的坐标。
可选地,所述根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,包括:
根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图进行优化处理,所述优化处理包括:孔洞填充以及扭曲校正;
根据对应于每一所述位姿变换矩阵的优化后的所述目标语义图和优化后的所述目标特征图,分别生成所述图像帧。
可选地,所述根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧包括:
针对对应于每一所述位姿变换矩阵的目标语义图和目标特征图,将该目标语义图和该目标特征图输入生成对抗网络中的生成器网络,得到所述对应于该位姿变换矩阵的图像帧。
可选地,所述生成对抗网络的损失函数为:
其中,λ
F为超参,用于控制特征匹配损失
的重要程度,λ
W为超参,
表示图像判别器网络中的图像损失,所述图像判别器网络的损失函数为:
表示视频判别器网络中的图像损失,所述视频判别器网络的损失函数为:
并且,所述特征匹配损失的函数为:
其中G代表生成器网络,D代表判别器网络,D
k代表多尺度的判别器网络,k代表所述多尺度的判别器网络的数目,D
1,D
2分别代表两个不同尺度的所述多尺度的判别器网络,
代表所述图像判别器网络中的第k个所述多尺度的判别器网络,
代表所述视频判别器网络中的第k个所述多尺度的判别器网络,s代表源视图,x代表目标视图,n代表感知机的层数,N
i代表每层元素的数目,
代表第i层特征提取器对应的多尺度判别器网络D
k,|| ||
1代表1范数,GAN代表生成对抗网络;
其中,T代表图像序列的数目,w
t、
分别代表图像序列中第t帧与第t+1帧之间的真实光流与预测光流,x
t+1代表t+1帧的图像,
代表结合光流信息,将x
t帧图像映射到x
t+1帧对应的图像;
所述生成对抗网络的训练是通过如下公式对所述损失函数进行最大化和最小化的交替训练:
根据本公开实施例的第二方面,提供一种生成视频的装置,所述装置包括:
第一获取模块,用于将源视图的三原色图像输入深度及语义网络,得到所述深度及语义网络输出的深度图以及语义图;
第二获取模块,用于将所述语义图以及所述三原色图像输入特征编码器网络,得到所述特征编码器网络输出的特征图;
变换模块,用于针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与所述深度图,对所述语义图和所述特征图分别进行变换,得到对应于每一所述位姿变换矩阵的目标语义图和目标特征图,所述多个连续的位姿变换矩阵是所述源视图相对于多个连续的图像帧的分别的位姿变换矩阵;
生成模块,用于根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧,其中,每一所述图像帧和所述源视图是同一对象不同视角的图像;
合成模块,用于将所述多个连续的图像帧合成为视频。
可选地,所述变换模块包括:
计算子模块,用于分别针对所述特征图以及所述语义图中的每一像素通过如下公式计算该像素在第一图像帧中的坐标:
[pt]=dK[R|t]K-1[ps]
[R|t]=[Rs|ts]-1[Rt|tt]
其中,d代表所述深度图中该像素处的深度值,K代表相机的内参,[R|t]代表所述源视图相对所述第一图像帧的位姿变换矩阵,R代表旋转,t代表平移,[Rs|ts]、[Rt|tt]分别代表所述源视图及所述第一图像帧下相机在世界坐标系下的位姿,ps表示该像素在所述源视图下的坐标,pt表示该第一图像帧下的坐标。
可选地,所述生成模块包括:
优化子模块,用于根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图进行优化处理,所述优化处理包括:孔洞填充以及扭曲校正;
第一生成子模块,用于根据对应于每一所述位姿变换矩阵的优化后的所述目标语义图和优化后的所述目标特征图,分别生成所述图像帧。
可选地,所述生成模块还包括:
第二生成子模块,用于针对对应于每一所述位姿变换矩阵的目标语义图和目标特征图,将该目标语义图和该目标特征图输入生成对抗网络中的生成器网络,得到所述对应于该位姿变换矩阵的图像帧。
可选地,所述生成对抗网络的损失函数为:
其中,λ
F为超参,用于控制特征匹配损失
的重要程度,λ
W为超参,
表示图像判别器网络中的图像损失,所述图像判别器网络的损失函数为:
表示视频判别器网络中的图像损失,所述视频判别器网络的损失函数为:
并且,所述特征匹配损失的函数为:
其中G代表生成器网络,D代表判别器网络,D
k代表多尺度的判别器网络,k代表所述多尺度的判别器网络的数目,D
1,D
2分别代表两个不同尺度的所述多尺度的判别器网络,
代表所述图像判别器网络中的第k个所述多尺度的判别器网络,
代表所述视频判别器网络中的第k个所述多尺度的判别器网络,s代表源视图,x代表目标视图,n代表感知机的层数,N
i代表每层元素的数目,
代表第i层特征提取器对应的多尺度判别器网络D
k,|| ||
1代表1范数,GAN代表生成对抗网络;
其中,T代表图像序列的数目,w
t、
分别代表图像序列中第t帧与第t+1帧之间的真实光流与预测光流,x
t+1代表t+1帧的图像,
代表结合光流信息,将x
t帧图像映射到x
t+1帧对应的图像;
所述生成对抗网络的训练是通过如下公式对所述损失函数进行最大化和最小化的交替训练:
根据本公开实施例的第三方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所述方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
采用上述技术方案,通过对应于源视图的连续的位姿序列以及深度图,将源视图的语义图以及特征图进行几何变换,可以分别得到连续的多个目标语义图和连续的多个目标特征图,然后再分别将该多个目标语义图以及其对应的目标特征图合成多个连续的图像帧。再将这些连续的图像帧合成视频。采用这种方法,利用源视图的深度图,语义图和特征图可以推测出不可见区域的三维结构,并保持其真实的纹理,从而使生成的图像帧更加清晰和逼真。如此,使用这种方法生成的视频更加逼真,稳定性更好。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开的说明书和权利要求书以及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。
为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面首先对本公开涉及到的相关概念进行简单介绍。
计算机视觉,是指使用计算机及相关设备对生物视觉进行模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息。更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量的机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
视角,是指视线与显示器等的垂直方向所成的角度。具体是指,在观察物体时,从物体两端(上、下或左、右)引出的光线在人眼的光心处所成的夹角。
变视角图像,是指针对同一三维场景,由不同视角所映射的该三维场景的图像。
三原色图像,是指RGB(Red Green Blue,简称RGB)图像,由红、绿、蓝三个颜色通道组成的图像。
深度图,深度图像也称为距离影像,是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像。它直接反应了场景中景物可见表面的几何形状,即是说,深度图像是物体的三维表示形式。
语义图,是指机器自动分割并识别出图像中的内容。具体是指从像素级别上将图像中的不同物体进行分割,并标注其代表的物体分类以及定位与检测该物体在图像中的位置。
特征图,在卷积神经网络中的每个卷积层中,数据都是以三维形式存在的。可以把它看成许多个二维图片叠在一起,其中每一个称为一个特征图。也就是说,在卷积神经网络的每一层中对图像进行多种角度的描述,具体指用不同的卷积核对图像进行卷操作,得到不同的核(该核可以理解为上述的描述)上的响应,作为图像的特征。即是说特征图是卷积核卷出来的结果。
位姿,是指图像中的物体在指定坐标系中的位置和姿态,描述了物体的相对位置和相对运行轨迹。不同的视角下的图像具有不同的位姿。
孔洞,是指图像经过处理后,出现像素无值或极值的区域。例如二值图像内部八连通点阵组成的闭合圈内的像素点集。
双线性插值法,也称双线性内插法,其是使用邻近的4个点的像元值,按照其距内插点的距离赋予不同的权重,进行线性内插。该方法具有平均化的低通滤波效果,边缘受到平滑作用,而产生一个比较连贯的输出图像。
重采样,是指根据一类像元的信息内插出另一类象元信息的过程。是一种影像数据处理方法。即影像数据重新组织过程中的灰度处理方法。影像采样是按一定间隔采集影像灰度数值的,当阈值不位于采样点上的原始函数的数值时,就需要利用已采样点进行内插,称为重采样。
预训练,就是指预先训练的一个模型或者指预先训练模型的过程。
鲁棒性,是指控制***在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。
稳定性,是指控制***在使它偏离平衡状态的扰动作用消失后,返回原来平衡状态的能力。
时空一致性,在时间和空间上具有一致性的特征。
光流的预测,是利用图像序列中的图像的像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。
本公开实施例提供一种生成视频的方法,如图1所示,该方法包括:
S101、将源视图的三原色图像输入深度及语义网络,得到所述深度及语义网络输出的深度图以及语义图。
使用预训练好的深度及语义网络对源视图进行处理,获取该源视图对应的语义图和深度图。具体地,使用预训练好的语义分割和深度预测网络对源视图进行语义分割和深度预测,其中语义分割和深度预测网络可以是深度神经网络,例如可以是卷积神经网络。
示例地,将源视图输入深度及语义网络中,通过一个3×3的卷积核对图像进行卷积处理操作,然后该卷积层输出一个新的图像的二维数据。并且值得说明的是,使用同样大小的不同的卷积核对图像进行处理,可以提取图像的不同特征,例如,轮廓、颜色、纹理等。然后将新的二维信息输入下一个卷积层中进行处理。在卷积层之后,将数据输入全连接层,全连接层输出的是一维向量,由于该一维向量代表了图像中物体是该网络中物体分类中的物体的概率,因此通过该网络的语义分割处理,根据全连接层输出的一维向量可以知道该图像中的物体分别代表什么物体。即可以得到上述的语义图。例如,若输入的图像中有一个骑着摩托车的人,那么,经过语义分割后,可以将人和车分割出来,并将图像中人所在的区域标注为人,摩托车所在的区域标注为摩托车。再例如,若输入的图像中有两个人,其中一个人骑着摩托车,经过语义分割后,将图像中的两个人所在区域标注为人,摩托车所在区域标注为摩托车。在一种可能的实现方式中,还可以将骑着摩托车的人标注为人1,将另一个人标注为人2。
值得说明的是,步骤S101中所述的源视图可以是摄像机拍摄的视频中任一的一个图像帧,也可以是摄像机拍摄的单一的图像。
另外,将源视图输入深度及语义网络中,可以获取该图像对应的深度图。深度图像反应了该图像中场景的深度信息。通过获取每一个像素的深度值,可以知道该场景中各点到相机平面的距离,因此,深度图可以直接反应该场景中景物可见表面的几何形状信息。并且,由于密集的图像像素点,根据其密集的深度图信息,可以推测不可见区域物体的三维信息。
S102、将所述语义图以及所述三原色图像输入特征编码器网络,得到所述特征编码器网络输出的特征图。
为了使生成的目标图像帧与源视图在时空上具有连续性,换句话说就是,为了使生成的图像维持源视图中所有景物的原有特征,例如,形状特征、颜色特征、纹理特征以及空间关系特征等,可以使用特征编码器网络来提取源视图中的特征。其中颜色特征描述了图像或图像区域所对应的景物的表面性质;形状特征分为两种,一种是轮廓特征,另一种是区域特征,图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域;空间关系特征,是指图像中分割出来的多个景物之间的相互的空间位置或相对方向关系,这些关系也可分为连接或邻接关系、交叠或重叠关系、包含或包容关系等。
值得说明的是,使用特征编码器提取的特征可以是低维向量,也可以是高维向量,换句话说这些特征可以是底层特征,也可以是高层特征,本公开对此不做限定。具体地,通过特征编码器,获取底层的图像特征,即低维向量表示的边缘信息,然后进行特征组合,得到上层的图像特征,即高维向量表示的高层特征信息。通过特征提取,可以使上述特征图保持源图像的真实特征。
因此,在步骤S102中,通过将语义图和源视图的三原色图像输入特征编码器网络中,可以获取该三原色图像的特征图,该特征图保持了语义图中的每个实例的原有特征信息,其中,实例是指独立的个体,例如上述的人1和人2可以分别为两个实例。
S103、针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与所述深度图,对所述语义图和所述特征图分别进行变换,得到对应于每一所述位姿变换矩阵的目标语义图和目标特征图。
其中,所述多个连续的位姿变换矩阵是所述源视图相对于多个连续的图像帧的分别的位姿变换矩阵,换句话说,多个连续的位姿变换矩阵是多个目标视图相对于源视图的位姿变换矩阵,并且该连续的位姿变换矩阵可以是用户输入的。根据多个连续的位姿变换矩阵中的每一位姿变换矩阵与源视图的深度图,对源视图的语义图和特征图分别进行变换,得到对应于每一位姿变换矩阵的目标语义图和目标特征图。并且,根据连续的位姿变换矩阵得到对应的多个目标语义图和多个目标特征图也具有连续性。
具体地,通过多个连续的位姿变换矩阵,可以获取同一三维场景的不同视角的多个连续的图像,即可以通过位姿变换矩阵可以获取多个目标图像。在一种可能的实施方式中,例如在未知位姿的情况下,可以使用视觉里程计(Visual Odometry,VO)或直接稀疏里程计(Direct Sparse Odometry,DSO)等对图像序列进行处理,以获取每幅图像对应的位姿数据[R|t]={[R|t]1,[R|t]2,…,[R|t]n},其中,[R|t]1代表第一幅图像的位姿,[R|t]n代表第n幅图像的位姿。
可选地,针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与深度图,对语义图和特征图分别进行变换,还可以包括以下步骤:
分别针对特征图以及语义图中的每一像素通过如下公式计算该像素在第一图像帧中的坐标:
[pt]=dK[R|t]K-1[ps]
[R|t]=[Rs|ts]-1[Rt|tt]
其中,d代表所述深度图中该像素处的深度值,K代表相机的内参,[R|t]代表所述源视图相对所述第一图像帧的位姿变换矩阵,R代表旋转,t代表平移,[Rs|ts]、[Rt|tt]分别代表所述源视图及所述第一图像帧下相机在世界坐标系下的位姿,ps表示该像素在所述源视图下的坐标,pt表示该第一图像帧下的坐标。
采用上述的计算方法,可以将源视图的特征图和语义图通过位姿变换矩阵,将源视图的特征图和语义图中的每一个像素点映射到第一图像帧中。其中第一图像帧,可以是上述的多个目标特征图和多个目标语义图中的任一目标图像。因此,在知道图像的位姿序列的情况下,可以根据任意一个位姿对应的图像,得到另一个任意的位姿下的图像。
在一种可能的实现方式中,还可以根据需求,将相邻的两个位姿分割成N等份,例如,将位姿[R|t]1和位姿[R|t]2之间的位姿变化分割成N等份,得到N-1个新位姿数据。然后选取分割后的位姿数据中任意的一个位姿数据作为目标视图的位姿。那么,再通过上述的计算方法,根据源视图的语义图和特征图计算出任意的目标视图的语义图和特征图。这种方法,可以用于向相邻的两个图像帧之间***更多的图像帧。
另外,由于经过位姿变换矩阵变换得到的坐标pt并非整数,因此,还可以使用双线性插值法对4个相邻区域内的数值进行重采样,以使变换后的图像更加平滑。
S104、根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧。
其中,每一所述图像帧和所述源视图是同一对象不同视角的图像。即是说,所述每一所述图像帧和所述源视图是针对同一三维场景的不同位姿下的图像。
在步骤S104中,可以根据一张源视图对应的目标语义图和目标特征图生成图像帧,也可以根据多张源视图对应的目标语义图和目标特征图生成图像帧。例如,在上述步骤S103的实施例中所述的使用上述计算方法,可以用于向相邻的两个图像帧之间***更多的图像帧。那么,也就是说在已知两个图像帧,并向两个图像帧之间***更多的图像时,还可以根据已知的两张图像帧,分别获取同一位姿下的图像。然后将两张同一位姿下的图像合成为一张该位姿下的图像即目标图像帧。这样,通过该两张位姿图像,可以获取到更多的该同一位姿下的图像的特征信息。因此可以使获得的该目标位姿下的图像更加的真实。从而使生成的图像帧更加逼真。
S105、将所述多个连续的图像帧合成为视频。
采用上述方法,通过对应于源视图的连续的位姿序列以及深度图,将源视图的语义图以及特征图进行几何变换,可以分别得到连续的多个目标语义图和连续的多个目标特征图,然后再分别将该多个目标语义图以及其对应的目标特征图合成多个连续的图像帧。再将这些连续的图像帧合成为视频。采用这种方法,利用源视图的深度图,语义图和特征图可以推测出不可见区域的三维结构,并保持其真实的纹理,从而使生成的图像帧更加清晰和逼真。那么,使用该图像帧合成的视频也更加的逼真,提高了视频的稳定性。另外,使用这种方法,由于在源视图的图像之后,生成多个连续的图像帧,因此,这种方法还可以用于向两张连续的图像帧之间***更多的图像帧。例如向视频中的前后两帧中***更多的图像帧。如此,可以使视频包含更多的图像帧,提高了视频的帧率,间接的提高了摄像机的帧率,从而可以使视频更加流畅,提高视频的连续性。
可选地,根据对应于每一位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,还可以包括以下步骤:
根据对应于每一位姿变换矩阵的目标语义图和目标特征图进行优化处理,该优化处理包括:孔洞填充以及扭曲校正;
根据对应于每一位姿变换矩阵的优化后的目标语义图和优化后的目标特征图,分别生成所述图像帧。
在通过位姿变换矩阵变换得到目标语义图和目标特征图的过程中,由于图像中存在不可见区域,即在当前视角下由前景物体遮挡形成的不可见区域,在源视图的视角下不可见区域可能在目标视图的视角下是可见的,那么,变换得到的目标语义图和目标特征图可能会存在像素缺失部分,即孔洞。为解决这一问题,在本公开所述方法中,可以通过优化网络对目标语义图和目标特征图进行孔洞填充。并且,在计算目标语义图和目标特征图中的每个像素点的坐标时,可能出现误差,造成像素点的坐标发生误差,从而使图像中的景物产生扭曲。因此,在本公开所述方法中,可以通过优化处理对扭曲的图像进行校正。具体地,可以采用优化网络对图像进行优化处理,其中优化网络的损失函数为:
其中,
代表优化网络的整体损失,
代表像素L1损失,
代表感知损失,λ代表超参。
对于
可以使用用于大规模图像识别的深度卷积网络(Very deepconvolutional networks for large-scale image recognition,简称VGG网络)来分别提取生成的图像与真实的图像的特征,并计算两者之间的L1损失即平均绝对误差,将该损失作为
的数值。
采用这种方法,将目标语义图和目标特征图进行孔洞填充和扭曲校正,可以使优化后的图像更加逼真。
另外,还需要说明的是,可以采用多种推测的方法,对目标图像帧进行优化。多种推测是指根据多张不同位姿下的源视图进行位姿变换,推测得到多张同一位姿下的目标视图的方法。原因在于,通过不同视角即不同位姿下看见的同一三维场景的信息有所不同,具体的,不同视角观看同一三维场景时,由于视角不同,那么由前景物体遮挡导致的不可见区域有所不同,因此,可以通过目标图像帧的前后的图像帧来对目标图像进行多种推测,这样,可以整合来自不同位姿下的图像的多种信息,对源视图中不可见区域的信息进行更加精准的推测,以使生成的目标图像序列更加逼真,从而使生成的视频更加逼真和流畅。
可选地,根据对应于每一位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧时,还可以包括以下步骤:
针对对应于每一位姿变换矩阵的目标语义图和目标特征图,将该目标语义图和该目标特征图输入生成对抗网络中的生成器网络,得到对应于该位姿变换矩阵的图像帧。
本领域技术人员应该理解,通过生成对抗网络可以合成高分辨率且纹理逼真的图像。具体地,生成对抗网络包含生成器网络和判别器网络。生成对抗网络的目的是生成以假乱真的样本,即使生成器网络生成的样本很真实,达到判别器网络的能力不足以区分真实样本和生成的假样本。其中,在本公开中,此样本是指图像。
可选地,生成对抗网络的损失函数为:
其中,λ
F为超参,用于控制特征匹配损失
的重要程度,λ
W为超参,
表示图像判别器网络中的图像损失,所述图像判别器网络的损失函数为:
表示视频判别器网络中的图像损失,所述视频判别器网络的损失函数为:
并且,所述特征匹配损失的函数为:
其中G代表生成器网络,D代表判别器网络,D
k代表多尺度的判别器网络,k代表所述多尺度的判别器网络的数目,D
1,D
2分别代表两个不同尺度的所述多尺度的判别器网络,
代表所述图像判别器网络中的第k个所述多尺度的判别器网络,
代表所述视频判别器网络中的第k个所述多尺度的判别器网络,s代表源视图,x代表目标视图,n代表感知机的层数,N
i代表每层元素的数目,i代表第几层,
代表第i层特征提取器对应的多尺度判别器网络D
k,|| ||
1代表1范数,GAN代表生成对抗网络;
其中,T代表图像序列的数目,w
t、
分别代表图像序列中第t帧与第t+1帧之间的真实光流与预测光流,x
t+1代表t+1帧的图像,
代表结合光流信息,将x
t帧图像映射到x
t+1帧对应的图像;
所述生成对抗网络的训练是通过如下公式对所述损失函数进行最大化和最小化的交替训练:
值得说明的是,在本方案中采用了多尺度判别器,具体地,采用了多尺度的图像判别器DI和多尺度的视频判别器DV,使用多尺度判别器有助于网络的收敛和加速训练,并且可以减少生成的目标图像上的重复块状区域。
另外,为了保持生成图像帧的时空一致性,同时将源视图图像送入生成对抗网络中,进行光流的预测,比较预测光流与真实光流之间的损失。本领域技术人员应该理解,可以利用卷积网络学习光流(Learning Optical Flow with Convolutional Networks,简称FlowNet)。
采用这种方法,利用生成对抗网络生成的图像帧可以保持三维场景的真实信息,并且使用光流的预测还可以增强生成图像帧与前后图像帧之间的时空连续性。
综上所述,采用本公开所述的方法,以源视图的三原色图像为输入,根据源视图的深度图、特征图、语义图以及与目标视图的位姿变换矩阵,生成任意位姿的图像。并将生成的图像进行优化,再结合光流的预测,可以保持生成图像与源视图的空间一致性。利用源视图的深度图,语义图和特征图可以推测出不可见区域的三维结构,并保持其真实的纹理,从而使生成的图像帧更加清晰和逼真。如此,使用这种方法生成的视频更加逼真,稳定性更好。另外,值得说明的是,本公开所述方法,可以应用于vSLAM建图、VO定位以及3D重建等,本公开对此不作限定。例如,若摄像机采集图像的帧率过低,可能会影响vSLAM的初始化,从而致使vSLAM建图发生中断,导致建图效果差;再例如,VO通过分析处理相关图像序列来确定摄像机拍摄的每帧数据的位置和姿态,若提升摄像机的帧率,则有助于提升VO定位的精度及稳定性;再例如,视觉3D重建主要通过摄像机获取场景中物体图像数据,并对图像进行分析处理,结合计算机视觉及图形学技术,重建物体的三维模型。若采集图像的帧率提高了,可以使得相邻两帧图像的差别很小,这样,可以有助于提高模型的精度。因此,若采用上述的方法,可以实现图像帧间数据的填充,间接提升摄像机的帧率,从而增加视频的连续性及稳定性,进而提升vSLAM、VO、3D重建的精度及鲁棒性。
本公开实施例还提供一种生成视频的装置,用于实施上述方法实施例提供的一种生成视频的方法的步骤。如图2所示,该装置200包括:
第一获取模块210,用于将源视图的三原色图像输入深度及语义网络,得到所述深度及语义网络输出的深度图以及语义图;
第二获取模块220,用于将所述语义图以及所述三原色图像输入特征编码器网络,得到所述特征编码器网络输出的特征图;
变换模块230,用于针对所述源视图的多个连续的位姿变换矩阵中的每一位姿变换矩阵,根据该位姿变换矩阵与所述深度图,对所述语义图和所述特征图分别进行变换,得到对应于每一所述位姿变换矩阵的目标语义图和目标特征图,所述多个连续的位姿变换矩阵是所述源视图相对于多个连续的图像帧的分别的位姿变换矩阵;
生成模块240,用于根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图,分别生成图像帧,得到多个连续的图像帧,其中,每一所述图像帧和所述源视图是同一对象不同视角的图像;
合成模块250,用于将所述多个连续的图像帧合成为视频。
采用上述装置,通过对应于源视图的连续的位姿序列以及深度图,将源视图的语义图以及特征图进行几何变换,可以分别得到连续的多个目标语义图和连续的多个目标特征图,然后再分别将该多个目标语义图以及其对应的目标特征图合成多个连续的图像帧。再将这些连续的图像帧合成为视频。采用这种装置,利用源视图的深度图,语义图和特征图可以推测出不可见区域的三维结构,并保持其真实的纹理,从而使生成的图像帧更加清晰和逼真。如此,使用这种装置生成的视频更加逼真,稳定性更好。另外,由于在源视图的图像帧之后,生成多个连续的图像帧,因此采用这种装置,还可以用于向视频中两张连续或不连续的图像帧之间***更多的图像帧。如此,可以使生成的视频包含更多的图像帧,提高了视频的帧率,间接的提高了摄像机的帧率,从而可以使视频更加流畅,提高视频的连续性。
可选地,如图3所示,变换模块230还包括:
计算子模块231,用于分别针对所述特征图以及所述语义图中的每一像素通过如下公式计算该像素在第一图像帧中的坐标:
[pt]=dK[R|t]K-1[ps]
[R|t]=[Rs|ts]-1[Rt|tt]
其中,d代表所述深度图中该像素处的深度值,K代表相机的内参,[R|t]代表所述源视图相对所述第一图像帧的位姿变换矩阵,R代表旋转,t代表平移,[Rs|ts]、[Rt|tt]分别代表所述源视图及所述第一图像帧下相机在世界坐标系下的位姿,ps表示该像素在所述源视图下的坐标,pt表示该第一图像帧下的坐标。
可选地,如图3所示,生成模块240还包括:
优化子模块241,用于根据对应于每一所述位姿变换矩阵的目标语义图和目标特征图进行优化处理,所述优化处理包括:孔洞填充以及扭曲校正;
第一生成子模块242,用于根据对应于每一所述位姿变换矩阵的优化后的所述目标语义图和优化后的所述目标特征图,分别生成所述图像帧。
可选地,如图3所示,生成模块240还包括:
第二生成子模块243,用于针对对应于每一所述位姿变换矩阵的目标语义图和目标特征图,将该目标语义图和该目标特征图输入生成对抗网络中的生成器网络,得到所述对应于该位姿变换矩阵的图像帧。
可选地,生成对抗网络的损失函数为:
其中,λ
F为超参,用于控制特征匹配损失
的重要程度,λ
W为超参,
表示图像判别器网络中的图像损失,所述图像判别器网络的损失函数为:
表示视频判别器网络中的图像损失,所述视频判别器网络的损失函数为:
并且,所述特征匹配损失的函数为:
其中G代表生成器网络,D代表判别器网络,D
k代表多尺度的判别器网络,k代表所述多尺度的判别器网络的数目,D
1,D
2分别代表两个不同尺度的所述多尺度的判别器网络,
代表所述图像判别器网络中的第k个所述多尺度的判别器网络,
代表所述视频判别器网络中的第k个所述多尺度的判别器网络,s代表源视图,x代表目标视图,n代表感知机的层数,N
i代表每层元素的数目,
代表第i层特征提取器对应的多尺度判别器网络D
k,|| ||
1代表1范数,GAN代表生成对抗网络;
其中,T代表图像序列的数目,w
t、
分别代表图像序列中第t帧与第t+1帧之间的真实光流与预测光流,x
t+1代表t+1帧的图像,
代表结合光流信息,将x
t帧图像映射到x
t+1帧对应的图像;
所述生成对抗网络的训练是通过如下公式对所述损失函数进行最大化和最小化的交替训练:
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的一种生成视频的方法的步骤。
图4是根据一示例性实施例示出的一种电子设备400的框图。如图4所示,该电子设备400可以包括:处理器401,存储器402。该电子设备400还可以包括多媒体组件403,输入/输出(I/O)接口404,以及通信组件405中的一者或多者。
其中,处理器401用于控制该电子设备400的整体操作,以完成上述的一种生成视频的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的一种生成视频的方法的步骤。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的一种生成视频的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器402,上述程序指令可由电子设备400的处理器401执行以完成上述的一种生成视频的方法。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。