基于自监督深度学习的光场图像深度恢复方法及系统
阅读说明:本技术 基于自监督深度学习的光场图像深度恢复方法及系统 (Light field image depth recovery method and system based on self-supervision depth learning ) 是由 晏涛 张帆 于 2020-06-10 设计创作,主要内容包括:本发明公开一种基于自监督深度学习的光场图像深度恢复方法及系统,所述方法,包括:根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量;根据所述每张图像的多维特征确定预处理图像组的拟合成本量;根据所述拟合成本量确定每张图像的最优标签,生成图像组的每张图像的视差图。本方案,可有效恢复光场图像中全视点的光场深度,准确高效,填补了本领域的一大技术空白。(The invention discloses a light field image depth recovery method and a light field image depth recovery system based on self-supervision depth learning, wherein the method comprises the following steps: extracting the multidimensional characteristics of each image according to the three-dimensional polar plane image of the preset image group to obtain the characteristic tensor of each image; determining the fitting cost amount of the preprocessed image group according to the multidimensional characteristics of each image; and determining the optimal label of each image according to the fitting cost quantity, and generating a disparity map of each image in the image group. The scheme can effectively recover the light field depth of the full viewpoint in the light field image, is accurate and efficient, and fills a technical gap in the field.)
技术领域
本发明涉及计算机图像处理技术领域,尤其涉及一种基于自监督深度学习的光场图像深度恢复方法及系统。
背景技术
随着计算设备与传感器的成本逐渐下降,计算机视觉技术正在蓬勃发展。计算机视觉技术试图模拟生物视觉特征,如颜色、物体形态、运动视差、聚焦深度等,然后使用相应的成像设备记录周围场景的视觉信息。由于观众对目标场景三维结构的感知,多视点计算机视觉系统越来越受到工业界的关注。
而光场(Light Field)是多视点计算机视觉系统中重要的表达形式,其中蕴含了丰富的场景结构信息。光场可以被解码作一系列子孔径图像,各图像之间的视点位置稍有不同,其变化可以反应被摄场景的结构。光场在恢复场景深度,相片重聚焦和视点合成方面较传统的2D视觉系统有独特的优势。因此对于大多数光场应用而言,深度估计--即如何从图像中获取对应像素的深度信息,作为大多数光场应用的预处理过程,是一个至关重要的问题。
然而,由于大多数商用和手持光场相机只有很低的空间分辨率,在角度空间的采样间隔很窄,因此准确的光场全视点深度恢复仍然很困难。主流的深度估计算法仅生成中央子孔径的准确深度图,其结果仅包含大概五十万个像素。这样的深度结果不足以为后续更高级的应用,例如超分辨率,重新聚焦和3D重建带来高质量的成果。因此,全视点的光场深度恢复仍是重要的。为了填补上述领域的空白,本设计提出了一种自监督的深度神经网络的方法来恢复光场全视点的深度图。
发明内容
本发明实施例提供一种基于自监督深度学习的光场图像深度恢复方法及系统,以解决现有技术中缺少一种全视点的光场深度恢复的技术方案的技术问题。
第一方面,根据本发明实施例提供的一种基于自监督深度学习的光场图像深度恢复方法,包括:
根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量;
根据所述每张图像的多维特征确定预处理图像组的拟合成本量;
根据所述拟合成本量确定每张图像的最优标签,生成图像组的每张图像的视差图。
在一个实施例中,所述方法,还包括:
对所述视差图进行评估;
若评估结果不满足预设要求,则通过评估结果对预设网络模型的参数进行训练优化。
在一个实施例中,在通过损失函数对所述视差图进行评估之前,所述方法,还包括:
设置成本量计算函数,及损失函数;
通过设置的成本量计算函数对每张图像的每个像素的成本量进行计算,得到每张图像的第一成本量值;
所述对所述视差图进行评估,包括:
通过所述损失函数根据图像第一成本量对相应图像的拟合成本量进行评估。
在一个实施例中,所述根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量,包括:
采用四层残差网络对提取的预设图像组中的每张图像的多维特征进行处理,得到每张图像的特征张量。
在一个实施例中,所述根据所述每张图像的多维特征确定预处理图像组的拟合成本量,包括:
采用预设拟合网络,根据每张图像的多维特征确定预处理图像组的拟合成本量。
第二方面,根据本发明实施例提供的一种基于自监督深度学习的光场图像深度恢复系统,包括:
提取模块,用于根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量;
拟合模块,用于根据所述每张图像的多维特征确定预处理图像组的拟合成本量;
生成模块,用于根据所述拟合成本量确定每张图像的最优标签,生成图像组的每张图像的视差图。
在一个实施例中,还包括:
评估模块,用于对所述视差图进行评估;
优化模块,若评估结果不满足预设要求,则通过评估结果对预设网络模型的参数进行训练优化。
在一个实施例中,还包括:
设置模块,用于设置成本量计算函数,及损失函数;
计算模块,用于通过设置的成本量计算函数对每张图像的每个像素的成本量进行计算,得到每张图像的第一成本量值;
所述评估模块,还用于:
通过所述损失函数根据图像第一成本量对相应图像的拟合成本量进行评估。
在一个实施例中,所述提取模块,用于:
采用四层残差网络对提取的预设图像组中的每张图像的多维特征进行处理,得到每张图像的特征张量。
在一个实施例中,所述拟合模块,还用于:
采用预设拟合网络,根据每张图像的多维特征确定预处理图像组的拟合成本量。
本发明实施例提供的基于自监督深度学习的光场图像深度恢复方法及系统,可有效恢复光场图像中全视点的光场深度,准确高效,填补了本领域的一大技术空白。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的一个实施例提供的一种基于自监督深度学习的光场图像深度恢复方法的流程图;
图2为本发明一个实施例通过拟合网络得到拟合成本量的示意图;
图3a为本发明一个实施例通过编解码器得到最优标签的示意图;
图3b为采用传统方法得到最优标签的示意图;
图4为本发明一个实施例提供的一种编解码器的结构示意图;
图5为本发明的一个实施例提供的另一种基于自监督深度学习的光场图像深度恢复方法的流程图;
图6为本发明的一个实施例提供的另一种基于自监督深度学习的光场图像深度恢复系统的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,本发明实施例公开一种基于自监督深度学习的光场图像深度恢复方法,参见图1所示,所述方法,包括:
步骤S12、根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量;
在本发明实施例中,预设图像组为采用光场相机按一次“快门”键所拍摄的一组图片,至于预设图像组中的图像的数量,可根据光场相机单次可拍摄的图像的数量而定,在此对其不做具体的限定。
所述根据预设图像组的三维极平面图像提取每张图像的多维特征,得到每张图像的特征张量,包括:
采用四层残差网络对提取的预设图像组中的每张图像的多维特征进行处理,得到每张图像的特征张量。
在本发明实施例中,使用一组四层的残差网络(ResNet)对图像组中的每张图像提取多维特征得到特征张量T(64×256×256),其中,4D光场表达为LF(x,y,s,t),3D EPI是传统EPI图像(x,t)在y轴上的集合,即I(x,y,t)。相比于传统EPI,3D EPI很好地平衡了4D光场中的大量信息的冗余和数据的可操作性。
步骤S14、根据所述每张图像的多维特征确定预处理图像组的拟合成本量;
采用预设拟合网络,根据每张图像的多维特征确定预处理图像组中的每张图像的拟合成本量。
在本发明实施例中,采用成本拟合网络来得到预设图像组的拟合成本量,作为一个具体实施例,本发明实施例采用的一个具体的拟合网络得到预设图像组的拟合成本量的详细过程可为:
成本量拟合网络使用3D卷积层作为基本的组成单位,即使用三维滤波器处理四维的张量数据:
首先四维张量经过一层卷积核长为3,卷积步长为2的卷积层,作用之一是提取与组合特征,作用之二是使用2步长隔像素对张量进行滤波,以此减小张量在高宽维度的尺寸,以节省计算资源。被隔像素采样的张量将再进入一个卷积核长为1的卷积层,对张量进行进一步的线性组合。上述步骤执行两轮,最终得到形状为(64×D×64×64)的小尺寸四维张量。
然后,四维张量进入密集连接模块进行进一步的计算。密集连接模块包括三个密集连接层,每层的输入是其前面所有密集连接层输出的集合。密集连接层的结构包括特征提取部分和特征组合部分。在特征提取部分,四维张量首先经过批标准化,随后被复制成4份,每份经过不同卷积核长(分别为1,3,5,7)的卷积层,输入特征的维数是原特征维数的1/4。将这四份张量重新组合在一起后,使用ReLU激活函数激活。在特征组合部分,张量经过一个由‘批标准化-核长1的卷积层-ReLU’组成的结构中调整输出特征维数。
在经过密集连接层处理之后,张量使用两组由‘升采样层-核长1的卷积层’组成的升采样结构将自身的尺寸重新扩大到256。得到的张量就是最终拟合到的成本量。具体过程可参见图2所示。
步骤S16、根据所述拟合成本量确定每张图像的最优标签,生成图像组的每张图像的视差图。
传统意义上,使成本量最小的标签dm可为该像素最匹配的视差。然而在弱纹理和边缘区域,成本量的可信度不高,会得到有噪声或者模糊的结果。为了避免成本量不稳定的区域带来噪声等问题,传统方法中通常要增加其他的平滑约束。而本发明实施例中使用一个由编解码器构成的模块,基于拟合成本量重新评估每个像素的最优化标签。图3a展示了本方法的输入数据及输出数据;为了比对,在此列举图3b,以展示传统方法得到最优化标签过程的输入数据和输出数据。通过比对图3a与图3b,可以得出二者的区别。
在本发明实施例中,根据预设图像组的拟合成本量确定每张图像的最优标签,可采用编解码器来进行,编解码器采用的编解码网络参见图4所示,具体为:将得到的拟合成本量作为编解码器的编解码网络的输入张量。输入张量首先经过一个卷积核尺寸为7×7的卷积层提取特征,并经过一个卷积核尺寸为1×1的卷积层将提取的特征进一步组合,得到组合张量。然后,组合张量进入编解码器的编解码网络,编解码器的每一层由inception模块构成。最后,编解码网络将组合张量的尺寸恢复到原始图像的大小。特征维数保留到9,张量代表光场一行视点的视差结果。
在本发明实施例中,在得到每张图像的最优标签之后,将图像组中的图像的最优标签以预设排列方法排布,便得到所述预设图像组的每张图像的视差图。
本发明实施例提供的方法,参见图5所示,还包括:
步骤S108、对所述视差图进行评估;
在本发明实施例中,在对包括四层残差网络、预设拟合网络及编解码网络的整体网络进行训练时,可评估其中部分视差图,如仅评估中间的一行视点图像的视差图,如此可以提高效率。
损失函数由两部分组成,Lc是成本量损失,确保网络预测得到的成本量与相位平移得到的第一成本量尽可能相似,Ld是视差损失,用于在视差层面评估编解码器得到的视差图。
其中C代表网络评估得到的成本量,C′代表使用相位平移得到的第一成本量。(1-C′)是权重系数,保证在第一成本量更低的标签上有更强的约束.
Ldw通过比较原视点图像和投影视点图像之间的差异优化视差,由于损失函数要确保对每个目标变量可导,这里的投影不处理遮挡和黑洞的问题。其中(s0,t0)代表源视点,(s1,t1)代表投影视点。Δs=s1-s0,Δt=t1-t0·d为解码器生成的视差。由于解码器仅生成基于成本量的最优化标签,再投影时需要将d从标签空间线性变换到视差空间得到使用对图像投影。
Ldc确保解码器得到的视差图在整体上与第一成本量最小化的标签一致。d为解码器生成的视差,C′为第一成本量。
Lds是平滑项,将稳定区域的视差转播到不稳定的区域(如边缘或弱纹理区域),并确保处于同一超像素块的视差差异尽可能小。W(p,q)表示像素p,q是否处于同一个超像素块,d(p)代表解码器生成的视差在p像素上的值,d(q)代表解码器生成的视差在q像素上的值。
其中W(p,q)判别像素p,q是否处于同一个超像素块:
Iseg(p)代表p像素的超像素块编号,Iseg(q)代表q像素的超像素块编号。
综合公式(1.3)(1.4)及(1.5),评估网络的视差损失可设置为三项损失的加权和:
Ld=λ1L(dw)+λ2L(dc)+λ3L(ds) (1.6)
步骤S109、若评估结果不满足预设要求,则通过预设网络模型对每张图像的视差图进行优化。
在本发明实施例中,当评估结果Ld不满足预设要求时,则需要对预设网络模型的参数进行训练优化,从而得到满足评估要求的视差图。
在一个实施例中,以预设图像组中包含9*9张照片为例阐述训练过程,具体训练过程为:首先将光场数据分解为9×9的子视点图像阵列,子视点图像分辨率为H×W。考虑到计算效率,图像采用YCbCr的色彩空间,只提取其Y通道输入网络。提取位于u=4的整行视点图像集,组成大小为9×H×W的3D EPI,作为特征提取模块的输入。在最终的表达模块,将3DEPI和像素坐标输入到视差表达模块中,得到9×H×W的对应视点视差图D。根据视差图D,将3D EPI按各视点分别投影到对应的远视点,即可计算损失函数,并按损失函数的取值更新网络参数。根据光场图像的基线(baseline)不同,因此,本方法在成本量损失(式1.1)上使用近视点约束,在投影损失(式1.6)上使用远视点约束。在虚拟数据集上,取中心子孔径周围3×3的视点为近视点,其他作为远视点。在真实场景数据上,取中心子孔径周围5×5的视点为近视点,其他作为远视点.对于损失函数中的加权参数,在使用虚拟场景光场训练时,使λ1=3,λ2=3,λ3=0.05。在使用真实场景训练时,使λ1=3,λ2=3,λ3=0.05。在不同数据集上取不同视点范围和加权参数的原因是,真实场景数据包含在捕获和解码时引入的噪声,并且手持光场相机具有更窄的基线即变化更细微的视差,因此成本量的计算需要更多视点作为参考。
当网络收敛到一定程度,训练过程结束。测试时,依次取u=1至u=9的整行子视点图像集组成3D EPI输入网络,网络输出对应视点的视差。将9组结果整合起来,得到9×9×H×W光场全视点视差图。
在本发明实施例中,在通过损失函数对所述视差图进行评估之前,所述方法,还包括:
设置成本量计算函数,及损失函数;
通过设置的成本量计算函数对每张图像的每个像素的成本量进行计算,得到每张图像的第一成本量值C′;
所述对所述视差图进行评估,包括:
通过所述损失函数根据图像第一成本量值C′对相应图像的拟合成本量C进行评估。
其中,得到第一成本量C′采用图像变换及傅里叶图像变换的平移性质的方法来得到,具体方法可为:
根据图像傅立叶变换的平移性质,图像I与平移后图像Iω存在如下关系:
F(I)eπiω=F(Iω) (2.1)
其中F是傅立叶变换算子。位于(sc,tc)视点的图像I(sc,tc)按一系列视差标签d平移至目标视点(s,t):
用于监督的成本量Cs,t是平移后的一系列图像Ishift(s,t)与原图像I(sc,tc)的差异。因为光场是多视点的,因此根据(s,t)的取值不同,有不同的Cs,t,本设计取近视点上的所有Cs,t并求平均得到最终用于监督网络的第一成本量C′,定义如下:
其中(s,t)取光场近视点坐标。由于相位平移仅在视差值较小的范围有最清晰的结果,平衡时间损耗和计算精度,使用与光场中心视点相近的视点评估成本量。其中,近视点的选取可以依据实际需求进行设定,如在虚拟数据集上,可取中心子孔径周围3×3的视点为近视点,其他作为远视点。而在真实场景数据上,可取中心子孔径周围5×5的视点为近视点,其他作为远视点。
本发明实施例提供的方法,可有效恢复光场图像中全视点的光场深度,准确高效,填补了本领域的一大技术空白。
第二方面,参见图6所示,根据本发明实施例提供的一种基于自监督深度学习的光场图像深度恢复系统,包括:
提取模块61,用于根据预设图像组的三维极平面图像的提取每张图像的多维特征,得到每张图像的特征张量;
拟合模块62,用于根据所述每张图像的多维特征确定预处理图像组的拟合成本量;
生成模块63,用于根据所述拟合成本量确定每张图像的最优标签,生成图像组的每张图像的视差图。
在一个实施例中,还包括:
评估模块,用于对所述视差图进行评估;
优化模块,若评估结果不满足预设要求,则通过评估结果对预设网络模型的参数进行训练优化。
在一个实施例中,还包括:
设置模块,用于设置成本量计算函数,及损失函数;
计算模块,用于通过设置的成本量计算函数对每张图像的每个像素的成本量进行计算,得到每张图像的第一成本量值;
所述评估模块,还用于:
通过所述损失函数根据图像第一成本量对相应图像的拟合成本量进行评估。
在一个实施例中,所述提取模块,用于:
采用四层残差网络对提取的预设图像组中的每张图像的多维特征进行处理,得到每张图像的特征张量。
在一个实施例中,所述拟合模块,还用于:
采用预设拟合网络,根据每张图像的多维特征确定预处理图像组的拟合成本量。
本发明实施例提供的基于自监督深度学习的光场图像深度恢复系统,可有效恢复光场图像中全视点的光场深度,准确高效,填补了本领域的一大技术空白。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。