物体表面反射属性提取方法、装置、设备及存储介质与流程

文档序号:22968557发布日期:2020-11-19 21:45阅读:149来源:国知局
物体表面反射属性提取方法、装置、设备及存储介质与流程
本申请涉及图像处理
技术领域
,特别涉及一种物体表面反射属性提取方法、装置、设备及一种可读存储介质。
背景技术
:真实物体的三维建模包括三维几何建模和表面反射属性建模。三维几何建模可以利用三维扫描仪进行数据收集,或通过美术工作者利用maya、3dmax等专业的建模软件来进行模型制作。而物体的表面反射属性建模过程十分复杂,不同样本的表面反射属性不尽相同,在表面反射属性建模中存在着诸多难点,如由于输入图像的亮度分布不均匀、分辨率不足、图像细节模糊等因素都会影响生成结果的质量和准确性,如何稳定可靠地生成质量较高、图像细节不丢失的表面反射属性一直是研究难点。目前,对于表面反射属性建模研究的方法主要分为两类:一类是基于传统的数据驱动方法,另一类是基于深度学习的方法。其中,传统的获取物体表面反射属性的方法存在着诸多问题和局限性,例如需要特殊的专业采集仪器进行样本检测、采集过程过于专业和复杂以及不能实现参数化等。近些年来随着人工智能的不断发展,深度学习在三维重建、图像风格迁移、图像超分辨率增强和纹理合成等领域都展现出了不错的效果,也有研究者将神经网络引入到物体表面反射属性建模问题中。基于深度学习的方法则是利用卷积神经网络,对单张图像进行预测,并通过添加各种条件的限制进行性能优化,神经网络会假设输入是一个已知几何形状的均匀物体,并利用自然光照以及图像的先验分布进行预测,可以实现预测特定样本的表面反射属性,神经网络中对于自动优化参数的设置,采用一种基于批标准化自动优化的方法。测试样本采用的是手机等移动设备拍摄的图像。测试阶段将图像输入到网络中,神经网络会生成对应的表面反射属性。通过观察并计算生成结果和标签值的差值,进行网络性能的评估。较为常用的神经网络预测算法为valentin算法。valentin网络是一种基于深度学习的方法,功能是对单张图像进行表面反射属性估计。该模型利用大量具有空间变化的标签图像去训练一个预先设计好的初始卷积神经网络,每一个训练的样本图像包括漫反射贴图(albedomap)、法线贴图(normalmap)、高光贴图(specular)和粗糙度贴图(roughness)。valentin网络模型结构遵循u-net自编码器结构,对输入的单张图像进行表面反射属性预测,训练后得到了相应的表面反射属性。但是,在利用卷积神经网络对输入图像进行处理、生成漫反射贴图时,会产生明暗不均匀、光照过强、过暗或损失特征分布信息等问题,针对某一局部高强度点光源,无法准确分析其高光结构,会将高光误认为是纹理自身颜色,同时输出尺寸增加时,还会导致优化和合成过程在迭代中逐渐不稳定,丢失纹理规律性。因此,如何稳定实现物体表面反射属性的精准提取,是本领域技术人员急需解决的问题。技术实现要素:本申请的目的是提供一种物体表面反射属性提取方法,该方法可以稳定实现物体表面反射属性的精准提取;本申请的另一目的是提供一种物体表面反射属性提取装置、设备及一种可读存储介质。为解决上述技术问题,本申请提供一种物体表面反射属性提取方法,包括:确定目标物体的表面图像;对所述表面图像进行归一化处理;调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的所述表面图像进行特征提取,确定表面反射属性;其中,所述自编码网络模型以vgg-19与u-net结合作为网络结构,根据具有低频和高频特征的无标签数据样本训练后得到;所述无标签数据样本根据基于柏林噪声合成的表面反射属性值生成,所述表面反射属性值包括:漫反射属性值、法线属性值、高光系数以及粗糙度。可选地,所述表面反射属性值的合成方法,包括:调用二维柏林噪声函数生成平滑纹理特征以及锐利纹理特征;将所述平滑纹理特征与所述锐利纹理特征进行混合,生成漫反射属性值。可选地,所述表面反射属性值的合成方法,包括:基于像素的强度将所述漫反射属性值转换为高度场信息;将所述高度场信息进行归一化处理;根据确定的全局比例因子对归一化处理后的所述高度场信息进行缩放;通过离散微分将缩放后的所述高度场信息进行数据处理,生成法线属性值。可选地,所述表面反射属性值的合成方法,包括:调用随机生成数值函数生成随机数,作为所述高光系数以及所述粗糙度。可选地,调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的所述表面图像进行特征提取,确定表面反射属性,包括:确定各网络层待输入的特征图;对所述特征图进行空洞卷积操作,得到膨胀化特征图;将所述膨胀化特征图输入至所述网络层进行图像特征提取。可选地,调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的所述表面图像进行特征提取,确定表面反射属性,包括:确定网络训练的总损失函数;其中,所述总损失函数包括:图像层次的损失、渲染层次的损失以及直方图和边缘损失;根据所述总损失函数进行模型优化。可选地,调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的所述表面图像进行特征提取,确定表面反射属性,包括:确定各网络层待输入的特征图;调用canny检测算子对所述特征图的边缘信息进行提取计算,得到边缘结构优化特征图;将所述边缘结构优化特征图输入至所述网络层进行图像特征提取。本申请还提供了一种物体表面反射属性提取装置,包括:图像确定单元,用于确定目标物体的表面图像;图像处理单元,用于对所述表面图像进行归一化处理;特征提取单元,用于调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的所述表面图像进行特征提取,确定表面反射属性;其中,所述自编码网络模型以vgg-19与u-net结合作为网络结构,根据具有低频和高频特征的无标签数据样本训练后得到;所述无标签数据样本根据基于柏林噪声合成的表面反射属性值生成,所述表面反射属性值包括:漫反射属性值、法线属性值、高光系数以及粗糙度。本申请还提供了一种物体表面反射属性提取设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现所述的物体表面反射属性提取方法的步骤。本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述物体表面反射属性提取方法的步骤。本申请所提供的物体表面反射属性提取方法,该方法中提出一种基于柏林噪声的合成数据集,生成具有低频和高频特征分布的纹理,支持数据集样本的生成,解决训练数据不足的问题,通过创建合成数据集,在能够对数据集进行修正和调试的同时,简化了数据集的获取过程,同时该方法基于柏林噪声进行样本数据的合成,可以表达出近似真实样本的数据集合,提高了样本的获取速度,增加了样本的种类,进一步提高了网络的泛化性;另外,该方法中还提出一种基于vgg-19和u-net网络模型的自编码器网络结构,该网络对特征图进行直方图匹配,通过空洞卷积策略进行特征提取,结合弱监督和渲染技术对网络进行训练,对于提取的物体表面反射属性精度以及质量均实现了有效的提升。本申请还提供了一种物体表面反射属性提取装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的一种物体表面反射属性提取方法的流程图;图2为本申请实施例提供的一种自编码网络模型的功能示意图;图3为本申请实施例提供的一种自编码网络模型的整体流程示意图;图4为本申请实施例提供的一种自编码网络模型的网络结构示意图;图5为本申请实施例提供的一种网络详细结构示意图;图6为本申请实施例提供的一种部分数据集结果示意图;图7为本申请实施例提供的一种金属样本对比示意图;图8为本申请实施例提供的一种大理石样本对比示意图;图9为本申请实施例提供的一种物体表面反射属性提取装置的结构框图;图10为本申请实施例提供的一种物体表面反射属性提取设备的结构示意图。具体实施方式本申请的核心是提供一种物体表面反射属性提取方法,该方法可以稳定实现物体表面反射属性的精准提取;本申请的另一核心是提供一种物体表面反射属性提取装置、设备及一种可读存储介质。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。经过分析发现:基于深度学习的卷积神经网络可以利用样本的信息,或先验知识预测出合理性(plausible)结果。合理性表示预测的纹理看起来和实际目标的非常相似,并且不存在明显的瑕疵(artifacts),但合理性预测结果并不能完全反映目标的真实表面反射属性,难以保证预测结果的质量,预测结果常常有不可预知的瑕疵。通过分析valentin实验的结果得知:只有在数量充足且质量优秀的数据集上,网络训练才能够达到良好的训练结果,目前常常使用自增强训练的方法对数据稀缺问题进行弥补,以提供大量数据集,但是该方法需要使用各种光照条件和复杂的计算过程,使得神经网络缺乏一定的通用性;此外,尽管valentin实验可以实现对单张图像的表面反射属性预测功能,但难以保证预测结果的质量,其结果严重依赖于输入图像的亮度和高光分布等因素,预测结果常常有不可预知的瑕疵;最后,valentin网络的优化策略,容易出现性能瓶颈,降低学习效率。针对于此,本申请提出了一种物体表面反射属性提取方法,请参考图1,图1为本实施例提供的物体表面反射属性提取方法的流程图,该方法主要包括:步骤s110、确定目标物体的表面图像;表面图像为平面完整的物体表面图像,也为本实施例中待提取物体表面反射属性的图像。步骤s120、对表面图像进行归一化处理;对表面图像进行归一化处理的目的在于消除不同的表面图像非特征提取点的差异性,比如图像光照、对比度等,提升网络的泛化能力,具体的实现步骤本实施例中不做限定,可以根据实际图像处理以及特征提取的需要进行设定。步骤s130、调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的表面图像进行特征提取,确定表面反射属性;本方法中基于弱监督的神经网络(自编码网络模型),提高表面反射属性预测的质量和网络性能,对单张样本的表面反射属性进行预测,以实现对于物体表面反射属性的提取。本实施例中的自编码网络模型的功能如图2所示,整体流程如图3所示。具体地,本实施例中设计了一个自编码器网络来实现特征空间的构建和训练,对特征空间提出空间连续性限制,自编码网络模型以vgg-19与u-net结合作为网络结构,一种网络结构如图4所示(需要说明的是,图4仅为一种网络结构的具体形式,具体地网络结构的具体设置可以根据不同的使用需求进行设置,本实施例中仅以该种网络结构的具体搭建形式为例进行介绍,其他网络结构下的模型实现过程均可参照本实施例的介绍)。本申请的网络结构采用了vgg-19(visualgeometrygroupnetwork,一种从图像中提取特征的首选算法)和u-net(一种包含下采样和上采样类似u形的网络结构)网络结构,vgg-19网络中通过3×3的小滤波器叠加,替代大滤波器的同时能够实现同样的性能,其中u-net用于特征分割。假设物体表面是平面完整的,且带有一些微小尺度的表面细节,那么这些表面细节都能够被法线贴图所体现。另外,假设表面反射属性上的每一个表面点都可以非常近似地用cook-torrance的微表面双向反射分布模型(brdf)所表示,它是一种基于物理的渲染光照模型,可以较好地模拟出真实的物理反射效果。表面法线分布由ggx微表面分布函数进行模拟。一种网络详细结构如图5所示,其中特征提取使用的是tensorflow框架中用来实现空洞卷积操作的函数。特征空间本质上是一种对输入图像进行损失计算的编码空间,由矩阵构成且可以进行参数学习。将四种256×256分辨率的表面反射属性贴图输入到本申请新设计的网络中,经过特征提取降低到尺寸为8×8分辨率的特征图,再经过解码器部分恢复到表面反射属性。需要说明的是,自编码网络模型为预先根据具有低频和高频特征的无标签数据样本训练后得到,无标签数据样本根据基于柏林噪声合成的表面反射属性值生成,表面反射属性值包括:漫反射属性值、法线属性值、高光系数以及粗糙度。网络模型使用大量无标签数据样本进行训练,不依赖于开放的带标签数据集。可以提高样本的获取速度、便于对数据样本的控制同时扩大训练样本的纹理类型,不再局限于几种特定的图像类型,另外,本申请中进一步提出基于柏林噪声的合成数据集,生成具有低频和高频特征分布的纹理,支持数据集样本的生成,可以解决训练数据不足的问题,实现数据增强。基于上述介绍,本实施例提供的物体表面反射属性提取方法中提出一种基于柏林噪声的合成数据集,生成具有低频和高频特征分布的纹理,支持数据集样本的生成,解决训练数据不足的问题,通过创建合成数据集,在能够对数据集进行修正和调试的同时,简化了数据集的获取过程,同时该方法基于柏林噪声进行样本数据的合成,可以表达出近似真实样本的数据集合,提高了样本的获取速度,增加了样本的种类,进一步提高了网络的泛化性;另外,该方法中还提出一种基于vgg-19和u-net网络模型的自编码器网络结构,该网络对特征图进行直方图匹配,通过空洞卷积策略进行特征提取,结合弱监督和渲染技术对网络进行训练,对于提取的物体表面反射属性精度以及质量均实现了有效的提升。上述实施例中对于数据样本的具体生成过程不做限定,本实施例中提出一种生成数据样本的方法,可以合成具有低频和高频特征的数据样本。网络模型使用大量无标签数据样本进行训练,不依赖于开放的带标签数据集。可以提高样本的获取速度、便于对数据样本的控制同时扩大训练样本的纹理类型,不再局限于几种特定的图像类型。一个数据样本定义为漫反射,法线,高光,粗糙度四个表面反射属性构成,本实施例中提出一种生成数据样本的方法,其中,包括对四种表面反射属性的具体生成方式。其中,需要说明的是,本申请中对各表面反射属性的可视化描述,即属性,称为贴图,即“属性”与“贴图”可以相互替换。1、本申请中提及的纹理指物体表面的纹理,即物体表面凹凸不平的沟纹和图案。可选地,本实施例中提出一种表面反射属性值的合成中漫反射属性值的合成方法,具体实现方式如下:(1)调用二维柏林噪声函数生成平滑纹理特征以及锐利纹理特征;(2)将平滑纹理特征与锐利纹理特征进行混合,生成漫反射属性值。本申请提出使用基于晶格方法(一种广义上生成噪声的方法,主要思想是通过二维/三维网格和随机向量等方法生成噪音)的梯度噪声(latticebasedgradientnoise),采用两个过程纹理基元(primitives)来定义漫反射贴图,分别为一个用二维柏林噪声函数生成的平滑纹理贴图(smoothmap)fp,和一个锐利纹理贴图(sharpmap)fe。根据双线性插值的计算公式,将第一个纹理基元定义为:fp=(1-wy)lerp(wx,u0,v0)+wylerp(wx,u1,v1)其中lerp()函数代表线性插值计算。为插值函数,其值是由柏林噪声随机函数的生成数值确定。wx,wy为两个方向的曲线权重函数,其采用柏林噪声中的定义,公式为:其中x0,y0为二维数据输入值的浮点数。由于自然的纹理不仅会表现出较平滑的特征,还可能会表现出锐利的边缘,因此锐利纹理基元可以定义为:将平滑纹理特征与锐利纹理特征进行混合,生成漫反射贴图,定义为:其中,ci是随机的rgb颜色三元组,c0是纹理的基础颜色,由numpy函数中的np.zeros([8,256,256,3])初始化获得。m和n分别为平滑纹理贴图和锐利纹理贴图分量的个数,取值为1或2。2、本实施例中提出一种表面反射属性值的合成中法线属性值的合成方法,具体实现方式如下:(1)基于像素的强度将漫反射属性值转换为高度场信息;(2)将高度场信息进行归一化处理;(3)根据确定的全局比例因子对归一化处理后的高度场信息进行缩放;(4)通过离散微分将缩放后的高度场信息进行数据处理,生成法线属性值。基于每个像素的强度(intensity)把漫反射贴图转换为高度场(heightfield)信息。将高度场归一化到[0,1]范围,然后通过从[-0.1,0.1]统一选择的全局比例因子对其进行缩放,最后通过离散微分把高度场转换为法线贴图。由于本申请样本采用合成方式生成,并不具备高度图的信息。因此换一种角度,先计算原纹理的灰度图。本实施例中使用一种可以提取灰度值的公式,定义为:gray=color.r*0.2126+color.g*0.7152+color.b*0.0722其中的三个color变量为三个颜色分量的值。把提取出来的灰度值作为高度值,可以理解为将颜色分量做加权平均处理。计算步骤为:(1)根据提取灰度值公式计算灰度图,将其作为高度图。随后根据高度图的值来计算水平和垂直方向的高度函数切线。将两个方向的函数切线值做叉积后进行归一化,可得法线向量normal(q,w,e),其为三维浮点向量类型,含有三个分量。确定步长δ的大小,δ用于控制贴图的生成精细度。使用中心差分法进行采样,可以取得更理想的结果。此时对normal进行转换后输出。(2)由于叉积的顺序不同,此时normal的e分量朝向负e轴,normal的w分量范围在[0,0.5]之间。在未对其进行转换切线空间的校正操作时,图像会略显鲜艳。为了将法线贴图转换为切线空间下,将e分量乘以负1,即将e方向的值进行翻转。定义用于控制高度差比例缩放的变量。可以避免当步长过小时,高度差会产生极端值情况,导致结果会出现大量的红绿色噪点。3、本实施例中提出一种表面反射属性值的合成中高光系数以及粗糙度的合成方法,具体实现方式如下:调用随机生成数值函数生成随机数,作为高光系数以及粗糙度。本实施例假设表面上有一个均匀的高光部分,高光系数和粗糙度采用取随机数的方法。具体地,使用numpy程序库中提供的随机生成数值函数,调整参数后返回一个服从0~1均匀分布的随机样本值。s和r为高光系数和粗糙度系数的值,定义为:s=10*(np.random.rand()*1.602-2.0)r=10*(np.random.rand()*1.778-2.0)本实施例中提出的上述表面反射属性值的合成方法提出一种基于柏林噪声的合成数据集方法,该方法基于柏林噪声和灰度转换函数等方法,可以表达出近似真实样本的数据集合,可以生成具有低频和高频特征分布的纹理,支持数据集样本的生成,解决训练数据不足的问题,提高了样本的获取速度,增加了样本的种类,进一步提高了网络的泛化性,实现了数据增强,数据增强后可以提高模型性能、增加大量的数据样本,进一步支持模型训练过程所需的数据样本需求,通过创建合成数据集,还可以在对数据集进行修正和调试的同时,简化数据集的获取过程。基于上述本实施例提出的方法进行合成图像表面反射属性,以生成10000张无标签样本,编号为0-9999为例,每张样本包含四个属性,分别为漫反射贴图、法线贴图、随机高光和粗糙度系数。设定合成图片的为大小256×256,合成的一种部分数据集结果如图6所示。在调用预训练的基于弱监督的自编码网络模型根据tensorflow框架支持的深度学习任务处理过程中,本实施例中提出了以下几条优化方法。1、调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的表面图像进行特征提取,确定表面反射属性的过程中可以执行以下操作:(1)确定各网络层待输入的特征图;(2)对特征图进行空洞卷积操作,得到膨胀化特征图;(3)将膨胀化特征图输入至网络层进行图像特征提取。对通常的深度学习任务来说,感受野(receptivefield,指cnn每一层输出的特征图上像素点在输入图片上映射的区域大小)越大网络性能越好。在对表面反射属性建模领域中,感受野越大,对图像信息的细节捕获能力就越强。本实施例中提出通过执行空洞卷积操作(uniondilatedconvolution)将特征图膨胀化,使感受野的扩大速度显著提高,达到一种指数级的水平,进而提高特征信息的获取能力。2、调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的表面图像进行特征提取,确定表面反射属性的过程中可以执行以下操作:(1)确定网络训练的总损失函数;其中,总损失函数包括:图像层次的损失、渲染层次的损失以及直方图和边缘损失;(2)根据总损失函数进行模型优化。损失函数定义了拟合结果和真实结果之间的差异,作为优化的目标直接关系模型训练的好坏。本实施例中将网络训练的总损失函数ltotal定义为:ltotal=lmap+lrendering+ltexture其中总损失函数ltotal包含三部分:第一部分lmap图像层次的损失,定义为:lmap=∑|ytarget-xpredict|其中ytarget为表面反射属性的目标值,xpredict为表面反射属性的估计值,该计算实质上就是最小绝对值偏差的计算方式,目的是为了估计值在图像层次尽可能的与输入图像相似;第二部分lrendering为渲染层次的损失,与lmap的计算方式相同,仍旧是计算最小绝对值偏差。但其代表的是将输出的表面反射属性进行渲染后,添加随机高光后,降低高密度高光部分像素的影响,对渲染图片做一个损失函数的计算。增加渲染和图像层次的损失,是由于在不同的样本中,不同的表面反射属性的重要性不同。假设某样本没有高光,那其粗糙度的插值对渲染部分来说无用。而法线变化在图像的角度并不明显,但在渲染中就会由于方向的改变出现非常大的改变。通过加入渲染和图像层次的损失,可以更好地衡量每个特征图的作用,得到理想的结果。第三部分ltexture是直方图和边缘损失的计算部分,定义为:ltexture=lgram+lhistogram由两部分组成,一部分是直方图匹配计算的损失函数lhistogram,使用特征图的直方图来统计分布信息,将直方图损失加入到整个的合成损失中,基于直方图匹配然后逐层变换合成的特征图,将各层特征图与输入原纹理进行直方图匹配,使两幅图像的直方图近似,从而使其具有类似的色调和反差。在反向传播的每一个过程都将执行直方图匹配,然后添加一个原特征图和直方图匹配后的特征图间的损失,lhistogram定义为:其中为人工设置的损失权重,oi是第i个特征图,r(oi)是直方图匹配后的特征图。对每张特征图做同样的操作,最后对特征图和原纹理计算frobenius范数。另一部分lgram是gram矩阵的损失函数,它着重关注gram矩阵匹配后的结果。gram损失函数的核心思想是gram矩阵,它实质上是特征之间的偏心协方差矩阵。主要描述的信息是在不同维度下矩阵的特性以及不同维度之间的关联。纹理通过各个特征图的关联进行表达,且仅由这些统计特征值进行确定。将每张输入的源图像记为s,将前l层输出结果表示为t1,t2,…,tl前l层神经网络表示为s1,s2,…,sl,每层的gram矩阵lgram定义为:其中αl为人工设置的参数,g(·)为某图像中特征对的l阶内积矩阵。另一方面,为了使特征空间更加光滑且利于优化,这里添加平滑损失,定义为:lsmooth=smth||d(v)-d(v+ξ)||1其中ξ是从方差为0.2和均值为0的高斯分布中采样的随机变量,代表对特征空间中的某个特征向量v进行微弱的扰动。smth代表平滑的参数权值,设置为常数值2。d(v)为方差的计算。其中ξ的作用类似于对抗样本(adversarialexamples)。对抗样本通过对样本施加微小干扰来实现数据集增强,常用于提高cnn的识别能力。3、调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的表面图像进行特征提取,确定表面反射属性的过程中可以执行以下操作:(1)确定各网络层待输入的特征图;(2)调用canny检测算子对特征图的边缘信息进行提取计算,得到边缘结构优化特征图;(3)将边缘结构优化特征图输入至网络层进行图像特征提取。图像的边缘是图像中像素值发生剧烈变化而不连续的结果。纹理合成网络在对样本进行特征提取和池化后会丢弃大量的边缘结构信息,导致出现边缘周围模糊不清等问题,本实施例中利用canny检测算子对纹理合成质量进行改善,提出使用边缘检测算法对特征图的边缘信息进行提取计算,保留各层特征图的边缘结构信息,能够很好地保留各种图像样本的边缘信息。本实施例中通过增加边缘检测操作,可以提高对图像边缘的掌握。进一步地,归一化方法在进行深度网络训练时采用的算法,神经网络训练开始前以及网络特征提取前,都要对数据做一个归一化处理,归一化处理的优势主要有以下几方面,网络学习的过程的本质就是学习数据分布,一旦训练数据和测试数据的分布不同,那么网络的泛化能力就会大大降低;另外一方面,每一批次的数据分布如果不相同的话,那么网络就要在每次迭代时都去适应不同的分布,这样会大大降低网络的训练速度,这也就是为什么要对数据做一个归一化预处理的原因;另外对图片进行归一化处理还可以处理光照,对比度等影响。批量标准化指通过计算批量(batch)中每个通道上样本的平均值和方差来进行归一化,其中批量为一次输入网络中的样本数量。目前主流的深度学习模型都会使用批标准化,加速模型的训练,提升模型的性能。但在训练中需计算批量的中间统计值,使得批标准化会过度依赖批量的大小,导致产生训练和测试之间的差异、合成纹理与原纹理差异较大以及恶化模型性能等问题。为解决上述问题,本实施例中基于归一化层(filterresponsenormalization,frn)和激活层(thresholdedlinearunit,tlu)提出一种标准化方法,以消除对批量依赖性。对每个样例的每个通道单独进行归一化,定义为:其中ε是一个很小的正常数,取值为10-6,以防止除0;k是一个n维度的滤波器响应向量,n用来表示维度;v2为k的l2范数均值;y为归一化后仿射变换操作,其中γ和β都是可学习的参数,初始值为[1,1,1,2]。最后是激活函数tlu,定义为:z=relu(δ-τ)+τ其中δ为输入,z为输出,τ是一个可学习的阈值参数。实验效果如表1所示,opensurfaces3代表从opensurfaces数据集中挑选的三类样本,共500张图像。synthesis为本申请中合成的数据集,共10000张样本。从小数据集和大数据集两个条件下,对收敛性能进行评估。1234opensurfaces391.34%91.60%90.00%91.70%synthesis67.69%66.27%67.17%68.05%表1需要说明的是,本实施例提供的归一化处理方法适用于本申请中任意阶段的归一化处理过程,在此不做限定。进一步地,adam是一种一阶优化算法,它能基于训练数据迭代地更新神经网络权重,是深度学习任务中必不可少的一项过程,优化算法的好坏直接影响网络的性能。为解决学习率会出现极端值,导致模型性能下降的情况,本实施例中在adam算法的基础上做了改进。adam会根据一阶矩和二阶矩的梯度估计值,计算自适应学习率。所以本申请提出一种改进的adam算法,将学习率定义为:这里ηt为通过adam算法得到的当前学习率,ht为当前平滑值,通过下式得到:ht=(1-λ)*ηt*(λ0ht-1+λ1ht-2+λ2ht-3+…λt-1h0)利用ηt与ht中最小值选取,从而规避了产生极端学习率的情况。λ是记忆长短的超参数,其值越接近1,记忆长度也就越长。当λ=0.9时,记忆平均范围是10个周期;当λ=0.999时,记忆平均范围是1000个周期,因此可以根据λ计算出当前步骤平滑值和之前平滑值的关系。λ取值均在[0.999,0.9999]之间,可以更利于记忆和追踪。改进adam算法可以看作是逐个元素地削减学习率,从而使输出受到当前平滑值的限制。通过计算自适应学习率的指数平均值,可以对极端学习率进行指导和剪枝。如此一来,在训练初始时,便能控制自适应学习率。通过改进adam算法后,即使学习率相差很大,也具有不错的收敛结果。本实施例中提出一种基于弱监督训练策略的具体优化方案,提出使用边缘检测算法,保留边缘信息,提高纹理合成的质量;引入直方图损失函数,保证特征分布信息和细节掌控;基于vgg-19和u-net结构,建立全卷积自编码器网络模型;利用通用空洞卷积对特征提取部分进行优化;使用滤波器响应归一化方法,降低对批量尺寸的敏感度;对adam优化算法进行逐个削减学习率,提高前期收敛速度和稳定性。为加深对上述实施例中提供的物体表面反射属性提取方法中实现效果的理解,本实施例中以一种具体实验场景为例进行介绍。本实施例实验的硬件为nvidiageforcegtx1080的gpu、nvidia8g的显卡和固态硬盘。操作系统使用的是基于linux内核的ubuntu16.04。深度学习框架为tensorflowgpu1.4.1版本。代码语言为python3.5.2,以及一些在图像处理和数学计算领域常用的软件包,如opencv4.0、numpy、transforms3d0.3.1、pillow6.0和scikit-image0.15.0等,另外还有cuda8.0,cudnn6.0,gcc5.4.0等扩展支持。在10,000张合成数据集上对网络进行训练,训练花费了约15个小时。选取三个样本进行分析,如图7所示为金属样本对比示意图,图8所示为大理石样本对比示意图。第一行为输入的准确标签信息;第二行为valentin网络合成结果;第三行为基于弱监督的网络合成结果。可以看出合成结果各有不同,添加平滑损失来提高特征空间的光滑度和收敛度,可以较好地改善合成效果。图7可见,原纹理是一种具有光泽的金属样本,且具有矩形的凹凸表面结构。valentin网络结果普遍偏暗,特征区域失真明显,未能很好地反映出原纹理的特征和性质。基于弱监督方法的网络结果有了较大进步,漫反射部分可以较为明显地观察到表面结构,法线纹理更加清晰,高光也具有了与标签值更为相近的颜色。但漫反射部分过多地融合了矩形边缘。综上,漫反射部分能够准确地提取出特征区域;合成图像整体质量有较大提升,更加贴近原纹理的质量;高光颜色部分和粗糙度部分改进不明显。由图8可见,原纹理条理清晰,形状规则。valentin网络结果能分解高光结构,预测出较为合理的漫反射贴图,但整体偏暗,且法线贴图细节不明显。高光颜色信息大量丢失,粗糙度预测值偏差过大,丢失了很多细节和光泽。观察基于弱监督方法的网络的处理结果,漫反射结果真实细腻;法线效果平滑;高光颜色稳定;粗糙度改善。整体来说效果呈现有了较大的提升。对金属样本的实验结果进行定量分析,得到表2:meanmodergbsd金属样本87.332100.0000.668valentin84.32268.0001.358基于弱监督88.430100.3330.356表2其中,mean为图像的均值,mode为图像的众数平均值,rgbsd为图像rgb的标准差。由数值可见,基于弱监督的网络结果优于valentin方法,更贴合原纹理。对测试结果进行统计计算,统计值如表3所示。表中前三行为金属样本和生成结果的对比,后三行为测试集中随机10张合成结果的统计值。通过统计信息得知,基于弱监督的网络结果在各方面都优于valentin方法,但效果会因金属样本的性质而发生一定程度的波动。另外,平滑损失的设置对实验结果也有一定的影响。msessimpsnr金属样本-金属样本0.0001.000-金属样本-valentin3839.3120.51012.633金属样本-基于弱监督842.5450.60326.936金属样本-金属样本(10)0.0001.000-金属样本-valentin(10)3036.1560.58311.933金属样本-基于弱监督(10)942.3840.73225.764表3请参考图9,图9为本实施例提供的物体表面反射属性提取装置的结构框图;主要包括:图像确定单元210、图像处理单元220以及特征提取单元230。本实施例提供的物体表面反射属性提取装置可与上述物体表面反射属性提取方法相互对照。其中,图像确定单元210主要用于确定目标物体的表面图像;图像处理单元220主要用于对表面图像进行归一化处理;特征提取单元230主要用于调用预训练的基于弱监督的自编码网络模型通过tensorflow框架中空洞卷积操作函数对归一化处理后的表面图像进行特征提取,确定表面反射属性;其中,自编码网络模型以vgg-19与u-net结合作为网络结构,根据具有低频和高频特征的无标签数据样本训练后得到;无标签数据样本根据基于柏林噪声合成的表面反射属性值生成,表面反射属性值包括:漫反射属性值、法线属性值、高光系数以及粗糙度。本实施例提供一种物体表面反射属性提取设备,主要包括:存储器以及处理器。其中,存储器用于存储程序;处理器用于执行程序时实现如上述实施例介绍的物体表面反射属性提取方法的步骤,具体可参照上述物体表面反射属性提取方法的介绍。请参考图10,为本实施例提供的物体表面反射属性提取设备的结构示意图,该物体表面反射属性提取设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322、gpu(图形处理单元,图中未示出)和存储器332,一个或一个以上存储操作系统341或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在物体表面反射属性提取设备301上执行存储介质330中的一系列指令操作。物体表面反射属性提取设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。上面图1所描述的物体表面反射属性提取方法中的步骤可以由本实施例介绍的物体表面反射属性提取设备的结构实现。本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述实施例介绍的物体表面反射属性提取方法的步骤,具体可参照上述实施例中对物体表面反射属性提取方法的介绍。该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述得比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。以上对本申请所提供的物体表面反射属性提取方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1