CN110910431A - 一种基于单目相机多视点三维点集恢复方法 - Google Patents

一种基于单目相机多视点三维点集恢复方法 Download PDF

Info

Publication number
CN110910431A
CN110910431A CN201910979717.8A CN201910979717A CN110910431A CN 110910431 A CN110910431 A CN 110910431A CN 201910979717 A CN201910979717 A CN 201910979717A CN 110910431 A CN110910431 A CN 110910431A
Authority
CN
China
Prior art keywords
point
camera
points
dimensional
point set
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.)
Granted
Application number
CN201910979717.8A
Other languages
English (en)
Other versions
CN110910431B (zh
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.)
Xian University of Technology
Original Assignee
Xian University of Technology
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 Xian University of Technology filed Critical Xian University of Technology
Priority to CN201910979717.8A priority Critical patent/CN110910431B/zh
Publication of CN110910431A publication Critical patent/CN110910431A/zh
Application granted granted Critical
Publication of CN110910431B publication Critical patent/CN110910431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于单目相机多视点三维点集恢复方法,具体为:对单目相机的内参数估计、相机外参数进行计算、图像的多视点采集和预处理、对处理后的图像进行特征点提取、特征点匹配、依据匹配好的特征点集求取初始三维点云,对初始点云的计算、去噪、分割获得处理后的每个独立物体的三维点云数据、对获取的点云数据进行拟合处理,实现对单目相机采集的多视图中的每一个物体的重构。本发明的一种基于单目相机多视点三维点集恢复方法,能实现用少量图像完成对场景中物体三维点集的恢复。

Description

一种基于单目相机多视点三维点集恢复方法
技术领域
本发明属于计算机图形学和虚拟现实相结合的交叉学科技术领域,涉及一种基于单目相机多视点三维点集恢复方法。
背景技术
基于相机的三维重恢复是可以通过预处理、配准与融合、深度数据获取、生成表面等系列处理,将二维图片中的物体或场景刻画成符合计算机逻辑表达的数学模型。这种数学模型可对3D打印、虚拟现实、游戏开发、临床医学等研究起重要的辅助作用。
目前,基于单目视觉三维重建方法有主要有:
①明暗度恢复形状法(Shape from Shading,SFS)
该方法以反射光照模型为参考,通过分析一幅图像中明暗度变化与物体表面间的联系进行对物体表面的法向量信息和三维数据进行恢复。此方法计算量小、速度快,但往往需要假设在理想条件下进行恢复才能获取较好效果,特别容易受实际光照、视点等变化影响,因此实际应用局限性很大。
②光度立体视觉法(Shape from Photometric,SFP)
该方法基于SFS的改进方法,引入光度立体技术,并考虑到SFS使用单幅图像信息量不足的因素,改为将在相同视点下不同照明条件中采集的多幅图像作为输入数据进行重建。本方法较SFS在精确度上有一定提升,但也增大了方法的复杂度和计算量,同时鲁棒性、抗噪声能力差,对光照要求高。
③纹理恢复形状法(Shape from Texture,SFT)
该方法使用单幅图像,通过分析图像纹理单元大小、形状等要素,恢复物体表面深度、法向等其它三维空间信息,最终得到三维模型。该方法计算速度快、鲁棒性好、抗干扰性强、不易受光照和噪声影响,但对纹理信息较为依赖,且在实际应用中往往需要在一定的假设条件下进行,所以在非假设条件下恢复效果较差,应用范围非常局限。
④轮廓恢复形状法(Shape From Contour,SFC)
该方法通过获取、分析建模对象在单张或者多张图像中的轮廓进行重建。此方法操作简单、时间复杂度低、实时性高、重建效果较好,但是如果不能很好地获取待测物体的轮廓将大大降低这种方法的可用性。
⑤运动恢复形状(Shape From Motion,SFM)
此方法使用单目相机在保证重建对象不动的情况下在空间多个位置进行拍摄,然后对获取的图像序列进行研究以恢复出三维信息。此方法对图像质量要求不高,重建效果往往与输入图像的数量成正比,可以很好地满足对室内、外等大场景三维建模的需求,然而如果以大量图像作为研究对象还会存在占用空间高、重建速度慢的缺点。
发明内容
本发明的目的是提供一种基于单目相机多视点三维点集恢复方法,能实现用少量图像完成对场景中物体三维点集的恢复。
本发明所采用的技术方案是,一种基于单目相机多视点三维点集恢复方法,具体按照以下步骤实施:
步骤1,采用改进的张氏标定方法进行单目相机的内参数估计;
步骤2,选用SVD分解本质矩阵的方法对相机外参数进行计算;
步骤3,图像的多视点采集和预处理;
步骤4,基于FAST算子自适应二次特征点提取方案对步骤3处理后的图像进行特征点提取;
步骤5,采用暴力匹配法和KNN匹配法相结合的方式对步骤4获取的特征点进行匹配;
步骤6,依据步骤5匹配好的特征点集求取初始三维点云,对初始点云的计算、去噪、分割获得处理后的每个独立物体的三维点云数据;
步骤7,对步骤6获取的点云数据进行拟合处理,实现对单目相机采集的多视图中的每一个物体的重构。
本发明的特征还在于,
步骤1具体为:
步骤1.1,选用6×8黑白棋盘格图片作为标定物,标定前将电子图片最大化在电脑屏幕上作为标定板;
步骤1.2,使用单目相机从多个角度对标定物进行拍摄,获取18张标定照片,依次从18张照片中随机抽取14张、16张、18张分别放入三个集合;
步骤1.3,遍历其中一个集合进行初始化角点提取,利用亚像素角点检测算法将所有角点的位置进行精准化处理;
步骤1.4,结合标定图角点坐标求取相机参数;
步骤1.5,依据每张照片中各角点的重投影误差对获得的相机参数进行评估,若发现某角点的重投影误差大于一个预定阈值则将该角点自动剔除;
步骤1.6,根据步骤1.5获取的角点坐标重新计算相机参数,并依据步骤1.5重新对相机参数进行评估,直到没有任何角点再被剔除为止;
步骤1.7,将其他两个集合,重复步骤1.3—步骤1.6;
步骤1.8,将最终获取的三组标定结果进行均值化以获得最后的一个相机标定结果,即获得重投影误差较小的单目相机内部参数K。
步骤2具体为:
步骤2.1,计算本质矩阵E
E=KTFK (1)
其中,K为步骤1获取的相机内参矩阵,F为基础矩阵,
F=K-T[t]xRK-1 (2)
其中,t为平移向量,R为旋转矩阵,[t]x是平移向量t的斜对称矩阵,[t]xR=t×R是本质矩阵,则E=[t]xR;
步骤2.2,使用奇异值分解法SVD分解本质矩阵E,即E=Udiag(1,1,0)VT,得到旋转矩阵R和平移向量t,其中U、V是3×3的正交矩阵;
分解前首先要构造一个正交矩阵W和一个反对称矩阵Z,如下:
Figure BDA0002234782110000041
将斜对称矩阵[t]x表示为[t]x=kUZUT,而Z表示为Z=diag(1,1,0)W,合并[t]x和Z可得:
[t]x=kUdiag(1,1,0)WUT (4)
其中k是一个尺度因子,k=1;
此时结合E=[t]xR可得:
E=[t]xR=Udiag(1,1,0)WUTR (5)
最后结合E的SVD分解式E=Udiag(1,1,0)VT可得VT=WUTR,即有R=UWVT或R=UWTVT两个解,再加上平移向量t的符号具有不确定性,所以最终分解可得[R|t]的四组解,
Figure BDA0002234782110000051
其中u3是U的最后一列;
选用R=UWVT,t=u3作为外参解。
步骤3具体为:
步骤3.1,进行图像采集;
步骤3.2,对步骤3.1采集的图像采用高斯滤波进行去噪;
步骤3.3,使用sobel算子对去噪图像进行锐化。
步骤4具体为:
步骤4.1,在经过步骤3预处理的图像中选择一像素点,记为P,假设P的亮度值为IP,设置亮度阈值T,围绕P做一个外围拥有16个像素的Bresenham圆;
步骤4.2,将16个像素中的像素1、5、9、13的亮度值与IP进行比较,若像素1、5、9、13中至少有三个满足其亮度值比IP+T大或者比IP-T小,则像素点P为特征点;
若像素1、5、9、13中至少有两个不满足其亮度值比IP+T大或者比IP-T小,则像素点P为非特征点;
步骤4.3,对图像中的所有像素重复步骤4.1和步骤4.2,得到所有特征点;
步骤4.4,使用上述步骤4.1-4.3对输入的两幅图像IM1、IM2分别进行两次特征点检测,第一次侧重于特征点数量,设置检测阈值T1=0,将获取的特征点存储到MKP1中;第二次侧重于特征点质量,采用自适应阈值T,将获取的特征点分别存储到MKP2中。
步骤5具体为:
步骤5.1,采用暴力匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,得到匹配点对数;
步骤5.2,采用KNN匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,获取匹配结果;
步骤5.3,选用随机采样一致性RANSAC方法分别对步骤5.1和步骤5.2的暴力匹配结果及KNN匹配结果进行优化,其中,暴力匹配结果优化时阈值设置为10;KNN匹配结果优化时阈值设置为5,通过RANSAC优化后会将每个匹配对用一个向量mask进行标注以指定哪些是符合该重投影误差的匹配,哪些是不符合重投影误差的匹配,以此剔除错误的匹配,从而实现匹配优化,获得优化后的两组特征点匹配集MKP1和MKP2
步骤6具体为:
步骤6.1,使用步骤5已匹配好的特征点集,结合旋转矩阵R和平移向量t对图像深度进行恢复,获得一个初始的物体三维点集;
单目相机在空间中的左右两个位置对同一组图像进行拍摄,左右相机投影矩阵分别为Ml和Mr,若将世界坐标系建立在左相机位置,即以左相机拍摄图像为最终恢复对象,则Ml和Mr
Figure BDA0002234782110000061
Figure BDA0002234782110000062
根据透视投影原理
Figure BDA0002234782110000071
其中,
Figure BDA0002234782110000072
为相机内参矩阵,
Figure BDA0002234782110000073
为外参矩阵;
可得:
Figure BDA0002234782110000074
Figure BDA0002234782110000075
分别对式(10)和(11)左右两边同乘以内参矩阵K的逆矩阵K-1,由于世界坐标系在左相机位置,此时式(10)和(11)可转换为式(12)和(13):
Figure BDA0002234782110000076
Figure BDA0002234782110000077
其中,u、v为像素坐标,(u0,v0)表示图像坐标系中原点的位置,R为旋转矩阵,t为平移向量,f表示相机中心到图像坐标系所在平面的距离即相机实际焦距,fx和fy是成像坐标系的坐标,Xw、Yw、Zw是世界坐标系的坐标,ur、vr是右相机拍摄图像的像素坐标系坐标,ul、vl是左相机拍摄图像的像素坐标系坐标,
Figure BDA0002234782110000081
是右相机对应的相机坐标系坐标,
Figure BDA0002234782110000082
是左相机对应的相机坐标系坐标,
Figure BDA0002234782110000083
Figure BDA0002234782110000084
属于归一化坐标,即相机坐标,而步骤5得到的两个特征点集里面的特征点的坐标属于像素坐标,在计算深度信息之前需要将所有特征点坐标进行归一化,即将式(12)和(13)联立得到式(14)
Figure BDA0002234782110000085
将所有匹配后的特征点经过以上计算过程可得一个初始点云集合,从而获取二维图像中物体的初始三维点云数据;
步骤6.2,采用基于球形邻域的自动化去噪方法对步骤6.1获取的初始三维点云数据进行去噪处理,获得三维点云集合;
步骤6.3,将步骤2获得三维点云集合进行投影获得二维点集,对投影的二维点集进行连通区域标记,实现对点云中物体的分割,具体为:
首先将经步骤6.2处理过的三维点云集合投影到Πxoy平面形成Pxoy区域,即获取一个二维点集;然后借助基于区域生长的标记法对Pxoy区域进行连通性标记,形成含不同标记的一个或多个区域,把Pxoy划分为相互独立的多个点集,最后将划分好的多个二维点集进行三维还原形成空间中多个独立物体,完成对点集的分割。
步骤6.2具体为:
步骤6.2.1,根据输入点集的不同对基于球形邻域的自动化去噪方法中所涉及到的半径R'和阈值N'值进行预设;
具体过程:随机从点集中选取三分之一点,记为m,组成临时点集Mp;依次从Mp中取点并计算每个点到其自身第5个近邻点间距离,遍历Mp中所有点得到m个距离;将m个距离排序,去掉距离远大于其它值的数据,均值化剩余值作为R'的值;以R'为半径,统计Mp中每个点球形邻域内包含的点数,并对点数进行均值化,将均值化后的结果作为N'的值;
步骤6.2.2,依据预设的半径R'和阈值N'值对三维初始点云进行自动化去噪,具体过程为:
对所有点遍历,每遍历到一个点p,以该点为球心R'为半径划分一个球形邻域;将此邻域内点数n与设定的判别阈值N'比较,如n<N'则特殊标记点p,反之不处理,最后将所有含特殊标记点剔除以完成去噪。
步骤7具体为:
步骤7.1,设置形状比例阈值scale、切片比例阈值S和角度阈值D,其中,scale权衡是否将物体拟合为球体,S权衡是否将物体拟合为圆锥体,D权衡是将物体拟合为圆柱体还是长方体;
步骤7.2,针对步骤6获取的分割完成的独立物体,点集P表示一个只包含独立物体的三维信息,将点集P的正方向旋转到与坐标Y轴平行的方向;
步骤7.3,计算点集P在三维空间的长L、宽W和高H,用来确定空间位置和拟合物体大小,比较H/W与scale,若H/W小于或等于scale则将点集P所对应的物体拟合为球体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.4;
步骤7.4,将点集P进行切片,取Y轴正方向点集P的最顶层和最底层两层切片并分别计算宽度Wtop和Wbase,比较Wbase/Wtop与S,若Wbase/Wtop大于或等于S则将P对应物体拟合为圆锥体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.5;
步骤7.5,将步骤7.4获取的顶层切片投影到Πxoy上,过投影点集中位置居中的两点O、O′做直线l作为水平线,选两个点中一个作为起点并在起点左侧不同距离处选取大于两个点进行角度计算得到α、β、γ多个夹角,夹角与D,若夹角大于D则将P所对应物体拟合为圆柱体,否则拟合为长方体;
步骤7.6,重复步骤7.2至7.5,直到所有三维点集均被拟合。
本发明的有益效果是,本发明能实现精细化获取三维物体点云,实现两幅图像快速匹配和三维重建,实现了用少量图像完成对场景中物体三维点集的精细化恢复。
附图说明
图1是本发明一种基于单目相机多视点三维点集恢复方法的实拍图像;
图2是本发明一种基于单目相机多视点三维点集恢复方法采用各方法的去噪效果图;
图3是本发明一种基于单目相机多视点三维点集恢复方法图像锐化后的效果图;
图4是本发明一种基于单目相机多视点三维点集恢复方法中FAST特征点示意图;
图5是本发明一种基于单目相机多视点三维点集恢复方法中双视图两次图像特征点提取效果;
图6是本发明一种基于单目相机多视点三维点集恢复方法中的匹配效果示意图;
图7是本发明一种基于单目相机多视点三维点集恢复方法中的优化效果示意图;
图8是本发明一种基于单目相机多视点三维点集恢复方法中点云去噪效果图;
图9是本发明一种基于单目相机多视点三维点集恢复方法中的三维物体拟合过程图;
图10是对图8的点云去噪图进行拟合的效果示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于单目相机多视点三维点集恢复方法,具体按照以下步骤实施:
步骤1,采用改进的张氏标定方法进行单目相机的内参数估计,具体为:
步骤1.1,选用6×8黑白棋盘格图片作为标定物,标定前将电子图片最大化在电脑屏幕上作为标定板;
步骤1.2,使用单目相机从多个角度对标定物进行拍摄,获取18张标定照片,依次从18张照片中随机抽取14张、16张、18张分别放入三个集合;
步骤1.3,遍历其中一个集合进行初始化角点提取,利用亚像素角点检测算法将所有角点的位置进行精准化处理;
步骤1.4,结合标定图角点坐标求取相机参数;
步骤1.5,依据每张照片中各角点的重投影误差对获得的相机参数进行评估,若发现某角点的重投影误差大于一个预定阈值则将该角点自动剔除;
步骤1.6,根据步骤1.5获取的角点坐标重新计算相机参数,并依据步骤1.5重新对相机参数进行评估,直到没有任何角点再被剔除为止;
步骤1.7,将其他两个集合,重复步骤1.3—步骤1.6;
步骤1.8,将最终获取的三组标定结果进行均值化以获得最后的一个相机标定结果,即获得重投影误差较小的单目相机内部参数K;
步骤2,选用SVD分解本质矩阵的方法对相机外参数进行计算,具体为:
步骤2.1,计算本质矩阵E
E=KTFK (1)
其中,K为步骤1获取的相机内参矩阵,F为基础矩阵,用于描述两幅图像中匹配点对的空间几何关系,
F=K-T[t]xRK-1 (2)
其中,t为平移向量,R为旋转矩阵,[t]x是平移向量t的斜对称矩阵,[t]xR=t×R是本质矩阵,则E=[t]xR,本发明采用基于RANSAC的鲁棒性算法计算基础矩阵;
步骤2.2,使用奇异值分解法SVD分解本质矩阵E,即E=Udiag(1,1,0)VT,得到旋转矩阵R和平移向量t,其中U、V是3×3的正交矩阵;
分解前首先要构造一个正交矩阵W和一个反对称矩阵Z,如下:
Figure BDA0002234782110000121
将斜对称矩阵[t]x表示为[t]x=kUZUT,而Z表示为Z=diag(1,1,0)W,合并[t]x和Z可得:
[t]x=kUdiag(1,1,0)WUT (4)
其中k是一个尺度因子,k=1;
此时结合E=[t]xR可得:
E=[t]xR=Udiag(1,1,0)WUTR (5)
最后结合E的SVD分解式E=Udiag(1,1,0)VT可得VT=WUTR,即有R=UWVT或R=UWTVT两个解,再加上平移向量t的符号具有不确定性,所以最终分解可得[R|t]的四组解,
Figure BDA0002234782110000131
其中u3是U的最后一列;
此时获取四组解,但是单目相机拍摄过程中,前后两次相机相对空间位置应具有唯一性,这说明四组解中只有一组满足实际情况;因为本发明只考虑看得见的点的深度,即空间点位于两个相机前面,所以参考本质矩阵四组解所对应的相机位置,最终选用R=UWVT,t=u3作为外参解;
步骤3,图像的多视点采集和预处理,具体为:
步骤3.1,进行图像采集;本发明通过系列实验发现,在研究对象全部包含在双视图中的前提下,拍摄距离尽可能不要太远且两次拍摄相机位置不要大幅度上下、左右、前后摆动,同时相机前后两次位置变换尽量避免大幅度旋转的情况可以保证最终获取到更多的有效特征点匹配对数,采集获取图1数据;
步骤3.2,对步骤3.1采集的图像采用高斯滤波进行去噪;
特征点主要作用:一是为获取三维点云的计算作支撑,二是为获取相机旋转矩阵和平移向量提供数据输入;为更好获取恢复效果,针对特征点作用本发明对特征点提取提出两点要求:一是作为计算三维点云的特征点数量要足够多;二是作为旋转矩阵和平移向量数据输入的特征点质量要高但数量适中。所以本发明在优化及特征点提取算法选取上围绕两点要求进行取舍;
图2给出了盒式滤波、中值滤波、高斯滤波、双边滤波去噪后的效果图,图2a是原图、图2b是盒式滤波的去噪效果图、图2c是中值滤波的去噪效果图、图2d是高斯滤波的去噪效果图、图2e是双边滤波的去噪效果图;本发明结合第一个要求,选取高斯滤波进行去噪,得到相对较多特征点,且提取的特征点更集中在要研究的物体上;
步骤3.3,使用sobel算子对去噪图像进行锐化,以弥补步骤3.2去噪时部分边缘信息、局部细节丢失的缺陷,锐化效果图如图3所示;
步骤4,基于FAST算子自适应二次特征点提取方案对步骤3处理后的图像进行特征点提取,具体为:
步骤4.1,在经过步骤3预处理的图像中选择一像素点,记为P,假设P的亮度值为IP,设置亮度阈值T,围绕P做一个外围拥有16个像素的Bresenham圆,如图4所示;
步骤4.2,依据16个像素中是否存在N个像素的亮度值都比IP+T大或者都比IP-T小,从而判断P是否可以被确定为角点,N=12,虑到若对图像中每个像素周围的16个像素都进行亮度值比较定会降低算法运行效率,因此为提高效率,可先将像素1、5、9、13的亮度值与IP进行比较,因此本发明采用如下方法确定特征点:
将16个像素中的像素1、5、9、13的亮度值与IP进行比较,若像素1、5、9、13中至少有三个满足其亮度值比IP+T大或者比IP-T小,则像素点P为特征点;
若像素1、5、9、13中至少有两个不满足其亮度值比IP+T大或者比IP-T小,则像素点P为非特征点;
步骤4.3,对图像中的所有像素重复步骤4.1和步骤4.2,得到所有特征点;
步骤4.4,使用上述步骤4.1-4.3对输入的两幅图像IM1、IM2分别进行两次特征点检测,第一次侧重于特征点数量,设置检测阈值T1=0,将获取的特征点存储到MKP1中;第二次侧重于特征点质量,采用自适应阈值T,将获取的特征点分别存储到MKP2中,如图5所示,其中a是双视图第一次图像特征点提取效果;b是双视图第二次图像特征点提取效果;
步骤5,采用暴力匹配法和KNN匹配法相结合的方式对步骤4获取的特征点进行匹配,匹配效果如图6所示,其中,a是暴力匹配效果;b是KNN匹配效果,具体为:
步骤5.1,采用暴力匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,得到匹配点对数;
步骤5.2,采用KNN匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,获取匹配结果;
步骤5.3,选用随机采样一致性RANSAC方法分别对步骤5.1和步骤5.2的暴力匹配结果及KNN匹配结果进行优化,其中,暴力匹配结果优化时阈值设置为10;KNN匹配结果优化时阈值设置为5,通过RANSAC优化后会将每个匹配对用一个向量mask进行标注以指定哪些是符合该重投影误差的匹配,哪些是不符合重投影误差的匹配,以此剔除错误的匹配,从而实现匹配优化,获得优化后的两组特征点匹配集MKP1和MKP2,优化效果如图7所示,其中a是暴力匹配优化效果;b是KNN匹配优化效果;
步骤6,依据步骤5匹配好的特征点集求取初始三维点云,对初始点云的计算、去噪、分割获得处理后的每个独立物体的三维点云数据,具体为:
步骤6.1,使用步骤5已匹配好的特征点集,结合旋转矩阵R和平移向量t对图像深度进行恢复,获得一个初始的物体三维点集;
单目相机在空间中的左右两个位置对同一组图像进行拍摄,左右相机投影矩阵分别为Ml和Mr,若将世界坐标系建立在左相机位置,即以左相机拍摄图像为最终恢复对象,则Ml和Mr
Figure BDA0002234782110000161
Figure BDA0002234782110000162
根据透视投影原理
Figure BDA0002234782110000163
其中,
Figure BDA0002234782110000164
为相机内参矩阵,
Figure BDA0002234782110000165
为外参矩阵;
可得:
Figure BDA0002234782110000166
Figure BDA0002234782110000167
分别对式(10)和(11)左右两边同乘以内参矩阵K的逆矩阵K-1,由于世界坐标系在左相机位置,此时式(10)和(11)可转换为式(12)和(13):
Figure BDA0002234782110000171
Figure BDA0002234782110000172
其中,u、v为像素坐标,(u0,v0)表示图像坐标系中原点的位置,R为旋转矩阵,t为平移向量,f表示相机中心到图像坐标系所在平面的距离即相机实际焦距,fx和fy是成像坐标系的坐标,Xw、Yw、Zw是世界坐标系的坐标,ur、vr是右相机拍摄图像的像素坐标系坐标,ul、vl是左相机拍摄图像的像素坐标系坐标,
Figure BDA0002234782110000173
是右相机对应的相机坐标系坐标,
Figure BDA0002234782110000174
是左相机对应的相机坐标系坐标,
Figure BDA0002234782110000175
Figure BDA0002234782110000176
属于归一化坐标,即相机坐标,而步骤5得到的两个特征点集里面的特征点的坐标属于像素坐标,在计算深度信息之前需要将所有特征点坐标进行归一化,即将式(12)和(13)联立得到式(14)
Figure BDA0002234782110000177
将所有匹配后的特征点经过以上计算过程可得一个初始点云集合,从而获取二维图像中物体的初始三维点云数据;
步骤6.2,采用基于球形邻域的自动化去噪方法对步骤6.1获取的初始三维点云数据进行去噪处理,获得三维点云集合,具体为:
步骤6.2.1,根据输入点集的不同对基于球形邻域的自动化去噪方法中所涉及到的半径R'和阈值N'值进行预设;
具体过程:随机从点集中选取三分之一点,记为m,组成临时点集Mp;依次从Mp中取点并计算每个点到其自身第5个近邻点间距离,遍历Mp中所有点得到m个距离;将m个距离排序,去掉距离远大于其它值的数据,均值化剩余值作为R'的值;以R'为半径,统计Mp中每个点球形邻域内包含的点数,并对点数进行均值化,将均值化后的结果作为N'的值;
步骤6.2.2,依据预设的半径R'和阈值N'值对三维初始点云进行自动化去噪,具体过程为:
对所有点遍历,每遍历到一个点p,以该点为球心R'为半径划分一个球形邻域;将此邻域内点数n与设定的判别阈值N'比较,如n<N'则特殊标记点p,反之不处理,最后将所有含特殊标记点剔除以完成去噪;图8是针对罐子和杯子的双物体场景图像进行去噪的效果图,其中,a是拍摄的罐子和杯子图像(双物体场景);b是罐子和杯子点云图;c是罐子和杯子点云去噪图;
步骤6.3,将步骤2获得三维点云集合进行投影获得二维点集,对投影的二维点集进行连通区域标记,实现对点云中物体的分割,具体为:
首先将经步骤6.2处理过的三维点云集合投影到Πxoy平面形成Pxoy区域,即获取一个二维点集;然后借助基于区域生长的标记法对Pxoy区域进行连通性标记,形成含不同标记的一个或多个区域,把Pxoy划分为相互独立的多个点集,最后将划分好的多个二维点集进行三维还原形成空间中多个独立物体,完成对点集的分割;
步骤7,对步骤6获取的点云数据进行拟合处理,实现对单目相机采集的多视图中的每一个物体的重构,三维物体拟合过程如图9所示,具体为:
步骤7.1,设置形状比例阈值scale、切片比例阈值S和角度阈值D,其中,scale权衡是否将物体拟合为球体,S权衡是否将物体拟合为圆锥体,D权衡是将物体拟合为圆柱体还是长方体;
步骤7.2,针对步骤6获取的分割完成的独立物体,点集P表示一个只包含独立物体的三维信息,将点集P的正方向旋转到与坐标Y轴平行的方向;
步骤7.3,计算点集P在三维空间的长L、宽W和高H,用来确定空间位置和拟合物体大小,比较H/W与scale,若H/W小于或等于scale则将点集P所对应的物体拟合为球体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.4;
步骤7.4,将点集P进行切片,取Y轴正方向点集P的最顶层和最底层两层切片并分别计算宽度Wtop和Wbase,比较Wbase/Wtop与S,若Wbase/Wtop大于或等于S则将P对应物体拟合为圆锥体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.5;
步骤7.5,将步骤7.4获取的顶层切片投影到Πxoy上,过投影点集中位置居中的两点O、O′做直线l作为水平线,选两个点中一个作为起点并在起点左侧不同距离处选取大于两个点进行角度计算得到α、β、γ多个夹角,夹角与D,若夹角大于D则将P所对应物体拟合为圆柱体,否则拟合为长方体;
步骤7.6,重复步骤7.2至7.5,直到所有三维点集均被拟合,对于图8的拟合效果如图10所示。

Claims (9)

1.一种基于单目相机多视点三维点集恢复方法,其特征在于,具体按照以下步骤实施:
步骤1,采用改进的张氏标定方法进行单目相机的内参数估计;
步骤2,选用SVD分解本质矩阵的方法对相机外参数进行计算;
步骤3,图像的多视点采集和预处理;
步骤4,基于FAST算子自适应二次特征点提取方案对步骤3处理后的图像进行特征点提取;
步骤5,采用暴力匹配法和KNN匹配法相结合的方式对步骤4获取的特征点进行匹配;
步骤6,依据步骤5匹配好的特征点集求取初始三维点云,对初始点云的计算、去噪、分割获得处理后的每个独立物体的三维点云数据;
步骤7,对步骤6获取的点云数据进行拟合处理,实现对单目相机采集的多视图中的每一个物体的重构。
2.根据权利要求1所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤1具体为:
步骤1.1,选用6×8黑白棋盘格图片作为标定物,标定前将电子图片最大化在电脑屏幕上作为标定板;
步骤1.2,使用单目相机从多个角度对标定物进行拍摄,获取18张标定照片,依次从18张照片中随机抽取14张、16张、18张分别放入三个集合;
步骤1.3,遍历其中一个集合进行初始化角点提取,利用亚像素角点检测算法将所有角点的位置进行精准化处理;
步骤1.4,结合标定图角点坐标求取相机参数;
步骤1.5,依据每张照片中各角点的重投影误差对获得的相机参数进行评估,若发现某角点的重投影误差大于一个预定阈值则将该角点自动剔除;
步骤1.6,根据步骤1.5获取的角点坐标重新计算相机参数,并依据步骤1.5重新对相机参数进行评估,直到没有任何角点再被剔除为止;
步骤1.7,将其他两个集合,重复步骤1.3—步骤1.6;
步骤1.8,将最终获取的三组标定结果进行均值化以获得最后的一个相机标定结果,即获得重投影误差较小的单目相机内部参数K。
3.根据权利要求2所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤2具体为:
步骤2.1,计算本质矩阵E
E=KTFK (1)
其中,K为步骤1获取的相机内参矩阵,F为基础矩阵,
F=K-T[t]xRK-1 (2)
其中,t为平移向量,R为旋转矩阵,[t]x是平移向量t的斜对称矩阵,[t]xR=t×R是本质矩阵,则E=[t]xR;
步骤2.2,使用奇异值分解法SVD分解本质矩阵E,即E=Udiag(1,1,0)VT,得到旋转矩阵R和平移向量t,其中U、V是3×3的正交矩阵;
分解前首先要构造一个正交矩阵W和一个反对称矩阵Z,如下:
Figure FDA0002234782100000021
将斜对称矩阵[t]x表示为[t]x=kUZUT,而Z表示为Z=diag(1,1,0)W,合并[t]x和Z可得:
[t]x=kU diag(1,1,0)WUT (4)
其中k是一个尺度因子,k=1;
此时结合E=[t]xR可得:
E=[t]xR=U diag(1,1,0)WUTR (5)
最后结合E的SVD分解式E=Udiag(1,1,0)VT可得VT=WUTR,即有R=UWVT或R=UWTVT两个解,再加上平移向量t的符号具有不确定性,所以最终分解可得[R|t]的四组解,
Figure FDA0002234782100000031
其中u3是U的最后一列;
选用R=UWVT,t=u3作为外参解。
4.根据权利要求3所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤3具体为:
步骤3.1,进行图像采集;
步骤3.2,对步骤3.1采集的图像采用高斯滤波进行去噪;
步骤3.3,使用sobel算子对去噪图像进行锐化。
5.根据权利要求4所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤4具体为:
步骤4.1,在经过步骤3预处理的图像中选择一像素点,记为P,假设P的亮度值为IP,设置亮度阈值T,围绕P做一个外围拥有16个像素的Bresenham圆;
步骤4.2,将16个像素中的像素1、5、9、13的亮度值与IP进行比较,若像素1、5、9、13中至少有三个满足其亮度值比IP+T大或者比IP-T小,则像素点P为特征点;
若像素1、5、9、13中至少有两个不满足其亮度值比IP+T大或者比IP-T小,则像素点P为非特征点;
步骤4.3,对图像中的所有像素重复步骤4.1和步骤4.2,得到所有特征点;
步骤4.4,使用上述步骤4.1-4.3对输入的两幅图像IM1、IM2分别进行两次特征点检测,第一次侧重于特征点数量,设置检测阈值T1=0,将获取的特征点存储到MKP1中;第二次侧重于特征点质量,采用自适应阈值T,将获取的特征点分别存储到MKP2中。
6.根据权利要求5所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤5具体为:
步骤5.1,采用暴力匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,得到匹配点对数;
步骤5.2,采用KNN匹配法对步骤4获取的两组特征点MKP1和MKP2进行匹配,获取匹配结果;
步骤5.3,选用随机采样一致性RANSAC方法分别对步骤5.1和步骤5.2的暴力匹配结果及KNN匹配结果进行优化,其中,暴力匹配结果优化时阈值设置为10;KNN匹配结果优化时阈值设置为5,通过RANSAC优化后会将每个匹配对用一个向量mask进行标注以指定哪些是符合该重投影误差的匹配,哪些是不符合重投影误差的匹配,以此剔除错误的匹配,从而实现匹配优化,获得优化后的两组特征点匹配集MKP1和MKP2
7.根据权利要求6所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤6具体为:
步骤6.1,使用步骤5已匹配好的特征点集,结合旋转矩阵R和平移向量t对图像深度进行恢复,获得一个初始的物体三维点集;
单目相机在空间中的左右两个位置对同一组图像进行拍摄,左右相机投影矩阵分别为Ml和Mr,若将世界坐标系建立在左相机位置,即以左相机拍摄图像为最终恢复对象,则Ml和Mr
Figure FDA0002234782100000051
Figure FDA0002234782100000052
根据透视投影原理
Figure FDA0002234782100000053
其中,
Figure FDA0002234782100000054
为相机内参矩阵,
Figure FDA0002234782100000055
为外参矩阵;
可得:
Figure FDA0002234782100000056
Figure FDA0002234782100000057
分别对式(10)和(11)左右两边同乘以内参矩阵K的逆矩阵K-1,由于世界坐标系在左相机位置,此时式(10)和(11)可转换为式(12)和(13):
Figure FDA0002234782100000061
Figure FDA0002234782100000062
其中,u、v为像素坐标,(u0,v0)表示图像坐标系中原点的位置,R为旋转矩阵,t为平移向量,f表示相机中心到图像坐标系所在平面的距离即相机实际焦距,fx和fy是成像坐标系的坐标,Xw、Yw、Zw是世界坐标系的坐标,ur、vr是右相机拍摄图像的像素坐标系坐标,ul、vl是左相机拍摄图像的像素坐标系坐标,
Figure FDA0002234782100000063
是右相机对应的相机坐标系坐标,
Figure FDA0002234782100000064
是左相机对应的相机坐标系坐标,
Figure FDA0002234782100000065
Figure FDA0002234782100000066
属于归一化坐标,即相机坐标,而步骤5得到的两个特征点集里面的特征点的坐标属于像素坐标,在计算深度信息之前需要将所有特征点坐标进行归一化,即将式(12)和(13)联立得到式(14)
Figure FDA0002234782100000067
将所有匹配后的特征点经过以上计算过程可得一个初始点云集合,从而获取二维图像中物体的初始三维点云数据;
步骤6.2,采用基于球形邻域的自动化去噪方法对步骤6.1获取的初始三维点云数据进行去噪处理,获得三维点云集合;
步骤6.3,将步骤2获得三维点云集合进行投影获得二维点集,对投影的二维点集进行连通区域标记,实现对点云中物体的分割,具体为:
首先将经步骤6.2处理过的三维点云集合投影到Πxoy平面形成Pxoy区域,即获取一个二维点集;然后借助基于区域生长的标记法对Pxoy区域进行连通性标记,形成含不同标记的一个或多个区域,把Pxoy划分为相互独立的多个点集,最后将划分好的多个二维点集进行三维还原形成空间中多个独立物体,完成对点集的分割。
8.根据权利要求7所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤6.2具体为:
步骤6.2.1,根据输入点集的不同对基于球形邻域的自动化去噪方法中所涉及到的半径R'和阈值N'值进行预设;
具体过程:随机从点集中选取三分之一点,记为m,组成临时点集Mp;依次从Mp中取点并计算每个点到其自身第5个近邻点间距离,遍历Mp中所有点得到m个距离;将m个距离排序,去掉距离远大于其它值的数据,均值化剩余值作为R'的值;以R'为半径,统计Mp中每个点球形邻域内包含的点数,并对点数进行均值化,将均值化后的结果作为N'的值;
步骤6.2.2,依据预设的半径R'和阈值N'值对三维初始点云进行自动化去噪,具体过程为:
对所有点遍历,每遍历到一个点p,以该点为球心R'为半径划分一个球形邻域;将此邻域内点数n与设定的判别阈值N'比较,如n<N'则特殊标记点p,反之不处理,最后将所有含特殊标记点剔除以完成去噪。
9.根据权利要求8所述的一种基于单目相机多视点三维点集恢复方法,其特征在于,所述步骤7具体为:
步骤7.1,设置形状比例阈值scale、切片比例阈值S和角度阈值D,其中,scale权衡是否将物体拟合为球体,S权衡是否将物体拟合为圆锥体,D权衡是将物体拟合为圆柱体还是长方体;
步骤7.2,针对步骤6获取的分割完成的独立物体,点集P表示一个只包含独立物体的三维信息,将点集P的正方向旋转到与坐标Y轴平行的方向;
步骤7.3,计算点集P在三维空间的长L、宽W和高H,用来确定空间位置和拟合物体大小,比较H/W与scale,若H/W小于或等于scale则将点集P所对应的物体拟合为球体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.4;
步骤7.4,将点集P进行切片,取Y轴正方向点集P的最顶层和最底层两层切片并分别计算宽度Wtop和Wbase,比较Wbase/Wtop与S,若Wbase/Wtop大于或等于S则将P对应物体拟合为圆锥体,返回步骤7.2进行下一个物体拟合;否则继续步骤7.5;
步骤7.5,将步骤7.4获取的顶层切片投影到Πxoy上,过投影点集中位置居中的两点O、O′做直线l作为水平线,选两个点中一个作为起点并在起点左侧不同距离处选取大于两个点进行角度计算得到α、β、γ多个夹角,夹角与D,若夹角大于D则将P所对应物体拟合为圆柱体,否则拟合为长方体;
步骤7.6,重复步骤7.2至7.5,直到所有三维点集均被拟合。
CN201910979717.8A 2019-10-15 2019-10-15 一种基于单目相机多视点三维点集恢复方法 Active CN110910431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910979717.8A CN110910431B (zh) 2019-10-15 2019-10-15 一种基于单目相机多视点三维点集恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910979717.8A CN110910431B (zh) 2019-10-15 2019-10-15 一种基于单目相机多视点三维点集恢复方法

Publications (2)

Publication Number Publication Date
CN110910431A true CN110910431A (zh) 2020-03-24
CN110910431B CN110910431B (zh) 2024-01-23

Family

ID=69815705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910979717.8A Active CN110910431B (zh) 2019-10-15 2019-10-15 一种基于单目相机多视点三维点集恢复方法

Country Status (1)

Country Link
CN (1) CN110910431B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767489A (zh) * 2021-01-29 2021-05-07 北京达佳互联信息技术有限公司 一种三维位姿确定方法、装置、电子设备及存储介质
CN112929626A (zh) * 2021-02-02 2021-06-08 辽宁工程技术大学 一种基于智能手机影像的三维信息提取方法
CN113392909A (zh) * 2021-06-17 2021-09-14 深圳市睿联技术股份有限公司 数据处理方法、数据处理装置、终端及可读存储介质
CN113489964A (zh) * 2021-07-15 2021-10-08 中国人民解放军火箭军工程大学 一种基于三目视觉的场景深度信息获取系统
CN113534737A (zh) * 2021-07-15 2021-10-22 中国人民解放军火箭军工程大学 一种基于多目视觉的ptz球机控制参数获取系统
CN114509048A (zh) * 2022-01-20 2022-05-17 中科视捷(南京)科技有限公司 基于单目相机的架空输电线路空间三维信息获取方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977997A (zh) * 2017-11-29 2018-05-01 北京航空航天大学 一种结合激光雷达三维点云数据的相机自标定方法
CN108010116A (zh) * 2017-11-30 2018-05-08 西南科技大学 点云特征点检测方法和点云特征提取方法
CN110021065A (zh) * 2019-03-07 2019-07-16 杨晓春 一种基于单目相机的室内环境重建方法
WO2019179200A1 (zh) * 2018-03-22 2019-09-26 深圳岚锋创视网络科技有限公司 多目相机的三维重建方法、vr相机和全景相机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977997A (zh) * 2017-11-29 2018-05-01 北京航空航天大学 一种结合激光雷达三维点云数据的相机自标定方法
CN108010116A (zh) * 2017-11-30 2018-05-08 西南科技大学 点云特征点检测方法和点云特征提取方法
WO2019179200A1 (zh) * 2018-03-22 2019-09-26 深圳岚锋创视网络科技有限公司 多目相机的三维重建方法、vr相机和全景相机
CN110021065A (zh) * 2019-03-07 2019-07-16 杨晓春 一种基于单目相机的室内环境重建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周?朴等: "一种基于AKAZE算法的多视图几何三维重建方法", 《计算机科学》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767489A (zh) * 2021-01-29 2021-05-07 北京达佳互联信息技术有限公司 一种三维位姿确定方法、装置、电子设备及存储介质
CN112767489B (zh) * 2021-01-29 2024-05-14 北京达佳互联信息技术有限公司 一种三维位姿确定方法、装置、电子设备及存储介质
CN112929626A (zh) * 2021-02-02 2021-06-08 辽宁工程技术大学 一种基于智能手机影像的三维信息提取方法
CN112929626B (zh) * 2021-02-02 2023-02-14 辽宁工程技术大学 一种基于智能手机影像的三维信息提取方法
CN113392909A (zh) * 2021-06-17 2021-09-14 深圳市睿联技术股份有限公司 数据处理方法、数据处理装置、终端及可读存储介质
CN113489964A (zh) * 2021-07-15 2021-10-08 中国人民解放军火箭军工程大学 一种基于三目视觉的场景深度信息获取系统
CN113534737A (zh) * 2021-07-15 2021-10-22 中国人民解放军火箭军工程大学 一种基于多目视觉的ptz球机控制参数获取系统
CN113534737B (zh) * 2021-07-15 2022-07-19 中国人民解放军火箭军工程大学 一种基于多目视觉的ptz球机控制参数获取系统
CN114509048A (zh) * 2022-01-20 2022-05-17 中科视捷(南京)科技有限公司 基于单目相机的架空输电线路空间三维信息获取方法及系统
CN114509048B (zh) * 2022-01-20 2023-11-07 中科视捷(南京)科技有限公司 基于单目相机的架空输电线路空间三维信息获取方法及系统

Also Published As

Publication number Publication date
CN110910431B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
CN110910431B (zh) 一种基于单目相机多视点三维点集恢复方法
CN106910242B (zh) 基于深度相机进行室内完整场景三维重建的方法及系统
CN106600686B (zh) 一种基于多幅未标定图像的三维点云重建方法
Strecha et al. On benchmarking camera calibration and multi-view stereo for high resolution imagery
CN103810685B (zh) 一种深度图的超分辨率处理方法
CN113192179B (zh) 一种基于双目立体视觉的三维重建方法
CN107798702B (zh) 一种用于增强现实的实时图像叠加方法以及装置
CN110853151A (zh) 一种基于视频的三维立体点集恢复方法
CN112991458B (zh) 一种基于体素的快速三维建模方法及系统
CN107369204B (zh) 一种从单幅照片恢复出场景基本三维结构的方法
US20150138193A1 (en) Method and device for panorama-based inter-viewpoint walkthrough, and machine readable medium
CN111476884B (zh) 基于单帧rgbd图像的实时三维人体重建方法及系统
WO2018133119A1 (zh) 基于深度相机进行室内完整场景三维重建的方法及系统
CN108648264A (zh) 基于运动恢复的水下场景重建方法及存储介质
CN106203429A (zh) 基于双目立体视觉复杂背景下的遮挡目标检测方法
CN106887043A (zh) 三维建模外点去除的方法、装置及三维建模的方法
WO2018056802A1 (en) A method for estimating three-dimensional depth value from two-dimensional images
Zabulis et al. Multi-camera reconstruction based on surface normal estimation and best viewpoint selection
CN117501313A (zh) 基于深度神经网络的毛发渲染系统
CN107798703B (zh) 一种用于增强现实的实时图像叠加方法以及装置
CN112102504A (zh) 一种基于混合现实的三维场景和二维图像混合方法
US11475629B2 (en) Method for 3D reconstruction of an object
CN114935316B (zh) 基于光学跟踪与单目视觉的标准深度图像生成方法
CN111899293B (zh) Ar应用中的虚实遮挡处理方法
Tan et al. Large scale texture mapping of building facades

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant