图像虚化方法、装置、电子设备及可读存储介质与流程

文档序号:17925229发布日期:2019-06-15 00:22阅读:154来源:国知局
图像虚化方法、装置、电子设备及可读存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种图像虚化方法、装置、电子设备及可读存储介质。



背景技术:

在利用单反相机拍照时,相机会根据聚焦点的远近,实现对不同景深物体的虚化效果。但是智能手机等电子设备由于硬件设备的限制,拍摄的照片只有一个景深,无法实现虚化效果,从而导致拍摄的图像不够真实。

相关技术中,常用的方法是基于双目视觉预测深度和基于分割对背景进行虚化,但是通过双目视觉预测图像中各像素点深度对硬件设备的要求较高,而且计算量复杂,难以实现实时应用;而基于分割的方法则忽略了背景的景深,容易产生真实度较低的背景虚化。另外,目前的单目深度估计是一个不适定问题,例如同一张2d图像可能由无数个不同的3d场景投影得到。为了克服这个难题,经典的方法是利用有意义的单目线索和特征,例如透视和纹理信息、物体大小、物体位置和遮挡等。但是这些方法都需要人工地设计特征提取器,模型预测速度和准确度难以保证。由此可见,相关技术中的图像虚化方法存在对硬件设备要求较高、虚化效果不够理想等技术问题。



技术实现要素:

为克服相关技术中存在的问题,本申请提供一种图像虚化方法、装置、电子设备及可读存储介质。

根据本申请实施例的第一方面,提供一种图像方法,包括:

获取目标图像;

基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

可选地,在所述基于预设的卷积神经网络模型生成所述目标图像的深度图像的步骤之前,还包括:

以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像;

通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。

可选地,所述以所述深度预测模型对应的批量大小为单位,以及每个场景类型对应的权重,从预设的训练图像集中提取已知深度图的训练图像的步骤,包括:

根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;

根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;

根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。

可选地,所述根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像的步骤,包括:

根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数;

针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离;

根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像;

根据所述目标模糊图像确定所述像素点的虚化像素值。

可选地,所述根据所述目标模糊图像确定所述像素点的虚化像素值的步骤,包括:

如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;

根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。

可选地,所述深度预测模型依次包括基础模型,多尺度模型,特征融合层和预测输出层;所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差和/或均方根误差;

其中,所述基础模型,用以提取当前输入图像的特征;

所述多尺度模型,用以针对所述当前输入图像,提取预设尺度的特征图;

所述特征融合层,用以恢复所述当前输入图像的分辨率以及缩减通道数量,并融合基础模型输出的特征;

所述预测输出层,用以获取所述当前输入图像中每个像素点的像素位置深度并输出。

可选地,所述深度预测模型中每个卷积层均为depthwise-pointwise结构。

根据本申请实施例的第二方面,提供一种图像虚化装置,其特征在于,包括:

目标图像获取模块,被配置为获取目标图像;

深度图像获取模块,被配置为基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

虚化处理模块,被配置为根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

可选地,所述装置还包括:

训练图像提取模块,被配置为以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像;

模型训练模块,被配置为通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。

可选地,所述训练图像提取模块,包括:

采样权重确定子模块,被配置为根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;

被抽取概率确定子模块,被配置为根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;

训练图像抽取子模块,被配置为根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。

可选地,所述虚化处理模块,包括:

模糊图像生成子模块,被配置为根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数;

第一距离获取子模块,被配置为针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离;

目标模糊图像获取子模块,被配置为根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像;

虚化像素值获取子模块,被配置为根据所述目标模糊图像确定所述像素点的虚化像素值。

可选地,所述虚化像素值获取子模块,包括:

插值权重确定单元,被配置为如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;

虚化像素值获取单元,被配置为根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。

可选地,所述深度预测模型依次包括基础模型,多尺度模型,特征融合层和预测输出层;所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差和/或均方根误差;

其中,所述基础模型,用以提取当前输入图像的特征;

所述多尺度模型,用以针对所述当前输入图像,提取预设尺度的特征图;

所述特征融合层,用以恢复所述当前输入图像的分辨率以及缩减通道数量,并融合基础模型输出的特征;

所述预测输出层,用以获取所述当前输入图像中每个像素点的像素位置深度并输出。

可选地,所述深度预测模型中每个卷积层均为depthwise-pointwise结构。

根据本申请实施例的第三面,提供一种电子设备,其特征在于,包括:

处理器;

被配置为存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取目标图像;

基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种图像虚化方法,所述方法包括:

获取目标图像;

基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

根据本申请实施例的第五方面,提供一种应用程序,所述应用程序由电子设备的处理器执行时,使得电子设备能够执行一种图像虚化方法,所述方法包括:

获取目标图像;

基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

本申请的实施例提供的技术方案可以包括以下有益效果:本申请实施例通过获取目标图像;基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像,可以降低图像虚化对硬件设备的要求,提高虚化效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起被配置为解释本申请的原理。

图1是根据一示例性实施例示出的一种图像虚化方法的流程图。

图2是根据一示例性实施例示出的另一种图像虚化方法的流程图。

图3是根据一示例性实施例示出的一种深度预测模型的结构示意图。

图4a是根据一示例性实施例示出的一种图像虚化处理效果示意图。

图4b是根据一示例性实施例示出的另一种图像虚化处理效果示意图。

图4c是根据一示例性实施例示出的另一种图像虚化处理效果示意图。

图4d是根据一示例性实施例示出的另一种图像虚化处理效果示意图。

图5是根据一示例性实施例示出的一种图像虚化装置的框图。

图6是根据一示例性实施例示出的一种图像虚化装置的框图。

图7是根据一示例性实施例示出的一种装置的框图。

图8是根据一示例性实施例示出的一种装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种图像虚化方法的流程图,如图1所示,图像虚化方法被配置为终端中,包括以下步骤。

在步骤s11中,获取目标图像。

需要说明的是,本申请实施例中的目标图像可以包括任何一种可以进行虚化处理的图像,例如通过摄像头已拍摄的图片,摄像头的预览图像,或者是摄像头已拍摄视频中的一帧图片,等等。而且,在本申请实施例中,可以通过任何可用方式获取目标图像,对此本申请实施例不加以限定。

在步骤s12中,基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数。

在获取得到目标图像之后,为了提高目标图像的虚化处理效果,可以获取目标图像的深度图像,从而可以基于深度图像,得到目标图像中各个像素点的像素位置深度,进而基于各个像素点的位置深度对相应像素点进行虚化处理,从而可以提高目标图像的虚化效果。其中的像素位置深度可以理解为相应像素点对应的物体到拍摄目标图像的相机平面的距离。

如前述,现有技术是基于双目视觉预测图像中各像素点深度,对硬件设备的要求较高,而且计算量复杂,难以实现实时应用。而在本申请实施例中,为了提高深度图像获取效率,可以通过预设的深度预测模型生成所述目标图像的深度图像。其中,深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络(convolutionalneuralnetworks,cnn)模型,n为自然数。n的具体取值可以根据需求进行预先设置,对此本申请实施例不加以限定。而且场景类型具体所包含的类型,以及训练图像的具体数量也可以根据需求进行预先设置,对此本申请实施例也不加以限定。

例如,可以设置场景类型包括室内场景、室外场景和有人场景,此时n的取值为3。训练图像的具体数量可以设置为807365,另外还可以设置6737帧训练图像以验证训练后的深度预测模型的准确性,其中每帧训练图像的深度图均是已知的。

在获取得到训练图像之后,则可以训练图像作为深度预测模型的输入,以相应训练图像对应的深度图作为深度预测模型的输出,以训练深度预测模型中的参数。

需要说明的是,通过深度预测模型获取目标图像的深度图像,此时对拍摄设备所具有的摄像头数量并没有任何特殊限制。

在步骤s13中,根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

在获取得到目标图像的深度图像之后,则可以基于相应的深度图像对目标图像中各个像素点进行虚化处理,从而可以得到目标图像的虚化图像。此时,根据像素位置深度不同,对相应像素点的虚化处理程度也可以相应有所不同,从而实现对目标图像中不同位置的像素点进行不同程序的虚化处理,进而得到目标图像的虚化图像。

其中,像素位置深度与虚化程序之间的对应关系可以根据需求进行预先设置,对此本申请实施例不加以限定。

本申请实施例通过获取目标图像;基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像,可以降低图像虚化对硬件设备的要求,提高虚化效果。

图2是根据一示例性实施例示出的一种图像虚化方法的流程图,如图2所示,图像虚化方法被配置为终端中,包括以下步骤。

步骤s21,获取目标图像。

步骤s22,以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型下训练图像的采样权重,从预设的训练图像集中提取已知深度图的训练图像。

在实际应用中,已构建的深度预测模型一次性可以输入的训练图像是有限的,可以定义为批量大小(batchsize),在设置训练图像时,不同场景类型下包含的训练图像的数量可能并不一致,如果按照传统方法每次随机从全部的训练图像中选取一个batchsize的图片对深度预测模型进行训练,则可能会出现训练样本不均衡的问题,从而导致训练后的深度预测模型不准确。

因此需要针对不同场景类型之间存在的训练图像数量不均衡问题,针对不同的场景类型设置合适的采样权重。进而可以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像。具体每个场景类型对应的权重可以根据需求进行预先设置,对此本申请实施例不加以限定。batchsize的具体取值也可以根据需求进行预先设置,对此本申请实施例也不加以限定。例如,可以基于模型大小为120m(兆字节)和计算资源为11g(吉字节)显存的限制,设置batchsize为128。

例如,如果场景类型包括上述的室内场景、室外场景、有人场景三种,而且各个场景类型下训练图像的权重依次为a、b和c,且各个场景类型下包含的训练图像的数量分别为d1、d2和d3。那么对于三种场景类型下的每个训练图像被抽取得到的概率依次为a/(a*d1+b*d2+c*d3)、b/(a*d1+b*d2+c*d3)和c/(a*d1+b*d2+c*d3)。那么如果batchsize为128,从每次每个场景类型下抽取的训练图像的数量依次分别为128*d1*a/(a*d1+b*d2+c*d3)、128*d2*b/(a*d1+b*d2+c*d3)、128*d3*c/(a*d1+b*d2+c*d3)。此时,如果为了保证每次抽取的训练图像的均衡性,需要尽可能保证每次从每个场景类型下抽取的训练图像数量一致,也即128*d1*a/(a*d1+b*d2+c*d3)=128*d2*b/(a*d1+b*d2+c*d3)=128*d3*c/(a*d1+b*d2+c*d3)。进而可以推知此时需要d1*a=d2*b=d3*c。

当然,在本申请实施例中,如果将各个场景类型下的训练图像分别设置在不同的训练图像集中,那么则可以根据batchsize的具体取值,每次分别从各个场景类型对应的训练图像集中抽取batchsize/n个训练图像,此时则可以无需设置各个场景类型下的训练图像的采样权重。

可选地,在本申请实施例中,所述步骤s22进一步可以包括:

步骤s221,根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;

如上述分析可知,如果尽可能提高抽取的训练图像在各个场景类型下的均衡性,可以设置每个场景类型对应的权重满足d1*a=d2*b=d3*c,那么此时则可以根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重。其中,每个场景类型对应的采样权重与该场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量之间的对应关系可以根据需求进行预先设置,对此本申请实施例不加以限定。

例如,对于上述的场景类型:室内场景、室外场景、有人场景,以及各个场景类型下包含的训练图像的第一数量分别为d1、d2和d3。那么可以设置室内场景的采样权重a为(d1+d2+d3)/d1,室外场景的采样权重b为(d1+d2+d3)/d2,有人场景的采样权重c为(d1+d2+d3)/d3。

步骤s222,根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;

在确定每个场景类型的采样权重之后,则可以进一步基于每个所述场景类型的采样权重,确定相应场景类型下的每个训练图像的被抽取概率。

例如,对于上述的场景类型:室内场景、室外场景、有人场景,以及各个场景类型下包含的训练图像的第一数量分别为d1、d2和d3,假设各个场景类型的采样权重依次分别为a、b、c。那么对于室内场景类型下的每个训练图像的被抽取概率则可以为a/(a*d1+b*d2+c*d3),对于室外场景类型下的每个训练图像的被抽取概率则可以为b/(a*d1+b*d2+c*d3),对于有人场景类型下的每个训练图像的被抽取概率则可以为c/(a*d1+b*d2+c*d3)。将上述各个场景类型下的采样权重依次带入被抽取概率,可以得到室内场景类型下的每个训练图像的被抽取概率即为1/(3*d1),室外场景类型下的每个训练图像的被抽取概率即为1/(3*d2),有人场景类型下的每个训练图像的被抽取概率即为1/(3*d3)。

因此,在本申请实施例中,也可以直接设置各个场景类型下的每个训练图像的被抽取概率为1/(n*d),其中n即为场景类型总数量,d即为相应场景类型下包含的训练图像的第一数量。那么此时则可以无需先设置各个场景类型的采样权重,而可以直接根据各个场景类型下包含的训练图像的第一数量,以及场景类型总数量,确定相应场景类型下的每个训练图像的被抽取概率。

步骤s223,根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。

此时基于各个训练图像的被抽取概率,则可以深度预测模型的批量大小为单位,从训练图像集中抽取每次训练时所需的训练图像。此时由于不同场景类型下的训练图像的被抽取概率与相应场景类型下所包含的训练图像的第一数量有关,那么第一数量的数值越小,相应场景类型下的训练图像的被抽取概率越大,从而可以提高抽取得到的训练图像的均衡性,进而提高深度预测模型的训练效果。

步骤s23,通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。

在每次抽取得到训练图像之后,则可以通过当前抽取得到的训练图像训练深度预设模型,直至深度预测模型的预测误差满足预设误差阈值。其中的预设误差阈值可以根据需求进行预先设置,对此本申请实施例不加以限定。例如,可以设置预设误差阈值为小于等于100%,等等。

此时,可以在每次基于当前抽取的训练图像对深度预测模型进行训练完成后,利用另外一批已知深度图的训练图像获取当前训练后的深度预测模型的预测误差,进而比较当前预测误差是否满足预设误差阈值,如果当前预测误差满足预设误差阈值,则可以不再继续训练深度预测模型,而可以基于当前训练得到的深度预测模型获取目标图像的深度图像;而如果当前预测误差不满足预设误差阈值,则可以返回步骤s22,或者返回步骤s223,重新抽取训练图像并训练深度预测模型,直至深度预测模型的预测误差满足预设误差阈值。

其中深度预测模型的预测误差的计算方式可以根据需求进行预先设置,对此本申请实施例不加以限定。例如,可以设置预测误差包括但不限于相对误差(meanrelativeerror)、均方根误差(rootmeansquarederror),等等。

步骤s24,基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数。

步骤s25,根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数。

为了方便根据像素位置深度对目标图像中每个像素点进行虚化处理,可以根据目标图像的深度图像,针对目标图像生成模糊程度依次加深的m个模糊图像,其中m的取值可以根据需求进行预先设置,对此本申请实施例不加以限定。而且,在本申请实施例中,可以通过任何可用方式生成模糊图像,对此本申请实施例也不加以限定。例如,可以利用高斯模糊针对所述目标图像生成模糊程度依次加深的m个模糊图像,等等。而且m个模糊图像具体的模糊程度也可以根据需求进行预先设置,对此本申请实施例也不加以限定。

步骤s26,针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离。

在实际应用中,针对同一场景进行拍照时,对焦深度不一样,那么拍摄得到的图像的虚化程度也相应可以不一致,从而可以针对不同对焦深度针对同样的目标图像生成虚化效果不完全一致的虚化图像。其中的对焦深度可以由拍摄者根据需求进行自定义设置,对此本申请实施例不加以限定。那么,为了可以基于当前的对焦深度生成不同的虚化效果,可以针对目标图像中的每个像素点,根据目标图像的深度图像,获取每个像素点的像素位置深度和当前设置的对焦深度之间的第一距离。

步骤s27,根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像。

进而可以根据第一距离,从预先生成的m个模糊图像中获取目标图像中每个像素点对应的目标模糊图像。其中,可以根据各个模糊图像的模糊程度预先设置模糊图像与距离取值之间的对应关系,对此本申请实施例不加以限定。

例如,如果预先生成6张模糊图像,按照模糊程序依次加深的顺序排序依次为p1、p2、p3、p4、p5和p6。目标图像每个像素点可以选择这6张模糊图像中的至少一个模糊程度。如果设置像素位置深度与对焦深度的差值绝对值,也即第一距离为1米的像素点对应p1,第一距离为2米的像素点对应于p2,而第一距离大于1米且小于2米的像素点对应于p1和p2,以此类推。那么如果对焦深度为3m,深度值为2和4m的像素点采用p1,深度1m和5m的像素采用第p2,深度为1.5时,可以选择p1和p2平均得到。这样就可以保证3m的像素是清晰的,而其他位置像素点则可以按与3m的距离依次选择模糊更大的。

步骤s28,根据所述目标模糊图像确定所述像素点的虚化像素值。

在确定了目标图像中各个像素点对应的目标模糊图像之后,则可以根据各个像素点对应的目标模糊图像确定相应像素点的虚化像素值。具体的虚化像素值与目标模糊图像之间的对应关系可以根据需求进行预先设置,对此本申请实施例不加以限定。

例如,如果某一像素点pixel_1对应一个目标模糊图像,那么则可以直接获取目标模糊图像中对应像素点pixel_1的位置处的像素值作为相应像素点pixel_1的虚化像素值;而如果某一像素点pixel_2对应多个目标模糊图像,则可以获取多个目标模糊图像中对应像素点pixel_1的位置处的像素值的加权和作为相应像素点pixel_1的虚化像素值,此时各个目标模糊图像的权值可以根据需求进行预先设置,对此本申请实施例不加以限定。

可选地,在本申请实施例中,所述步骤s28进一步可以包括:

步骤s281,如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;

如前述,在实际应用中,可能存在对应多张目标模糊图像的像素点,那么为了提高根据相应的多张目标模糊图像确定相应像素点的虚化像素值的准确性,可以根据相应像素点的像素位置深度与对焦深度之间的第一距离,确定各个目标模糊图像的插值权重。其中插值权重与第一距离之间的对应关系可以根据需求进行预先设置,对此本申请实施例不加以限定。

例如,对于上述的6张模糊图像,按照模糊程序依次加深的顺序排序依次为p1、p2、p3、p4、p5和p6,第一距离为1米的像素点对应p1,第一距离为2米的像素点对应于p2,而第一距离大于1米且小于2米的像素点对应于p1和p2,以此类推。那么对于对应多张目标模糊图像的像素点,可以设置相应像素点对应的模糊程度较高的目标模糊图像的插值权重为相应像素点对应的第一距离与小于该第一距离的最大正整数的差值,而相应像素点对应的模糊程度较低的目标模糊图像的插值权重为相应像素点对应的第一距离与大于该第一距离的最小正整数的差值绝对值。假设某一像素点对应的第一距离为1.7,那么该像素点对应的目标模糊图像为p1和p2,且p1的插值权重为0.3,而p2的差值权重为0.7。

步骤s282,根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。

对于对应多张目标模糊图像的像素点,在得到其对应的多张目标模糊图像的插值权重之后,则可以根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。

具体的,可以根据各个目标模糊图像对应的插值权重,对相应目标模糊图像中对应相应像素点处的像素值进行加权求和,进而得到相应像素点的rgb(red、green、blue,红、绿、蓝三色)值作为其虚化像素值,等等。

可选地,如图3所示,在本申请实施例中,所述深度预测模型依次包括基础模型(basemodel),多尺度模型(multi-scalemodel),特征融合层(featurefuselayer)和预测输出层(predictionlayer);所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差(meanrelativeerror)和/或均方根误差(rootmeansquarederror)。而且图3中所示的conv2d表示卷积层。

其中,所述基础模型,用以提取当前输入图像的特征,以为multi-scalemodel提供特征;而且特征可以包括但不限于相应图像从底层到高层的特征,例如,底层特征可以包括图像的边缘、角点、纹理和颜色信息等;中层特征可以包括图像的几何信息,如圆形、矩形、三角形等结构;而高层特征则可以包括图像的语义信息,比如人物、建筑、天空等等。

所述多尺度模型,用以针对所述当前输入图像,提取预设尺度的特征图。其中的预设尺度可以根据需求进行预先设置,对此本申请实施例不加以限定。提取不同尺度的特征图,主要是为了考虑相应图像中局部信息和全局信息,特征图中的每一个像素位置记录了该点在原图上感受野在整幅图像上的相对关系,这样可以为featurefuselayer和predictionlayer提供局部特征信息和全局特征信息。

例如,图3所示的深度预测模型,在multi-scalemodel中,可以设置四个卷积模块的特征图大小分别为16x16,8x8,4x4和1x1,在大尺度上由于每一个像素对应到原图的感受野很小,而且图片缩小就相当于把图片远离人眼,那么看到的视野更大,反之,视野变小,所以主要是局部特征,而8x8和4x4同样是更大感受野上的局部特征,即每个像素看到的原图范围更大,1x1则是全局特征,局部特征可以反映局部区域各个位置的(相对)远近关系,如一张床的床头和床尾的远近关系,全局特征可以衡量图像中各个位置局部特征的远近关系,如屋子里,每个家具的远近关系,这对深度估计的预测非常重要。

所述特征融合层,用以恢复所述当前输入图像的分辨率以及缩减通道数量,并融合基础模型输出的特征,从而可以兼顾底层到高层特征。

由于basemodel过程每做一次卷积,特征图的通道数会相应变厚2倍,而通道的长宽尺寸则会相应缩小一半,因此在featurefuselayer会每做一次卷积则会将通道数缩小一半,并将长宽尺寸放大一倍,但是通道尺寸缩小和放大的过程会损失较多信息,因此会将之前对应层,即通道数相等,尺寸相同的特征图进行融合。具体的融合方式可以根据需求进行预先设置,对此本申请实施例不加以限定。例如可以采用相加的融合方式,可以减少计算量。这个过程中从小图放大的部分是从高层特征来的,而加和的之前对应层则是低层特征,因此这种方式同时利用了底层特征和高层特征,从而保证了有用信息不丢失。也可以说越靠近输入的是低层特征,越靠近输出的是高层特征,本方案通过在输出端融合了低层特征,从而可以提高预测精度。

所述预测输出层,用以获取所述当前输入图像中每个像素点的像素位置深度,从而得到目标图像的深度图像并输出。

另外,由于正常3x3卷积的卷积核大小为3x3xinxout,其中in是输入通道,out是输出通道,则其计算量是3x3xinxout,而本申请实施例中可以设置深度预测模型中每个卷积层均为depthwise-pointwise结构,那么此时的深度预测模型的结构是先做逐通道的3x3卷积,再做1x1的正常卷积扩充到out通道数,其的计算量只有3x3xin+1x1xout,计算量一般可以减少8~9倍。

而且,在本申请实施例中,还可以设置深度预测模型采用随机梯度下降方法来更新模型的参数,当然也可以采用其他任何可用方法更新模型参数,对此本申请实施例不加以限定。

例如,对于训练后的深度预测模型,假设输入如图3中最左侧所示的目标图像,那么经深度预测模型则可以输出得到如图3最右侧所示的深度图像。

本申请实施例的具体应用场景可以如下:

(1)用户拍摄照片时,用前述的深度预测模型获取出相应照片的深度图像。

(2)根据深度图像,由用户选择要对焦的目标区域形成对应的大光圈图,如图4a、4b所示,对焦点不同,形成不同的大光圈效果;

(3)当对焦位置确定后,用户可以通过调整光圈值大小,形成不同景深效果的图片,如图4a、4c所示;

(4)当对焦位置确定后,用户也可以通过调整对焦点大小,形成不同清晰范围的图片,如图4a、4d所示。

其中,focus与橘色框代表对焦位置,焦距范围0~1,位置变动时,该数值会发生变化;blur代表光圈值大小,光圈范围0~1,值越大代表光圈值越大,光圈越大,景深越浅,背景越模糊;range代表对焦框大小,对焦框范围0~1,值越大,代表对焦区域越大,清晰范围越大。

本申请实施例通过获取目标图像;基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像,可以降低图像虚化对硬件设备的要求,提高虚化效果。

而且,在本申请实施例中,还可以以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像;通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。并且,根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。以及,所述深度预测模型依次包括基础模型,多尺度模型,特征融合层和预测输出层;所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差和/或均方根误差。所述深度预测模型中每个卷积层均为depthwise-pointwise结构。从而可以进一步提高深度预测模型的准确性,进而提高提图像虚化效果。

另外,在本申请实施例中,还可以根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数;针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离;根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像;根据所述目标模糊图像确定所述像素点的虚化像素值。并且,如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。从而也可以进一步提高图像虚化效果。

图5是根据一示例性实施例示出的一种图像虚化装置框图。参照图5,该装置包括目标图像获取模块31,深度图像获取模块32和虚化处理模块33。

目标图像获取模块31,被配置为获取目标图像;

深度图像获取模块32,被配置为基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

虚化处理模块33,被配置为根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

图6是根据一示例性实施例示出的一种图像虚化装置框图。参照图6,该装置包括目标图像获取模块41,训练图像提取模块42,模型训练模块43,深度图像获取模块44和虚化处理模块45。

目标图像获取模块41,被配置为获取目标图像;

训练图像提取模块42,被配置为以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像;

可选地,在本申请实施例中,所述训练图像提取模块42进一步可以包括:

采样权重确定子模块,被配置为根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;

被抽取概率确定子模块,被配置为根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;

训练图像抽取子模块,被配置为根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。

模型训练模块43,被配置为通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。

深度图像获取模块44,被配置为基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;

虚化处理模块45,被配置为根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像。

可选地,在本申请实施例中,所述虚化处理模块45,进一步可以包括:

模糊图像生成子模块451,被配置为根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数;

第一距离获取子模块452,被配置为针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离;

目标模糊图像获取子模块453,被配置为根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像;

虚化像素值获取子模块454,被配置为根据所述目标模糊图像确定所述像素点的虚化像素值。

可选地,在本申请实施例中,所述虚化像素值获取子模块454,进一步可以包括:

插值权重确定单元,被配置为如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;

虚化像素值获取单元,被配置为根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。

可选地,在本申请实施例中,所述深度预测模型依次包括基础模型,多尺度模型,特征融合层和预测输出层;所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差和/或均方根误差;

其中,所述基础模型,用以提取当前输入图像的特征;

所述多尺度模型,用以针对所述当前输入图像,提取预设尺度的特征图;

所述特征融合层,用以恢复所述当前输入图像的分辨率以及缩减通道数量,并融合基础模型输出的特征;

所述预测输出层,用以获取所述当前输入图像中每个像素点的像素位置深度并输出。

可选地,在本申请实施例中,所述深度预测模型中每个卷积层均为depthwise-pointwise结构。

本申请实施例通过获取目标图像;基于预设的深度预测模型生成所述目标图像的深度图像;所述深度预测模型为通过n个场景类型下已知深度图的训练图像训练得到的卷积神经网络模型,n为自然数;根据所述深度图像对所述目标图像中各个像素点进行虚化处理,得到所述目标图像的虚化图像,可以降低图像虚化对硬件设备的要求,提高虚化效果。

而且,在本申请实施例中,还可以以所述深度预测模型对应的批量大小为单位,根据每个所述场景类型对应的采样权重,从预设的训练图像集中提取已知深度图的训练图像;通过所述训练图像训练所述深度预测模型,直至所述深度预测模型的预测误差满足预设误差阈值。并且,根据每个所述场景类型下包含的训练图像的第一数量,以及全部训练图像的第二数量,确定每个所述场景类型的采样权重;根据每个所述场景类型的采样权重,确定所述场景类型下的每个训练图像的被抽取概率;根据每个所述训练图像的被抽取概率,以所述批量大小为单位,从训练图像集中抽取每次训练的训练图像。以及,所述深度预测模型依次包括基础模型,多尺度模型,特征融合层和预测输出层;所述深度预测模型的损失函数包括reversedhuber损失函数、深度的梯度损失函数和法向量损失函数的加权和,且所述深度的梯度损失函数和所述法向量损失函数的权重均小于reversedhuber损失函数的权重;所述深度预测模型的预测误差包括相对误差和/或均方根误差。所述深度预测模型中每个卷积层均为depthwise-pointwise结构。从而可以进一步提高深度预测模型的准确性,进而提高提图像虚化效果。

另外,在本申请实施例中,还可以根据所述深度图像,针对所述目标图像生成模糊程度依次加深的m个模糊图像,m为自然数;针对所述目标图像中每个像素点,根据所述深度图像获取所述像素点的像素位置深度和对焦深度的第一距离;根据所述第一距离,从所述m个模糊图像中获取所述像素点对应的目标模糊图像;根据所述目标模糊图像确定所述像素点的虚化像素值。并且,如果所述像素点对应多张目标模糊图像,则根据所述第一距离确定每个所述目标模糊图像的插值权重;根据所述目标模糊图像以及所述目标模糊图像的插值权重,针对所述像素点进行插值处理,得到所述像素点的虚化像素值。从而也可以进一步提高图像虚化效果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图7是根据一示例性实施例示出的一种被配置为图像虚化的装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图7,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。

处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。

存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括被配置为在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。

多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,被配置为输出音频信号。

i/o接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件514包括一个或多个传感器,被配置为为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,被配置为在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,被配置为执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图8是根据一示例性实施例示出的一种被配置为图像虚化的装置600的框图。例如,装置600可以被提供为一服务器。参照图8,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,被配置为存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述方法。

装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(i/o)接口658。装置600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

需要说明的是,本申请的执行主体可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务器。当电子设备如移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等时,如图5所示。当电子设备是服务器时,如图6所示。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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