一种基于动态融合网络的光场深度估计方法
阅读说明:本技术 一种基于动态融合网络的光场深度估计方法 (Light field depth estimation method based on dynamic fusion network ) 是由 朴永日 张淼 张玉坤 吉新新 于 2021-01-20 设计创作,主要内容包括:本发明公开了一种基于动态融合网络的光场深度估计方法,包括以下步骤:确定光场数据集,基于光场数据集确定训练集和测试集;扩充光场数据集;搭建动态融合网络模型;动态融合网络模型由双流网络和一个多模态动态融合模块构成;双流网络由RGB流和焦点堆栈流组成;将双流网络的输出全局RGB特征和焦点特征作为多模态动态融合模块的输入,输出最终深度图;基于训练集训练构建的动态融合网络模型;在所述测试集上测试训练好的动态融合网络模型,并在手机数据集上进行验证。本发明的光场深度估计方法可以获得优于其它光场深度估计方法的精度,减小噪声,保留更多细节信息,且打破了光场相机的限制,成功地应用于普通消费级相机数据。(The invention discloses a light field depth estimation method based on a dynamic fusion network, which comprises the following steps: determining a light field data set, and determining a training set and a test set based on the light field data set; augmenting the light field dataset; building a dynamic fusion network model; the dynamic fusion network model consists of a double-flow network and a multi-mode dynamic fusion module; the dual-stream network consists of RGB streams and a focus stack stream; taking the output global RGB characteristics and the focus characteristics of the double-current network as the input of a multi-mode dynamic fusion module, and outputting a final depth map; training a constructed dynamic fusion network model based on a training set; and testing the trained dynamic fusion network model on the test set, and verifying on the mobile phone data set. The light field depth estimation method can obtain precision superior to other light field depth estimation methods, reduces noise, retains more detailed information, breaks through the limitation of a light field camera, and is successfully applied to common consumer-grade camera data.)
技术领域
本发明涉及光场深度估计技术领域,尤其涉及一种基于动态融合网络的光场深度估计方法。
背景技术
深度估计是理解场景几何关系的重要环节。准确的深度信息在物体跟踪、场景理解、目标检测、自动驾驶和姿势估计等领域中起着重要的作用。传统深度估计利用多个摄像机拍摄的二维图像来获得,随着传感器技术的发展,光场相机作为一种新型的被动式多视角成像设备,通过一次拍摄即可同时获得光辐射的空间信息和角度信息,实现先拍摄后聚焦的独特功能。通过对光线信息的分析处理,可以获取场景的深度信息。
光场深度估计方法可分为三种:基于极线平面图像(EPI)的光场深度估计方法、基于多视角立体匹配的深度估计、基于焦点堆栈的深度估计。相对于前两种方法来说,焦点堆栈充分利用了光场数字重聚焦的优势,隐含的焦点线索可以有效用于深度估计任务中。焦点堆栈图像记录了场景在不同焦距下的聚焦程度,一系列聚焦在不同深度的焦点切片包含了丰富的空间视差信息,能够很好地揭示场景的3维结构。此外,聚焦信息迎合了人眼的视觉系统,可以最大化聚焦于场景中物体。
早期基于焦点堆栈的深度估计研究工作主要旨在通过测量像素的清晰度或聚焦于焦点堆栈的不同图像来确定像素的深度。近年来,随着卷积神经网络的发展,研究者使用CNN来提取有效的聚焦信息进行深度估计,而不是传统的手工提取的特征。通常使用传统的卷积核来学习可扩展到整个焦点堆栈的滤波器,有效提高了光场深度估计的准确度。
但仍存在以下几点挑战:1)使用传统的卷积核的方法会忽略焦点切片之间的空间相关性,从而不能很好地捕获焦点信息,导致预测的深度图中包含大量噪声。单纯使用焦点切片的方法会损失部分细节信息,并且预测的深度图中包含大量噪声。2)焦点切片中具有未知清晰度的失焦区域会导致信息丢失,进而使预测的深度图不连续。考虑到RGB图像具有较高的清晰度,可以用于补偿焦点切片中失焦区域中丢失的数据,因此研究者尝试引入RGB作为指导信息进行多模态信息融合,但是他们仅仅通过简单的乘法操作实现两路特征的静态融合,无法充分利用RGB图像和焦点切片之间的多模态信息。
因此,亟需一种可以有效学习焦点堆栈之间空间关系并且能够动态融合RGB信息和焦点特征的方法。
发明内容
有鉴于此,本发明提供了一种动态融合网络的光场深度估计方法,该方法是一个实用而强大的深度学习解决方案,用于预测场景深度。
本发明采用的技术手段如下:
本发明提供了一种基于动态融合网络的光场深度估计方法,包括以下步骤:
步骤1、获取光场数据集,基于所述光场数据集得到训练集和测试集,所述光场数据集中每个光场样本包括RGB图像、包含多张聚焦于不同深度的焦点切片的焦点堆栈以及与RGB图像相对应的深度图像;
步骤2、对所述光场数据集进行数据扩充;
步骤3、搭建动态融合网络模型;所述动态融合网络模型由双流网络和一个多模态动态融合模块构成;所述双流网络由RGB流和焦点堆栈流组成;所述RGB流以分辨率大小为H×W×3的RGB图像作为输入,输出为全局RGB特征frgb;所述焦点堆栈流以分辨率大小为N×H×W×3的焦点堆栈作为输入,输出为焦点特征h;其中,H和W表示图像的长和宽,N表示焦点切片数量;将双流网络的输出全局RGB特征frgb和焦点特征h作为多模态动态融合模块的输入,输出最终深度图;
步骤4、基于所述训练集训练构建的动态融合网络模型,以真值深度图作为监督信号,计算损失函数;
步骤5、在所述测试集上测试训练好的动态融合网络模型,并在手机数据集上进行验证。
进一步地,对所述光场数据集进行数据扩充,包括:
以处于取值范围[1,1.5]的尺度缩放因子对焦点切片和RGB图像进行尺度缩放;和/或,
以处于取值范围[-5,5]的旋转角度对焦点切片和RGB图像进行旋转变换;和/或,
在范围[0.6,1.4]内通过均匀采样实现亮度,对比度和饱和度的随机变化,以对焦点切片和RGB图像进行颜色变换;和/或,
以50%的概率随机水平对焦点切片和RGB图像进行图像左右翻转。
进一步地,所述RGB流采用编码解码器结构从卷积神经网络的不同层中学习RGB特征;其中,编码器采用预训练的SENet-154网络结构,解码器采用四个上采样层逐步扩大来自编码器的输出特征;优化模块将来自解码器和编码器的特征沿颜色通道级联后送入三个3×3卷积层,最终RGB流输出尺寸为256×256×1的全局RGB特征frgb;
所述焦点堆栈流由一个预编码块和空间金字塔ConvGRU模型组成;首先将焦点堆栈{I1,I2...In}输入到焦点堆栈流进行预编码,其中n代表一个RGB图像对应的焦点切片数,预编码块由四个5×5卷积层组成,以编码焦点特征xi;将编码后的焦点特征xi送入金字塔ConvGRU模型;金字塔ConvGRU将第i个焦点特征xi和来自上一个金字塔ConvGRU的输出hi-1作为输入,通过控制更新门和重置门zi和ri,从输入焦点特征xi和前一输出特征hi-1中有选择地更新多尺度焦点信息;zi和ri利用空间金字塔池化模块编码多尺度聚焦信息,即在具有不同尺度和感受野的多个滤波器上应用空洞卷积;通过组合前一焦点特征hi-1和更新门zi的输出获得候选状态ni;加权得到新的输出特征hi。
进一步地,所述多模态动态融合模块,包括:
根据焦点特征计算内容自适应卷积核参数:
其中,[pi-pj]是具有2D空间偏移的数组的空间尺寸索引,i和j代表像素坐标,W是标准空间卷积,h代表来自焦点堆栈流最后一个金字塔ConvGRU的输出焦点特征;
将生成的内容自适应卷积核K应用于RGB特征,使整个网络动态融合多模态信息输出准确的预测深度图d:
其中,frgb_j代表RGB流的输出,b是偏置,将预测深度图d输入到两个5×5的卷积层中进行优化,输出最终分辨率大小为256×256×1的预测结果。
进一步地,所述损失函数由深度误差对数损失、深度梯度损失和表面法线损失三部分构成;
计算损失函数,包括:
步骤4-1:计算深度误差的对数ldepth,最小化深度估计图di与其真值深度图gi之间的差异:
其中α(>0)是一个超参数,n表示真值深度图中像素值不为0的有效像素点个数;di为像素i处的预测深度值,gi像素i处的真值深度值;
步骤4-2:计算深度梯度损失函数lgrad:
其中▽x(*)是在x的第i个像素处计算的||di-gi||的空间导数,▽y(*)是在y的第i个像素处计算的||di-gi||的空间导数;
步骤4-3:计算预测深度值与真值深度值之间表面法线的精度lnormal:
其中<*,*>表示向量的内积,表示预测深度值的表面法线,表示真值深度值的表面法线;
步骤4-4:动态融合网络光场深度估计模型的损失函数为:
L=ldepth+λlgrad+μlnormal;
其中,λ,μ为加权系数。
进一步地,基于所述训练集训练构建的动态融合网络模型,包括:
将所述训练集送入搭建的动态融合网络模型,根据所述损失函数L,采用Adam优化算法进行训练,模型训练的最大迭代轮数设置为80,获取到最终的模型结果。
进一步地,N取值为12,H取值为256,W取值为256。
进一步地,n取值为12。
进一步地,α取值为0.5。
进一步地,λ取值为1,μ的取值为1。
与现有技术相比,本发明具有以下有益效果:
本发明提出了一种动态融合RGB图像和焦点堆栈之间多模态线索的光场深度估计模型。考虑到不同的焦点切片具有不同尺度的聚焦区域并且聚焦在不同的深度,为了关联焦点线索和深度,本发明提出金字塔ConvGRU模块,以挖掘不同焦点切片之间的空间相关性,从而沿深度方向传递多尺度的焦点信息。随后,本发明提出多模态动态融合模块,以自适应的方式融合多模态特征,在这种融合策略中,RGB特征的卷积核参数随着输入的焦点特征的不同而动态变化,从而在一定程度上避免了深度图中的信息丢失。本发明光场深度估计方法不仅具有能够保留了物体的边缘和细节信息,减少深度估计噪声,而且可以成功应用于普通消费级别相机数据。
基于上述理由本发明可广泛应用于场景深度估计等领域。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种基于动态融合网络的光场深度估计方法的流程图;
图2是本发明实施例中动态融合网络模型的结构示意图;
图3(a)是传统ConvGRU的具体结构图;
图3(b)是本发明实施例中金字塔ConvGRU的结构示意图;
图4(a)是本发明实施例中三种静态融合方法;
图4(b)是本发明实施例中多模态动态融合模块的结构示意图;
图5是各光场深度估计方法在真实光场数据上的对比实验1;
其中,第一列为RGB(经灰度处理),第二列为深度真值,第三列为VDFF方法得到的深度图,第四列为PADMM方法得到的深度图,第五列为DDFF方法得到的深度图,第六列为LF-OCC方法得到的深度图,第七列为LF方法得到的深度图,第八列为EPINET方法得到的深度图,第九列为本发明方法得到的深度图;
图6是各光场深度估计方法在真实光场数据上的对比实验2;
其中,第一列为RGB(经灰度处理),第二列为深度真值,第三列为本发明方法得到的深度图,第四列为VDFF方法得到的深度图,第五列为PADMM方法得到的深度图,第六列为DDFF方法得到的深度图;
图7是各光场深度估计方法在手机数据集上的对比实验;
其中,第一行为RGB(经灰度处理),第二行为本发明方法得到的深度图,第三行为DDFF方法得到的深度图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,其示出了本发明实施例中一种基于动态融合网络的光场深度估计方法的流程示意图,该方法包括以下步骤:
步骤1、获取光场数据集,基于光场数据集得到训练集和测试集;具体实现如下:
(1)使用DUT-LFDD光场数据集作为实验数据集,该数据集包含来自各种室内和室外场景的967个真实世界的光场样本。
每个光场样本包括一个RGB图像,一个包含12张聚焦于不同深度的焦点切片的焦点堆栈{I1,I2...I12}以及一个与RGB图像相对应的深度图像;随机选择其中630个光场样本用于制作训练集,其余337个光场样本用于制作测试集。每个焦点堆栈和对应的RGB图像的空间分辨率大小均为H×W。
(2)使用LFSD数据集作为测试集。该数据集包含Lytro相机捕获的100个光场样本,其中,60个室内和40个室外场景。每个光场样本均由RGB图像,焦点堆栈和深度图组成。
(3)使用手机数据集作为测试集。在自动对焦期间使用手机连续拍摄了640×360像素大小的图像,包含不同场景(括号中的数字为帧数)的焦点堆栈和RGB图像:植物(23)、瓶子(31)、水果(30)、金属(33)、窗口(27)、电话(33)等。对于每个场景,本发明选择12个焦点切片和RGB图像来评估提出的模型。
步骤2、对光场数据集进行数据扩充;
为防止过度拟合问题,对光场数据集中每张焦点切片和RGB图像采用相同的方式进行数据扩充。
扩充光场数据集的具体实现如下:
(1)对焦点切片和RGB图像进行尺度缩放:尺度缩放因子的取值范围为[1,1.5];
(2)对焦点切片和RGB图像进行旋转变换:旋转角度的取值范围为[–5,5];
(3)对焦点切片和RGB图像进行颜色变换:对图像的亮度,饱和度和对比度,分别进行线性变换,线性变换因子的取值范围为[0.6,1.4];
(4)对焦点切片和RGB图像进行图像左右翻转:左右翻转的随机概率为0.5。
上述四种方式可以同时应用,也可以仅采用任一种。
步骤3、搭建动态融合网络模型。
如图2所示,动态融合网络模型由双流网络和一个多模态动态融合模块构成。双流网络由RGB流和焦点堆栈流组成;RGB流以分辨率大小为H×W×3的RGB图像作为输入,输出为全局RGB特征frgb;焦点堆栈流以分辨率大小为N×H×W×3的焦点堆栈作为输入,输出为焦点特征h。其中,H和W表示图像的长和宽,取值为256。N表示焦点切片数量,取值为12。然后,将双流网络的输出全局RGB特征frgb和焦点特征h作为多模态动态融合模块的输入,输出最终深度图。
RGB流和焦点堆栈流具体结构如下:
(1)、RGB流:
RGB流采用编码解码器结构从CNN的不同层中学习RGB特征。其中,编码器采用在ImageNet上预训练的SENet-154网络结构,解码器采用四个上采样层来逐步扩大来自编码器的输出特征。一个优化模块将来自解码器和编码器的特征沿颜色通道级联后送入三个3×3卷积层,最终RGB流输出尺寸为256×256×1的全局RGB特征frgb。
(2)、焦点堆栈流:
焦点堆栈流由一个预编码块和空间金字塔ConvGRU模型组成。
首先将焦点堆栈{I1,I2...In}输入到焦点堆栈流进行预编码,其中n代表一个RGB图像对应的焦点切片数,预编码器由四个5×5卷积层组成以编码焦点特征xi,此过程可以定义为:
fi(Ii;θi)→xi (1)
其中,i表示第i个焦点切片,θi表示预编码层的参数,fi是学习映射函数。
然后,将编码后的焦点特征xi送入金字塔ConvGRU模型来挖掘焦点切片中的空间相关性,从而沿深度方向传递不同焦点切片中的多尺度聚焦信息生成有效焦点特征hi。金字塔ConvGRU将第i个焦点特征xi和来自上一个金字塔ConvGRU的输出hi-1作为输入,通过控制更新门和重置门zi和ri,从输入焦点特征xi和前一输出特征hi-1中有选择地更新多尺度焦点信息。这两个门利用空间金字塔池化模块代替传统的卷积核来编码多尺度聚焦信息,即在具有不同尺度和感受野的多个滤波器上应用空洞卷积。膨胀率分别为1、3和5。
更新门zi和重置门ri定义为:
其中,所有W和b都是可学习的模型参数,σ是S型函数,·和*分别表示元素乘法和卷积。
最后,通过组合前一焦点特征hi-1和更新门zi的输出获得候选状态ni,加权得到新的输出特征hi,该过程可以记为:
ni=tanh(xi*Wxn+ri·hi-1*Whn+bn) (4)
hi=(1-zi)·hi-1+zi·ni (5)
(3)、多模态动态融合模块:
将上述RGB流输出的RGB特征和焦点堆栈流中最后一个金字塔ConvGRU输出的焦点特征作为多模态动态融合模块的输入。具体来说,主要包括如下步骤:
步骤3-1、根据焦点特征计算内容自适应卷积核参数,该过程可以记为:
其中[pi-pj]是具有2D空间偏移的数组的空间尺寸索引,i和j代表像素坐标,W是标准空间卷积,h代表来自焦点堆栈流最后一个金字塔ConvGRU的输出焦点特征。当焦点特征发生变化时,自适应卷积核的参数也将动态变化。
步骤3-2、将生成的内容自适应卷积核K应用于RGB特征,使整个网络动态融合多模态信息输出准确的预测深度图d:
其中,frgb_j代表RGB流的输出,b是偏置。在执行滤波操作之前,滤波器参数取决于焦点特征的内容。最终预测图依赖于RGB特征和可靠的焦点信息。
步骤3-3、将上述输出的深度图d输入到两个5×5的卷积层中进行优化,输出最终分辨率大小为256×256×1的预测结果。
步骤4、基于训练集训练构建的动态融合网络模型,以真值深度图作为监督信号,计算损失函数。
其中,动态融合网络光场深度估计模型的损失函数由深度误差对数损失、深度梯度损失和表面法线损失三部分构成;计算损失函数具体实现如下:
步骤4-1:计算深度误差的对数ldepth,最小化深度估计图di与其真值深度图gi之间的差异,具体公式为:
其中α(>0)是一个超参数,取值为0.5,n表示真值深度图中像素值不为0的有效像素点个数。
步骤4-2:计算深度梯度损失函数lgrad:
其中▽x(*)是在x的第i个像素处计算的||di-gi||的空间导数,▽y(*)是在y的第i个像素处计算的||di-gi||的空间导数。深度梯度损失函数lgrad可处理由卷积神经网络训练引起的边缘失真问题。
步骤4-3:计算预测深度值与真值深度值之间表面法线的精度lnormal:
其中<*,*〉表示向量的内积,表示预测深度值的表面法线,表示真值深度值的表面法线。
步骤4-4:动态融合网络光场深度估计模型的损失函数为:
L=ldepth+λlgrad+μlnormal (11)
其中,λ,μ为加权系数,取值为1。
进一步地,使用训练集训练动态融合光场深度估计网络,具体来说:通过步骤1得到的训练集,送入步骤2中搭建的动态融合光场深度估计网络,根据步骤3中设计的动态融合光场深度估计损失函数L,采用Adam优化算法进行训练,模型训练的最大迭代轮数设置为80,获取到最终的模型结果。
步骤5、在测试集上测试训练好的动态融合网络模型,并在手机数据集上进行验证。
进一步地,将训练好的网络在两个光场数据集和一个手机数据集上进行测试。为适应训练好的网络参数,将其空间分辨率重新尺度化为H×W。
如图3所示,对比传统ConvGRU,本发明提出的金字塔ConvGRU对每个门使用空间金字塔空间池化模块而不是传统卷积,焦点特征在具有不同感受野的滤波器编码并沿深度方向传递。
如图4所示,图4(a)中三种静态融合方法作用于整个图像。当网络参数固定时,卷积核不会随输入像素而变化,从而忽略了多模态之间的关系。图4(b)中,滤波器随焦点特性而变化,然后用于与RGB特征进行卷积,从而避免出现信息丢失。
为证明本发明所提供的方法的优势,将本方法与其他方法在两个光场数据集上进行了两组对比实验,这些方法涵盖了基于深度学习的方法(DDFF,EPINet)和以*标记的非深度学习方法(VDFF*,LF*,PADMM*,LF_OCC*)。对比实验1效果图如图5所示,对比实验2效果图如图6所示。在手机采集的数据集上,本方法与基于焦点堆栈的DDFF进行了对比实验,实验结果如图7所示。从上述图中可明显的观察出本发明所提供的方法深度估计结果深度最准确,更好地保留了物体的边缘信息,具有鲁棒性。而且,本发明能够很好的处理各种挑战性场景,如前景与背景相似,物体表面光滑,场景深度变化大以及复杂的背景等场景。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:一种图形处理方法及装置