基于神经网络的三维物体法向量、几何及材质获取方法与流程

文档序号:19421695发布日期:2019-12-14 01:34阅读:315来源:国知局
基于神经网络的三维物体法向量、几何及材质获取方法与流程

本发明涉及一种基于神经网络获取三维物体法向量的方法,及基于此方法的几何优化方法及材质获取方法,属于计算机图形学和计算机视觉领域。



背景技术:

数字化真实物体一直以来是计算机图形/视觉领域的难题。目前,数字化的真实物体可以用三维网格和六维的随空间变化的双向反射分布函数(svbrdf)来表达。基于这种表达方式,任何观察角度和光照情况下的物体外观都能被很好地渲染得到。

然而,如何高效高质量地同时获取物体的反射信息和几何信息仍然是个很大的挑战。一方面,高质量要求测量时能够获得尽可能多的观测值。另一方面,在实际采集过程中,又希望测量时间尽可能缩短。此外,高质量的法向量可以优化粗糙的三维网格,从而得到精细的几何模型,但目前没有高效高质量地获取法向量信息的方法,该问题仍是个很大的挑战

目前已有的方法/系统能够比较好地在已知几何或材质的情况下,采集另一个信息。例如,使用结构光(danielscharsteinandrichardszeliski.2003.high-accuracystereodepthmapsusingstructuredlight.incvpr.)或sfm(structure-from-motion)(johanneslutzsch6nbergerandjan-michaelfrahm.2016.structure-from-motionrevisited.incvpr.)等技术可以采集反射属性不太复杂的场景。再例如,采集材质属性时使用的光照舞台,可以假设物体处于远光的情况(andrewgardner,christchou,timhawkins,andpauldebevec.2003.linearlightsourcereflectometry.acmtrans.graph.22,3(2003),749-758.),也可以利用采集对象为某种特定几何物体的先验知识,简化采样难度。虽然有一些同时采集物体的几何和材质信息的前人工作,但这些方法也都有比较强的简化假设。例如,假设物体处于远光(boromtunwattanapong,grahamfyffe,paulgraham,jaybusch,xuemingyu,abhijeetghosh,andpauldebevec.2013.acquiringreflectanceandshapefromcontinuoussphericalharmonicillumination.acmtrans.graph.32,4,article109(july2013),12pages.),或材质信息为各向同性的(ruixia,yuedong,pieterpeers,andxintong.2016.recoveringshapeandspatiallyvaryingsurfacereflectanceunderunknownillumination.acmtrans.graph.35,6,article187(nov.2016),12pages.),也有从基材质的角度出发,通过限制基材质的个数(michaelholroyd,jasonlawrence,andtoddzickler.2010.acoaxialopticalscannerforsynchronousacquisitionof3dgeometryandsurfacereflectance.acmtrans.graph.29,4,article99(july2010),12pages.),来简化问题的。

深度学习是一种机器学习方法,该方法近些年在计算机视觉、计算机图形学领域获得了广泛应用和巨大成功。该方法通过指定一个损失函数,利用梯度下降的方法,使网络拟合一个目标函数。



技术实现要素:

本发明的目的在于针对现有技术的不足,提出一种基于神经网络的三维物体法向量、几何及材质获取方法。

本发明的目的是通过以下技术方案来实现的:一种基于神经网络的三维物体法向量获取方法,该方法包括以下步骤:

(1)生成训练数据:获取采集设备的参数,包括光源到采集空间原点的距离及角度、光源的特性曲线、摄像机到采集空间原点的距离及角度、摄像机的内参和外参;利用这些参数生成模拟实际摄像机的采集结果,作为训练数据。

(2)根据步骤(1)得到的训练数据,训练神经网络,神经网络的特征如下:

a.神经网络的输入为一个lumitexel,lumitexel描述了采样点对来自每个光源的入射光沿着某个观察方向的反射光强;

b.神经网络的输出和回归目标为所输入lumitexel对应的法向量;

c.神经网络的第一层包括线性全连接层,线性全连接层的参数矩阵通过以下公式训练得到:

wl=fw(wraw)

其中wraw为待训练参数;wl为光照矩阵,大小为n×m,n为lumitexel的采样精度,m为光照图案个数;fw为一个映射,用于对wraw进行变换,使得生成的光照矩阵能够对应到采集设备可能的发光强度;

d.第二层及之后各层为非线性映射网络,其中最后一层的输出向量长度为3;

训练结束后,将第一层线性全连接层的光照矩阵取出。

(3)使采集设备按照步骤(2)取出的光照矩阵生成光照图案,依次对目标三维物体进行照射,获得一组照片r1,r2...,rm;依次遍历照片的像素和通道,每次分别从r1,r2...,rm中取出第i行、第j列、第k通道的像素值,组成向量a=a1,a2,…,am,将a作为神经网络的第一层线性全连接层的输出向量,计算得到最后一层的输出向量,所得即为该像素对应的三维物体表面的法向量;遍历所有的像素,得到三维物体表面法向量特征图。

进一步地,所述步骤(1)中,生成模拟实际摄像机的采集结果的具体方法为:随机在目标三维物体可能出现的采集空间中选择一个采样点,并随机采样该点的材质参数,使用渲染模型生成lumitexel。

进一步地,所述渲染模型采用ggx模型,生成公式如下:

其中fr(ωi;ωo,n,t,p)为双向反射分布函数,ωo为出射方向,ωi为入射方向,n表示世界坐标系下的法向量,t表示世界坐标系下采样点局部坐标系的x轴方向,p为材质参数向量,包括括αx,αy,ρd,ρs,其中αx与αy表示粗糙度系数,ρd表示漫反射率,ρs表示镜面反射率;ωh为半路向量,dggx为微分面分布项,f为菲涅尔项,gggx表示阴影系数函数。

进一步地,所述步骤(2)中,映射fw选用归一化函数和翻转函数的组合,要求m为偶数,wraw的大小为可将wraw看作个列向量的组合,表示如下:

fw对wraw的每一列进行归一化,使之为单位向量,后翻转每一列的负数,组成新的向量,公式表述如下:

fw(wraw)=fflip(fnormalize(wraw))

wnormalized可看作个列向量,表示如下:

进一步地,所述步骤(2)中,神经网络的最后一层之后还可以接一个归一化层,用于对输出向量进行归一化,使之为单位向量。

在上述神经网络训练时可以加入对材质特征信息(如漫反射特征向量,镜面反射特征向量)的预测。具体方法如下:

(1)对于一个采样点,采用边长为d,中心在采集空间原点的立方体将其包围,每个面上均匀采样若干点作为虚拟光源。

(2)生成材质特征向量,公式如下:

v(i,p)=fnear(xl,xp,ωi,np,nl)i(l)fr(ωi;ωo,np,t,p)

其中i表示每个虚拟光源l的发光信息,包括:虚拟光源l的空间位置xl、虚拟光源l的法向量ni、虚拟光源l的发光强度i(l),p包含采样点的参数信息,包括:采样点的空间位置xp、世界坐标系下的法向量np、世界坐标系下局部坐标系的x轴方向t采样点的材质参数p,p包括αx,αy,ρd,ρs,其中αx,αy表示粗糙度系数,ρd表示漫反射率,ρs表示镜面反射率;ωi表示世界坐标系下的入射向量,ωo表示世界坐标系下的出射向量;fr(ωi;ωo,np,t,p)为双向反射分布函数,fnear(xl,xp,ωi,np,nl)为近光因素,公式如下:

(3)将采样点的镜面反射率设为0,生成漫反射特征向量vd。

(4)将漫反射率设为0,生成镜面反射特征向量vs。

(5)神经网络的输出增加向量v′d,v′s,p′,其中v′d与vd长度相同,v′s与vs长度相同,p′长度为3,向量v′d,v′s,p′分别为对消去近光因素后的漫反射特征向量vd、消去近光因素后的镜面反射向量vs、空间位置xp的预测。

(6)材质特征部分的损失函数表达如下:

lossdiffusc=||v′dfnear(xl,p′,ω′i,n′,nl)-vd||

lossspecular=||v′sfnear(xl,p′,ω′i,n′,nl)-vs||

训练神经网络时,加入漫反射损失函数lossdiffuse和镜面反射损失函数lossspecular。

在实际使用时,获得法向量的同时,即可获得材质特征信息。

(7)根据材质特征信息获取三维物体材质贴图。

进一步地,所述步骤(7)中,根据材质特征信息获取三维物体材质贴图的过程如下:

(7.1)通过摄像机对目标三维物体采样m个角度后,将采样得到的照片作为输入,获得三维网格;对于每一个顶点,选择使ni·ωo最小且该点可见的采样角度ω,ni为三维网格顶点法向量,ωo表示世界坐标系下的出射向量。

(7.2)将三维物体的三维网格作为输入,得到材质贴图到网格的映射关系图。

(7.3)将映射关系图上的每个有效像素映射到采样角度ω;结合使用神经网络获得的该点的材质特征vi拟合材质参数;遍历所有映射关系图上的有效像素后,即得到最终的材质贴图。

进一步地,所述步骤(7.3)中,使用l-bfgs-b方法来拟合材质参数,表达如下:

minimize(||vi-nn[fr(ωi;ωo,n′,t,p′)]||)

其中p′和t为拟合量,p′为材质参数向量,t表示世界坐标系下采样点局部坐标系的x轴方向,n′为神经网络预测的法向量,nn表示神经网络的映射。

一种使用法向量优化三维网格的方法,该方法包括以下步骤:

(1)通过摄像机对目标三维物体采样m个角度,每个角度下使用上述方法训练得到的光照图案进行照射,将采样得到的照片作为输入,获得初始三维点云和三维网格;三维网格的每个顶点上有初始的法向量ni。

(2)对步骤(1)获取的三维网格进行重新网格化(remesh)。

(3)对于每一个顶点,选择使ni·ωo最小且该点可见的采样角度ω,在该采样角度下通过上述法向量获取方法得到法向量预测值n′i,作为该点的法向量ni。

(4)将当前网格中的每个顶点位置pi变换到新位置p′i而得到新网格,该过程包括对法向量损失函数lnormal和顶点位置损失函数lposition的优化;结合lnormal和lposition得到联合损失函数lopt,并使用最小二乘法优化lopt。

(5)返回到步骤(3),直到lopt收敛,完成三维网格的优化,并将该三维网格作为最终的几何模型。

进一步地,所述步骤(4)中,

法向量损失函数lnormal:将多边形{e0,e1,…,ek}作为切平面的近似,k大于2,其中ej为多边形的第j条边,该多边形由以pi为中心并与其邻接的顶点所构成,损失函数lnormal的表达如下:

n为三维网格顶点的数量;

顶点位置损失函数lposition:

其中i为单位矩阵,α和β均为预先设置的参数α,β∈[0,+∞),通过调节α和β使得新位置pi对应的联合损失函数lopt达到最优;

联合损失函数lopt:

lopt=λlposition+(1-λ)lnormal

其中λ∈[0,1]用于控制两种损失函数的权重。

本发明的有益效果是:本发明在“对物体主动照射若干特定的图案,同时采集照片,通过对所得照片计算来获得物体法向量”的思想上,给出了一个结合神经网络的获取方法。该方法获得的法向量平均误差为3°,远高于现有技术的精度。进一步地,该方法将获得的法向量用于优化物体的模型。该方法还可在获取法向量的同时,获取材质特征信息,最终联合得到高质量的几何及材质采集结果。获取材质特征信息不需做出空间位置已知的假定。联合得到的三维物体模型及材质真实感极强,高于现有水平。使用该方法得到的光照图案数量少,所获取的法向量精度高且该方法不限于某一特定的采集设备。此外,本方法获得光照矩阵的方式能够直接保证生成的矩阵有效。

附图说明

图1为实施例中采集设备的立体示意图;

图2中(a)为实施例中采集设备的平面展开图,64x64为每个面上的光源数,(b)为侧视图;

图3为实施例的实现流程示意图;

图4为实施例中使用的神经网络示意图;

图5为实施例中训练的得到的光照图案之一;

图6为实施例中用于训练的一个典型lumitexel。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明作进一步详细说明。

本发明在“对物体主动照射若干特定的图案,同时采集照片,通过对所得照片计算来获得物体法向量”的思想上,给出了一个结合神经网络的获取方法。进一步地,该方法将获得的法向量用于优化物体的模型。该方法还可在获取法向量的同时,获取材质特征信息。最终联合得到高质量的几何及材质采集结果。下面详细描述三部分的具体实现方式:

一、一种基于神经网络的三维物体法向量获取方法,该方法包括以下步骤:

(1)生成训练数据:获取采集设备的参数,包括光源到采集空间(采集设备内用于放置采集对象的空间)原点的距离及角度、光源的特性曲线、摄像机到采集空间原点的距离及角度、摄像机的内参和外参;利用这些参数生成模拟实际摄像机的采集结果,作为训练数据;生成模拟实际摄像机的采集结果的具体方法如下:

随机在目标三维物体可能出现的采集空间中选择一个采样点,并随机采样该点的材质参数,使用渲染模型生成lumitexel,lumitexel描述了采样点对来自每个光源的入射光沿着某个观察方向的反射光强;所述渲染模型可以采用ggx模型,但不限于此,利用ggx模型的生成公式如下:

其中fr(ωi;ωo,n,t,p)为双向反射分布函数,ωo为出射方向,ωi为入射方向,n表示世界坐标系下的法向量,t表示世界坐标系下采样点局部坐标系的x轴方向,p为材质参数向量,包括括αx,αy,ρd,ρs,其中αx与αy表示粗糙度系数,ρd表示漫反射率,ρs表示镜面反射率;ωh为半路向量,dggx为微分面分布项,f为菲涅尔项,gggx表示阴影系数函数。

(2)根据步骤(1)得到的训练数据,训练神经网络,神经网络的特征如下:

a.神经网络的输入为一个lumitexel;

b.神经网络的输出和回归目标为所输入lumitexel对应的法向量;

c.神经网络的第一层包括线性全连接层,线性全连接层的参数矩阵通过以下公式训练得到:

wl=fw(wraw)

其中wraw为待训练参数;wl为光照矩阵,大小为n×m,n为lumitexel的采样精度(即采集设备的光源个数),m为光照图案个数;fw为一个映射,用于对wraw进行变换,使得生成的光照矩阵能够对应到采集设备可能的发光强度(即具有物理意义)。wraw的矩阵大小与每个元素的取值范围依实际使用的fw而定。fw可以选用归一化函数和翻转函数的组合,此时要求m为偶数,wraw的大小为可将wraw看作个列向量的组合,表示如下:

fw对wraw的每一列进行归一化,使之为单位向量,后翻转每一列的负数,组成新的向量,公式表述如下:

fw(wraw)=fflip(fnormalize(wraw))

wnormalized可看作个列向量,表示如下:

d.第二层及之后各层为非线性映射网络,其中最后一层的输出向量长度为3,优选地,该最后一层之后还可以接一个归一化层,用于对输出向量进行归一化,使之为单位向量。

训练结束后,将第一层线性全连接层的参数矩阵(即光照矩阵)取出。

(3)使采集设备按照步骤(2)取出的光照矩阵生成光照图案,依次对目标三维物体进行照射,获得一组照片r1,r2...,rm;依次遍历照片的像素和通道,每次分别从r1,r2...,rm中取出第i行、第j列、第k通道的像素值,组成向量a=a1,a2,…,am,将a作为神经网络的第一层线性全连接层的输出向量,计算得到最后一层的输出向量,所得即为该像素对应的三维物体表面的法向量。遍历所有的像素,得到三维物体表面法向量特征图。

二、一种基于神经网络获得三维物体材质的方法,该方法具体为:

在上述神经网络训练时可以加入对材质特征信息(如漫反射特征向量,镜面反射特征向量)的预测。具体方法如下:

(1)对于一个采样点,采用边长为d,中心在采集空间原点的立方体将其包围,每个面上均匀采样若干点作为虚拟光源,虚拟光源为点光源,立方体上虚拟光源的个数称为特征向量的采样精度。使用虚拟光源可以消掉因采集设备光源间可能存在的缝隙而造成的不良影响。

(2)生成材质特征向量的公式如下:

v(i,p)=fnear(xl,xp,ωi,np,nl)i(l)fr(ωi;ωo,np,t,p)

其中i表示每个虚拟光源l的发光信息,包括:虚拟光源l的空间位置xl、虚拟光源l的法向量nl、虚拟光源l的发光强度i(l),p包含采样点的参数信息,包括:采样点的空间位置xp、世界坐标系下的法向量np、世界坐标系下局部坐标系的x轴方向t采样点的材质参数p,p包括αx,αy,ρd,ρs,其中αx,αy表示粗糙度系数,ρd表示漫反射率,ρs表示镜面反射率;ωi表示世界坐标系下的入射向量,ωo表示世界坐标系下的出射向量。fr(ωi;ωo,np,t,p)为双向反射分布函数,fnear(xl,xp,ωi,np,nl)为近光因素,公式如下:

(3)使用上述公式,将采样点的镜面反射率设为0,生成漫反射特征向量vd。

(4)使用上述公式,将漫反射率设为0,生成镜面反射特征向量vs。

(5)神经网络的输出增加向量v′d,v′s,p′,其中v′d与vd长度相同,v′s与vs长度相同,p′长度为3,向量v′d,v′s,p′分别为对消去近光因素后的漫反射特征向量vd、消去近光因素后的镜面反射向量vs、空间位置xp的预测。

(6)材质特征部分的损失函数表达如下:

lossdiffusc=||v′dfnear(xl,p′,ω′i,n′,nl)-vd|||

lossspecular=||v′sfnear(xl,p′,ω′i,n′,nl)-vs||

训练神经网络时,加入漫反射损失函数lossdiffuse和镜面反射损失函数lossspecular。

在实际使用时,获得法向量的同时,即可获得材质特征信息。

(7)根据材质特征信息获取三维物体材质贴图,过程如下:

(7.1)通过摄像机对目标三维物体采样m个角度后,将采样得到的照片作为输入,使用业界公开的工具colmap,获得三维网格。对于每一个顶点,选择使ni·ωo最小且该点可见的采样角度ω。ni为三维网格顶点法向量,ωo表示世界坐标系下的出射向量。

(7.2)使用领域内公开工具iso-charts,将三维物体的三维网格作为输入,得到材质贴图到网格的映射关系图(后文简称映射关系图)。

(7.3)将映射关系图上的每个有效像素映射到采样角度ω;结合使用神经网络获得的该点的材质特征vi(包括漫反射特征和镜面反射特征),使用l-bfgs-b方法来拟合材质参数。表达如下:

minimize(||vi-nn[fr(ωi;ωo,n′,t,p′)]||)

其中p′和t为拟合量,p′为材质参数向量,t表示世界坐标系下采样点局部坐标系的x轴方向,n′为神经网络预测的法向量,nn表示神经网络的映射。遍历所有映射关系图上的有效像素后,即得到最终的材质贴图。该阶段的拟合方法不仅限于l-bfgs-b方法。

三、一种使用法向量优化三维网格的方法,该方法包括以下步骤:

(1)通过摄像机对目标三维物体采样m个角度,每个角度下使用第一部分训练得到的光照图案进行照射,将采样得到的照片作为输入,使用业界公开的工具colmap,可以获得初始三维点云和三维网格。三维网格的每个顶点上有初始的法向量ni。

(2)对步骤(1)获取的三维网格进行重新网格化(remesh),比如可以采用delaunay三角化。

(3)对于每一个顶点,选择使ni·ωo最小且该点可见的采样角度ω,在该采样角度下通过上述基于神经网络的三维物体法向量获取方法得到法向量预测值n′i,作为该点的法向量ni。

(4)将当前网格中的每个顶点位置pi变换到新位置p′i而得到新网格,该过程包括对法向量损失函数lnormal和顶点位置损失函数lposition的优化。

法向量损失函数lnormal在于利用法向量与切平面相互垂直的性质,限制新网格中p′i所在的切平面与对应的法向量ni相垂直,为提高运行效率,将多边形{e′0,e′1,…,e′k}作为切平面的近似,k大于2,其中ej为多边形的第j条边,该多边形由以p′i为中心并与其邻接的顶点所构成,损失函数lnormal的表达如下:

n为三维网格顶点的数量;

在此同时需要对新位置p′i进行限制,防止产生奇异点,因此要求新位置在法向量方向的移动可以有较大的自由度,而在切向上的自由度相对小,于是有损失函数lposition:

其中i为单位矩阵,α和β均为预先设置的参数α,β∈[0,+∞),通过调节α和β使得新位置p′i对应的联合损失函数lopt达到最优。(优选值为相对小的α和较大的β)。结合lnormal和lposition得到联合损失函数lopt,并使用最小二乘法优化lopt;

lopt=λlposition+(1-λ)lnormal

其中λ∈[0,1]用于控制两种损失函数的权重(优选值为[0.1,0.3])。

(5)返回到步骤(3),直到lopt收敛,完成三维网格的优化,并将该三维网格作为最终的几何模型,优化后的三维网格可以应用于第二部分的步骤(7)中,以获得高质量的材质结果。

以下给出一个具体的采集设备实例,如图1、2所示,该采集设备由48个灯板组成,上部固定有一个摄像头,用于采集图像。设备中央有一个步进电机驱动的旋转平台,用于放置采样对象。每个灯板上密集地排列了led灯珠,共20480个。灯珠由fpga控制,可以调整发光亮度及发光时间。

以下给出一个应用本发明方法的获取系统实例,系统总体分为如下几个模块:准备模块:包含两个部分,为网络训练提供数据集,该部分使用ggxbrdf模型,输入一组brdf参数及点所在的空间位置、摄像机位置,便可得到一个lumitexel。网络训练部分使用tensorflow开源框架,描绘如图网络,并使用adam优化器进行训练。网络结构如图4所示,每个矩形表示一层神经元,矩形中的数字表示该层神经元个数。最左侧层为输入层,最右侧层为输出层。层与层之间使用全连接。采集模块:设备如图1、2所示,具体构成上文已描述。恢复模块:加载训练好的神经网络,首先计算得到法向量信息和材质特征向量。使用colmap软件得到粗糙的三维网格后使用上文所述方法进行优化。从优化好的几何模型计算得到映射关系图。对映射关系图上的每个有效像素,进行材质参数拟合。

图3为本实施例的工作流程。首先生成训练数据,随机采样得到2亿个lumitexel,取80%作为训练集,其余作为验证集。训练网络时使用xavier方法进行初始化参数,学习率为1e-4。目标拍摄次数为32次,因此光照矩阵的大小为:(20480,32)。训练结束后,将光照矩阵取出,作为照明图案,每列的参数指定了该位置处,灯的发光强度,图5展示了一个训练得到的光照图案。对物体采样24个角度,每个角度下按照光照图案的发光强度,拍摄32次得到采集结果。对采集得到的图片上每一点,将32次采集图片的像素值组合,成为一个向量。此后的处理方法为:1.加载网络第二层以后的参数,输入为采集得到的向量。用以恢复得到每个位置上的空间位置、法向量信息和漫反射信息。2.使用colmap开源软件进行几何恢复,得到点云和三维网格。3.使用上述法向量获取方法,将得到的几何和预测出的法向量作为输入,迭代优化几何。4.使用isochart得到映射关系图。5.对映射关系图上的每个有效像素,找到对应的实拍数据,恢复出漫反射特征向量和镜面反射特征向量。拟合模块:使用l-bfgs-b方法,对采集得到的每一点像素拟合brdf参数。

以上所述,仅为本发明的较佳实施样例,本发明并不局限于上述实施方式,只要以相同手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内,其技术方案和/或实施方式可以有各种不同的修改和变化。

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