三维重建方法和用于三维重建的系统与流程

文档序号:20078910发布日期:2020-03-10 10:14阅读:353来源:国知局
三维重建方法和用于三维重建的系统与流程

本发明涉及图像重建技术领域,具体地涉及一种三维重建方法和用于三维重建的系统。



背景技术:

随着石化企业等企业的综合自动化程度的提高和计算机信息技术的飞速发展,“智能工厂”、“数字化工厂”成为企业建设的目标之一。工厂三维模型的数字化是“智能工厂”建设的基础,通过建立工厂设备三维模型,在其基础上集成生产运营等各种数据,为企业提供安全生产整体解决方案。由于工厂设备具有复杂性、专业性等各种特性,因此,面向工厂设备的快速高效三维重建技术研究是虚拟现实技术在工厂生产中推广应用的关键环节之一。

三维重建广义上是指将三维空间的物体或场景进行恢复和重构的技术,重建的模型可方便计算机表示、处理和显示。实际上,三维重建是对三维空间中的物体和场景的二维投影图像进行描述或重构的逆过程,由二维图像还原成含有三维信息的物体或场景。因此,三维重建技术是在计算机中建立客观世界的虚拟现实的一种关键性技术,它能够提供更多的三维信息,光学三维重建是目前主流的三维重建方法。

主动式光学(activeoptical)三维重建方法,即对物体进行三维重建的过程中,在原始图像采集阶段除了环境光照之外又人为地添加一个或多个人造光源,依靠光学特性进行三维重建的方法。这类重建方法因为有着较多的光度约束,从而可以得到更加准确的重建细节。其中,结构光法和光度立体法均是现有的重建方法中精度最高的方法之一。

结构光法(structurelight)根据标定好的激光线在物体表面产生的偏移量来计算激光线处物体的高度从而得到物体的一个剖面高度,经过扫描得到所有剖面高度从而得到物体的三维信息。结构光法是根据激光在介质中传播的物体性质进行的重建方法,也是现有精度最高的重建方法,重建结果接近真实值(groundtruth)。但其缺点则是只能对静止物体进行扫描,无法在运动中进行重建,而且设置要求很高,重建范围小等,是一种理想条件下的重建方法,很难进行实际应用。

光度立体法(photometricstereo)是使用同一个相机在多个不同角度的人造光源的照射下,分别拍摄多幅图像,利用多幅图像中的信息增加约束条件来获取唯一的解。它解决了最开始的明暗恢复法使用单帧图像中的灰度信息结合物体的形状(局部或整体)进行约束获取待建物体的三维信息。但是单帧图像中约束条件较少,导致重建结果不够精细。

本申请发明人发现,现有的三维重建方法,都需要对静止物体进行多次图像采集或扫描,效率低,且无法对待重建物体进行实时重建。



技术实现要素:

本发明实施例的目的是提供一种三维重建方法和用于三维重建的系统,用于解决上述技术问题中的一者或多者。

为了实现上述目的,本发明实施例提供一种三维重建方法,所述方法包括:控制红色、蓝色和绿色的光照射物体表面;采集同时在红色、蓝色和绿色的光照射下的物体表面的图像;将采集的图像进行三通道分离,获得三幅分别与红色、蓝色和绿色的光对应的灰度图像;以及根据所述红色、蓝色和绿色的光的照射角度和所述灰度图像,对所述物体进行三维重建。

可选的,所述根据所述红色、蓝色和绿色的光的照射角度和所述灰度图像,对所述物体进行三维重建包括:根据所述红色、蓝色和绿色的光的照射角度和三幅所述灰度图像中每一像素点的亮度,确定所采集的图像的每一像素点的表面法向量;根据所述每一像素点的表面法向量确定每一像素点的梯度值;根据所述每一像素点的梯度值确定所述物体表面高度;以及根据所述物体表面高度,对所述物体进行三维重建。

可选的,所述根据所述红色、蓝色和绿色的光的照射角度和所述灰度图像中每一像素点的亮度,确定每一像素点的表面法向量包括根据以下公式确定所述每一像素点的表面法向量:i(x,y)=ρnl,其中,i(x,y)为所述红色、蓝色和绿色的光中的一者对应的灰度图像中的像素点(x,y)的亮度,ρ为所述物体表面的反照率,l为所述红色、蓝色或绿色的光中的所述一者的方向向量,n为所采集的图像的像素点(x,y)的表面法向量。

可选的,所述根据所述每一像素点的表面法向量确定每一像素点的梯度值包括根据以下公式确定每一像素点的梯度值:其中,n为像素点(x,y)的表面法向量,nx为所述像素点(x,y)的表面法向量在三维坐标系中x轴方向的坐标,ny为所述像素点(x,y)的表面法向量在三维坐标系中y轴方向的坐标,nz为所述像素点(x,y)的表面法向量在三维坐标系中z轴方向的坐标,p和q为所述像素点(x,y)在x轴和y轴方向的梯度值。

可选的,所述根据所述每一像素点的梯度值确定所述物体表面高度包括:对像素点(x,y)的梯度值p和q进行积分处理以确定所述物体表面高度。

可选的,所述对像素点(x,y)的梯度值p和q进行积分处理的过程中采用的积分方法为以下中的任意一种:微积分方法、直接积分方法或频域积分方法。

相应的,本发明实施例提供一种用于三维重建的系统,所述系统包括:发光装置,包括分别发射红色、蓝色和绿色的光的三种发光单元,用于照射物体表面;图像采集装置,用于采集同时在红色、蓝色和绿色的光照射下的物体表面的图像;以及处理装置,用于将采集的图像进行三通道分离,获得三幅分别与红色、蓝色和绿色的光对应的灰度图像,并根据所述红色、蓝色和绿色的光的照射角度和所述灰度图像,对所述物体进行三维重建。

可选的,所述图像采集装置与所述发光单元的位置相对固定,用于确定所述红色、蓝色和绿色的光的照射角度。

可选的,所述系统还包括显示装置,与所述处理装置相连接,用于显示所述物体被三维重建后三维立体图像。

可选的,所述处理装置还用于执行以下操作:根据所述红色、蓝色和绿色的光的照射角度和三幅所述灰度图像中每一像素点的亮度,确定所采集的图像的每一像素点的表面法向量;根据所述每一像素点的表面法向量确定每一像素点的梯度值;根据所述每一像素点的梯度值确定所述物体表面高度;以及根据所述物体表面高度,对所述物体进行三维重建。

可选的,所述处理装置用于根据以下公式确定所述每一像素点的表面法向量:i(x,y)=ρnl,其中,i(x,y)为所述红色、蓝色和绿色的光中的一者对应的灰度图像中的像素点(x,y)的亮度,ρ为所述物体表面的反照率,l为所述红色、蓝色或绿色的光中的所述一者的方向向量,n为所采集的图像的像素点(x,y)的表面法向量。

可选的,所述处理装置用于根据以下公式确定每一像素点的梯度值:其中,n为像素点(x,y)的表面法向量,nx为所述像素点(x,y)的表面法向量在三维坐标系中x轴方向的坐标,ny为所述像素点(x,y)的表面法向量在三维坐标系中y轴方向的坐标,nz为所述像素点(x,y)的表面法向量在三维坐标系中z轴方向的坐标,p和q为所述像素点(x,y)在x轴和y轴方向的梯度值。

可选的,所述处理装置对像素点(x,y)的梯度值p和q进行积分处理以确定所述物体表面高度。

可选的,所述处理装置对像素点(x,y)的梯度值p和q进行积分处理的过程中采用的积分方法为以下中的任意一种:微积分方法、直接积分方法或频域积分方法。

通过上述技术方案,不需要采集多个图像,只通过在某一时刻采集的单帧彩色图像,即可完成待建物体表面的三维重建,工作效率高,且精确度也很高。并且本发明提供的技术方案,还可以实现待建物体表面的图像的实时重建,即对于非静止的物体也可以进行实时的三维重建,应用范围广。另外,由于通过本发明实施例提供的技术方案能够实时对工厂设备的表面图像进行三维重建,且重建后的图像准确度高,这可以解决现有的工厂设备检修不彻底,有遗漏的问题,还可以提高企业的检修效率。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明实施例提供的用于三维重建的系统的结构示意图;

图2是本发明实施例提供的用于三维重建的系统的结构示意图;

图3是本发明实施例提供的三维重建方法的流程图。

附图标记说明

1发光装置2图像采集装置

3处理装置4发光单元

5终端

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

图1是本发明实施例提供的用于三维重建的系统的结构示意图。如图1所示,所述用于三维重建的系统包括:发光装置1、图像采集装置2和处理装置3。所述发光装置1包括多个发光单元,所述多个发光单元分别用于发射红色、蓝色和绿色的光以照射待重建物体的表面;图像采集装置2用于采集同时在红色、蓝色和绿色的光照射下的物体表面的图像;处理装置3与图像采集装置2相连接,接收图像采集装置2采集的图像,并对所述图像进行处理后确定待建物体表面的三维信息,根据所述三维信息对物体进行三维重建。

其中,所述发光单元可以为led灯等能够发出红色、绿色和蓝色灯颜色的光的装置。

为了保证物体表面三维重建的精度,所述发出红色、绿色和蓝色的光的灯要保证每一颜色的光都能够完全照到待建物体表面。

所述图像采集装置2优选为具有高分辨率的相机,且图像采集装置2的分辨率越高,重建的物体图像精度越高,效果越好。所述图像采集装置2所采集的图像为二维彩色图像。

所述处理装置3可以为通用处理器、专用处理器、常规处理器、数字信号处理器(dsp,digitalsignalprocessing)、微处理器、控制器、微控制器、嵌入式处理器等等。

其中,所述处理装置3通过执行以下步骤来实现根据采集的物体表面的图像对物体进行三维重建:

接收图像采集装置2采集的同时在红色、绿色和蓝色的光照射下的物体表面的图像,所采集的图像为单帧彩色图像;

将采集的单帧彩色图像进行三通道分离,获得三幅分别与红色、蓝色和绿色的光对应的灰度图像;以及

根据红色、绿色和蓝色的光的照射角度和所述三幅灰度图像,对物体进行三维重建。

其中,红色、绿色和蓝色的光的照射角度由发光单元与图像采集装置2的拍摄视角的相对位置确定。为了便于确定各种颜色的光的照射角度,可以在进行图像采集前,先固定发光单元的位置,以确定图像采集装置2的拍摄视角与发光单元发射的光的照射角度之间的夹角。

为了方便对多个物体的表面进行三维重建,所述图像采集装置2可以与发光单元的位置相对固定,这样即可确定所述红色、蓝色和绿色的光的照射角度。

其中,所述发光单元和图像采集装置2可以被集成为一体式设备。例如,所述发光单元和图像采集装置2可以固定在同一脚手架上,可以根据需要移动安装有发光单元和图像采集装置2的脚手架,来同步移动发光单元和图像采集装置2,以使其之间的相对位置维持固定不变。

另外,在对不同的物体的表面进行三维重建时,可以微调所述发光单元的位置,以使得每一颜色的光都可以全部照亮待建物体的表面。这样可以适应不同大小的场景下的拍摄要求,脱离了传统方法的固定式光源,可以更方便的在实际检修中获得对待建物体进行三维重建所需的数据。

可选的,该系统中还包括电动执行机构,利用所述电动执行机构来调节所述发光单元的发光角度。在保证能够调节发光单元的发光角度的条件下,工作人员还可以选择其他装置来驱动发光单元动作以调整发光单元的发光角度。

其中,处理装置3根据红色、绿色和蓝色的光的照射角度和所述三幅灰度图像,对物体进行三维重建,具体通过以下步骤实现:

首先,根据红色的光的照射角度和红色光对应的灰度图像中的每一像素点的亮度、绿色的光的照射角度和绿色光对应的灰度图像中的每一像素点的亮度以及蓝色的光的照射角度和蓝色光对应的灰度图像中的每一像素点的亮度,确定所采集的图像的每一像素点的表面法向量;

再根据所述每一像素点的表面法向量,确定每一像素点的梯度值;

再根据每一像素点的梯度值确定物体表面各处的高度;以及

根据所述物体表面各处的高度,实现对物体表面的三维重建。

本发明实施例还提供了一种用于确定采集的图像的每一像素点的表面法向量的公式:i(x,y)=ρnl。其中,i(x,y)表示所述红色、蓝色和绿色的光中的一者对应的灰度图像中的像素点(x,y)的亮度,ρ表示物体表面反照率,l表示所述红色、蓝色或绿色的光中的所述一者的方向向量,n表示所采集的图像的像素点(x,y)的表面法向量,即该像素点(x,y)所朝的方向(该像素点(x,y)的切面所朝向的方向)。

具体的,先根据红色的光对应的灰度图像的像素点(x,y)的亮度i红(x,y)、红色的光的方向向量l红(根据红色的光的照射角度确定的)确定一个等式(1):i红(x,y)=ρnl红;

再根据先根据绿色的光对应的灰度图像的像素点(x,y)的亮度i绿(x,y)、红色的光的方向向量l绿(根据红色的光的照射角度确定的)确定一个等式(2):i绿(x,y)=ρnl绿;

再根据蓝色的光对应的灰度图像的像素点(x,y)的亮度i蓝(x,y)、蓝色的光的方向向量l蓝(根据红色的光的照射角度确定的)确定一个等式(3):i蓝(x,y)=ρnl蓝。

其中,等式(1)、(2)和(3)中的i红(x,y)、l红、i绿(x,y)、l绿、i蓝(x,y)和l蓝都是已知的,且三个等式中的ρ为同一值、n为同一像素点(x,y)的表面法向量。

因为像素点(x,y)的表面法向量n是三维空间中的一个向量,因此它是一个三维数据,含有三个未知数,所以需要将等式(1)、(2)和(3)联立成一个方程组,在求解过程中,约去ρ,即可获得所述像素点(x,y)的表面法向量n的唯一解。

本发明实施例还提供了一种用于确定每一像素点的梯度值的公式:其中,n表示像素点(x,y)的表面法向量,nx为所述像素点(x,y)的表面法向量在三维坐标系中x轴方向的坐标,ny为所述像素点(x,y)的表面法向量在三维坐标系中y轴方向的坐标,nz为所述像素点(x,y)的表面法向量在三维坐标系中z轴方向的坐标,p和q为所述像素点(x,y)在x轴和y轴方向的梯度值。

其中,所述像素点(x,y)的表面法向量n的坐标值nx、ny和nz是已知的,根据上述公式,可以确定三个等式:将上述三个等式联立求解,即可确定该像素点(x,y)对应的在x轴和y轴方向的梯度值p和q。

其中,梯度值p为像素点(x,y)处的待建物体表面高度z在x轴方向上的偏导梯度值q为像素点(x,y)处的待建物体表面高度z在y轴方向上的偏导因此,在梯度值p和q已知的情况下,分别对x轴和y轴方向进行积分即可还原出每个像素点的高度,再将该高度转化为三维坐标系中的坐标,就能完成对待建物体表面的三维重建。

其中,在对像素点(x,y)的梯度值p和q进行积分处理的过程中可以采用任意的积分方法,例如微积分方法中的horn积分法、直接积分方法中的possionsolver方法,或频率域上的积分方法中的frankot积分方法。上述方法中的任一种方法都可以得到待建物体表面的高度信息。

本发明实施例提供的该技术方案,将在已知光照角度的三原色光源照射下采集的二维彩色图像进行三通道分离,得到了单独的每个光源照射下的灰度图像,即实现了将一帧图像实时分离成三幅图像,这样大大提高了待建物体表面信息数据获取的效率,并且基于此,才能够实现实时的三维重建。

可选的,本发明实施例还提供了一种具有显示装置的用于三维重建的系统,所述显示装置与处理装置3相连接,用于显示物体被三维重建后的三维立体图像。

可选的,所述显示装置可以为上位机的显示器,也可以为单独的仅用于显示待建物体的表面被三维重建后的三维立体图像的显示屏。

可选的,所述用于三维重建的系统还可以包含存储模块,与处理装置3相连接,在处理装置3根据所确定的待建物体表面的三维信息对物体表面进行三维重建后,还可以将有关物体表面三维重建的数据存储至所述存储模块中,便于后期查看和分析。

图2是本发明实施例提供的一种用于三维重建的系统的结构示意图。如图2所示,发光单元4可以发出红色、蓝色和绿色的光,并且可以全部照亮待建物体的表面,图像采集装置2采集同时在红色、蓝色和绿色的光照射下的物体表面的图像,并将所采集的图像传输至终端5。所述终端5可以执行上述处理装置所执行的操作,还可以通过终端5的显示屏显示三维重建后的物体表面的图像。

图3是本发明实施例提供的三维重建方法的流程图。如图3所示,本发明实施例提供了一种用于三维重建的方法,该方法包括:控制红色、蓝色和绿色的光照射物体表面;采集同时在红色、蓝色和绿色的光照射下的物体表面的图像;将采集的图像进行三通道分离,获得三幅分别与红色、蓝色和绿色的光对应的灰度图像;以及根据所述红色、蓝色和绿色的光的照射角度和所述灰度图像,对所述物体进行三维重建。

具体的,通过以下方法来实现根据采集的物体表面的图像对物体进行三维重建:

根据所述红色、蓝色和绿色的光的照射角度和三幅所述灰度图像中每一像素点的亮度,确定所采集的图像的每一像素点的表面法向量;

根据所述每一像素点的表面法向量确定每一像素点的梯度值;

根据所述每一像素点的梯度值确定所述物体表面高度;以及

根据所述物体表面高度,对所述物体进行三维重建。

可选的,本发明实施例还提供了一种用于根据以下公式确定每一像素点的表面法向量的方法:i(x,y)=ρnl。其中,i(x,y)表示所述红色、蓝色和绿色的光中的一者对应的灰度图像中的像素点(x,y)的亮度,ρ表示物体表面反照率,l表示所述红色、蓝色或绿色的光中的所述一者的方向向量,n表示所采集的图像的像素点(x,y)的表面法向量。

可选的,本发明实施例还提供了一种用于根据以下公式确定每一像素点的梯度值的方法:其中,n表示像素点(x,y)的表面法向量,nx为所述像素点(x,y)的表面法向量在三维坐标系中x轴方向的坐标,ny为所述像素点(x,y)的表面法向量在三维坐标系中y轴方向的坐标,nz为所述像素点(x,y)的表面法向量在三维坐标系中z轴方向的坐标,p和q为所述像素点(x,y)的梯度值。

其中,p为像素点(x,y)处的待建物体表面高度z在x轴方向上的偏导q为像素点(x,y)处的待建物体表面高度z在y轴方向上的偏导因此,在梯度值p和q已知的情况下,分别对x轴和y轴方向进行积分即可确定待建物体表面的高度。

其中,在对像素点(x,y)的梯度值p和q进行积分处理的过程中可以采用任意的积分方法,例如微积分方法中的horn积分法、直接积分方法中的possionsolver方法,或频率域上的积分方法中的frankot积分方法。上述方法中的任一种方法都可以得到待建物体表面的高度信息。

有关于本发明提供的上述三维重建方法的具体细节及益处,可参阅上述针对本发明提供的上述用于三维重建的系统的描述,于此不再赘述。

相应的,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述三维重建方法。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

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