CN105205858B - 一种基于单个深度视觉传感器的室内场景三维重建方法 - Google Patents
一种基于单个深度视觉传感器的室内场景三维重建方法 Download PDFInfo
- Publication number
- CN105205858B CN105205858B CN201510594687.0A CN201510594687A CN105205858B CN 105205858 B CN105205858 B CN 105205858B CN 201510594687 A CN201510594687 A CN 201510594687A CN 105205858 B CN105205858 B CN 105205858B
- Authority
- CN
- China
- Prior art keywords
- mrow
- mtd
- msub
- msubsup
- mtr
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000000007 visual effect Effects 0.000 claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims description 161
- 238000013519 translation Methods 0.000 claims description 47
- 230000009466 transformation Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 30
- 239000013598 vector Substances 0.000 claims description 30
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000002146 bilateral effect Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000003708 edge detection Methods 0.000 claims description 6
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 230000005484 gravity Effects 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 238000009795 derivation Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000013076 uncertainty analysis Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 abstract 1
- 238000001228 spectrum Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Abstract
本发明涉及一种基于单个深度视觉传感器的室内场景三维重建方法,其技术特点是包括以下步骤:步骤1、使用单个深度视觉传感器连续扫描整个室内场景;步骤2、对采集到的深度数据进行去噪、孔洞修补等预处理,得到平滑的深度数据;步骤3、根据步骤2中采集到的深度数据,计算当前深度帧所对应的点云数据;步骤4、对不同视角深度帧得到的点云进行配准,得到室内场景的完整点云;步骤5、进行平面拟合,实现特殊点云的分割,建立室内场景中每一个物体的独立完整的三维模型。本发明所用的扫描设备简单;扫描的数据信息全面且有效提高了点云配准精度计算效率;最终能够为室内场景建立一个有几何结构和颜色贴图的完整高质量的三维模型集合。
Description
技术领域
本发明属于室内场景的三维重建技术领域,特别涉及一种基于单个深度视觉传感器的室内场景三维重建方法。
背景技术
建立高质量的室内场景三维模型,尤其是针对室内每个物体创建独立的三维模型是一项极具挑战性的任务。目前,很多室内场景的三维重建方法把重点放在重建室内场景中的局部模型上,致使其方法本身具有:易丢失诸多室内场景的细节信息、需要繁琐的用户交互操作、需要激光扫描仪等大型昂贵的硬件设备等缺点。
商业化的深度相机可以实现场景中物体的三维模型重建,但建立室内场景的三维模型与建立单个物体的三维模型不同,在深度相机的视野范围内,必须沿着某一复杂轨迹的很多视角进行扫描,才能为一个大的室内场景重建三维模型。而且深度相机的移动轨迹需要近距离覆盖每个物体所有的图像表面,但扫描过程中会发生明显的漂移,从而需要从不同视角进行全局配准。因此,完整室内场景的自动三维模型重建方法并不可靠,需要人工标记不同视角下的对应点。
此外,具有影响力的kinectfusion系统的应用证明使用商业化的深度相机可以实时进行三维模型重建,完成包括图像积分、视觉测程、实时3D重建等工作。但早期的kinectfusion系统使用平面立体像素网格,只能用于较小的体积范围;视觉测程算法虽可以提高kinectfusion系统的精确度,但仅能应用于比较狭小的空间内和相机运动轨迹比较简单的情况下,复杂的相机运动路径会影响整个室内场景的三维模型重建效果。
发明内容
本发明的目的在于克服现有技术的不足,提供一种设计合理、扫描过程及使用硬件设备简单、数据信息全面、点云配准精度高且计算性能优异的基于单个深度视觉传感器的室内场景三维重建方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于单个深度视觉传感器的室内场景三维重建方法,包括以下步骤:
步骤1、对彩色相机和深度相机进行联合标定,求解出深度相机和彩色相机的内参矩阵K和外参数;利用单个深度视觉传感器设备多角度采集室内场景的深度数据和RGB数据;
步骤2、对采集到的深度数据和RGB数据进行去噪处理,利用孔洞周围的深度值对孔洞进行填充,得到平滑的深度数据;
步骤3、利用步骤1中计算得出的内参矩阵K,将步骤2中得到的深度数据转换为相应的三维点云数据;
步骤4、对步骤2中得到的不同视角的RGB图像进行匹配计算,并根据匹配得到的结果,对步骤3中得到的不同视角的点云进行配准,建立室内场景的点云模型;
步骤5、对步骤4中得到的点云模型进行平面拟合,提取地面、桌面和墙壁的标志性的平面类模型,从而实现将其对应的点云从步骤4中得到的场景模型中分割出来,建立场景中每个物体的独立完整的三维模型;
所述步骤1的具体步骤包括:
步骤1.1、提取彩色相机和深度相机拍摄的标定棋盘图像上的角点为校准点,进行相机校准,求解出深度相机和彩色相机的内参矩阵K和外参数;
步骤1.2、对同一时刻得到的RGB数据和深度数据进行配准,并求解得到深度数据与RGB数据的对齐变换矩阵;
步骤1.3、利用单个深度视觉传感器摄像头对室内场景进行扫描,采集室内物体表面RGB数据和深度数据,使其扫描范围覆盖到室内场景中的每个物体的完整表面;
所述步骤1.2的具体步骤包括:
(1)分别定义彩色相机和深度相机的三个平面:和 其中代表彩色相机的第i个平面,代表深度相机的第i个平面,nci是平面的法向,ndi是平面的法向,c代表彩色相机,d代表深度相机;深度数据和RGB数据之间的对齐变换矩阵为在投影空间中,根据旋转矩阵M′、投影比例S′将点映射成
其中,λi是未知的比例因子,R′是旋转矩阵,t′是平移量,I3是一个3*3的单位矩阵,M′是旋转矩阵,S′是投影比例;将nci,ndi标准化成将上述公式重新定义为:每一对和有一个平移量的线性约束t′=L- 1g,其中L,g分别是为便于计算自定义的矩阵,且
其中,nd1,nd2,nd3分别是深度相机的第一个平面、第二个平面、第三个平面的法向,nc1,nc2,nc3分别是彩色相机的第一个平面、第二个平面、第三个平面的法向,R′是旋转矩阵;
(2)当平面个数大于3时,平面配准算法包括以下四个步骤:
1)为每一对和计算一个对齐变换矩阵T;
2)对于每一个T,计算所有的深度相机坐标计算第j个计算所得的平面Πdj和其对应的平面之间的欧氏距离lj。
3)用rank(T)=∑j max(l,lj)为所有的T排序,其中l是一个预设的阈值,当lj<l时,认为对应的点对是局内点,T是最小值;
4)进行非线性最小优化,求解最佳的对齐变换矩阵T;
最佳的对齐变换矩阵T的目标函数为:
其中:Ic是彩色相机的内参数集,I′d是深度相机的内参数集,T是深度数据和RGB数据之间的对齐变换矩阵,Tci是彩色相机的外参矩阵,是彩色相机的测量方差,是深度相机的测量方差,是彩色相机的测量角点,xc是投影点,是深度相机的测量视差值,是计算得到的视差值,β′是一个权值,是物体点之间的欧氏距离,λ′是物体点之间的测量距离。
而且,所述步骤2的具体步骤包括:
步骤2.1、对步骤1中的RGB数据和深度数据使用双边滤波器进行平滑去噪,得到低噪音并且能够保持特征的数据;
步骤2.2:将步骤2.1中所述所述深度数据和RGB数据输入双边滤波器的滤波方程式中进行计算,得到平滑去噪的深度数据。
而且,所述步骤4的具体步骤包括:
步骤4.1、对不同视角的原图和待匹配图进行Canny边缘检测计算边缘的局部斜率,根据斜率计算出局部方向角,为每一条边缘构建一条方向角曲线和对应的相对链码;
步骤4.2、用待匹配图的边缘方向曲线的相对链码和原图中的相对链码进行比较,确定两幅图之间的平移关系,进行相位相关计算;
步骤4.3、找到相关系数最大的,对待匹配图进行旋转矫正,找到不同视角的两幅图能够匹配的精确位置,完成不同视角的两幅图之间的精确匹配;
步骤4.4、利用步骤4.3的不同视角的两幅图像的匹配结果,完成对其各自对应的点云进行配准,求解变换矩阵。
而且,所述步骤5的具体步骤包括:
步骤5.1、使用PCA主成分分析方法拟合平面;
步骤5.2、利用平面到原点距离公式d″=||cog·n||,将深度数据转换成xy平面上的数据;
上述公式中,d″为平面到原点的距离,cog为平面的重心,n为平面的法向量;
步骤5.3、进行不确定性分析,求解最佳拟合平面,实现平面拟合。
而且,所述步骤1.1的具体步骤包括:
(1)定义二维坐标系下的点为m=[u,v]T,其中u,v分别是在X、Y轴上的坐标,三维坐标系下的点M=[X,Y,Z]T,其中X、Y、Z分别是在X、Y、Z轴上的坐标,图像坐标系下的点为世界坐标系下的点为旋转矩阵为R=[r1 r2 r3],其中,r1,r2,r3代表旋转矩阵R的列,平移量为t,则图像坐标系下的点与世界坐标系下的点的转换关系为:
其中,s是比例因子,u,v分别是在X、Y轴上的坐标,K为相机的内参数矩阵,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,f是相机的焦距,dx是像素点在x轴的物理尺寸,dy是像素点在y轴的物理尺寸,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
(2)根据单应性矩阵H将图像坐标系的点和世界坐标系下的点关联起来:
定义世界坐标系下的点为则图像坐标系的点和世界坐标系下的点转换公式为:其中s是比例因子,H是单应性矩阵,是图像坐标系的点,是世界坐标系下的点;
令单应矩阵H=[h1,h2,h3],则[h1 h2 h3]=λK[r1 r2 t],其中h1,h2,h3分别代表单应矩阵H的第一列、第二列、第三列,λ是任意的比例,K为相机的内参矩阵;
为方便计算相机内参数和外参数,自定义矩阵B,令
其中,B11,B12,B13,B21,B22,B23,B31,B32,B33是矩阵B的元素,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
求解相机内参数:
v0=(B12B13-B11B23)/(B11B22-B12 2)
λ=B33-[B13 2+v0(B12B13-B11B23)]/B11
求解相机外参数:
r1=λK-1h1,r2=λK-1h2,r3=r1×r2,t=λK-1h3,即可求出相机的旋转矩阵R,平移量t。
而且,所述步骤4.4的具体步骤包括:
(1)建立变换矩阵
1)定义旋转矩阵为:
其中,α,β,γ分别是围绕x轴,y轴,z轴旋转的角度;
令:
r11=cosγcosβ
r12=-sinγcosα+cosγsinβsinα
r13=sinγsinα+cosγsinβcosα
r21=sinγcosβ
r22=cosγcosα+sinγsinβsinα
r22=-cosγsinα+sinγsinβcosα
r31=-sinβ
r32=cosβsinα
r33=cosβcosα,
其中,r11,r12,r13,r21,r22,r23,r31,r32,r33是旋转矩阵R(α,β,γ)的元素;
2)重新定义旋转矩阵为一个4×4的矩阵:
3)定义平移矩阵为一个4×4的矩阵:
其中,平移量为tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量;则变换矩阵
T′=T(tx,ty,tz)R(α,β,γ)
其中,T′是变换矩阵,T(tx,ty,tz)是平移矩阵,R(α,β,γ)是旋转矩阵,α,β,γ分别是围绕x轴,y轴,z轴旋转的角度,tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量;
(2)求解变换矩阵
1)利用图像匹配的方法,对不同视角的两幅图像进行精确的匹配,认定图像A和图像B上的点pA和pB在三维空间中所对应的点p′A和p′B是同一个点;点p′A和p′B在其所在点云上所对应的点为vA和vB,则认为vA和vB是空间中同一点,即其中T′是变换矩阵,vA是图像A上的点,vB是图像B上的点;
定义图像A上的点为图像B上的点为其中xA,yA,zA是点vA分别在X轴、Y轴、Z轴上的坐标,xB,yB,zB是点vB分别在X轴、Y轴、Z轴上的坐标;
则得出:[xA,yA,zA,1]×T′=[xB,yB,zB,1]
根据投影数据关联的方法,vA和vB已被求出;
2)利用12个匹配好的点对,建立12个方程,将其联合建立方程组:
其中,xA1,xB1,yA1,yB1,zA1,zB1分别是第一个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA2,xB2,yA2,yB2,zA2,zB2分别是第二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA3,xB3,yA3,yB3,zA3,zB3分别是第三个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA12,xB12,yA12,yB12,zA12,zB12分别是第十二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标;
3)通过解一个12维的方程组的方式求解出变换矩阵T′的所有未知参数,得到变换矩阵T′。
而且,所述步骤5.1的具体步骤包括:
(1)经过配准的点云集合为P={pi=(xi,yi,zi)T|i=1,2,…,N},其协方差矩阵集合为C={Ci|Ci∈R3×3},其中Ci是第i个点pi对应的协方差矩阵,R3×3代表3×3的实矩阵的全体,N是点的总个数,xi,yi,zi分别是第i个点pi在X轴、Y轴、Z轴上的坐标;
使用Hesse平面方程:nx-d′=0
其中,n=(nx,ny,nz)T是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是参数,x是平面上点的坐标;
(2)定义回归函数为
pi=(xi,yi,zi)T n=(nx,ny,nz)T,wi=1/trace(ci)2
其中,R(nx,ny,nz,d′)是回归函数,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,n是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,ci是点pi对应的协方差矩阵,N是点的总个数;
(3)将所有的数据点拟合到原始区域
其中S(nx,ny,nz)表示目标函数,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,N是点的总个数;
平面法向n=(nx,ny,nz)T从矩阵A最小特征值对应的特征向量中得到,其中A是为方便计算自定义的矩阵,且有:
其中xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数。
而且,所述步骤5.3的具体步骤包括:
(1)在将深度数据转换成xy平面上的点后,根据协方差矩阵使用平面公式为Z=aX+bY+d′,将点云中的3D点拟合成一个平面,其中是经过数据转换后第i个点分别在X轴、Y轴、Z轴上的坐标,N是点的总个数,是第i个点对应的协方差矩阵,a,b,d′是平面公式的系数,X,Y,Z分别是平面上的点的坐标;
将平面法向定义为:
(nx,ny,nz)=(0,0,1)T;
回归方程为:
其中:T(b0,b1,b2)代表回归方程函数,是平面上的点分别在X轴、Y轴、Z轴上的坐标,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
(2)分别对b0,b1,b2进行局部求导,得到最佳拟合平面的参数
其中,A′是为方便计算自定义的矩阵,是平面上的点分别在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
参数向量b′=(b0,b1,b2)的协方差矩阵为:
其中,Cplane是参数向量b′=(b0,b1,b2)的协方差矩阵,是点对应的协方差矩阵,F是为方便计算定义的矩阵,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
(3)得到平面参数的最终结果为:
(z,θ,ψ)T=(arctan b0,arctan b1,arctan b2)T
其中,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz,z是沿z轴的平移量,θ是绕x轴旋转的角度,ψ是绕y轴旋转的角度;nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数。
本发明的优点和积极效果是:
1、本发明只需要手持深度传感器等深度数据采集设备绕着室内场景进行连续多视角扫描,即可获得深度数据,整体扫描过程简单、扫描时间短且扫描硬件设备简单,只需要单个深度视觉传感器即可。
2、本发明扫描的数据信息全面,同时包含RGB数据和深度数据;并且对深度传感器的深度相机和彩色相机进行联合标定,将深度数据和RGB数据对齐,从而实现对所重建的室内三维模型进行比较准确的纹理贴图。
3、本发明提出在图像匹配的基础上进行点云配准的方法,对采集到的深度数据进行去噪、孔洞填充以及校准,利用校准后的深度数据能够产生密集均匀的空间点云,并利用图像匹配的结果完成点云配准,有效提高了点云配准精度和计算效率;通过平面拟合,将地面、桌面、墙壁等特殊平面的点云与室内场景中其他物体的点云进行分割,最终对室内场景中的每个物体建立一个完整高质量的三维模型。
附图说明
图1是本发明的整体处理流程图;
图2是本发明的对深度传感器的深度相机和彩色相机进行标定的方法流程图。
具体实施方式
以下对本发明实施例作进一步详述:
一种基于单个深度视觉传感器的室内场景三维重建方法,如图1所示,包括以下步骤:
步骤1、对彩色相机和深度相机进行联合标定,求解出深度和彩色相机的内参矩阵K、内参数以及外参数并对深度数据进行校准;利用单个深度传感器设备采集室内场景的深度数据和RGB数据;
如图2所示,该步骤1包括以下具体步骤:
1.1、提取彩色相机和深度相机拍摄的标定棋盘的图像上角点为校准点,进行相机校准,求解出深度相机和彩色相机的内参矩阵K和外参数;
(1)提取彩色相机和深度相机拍摄的标定棋盘的图像上角点为校准点,进行相机校准;相机校准过程如下:
1)定义二维坐标系下的点为m=[u,v]T,其中u,v分别是在X、Y轴上的坐标,三维坐标系下的点为M=[X,Y,Z]T,其中X、Y、Z分别是在X、Y、Z轴上的坐标,旋转矩阵R=[r1 r2 r3](其中,r1,r2,r3代表旋转矩阵R的列),平移量为t,则图像坐标系点与世界坐标系下点的转换关系为:
其中,s是比例因子,u,v分别是在X、Y轴上的坐标,K为相机的内参数矩阵,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,f是相机的焦距,dx是像素点在x轴的物理尺寸,dy是像素点在y轴的物理尺寸,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
2)根据单应性矩阵H将图像坐标系的点和世界坐标系下的点关联起来:
定义世界坐标系下的点为则图像坐标系的点和世界坐标系下的点转换公式为:
其中,单应矩阵为H=λK[r1 r2 t],λ是任意的比例,s是比例因子,是图像坐标系的点,是世界坐标系下的点。
(2)求解相机的内外参数:
1)求解相机的内参数
令单应矩阵H=[h1,h2,h3](其中h1,h2,h3分别代表单应矩阵H的第一列、第二列、第三列),则:
[h1 h2 h3]=λK[r1 r2 t]
λ是任意的比例,由于r1,r2是标准正交的,可以得到公式(3)、(4):
为方便计算相机内参数和外参数,自定义矩阵B,令:
其中,B11,B12,B13,B21,B22,B23,B31,B32,B33是矩阵B的元素,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
由于B是对称的,定义一个6维向量
b″=[B11,B12,B22,B13,B13,B33]T (6)
将H的第i列定义为
其中:vij=[hi1hj1,hi1hj2+hi2hj1,hi2hj2,hi3hj1+hi1hj3,hi3hj2+hi2hj3,hi3hj3]T;
根据公式(3)、(4)、(6)可以将公式(7)重写为
假设图像上有n幅图像,将公式(8)写成n维方程组:
Vb″=0 (9)
由于H已知,解方程(9)求得b″。
当b″已知,可求解相机的内参数,即可求解出相机的内参矩阵K。
相机内参数:
v0=(B12B13-B11B23)/(B11B22-B12 2)
λ=B33-[B13 2+v0(B12B13-B11B23)]/B11
2)求解相机外参数:
根据公式(2),可以得出:
r1=λK-1h1,r2=λK-1h2,r3=r1×r2,t=λK-1h3
即求出相机的旋转矩阵R,平移量t。
1.2、对同一时刻得到的RGB数据和深度数据进行配准,并求解得到深度数据与RGB数据的对齐变换矩阵;
(1)将同一时刻采集到的RGB数据和深度数据进行配准,进而完成对深度数据的校准。分别定义彩色相机和深度相机的三个平面和其中代表彩色相机的第i个平面,代表深度相机的第i个平面,nci是平面的法向,ndi是平面的法向,c代表彩色相机,d代表深度相机。
深度数据和RGB数据之间对应的对齐变换矩阵为其中R′是旋转矩阵,t′是平移量。在投影空间中,根据旋转矩阵M′、投影比例S′将点映射成
其中,其中,λi是未知的比例因子,R′,t′分别为旋转矩阵、平移量,I3是一个3*3的单位矩阵,M′是旋转矩阵,S′是投影比例;
由于向量的长度不会随着旋转而改变,将nci,ndi标准化成
根据公式(10),可以得到公式(11):
每一对有一个平移量的线性约束t′=L-1g,其中L,g分别是为便于计算自定义的矩阵,且
其中nd1,nd2,nd3分别是深度相机的第一个平面、第二个平面、第三个平面的法向,nc1,nc2,nc3分别是彩色相机的第一个平面、第二个平面、第三个平面的法向,R′是旋转矩阵;
(2)当平面个数大于3时,平面配准算法为:
步骤a:为每一对和计算一个对齐变换矩阵T;
步骤b:对于每一个T,计算所有的深度相机坐标计算第j个计算所得的平面Πdj和其对应的平面之间的欧氏距离lj。
步骤c:用rank(T)=∑j max(l,lj)为所有的T排序,其中l是一个预设的阈值。当lj<l时,认为对应的点对是局内点,T是最小值。
步骤d:进行非线性最小化优化
当初始化值不是很好,图像数目比较少时,受到尺度的影响,会产生深度漂移。但深度相机的旋转并不受到影响,这样,由于与像素点的视差值相同,就不会改变投影误差。但是,两个传感器之间的对齐变换矩阵仍会发生改变,在进行外参校准时仍然会有一个误差。因此代价函数包含三项,第一项是彩色相机的测量角点与投影点x之间的距离;第二项是深度相机测量视差值与计算的视差值之间的差值;第三项代表物体λ的点之间的欧氏距离与这些点的测量距离之间的差值。
目标函数为:
其中:Ic是彩色相机的内参数集,I′d是深度相机的内参数集,T是深度数据和RGB数据之间的对齐变换矩阵,Tci是彩色相机的外参矩阵,β′是一个权值,是彩色相机的测量方差,是深度相机的测量方差,是彩色相机的测量角点,xc是投影点,是深度相机的测量视差值,是计算得到的视差值,是物体点之间的欧氏距离,λ′是物体点之间的测量距离。
1.3、利用单个深度传感器设备采集室内场景的深度数据和RGB数据,使之扫描的范围尽可能覆盖到物体的完整表面。
步骤2、采用双边滤波器对采集到的深度数据和RGB数据进行中的噪点进行去噪处理,利用孔洞周围的深度值对孔洞进行填充,得到没有噪声的平滑的深度数据;所述步骤2具体包括以下步骤:
步骤2.1、对步骤1中的RGB数据和深度数据使用双边滤波器进行平滑去噪,得到低噪音并且能够保持特征的数据;
步骤2.2:将步骤2.1中所述所述深度数据和RGB数据输入双边滤波器的滤波方程式中进行计算,得到平滑去噪的深度数据。
(1)对输入原始图像进行边缘检测,其具体步骤如下:
将待分析的N×M的RGB数据图,分成大小为n×m的若干子区域。计算图像各子区域的单元信息熵,并用熵值来判断该区域的纹理性质。RGB图像的熵H等于三个分量的熵的和,表示为:H=HR+HG+HB。根据各子区域的性质,采用合适的距离阈值。具体情况如下:
1)若该子区域为平滑区域,距离阈值取值为0.1;
2)若该子区域为复合区域,距离阈值取值为0.15;
3)若该子区域为边缘区域,距离阈值取值为0.2;
将距离阈值变成N×M的矩阵G,将G带入神经网络中,检测RGB数据像边缘。
(2)利用上述边缘检测方法检测原始图的边缘,并估计原始图的噪声范围,仅对原始图中等于1的像素点做双边滤波。噪声的污点本身的值不具有参与平滑的价值,将其加权系数置为0。
步骤3、利用步骤1中计算得出的内参矩阵K,将步骤2中得到的深度数据转换为相应的3D点云;
所述步骤3包括以下具体步骤:
深度数据图的每一个深度像素点代表一个3D点,根据相机的内参矩阵K,实现将一个3D点[X,Y,Z]T转换成相应的2D像素点坐标[i′,j′]T,其中X,Y,Z分别是世界坐标系下点在在X轴、Y轴、Z轴上的坐标,i′,j′分别是图像坐标系下点在X轴、Y轴上的坐标。
变换关系为:
其中,K为相机的内参数矩阵,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;X,Y,Z分别是世界坐标系下点在在X轴、Y轴、Z轴上的坐标,i′,j′分别是图像坐标系下点在X轴、Y轴上的坐标。
从公式(13)可以得到,i′=(X*fx)/Z+u0,j′=(Y*fy)/Z+v0。同样,利用可以将2D点转换成相应的3D点,变换关系如公式(14):
步骤4、对步骤3的点云进行图像配准并利用点云图像匹配的结果,对步骤3中得到的点云进行配准,建立室内场景的点云模型;
所述步骤4包括以下具体步骤:
步骤4.1、对不同视角的原图和待匹配图进行Canny边缘检测计算边缘的局部斜率,根据斜率计算出局部方向角,为每一条边缘构建一条方向角曲线和对应的相对链码;
步骤4.2、用待匹配图的边缘方向曲线的相对链码和原图中的相对链码进行比较,确定两幅图之间的平移关系,进行相位相关计算;
步骤4.3、找到相关系数最大的,对待匹配图进行旋转矫正,找到不同视角的两幅图能够匹配的精确位置,完成不同视角的两幅图之间的精确匹配;
步骤4.4、利用步骤4.3的不同视角的两幅图像的匹配结果,完成对其各自对应的点云进行配准,求解变换矩阵。
其中,步骤4.1~4.3的具体步骤包括:
(1)使用基于边缘特征和频域相关的复合匹配算法对图像进行精确的匹配;
1)对不同视角的原图和待匹配图进行Canny边缘检测,以待匹配图的边缘信息为准则提取出一组大边缘信息,同时也保留原图中满足的边缘信息。
2)计算边缘的局部斜率,根据斜率计算出局部方向角,为每一条边缘构建一条方向角曲线和对应的相对链码。
3)用待匹配图的边缘方向曲线的相对链码和原图中的相对链码进行比较,相一致或部分一致的即认为边缘相同,然后根据原图和待匹配图边缘方向角曲线的第一个角度算出其差值,即可能存在的旋转角度。
确定不同视角的两幅图像之间的的平移关系,进行相位相关计算。图像经过傅立叶变换后分为幅度信息和相位谱信息,其中相位谱包含了两图之间位置平移的所有信息,而且是一个频谱幅度在全频域内为1的功率谱。找到相关系数最大的,对待匹配图进行了旋转矫正,找到了不同视角的两幅图像能够匹配的精确位置,完成不同视角的两幅图像之间的精确匹配工作。
其中,步骤4.4的具体步骤包括:
利用图像匹配的精确结果,进行点云配准;
(1)建立变换矩阵
定义旋转矩阵为
其中α,β,γ分别是围绕x轴,y轴,z轴旋转的角度。
令:
r11=cosγcosβ
r12=-sinγcosα+cosγsinβsinα
r13=sinγsinα+cosγsinβcosα
r21=sinγcosβ
r22=cosγcosα+sinγsinβsinα
r22=-cosγsinα+sinγsinβcosα
r31=-sinβ
r32=cosβsinα
r33=cosβcosα,
其中,r11,r12,r13,r21,r22,r23,r31,r32,r33是旋转矩阵R(α,β,γ)的元素;
重新定义旋转矩阵为一个4×4的矩阵:
定义平移矩阵为一个4×4的矩阵:
其中平移向量tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量。
变换矩阵为T′=T(tx,ty,tz)R(α,β,γ),即:
其中,T′是变换矩阵,T(tx,ty,tz)是平移矩阵,R(α,β,γ)是旋转矩阵,α,β,γ分别是围绕x轴,y轴,z轴旋转的角度,tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量;
(2)求解变换矩阵
用深度传感器从多个角度扫描物体,得到RGB数据和深度数据。利用深度数据产生相应的点云。用图像匹配的方法,对不同视角的RGB数据图进行精确的两两匹配,这样就可以近似认为图像A和图像B上的点pA和pB在三维空间中所对应的点p′A和p′B是同一个点。点p′A和p′B在其所在点云上所对应的点为vA和vB,那么就认为vA和vB是空间中的同一个点,即
其中,T′是变换矩阵,vA是图像A上的点,vB是图像B上的点;
定义图像A上的点为图像B上的点为其中xA,yA,zA是点vA分别在X轴、Y轴、Z轴上的坐标,xB,yB,zB是点vB分别在X轴、Y轴、Z轴上的坐标。
即
[xA,yA,zA,1]×T′=[xB,yB,zB,1] (17)
(根据投影数据关联的方法,vA和vB已经求出。)
可以利用12个这样的点对,建立12个(17)这样的方程组,
其中xA1,xB1,yA1,yB1,zA1,zB1分别是第一个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA2,xB2,yA2,yB2,zA2,zB2分别是第二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA3,xB3,yA3,yB3,zA3,zB3分别是第三个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA12,xB12,yA12,yB12,zA12,zB12分别是第十二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标。
通过解一个12维的方程组的方式求解出变换矩阵T′的所有未知参数,即求出了矩阵T′。
步骤5、对步骤4中得到的点云模型进行平面拟合,提取地面、桌面、墙壁等标志性的平面类模型,从而实现将其对应的点云从步骤4中得到的点云模型中分割出来,建立室内场景中每个物体的独立完整的三维模型。
所述步骤5包括以下具体步骤:
步骤5.1、使用PCA主成分分析方法拟合平面;
步骤5.2、利用平面到原点的距离公式d″=||cog·n||,将深度数据转换成xy平面上的数据;
上述公式中,d″代表平面到原点的距离,cog代表平面的重心,n代表平面的法向量;
步骤5.3、进行不确定性分析,求解最佳拟合平面,实现平面拟合。
其中,步骤5.1的具体步骤包括:
(1)经过配准的点云集合为P={pi=(xi,yi,zi)T|i=1,2,…,N},其协方差矩阵集合为C={Ci|Ci∈R3×3},其中Ci是点pi对应的协方差矩阵,R3×3代表3×3的实矩阵的全体,N是点的总个数,xi,yi,zi分别是第i个点pi在X轴、Y轴、Z轴上的坐标;
使用Hesse平面方程:nx-d′=0,其中,n=(nx,ny,nz)T是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是参数,x是平面上点的坐标。
(2)定义回归函数为
其中,R(nx,ny,nz,d′)是回归函数,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,n是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,Ci是点pi对应的协方差矩阵,N是点的总个数;
公式(18)对d′求导,并将导数设为0,则:
其中,表示对R(nx,ny,nz,d′)中的参数变量d′求导,cog代表平面的重心,n是平面的法向,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,N是点的总个数;
从上述公式可以看出,最佳拟合平面过重心。
(3)将所有的数据点拟合到原始区域
其中S(nx,ny,nz)表示目标函数,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,N是点的总个数;
平面法向n=(nx,ny,nz)T可以从矩阵A最小特征值对应的特征向量中得到,其中A是为方便计算自定义的矩阵,且:
其中,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数。
其中,步骤5.3的具体步骤为:
(1)在将深度数据转换成xy平面上的点后,根据协方差矩阵使用平面公式为Z=aX+bY+d′,将点云中的3D点拟合成一个平面,其中是经过数据转换后第i个点分别在X轴、Y轴、Z轴上的坐标,N是点的总个数,是第i个点对应的协方差矩阵,a,b,d′是平面公式的系数,X,Y,Z分别是平面上的点的坐标;
由于最佳拟合平面在xy平面内,故将平面法向定义为(nx,ny,nz)=(0,0,1)T。
回归方程为:即为:
其中:T(b0,b1,b2)代表回归方程函数,是平面上的点分别在X轴、Y轴、Z轴上的坐标,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz。
(2)分别对b0,b1,b2进行局部求导,得到最佳拟合平面的参数:
其中,A′是为方便计算自定义的矩阵,是平面上的点分别在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz。
参数向量b′=(b0,b1,b2)的协方差矩阵为
其中,Cplane是参数向量b′=(b0,b1,b2)的协方差矩阵,是协方差矩阵,F是为方便计算定义的矩阵,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
(3)平面参数的最终结果为:
(z,θ,ψ)T=(arctan b0,arctan b1,arctan b2)T,
其中,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz,z是沿z轴的平移量,θ是绕x轴旋转的角度,ψ是绕y轴旋转的角度;nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
Claims (8)
1.一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于包括以下步骤:
步骤1、对彩色相机和深度相机进行联合标定,求解出深度相机和彩色相机的内参矩阵K和外参数;利用单个深度视觉传感器设备多角度采集室内场景的深度数据和RGB数据;
步骤2、对采集到的深度数据和RGB数据进行去噪处理,利用孔洞周围的深度值对孔洞进行填充,得到平滑的深度数据;
步骤3、利用步骤1中计算得出的内参矩阵K,将步骤2中得到的深度数据转换为相应的三维点云数据;
步骤4、对步骤2中得到的不同视角的RGB图像进行匹配计算,并根据匹配得到的结果,对步骤3中得到的不同视角的点云进行配准,建立室内场景的点云模型;
步骤5、对步骤4中得到的点云模型进行平面拟合,提取地面、桌面和墙壁的标志性的平面类模型,从而实现将其对应的点云从步骤4中得到的场景模型中分割出来,建立场景中每个物体的独立完整的三维模型;
所述步骤1的具体步骤包括:
步骤1.1、提取彩色相机和深度相机拍摄的标定棋盘图像上的角点为校准点,进行相机校准,求解出深度相机和彩色相机的内参矩阵K和外参数;
步骤1.2、对同一时刻得到的RGB数据和深度数据进行配准,并求解得到深度数据与RGB数据的对齐变换矩阵;
步骤1.3、利用单个深度视觉传感器摄像头对室内场景进行扫描,采集室内物体表面RGB数据和深度数据,使其扫描范围覆盖到室内场景中的每个物体的完整表面;
所述步骤1.2的具体步骤包括:
(1)分别定义彩色相机和深度相机的三个平面:和 其中代表彩色相机的第i个平面,代表深度相机的第i个平面,nci是平面的法向,ndi是平面的法向,c代表彩色相机,d代表深度相机;深度数据和RGB数据之间的对齐变换矩阵为在投影空间中,根据旋转矩阵M′、投影比例S′将点映射成
其中,λi是未知的比例因子,R′是旋转矩阵,t′是平移量,I3是一个3*3的单位矩阵,M′是旋转矩阵,S′是投影比例;将nci,ndi标准化成将上述公式重新定义为:每一对和有一个平移量的线性约束t′=L-1g,其中L,g分别是为便于计算自定义的矩阵,且
<mrow>
<mi>L</mi>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>1</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>1</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>2</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>2</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
</mtr>
<mtr>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>3</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
<mtd>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>3</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msubsup>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>3</mn>
</mrow>
<mi>T</mi>
</msubsup>
</mtd>
</mtr>
</mtable>
</mfenced>
<msup>
<mi>R</mi>
<mrow>
<mo>&prime;</mo>
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<mi>g</mi>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>1</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>-</mo>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>1</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msup>
<mi>R</mi>
<mo>&prime;</mo>
</msup>
<msub>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>1</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>2</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>-</mo>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>2</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msup>
<mi>R</mi>
<mo>&prime;</mo>
</msup>
<msub>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>2</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>3</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msub>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>-</mo>
<msubsup>
<mi>n</mi>
<mrow>
<mi>d</mi>
<mn>3</mn>
</mrow>
<mi>T</mi>
</msubsup>
<msup>
<mi>R</mi>
<mo>&prime;</mo>
</msup>
<msub>
<mi>n</mi>
<mrow>
<mi>c</mi>
<mn>3</mn>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中,nd1,nd2,nd3分别是深度相机的第一个平面、第二个平面、第三个平面的法向,nc1,nc2,nc3分别是彩色相机的第一个平面、第二个平面、第三个平面的法向,R′是旋转矩阵;
(2)当平面个数大于3时,平面配准算法包括以下四个步骤:
1)为每一对和计算一个对齐变换矩阵T;
2)对于每一个T,计算所有的深度相机坐标计算第j个计算所得的平面Πdj和其对应的平面之间的欧氏距离lj;
3)用rank(T)=∑j max(l,lj)为所有的T排序,其中l是一个预设的阈值,当lj<l时,认为对应的点对是局内点,T是最小值;
4)进行非线性最小优化,求解最佳的对齐变换矩阵T;
最佳的对齐变换矩阵T的目标函数为:
<mrow>
<munder>
<mi>min</mi>
<mrow>
<msub>
<mi>I</mi>
<mi>c</mi>
</msub>
<mo>,</mo>
<msub>
<msup>
<mi>I</mi>
<mo>&prime;</mo>
</msup>
<mi>d</mi>
</msub>
<mo>,</mo>
<mi>T</mi>
<mo>,</mo>
<msub>
<mi>T</mi>
<mrow>
<mi>c</mi>
<mi>i</mi>
</mrow>
</msub>
</mrow>
</munder>
<mfrac>
<mrow>
<mi>&Sigma;</mi>
<mo>|</mo>
<mo>|</mo>
<msub>
<mover>
<mi>x</mi>
<mo>^</mo>
</mover>
<mi>c</mi>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mi>c</mi>
</msub>
<mo>|</mo>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
</mrow>
<msubsup>
<mi>&sigma;</mi>
<mi>c</mi>
<mn>2</mn>
</msubsup>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>&Sigma;</mi>
<msup>
<mrow>
<mo>(</mo>
<mover>
<mi>d</mi>
<mo>^</mo>
</mover>
<mo>-</mo>
<mover>
<mi>d</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
<msubsup>
<mi>&sigma;</mi>
<mi>d</mi>
<mn>2</mn>
</msubsup>
</mfrac>
<mo>+</mo>
<msup>
<mi>&beta;</mi>
<mo>&prime;</mo>
</msup>
<mo>|</mo>
<msup>
<mover>
<mi>&lambda;</mi>
<mo>^</mo>
</mover>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msup>
<mi>&lambda;</mi>
<mo>&prime;</mo>
</msup>
<msup>
<mo>|</mo>
<mn>2</mn>
</msup>
</mrow>
其中:Ic是彩色相机的内参数集,I′d是深度相机的内参数集,T是深度数据和RGB数据之间的对齐变换矩阵,Tci是彩色相机的外参矩阵,是彩色相机的测量方差,是深度相机的测量方差,是彩色相机的测量角点,xc是投影点,是深度相机的测量视差值,是计算得到的视差值,β′是一个权值,是物体点之间的欧氏距离,λ′是物体点之间的测量距离。
2.根据权利要求1所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于所述步骤2的具体步骤包括:
步骤2.1、对步骤1中的RGB数据和深度数据使用双边滤波器进行平滑去噪,得到低噪音并且能够保持特征的数据;
步骤2.2、将步骤2.1得到的平滑去噪后的深度数据进行孔洞修复计算,得到连续平滑的深度数据。
3.根据权利要求1所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于所述步骤4的具体步骤包括:
步骤4.1、对不同视角的原图和待匹配图进行Canny边缘检测计算边缘的局部斜率,根据斜率计算出局部方向角,为每一条边缘构建一条方向角曲线和对应的相对链码;
步骤4.2、用待匹配图的边缘方向曲线的相对链码和原图中的相对链码进行比较,确定两幅图之间的平移关系,进行相位相关计算;
步骤4.3、找到相关系数最大的,对待匹配图进行旋转矫正,找到不同视角的两幅图能够匹配的精确位置,完成不同视角的两幅图之间的精确匹配;
步骤4.4、利用步骤4.3的不同视角的两幅图像的匹配结果,完成对其各自对应的点云进行配准,求解变换矩阵。
4.根据权利要求1所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于所述步骤5的具体步骤包括:
步骤5.1、使用PCA主成分分析方法拟合平面;
步骤5.2、利用平面到原点距离公式d″=||cog·n||,将深度数据转换成xy平面上的数据;
上述公式中,d″为平面到原点的距离,cog为平面的重心,n为平面的法向量;
步骤5.3、进行不确定性分析,求解最佳拟合平面,实现平面拟合。
5.根据权利要求1所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于,所述步骤1.1的具体步骤包括:
(1)定义二维坐标系下的点为m=[u,v]T,其中u,v分别是在X、Y轴上的坐标,三维坐标系下的点M=[X,Y,Z]T,其中X、Y、Z分别是在X、Y、Z轴上的坐标,图像坐标系下的点为世界坐标系下的点为旋转矩阵为R=[r1 r2 r3],其中,r1,r2,r3代表旋转矩阵R的列,平移量为t,则图像坐标系下的点与世界坐标系下的点的转换关系为:
<mrow>
<mi>s</mi>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>u</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>v</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mi>K</mi>
<mo>&lsqb;</mo>
<mtable>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>3</mn>
</msub>
</mtd>
<mtd>
<mi>t</mi>
</mtd>
</mtr>
</mtable>
<mo>&rsqb;</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>X</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Y</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mi>K</mi>
<mo>&lsqb;</mo>
<mtable>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<mi>t</mi>
</mtd>
</mtr>
</mtable>
<mo>&rsqb;</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>X</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Y</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
<mrow>
<mi>K</mi>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mi>x</mi>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>u</mi>
<mn>0</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>f</mi>
<mi>y</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>v</mi>
<mn>0</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<msub>
<mi>f</mi>
<mi>x</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>f</mi>
<mrow>
<mi>d</mi>
<mi>x</mi>
</mrow>
</mfrac>
<mo>,</mo>
<msub>
<mi>f</mi>
<mi>y</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>f</mi>
<mrow>
<mi>d</mi>
<mi>y</mi>
</mrow>
</mfrac>
</mrow>
其中,s是比例因子,u,v分别是在X、Y轴上的坐标,K为相机的内参数矩阵,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,f是相机的焦距,dx是像素点在x轴的物理尺寸,dy是像素点在y轴的物理尺寸,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
(2)根据单应性矩阵H将图像坐标系的点和世界坐标系下的点关联起来:
定义世界坐标系下的点为则图像坐标系的点和世界坐标系下的点转换公式为:其中s是比例因子,H是单应性矩阵,是图像坐标系的点,是世界坐标系下的点;
令单应矩阵H=[h1,h2,h3],则[h1 h2 h3]=λK[r1 r2 t],其中h1,h2,h3分别代表单应矩阵H的第一列、第二列、第三列,λ是任意的比例,K为相机的内参矩阵;
为方便计算相机内参数和外参数,自定义矩阵B,令
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>B</mi>
<mo>=</mo>
<msup>
<mi>K</mi>
<mrow>
<mo>-</mo>
<mi>T</mi>
</mrow>
</msup>
<msup>
<mi>K</mi>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>B</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>12</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>13</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>B</mi>
<mn>12</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>22</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>23</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>B</mi>
<mn>13</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>23</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>B</mi>
<mn>33</mn>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mfrac>
<mn>1</mn>
<msubsup>
<mi>f</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<msub>
<mi>u</mi>
<mn>0</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mn>1</mn>
<msubsup>
<mi>f</mi>
<mi>y</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<msub>
<mi>v</mi>
<mn>0</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>y</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<msub>
<mi>u</mi>
<mn>0</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<msub>
<mi>v</mi>
<mn>0</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>y</mi>
<mn>2</mn>
</msubsup>
</mfrac>
</mrow>
</mtd>
<mtd>
<mrow>
<mfrac>
<msubsup>
<mi>u</mi>
<mn>0</mn>
<mn>2</mn>
</msubsup>
<msubsup>
<mi>f</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
</mfrac>
<mo>+</mo>
<mfrac>
<msub>
<mi>v</mi>
<mn>0</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>y</mi>
<mn>2</mn>
</msubsup>
</mfrac>
<mo>+</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>,</mo>
</mrow>
其中,B11,B12,B13,B21,B22,B23,B31,B32,B33是矩阵B的元素,fx是相机在X轴上的焦距,fy是相机在Y轴上的焦距,u0是相机在X轴上的主点坐标,v0是相机在Y轴上的主点坐标;
求解相机内参数:
v0=(B12B13-B11B23)/(B11B22-B12 2)
λ=B33-[B13 2+v0(B12B13-B11B23)]/B11
<mrow>
<msub>
<mi>f</mi>
<mi>x</mi>
</msub>
<mo>=</mo>
<msqrt>
<mrow>
<mi>&lambda;</mi>
<mo>/</mo>
<msub>
<mi>B</mi>
<mn>11</mn>
</msub>
</mrow>
</msqrt>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mi>y</mi>
</msub>
<mo>=</mo>
<msqrt>
<mrow>
<msub>
<mi>&lambda;B</mi>
<mn>11</mn>
</msub>
<mo>/</mo>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>B</mi>
<mn>11</mn>
</msub>
<msub>
<mi>B</mi>
<mn>22</mn>
</msub>
<mo>-</mo>
<msup>
<msub>
<mi>B</mi>
<mn>12</mn>
</msub>
<mn>2</mn>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<msub>
<mi>u</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>B</mi>
<mn>13</mn>
</msub>
<msubsup>
<mi>f</mi>
<mi>x</mi>
<mn>2</mn>
</msubsup>
<mo>/</mo>
<mi>&lambda;</mi>
</mrow>
求解相机外参数:
r1=λK -1h1,r2=λK-1h2,r3=r1×r2,t=λK-1h3,即可求出相机的旋转矩阵R,平移量t。
6.根据权利要求3所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于所述步骤4.4的具体步骤包括:
(1)建立变换矩阵
1)定义旋转矩阵为:
<mrow>
<msup>
<mi>R</mi>
<mrow>
<mo>&prime;</mo>
<mo>&prime;</mo>
</mrow>
</msup>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>sin</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&alpha;</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&beta;</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>sin</mi>
<mi>&beta;</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi>&beta;</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&beta;</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&gamma;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mi>&gamma;</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>sin</mi>
<mi>&gamma;</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mi>&gamma;</mi>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中,α,β,γ分别是围绕x轴,y轴,z轴旋转的角度;
令:
r11=cosγcosβ
r12=-sinγcosα+cosγsinβsinα
r13=sinγsinα+cosγsinβcosα
r21=sinγcosβ
r22=cosγcosα+sinγsinβsinα
r22=-cosγsinα+sinγsinβcosα
r31=-sinβ
r32=cosβsinα
r33=cosβcosα,
其中,r11,r12,r13,r21,r22,r23,r31,r32,r33是旋转矩阵R(α,β,γ)的元素;
2)重新定义旋转矩阵为一个4×4的矩阵:
<mrow>
<mi>R</mi>
<mrow>
<mo>(</mo>
<mi>&alpha;</mi>
<mo>,</mo>
<mi>&beta;</mi>
<mo>,</mo>
<mi>&gamma;</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>12</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>13</mn>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>21</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>22</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>23</mn>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>31</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>32</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>33</mn>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
3)定义平移矩阵为一个4×4的矩阵:
<mrow>
<mi>T</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<msub>
<mi>t</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>z</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
其中,平移量为tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量;则变换矩阵
T′=T(tx,ty,tz)R(α,β,γ)
其中,T′是变换矩阵,T(tx,ty,tz)是平移矩阵,R(α,β,γ)是旋转矩阵,α,β,γ分别是围绕x轴,y轴,z轴旋转的角度,tx表示在X轴上的平移量,ty表示在Y轴上的平移量,tz表示在Z轴上的平移量;
(2)求解变换矩阵
1)利用图像匹配的方法,对不同视角的两幅图像进行精确的匹配,认定图像A和图像B上的点pA和pB在三维空间中所对应的点p′A和p′B是同一个点;点p′A和p′B在其所在点云上所对应的点为vA和vB,则认为vA和vB是空间中同一点,即其中T′是变换矩阵,vA是图像A上的点,vB是图像B上的点;
定义图像A上的点为图像B上的点为
其中xA,yA,zA是点vA分别在X轴、Y轴、Z轴上的坐标,xB,yB,zB是点vB分别在X轴、Y轴、Z轴上的坐标;
<mrow>
<msup>
<mi>T</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>11</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>12</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>13</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>x</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>21</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>22</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>23</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>y</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>r</mi>
<mn>31</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>32</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>r</mi>
<mn>33</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>t</mi>
<mi>z</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
则得出:[xA,yA,zA,1]×T′=[xB,yB,zB,1]
根据投影数据关联的方法,vA和vB已被求出;
2)利用12个匹配好的点对,建立12个方程,将其联合建立方程组:
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>A</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>A</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>A</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>&times;</mo>
<msup>
<mi>T</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>B</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>B</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>B</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>A</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>A</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>A</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>&times;</mo>
<msup>
<mi>T</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>B</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>B</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>B</mi>
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>A</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>A</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>A</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>&times;</mo>
<msup>
<mi>T</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>B</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>B</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>B</mi>
<mn>3</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>A</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>A</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>A</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mo>&times;</mo>
<msup>
<mi>T</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mrow>
<mo>&lsqb;</mo>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>B</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>B</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mrow>
<mi>B</mi>
<mn>12</mn>
</mrow>
</msub>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&rsqb;</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,xA1,xB1,yA1,yB1,zA1,zB1分别是第一个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA2,xB2,yA2,yB2,zA2,zB2分别是第二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA3,xB3,yA3,yB3,zA3,zB3分别是第三个匹配点对的两个点在X轴、Y轴、Z轴上的坐标,xA12,xB12,yA12,yB12,zA12,zB12分别是第十二个匹配点对的两个点在X轴、Y轴、Z轴上的坐标;
3)通过解一个12维的方程组的方式求解出变换矩阵T′的所有未知参数,得到变换矩阵T′。
7.根据权利要求4所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于,所述步骤5.1的具体步骤包括:
(1)经过配准的点云集合为P={pi=(xi,yi,zi)T|i=1,2,…,N},其协方差矩阵集合为C={Ci|Ci∈R3×3},其中Ci是第i个点pi对应的协方差矩阵,R3×3代表3×3的实矩阵的全体,N是点的总个数,xi,yi,zi分别是第i个点pi在X轴、Y轴、Z轴上的坐标;
使用Hesse平面方程:nx-d′=0
其中,n=(nx,ny,nz)T是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是参数,x是平面上点的坐标;
(2)定义回归函数为
<mrow>
<mi>R</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<msub>
<mi>n</mi>
<mrow>
<mi>z</mi>
<mo>,</mo>
</mrow>
</msub>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mi>x</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>r</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>n</mi>
<mi>y</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>r</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>n</mi>
<mi>z</mi>
</msub>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mi>r</mi>
</msubsup>
<mo>-</mo>
<msup>
<mi>d</mi>
<mo>&prime;</mo>
</msup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
pi=(xi,yi,zi)T n=(nx,ny,nz)T,wi=1/trace(ci)2
其中,R(nx,ny,nz,d′)是回归函数,xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,n是平面的法向,nx,ny,nz分别是在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,ci是点pi对应的协方差矩阵,N是点的总个数;
(3)将所有的数据点拟合到原始区域
其中S(nx,ny,nz)表示目标函数,
xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,N是点的总个数;
平面法向n=(nx,ny,nz)T从矩阵A最小特征值对应的特征向量中得到,其中A是为方便计算自定义的矩阵,且有:
<mrow>
<mi>A</mi>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中xi,yi,zi分别是点平面上的第i个点pi在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数。
8.根据权利要求4所述的一种基于单个深度视觉传感器的室内场景三维重建方法,其特征在于,所述步骤5.3的具体步骤包括:
(1)在将深度数据转换成xy平面上的点后,根据协方差矩阵使用平面公式为Z=aX+bY+d′,将点云中的3D点拟合成一个平面,其中是经过数据转换后第i个点分别在X轴、Y轴、Z轴上的坐标,N是点的总个数,是第i个点对应的协方差矩阵,a,b,d′是平面公式的系数,X,Y,Z分别是平面上的点的坐标;
将平面法向定义为:
(nx,ny,nz)=(0,0,1)T;
回归方程为:
<mrow>
<mi>T</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mn>0</mn>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>b</mi>
<mn>0</mn>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mn>1</mn>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>b</mi>
<mn>2</mn>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>;</mo>
</mrow>
其中:T(b0,b1,b2)代表回归方程函数,是平面上的点分别在X轴、Y轴、Z轴上的坐标,nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
(2)分别对b0,b1,b2进行局部求导,得到最佳拟合平面的参数
<mrow>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mn>0</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mn>2</mn>
</msub>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<msup>
<mi>A</mi>
<mrow>
<mo>&prime;</mo>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>z</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<msup>
<mi>A</mi>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
</mrow>
</mtd>
<mtd>
<mrow>
<msubsup>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>N</mi>
</msubsup>
<msub>
<mi>w</mi>
<mi>i</mi>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mi>t</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中,A′是为方便计算自定义的矩阵,是平面上的点分别在X轴、Y轴、Z轴上的坐标,wi是权重,N是点的总个数,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
参数向量b′=(b0,b1,b2)的协方差矩阵为:
其中,Cplane是参数向量b′=(b0,b1,b2)的协方差矩阵,是点对应的协方差矩阵,F是为方便计算定义的矩阵,b0,b1,b2是为了方便计算自定义的变量,且bo=(-d′)/nz,b1=nx/nz,b2=ny/nz;
(3)得到平面参数的最终结果为:
(z,θ,ψ)T=(arctan b0,arctan b1,arctan b2)T
其中,b0,b1,b2是为了方便计算自定义的变量,且
bo=(-d′)/nz,b1=nx/nz,b2=ny/nz,z是沿z轴的平移量,θ是绕x轴旋转的角度,ψ是绕y轴旋转的角度;nx,ny,nz分别是平面在X轴、Y轴、Z轴方向上的法矢量,d′是平面方程的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594687.0A CN105205858B (zh) | 2015-09-18 | 2015-09-18 | 一种基于单个深度视觉传感器的室内场景三维重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594687.0A CN105205858B (zh) | 2015-09-18 | 2015-09-18 | 一种基于单个深度视觉传感器的室内场景三维重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105205858A CN105205858A (zh) | 2015-12-30 |
CN105205858B true CN105205858B (zh) | 2018-04-13 |
Family
ID=54953516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510594687.0A Expired - Fee Related CN105205858B (zh) | 2015-09-18 | 2015-09-18 | 一种基于单个深度视觉传感器的室内场景三维重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105205858B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241901A (zh) * | 2018-08-30 | 2019-01-18 | 天津理工大学 | 一种对具有孔洞的三维点云的检测与识别方法 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101756650B1 (ko) * | 2015-10-27 | 2017-07-26 | 광주과학기술원 | 물품의 설치공간 탐색방법 및 이를 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체 |
CN107316343B (zh) * | 2016-04-26 | 2020-04-07 | 腾讯科技(深圳)有限公司 | 一种基于数据驱动的模型处理方法及设备 |
CN106056056B (zh) * | 2016-05-23 | 2019-02-22 | 浙江大学 | 一种远距离非接触的行李体积检测系统及其方法 |
CN106504321A (zh) * | 2016-11-07 | 2017-03-15 | 达理 | 使用照片或视频重建三维牙模的方法及使用rgbd图像重建三维牙模的方法 |
CN106780715B (zh) * | 2016-11-08 | 2020-04-07 | 四川大学华西医院 | 一种骨盆ct三维坐标体系的建立方法 |
CN106803267B (zh) * | 2017-01-10 | 2020-04-14 | 西安电子科技大学 | 基于Kinect的室内场景三维重建方法 |
CN106846406A (zh) * | 2017-02-24 | 2017-06-13 | 上海坤辕检测科技有限公司 | 一种用于物体三维坐标测量的点云坐标系构建方法 |
CN107016704A (zh) * | 2017-03-09 | 2017-08-04 | 杭州电子科技大学 | 一种基于增强现实的虚拟现实实现方法 |
CN108665472A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 点云分割的方法和设备 |
CN108694741B (zh) * | 2017-04-07 | 2021-11-12 | 杭州海康威视数字技术股份有限公司 | 一种三维重建方法及装置 |
CN107440712A (zh) * | 2017-04-13 | 2017-12-08 | 浙江工业大学 | 一种基于深度感应器的脑电信号电极采集方法 |
CN107147891B (zh) * | 2017-05-17 | 2019-03-01 | 浙江大学 | 光轴可调节式三目深度获取摄像机 |
CN108986204B (zh) * | 2017-06-01 | 2021-12-21 | 哈尔滨工业大学 | 一种基于双重校准的全自动快速室内场景三维重建装置 |
CN107274367B (zh) * | 2017-06-16 | 2020-08-11 | 东北电力大学 | 一种基于结构特征描述的三维几何模型去噪方法 |
US9928460B1 (en) * | 2017-06-16 | 2018-03-27 | Google Llc | Neural network accelerator tile architecture with three-dimensional stacking |
CN110799991B (zh) * | 2017-06-28 | 2023-09-05 | 奇跃公司 | 用于使用卷积图像变换执行同时定位和映射的方法和系统 |
CN107292956B (zh) * | 2017-07-12 | 2020-09-22 | 杭州电子科技大学 | 一种基于曼哈顿假设的场景重建方法 |
CN107462153B (zh) * | 2017-07-13 | 2019-12-13 | 广西我的科技有限公司 | 一种快速建立三维空间模型的方法 |
CN107437261B (zh) * | 2017-07-14 | 2021-03-09 | 梅卡曼德(北京)机器人科技有限公司 | 深度图像获取方法 |
CN107564066B (zh) * | 2017-07-20 | 2020-10-23 | 长春理工大学 | 一种虚拟现实眼镜与深度相机的联合标定方法 |
CN107462897B (zh) * | 2017-07-21 | 2020-01-07 | 西安电子科技大学 | 基于激光雷达的三维建图的方法 |
CN107680168B (zh) * | 2017-09-15 | 2020-03-27 | 电子科技大学 | 三维重建中基于平面拟合的网格简化方法 |
CN107767456A (zh) * | 2017-09-22 | 2018-03-06 | 福州大学 | 一种基于rgb‑d相机的物体三维重建方法 |
CN109693387A (zh) * | 2017-10-24 | 2019-04-30 | 三纬国际立体列印科技股份有限公司 | 基于点云数据的3d建模方法 |
CN108287345A (zh) * | 2017-11-10 | 2018-07-17 | 广东康云多维视觉智能科技有限公司 | 基于点云数据的空间扫描方法及系统 |
CN108171715B (zh) * | 2017-12-05 | 2020-08-04 | 浙江大华技术股份有限公司 | 一种图像分割方法及装置 |
CN108171780A (zh) * | 2017-12-28 | 2018-06-15 | 电子科技大学 | 一种基于激光雷达构建室内真实三维地图的方法 |
CN108171748B (zh) * | 2018-01-23 | 2021-12-07 | 哈工大机器人(合肥)国际创新研究院 | 一种面向机器人智能抓取应用的视觉识别与定位方法 |
CN108198223B (zh) * | 2018-01-29 | 2020-04-07 | 清华大学 | 一种激光点云与视觉图像映射关系快速精确标定方法 |
CN108332662B (zh) * | 2018-02-06 | 2020-02-11 | 新石器龙码(北京)科技有限公司 | 一种物体测量方法和装置 |
CN108428255B (zh) * | 2018-02-10 | 2022-04-12 | 台州智必安科技有限责任公司 | 一种基于无人机的实时三维重建方法 |
CN112470189B (zh) * | 2018-04-17 | 2024-03-29 | 上海科技大学 | 光场系统的遮挡消除 |
CN108961395B (zh) * | 2018-07-03 | 2019-07-30 | 上海亦我信息技术有限公司 | 一种基于拍照重建三维空间场景的方法 |
CN109087325B (zh) * | 2018-07-20 | 2022-03-04 | 成都指码科技有限公司 | 一种基于单目视觉的直接法点云三维重建及尺度确定方法 |
CN109544677B (zh) * | 2018-10-30 | 2020-12-25 | 山东大学 | 基于深度图像关键帧的室内场景主结构重建方法及系统 |
CN109631764B (zh) * | 2018-11-22 | 2020-12-04 | 南京理工大学 | 基于RealSense相机的尺寸测量系统及方法 |
CN109631799B (zh) * | 2019-01-09 | 2021-03-26 | 浙江浙大万维科技有限公司 | 一种智能化的测量与标记方法 |
CN109685048A (zh) * | 2019-03-04 | 2019-04-26 | 上海卓易科技股份有限公司 | 人体测量方法、装置、终端及存储介质 |
CN109801333B (zh) * | 2019-03-19 | 2021-05-14 | 北京华捷艾米科技有限公司 | 体积测量方法、装置、系统及计算设备 |
CN109993103A (zh) * | 2019-03-29 | 2019-07-09 | 华南理工大学 | 一种基于点云数据的人体行为识别方法 |
CN110223297A (zh) * | 2019-04-16 | 2019-09-10 | 广东康云科技有限公司 | 基于扫描点云数据的分割与识别方法、系统及存储介质 |
CN111767767B (zh) * | 2019-05-24 | 2024-07-19 | 北京京东乾石科技有限公司 | 室内物体的检测方法、装置、电子设备与存储介质 |
KR102610989B1 (ko) * | 2019-12-26 | 2023-12-08 | 한국전자통신연구원 | 위성영상을 이용한 수치표면모델 생성 방법 및 장치 |
CN111325779B (zh) * | 2020-02-07 | 2020-12-11 | 贝壳找房(北京)科技有限公司 | 点云配准方法和装置、电子设备和存储介质 |
CN111353409B (zh) * | 2020-02-25 | 2023-05-02 | 达闼机器人股份有限公司 | 容器识别方法、装置和机器人 |
TWI755765B (zh) | 2020-06-22 | 2022-02-21 | 中強光電股份有限公司 | 視覺與深度座標系的校正系統、校正方法及校正裝置 |
CN111986296B (zh) * | 2020-08-20 | 2024-05-03 | 叠境数字科技(上海)有限公司 | 一种用于子弹时间的cg动画合成方法 |
CN112184790B (zh) * | 2020-09-02 | 2024-05-17 | 福建(泉州)哈工大工程技术研究院 | 基于深度相机的物体尺寸高精度测量方法 |
CN113052917B (zh) * | 2021-03-29 | 2024-05-07 | 黑芝麻智能科技(上海)有限公司 | 相机不可见位置的图像坐标的获取方法、标定方法及系统 |
CN113313833A (zh) * | 2021-06-29 | 2021-08-27 | 西藏新好科技有限公司 | 一种基于3d视觉技术的猪体重预估方法 |
CN113470155B (zh) * | 2021-09-03 | 2021-11-23 | 贝壳技术有限公司 | 纹理图像处理方法和装置、电子设备和存储介质 |
CN116193095A (zh) * | 2023-01-18 | 2023-05-30 | 四川大学 | 一种基于单色图像实现彩色3d显示的方法 |
CN116894907B (zh) * | 2023-09-11 | 2023-11-21 | 菲特(天津)检测技术有限公司 | 一种rgbd相机纹理贴图优化方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463880A (zh) * | 2014-12-12 | 2015-03-25 | 中国科学院自动化研究所 | 一种rgb-d图像获取方法 |
-
2015
- 2015-09-18 CN CN201510594687.0A patent/CN105205858B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463880A (zh) * | 2014-12-12 | 2015-03-25 | 中国科学院自动化研究所 | 一种rgb-d图像获取方法 |
Non-Patent Citations (2)
Title |
---|
基于Kinect的室内场景三维重建;吴磊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150715(第7期);第7页最后一段-第8页第2行、第11页最后一段、第21页第3.2.2节、第30页第3.4.1节第1段、第35页第1段、第47页第1段、第67页第(3)点 * |
基于Kinect的深度数据融合方法;呙维 等;《计算机应用研究》;20140131;第31卷(第1期);第287页第2.3节 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241901A (zh) * | 2018-08-30 | 2019-01-18 | 天津理工大学 | 一种对具有孔洞的三维点云的检测与识别方法 |
CN109241901B (zh) * | 2018-08-30 | 2019-08-06 | 天津理工大学 | 一种对具有孔洞的三维点云的检测与识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105205858A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205858B (zh) | 一种基于单个深度视觉传感器的室内场景三维重建方法 | |
CN103971378B (zh) | 一种混合视觉系统中全景图像的三维重建方法 | |
Pizzoli et al. | REMODE: Probabilistic, monocular dense reconstruction in real time | |
Prescott et al. | Line-based correction of radial lens distortion | |
CN105913489B (zh) | 一种利用平面特征的室内三维场景重构方法 | |
Strecha et al. | On benchmarking camera calibration and multi-view stereo for high resolution imagery | |
CN111414798A (zh) | 基于rgb-d图像的头部姿态检测方法及系统 | |
Zeller et al. | Depth estimation and camera calibration of a focused plenoptic camera for visual odometry | |
Wu et al. | Passive measurement method of tree diameter at breast height using a smartphone | |
CN108921895B (zh) | 一种传感器相对位姿估计方法 | |
CN107492107B (zh) | 基于平面与空间信息融合的物体识别与重建方法 | |
CN104537707A (zh) | 像方型立体视觉在线移动实时测量系统 | |
CN104268880A (zh) | 基于特征和区域匹配相结合的深度信息获取方法 | |
CN106056121A (zh) | 基于sift图像特征匹配的卫星装配工件快速识别方法 | |
Huang et al. | Vision pose estimation from planar dual circles in a single image | |
CN115909025A (zh) | 一种小天体表面采样点地形视觉自主检测识别方法 | |
CN117197333A (zh) | 基于多目视觉的空间目标重构与位姿估计方法及系统 | |
CN116071424A (zh) | 基于单目视觉的果实空间坐标定位方法 | |
Lunscher et al. | Point cloud completion of foot shape from a single depth map for fit matching using deep learning view synthesis | |
CN104504691A (zh) | 基于低秩纹理的摄像机位置和姿态测量方法 | |
Kuschk et al. | DSM accuracy evaluation for the ISPRS commission I image matching benchmark | |
CN104596486B (zh) | 基于目标旋转对称特征的位姿测量方法 | |
CN116883590A (zh) | 一种三维人脸点云优化方法、介质及系统 | |
Ward et al. | A model-based approach to recovering the structure of a plant from images | |
Jiang et al. | High quality reconstruction of dynamic objects using 2D-3D camera fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 Termination date: 20210918 |
|
CF01 | Termination of patent right due to non-payment of annual fee |