基于深度学习的单像素三维端到端重建方法及装置与流程

文档序号:20495686发布日期:2020-04-21 22:22阅读:199来源:国知局
基于深度学习的单像素三维端到端重建方法及装置与流程

本发明涉及三维场景计算重构技术领域,特别涉及一种基于深度学习的单像素三维端到端重建方法及装置。



背景技术:

在光学中,三维测量及重建的方法是光学器件和计算机技术的结合。按光照方式,三维测量分为两类,包括主动法和被动法。在主动法中,使用激光作为光源的方法称为激光测距法,例如相关技术提出的结合激光扫描法进行室内场景的三维重建方法。除了激光,还可使用结构光在物体表面形成结构性光场,相关技术中提出使用结构光照射物体后的条带边缘进行定位,能够达到稳定的亚毫米精度三维重建效果。此外,还可使用干涉测量法生成相干信号,结合外差等技术进行三维重建。被动法则不提供主动照明,只使用传感器拍摄物体环境光下的表面反射,通过图像特征来分析解构三维信息。

近几年兴起的基于计算机视觉及深度学习的技术,大部分采用被动法。如输入单视点的单幅或多幅图像,通过图像的明暗、阴影等二维特征来推导出场景深度信息,但重建效果一般;又如输入多视点多幅图像,通过匹配特征点及约束条件求取空间三维点的坐标信息,该方法重建效果较好,但运算量较大,重建时间长;以及通过深度学习的方式,对数据集中的每个目标进行特征提取,然后建立待测目标的概率函数,与数据集中的相似目标进行比较进而重建,该方法重建效率高,但对数据集的数量及精度要求高。

而在上述光学成像模型下,用传统阵列相机拍摄图像进行后续的三维重建工作具有一定局限性,在存储高清图像时所需内存大,且单幅图像只能感知光的强度信息,丢失场景的深度信息。单像素相机作为计算摄像学领域的器件,使用光电二极管而非阵列传感器捕获图像,具有高信噪比。且单像素探测器无需采集全部像素点,在数据传输以及存储需求上都相应减少,因此具有优于传统阵列传感器的特点,在宽光谱范围及多领域光波段的二维成像得到较多应用。

对于传统三维光学重建方法,存在下列问题:(1)所需仪器价格高;(2)采集时间长,次数多;(3)根据不同场景的需求,部分三维重建精度不够;而对于深度学习的三维重建方法,存在的问题则是:(1)需要采集大量单视角多幅图像或多视角多幅图像;(2)需要完备的数据集。较多文章进行了深度学习方面的三维重建研究,但大部分基于深度学习的三维重建方法都在光学的被动法中,利用数据集的高清二维图像进行结构分析,达到高精度的重建,而与单像素探测器的结合较少。

目前关于单像素三维重建方面的研究仍旧在起步阶段,现有单像素三维重建方法还存在较多问题,包括:(1)所需单像素探测器的数量较多;(2)完整精密重建系统所需仪器(如飞秒激光仪、光栅投射器等)成本高;(3)无法直接求解高度信息,需要经过复杂运算步骤等。因此,使用单像素探测器实现高效三维重建具有重要的研究意义。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种基于深度学习的单像素三维端到端重建方法,该方法实现了在单像素三维成像系统中,通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低,在三维成像领域具有广泛的应用。

本发明的另一个目的在于提出一种基于深度学习的单像素三维端到端重建装置。

为达到上述目的,本发明一方面实施例提出了一种基于深度学习的单像素三维端到端重建方法,包括:

s1,构建包含多个物体三维信息的三维数据集;

s2,对所述三维数据集进行特定预处理生成单像素探测器的一维测量值;

s3,获取三维重建网络,通过所述三维数据集和所述一维测量值训练所述三维重建网络;

s4,通过训练后的三维重建网络对待测三维物体进行重建,输出所述待测三维物体的三维深度信息。

本发明实施例的基于深度学习的单像素三维端到端重建方法,通过建立包含大量物体三维信息的三维数据集,并针对数据集中的每个物体仿真单像素探测器的一维测量值,设计卷积神经网络及并行网络组成的解码网络用以恢复三维信息,使用三维数据集及对应的一维测量值对该网络进行训练,通过测试集对网络进行测试,得到待测三维物体的深度数据。该方法实现了在单像素三维成像系统中,通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低,在三维成像领域具有广泛的应用。

另外,根据本发明上述实施例的基于深度学习的单像素三维端到端重建方法还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,还包括:

通过输出的所述待测三维物体的三维深度信息恢复所述待测三维物体,将恢复出的待测三维物体与所述待测三维物体进行误差对比,得到三维重建误差,根据所述三维重建误差调整所述三维重建网络。

进一步地,在本发明的一个实施例中,所述构建包含多个物体三维信息的三维数据集,包括:

选取多个三维物体对应的正弦条纹图,计算每张正弦条纹图对应的三维物体的高度信息,根据高度信息生成每张条纹图对应的高度矩阵。

进一步地,在本发明的一个实施例中,所述对所述三维数据集进行特定预处理生成单像素探测器的一维测量值,包括:

s21,利用和所述三维数据集中的正弦条纹图相同像素大小的随机[0,1]矩阵与所述三维数据集中的一张正弦条纹图相乘,并进行各点像素数值叠加,得到单像素探测器的一个测量值;

s22,设定单像素采集次数为m次,将m个[0,1]矩阵与同一张条纹图像相乘,得到m×1的所述一维测量值;

s23,重复步骤s21和s22,直至将所述三维数据集中的所有条纹图进行处理,得到多个m×1的所述一维测量值。

进一步地,在本发明的一个实施例中,所述三维重建网络包括由多种卷积层及多组并行的卷积神经网络组成的解码网络。

为达到上述目的,本发明另一方面实施例提出了一种基于深度学习的单像素三维端到端重建装置,包括:

数据集构建模块,用于构建包含多个物体三维信息的三维数据集;

数据预处理模块,用于对所述三维数据集进行预处理生成单像素探测器的一维测量值;

网络训练模块,用于获取三维重建网络,通过所述三维数据集和所述一维测量值训练所述三维重建网络;

结果测试模块,用于通过训练后的三维重建网络对待测三维物体进行重建,输出所述待测三维物体的三维深度信息。

本发明实施例的基于深度学习的单像素三维端到端重建装置,通过建立包含大量物体三维信息的三维数据集,并针对数据集中的每个物体仿真单像素探测器的一维测量值,设计卷积神经网络及并行网络组成的解码网络用以恢复三维信息,使用三维数据集及对应的一维测量值对该网络进行训练,通过测试集对网络进行测试,得到待测三维物体的深度数据。该装置实现了在单像素三维成像系统中,通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低,在三维成像领域具有广泛的应用。

另外,根据本发明上述实施例的基于深度学习的单像素三维端到端重建装置还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,还包括:调整模块,

所述调整模块,用于通过输出的所述待测三维物体的三维深度信息恢复所述待测三维物体,将恢复出的待测三维物体与所述待测三维物体进行误差对比,得到三维重建误差,根据所述三维重建误差调整所述三维重建网络。

进一步地,在本发明的一个实施例中,所述数据集构建模块,具体用于,

选取多个三维物体对应的正弦条纹图,计算每张正弦条纹图对应的三维物体的高度信息,根据高度信息生成每张条纹图对应的高度矩阵。

进一步地,在本发明的一个实施例中,所述数据预处理模块,具体用于,

利用和所述三维数据集中的正弦条纹图相同像素大小的随机[0,1]矩阵与所述三维数据集中的一张正弦条纹图相乘,并进行各点像素数值叠加,得到单像素探测器的一个测量值;

设定单像素采集次数为m次,将m个[0,1]矩阵与同一张条纹图像相乘,得到m×1的所述一维测量值;

将所述三维数据集中的所有条纹图进行处理,得到多个m×1的所述一维测量值。

进一步地,在本发明的一个实施例中,所述三维重建网络包括由多种卷积层及多组并行的卷积神经网络组成的解码网络。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明一个实施例的基于深度学习的单像素三维端到端重建方法流程图;

图2为根据本发明一个实施例的生成单像素探测器的一维测量值示意图;

图3为根据本发明一个实施例的三维重建网络完整结构示意图;

图4为根据本发明一个实施例的多组并行网络结构示意图;

图5为根据本发明又一个实施例的基于深度学习的单像素三维端到端重建方法流程图;

图6为根据本发明一个实施例的基于深度学习的单像素三维端到端重建装置结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参照附图描述根据本发明实施例提出的基于深度学习的单像素三维端到端重建方法及装置。

首先将参照附图描述根据本发明实施例提出的基于深度学习的单像素三维端到端重建方法。

图1为根据本发明一个实施例的基于深度学习的单像素三维端到端重建方法流程图。

如图1所示,该基于深度学习的单像素三维端到端重建方法包括以下步骤:

步骤s1,构建包含多个物体三维信息的三维数据集。

进一步地,在本发明的一个实施例中,构建包含多个物体三维信息的三维数据集,包括:

选取包含多个三维物体的多张条纹图ps′,计算每张条纹图对应的三维物体的高度信息,根据高度信息生成每张条纹图对应的高度矩阵。

对于所要重建的三维物体,首先对其进行数据集的设计。本发明的实施例通过光编码设计正弦强度图案照明,及三维场景调制,最终解出高度。设定模拟正弦光照明的条纹矩阵为ps,ps满足的条件如下:

其中,a(x,y)为背景强度,b为条纹的幅度值,u、v为正弦光条纹的角频率,为初始相位。

通过随机生成的二值矩阵,与设定的条纹编码进行点乘,所得的编码即为可进行深度调制的光编码。假设该随机矩阵为pr,pr中的每个元素pr(x,y)满足取值为0或1,则正弦光编码矩阵pk的式子如下所示:

其中,pk表示空间光调制模式,pr的个数为m,若单像素探测器端视线下二维图像的像素为n×n,则采集率cr为

对于三维场景调制,设定一个三维样本o(x,y,z),其高度为h(x,y)。三维样本经过正弦光的照射后,该正弦条纹由于受到物体高度的调制而发生扭曲,而通过扭曲的条纹和原始条纹比对可以计算得出相位变化值。该正弦光经过相位调制后可以表示为如下的式子::

其中,是与待测样本高度有关的函数,条纹图ps′为生成三维集所需的图像。

其中,利用样本与接收系统间的几何关系,可以求得物体表面的高度信息与相位差之间的关系,如下所示:

其中,l为单像素探测器到待测物背景的距离,t为正弦光周期,d为空间光调制器端到单像素探测器的距离。

最终,将pk照明模式照射在待测三维样本o(x,y)上,可使得光编码模式同时调制场景及深度信息,并由单像素探测器端采集到一维测量值:

其中,m∈r1×m为单像素探测器端采集一个三维样本o(x,y,z)的测量值。在实际实验中,采用正弦光编码照明模式pk照射在三维物体上进行采集。

具体地,构建数据集的步骤为:(1)选取c张(c应满足较大数据量及多样性)正弦条纹图;(2)计算出单幅条纹图像对应的三维物体的高度信息,并使一张条纹图对应一个高度矩阵。构建数据集用于下面的网络训练,其中,还可以在选取的c张条纹图中选取部分作为测试集,在训练好网络后用于测试网络的性能;还可以在选取的c张条纹图中再选取不同于测试集的多幅图像作为验证集,以修正网络及检验效果。

通过上述步骤得到的二维条纹图为单像素探测器端视线接收到的三维物体平面图,无法直接得到单像素采集到的一维光强值,因此需要进行数据集的进一步处理,从而得到满足实验条件的仿真训练过程。

步骤s2,对三维数据集进行预处理生成单像素探测器的一维测量值。

进一步地,作为一种可能实现的方式,对三维数据集的预处理包括:

s21,利用和三维数据集中的正弦条纹图相同像素大小的随机[0,1]矩阵pr与三维数据集中的一张正弦条纹图ps′相乘,并进行各点像素数值叠加,得到单像素探测器的一个测量值;

s22,设定单像素采集次数为m次,将m个[0,1]矩阵与同一张条纹图像相乘,得到m×1的一维测量值;

s23,重复步骤s21和s22,直至将三维数据集中的所有条纹图进行处理,得到多个m×1的一维测量值。

具体地,由步骤s1得到条纹图像后,利用大小和条纹图像相同的随机[0,1]矩阵相乘,可以仿真单像素探测器采集到的一维光强值,具体示意如图2所示。选取c张中的一个条纹图像与一个[0,1]矩阵点乘,并进行各点像素数值叠加,可以得到单像素探测器的一个测量值。设定单像素采集次数为m次,则m个[0,1]矩阵与同一个条纹图像相乘,可得到m×1的测量值,由此完成对数据集中一张条纹图像的处理。

将数据集中所有的条纹图进行处理后,即可得到c个m×1的测量值,由此完成所有数据的预处理。

在下面的网络训练过程中,将预处理得到的c个一维测量值作为网络的输入,而网络的输出为三维数据集中的二维高度矩阵,各点的数值为物体的深度信息。

步骤s3,获取三维重建网络,通过三维数据集和一维测量值训练三维重建网络。

进一步地,在本发明的一个实施例中,三维重建网络包括由多种卷积层及多组并行的卷积神经网络组成的解码网络,用以恢复深层次的特征信息。

具体地,在三维数据集预处理完成后,为了从一维测量序列中重建场景的三维信息,得到高度数据,本发明实施例设计了一个三维重建网络(深层卷积神经网络),其结构如图3所示,包含了多层卷积神经网络及并行多组网络部分。具体地,conv1中首先使用全连接层,使得一维测量值变为二维图像,再通过使用多次卷积运算,并采用不同卷积核,用以更好地提取特征。该网络用于将输入的一维测量值进行二维图像的复现,即恢复为原始的单像素探测器端视角下的二维条纹图像。之后,再通过并行的两组或多组解码网络(即conv2)进行待测三维图像的边界轮廓及深度信息提取,最终通过一个连接层,将多个通道变为一个通道的输出,由此完成网络的搭建。

如图3所示,为完整的网络结构示意图,其中,conv1层包括全连接层及卷积层,其经过特征映射,从而为重建提供相邻像素。在该网络中,二维或三维卷积核可运用在内,卷积层中间可加入激活函数,包括但不限于sigmoid函数,tanh函数,relu函数等。而conv2由可由一组或多组并行网络组成,每个网络包括但不限于卷积网络,残差网络,或u-net等,以增加网络深度,下面以图像方式呈现具体卷积网络设计。

如图4所示,展示了图3中并行网络conv2结构。对于并行网络来说,该神经网络的输入是具有原图像素的原始条纹图案。然后由卷积层,多个卷积层连续处理,中间可加入全连接层及激活函数,包括但不限于sigmoid函数,tanh函数,relu函数等,同时可加入下采样及上采样层,以满足每个通道中卷积操作的长宽高要求。同时也可加入残差块,在网络的前馈中进行相应的设置,来提高网络性能。最终经过一个连接层将多个通道连接在一起,并输出代表三维的高度数据,其中每个点上的数据代表该点的高度,当数值为0表示该处为背景,不为待测三维物体。

在完成三维重建网络的完整搭建后,以高度矩阵作为最终的输出目标,一维测量值为输入,最终使用已设计的数据集进行训练。训练好的三维重建网络的输入为一维测量值,输出为待测三维物体的高度矩阵。

在训练中,设定部分参数,包括但不限于学习率,训练样本集次数,动量,权值衰减量,批大小,损失函数,激活函数及优化函数等。而用以训练的图像像素大小依据所需精度进行调整。

其中,对于损失函数,包括但不限于0-1损失函数,绝对值损失函数,对数损失函数,平方损失函数,指数损失函数,交叉熵损失函数及均方误差损失函数等,损失函数用以衡量观测值与真实值之间的偏差。

其中,对于优化函数,包括但不限于梯度下降算法,随机梯度下降算法,批量梯度下降算法,带动量的梯度下降算法,adagrad,adadelta,adam等。优化函数用以将损失值从神经网络的最外层传递到最前面。

步骤s4,通过训练后的三维重建网络对待测三维物体进行重建,输出待测三维物体的三维深度信息。

可以理解的是,利用测试集对训练好的三维重建网络进行测试,通过训练好的三维重建网络重建待测三维物体的三维深度信息。

进一步地,作为一种可能实现的方式,还包括:通过输出的待测三维物体的三维深度信息恢复待测三维物体,将恢复出的待测三维物体与待测三维物体进行误差对比,得到三维重建误差,根据三维重建误差调整三维重建网络。

通过训练好的三维重建网络重建待测三维物体的三维深度信息后,观察网络损失函数的稳定情况,将得到的三维深度信息(高度矩阵)再恢复到可视化的三维物体,与原三维物体进行误差比较,得到三维重建误差。

进一步地,可以与原三维物体进行误差比较,其中误差比较的方法包括但不限于均方误差,峰值信噪比,结构相似性理论,多尺度结构相似性等,可根据三维重建精度及需求进行选择。

基于深度学习的单像素三维端到端重建计算方法解决了传统单像素三维重建方法中存在的问题,如所需多视角多幅图像、完整精密重建系统成本高昂、无法直接输出深度信息,容易造成计算的叠加误差等问题,完成了探测器端到结果端的直接输出,可有效的恢复三维物体的深度信息。

如图5所示,展示了由一维单像素测量值到完成三维重建的软件完整算法流程图,通过数据集设计模块和数据预处理模块建立包含大量物体三维信息的三维数据集,并针对数据集中的每个物体仿真单像素探测器的一维测量值。

具体地,该三维数据集转为二维的高度矩阵,各点的数值为物体的深度信息,高度矩阵作为神经网络的输出;该一维测量值由三维信息转为二维条纹图像,并将该条纹图像点乘随机的m个[0,1]矩阵,生成的m个测量值用以仿真单像素探测器端的采集值,作为神经网络的输入。

通过三维数据集和对应的一维测量值对神经网络进行训练,训练好的神经网络可以输出待测三维物体的高度矩阵,重建出待测三维物体的三维深度信息。

根据本发明实施例提出的基于深度学习的单像素三维端到端重建方法,通过建立包含大量物体三维信息的三维数据集,并针对数据集中的每个物体仿真单像素探测器的一维测量值,设计卷积神经网络及并行网络组成的解码网络用以恢复三维信息,使用三维数据集及对应的一维测量值对该网络进行训练,通过测试集对网络进行测试,得到待测三维物体的深度数据。该方法实现了在单像素三维成像系统中,通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低,在三维成像领域具有广泛的应用。

其次参照附图描述根据本发明实施例提出的基于深度学习的单像素三维端到端重建装置。

图6为根据本发明一个实施例的基于深度学习的单像素三维端到端重建装置结构示意图。

如图6所示,该基于深度学习的单像素三维端到端重建装置包括:数据集构建模块100、数据预处理模块200、网络训练模块300和结果测试模块400。

数据集构建模块100,用于构建包含多个物体三维信息的三维数据集。

数据预处理模块200,用于对三维数据集进行特定预处理生成单像素探测器的一维测量值。

网络训练模块300,用于获取三维重建网络,通过三维数据集和一维测量值训练三维重建网络。

结果测试模块400,用于通过训练后的三维重建网络对待测三维物体进行重建,输出待测三维物体的三维深度信息。

该装置通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低。

进一步地,在本发明的一个实施例中,还包括:调整模块,

调整模块,用于通过输出的待测三维物体的三维深度信息恢复待测三维物体,将恢复出的待测三维物体与待测三维物体进行误差对比,得到三维重建误差,根据三维重建误差调整三维重建网络。

进一步地,在本发明的一个实施例中,数据集构建模块,具体用于,

选取多个三维物体对应的正弦条纹图,计算每张正弦条纹图对应的三维物体的高度信息,根据高度信息生成每张条纹图对应的高度矩阵。

进一步地,在本发明的一个实施例中,数据预处理模块,具体用于,

利用和三维数据集中的正弦条纹图相同像素大小的随机[0,1]矩阵与三维数据集中的一张正弦条纹图相乘,并进行各点像素数值叠加,得到单像素探测器的一个测量值;

设定单像素采集次数为m次,将m个[0,1]矩阵与同一张条纹图像相乘,得到m×1的一维测量值;

将三维数据集中的所有条纹图进行处理,得到多个m×1的一维测量值。

进一步地,在本发明的一个实施例中,三维重建网络包括由多种卷积层及多组并行的卷积神经网络组成的解码网络。

需要说明的是,前述对基于深度学习的单像素三维端到端重建方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。

根据本发明实施例提出的基于深度学习的单像素三维端到端重建装置,通过建立包含大量物体三维信息的三维数据集,并针对数据集中的每个物体仿真单像素探测器的一维测量值,设计卷积神经网络及并行网络组成的解码网络用以恢复三维信息,使用三维数据集及对应的一维测量值对该网络进行训练,通过测试集对网络进行测试,得到待测三维物体的深度数据。该装置实现了在单像素三维成像系统中,通过深度学习的方法端到端地完成场景深度信息的重建,计算复杂度低,在三维成像领域具有广泛的应用。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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