CN103559737A - 一种对象全景建模方法 - Google Patents

一种对象全景建模方法 Download PDF

Info

Publication number
CN103559737A
CN103559737A CN201310560596.6A CN201310560596A CN103559737A CN 103559737 A CN103559737 A CN 103559737A CN 201310560596 A CN201310560596 A CN 201310560596A CN 103559737 A CN103559737 A CN 103559737A
Authority
CN
China
Prior art keywords
image
depth image
dimensional
depth
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310560596.6A
Other languages
English (en)
Inventor
黄向生
徐波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201310560596.6A priority Critical patent/CN103559737A/zh
Publication of CN103559737A publication Critical patent/CN103559737A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种对象全景建模方法,其包括如下步骤:步骤1、由单视角三维获取设备拍摄得到当前帧深度及彩色图像,并根据深度图像进行区域分割,得到该深度图像中的目标区域,并对目标区域进行相应的去噪处理之后将其转化成顶点图和法向图;步骤2、对所述深度图像利用迭代最近邻点算法,通过计算其与前一帧深度图像之间的矩阵变换关系,标定出其在全局坐标系中的位置;步骤3、根据所标的在全局坐标系中的位置,将所述深度图像重构成三维模型;步骤4、结合所述全局坐标以及深度图像与彩色图像之间的校正关系将所述彩色信息融入所述三维模型中,转步骤1进行下一帧图像的处理。本发明能够利用单视角三维获取设备对物体实现实时的三维全景建模。

Description

一种对象全景建模方法
技术领域
本发明涉及图像处理、三维图像重建和计算机视觉等领域,尤其涉及一种对象全景建模方法。
背景技术
在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。通过各种方法获取图像中的深度信息一直是过去实现重建的难点。而在微软推出kinect之后,深度信息伴随着彩色图像可以同时获取,这也给计算机视觉带来了巨大的变化。
即使kinect能同时获取深度信息了,想要做出完美的人体或者物体的三维模型仍然存在一定的困难。一种比较成熟的方法是利用不同方向安置的多个kinect同时获取信息进行三维重建。这种方法对于硬件比如摄像机数目以及安放位置的要求较高,并不是非常方便。另一种重建的想法是采用单个摄像机,但是从不同的视角进行拍摄,获取多幅图像并将其结合起来重构三维信息。这时需要通过获取的场景信息准确判断相机与物体之间方位关系,并且对于算法的速度要求较高。
在获取不同视角的时候,采用的方法可以是移动摄像机或者移动目标物体,对于移动目标物体的方法,由于移动范围有限,相对来说会更有难度一些。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是提出一种基于单视角三维获取设备的对象全景建模方法,以解决现有的三维建模技术存在的精度、实时性以及易用性的问题。
(二)技术方案
本发明公开了一种对象全景建模方法,其包括如下步骤:
步骤1、由单视角三维获取设备拍摄得到当前帧深度及彩色图像,并根据深度图像进行区域分割,得到该深度图像中的目标区域,并对目标区域进行相应的去噪处理之后将其转化成顶点图和法向图;
步骤2、对所述深度图像利用迭代最近邻点算法,通过计算其与前一帧深度图像之间的矩阵变换关系,标定出其在全局坐标系中的位置;
步骤3、根据所标的在全局坐标系中的位置,将所述深度图像重构成三维模型;
步骤4、结合所述全局坐标以及深度图像与彩色图像之间的校正关系将所述彩色信息融入所述三维模型中,转步骤1进行下一帧图像的处理。
(三)有益效果
本发明通过从单视角三维获取设备获取物体多个视角的深度及彩色信息,实现目标物体的三维重建效果。采用固定单视角三维获取设备移动目标物体或者固定目标物体移动单视角三维获取设备获取多个不同视角的信息,通过迭代最近邻点算法计算出各帧之间的变换关系,将所有平面图像通过安排在统一的全局坐标系中从而获取目标物体表面的位置。为了增加显示的真实效果,同时将获取的彩色信息也采用加权平均的方式附着再所求得得表面得到真实的三维彩色重构结果。通过对于算法的优化加速,本方法可以在仅使用单视角三维获取设备的条件下,对于人或者相似大小的物体实现实时的高分辨率三维彩色重构。
附图说明
图1是本发明所提出的基于单视角三维获取设备的对象全景建模方法的流程图。
图2是本发明中对于获取的深度图像进行预处理操作的流程图。
图3是本发明中用于求解各帧图像在全局坐标系中位置的流程图。
图4是本发明中用于将前面得到的相机位置信息处理并且重构出三维模型的流程图。
图5是本发明中从三维模型转化成可视化输出的算法流程图。
图6是本发明仅仅从深度图像获得三维模型的流程图。
图7是本发明中将彩色信息结合相机位置重构成三维模型的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
图1为本发明所提出的基于单视角三维获取设备的对象全景建模方法的流程图。如图1所示,所述基于单视角三维获取设备的对象全景建模方法具体包括以下步骤:
步骤1、获取单视角三维获取设备或者其他传感设备拍摄的深度及彩色图像,并根据深度图进行区域分割,得到该深度图中的目标区域,然后进行相应的去噪处理并且将图像转化成易于使用的顶点图和法向图;
步骤2、对所述深度图像利用迭代最近邻点算法,通过计算它与前一帧之间矩阵变换关系,标定出它在全局坐标系中的位置;
步骤3、将所述深度图像根据得到的位置重构成三维场景;
步骤4、结合已经求出的全局坐标以及深度图像与彩色图像之间的校正关系将所述彩色信息融入三维场景中,转步骤1进行下一帧图像的处理。
下面对上述方法中涉及的主要步骤进行详细描述。
步骤1、获取单视角三维获取设备拍摄的深度及彩色图像,并根据深度图进行区域分割,得到该深度图中的目标区域,然后进行相应的去噪处理并且将图像转化成易于使用的顶点图和法向图。
在对于获取图像相对空间位置进行判断之前,需要进行一些预处理以便后续操作的进行。
图2是本发明中对于获取的深度图像进行预处理操作的流程图。如图2所示,所述预处理主要包括提取目标主体,去噪以及数据存储方式转化等三个方面。下面是预处理步骤的详细说明。
步骤101、获取单视角三维获取设备捕获的图像,包括深度图与彩色图,先对深度图进行处理。
系统从单视角三维获取设备中获取原始的深度以及彩色图像,单视角三维获取设备以帧率30Hz返回分辨率为640*480的彩色图像以及同步的深度图像。获取之后每个像素点的数据需要占据内存为24bit。
步骤102、利用区域生长算法对深度图像分割进而获取目标物体,必要时可以结合人工辅助分割。
为了便于锁定目标物体,采用图像分割方法来获取需要被重构的主体目标。因为深度图像比彩色图像具有更好的边缘区分度,因此采用深度图像进行目标物体的提取。在获取到深度图像之后,从图像中央开始进行区域生长算法,当生长到两个相邻像素的区别达到某个设定的阈值时便停止生长,按这种方式提取出的目标区域是一单视角三维获取设备前方大小约为1~2立方米的物体。这个阈值需要根据被扫描的目标物体来设定。在程序设定中,也能使用光标进行交互式方法进行人工辅助目标锁定。
步骤103、对分割后的目标物体的深度图像利用双边滤波方法进行去噪处理,得到去噪后每个像素点的深度值。
对设备的深度图像进行双边滤波去噪。相比传统的低通滤波,双边滤波的好处是可以尽量保留原有图像中的边缘信息,同时除去噪声。之所以有这样的性质是因为滤波器同时考虑了几何空间距离和像素差值来决定滤波器系数。具体如下式:
D k ( u → ) = 1 W p Σ q → ∈ Window N σs ( | | u → - q → | | 2 ) N σr ( | | R k ( u → ) - R k ( q → ) | | 2 ) R k ( q → )
其中,Nσ(t)=exp(-t2σ-2),在式中σ分别对应下标取σs或σr是一个根据经验确定的常数,
Figure BDA0000412857580000042
是一个标准化系数。
Figure BDA0000412857580000043
是被求和的因子,其取值范围Window是像素点
Figure BDA0000412857580000044
的一个邻域,而
Figure BDA00004128575800000410
代表深度图像中的像素点,R是像素点
Figure BDA0000412857580000045
或者
Figure BDA0000412857580000046
对应深度图像上的深度值,k表示当前帧编号,
Figure BDA0000412857580000047
表示两个像素点的坐标相减,得到两像素点之间的距离。
得到二维矩阵
Figure BDA0000412857580000048
表示去噪后对应像素点
Figure BDA0000412857580000049
的深度值。
步骤104、将二维图像转化成顶点图和法向图。
因为二维的图像不适合进行三维融合操作,所以需要进行转化。
u → = u v ∈ U , 表示图像中的某一像素,U表示获取的深度图像的像素点集合; u · = u → 1 , 是一个四维向量点号表示齐次坐标,这里是为了方便表示变换而引入的四元数表示法。
通过相机的内置参数fx,fy,cx,cy可以求得一个定常矩阵K用于表示从传感器单位平面坐标系到图像像素坐标系的映射。即表示像素所对应的传感器平面的点。
对于图像上的点
Figure BDA0000412857580000055
通过
Figure BDA0000412857580000056
计算可以得到传感器单位平面上对应到三维空间上的点 q · = x / z y / z 1 , 再乘以该点的深度值
Figure BDA0000412857580000058
即得到深度图像上
Figure BDA0000412857580000059
所对应的三维空间中的被探测到的点
Figure BDA00004128575800000510
表示传感器上点对应的三维空间坐标,但是这是在相机坐标系下的,因此用上标c表示。这里下标k表示得到的第k帧图像。
Figure BDA00004128575800000512
将上式写成方程组的形式可得如下所示:
V k c ( u → ) = D k ( u → ) * ( u - c x ) / f x D k ( u → ) * ( v - c y ) / f y D k ( u → ) = x y z
这里x,y,z与前面所述
Figure BDA00004128575800000514
中x,y,z一致,表示像素
Figure BDA00004128575800000521
对应在相机坐标系下三维空间中坐标。
根据相机姿态参数将所得到的法向量和顶点向量从相机坐标系转化为大地坐标系,得到顶点图:
V k g ( u → ) = T k gc V · k c ( u → )
式中上标c表示相机坐标系,g表示大地坐标系,为从相机坐标系变换到大地坐标系的变换矩阵。此时求出来的仍然是一个三维向量,记作(xg,yg,zg)T,以便下文中使用。
在得到顶点图
Figure BDA00004128575800000518
后,可以利用它计算法向量图
Figure BDA00004128575800000519
其计算公式如下所示:
N k g ( u → ) = norm [ ( V k g ( u + 1 , v ) - V k g ( u , v ) ) × ( V k g ( u , v + 1 ) - V k g ( u , v ) ) ]
其中,即为对任意向量
Figure BDA0000412857580000062
的归一化运算。 u → = u v = U , 表示图像中的某一像素;
步骤2、对所述经过上述步骤处理之后的深度图像利用迭代最近邻点算法,通过计算它与前一帧之间矩阵变换关系,标定出它在全局坐标系中的位置;
由于只采用一个单视角三维获取设备进行探测,获取的不同视角图像之间的位置变换关系需要准确求出才能实现最终的三维重构。这一步给出一个全局的坐标系以及各帧图像在全局坐标系中的位置。而各个帧之间的变换关系,一般由迭代最近邻点算法给出。
图3是本发明中用于求解各帧图像之间对应的位置关系以及相应的各帧图像在全局坐标系中位置的方法流程图。如图3所示,该方法包括:
步骤201、根据前一次迭代得到的变换矩阵,估计得到当前帧图像上的像素点所对应的前一帧上的像素点;
在开始确定两帧之间的变换关系之前,需要找到两帧之间点的对应关系。为了实现寻找对应点,需要将当前帧映射到上一帧图像里。因为这里我们算法迭代的结果是当前帧到全局坐标系的一个映射,因此需要通过全局坐标系再做一步转化。
假设已经知道了前一帧的变换矩阵
Figure BDA0000412857580000064
和当前估计的变换矩阵这里下标z代表的是当前迭代次数,第一次迭代时变换矩阵可以随机给一个初值。那么当前的顶点图就能用关系式
Figure BDA0000412857580000066
被转化到全局坐标系中,
Figure BDA0000412857580000067
表示前一次迭代得到的变换矩阵。这里全局坐标系是为了统一各帧图像而设定的一个主观坐标系。为了将
Figure BDA0000412857580000068
投影到前一帧中,需要利用前一帧的变换矩阵进行逆变换回到相机坐标系中,即
Figure BDA0000412857580000069
Figure BDA00004128575800000610
其对应点的值即可通过下式求得:
u → pre = V k c ( x ) × f x V k c ( z ) + c x V k c ( y ) × f y V k c ( z ) + c y
式中fx,fy,cx,cy为通过相机标定得到的内置参数。所求得的
Figure BDA0000412857580000071
即为在第k帧画面中对应点的像素坐标。这里求出来的也是在第z次迭代中
Figure BDA0000412857580000072
通过估计投影到前一帧的坐标随着z的增大这个投影结果也会收敛。
步骤202、根据所述当前帧和前一帧上对应像素点之间的点面距离,更新得到当前迭代下的所述映射变换矩阵;即寻找一个变换,使得将当前帧映射到前一帧图像平面后,当前帧的投影点与前一帧图像上的点对应的点面距离误差最小。
当找到两帧图像之间估计出的对应点
Figure BDA0000412857580000074
后,这里所谓对应点即为步骤201中求出的
Figure BDA0000412857580000075
Figure BDA0000412857580000076
便可以求解当前迭代中的变换矩阵这里我们采用的是迭代的计算,假设z表示当前迭代的数目,衡量变换好坏的距离是采用对应点面距离:
E ( T k + 1 gcz ) = 1 n Σ u → ∈ { Ω ( u ) ≠ null } | | ( Y k + 1 gcz V k + 1 c ( u → ) - V k g ( u → pre ) ) N k g ( u → pre ) | | 2
此处
Figure BDA0000412857580000079
的取值范围
Figure BDA00004128575800000710
表示的是
Figure BDA00004128575800000711
对应的像素坐标需要被包含在前一帧图像中。
这里为了求解变换矩阵
Figure BDA00004128575800000712
可以将其进行简化写成迭代形式
Figure BDA00004128575800000713
而增量变换矩阵
Figure BDA00004128575800000714
可以写成如下形式:
T inc z = 1 α - γ t x - α 1 β t y γ - β 1 t z
其中β,γ,α为空间变换中三个待求旋转参数,tx,ty,tz为三个待求平移参数。
下面详细展开介绍如何通过最小化点面距离E来求得所需参数
Figure BDA00004128575800000716
首先我们把要求解的
Figure BDA00004128575800000717
写成更为简洁的形式这样如果我们求出了也就得到了
Figure BDA00004128575800000720
那么现在我们需要的是求解未知数的方程组,需要的目标是使得E最小,而目标函数取最小值的时候,其导函数一定为零,利用这一原理,在一些限制下,可以列出相应的线性方程组。
首先,我们需要对E进行一些处理,已知
T k + 1 gcz V k + 1 c ( u → ) = T inc z T k + 1 gcz - 1 V k + 1 c ( u → ) = x g y g z g 1 1 α - γ t x - α 1 β t y γ - β 1 t z T
= x g + y g α - z g γ + t x - x g α + y g + z g β + t y x g γ - y g β + z g + t z
这时,如果我们令:
G ( u → ) = 0 - z g y g 1 0 0 z g 0 - x g | 0 1 0 - y g x g 0 0 0 1
式中(xg,yg,zg)T
Figure BDA0000412857580000084
的三个分量。就可以得到 G ( u → ) X → + T k + 1 gcz - 1 V k + 1 c ( u → ) = T k + 1 gcz V k + 1 c ( u → )
A = G T ( u → ) N k g ( u → pre )
b = ( V k g ( u → pre ) - V k + 1 g ( u → ) ) T N k g ( u → pre )
这里
Figure BDA0000412857580000088
在做了上述定义之后,点面距离可以表达成一种简洁的形式:
E = 1 n Σ u → ∈ { Ω ( u ) ≠ null } | | A X → + b | | 2
此时,求解E的极小值问题是一个非常标准的极值的问题,通过求解线性方程组
Figure BDA00004128575800000810
就能得到所需要的
Figure BDA00004128575800000811
相应就能得到变换矩阵
Figure BDA00004128575800000812
步骤203、应用这一变换并准备下一次迭代,即转步骤201进行下一次z+1次迭代,直到收敛;并在收敛后根据据最终获得的变换矩阵将所述深度图像中的像素点转换成三维空间点;否则转步骤201进行下一次迭代。
在每一步迭代中,我们都可以求解出
Figure BDA00004128575800000813
以及相应的
Figure BDA00004128575800000814
这时待求的变换矩阵应当按如下方式更新
Figure BDA00004128575800000815
伴随着这一个变换矩阵的更新,求解新的迭代中
Figure BDA00004128575800000816
的相应参数也会发生改变。比如
Figure BDA00004128575800000818
需要更新为
Figure BDA00004128575800000819
的三个分量,b中
Figure BDA00004128575800000820
也需要相应进行更新。
这里所谓的收敛是指的求出来新的变换矩阵和上一次迭代过程保持一致,即
Figure BDA00004128575800000821
时停止迭代。这时迭代次数z记为zmax,我们最终所需要求出的
Figure BDA0000412857580000091
即为这样我们就能把新的一帧图像也映射到全局坐标系中去进行进一步处理。
步骤3、将所述深度图像利用界面场函数的方式进行表达,从而更方便的将所述深度图像根据得到的位置重构成三维场景并显示效果;
在前面的处理过程中,尽管已经把二维图像转成了顶点图以便于估计相机方位,但是这种形式的数据仍然不适合整合成三维模型。我们使用了一个独特的表达三维界面的方法:界面场函数。它可以方便地处理和储存三维空间中表面的信息。其具体含义是:工作空间中每个点距离其最近界面的距离。
图4是本发明中用于将前面得到的相机位置信息进一步处理并且转换为三维场景显示的流程图。
步骤301、利用界面场函数来表达图像数据信息,即根据深度及方位信息计算出界面场函数。
如果只选取单视角三维获取设备获取图像的某一帧深度数据作为建模数据,我们可以根据相机的镜头参数以及其位置参数还原得到深度图像上每一个数据点所表征的点的位置,那么这一帧图像很容易生成一个点云数据。如果有合理的算法将所有得点合理地联结成面,那么这一帧深度图像也很容易转换成一个面片数据。但是由于单视角三维获取设备在不同时刻的位置参数不同,传感器所提供的数据并非出白同一个点。即使相机位置不发生变化,空间中同一个点所返回的深度值在多次测量中也会存在误差。在这种情况下如果继续使用点云和面片既会增加大量的数据点同时也无法保证每一个点数据的可信性造成极大的资源浪费。而融合算法就是要处理这样存在冲突的多帧深度数据来进行融合,界面场函数独特的表达方式让我们通过多组数据方便地进行平均处理测量误差。界面场函数是一个从三维空间映射到一维空间的函数,其表达方式是离散化的,即其将三维空间分成若干个空间格子,只对这些离散的格点处求解界面场函数。并且通过寻找界面场函数符号发生跳变的格点的交界来得出界面位置。这里三维空间我们取在全局坐标系里,也就是说它是
Figure BDA0000412857580000093
的函数,但是由于计算量的限制,我们只在某些格点处计算函数值。另外,我们知道,在进行三维探测时,最为重要的信息是被探测到的表面形貌。而界面场函数的定义使得它具有一个非常好的特性,如果自变量
Figure BDA00004128575800001021
在所探测物体表面之外,则这个函数取正值,而如果自变量取值在物体表面之内,这个函数取负值,因此,所求的三维物体形貌对应的面也就是界面场函数取零值时自变量组成的面。
我们根据下式可以把从设备获得的深度数据处理成场函数:
F R k ( p → ) = ψ ( λ - 1 | | t gc - p → | | 2 - R k ( u → ) )
其中, ψ ( η ) = min ( 1 , η μ ) sgn ( η ) , ifη ≥ - μ null , else
其中tgc是来自于转换矩阵中的平移部分分量,min表示取最小值函数,sgn代表符号函数,μ是一个阈值参数,
Figure BDA0000412857580000104
是像素点
Figure BDA0000412857580000105
对应在全局坐标系中的坐标值。另外值得注意的是式中的的对应关系。界面场函数是自变量为全局坐标系中坐标
Figure BDA0000412857580000108
的函数,而之间的关系是由
Figure BDA00004128575800001011
映射成的,而在由
Figure BDA00004128575800001012
反推的时候,求解出来的点(u,v)不一定是整数,所以这里需要进行一步取整操作。
除此之外还需要注意的方面是方向处理:由于深度是沿着主光轴方向,而
Figure BDA00004128575800001014
是沿着视线方向的,所以需要的只是向量
Figure BDA00004128575800001015
的z分量,所以引入方向系数
Figure BDA00004128575800001016
其中px,py,pz三个方向分量,即全局坐标系下空间坐标值。
至此可以得到第k帧时对应的界面场函数。之后进行和之前数据的融合工作。多帧数据之间采取加权平均的方法可以得到一个相对较为可信的界面场函数。比较典型的权函数取法:
Figure BDA00004128575800001018
这种方法的特点是处理简单,效果好。另外还有一种考虑更多因素的加权方法:θ是法向和视线的夹角,这考虑了测量准确程度与夹角和距离的关系。这里在我们目前的使用中,我们仅仅使得权重为1就能取得很好的效果。因此,在每一帧的过程中,更新界面场函数按照如下方式:
tsdf k = tsdf k - 1 × w k - 1 + F R k ( p → ) w k - 1 + 1
这里wk-1=k-1为简化取法的权重,tsdfk为综合多帧图像后的界面场函数。
另外需要注意的是,这一步重构出来的空间大小直接影响计算的速度,因此在实际应用中,我们对整个工作空间进行离散化,根据空间大小、需求和硬件水平,将空间相等地分为512×512×512个体素,即
Figure BDA0000412857580000113
总共取值的个数,每一个体素对应一个界面场函数值。所有界面场函数值按照空间位置排列起来,组合为一个三维矩阵我们称之为全三维空间。我们重构三维模型的过程就是得到全三维空间的过程和输出全三维空间的过程。另外在这个过程中,值得注意的是当采用kinect作为单视角三维获取设备时,由于kinect在0.5米以内的范围对于深度的识别精度不够高,因此我们对z方向附加一个偏置从而保证重构范围在0.5m以外。
步骤302、通过已知的界面场函数,利用插值的方法找到函数为零的点,连接起来形成物体表面,从而将三维模型实现可视化。
理论上空间中的表面就是:
Figure BDA0000412857580000111
的点
Figure BDA0000412857580000112
的集合,所以为了得到三维空间中的表面我们需要通过全三维空间得到界面场的零点。由于离散化的分辨率有限,所以不可能所有的零都恰好出现在体积元对应的函数值中。于是首先退而求其次,界面会将空间分成两部分:物体内侧和外侧。再加之场函数是一个连续函数,所以零点应该在具有正值和具有负值的体积元中间。该步骤中,通过寻找变号格点的过程遍历所有空间个点,并根据每个格点与周围八个格点之间的符号关系通过查找表的方式获取该格点处表面特征模式。
确定了所有相邻的异号体积元,就能大致地勾勒出界面的样子。如果我们认为一个体积元与其上下左右前后六个相邻的体积元有棱相连,那么界面会穿过所有两端异号的棱。为了得到更加精确的结果,由于实际上棱长很短,我们认为在任意一条棱上场函数值是线性变化的。即使用线性插值的方法可以确定异号棱上界面场的零点位置。我们认为这些棱上的零点都是界面上的点,而将这些零点以体积元为单位组织起来,可以相应地连接成面片。这就是整个体积元转化为目标物体的表面形貌的过程。
实际操作中,我们以体积元为单位遍历整个全三维空间。对每个体积元
Figure BDA0000412857580000121
沿三个轴各增长一个单位到(x±1,y±1,z±1)等等,可以扩展出8个相关的体积元。每个体积元都有一个值,分别检查这8个值,找到所有相邻的异号的体积元对(至多12对)。这样就可以确定12条棱中所有的异号棱。根据8个体积元值不同的正负情况,我们可以将这个体积元内的异号棱的分布用之多28=256中情况分类表达。这256种情况对应所有异号棱的分布,也就对应了256中面片的分布,具体的对应方式是预先设定好保存在计算机中的表格,以供索引。根据线性插值公式,可以计算出所有异号棱上的零点。最后同样根据设定好的组合方式将对应的三点组成三角面片。这样就找到了所需要的目标物体表面,完成了可视化输出。
这个过程的流程图可以参考图5,图5是本发明中从三维模型转化成可视化输出的算法流程图。包括先计算各帧图像的界面场函数并将各帧对应函数值取加权平均得到最终函数值,然后遍历所有的体积元,找出每个体积元与周围八个相邻体积元之间的符号关系以确定两个体积元之间是否对应边界,最后根据符号关系以及事先存储好的对应模式输出相应的曲面即为目标物体的表面图。
步骤4、结合已经求出的全局坐标以及深度图像与彩色图像之间的校正关系将所述彩色信息融入三维场景中;
通过前面的步骤,已经能够重构出三维模型,图6是本发明不包括彩色信息的流程图,仅仅从深度图像就能获得三维模型,但是这时的图像还不够生动,由于单视角三维获取设备在获取深度图像的同时获取彩色图像,如果我们把彩色信息融入其中,则可以获得更为生动的图像。将彩色图像融入三维模型之前并不需要重新进行相机位置估计,只需要做相应的预处理和融合工作即可。
图7是本发明中将彩色信息结合相机位置重构成三维模型的流程图。如图7所示,其包括:
步骤401、彩色图像的获取以及相应的预处理,包括彩色和深度两幅图像的匹配,以及边界处的腐蚀处理。
单视角三维获取设备除深度图外还可以提供RGB色彩信息。可以将图像直接用作色彩信息源进行纹理的融合工作。
由于设备本身色彩镜头和深度镜头的位置以及镜头参数不同,相同像素点所代表的实际点是不同的。需要进行校对,将两幅图片的信息相匹配,使颜色和深度图的对应关系相同。但是在校对结果中,深度发生跳变的边缘处信息匹配有出入。这种现象经常发生于被摄主体的边缘处,这些位置的颜色常常被校对为附近的背景颜色,二者也存在较大差异。这对后续的融合工作产生了较大阻碍,使合成结果严重偏离实际。所以采用区域腐蚀的方法将边缘的颜色信息略去,不进行融合。先使用深度图进行区域增长提取出被摄主体的深度区域图,再使用有效区域进行腐蚀操作(或无效区域进行膨胀操作),提取出颜色区域图。对颜色的无效区域不进行融合,这样就提出了错误的颜色信息。
步骤402、将相应彩色像素点融合到已有体元即由深度图像构建的三维场景中相应三维坐标点之中,各帧之间采用加权平均的方法作为最终体元对应结果。
由于程序运转的过程中,三维建模使用界面场函数描述,数据区域只存在全三维空间形式的三维数据,所以颜色数据我们也选择类似的方式进行融合和储存,即使用彩色全三维空间来储存颜色的权重和RGB值。
由于从像素到体素存在一定的转换关系,导致像素平面致密的颜色信息在体素中并非致密,为了保证足够的数据量来生成带有颜色的模型,需要对每个像素颜色信息的有效性进行扩展,使之不仅对对应的深度点有效,还对其附近一定距离内的范围进行支持。通过调整有效距离,找到既能满足颜色生成要求又没有较大失真的距离值为宜。
针对同一个体积元的多帧有效数据,我们使用带权平均的方法进行融合,解决数据冲突的问题。
由于全三维空间中每一个体积元的位置与面片的位置有一定的偏差,导致在不同角度上所拍得的相同体积元的颜色信息可能代表着界面上不同位置的颜色,所以对于从不同角度获得的颜色信息应采取不同的信任程度。所以在权重的设置上面,以相机和界面法向量的夹角为标准给不同来源设定不同的信任,可以优化结果。而当颜色信息很密,有效距离较小时,也可以使用权值为1的方法来简化运算过程。
步骤403、将对应的物体表面进行插值然后输出。
颜色的数据由于也采用全三维空间的方法来进行保存和计算,我们在深度数据进行可视化输出的时候,也需要找到对应的颜色信息进行输出。我们采用的方法是:生成每个面片的时候找到面片的点重心,根据点重心进行最邻近插值。即找到距离点重心最近的体积元的颜色值作为该面片的颜色。
在处理完当前帧后,进行下一帧图像的处理。由于目标区域与单视角三维获取设备之间会发生移动,因此需要以一定的时间间隔获取新的一帧图像,并重复上述步骤更新三维场景模型。
因为在程序设计中,重建的结果会一直显示在屏幕上,这个过程中,比如固定单视角三维获取设备,目标物体(比如人)在单视角三维获取设备前移动或者转动,显示的重构结果会越来越趋向于平滑。
最后,需要解决的是实时性问题,上述算法如果想实现实时重构,特别是加入了彩色信息之后,必须使用GPU加速技术。
以上所述的方法步骤,对本发明的目的、技术方案和有益效果进行了进一步详细说明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种对象全景建模方法,其包括如下步骤: 
步骤1、由单视角三维获取设备拍摄得到当前帧深度及彩色图像,并根据深度图像进行区域分割,得到该深度图像中的目标区域,并对目标区域进行相应的去噪处理之后将其转化成顶点图和法向图; 
步骤2、对所述深度图像利用迭代最近邻点算法,通过计算其与前一帧深度图像之间的矩阵变换关系,标定出其在全局坐标系中的位置; 
步骤3、根据所标的在全局坐标系中的位置,将所述深度图像重构成三维模型; 
步骤4、结合所述全局坐标以及深度图像与彩色图像之间的校正关系将所述彩色信息融入所述三维模型中,转步骤1进行下一帧图像的处理。 
2.如权利要求1所述的方法,其特征在于,在步骤1中只是用一个所述单视角三维获取设备拍摄获得图像,且其为具有获取深度信息能力的探测设备。 
3.如权利要求1所述的建模系统,其特征在于,所述步骤1包括如下步骤: 
步骤101、获取单视角三维获取设备捕获的图像,包括深度图与彩色图,并对深度图进行预处理; 
步骤102、利用区域生长算法对深度图像进行分割以获取目标物体; 
步骤103、对深度图像利用双边滤波方法进行去噪处理; 
步骤104、将二维深度图像转化成大地坐标系下三维空间顶点图和法向图。 
4.如权利要求3所述的方法,其特征在于,步骤103去噪处理具体为针对深度图像中的每个像素点根据下式计算得到去噪后的像素点深度值: 
Figure FDA0000412857570000012
其中,Nσ(t)=exp(-t2σ-2),σs和σr均为经验值,
Figure FDA0000412857570000021
是标准化系数,q是在取值范围Window内的像素点,Window为像素点的一个邻域,Rk表示深度值,k表示当前帧索引号。 
5.如权利要求3所述的方法,其特征在于,所述顶点图是通过将深度图像中的像素点坐标转换为三维空间坐标后,将其转换到大地坐标系下的三维空间坐标得到的。 
6.如权利要求1所述的方法,其特征在于,所述步骤2包括如下步骤: 
步骤201、根据前一次迭代得到的映射变换矩阵,获取当前帧图像上的当前像素点所对应的前一帧上的估计像素点,该估计像素点与当前帧图像上的当前像素点为对应像素点; 
步骤202、根据所述当前帧和前一帧上对应像素点之间的点面距离,更新得到当前迭代下的所述映射变换矩阵; 
步骤203、判断所述映射变换矩阵是否收敛,若收敛,则根据最终获得的映射变换矩阵将所述深度图像中的像素点转换成三维空间点;否则转步骤201进行下一次迭代。 
7.如权利要求6所述的方法,其特征在于,在步骤202中,通过使得当前帧和前一帧图像上的对应像素点之间的点面距离最小来更新所述映射变换矩阵。 
8.如权利要求1所述的方法,其特征在于,所述步骤3包括如下步骤: 
步骤301、根据深度图像中像素点的深度值及方位信息计算出像素点对应的界面场函数; 
步骤302、利用插值的方法找到界面场函数为零的像素点,将这些像素点连接起来形成物体表面,从而将三维模型实现可视化。 
9.如权利要求8所述的建模系统,其特征在于,所述步骤302中,所述界面场函数用于将三维模型分成若干个空间格子,所述界面场函数为零的像素点即为这些空间格子的界面位置,也即三维模型的物体表面。 
10.如权利要求1所述的方法,其特征在于,所述步骤4包括如下步骤: 
步骤401、彩色图像的获取以及相应的预处理,包括彩色和深度两幅图像的匹配,以及边界处的腐蚀处理; 
步骤402、将相应彩色像素点融合到由深度图像构建的三维场景中相应三维坐标点处,各帧之间采用加权平均的方法作为最终三维坐标点对应结果; 
步骤403、将对应的物体表面进行插值然后输出。 
CN201310560596.6A 2013-11-12 2013-11-12 一种对象全景建模方法 Pending CN103559737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310560596.6A CN103559737A (zh) 2013-11-12 2013-11-12 一种对象全景建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310560596.6A CN103559737A (zh) 2013-11-12 2013-11-12 一种对象全景建模方法

Publications (1)

Publication Number Publication Date
CN103559737A true CN103559737A (zh) 2014-02-05

Family

ID=50013976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310560596.6A Pending CN103559737A (zh) 2013-11-12 2013-11-12 一种对象全景建模方法

Country Status (1)

Country Link
CN (1) CN103559737A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105374067A (zh) * 2015-10-10 2016-03-02 长安大学 一种基于pal相机的三维重建方法及其重建系统
CN105654492A (zh) * 2015-12-30 2016-06-08 哈尔滨工业大学 基于消费级摄像头的鲁棒实时三维重建方法
CN106296783A (zh) * 2016-07-28 2017-01-04 众趣(北京)科技有限公司 一种结合空间全局3d视图和全景图片的空间展示方法
CN106469464A (zh) * 2015-08-19 2017-03-01 富士通株式会社 用于三维建模目标对象的方法和系统
CN106504320A (zh) * 2016-11-02 2017-03-15 华东师范大学 一种基于gpu及面向深度图像的实时三维重构方法
CN106548507A (zh) * 2015-09-16 2017-03-29 富士通株式会社 三维重建对象的方法和设备
CN106780524A (zh) * 2016-11-11 2017-05-31 厦门大学 一种三维点云道路边界自动提取方法
CN106839975A (zh) * 2015-12-03 2017-06-13 杭州海康威视数字技术股份有限公司 基于深度相机的体积测量方法及其系统
CN106910242A (zh) * 2017-01-23 2017-06-30 中国科学院自动化研究所 基于深度相机进行室内完整场景三维重建的方法及系统
CN106998459A (zh) * 2017-03-15 2017-08-01 河南师范大学 一种连续变焦技术的单摄像头立体图像生成方法
CN108510578A (zh) * 2018-03-13 2018-09-07 北京航空航天大学青岛研究院 三维模型搭建方法、装置及电子设备
CN108510537A (zh) * 2017-02-28 2018-09-07 深圳市掌网科技股份有限公司 3d建模方法和装置
CN108776990A (zh) * 2018-04-10 2018-11-09 清华大学 基于三阶球面谐波的动态场景高精度实时三维重建方法及系统
CN109961501A (zh) * 2017-12-14 2019-07-02 北京京东尚科信息技术有限公司 用于建立三维立体模型的方法和装置
CN110232326A (zh) * 2019-05-20 2019-09-13 平安科技(深圳)有限公司 一种三维物体识别方法、装置及存储介质
CN110907132A (zh) * 2019-12-13 2020-03-24 中国人民解放军军事科学院国防科技创新研究院 一种波向探测方法、系统、设备、介质
WO2020151426A1 (zh) * 2019-01-23 2020-07-30 广东康云科技有限公司 基于人工智能的三维建模方法及系统
CN111758119A (zh) * 2018-02-27 2020-10-09 夏普株式会社 图像处理装置、显示装置、图像处理方法、控制程序以及记录介质
CN112132881A (zh) * 2016-12-12 2020-12-25 华为技术有限公司 一种动态三维图像获取的方法和设备
CN113496509A (zh) * 2020-03-18 2021-10-12 广州极飞科技股份有限公司 深度图像帧的生成方法、装置、计算机设备及存储介质
CN115564777A (zh) * 2022-12-06 2023-01-03 南京航空航天大学 一种基于特征约束的单视角点云定位方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038678A (zh) * 2007-04-19 2007-09-19 北京理工大学 基于单幅图像的光滑对称曲面重建方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038678A (zh) * 2007-04-19 2007-09-19 北京理工大学 基于单幅图像的光滑对称曲面重建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
禹永萍: "《中国优秀硕士学位论文 全文数据库 信息科技辑》", 20 April 2010 *
陈晓明等: "基于Kinect深度信息的实时三维重建和滤波算法研究", 《计算机应用研究》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106469464B (zh) * 2015-08-19 2019-02-19 富士通株式会社 用于三维建模目标对象的方法和系统
CN106469464A (zh) * 2015-08-19 2017-03-01 富士通株式会社 用于三维建模目标对象的方法和系统
CN106548507A (zh) * 2015-09-16 2017-03-29 富士通株式会社 三维重建对象的方法和设备
CN105374067A (zh) * 2015-10-10 2016-03-02 长安大学 一种基于pal相机的三维重建方法及其重建系统
CN106839975A (zh) * 2015-12-03 2017-06-13 杭州海康威视数字技术股份有限公司 基于深度相机的体积测量方法及其系统
CN106839975B (zh) * 2015-12-03 2019-08-30 杭州海康威视数字技术股份有限公司 基于深度相机的体积测量方法及其系统
CN105654492A (zh) * 2015-12-30 2016-06-08 哈尔滨工业大学 基于消费级摄像头的鲁棒实时三维重建方法
CN105654492B (zh) * 2015-12-30 2018-09-07 哈尔滨工业大学 基于消费级摄像头的鲁棒实时三维重建方法
CN106296783A (zh) * 2016-07-28 2017-01-04 众趣(北京)科技有限公司 一种结合空间全局3d视图和全景图片的空间展示方法
CN106504320B (zh) * 2016-11-02 2019-12-17 华东师范大学 一种基于gpu及面向深度图像的实时三维重构方法
CN106504320A (zh) * 2016-11-02 2017-03-15 华东师范大学 一种基于gpu及面向深度图像的实时三维重构方法
CN106780524A (zh) * 2016-11-11 2017-05-31 厦门大学 一种三维点云道路边界自动提取方法
CN106780524B (zh) * 2016-11-11 2020-03-06 厦门大学 一种三维点云道路边界自动提取方法
CN112132881A (zh) * 2016-12-12 2020-12-25 华为技术有限公司 一种动态三维图像获取的方法和设备
CN106910242A (zh) * 2017-01-23 2017-06-30 中国科学院自动化研究所 基于深度相机进行室内完整场景三维重建的方法及系统
CN106910242B (zh) * 2017-01-23 2020-02-28 中国科学院自动化研究所 基于深度相机进行室内完整场景三维重建的方法及系统
CN108510537B (zh) * 2017-02-28 2020-06-12 深圳市掌网科技股份有限公司 3d建模方法和装置
CN108510537A (zh) * 2017-02-28 2018-09-07 深圳市掌网科技股份有限公司 3d建模方法和装置
CN106998459A (zh) * 2017-03-15 2017-08-01 河南师范大学 一种连续变焦技术的单摄像头立体图像生成方法
CN109961501A (zh) * 2017-12-14 2019-07-02 北京京东尚科信息技术有限公司 用于建立三维立体模型的方法和装置
CN111758119A (zh) * 2018-02-27 2020-10-09 夏普株式会社 图像处理装置、显示装置、图像处理方法、控制程序以及记录介质
CN108510578A (zh) * 2018-03-13 2018-09-07 北京航空航天大学青岛研究院 三维模型搭建方法、装置及电子设备
CN108776990A (zh) * 2018-04-10 2018-11-09 清华大学 基于三阶球面谐波的动态场景高精度实时三维重建方法及系统
WO2020151426A1 (zh) * 2019-01-23 2020-07-30 广东康云科技有限公司 基于人工智能的三维建模方法及系统
CN110232326A (zh) * 2019-05-20 2019-09-13 平安科技(深圳)有限公司 一种三维物体识别方法、装置及存储介质
CN110907132A (zh) * 2019-12-13 2020-03-24 中国人民解放军军事科学院国防科技创新研究院 一种波向探测方法、系统、设备、介质
CN113496509A (zh) * 2020-03-18 2021-10-12 广州极飞科技股份有限公司 深度图像帧的生成方法、装置、计算机设备及存储介质
CN115564777A (zh) * 2022-12-06 2023-01-03 南京航空航天大学 一种基于特征约束的单视角点云定位方法

Similar Documents

Publication Publication Date Title
CN103559737A (zh) 一种对象全景建模方法
Debevec et al. Modeling and rendering architecture from photographs: A hybrid geometry-and image-based approach
CN106803267B (zh) 基于Kinect的室内场景三维重建方法
CN109003325B (zh) 一种三维重建的方法、介质、装置和计算设备
Johnson et al. Registration and integration of textured 3D data
Newcombe et al. Live dense reconstruction with a single moving camera
CN115100339B (zh) 图像生成方法、装置、电子设备和存储介质
CN104330074B (zh) 一种智能测绘平台及其实现方法
AU2011312140B2 (en) Rapid 3D modeling
CN103400409B (zh) 一种基于摄像头姿态快速估计的覆盖范围3d可视化方法
CN104376596B (zh) 一种基于单幅图像的三维场景结构建模与注册方法
CN103247075B (zh) 基于变分机制的室内环境三维重建方法
CN109544677A (zh) 基于深度图像关键帧的室内场景主结构重建方法及系统
CN108053437B (zh) 基于体态的三维模型获取方法及装置
CN108648270A (zh) 基于eg-slam的无人机实时三维场景重建方法
CN103106688A (zh) 基于双层配准方法的室内三维场景重建方法
CN107679537A (zh) 一种基于轮廓点orb特征匹配的无纹理空间目标姿态估计算法
CN102521586B (zh) 一种用于拍照手机的高分辨率三维人脸扫描方法
CN104661010A (zh) 三维立体模型的建立方法和装置
CN104077808A (zh) 一种用于计算机图形图像处理的、基于深度信息的实时三维人脸建模方法
CN110211169B (zh) 基于多尺度超像素和相位相关的窄基线视差的重构方法
CN107862733B (zh) 基于视线更新算法的大规模场景实时三维重建方法和系统
CN103530907A (zh) 基于图像的复杂三维模型绘制方法
CN103826032A (zh) 深度图后期处理方法
CN114494589A (zh) 三维重建方法、装置、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140205