一种在Lambert光照模型下单目RGB图片的渐进式三维重建方法

文档序号:29942675发布日期:2022-05-07 15:04阅读:94来源:国知局
一种在Lambert光照模型下单目RGB图片的渐进式三维重建方法
一种在lambert光照模型下单目rgb图片的渐进式三维重建方法
技术领域
1.本发明主要涉及计算机图形学领域,尤其涉及一种lambert光照模型下单目rgb图片的渐进式的三维重建方法。


背景技术:

2.广义上的三维重建技术,被定义为对客观世界中的三维物体建立可以由计算机处理的数学模型。根据定义,三维重建技术可以理解为计算机对客观世界进行分析和处理的基础,也是在计算机中建立客观世界映射的核心技术。而在计算机图形学和计算机视觉领域,狭义上的三维重建技术是其中的重要研究内容之一。它被定义为使用相关仪器来获取物体的二维图片数据信息作为输入,利用三维重建的相关理论重建出物体表面的轮廓信息的技术。本方法涉及到的三维重建技术指的是狭义上的三维重建技术。
3.就三维重建技术在计算机视觉方面的意义和价值而言,该技术在自动驾驶技术、人机交互技术、虚拟现实技术和增强现实技术等当前计算机热点领域都有着广泛的应用价值和理论研究价值。例如在计算机游戏领域,利用三维重建技术对真实物体进行快速建模;在自动驾驶领域,利用雷达等辅助设备获取环境信息并重建虚拟环境。此外,在建筑、医疗等领域,三维重建也发挥了重要的应用价值。在理论研究上,随着重建对象的材质和结构越来越复杂、对重建效果的要求越来越高,三维重建技术也推动了可微渲染理论、图卷积神经网络等理论的研究,以实现更精确更鲁棒的重建能力。
4.目前的三维重建技术根据输入的数据类型不同,主要可以分为主动视觉法和被动视觉法两种类型。在被动视觉法的基础上,随着近年来深度学习技术的快速发展,以及生成式对抗网络(generative adversarial networks,简称gan)在其中的广泛应用,一些基于深度学习和gan的三维重建方法取得了较为良好的重建效果。对于三维重建领域的深度学习技术而言,它通常由包含着大量参数的卷积神经网络、图卷积神经网络或多层感知机等模块组成。这些基于深度学习的方法大多数采用大规模的二维图片——三维模型数据集进行网络训练。这种方式的缺点是训练的时间较长,且依赖于gpu的性能。
5.和深度学习技术对三维重建研究的切入点不同,从计算机图形学的角度来看,从二维图片重建三维物体,相当于光照模型的逆向过程。光照模型指的是根据客观光学规律,在计算机中模拟真实世界光照效果的物理过程。光照模型根据模拟效果的真实度不同,有不同的分类,但其核心均包括物体的材质和光线的性质。因此,二维图片数据可以视作物体本身和光照作为输入经光照模型计算得到的结果。而根据二维图片数据对物体进行重建的过程需要排除光照效果的影响。目前的研究大多将输入的二维图片信息视作一个整体,未考虑到二维图片数据中隐含的光照信息对实际像素的影响。因此,亟需从光照模型的角度出发,对三维重建技术进行研究。


技术实现要素:

6.本发明的目的在于解决从单目二维图片重建三维物体的问题。提供一种在lambert光照模型下单目rgb图片的渐进式三维重建方法,在lambert光照模型下,本方法可以不依赖于任何数据集直接重建出较为准确的三维模型网格信息,并且能够自定义模型的顶点数和面片数。
7.本发明的目的是通过以下技术方案实现的:
8.一种在lambert光照模型下单目rgb图片的渐进式三维重建方法,包括预处理阶段、映射处理阶段、渐进处理阶段和输出信息融合阶段,具体步骤如下:
9.(1)预处理阶段:由边缘信息处理模块和骨架信息处理模块两部分组成,对单张输入图片进行处理,得到携带边缘信息的边缘图片和携带骨架信息的骨架图片;
10.(2)映射处理阶段;为采样点设置一个采样的终止条件,对于不同的输入图片类型,经过骨架信息处理模块所得到的骨架图片也并不相同,将骨架图片中的包含的骨架信息即中轴信息作为采样的终点,能够提高针对不同形状物体重建的准确度;具体的,对于采样区间的每一个采样点,将与某采样点最近的骨架点定义为该采样点的终点;
11.(3)渐进式计算阶段;具体步骤如下:
12.(301)根据已知的外层采样点的法线信息,求出外层采样点光照夹角;
13.(302)根据图片像素信息,依照lambert光照模型的计算方程,求出内层采样点光照夹角;
14.(303)将外层采样点法线进行旋转得到内层采样点法线并存储到采样区间中;
15.(304)将上述内层采样点光照夹角带入深度公式,更新内层采样点深度信息;
16.(305)若未到达采样终止点,重复步骤(301)至步骤(303);
17.(4)输出信息融合阶段;将所有层的每个采样点信息融合为网格信息。这里是一个迭代的过程,即当前的内层在下一轮迭代的过程中就是外层,点信息指的是所有层的所有采样点。
18.进一步的,预处理阶段中首先使用圆形作为收缩的起始几何形状,对于同一个采样环上的点,称为一个采样区间;对于不同精度的输入图片,圆的半径r代表图片分辨率大小;然后,通过设置渐进步长和每一代的采样点个数自定义多边形网格三维模型的重建精度;通过设渐进步长为s,每一代采样点个数为n,对于最终的多边形网格三维模型输出结果,其顶点数vn可以表示为:
[0019][0020]
多边形网格三维模型输出结果的面数fn表示为:
[0021][0022]
对于输入的边缘图片所携带的边缘信息,在每个采样区间都会进行检测,只有同一个采样区间的所有采样点都获取到了边界信息,才会进入正式的渐进处理流程。
[0023]
进一步的,渐进式计算阶段中,定义外层采样区间的一个采样点为a,与点a对应的内层采样区间的采样点为b,根据渐进步长s的定义,采样点a和采样点b在xoy平面上的距离为s;对于一个已知的给定光照方向l,它与采样点a的法线na形成的光照夹角定义为θ
outer

与采样点a的法线nb形成的光照夹角定义为θ
inner
,则对于在局部切面拟合为圆弧的物体,计算采样点b与采样点a之间的深度差:
[0024][0025]
特别的,当切面拟合为直线的物体,即θ
outer
和θ
inner
相等,上述公式退化为:
[0026][0027]
根据上述公式,在最外层采样区间的深度信息已知的情况下,即能够根据自定义的步长和采样精度进行重建,得到精确的重建结果;
[0028]
此外,在上述公式描述中,法线是计算过程中必不可少的变量之一,渐进公式需要通过已知的外层采样点对应法线向量来计算外层采样点的光照夹角θ
outer
,对于外层采样点法线的计算也采用渐进式的模式,首先在最外层的采样点中设置一个起始的法线向量,当渐进式计算阶段开始时,法线信息根据内层采样点的像素值进行计算,给出lambert光照模型下光强的计算公式:
[0029][0030]
其中代表点的法线向量,代表光线向量,lv代表环境光强度,当环境光强度为0时,已知光强即可计算得出法线的信息;在具体实现过程中,为减少计算量,外层采样点的光照夹角是在渐进过程中存储,避免二次计算。
[0031]
进一步的,输出融合阶段中,将不同采样区间的点连接成多边形网格三维模型并输出到 obj格式文件当中;具体的,对于外层采样区间so和内层采样区间si,以及它们相同的采样点个数n,定义面片连接方式f:
[0032]fi
=f(v
ii
,v
ii+1
,v
oi
)
[0033]
上式中v
ii
、v
ii+1
、v
oi
分别表示内层第i,第i+1个采样点和外层第i个采样点;对于重建的三维模型,当采样点到达终止点附近之后,直接进行采样终止,并求出当前采样区间所有采样点的平均坐标进行最内层的多边形网格连接,形成一个闭合的多边形网格三维模型。
[0034]
与现有技术相比,本发明的技术方案所带来的有益效果是:
[0035]
相较于大多数深度学习模型受网络结构和参数量限制只能处理较小且固定分辨率的输入图片,本文方法可以处理较大分辨率的单目rgb图片。此外,本文提出了自适应步长的渐进计算公式,能够自定义重建网格的顶点和网格个数。相较于传统的sfs方法,本文方法不依赖相机参数作为输入,并引入了骨架——边缘映射的概念,通过预处理模块的骨架和边缘标定过程,使得本文算法可以处理边缘高度不为零的目标物体,且重建物体的网格结构更加精确。
附图说明
[0036]
图1为本发明方法的整体流程框图。
[0037]
图2为渐进式三维重建模块内渐进式计算阶段的流程框图。
[0038]
图3为渐进示意图。
[0039]
图4a和图4b为本实施例中实验效果一致性对比图;其中图4a为本发明重建模型,图4b 为原始模型。
[0040]
图5为法线重建效果图,图中突出的线条即为法线。
具体实施方式
[0041]
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]
对于三维重建技术,目前的方法大多使用深度学习技术,这种方法的鲁棒性较强,也取得了较好的效果,不过深度学习技术依赖于数据集。从计算机图形学的角度进行分析,三维重建相当于光照模型的逆向过程。目前的研究大多数没有排除光照因素对二维数据的影响。为了解决这种问题,本发明提供了一种渐进式的三维重建方法,能够直接重建二维图片对应的三维网格结构,不需要任何数据集进行训练,并且能够自由定义网格结构的顶点个数和面片精度。
[0043]
本渐进式三维重建方法整体可分为边缘信息处理模块、骨架信息处理模块和渐进式三维重建模块三部分,渐进式三维重建模块分为四个主要的处理流程:预处理阶段、映射处理阶段、渐进处理阶段和输出信息融合阶段,另外还需其他两个模块内的算法来处理输入图片。具体见图1。
[0044]
一、边缘信息处理模块
[0045]
本发明方法需要以三维物体边界的高度作为输入,因此,输入到渐进算法中的图片信息需要包括三维物体的边界信息以及其高度信息。本发明采用携带边缘高度信息的图片i1和携带骨架信息的图片i2作为核心算法的输入,而边缘信息处理模块则是对渲染图进行处理生成边缘图片的过程(可参考图1)。
[0046]
边缘图片生成模块的主要工作是:
[0047]
101.检测图片中物体的边界;
[0048]
102.根据物体的边界,设置一个像素宽度的边缘信息。具体来说,在rgb三通道图片中,根据渲染得到的深度信息,将其实际的深度值设置为b通道的值;
[0049]
103.将修改后的图片作为边缘图片i1进行输出。
[0050]
二、骨架信息处理模块
[0051]
骨架信息,又可以叫做中轴信息,可以理解为把一个平面区域简化成一个图的方法。这种方法一般通过细化技术来获得。数学上的定义是:对于一个具有边界b的简单多边形r,对于r中的任意一个点p,若在边界r上有两个或两个以上的点与p距离最近,则可认为p 点是简单多边形r的一个骨架点。该模块以中轴变换算法为基础,以渲染图片为输入,输出对应的骨架信息。
[0052]
三、渐进式三维重建模块
[0053]
该部分是本发明方法的核心模块,主要包括预处理阶段、映射处理阶段、渐进处理阶段和输出信息融合阶段。
[0054]
301.预处理阶段:
[0055]
这一部分需要首先对输入骨架图片和边缘图片中的骨架信息和边缘信息进行预
处理。首先,本方法使用圆形作为收缩的起始几何形状。选择圆作为起始几何形状是因为对于任何一个简单多边形而言,他们都拓扑上等同于一个圆。对于同一个采样环上的所有采样点,本方法称之为一个采样区间。对于不同精度的输入图片而言,圆的半径r均为图片分辨率大小(如输入图片大小是1024*1024,则起始圆的半径大小则为512)。然后,本方法支持自定义的模型重建精度和步长,这一成果是通过设置渐进步长和每一代的采样点个数决定的。设渐进步长为s,每一代采样点个数为n,对于最终的输出模型网格结果,其顶点数vn可以表示为:
[0056][0057]
其面数fn可以表示为:
[0058][0059]
对于输入的边缘信息,在每个采样区间都会进行检测,只有同一个采样区间的所有采样点都获取到了边界信息,才会进入正式的渐进处理流程。
[0060]
302.映射处理阶段:
[0061]
映射处理(mapping),本质上就是为采样点设置一个采样的终止条件,对于不同的输入图片类型,其输入的骨架图片所包含的骨架信息也并不相同,这里将图片的骨架(中轴信息) 作为采样的终点,能够提高针对不同形状物体重建的准确度。具体的,对于采样区间的每一个采样点,将与其最近的骨架点定义为此采样点的终点。
[0062]
303.渐进式计算阶段,见图2至图5:
[0063]
此阶段是整个重建算法的核心,本方法基于lambert光照模型,提出了一个全新的渐进式的深度计算公式,在已知光照方向和采样点像素值的情况下,可以通过最外层采样区间设置的边界渐进式地计算出所有的采样点的深度信息,具体公式定义如下:定义外层采样区间的一个采样点为a,与点a对应的内层采样区间的采样点为b,根据本算法对渐进步长s的定义,采样点a和采样点b在xoy平面上的距离为s;对于一个已知的给定光照方向l,它与采样点a的法线na形成的光照夹角定义为θ
outer
,与采样点a的法线nb形成的光照夹角定义为θ
inner
,则对于在局部切面拟合为圆弧的物体,可计算采样点b与采样点a之间的深度差:
[0064][0065]
特别的,当切面拟合为直线的物体,上述公式退化为(即θ
outer
和θ
inner
相等):
[0066][0067]
根据上述公式,在最外层采样区间的深度信息已知的情况下,即可根据自定义的步长和采样精度进行重建,得到精确的重建结果。
[0068]
此外,在上述公式描述中,法线是计算过程中必不可少的变量之一,渐进公式需要通过已知的外层采样点对应法线向量来计算外层采样点的光照夹角θ
outer
,对于外层采样点法线的计算也采用渐进式的模式,首先在最外层的采样点中设置一个起始的法线向量,当渐进式三维重建模块处理开始时,法线信息根据采样点的像素值进行计算,这里给出
lambert光照模型下光强的计算公式:
[0069][0070]
其中代表点的法线向量,代表光线向量,lv代表环境光强度,当环境光强度为0时,已知光强即可计算得出法线的信息。在实际的实现过程中,为了减少计算量,外层采样点的光照夹角并不是实时计算,而是在渐进过程中存储,避免二次计算。
[0071]
因此,根据上述两个公式,渐进式阶段的主要流程为:
[0072]
a.根据已知的外层采样点的法线信息,求出外层采样点光照夹角;
[0073]
b.根据图片像素信息,依照lambert光照方程,求出内层采样点光照夹角;
[0074]
c.将外层采样点法线进行旋转得到内层采样点法线并存储到采样区间中;
[0075]
d.将上述光照夹角带入深度计算公式,更新内层采样点深度信息;
[0076]
e.未到达采样终止点,重复步骤a-e;
[0077]
304.输出融合阶段
[0078]
输出融合指的是将所有采样点信息融合为网格信息。在三维重建任务中,以网格为表示方式的三维模型相较于点云、体素等表示形式而言,具有能够体现表面连通信息、三维信息精确等优势,因此本方法以生成网格模型为重建目标。根据上述计算方式,只能得到所有采样点的坐标信息。本方法提出了一种新的点连接方式,将不同采样区间的点连接成多边形网格三维模型并输出到obj格式文件当中。具体的,对于外层采样区间so和内层采样区间si,以及它们相同的采样点个数n,定义面片连接方式f:
[0079]fi
=f(v
ii
,v
ii+1
,v
oi
)
[0080]
上式中v
ii
、v
ii+1
、v
oi
分别表示内层第i,第i+1个采样点和外层第i个采样点。在303渐进式计算的过程中,算法会记录下计算后的采样点三维信息坐标以及所属的采样区间,在本阶段会根据连接公式进行连接,并输出到obj文件中生成最终的网格模型。
[0081]
细节上,对于重建的三维模型,当采样点到达终止点附近之后,为了减少计算量和避免误差,会直接进行采样终止,并求出当前采样区间所有采样点的平均坐标进行最内层的多边形网格连接,形成一个闭合的多边形网格三维模型。
[0082]
图4a和图4b分别表示本文重建得到的多边形网格三维模型和原始网格三维模型,可以看到由本文方法重建得到的三维模型和原始模型的差距较小,且网格结构精确,反映出本文方法的优越性和精确性。
[0083]
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1