三维重建方法及装置与流程

文档序号:18170356发布日期:2019-07-13 09:49阅读:313来源:国知局
三维重建方法及装置与流程

本申请涉及三维重建技术领域,具体而言,涉及一种三维重建方法及装置。



背景技术:

现有技术中,在进行三维重建时,一般是采用sgm算法进行立体匹配,该算法是一种基于互信息和多方向动态规划的像素匹配算法,sgm算法进行立体匹配时,仅仅利用某一点邻域的灰度、颜色、梯度等信息进行计算匹配代价,其基本原理为:在参考图像中选择一个点,选择该点邻域内的一个支持窗口,然后依据一定的相似性判断准则,在待匹配图像中寻找与支持窗口最相似的子窗口,该子窗口所对应的像素点即作为对应的匹配点。这种匹配算法对于重复纹理区域的匹配效果并不理想,匹配精度较低。



技术实现要素:

为了至少克服现有技术中的上述不足,本申请的目的之一在于提供一种三维重建方法,所述方法包括:

获取待处理的第一图像和第二图像,所述第一图像和所述第二图像为双目相机同一时刻采集的两幅图像对应的灰度图;

将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配,分别获得所述第一图像中的第一特征点、第二图像中的第二特征点、第一特征点在第一图像中的第一坐标信息、第二特征点在第二图像中的第二坐标信息和由相对应的第一特征点与第二特征点构成的特征点对,其中,所述匹配模型由卷积神经网络训练而成;

获取视差图并根据所述视差图计算各个像素点的深度信息,所述视差图是每个像素点由代表视差大小的值构成的图像,所述深度信息是表征每个像素点与图像采集点之间远近程度的信息;

根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息进行三维重建。

可选地,所述将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配的步骤包括:

采用surf算法对所述第一图像和所述第二图像进行特征点提取以及特征点匹配。

可选地,在获取待处理的第一图像和第二图像的步骤前,所述方法还包括:

获取第一初始图像和第二初始图像,所述第一初始图像和第二初始图像为双目相机同一时刻采集的且未经处理的图像;

对所述第一初始图像和第二初始图像进行图像矫正,以消除第一初始图像与第二初始图像中的形变,获得第一中间图像和第二中间图像;

分别针对所述第一中间图像和第二中间图像获取灰度图,对应得到所述第一图像和所述第二图像。

可选地,所述根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息进行三维重建的步骤包括:

针对每个特征点对,根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息获得该特征点对在三维空间中对应的三维坐标信息;

根据所有特征点对的所述三维坐标信息进行网格划分,获得多个网格;

根据各个网格顶点处三维坐标信息对应的图像坐标,从所述第一初始图像或者所述第二初始图像中获得网格范围内的纹理信息和颜色信息;

根据所述纹理信息和所述颜色信息绘制所述网格。

可选地,所述获取视差图并根据所述视差图计算各个像素点的深度信息的步骤包括:

分别计算第一图像中每个像素点与该像素点在第二图像中对应的像素点的灰度值之差,获得视差图;

针对视差图中每个像素点,根据该像素点的灰度值采用视差原理计算深度信息。

可选地,所述方法还包括:

获取由第一图像、第二图像和与第一图像、第二图像对应的标签组成的训练样本;

将所述训练样本输卷积神经网络进行模型训练,获得匹配模型。

本申请的另一目的在于提供一种三维重建装置,所述装置包括获取模块、特征提取模块、计算模块和三维重建模块;

所述获取模块具体用于获取待处理的第一图像和第二图像,所述第一图像和所述第二图像为双目相机同一时刻采集的两幅图像对应的灰度图;

所述特征提取模块用于将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配,分别获得所述第一图像中的第一特征点、第二图像中的第二特征点、第一特征点在第一图像中的第一坐标信息、第二特征点在第二图像中的第二坐标信息和由相对应的第一特征点与第二特征点构成的特征点对,其中,所述匹配模型由卷积神经网络训练而成;

所述计算模块用于获取视差图并根据所述视差图计算各个像素点的深度信息,所述视差图是每个像素点由代表视差大小的值构成的图像,所述深度信息是表征每个像素点与图像采集点之间远近程度的信息;

所述三维重建模块用于根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息进行三维重建。

可选地,所述特征提取模块具体用于:

采用surf算法对所述第一图像和所述第二图像进行特征点提取以及特征点匹配。

可选地,所述装置还包括预处理模块,所述预处理模块用于:

获取第一初始图像和第二初始图像,所述第一初始图像和第二初始图像为双目相机同一时刻采集的且未经处理的图像;

对所述第一初始图像和第二初始图像进行图像矫正,以消除第一初始图像与第二初始图像中的形变,获得第一中间图像和第二中间图像;

分别针对所述第一中间图像和第二中间图像获取灰度图,对应得到所述第一图像和所述第二图像。

可选地,所述三维重建模块具体用于:

针对每个特征点对,根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息获得该特征点对在三维空间中对应的三维坐标信息;

根据所有特征点对的所述三维坐标信息进行网格划分,获得多个网格;

根据各个网格顶点处三维坐标信息对应的图像坐标,从所述第一初始图像或者所述第二初始图像中获得网格范围内的纹理信息和颜色信息;

根据所述纹理信息和所述颜色信息绘制所述网格。

相对于现有技术而言,本申请具有以下有益效果:

本申请实施例中,在立体匹配阶段,将第一图像和第二图像输入由卷积神经网络训练而得的匹配模型中进行匹配,然后获取第一图像和第二图像中,各个相匹配的特征点对的深度信息,最终,根据各个特征点对的深度信息进行三维重建。在三维重建的过程中,由于会提取到特征明显的特征点,并通过对各个特征点匹配来完成立体匹配因此,可以极大地提高匹配精度,进而提高三维重建结果的精度。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本申请实施例提供的三维重建设备的结构示意框图;

图2是本申请实施例提供的三维重建方法的流程示意图一;

图3是本申请实施例提供的三维重建方法的流程示意图二;

图4是本申请实施例提供的三维重建方法的流程示意图三;

图5是本申请实施例提供的三维重建方法的流程示意图四;

图6是本申请实施例提供的三维重建方法的流程示意图无;

图7是本申请实施例提供的三维重建装置的流程示意图。

图标:100-三维重建设备;110-三维重建装置;111-获取模块;112-特征提取模块;113-计算模块;114-三维重建模块;115-预处理模块;120-存储器;130-处理器。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参见图1,图1是本申请实施例提供的三维重建设备100的结构示意框图,所述三维重建设备100包括三维重建装置110,存储器120和处理器130,存储器120和处理器130相互之间直接或间接电性连接,用于实现数据交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述三维重建装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述三维重建设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述三维重建装置110所包括的软件功能模块及计算机程序等。

请参见图2,图2是本申请实施例提供的一种三维重建方法,所述方法具体包括步骤s110-步骤s140。以下为步骤s110-步骤s140的详细阐述。

步骤s110,获取待处理的第一图像和第二图像,所述第一图像和所述第二图像为双目相机同一时刻采集的两幅图像对应的灰度图。

本实施例用于获取已经存在需要处理的第一图像和第二图像,其中,第一图像和第二图像是同一双目相机两个摄像机在同一时刻采集的图像分别对应的灰度图。例如,同一双目相机的两个摄像机可以是左摄像机和右摄像机,也就是说,第一图像是由左摄像机采集的图像经过一定处理而获得,第二图像是由右摄像机采集的图像经过一定的处理而获得,或者,第一图像是由右摄像机采集的图像经过一定处理而获得,第二图像是由左摄像机采集的图像经过一定的处理而获得。

请参见图3,可选地,本实施例中,在获取待处理的第一图像和第二图像的步骤前,所述方法还包括步骤s210-步骤s230。

步骤s210,获取第一初始图像和第二初始图像,所述第一初始图像和第二初始图像为双目相机同一时刻采集的且未经处理的图像。

例如,同一双目相机的两个摄像机可以是左摄像机和右摄像机,也就是说,第一初始图像是由左摄像机采集的图像经过一定处理而获得,第二初始图像是由右摄像机采集的图像经过一定的处理而获得,或者,第一初始图像是由右摄像机采集的图像经过一定处理而获得,第二初始图像是由左摄像机采集的图像经过一定的处理而获得。

步骤s220,对所述第一初始图像和第二初始图像进行图像矫正,以消除第一初始图像与第二初始图像中的形变,获得第一中间图像和第二中间图像。

由于双目相机直接采集的图像可能会产生一定程度的形变,因此,可以先对双目相机采集的图像进行矫正,以消除图片中的形变。这样,经过调整后的图片用于三维重建,能够进一步地提高三维重建的精度。

例如,可以将在图像对应的实物上,位于同一直线或者水平线的点在图片上调整到同一直线或者水平线上。

步骤s230,分别针对所述第一中间图像和第二中间图像获取灰度图,对应得到所述第一图像和所述第二图像。

本实施例中,将第一中间图像和第二中间图像转换为灰度图,可以方便计算第一中间图像与第二中间图像上各个像素点对应的视差值。

在灰度图中,各个像素点的颜色深浅即表示该像素点的视差大小。

请继续参见图2,步骤s120,分别对第一图像和第二图像进行特征匹配以及特征点提取。

具体地,将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配,分别获得所述第一图像中的第一特征点、第二图像中的第二特征点、第一特征点在第一图像中的第一坐标信息、第二特征点在第二图像中的第二坐标信息和由相对应的第一特征点与第二特征点构成的特征点对,其中,所述匹配模型由卷积神经网络训练而成。

本实施例用于提取第一特征点和第二特征点,并对第一图像和第二图像进行特征点匹配。其中,所述的第一特征点、第二特征点均是图像中具有显著特征变化的像素点,例如,第一特征点、第二特征点均可以是角点。特征点对是与实物上同一点相对应的第一特征点和第二特征点。

可选地,本实施例中,所述将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配的步骤包括,采用surf算法对所述第一图像和所述第二图像进行特征点提取以及特征点匹配。

步骤s130,获取视差图并根据所述视差图计算各个像素点的深度信息,所述视差图是每个像素点由代表视差大小的值构成的图像,所述深度信息是表征每个像素点与图像采集点之间远近程度的信息。

请参见图4,可选地,本实施例中,步骤s130的详细描述可以参见步骤s131-步骤s132。

步骤s131,分别计算第一图像中每个像素点与该像素点在第二图像中对应的像素点的灰度值之差,获得视差图。

步骤s132,针对视差图中每个像素点,根据该像素点的灰度值采用视差原理计算深度信息。

本实施例中,第一图像、第二图像中,各个像素点的灰度值大小代表该像素点对应的实物上的点与对应的摄像机之间的距离远近程度。因此,第一图像和第二图像中相对应的像素点的像素值之差,便代表各个像素点上的视差大小,故可以构成视差图。第一图像和第二图像中相对应的像素点是指两张图像在同一放置方向下,位于同一位置的像素点。例如,第一图像为5x5的图像,第二图像为5x5的图像,那么第一图像中第一行、第一列的像素点与第二图像中第二行、第二列的像素点便是相对应的像素点。

步骤s140,根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息进行三维重建。

请参见图5,可选地,本实施例中,进行三维重建的具体步骤可以包括步骤s141-步骤s144。

步骤s141,获取各个特征点对在三维空间中对应点的三维坐标信息。

具体地,针对每个特征点对,根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息获得该特征点对在三维空间中对应的三维坐标信息。

步骤s142,根据所有特征点对的所述三维坐标信息进行网格划分,获得多个网格。

步骤s143,从所述第一初始图像或者所述第二初始图像中获得网格范围内的纹理信息和颜色信息。

具体地,根据各个网格顶点处三维坐标信息对应的图像坐标,从所述第一初始图像或者所述第二初始图像中获得网格范围内的纹理信息和颜色信息。

步骤s144,根据所述纹理信息和所述颜色信息绘制所述网格。

本实施例中,其中纹理信息可使用lbp算法进行二进制编码进行表示。在进行网格划分时,可以将各个特征点对在三维空间中对应的三维点作为多边形(如三角形)的三维顶点,这样,便完成了网格划分。在划分完网格后,便可以根据每个多边形各个三维顶点的三维坐标信息,找到该多边形的各个顶点在第一初始图像或者第二初始图像中平面顶点,根据该平面顶点便可以确定该多边形在第一初始图像或者第二初始图像上的区域,进而获得该区域的纹理信息和颜色信息。

当然,本实施例中,也可以在对第一初始图像或者第二初始图像进行矫正后,根据每个多边形各个三维顶点的三维坐标信息,找到该多边形的各个顶点在第一中间图像或者第二中间图像中平面顶点,根据该平面顶点便可以确定该多边形在第一中间图像或者第二中间图像上的区域,进而获得该区域的纹理信息和颜色信息。

请参见图6,可选地,所述方法还包括步骤s310-步骤s320。

步骤s310,获取由第一图像、第二图像和与第一图像、第二图像对应的标签组成的训练样本。

本实施例中,用于根据已经获得的训练样本进行模型训练。训练样本的获得过程可以是根据初始训练图像经过预处理获得。其中,预处理的过程可以根据采用的深度学习框架决定,例如,caffe深度学习框架的数据是lmdb格式,tensorflow深度学习框架的数据是tfrecord格式。

当然,本实施例中,在训练模型前,还需要搭建卷积神经网络,例如,初步搭建的卷积神经网络可以包含卷积层、池化层、全连接层、drop层等。如输入图像a作为输入层数据,卷积层选择3*3的矩形框,对图像进行卷积,使输入层数据特征增强,池化层为降采样过程,以减少计算量,如原图像为20*20,使用10*10的池化窗口,最终降采样的结果为一个2*2的矩阵,全连接层使用softmax进行连接所有特征,在cnn算法中作为一个“分类器”,drop层为在训练过程中,每个神经网络单元按照一定概率将其从网络中丢弃,能够避免过拟合。

在搭建好卷积神经网络后,可以对网络进行权值的初始化,可随机初始化,一般为0.1~0.01之间。

步骤s320,将所述训练样本输卷积神经网络进行模型训练,获得匹配模型。

本实施例用于将训练样本打入已经进行过权值初始化的卷积神经网络,进行网络训练。

具体地,先将输入数据经过卷积层、下采样层、全连接层的向前传播得到输出值,其中输出值表示预先定义的类别编号,然后再求出网络的输出值与目标值(输入训练图像的标签,即正确的类别编号)之间的误差,使用损失函数进行求值。接着,当误差大于我们的期望值时,将误差传回网络中,依次求得全连接层,下采样层,卷积层的误差。各层的误差可以理解为对于网络的总误差,网络应承担多少;当误差等于或小于我们的期望值时,结束训练。最后,根据求得误差进行权值更新。

请参见图7,本申请的另一目的在于提供一种三维重建装置110,所述装置包括获取模块111、特征提取模块112、计算模块113和三维重建模块114;所述三维重建装置110包括一个可以软件或固件的形式存储于所述存储器120中或固化在所述三维重建设备100的操作系统(operatingsystem,os)中的软件功能模块。

所述获取模块111具体用于获取待处理的第一图像和第二图像,所述第一图像和所述第二图像为双目相机同一时刻采集的两幅图像对应的灰度图。

本实施例中所述获取模块111用于执行步骤s110,关于所述获取模块111的具体描述可参照对所述步骤s110的描述。

所述特征提取模块112用于将所述第一图像和所述第二图像同时输入预先训练好的匹配模型进行特征点提取以及特征点匹配,分别获得所述第一图像中的第一特征点、第二图像中的第二特征点、第一特征点在第一图像中的第一坐标信息、第二特征点在第二图像中的第二坐标信息和由相对应的第一特征点与第二特征点构成的特征点对,其中,所述匹配模型由卷积神经网络训练而成。

本实施例中所述特征提取模块112用于执行步骤s120,关于所述特征提取模块112的具体描述可参照对所述步骤s120的描述。

所述计算模块113用于获取视差图并根据所述视差图计算各个像素点的深度信息,所述视差图是每个像素点由代表视差大小的值构成的图像,所述深度信息是表征每个像素点与图像采集点之间远近程度的信息。

本实施例中所述计算模块113用于执行步骤s130,关于所述计算模块113的具体描述可参照对所述步骤s130的描述。

所述三维重建模块114用于根据特征点对中的第一特征点的第一坐标信息、第二特征点的第二坐标信息和所述深度信息进行三维重建。

本实施例中所述三维重建模块114用于执行步骤s140,关于所述三维重建模块114的具体描述可参照对所述步骤s140的描述。

可选地,所述装置还包括预处理模块115,所述预处理模块115用于:

获取第一初始图像和第二初始图像,所述第一初始图像和第二初始图像为双目相机同一时刻采集的且未经处理的图像;

对所述第一初始图像和第二初始图像进行图像矫正,以消除第一初始图像与第二初始图像中的形变,获得第一中间图像和第二中间图像;

分别针对所述第一中间图像和第二中间图像获取灰度图,对应得到所述第一图像和所述第二图像。

本实施例中所述预处理模块115用于执行步骤s210-步骤s230,关于所述预处理模块115的具体描述可参照对所述步骤s210-步骤s230的描述。

综上所述,本申请实施例,卷积神经网络算法的引入,使得视差图的精度更高,深度信息也更加可信,因此使用三维引擎三维重建的结果将会更加接近物体原型。同时,由于使用三维引擎完成最终的三维重建,使得重建的过程更加灵活,无论是对最终观察重建效果或是调整模型结构都变得更加的方便。

以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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