一种三维重建方法、装置、设备和介质与流程

文档序号:14478991阅读:199来源:国知局

本发明实施例涉及三维重建技术领域,尤其涉及一种三维重建方法、装置、设备和介质。



背景技术:

传统的成像的过程中,都是将三维空间中的信息映射到二维空间中,因而丢失了距离深度信息。如果需要从二维空间恢复出三维空间的信息,必须要在得到二维的方位信息的同时得到距离信息,才能够准确的恢复三维信息。

双目立体视觉是当前采用最多的一种三维大数据分析方法,其主要利用摄像头在不同位置处对同一个场景中物体进行观测时产生的视差进行深度信息的恢复。

但是,双目立体视觉也还存在着许多问题,例如同名点的查找与匹配是整个双目视觉的关键,也是难点,如果匹配的不准确,那么重建出的三维信息也不准确。



技术实现要素:

本发明实施例提供一种三维重建方法、装置、设备和介质,以实现基于深度摄像机对三维物体进行三维重建的方法。

第一方面,本发明实施例提供了一种三维重建方法,该方法包括:

基于深度摄像头,获取场景的深度图像;

根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影,其中拍摄视线方向是连接所述摄像头和所述深度图像的方向;

根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比;

根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建。

进一步地,根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比包括:

根据所述投影和所述摄像头的位置,确定所述投影中各像素点至所述摄像头的距离;

将各像素点的所述距离与其在所述深度图中的深度的比值,确定为相似比。

进一步地,根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建包括:

根据所述投影、所述摄像头的位置和所述相似比,确定所述场景的三维坐标的集合;

根据所述场景的三维坐标的集合,对所述场景进行三维重建。

进一步地,根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影包括:

对所述摄像头进行标定,获取透视投影矩阵;

根据所述投影矩阵和所述深度图像中的二维坐标,确定所述场景沿拍摄视线方向投影在水平面的投影。

第二方面,本发明实施例还提供了一种三维重建装置,该装置包括:

获取模块,用于基于深度摄像头,获取场景的二维深度图像;

投影模块,用于根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影,其中拍摄视线方向是连接所述摄像头和所述深度图像的方向;

比值确定模块,用于根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图像中的深度的比值,确定为相似比;

三维重建模块,用于根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建。

进一步地,比值确定模块包括:

距离确定单元,用于根据所述投影和所述摄像头的位置,确定所述投影中各像素点至所述摄像头的距离;

比值确定单元,用于将各像素点的所述距离与其在所述深度图中的深度的比值,确定为相似比。

进一步地,三维重建模块包括:

坐标确定单元,用于根据所述投影、所述摄像头的位置和所述相似比,确定所述场景的三维坐标的集合;

三维重建单元,用于根据所述场景的三维坐标的集合,对所述场景进行三维重建。

进一步地,投影模块包括:

矩阵获取单元,用于对所述摄像头进行标定,获取透视投影矩阵;

投影单元,用于根据所述投影矩阵和所述深度图像中的二维坐标,确定所述场景沿拍摄视线方向投影在水平面的投影。

第三方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的三维重建方法。

第三四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的三维重建方法。

本发明实施例通过深度摄像头的位置点、深度摄像头垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第一直角三角形,通过实际场景所在现实空间中的点、实际场景垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第二直角三角形。因为第一直角三角形的三个内角与第二直角三角形的三个内角相同,所以互为相似三角形,且第一直角三角形与第二直角三角形的对应边成比例。基于上述理论,利用深度摄像头的位置坐标和上述投影坐标确定第一直角三角形斜边的距离。利用实际场景的深度图像中各像素点的深度信息确定第二直角三角形斜边的距离。根据上述两斜边的距离,确定对应边的比例。根据对应边的比例,确定实际场景在世界坐标系中的三维坐标的集合,根据得到的三维坐标的集合对实际场景进行三维重建。

附图说明

图1为本发明实施例一提供的一种三维重建方法的流程图;

图2是本发明实施例二提供的一种三维重建方法的流程图;

图3是本发明实施例二提供的一种摄像头、场景和场景投影之间位置关系的示意图;

图4是本发明实施例三提供的一种三维重建装置的结构示意图;

图5为本发明实施例四提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种三维重建方法的流程图。本实施例可适用于对实际场景进行三维重建的情况。该方法可以由一种三维重建装置来执行,该装置可以由软件和/或硬件的方式实现。参见图1,本实施例提供的三维重建方法包括:

s110、基于深度摄像头,获取场景的深度图像。

其中,场景为现实场景。通过深度摄像头能够获取深度图像。深度图像中包括现实场景中各点在rgb图像中的成像点坐标,及现实场景中各点的深度。具体的,深度表示现实场景中各点距离深度摄像头的镜面中心的距离。

为准确且快速地获取实时检验范围内场景的深度信息,深度摄像头包括但不限于基于机构光编码技术的深度摄像头。

s120、根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影。

其中,拍摄视线方向是连接所述摄像头和所述深度图像的方向。典型的,若求取场景中第一点的投影,则拍摄视线方向是连接所述摄像头位置坐标和上述第一点的图像坐标的方向。

具体的,根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影包括:

对所述摄像头进行标定,获取透视投影矩阵;

根据所述投影矩阵和所述深度图像中的二维坐标,确定所述场景沿拍摄视线方向投影在水平面的投影。

其中,透视投影矩阵表示,所述摄像头拍摄的图像的二维图像坐标系与三维世界坐标系的映射关系。

可选的,对所述摄像头标定的方法有多种:根据是否需要标定参照物来看,可分为传统的摄像机标定方法和摄像机自标定方法;从所用模型不同来分有线性和非线性;从求解参数的结果来分有显式和隐式。本实施例中可以采用上述任一中标定方法实现对所述摄像头的标定,本实施例对此并不进行限定。

典型的,将所述投影矩阵和所述深度图像中的二维图像坐标代入,二维图像坐标系与三维世界坐标系的转换公式中;然后令三维世界坐标系中第三维度的坐标值为零,利用上述公式求取三维世界坐标系中第一维度和第二维度的坐标值,从而确定上述投影在三维世界坐标系中的三维坐标。

s130、根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比。

具体的,根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比包括:

根据所述投影和所述摄像头的位置,确定所述投影中各像素点至所述摄像头的距离;

将各像素点的所述距离与其在所述深度图中的深度的比值,确定为相似比。

其中,所述投影中各像素点至所述摄像头的距离可以通过,将所述投影中各像素点坐标和所述摄像头的位置坐标代入两点间距离公式确定。

s140、根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建。

具体的,根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建包括:

根据所述投影、所述摄像头的位置和所述相似比,确定所述场景的三维坐标的集合;

根据所述场景的三维坐标的集合,对所述场景进行三维重建。

其中,根据所述投影中各像素点的坐标、所述摄像头的位置和所述相似比,确定所述场景中各点的三维坐标为所述场景的三维坐标的集合。

依据重建曲面的表示方法可以将重建方法分为:参数重建、隐式重建、变形重建、网格重建和细分重建。

其中,参数重建是以参数形式的曲线或曲面实现工业产品或机械部件的外形设计;隐式重建对曲线曲面进行求交运算时具有一定优势;变形重建是在去顶初始曲面之后,同时确定一个形变方向,以使曲面沿着该方向增长形变,直至实现完整曲面重建;网格重建方法以多边形的方法表示模型;细分重建从点、线、面等多个角度完成曲面的重建。

可选的,本实施例可以采用上述任一种重建方法实现对场景的三维重建。

本发明实施例的技术方案,通过深度摄像头的位置点、深度摄像头垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第一直角三角形,通过实际场景所在现实空间中的点、实际场景垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第二直角三角形。因为第一直角三角形的三个内角与第二直角三角形的三个内角相同,所以互为相似三角形,且第一直角三角形与第二直角三角形的对应边成比例。基于上述理论,利用深度摄像头的位置坐标和上述投影坐标确定第一直角三角形斜边的距离。利用实际场景的深度图像中各像素点的深度信息确定第二直角三角形斜边的距离。根据上述两斜边的距离,确定对应边的比例。根据对应边的比例,确定实际场景在世界坐标系中的三维坐标的集合,根据得到的三维坐标的集合对实际场景进行三维重建。

实施例二

图2是本发明实施例二提供的一种三维重建方法的流程图。本实施例是在上述实施例的基础上提出的一种可选方案。

为方便对本实施例方案理解,首先对本实施例中涉及的一些概念进行介绍,如下:

摄像头标定,摄像头的标定是为了获取摄像头二维图像坐标与世界坐标系中的映射关系。经过标定的摄像头含有更多关于场景以及图像的信息,能够有助于后续进行三维轮廓的重建。

透视成像模型,反映二维图像坐标与世界坐标系中的映射关系。理想的透视成像模型是小孔成像模型。将理想情况下上述映射关系可以看作是如下的一个透视线性变换:

其中xw,yw,zw为世界坐标系中的坐标,u,v为图像中一像素点坐标,mij是透视投影矩阵的元素,zc为摄像头坐标系中的z坐标。

透视投影矩阵,即透视成像模型中的转换矩阵。

参见图2,本实施例提供的三维重建方法包括:

s210、采用直接线性变换对深度摄像头进行标定,确定透视投影矩阵,记为m,具体如下:

具体的,直接线性变换法求解三维标定的过程如下:

要求得图像坐标系中的u,v需要消去zc,每个点都可以得到如下两个方程:

m11xw+m12xw+m13xw+m14-uxwm31-uywm32-uzwm33=um34

m21xw+m22xw+m23xw+m24-vxwm31-vywm32-vzwm33=vm34

利用多个点可以得到如下线性方程组

要求解的矩阵一共有12个未知数,不失一般性,首先设m34=1,通过选取六个点,建立12个方程可以求出透视矩阵的11个参数[m′11m′12m′13m′14m′21m′22m′23m′24m′31m′32m′33],变为:

但是,实际计算中由于选取点的位置有些许误差,可以采用选取多余六个点的方式,构建超定方程,将最小二乘解作为透视矩阵的变换系数,另外由于实际透视举证中第三行中的元素需要满足那么需要将矩阵进行一下变换然后将m34乘以m′可以得到m矩阵。

直接线性法的优点是无需迭代,速度较快。因此直接线性法的应用可以提高三维重建的速度。

s220、依据m和图像坐标系中场景图像坐标,计算图像坐标方向视线与水平面的交点。

其中上述交点也即场景沿拍摄视线方向投影在水平面的投影。

具体按照如下公式计算上述交点的坐标:

整理得到如下二元一次方程:

令zw=0,根据u,v,对上述方程求解,得到上述交点在世界坐标系中的坐标,记为xw,yw。其中u,v具体可以由深度摄像头拍摄的深度图像获得。

s230、根据上述交点在世界坐标系中的坐标,确定上述交点至深度摄像头的距离,记为distance。

按照如下公式计算上述距离:

distance(u,v)=sqrt((xw-xc)2+(yw-yc)2+(hc)2)

其中,distance(u,v)为坐标点u,v至深度摄像头的距离;xw,w,0是u,v方向视线与水平面的交点在世界坐标系下的坐标;xc,yc,hc是深度摄像头在世界坐标系下的位置坐标。

s240、将深度摄像头采集的深度图像中像素点的深度信息,与上述交点至深度摄像头的距离的比值,确定为相似比,记为ratio。

按照如下公式计算相似比:

其中,ratio(u,v)为坐标u,v的相似比;depth(u,v)为该坐标对应的像素点的深度。

s250、根据上述交点、深度摄像头的位置坐标和上述相似比,确定场景的三维坐标的集合。

按照如下公式计算场景的三维坐标:

xp=(xw-xc)×ratio(u,v)+xc

yp=(yw-yc)×ratio(u,v)+yc

hp=(1-ratio(u,v))×hc

其中,xp,yp,hp是场景中一点的三维坐标。

s260、根据所述场景的三维坐标的集合,对所述场景进行三维重建。

示例性的,参见图3,深度摄像头1的位置点、深度摄像头垂直地面的点和实际场景中的一点2沿拍摄视线方向投影在水平面的交点3构造出第一直角三角形;通过上述实际场景中的一点2、该点垂直地面的点和上述实际场景中的一点2沿拍摄视线方向投影在水平面的交点构造第二直角三角形。因为第一直角三角形的三个内角与第二直角三角形的三个内角相同,所以互为相似三角形,且第一直角三角形与第二直角三角形的对应边成比例。依据透视投影矩阵和实际场景中的一点2的图像坐标,确定交点3的坐标。根据深度摄像头1的位置坐标和交点3的坐标,计算两位置点之间的距离。将实际场景中的一点2的深度与上述距离的比值,作为相似比。根据相似比、深度摄像头1的位置坐标和交点3的坐标,确定实际场景中一点2的三维坐标。以此类推,求取场景中全部点的三维坐标作为三维坐标的集合,根据三维坐标的集合对场景进行三维重建。

本发明实施例的技术方案,通过直接线性变换法对深度摄像头进行标定,因为直接线性法具有无需迭代,速度较快的特点。因此直接线性法的应用可以提高三维重建的速度。

实施例三

图4是本发明实施例三提供的一种三维重建装置的结构示意图。参见图4,本实施例提供的三维重建装置包括:获取模块10、投影模块20、比值确定模块30和三维重建模块40.

其中,获取模块10,用于基于深度摄像头,获取场景的二维深度图像;

投影模块20,用于根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影,其中拍摄视线方向是连接所述摄像头和所述深度图像各像素点的方向;

比值确定模块30,用于根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比;

三维重建模块40,用于根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建。

本发明实施例的技术方案,通过深度摄像头的位置点、深度摄像头垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第一直角三角形,通过实际场景所在现实空间中的点、实际场景垂直地面的点和实际场景沿拍摄视线方向投影在水平面的投影的点构造第二直角三角形。因为第一直角三角形的三个内角与第二直角三角形的三个内角相同,所以互为相似三角形,且第一直角三角形与第二直角三角形的对应边成比例。基于上述理论,利用深度摄像头的位置坐标和上述投影坐标确定第一直角三角形斜边的距离。利用实际场景的深度图像中各像素点的深度信息确定第二直角三角形斜边的距离。根据上述两斜边的距离,确定对应边的比例。根据对应边的比例,确定实际场景在世界坐标系中的三维坐标的集合,根据得到的三维坐标的集合对实际场景进行三维重建。

进一步地,比值确定模块30包括:距离确定单元和比值确定单元。

其中,距离确定单元,用于根据所述投影和所述摄像头的位置,确定所述投影中各像素点至所述摄像头的距离;

比值确定单元,用于将各像素点的所述距离与其在所述深度图中的深度的比值,确定为相似比。

进一步地,三维重建模块40包括:坐标确定单元和三维重建单元。

其中,坐标确定单元,用于根据所述投影、所述摄像头的位置和所述相似比,确定所述场景的三维坐标的集合;

三维重建单元,用于根据所述场景的三维坐标的集合,对所述场景进行三维重建。

进一步地,投影模块20包括:矩阵获取单元和投影单元。

其中,矩阵获取单元,用于对所述摄像头进行标定,获取透视投影矩阵;

投影单元,用于根据所述投影矩阵和所述深度图像中的二维坐标,确定所述场景沿拍摄视线方向投影在水平面的投影。

实施例四

图5为本发明实施例四提供的一种设备的结构示意图,如图5所示,该设备包括处理器70、存储器71、输入装置72和输出装置73;设备中处理器70的数量可以是一个或多个,图5中以一个处理器70为例;设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的三维重建方法对应的程序指令/模块(例如,三维重建装置中的获取模块10、投影模块20、比值确定模块30和三维重建模块40)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的三维重建方法。

存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置72可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种三维重建方法,该方法包括:

基于深度摄像头,获取场景的深度图像;

根据所述摄像头与所述深度图像,确定所述场景沿拍摄视线方向投影在水平面的投影,其中拍摄视线方向是连接所述摄像头和所述深度图像的方向;

根据所述投影、所述摄像头的位置和所述深度图像,将所述投影中各像素点至所述摄像头的距离,与其在所述深度图中的深度的比值,确定为相似比;

根据所述投影、所述摄像头的位置和所述相似比,对所述场景进行三维重建。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的三维重建方法中的相关操作.

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述三维重建装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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