CN116309880A - 基于三维重建的物体位姿确定方法、装置、设备及介质 - Google Patents
基于三维重建的物体位姿确定方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116309880A CN116309880A CN202310311290.0A CN202310311290A CN116309880A CN 116309880 A CN116309880 A CN 116309880A CN 202310311290 A CN202310311290 A CN 202310311290A CN 116309880 A CN116309880 A CN 116309880A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- model
- scene
- pose
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000009466 transformation Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000012937 correction Methods 0.000 claims abstract description 17
- 230000004927 fusion Effects 0.000 claims abstract description 17
- 238000007499 fusion processing Methods 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims description 55
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 claims description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 25
- 238000005070 sampling Methods 0.000 claims description 23
- 238000013519 translation Methods 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 abstract description 9
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000009776 industrial production Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012994 industrial processing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
Abstract
本申请公开一种基于三维重建的物体位姿确定方法、装置、设备及介质,涉及智能制造工业视觉检测技术领域,能够提高目标物体的位姿确定的准确性。包括:获取目标物体在多个不同角度下的表面点云模型;将各表面点云模型以及对应旋转角度输入至第一模型进行点云配准处理,得到各表面点云模型数据对应的参考表面点云模型以及位姿变换数据;依次将各参考表面点云模型和对应的位姿变换数据输入至第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型;基于目标点云数据生成目标物体的三维模型;将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配,并根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据。
Description
技术领域
本申请涉及智能制造工业视觉检测技术领域,尤其涉及一种基于三维重建的物体位姿确定方法、装置、设备及介质。
背景技术
视觉检测由于可以提高生产的柔性和自动化程度,以及可以使用在某些不存在人工检测条件的场合,使得近几年在几何量测量以及机械制造等领域发挥着越来越重要的作用。
目前,在工业生产领域中,各种各样的产品及加工过程中所需使用的绝大多数工业零部件都是三维物体,而通过视觉传感器采集的二维彩色图像只是三维物体在真实三维空间中某个视角的投影,丢失了物体的三维空间信息。故在工业视觉检测领域,基于2D机器视觉技术,如目标检测和模板匹配等,仅仅可以满足某些特定工业生产场景的需求,而对于更为复杂的工业生产场景,往往检测效果较差,同时导致检测出的目标物体的位姿数据的准确性较低。
发明内容
本申请提供一种基于三维重建的物体位姿确定方法、装置、设备及介质,能够提高目标物体的检测精度,进而可以提高目标物体的位姿确定的准确性。
为达到上述目的,本申请采用如下技术方案:
本申请实施例第一方面,提供了一种基于三维重建的物体位姿确定方法,该方法包括:
获取待重建的目标物体在多个不同旋转角度下的表面点云模型;
将各表面点云模型以及各表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各表面点云模型数据对应的参考表面点云模型以及各参考表面点云模型对应的位姿变换数据;
依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型;
基于目标点云数据生成目标物体的三维模型;
将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配,并根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据。
在一种可能的实现方式中,获取待重建的目标物体在多个不同旋转角度下的表面点云模型,包括:
获取建模坐标系,建模坐标系为旋转平台相对于深度相机的坐标系,旋转平台的表面包括标定板,旋转平台用于放置目标物体;
利用深度相机获取旋转平台在多个不同角度下的图像帧,图中帧为包括目标物体的场景图像帧,各场景图像帧包括对应的彩色场景图像帧和深度场景图像帧;
根据每个彩色图像帧、每个目标深度场景图像帧以及预设的深度相机的内部参数得到各场景图像帧对应的场景点云模型,各帧场景点云模型是基于深度相机坐标系的;
将各帧场景点云模型转换至建模坐标系下,并从转换后的各帧场景模型中分离出各场景图像帧中目标物体的表面点云模型,得到目标物体在多个不同旋转角度下的表面点云模型。
在一种可能的实现方式中,标定板为棋盘格标定板,获取建模坐标系,包括:
根据棋盘格标定板上的棋盘格角点的像素坐标、棋盘格角点的世界坐标、深度相机的内部参数以及深度相机的畸变系数,得到深度相机与世界坐标系的转换矩阵;
获取建模坐标系的原点在相机坐标下的转换位姿,建模坐标系的原点位于旋转平台的圆心;
根据转换位姿确定建模坐标系与相机坐标系之间的平移向量,并根据平移向量和转换矩阵,得到建模坐标系与相机坐标系中间的转换关系;
根据转换关系和相机坐标系确定出建模坐标系。
在一种可能的实现方式中,从转换后的各帧场景模型中分离出各场景图像帧中目标物体的表面点云模型,包括:
获取目标物体的表面点云模型的模型区域;
将场景模型中除模型区域的剩余区域去除背景噪声点云后,采用半径滤波和统计方式滤波去除模型区域的离群点,得到各场景图像帧中目标物体的表面点云模型。
在一种可能的实现方式中,第二模型是基于截断符号距离函数的模型,依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型,包括:
将各参考表面点云模型中的第一帧参考表面点云模型映射到第二模型中,并更新第二模型中体素内的截断距离值及对应的权重;
计算第二帧参考表面点云模型的法向量,并根据第二帧参考表面点云模型对应的位姿变换数据将第二帧参考表面点云模型配准至第一帧参考表面点云模型;
获取第一帧参考表面点云模型对应的第一相机位姿,并采用光线投射算法重投影出第一帧参考表面点云模型,根据重投影出的第一帧参考表面点云模型与第二帧参考表面点云模型,得到两帧点云之间的修正位姿矩阵以及位姿转换矩阵;
基于位姿转换矩阵将第二帧参考表面点云模型映射至第二模型中,并再次更新第二模型中体素内的截断距离值及对应的权重,得到第二帧参考表面点云模型与第一帧参考表面点云模型的融合模型;
重复上述过程,直至剩余参考表面点云模型完成融合,得到目标物体融合后的目标点云模型。
在一种可能的实现方式中,将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配,并根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据,包括:
根据实时采集的场景点云数据拟合出场景平面,并从场景平面中分离出目标物体所在的目标场景平面;
针对目标场景平面对应的场景点云,将场景点云离散为多个子场景点云,在包括场景点的子场景点云中分别以场景点为球心,以目标物体的包围盒的体对角线的一半为半径,得到采样球;
将采样球中包括的场景点的数量大于预设阈值的范围作为目标采样范围;
针对目标采样范围,提取目标采样范围中包括的点云数据的点对特征,并对提取出的点对特征进行离散化处理,得到离散场景点对特征,离散点对特征中包括两个点位置数据、法向量的夹角和两个点的颜色信息;
从三维模型中的点云数据提取点对特征,得到模型点对特征,并对模型点对特征进行离散化处理,得到离散模型点对特征;
将各离散场景点对特征分别与各离散模型点对特征进行匹配;
根据各离散场景点对特征匹配出的候选离散模型点对特征,确定离散场景点对特征的候选位姿;
对各离散场景点对特征的候选位姿进行位姿聚类处理,得到场景点云数据中包括的目标物体的参考位姿数据;
将参考位姿数据、场景点云数据和模型点云数据输入至预设的ICP算法中进行位姿优化处理,得到修正位姿;
根据修正位姿和参考位姿数据,得到场景点云数据中包括的目标物体的位姿数据。
在一种可能的实现方式中,根据各离散场景点对特征匹配出的候选离散模型点对特征,确定离散场景点对特征的候选位姿,包括:
各离散场景点对特征匹配出多个候选离散模型点对特征;
分别确定离散场景点对特征与每个匹配出的候选离散点对特征的位姿数据,并对确定出的位姿数据进行投票处理,得到各离散场景点对特征应的候选位姿。
本申请实施例第二方面,提供了一种基于三维重建的物体位姿确定装置,该装置包括:
获取模块,用于获取待重建的目标物体在多个不同旋转角度下的表面点云模型;
第一处理模块,用于将各表面点云模型以及各表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各表面点云模型数据对应的参考表面点云模型以及各参考表面点云模型对应的位姿变换数据;
第二处理模块,用于依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型;
生成模块,用于基于目标点云数据生成目标物体的三维模型;
匹配模块,用于将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配;
确定模块,用于根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据。
本申请实施例第三方面,提供了一种电子设备,该电子设备包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面中的基于三维重建的物体位姿确定方法。
本申请实施例第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面中的基于三维重建的物体位姿确定方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的基于三维重建的物体位姿确定方法,通过对目标物体在多个不同角度下的表面点云模型进行配准后,再进行误差修正和点云融合处理,最后得到目标物体重建后的三维模型,之后再将实时采集的场景中的点云数据与重建后的三维模型中的点云数据进行识别匹配,最后得到场景点云数据中包括的目标物体的实时位姿数据,这样利用重建后的目标物体的三维模型进行匹配,相较于二维目标检测或模板匹配更加准确,进而可以提高目标物体的位姿确定的准确性。同时,本申请在对不同角度下的目标物体的表面点云模型进行配准后,还对配准后的点云模型进行误差修正和点云融合,最终得到目标物体融合后的目标点云模型,这样可以提高物体三维重建的模型的精确性。
附图说明
图1为本申请实施例提供的一种基于三维重建的物体位姿确定方法的流程图;
图2为本申请实施例提供的一种棋盘格标定板的示意图;
图3为本申请实施例提供的一种基于TSDF模型的全局误差修正策略的示意图;
图4为本申请实施例提供的一种去除背景前的场景点云模型;
图5为本申请实施例提供的一种去除背景后的场景点云模型;
图6为本申请实施例提供的一种点对特征匹配与位姿投票的示意图;
图7为本申请实施例提供的一种物体模型到场景点云的位姿变换示意图;
图8为本申请实施例提供的一种基于三维重建的物体位姿确定装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出的值。
图1为本申请实施例提供的一种基于三维重建的物体位姿确定方法的流程图,如图1所示,该方法包括以下步骤:
步骤101、获取待重建的目标物体在多个不同旋转角度下的表面点云模型。
其中,目标物体可以为待建立三维模型的物体,该物体可以为工业零件,工业加工工具或者其他物体等,本申请实施例对此不做具体限定。
可选的,上述获取待重建的目标物体在多个不同旋转角度下的表面点云模型的过程可以为:
获取建模坐标系,建模坐标系为旋转平台相对于深度相机的坐标系,旋转平台的表面包括标定板,旋转平台用于放置目标物体;
利用深度相机获取旋转平台在多个不同角度下的图像帧,图像帧为包括目标物体的场景图像帧,各场景图像帧包括对应的彩色场景图像帧和深度场景图像帧;
根据每个彩色图像帧、每个目标深度场景图像帧以及预设的深度相机的内部参数得到各场景图像帧对应的场景点云模型,各帧场景点云模型是基于深度相机坐标系的;
将各帧场景点云模型转换至建模坐标系下,并从转换后的各帧场景点云模型中分离出各场景图像帧中目标物体的表面点云模型,得到目标物体在多个不同旋转角度下的表面点云模型。
其中,标定板为棋盘格标定板,该深度相机可以为RGBD相机,上述获取建模坐标系的过程,或者可以理解为建模坐标系的创建过程可以为:
根据棋盘格标定板上的棋盘格角点的像素坐标、棋盘格角点的世界坐标、深度相机的内部参数以及深度相机的畸变系数,得到深度相机与世界坐标系的转换矩阵;
获取建模坐标系的原点在相机坐标下的转换位姿,建模坐标系的原点位于旋转平台的圆心;
根据转换位姿确定建模坐标系与相机坐标系之间的平移向量,并根据平移向量和转换矩阵,得到建模坐标系与相机坐标系中间的转换关系;
根据转换关系和相机坐标系确定出建模坐标系。
可以理解的是,由于通过相机采集到的物体数据是定义在相机坐标系下的,故只有在得到相机准确的位姿的情况下,才能将相机坐标系下的点云模型准确投影到世界坐标系中,通过多帧物体点云模型的连续投影和配准,才可以获得完整的物体三维模型。
在一个实施例中,建模坐标系的创建过程具体可以为:
本申请利用PnP算法进行相机位姿估计,二维图像特征和三维场景特征通过转台表面的棋盘格标定板提供,此方法通过单帧彩色图像即可完成深度相机位姿的计算。
首先将棋盘格固定至旋转平台表面,通过角点检测算法提取棋盘格角点的像素坐标,以此作为PnP算法的二维图像特征,而又因为棋盘格每个栅格的物理尺寸已知,所以可以直接将世界坐标系建立在棋盘格所在的平面上,与求解相机内参一样,以棋盘格左上角第一个内角点作为世界坐标系原点,棋盘边作为X轴和Y轴,Z轴与棋盘格平面垂直,此时,棋盘格每个内角点的世界坐标已知,以此作为PnP算法的三维场景特征,最后结合相机内参矩阵与畸变系数求解出当前相机坐标系与世界坐标系的转换矩阵。
需要注意的是,在使用棋盘格特征求解相机位姿时,选取的棋盘格规格的有效角点数应该是奇偶相乘的形式,以避免检测奇异性问题。同时,棋盘格内角点的二维像素坐标与三维空间坐标的匹配顺序必须是一一对应的关系。如图2所示,本申请选取的棋盘格标定板的规格为9×8,总共可以提供72个棋盘格内角点用于相机位姿估计。
申请针对于物体的三维重建的技术路线是通过相机采集物体多帧点云数据,随后通过多帧点云的配准拼接即可获得物体完整的三维模型,在此过程中的技术难点就是兼顾效率和精度的点云配准实现。
针对于此问题,本申请提出了一种基于旋转平台进行的三维重建方案,通过旋转平台的约束可以为点云配准提供精度较高的位姿初值而不需要复杂的点云粗配准算法,以此来提高点云配准效率。
故在获得相机坐标系与世界坐标系的转换关系后,还需要进一步基于世界坐标系标定旋转平台在相机坐标系下的位姿,并将标定得到的旋转平台坐标系定义为建模坐标系。下面将详细介绍旋转平台的标定过程。
在使用三维重建数据采集平台对目标物体进行数据采集的过程中,物体相对于旋转平台来说是在绕着旋转平台的转轴以预设的旋转角度转动,为了方便后续的点云配准,故将建模坐标系原点设置在转台表面圆心处,Z轴垂直于转台表面并且方向向下,同时将建模坐标系的X轴和Y轴定义在转台表面,随后根据右手定则选取坐标轴方向,此时计算简便可以直接将建模坐标系的X轴和Y轴的方向向量选为在上述中标定得到的世界坐标系的X轴和Y轴的方向向量,并且当前选定的建模坐标系Z轴的方向向量与世界坐标系Z轴的方向向量也相同。基于上述分析,旋转平台的标定需要求解的就是相机坐标系和建模坐标系之间的旋转平移矩阵,而建模坐标系与世界坐标系三个坐标轴的方向向量均相同,
故相机坐标系与建模坐标系之间的旋转矩阵可以直接由上述标定得到的相机坐标系与世界坐标系的旋转矩阵提供,此时,旋转平台标定的核心问题简化为平移向量的求解,而两坐标轴之间的平移向量即为各坐标系原点在另一个坐标系下的坐标,故旋转平台标定的核心问题又进一步转换为求解建模坐标系的原点在相机坐标系下的坐标。
由于在求解世界坐标系阶段采用的是棋盘格特征,并且已经将棋盘格固定至旋转平台表面,故本文同样借助棋盘格特征来标定旋转平台,也就是求解建模坐标系原点在相机坐标系下的坐标。而建模坐标系的原点设置在转台表面圆心处,故设转台表面的圆心Om在相机坐标系下的坐标为[Xm0,Ym0,Zm0],同时选取位于转台表面同心圆周上两个棋盘格角点P1和P2作为转台标定特征点,且这两个特征点在相机坐标系下的坐标分别为[x1,y1,z1]和[x2,y2,z2],则P1和P2的中点坐标为P12[(x1+x2)/2,(y1+y2)/2,(z1+z2)/2],根据圆的几何性质可得:
P1P2⊥OmP12 (1)将各点坐标带入式(1),可得:
b=Xm0Δx+Ym0Δy+Zm0Δz (2)
其中,
将式(2)转换为矩阵形式:
此时,式(4)共有3个未知数,故只需已知3个转台标定特征点即可求解出建模坐标系原点在相机坐标系下的坐标Om[Xm0,Ym0,Zm0],但是为了使得求解的结果更加精确,在这里采用更多的棋盘格角点来约束式(4)并构建最小二乘问题,因此进一步推广该式并建立方程:
Ax=b (5)
其中,
式(6)中A为n×3的矩阵,b为n×1的矩阵(n为转台标定特征点的个数),则:
即为式(5)的最小二乘解。
但此时基于式(7)求解得到的[Xm0,Ym0,Zm0]并不是唯一确定解。分析其原因,上述的求解过程均是在三维空间中进行的,而在三维空间中,满足式(1)的Om可以是旋转平台转轴上的任意一点,而本文的建模坐标系原点是定义在转台表面上的,故需要对求解建模坐标系原点坐标的过程添加一个约束条件:Om位于旋转平台表面。为此,还需要拟合旋转平台在相机坐标系下的表面方程。由于转台表面的棋盘格内角点在相机坐标系下的坐标可以通过相机位姿求解得到的世界坐标系与相机坐标系的转换矩阵结合棋盘格内角点的世界坐标转换得到,故本文选取转台表面的棋盘格内角点作为特征点拟合转台表面方程。
通过n(n≥3)个离散点拟合平面,根据最小二乘原则,就是要找到一个平面使得误差的平方和最小。设转台表面的平面方程的一般表达式为:
Ax+By+Cz+D=0(C≠0) (8)
进一步将式(8)改写为:
其中,令:
则式(9)可以化简为:
z=ax+by+d (11)
根据最小二乘原则,定义误差函数S的表达式为:
也就是说要找到一组(a,b,d),使得对于已有的离散点来说,S的值最小。而要使S的值最小,需要满足下式:
将式(13)展开得到:
将式(14)转换为矩阵形式:
式(15)同样可以构建形如式(5)方程,此时,A为3×3的矩阵,b为3×1的矩阵,x=[a b d]T,则:
x=A-1b (16)
通过以上分析,将棋盘格内角点在相机坐标系下的坐标带入式(16)中即可求出一组(a,b,d)的值,再带回式(11)中便可得到转台表面在相机坐标系下的平面方程。
本申请基于以上对求解建模坐标系原点在相机坐标系下的坐标的分析,设计了建模坐标系原点的求解方案。首先,为了确保所选择的转台标定特征点位于转台表面同心圆周上,将转台的预设旋转角度设定为45°,转台每旋转一次,相机捕获一帧场景的彩色图像,转台旋转一周后完成转台标定图像采集,共采集8帧场景彩色图像,此时选定每张彩色图中棋盘格左上角第一个内角点(即为图2中的O点,由于选定的棋盘格规格的有效角点数为奇偶相乘的形式,故该点在不同的标定图片中具有唯一性)作为转台标定特征点。这样做的原因是棋盘格上的任意角点都在围绕旋转平台转轴做圆周运动,故棋盘格的任意同一角点在不同转台标定图像中一定位于转台表面同心圆周上,以此来确保所选择的转台标定特征点符合要求。而每一张转台标定图像中的转台标定特征点在相机坐标系下的坐标均可通过上述相机位姿求解方法解算得到。此时,便可将8个转台标定特征点带入式(7)中并与约束条件式(11)联立方程组求解建模坐标系原点在相机坐标系下的坐标。在求解得到建模坐标系原点在相机坐标系下的坐标后,将该坐标转换为建模坐标系与相机坐标系之间的平移向量,并与旋转矩阵组合成建模坐标系与相机坐标系之间的转换矩阵,进而可以得到建模坐标系。
可选的,上述从转换后的各帧场景模型中分离出各场景图像帧中目标物体的表面点云模型的过程可以为:
获取目标物体的表面点云模型的模型区域;
将场景模型中除模型区域的剩余区域去除背景噪声点云后,采用半径滤波和统计方式滤波去除模型区域的离群点,得到各场景图像帧中目标物体的表面点云模型。
步骤102、将各表面点云模型以及各表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各表面点云模型数据对应的参考表面点云模型以及各参考表面点云模型对应的位姿变换数据;
其中,第一模型可以为基于ICP算法的处理模型。
步骤103、依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型。
可选的,第二模型是基于截断符号距离函数(Truncated Signed DistanceFunction,TSDF)的模型,上述依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型的过程可以为:
将各参考表面点云模型中的第一帧参考表面点云模型映射到第二模型中,并更新第二模型中体素内的截断距离值及对应的权重;
计算第二帧参考表面点云模型的法向量,并根据第二帧参考表面点云模型对应的位姿变换数据将第二帧参考表面点云模型配准至第一帧参考表面点云模型;
获取第一帧参考表面点云模型对应的第一相机位姿,并采用光线投射算法重投影出第一帧参考表面点云模型,根据重投影出的第一帧参考表面点云模型与第二帧参考表面点云模型,得到两帧点云之间的修正位姿矩阵以及位姿转换矩阵;
基于位姿转换矩阵将第二帧参考表面点云模型映射至第二模型中,并再次更新第二模型中体素内的截断距离值及对应的权重,得到第二帧参考表面点云模型与第一帧参考表面点云模型的融合模型;
重复上述过程,直至剩余参考表面点云模型完成融合,得到目标物体融合后的目标点云模型。
可以理解的是,物体的多帧点云模型经过点云配准后便可获得物体的完整点云模型,但此时由于在数据采集阶段中旋转平台的转动等环节总会不可避免的由于环境噪声、硬件限制等的影响造成获得的物体的点云数据质量下降的问题,同时在相机位姿估计阶段也会或多或少地存在误差,从而影响点云配准阶段的配准效果,最终导致重建得到的物体的三维模型质量较差的问题,故有必要在点云配准之后进行全局误差修正,以消除上述不同阶段对物体重建产生的累计误差,最终完成点云融合。因此,本申请提出了一种基于TSDF模型的全局误差修正策略,图3为本申请实施例提供的一种基于TSDF模型的全局误差修正策略的示意图,下面将详细介绍该策略的具体实现细节。
TSDF模型是视觉三维重建中比较常用的点云融合方法。传统TSDF模型的构建主要分为体素栅格建立、TSDF模型更新及物体表面重构三个阶段。
在体素栅格建立阶段,根据待重建点云的分布情况,确定包围所有点云的边界大小,然后再将边界内的空间根据设定的尺寸大小进行体素化,这样就将边界内空间离散化为由体素组成的栅格化区域,且每个体素内均保存了两个值:截断距离值F及其对应的权重W,并全部初始化为1,此时称该体素栅格模型为TSDF模型。
在TSDF模型更新阶段,首先将待重建点云转换到建模坐标系下,此时点云已经映射进TSDF模型中,随后开始更新每个体素内保存的F和W。更新过程如下:
变量初始化。记TSDF模型坐标系为体素坐标系,体素的长宽高分别为Voxel.x,Voxel.y,Voxel.z,体素坐标为[0,0,0]的体素在建模坐标系下的坐标为[x0,y0,z0]。
计算体素在相机坐标系下的坐标。设相机坐标系相对于建模坐标系的旋转矩阵和平移向量分别是R和t,那么vi在相机坐标系下的坐标为:
计算体素投影在相机成像平面下的像素坐标在对应深度图中的深度值。根据相机成像模型,设相机的内参矩阵为K,则有:
计算SDF值:
可以发现:sdfi(vi)>0表示体素vi位于相机和物体表面之间,sdfi(vi)<0表示体素vi位于物体表面之后,sdfi(vi)=0表示体素vi位于物体表面;
计算TSDF值,即截断距离值F的更新量:
其中,t表示截断值,即上式表示将SDF值截断在[-t,t]内,SDF值超过这个范围的体素的TSDF值不必计算,直接等于±1。也就是说,当某个体素离物体表面非常近时,其TSDF值趋近于0,反之其TSDF值趋近于±1;
将当前帧得到的值合并到已有的TSDF模型中。首先更新体素vi的权重W:
Wi(vi)=Wi-1(vi)+wi(vi) (21)
其中,wi(vi)为每次更新的权重,一般设定为1。随后更新体素vi的截断距离值F:
对于TSDF模型中的每一个体素,都需要进行截断距离值与权重的更新,所以在这里使用GPU并行计算会非常高效。通过不断重复上述步骤完成物体多帧点云的TSDF模型融合。
在物体表面重构阶段,基于融合完成的物体多帧点云的TSDF模型中每个体素的截断距离值,通过Marching Cubes算法寻找TSDF模型中的等值面作为物体的重构曲面。
基于TSDF模型的全局误差修正策略的整体流程可以为:首先在有效建模区域内初始化TSDF模型;随后将物体多帧点云模型中的第一帧点云(即点云配准阶段的目标点云)映射到TSDF模型中,更新体素内的截断距离值及其权重;然后计算下一帧物体点云模型的法向量,并使用点云配准阶段得到的位姿变换矩阵Treg将当前帧物体点云配准至上一帧物体点云,随后与当前TSDF模型使用上一帧相机位姿(Tc2m为相机坐标系与建模坐标系之间的位姿转换矩阵)采用光线投射算法重投影出的上一帧点云进行ICP配准,获得两帧点云之间的优化位姿矩阵Ti,i-1,并进一步获得更新后的当前帧与上一帧物体点云模型间的位姿转换矩阵Ti=Ti,i-1·Treg,从而获得当前帧的相机位姿Ti c=Ti·Tc2m,最后基于位姿转换矩阵Ti将当前帧物体点云映射到TSDF模型中,更新体素内的截断距离值及其权重,从而完成与上一帧物体点云的融合,不断重复此过程直至物体多帧点云模型全部融合完毕;最后基于TSDF模型中每个体素内保存的截断距离值确定物体的重构表面,以此去除点云配准过后物体点云模型存在的分层、缝隙及不属于物体表面的凸起等问题。此外,需要说明的是,frame-to-model策略相比于frame-to-frame策略能够减少点云配准中的位姿累积误差,提高配准的精度。
步骤104、基于目标点云数据生成目标物体的三维模型。
可选的,可以采用泊松重建算法将目标点云数据生成目标物体的三维模型。
步骤105、将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配,并根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据。
可选的,步骤105的实现过程可以为:
根据实时采集的场景点云数据拟合出场景平面,并从场景平面中分离出目标物体所在的目标场景平面;
针对目标场景平面对应的场景点云,将场景点云离散为多个子场景点云,在包括场景点的子场景点云中分别以场景点为球心,以目标物体的包围盒的体对角线的一半为半径,得到采样球;将采样球中包括的场景点的数量大于预设阈值的范围作为目标采样范围。
针对目标采样范围,提取目标采样范围中包括的点云数据的点对特征,并对提取出的点对特征进行离散化处理,得到离散场景点对特征,离散场景点对特征中包括两个点位置数据、法向量的夹角和两个点的颜色信息。通过该方法可以减小场景点的采样空间,使得采样得到的场景点尽可能位于目标物体表面,在确保位姿精度的同时提高算法效率,更好地满足工业生产的要求。
从三维模型中的点云数据提取点对特征,得到模型点对特征,并对模型点对特征进行离散化处理,得到离散模型点对特征;
将各离散场景点对特征分别与各离散模型点对特征进行匹配;
根据各离散场景点对特征匹配出的候选离散模型点对特征,确定离散场景点对特征的候选位姿;
对各离散场景点对特征的候选位姿进行位姿聚类处理,得到场景点云数据中包括的目标物体的参考位姿数据;
将参考位姿数据、场景点云数据和模型点云数据输入至预设的ICP算法中进行位姿优化处理,得到修正位姿;
根据修正位姿和参考位姿数据,得到场景点云数据中包括的目标物体的位姿数据。
在一个实施例中,上述根据实时采集的场景点云数据拟合出场景平面的过程可以为:
上述在完成物体的三维模型重建工作后,为了获得工业场景中物体的6D位姿,首先需要获取包含目标物体的场景点云数据,本文同样使用RGBD相机采集当前场景的彩色图与深度图,并将其转换为场景点云模型。但原始的场景点云模型无法直接用于位姿估计,因为其中包括了大量的背景信息及由于环境噪声产生的离群点,这些无效信息会严重影响后续位姿估计算法的精度与速度,故对原始场景点云数据进行预处理就显得十分重要。因此,本文使用随机采样一致性算法(Random Sample Consensus,RANSAC)去除背景平面,使用半径滤波和统计滤波的方法去除离群点,以此完成点云数据预处理。
本申请通过使用RANSAC算法来拟合背景平面从而去除背景点云信息,具体流程如下:首先从场景点云模型中随机选取三个点拟合平面方程;随后计算其余点到该平面方程的距离,将距离与所设定的阈值做比较,如果距离小于设定阈值则该点为内点,否则为外点,统计该平面方程下内点的个数;若当前的内点数量大于已经保存的最大内点数量,则更新平面方程,确保当前保留的平面始终是内点数量最多的平面;不断重复上述三步,直到达到迭代阈值,找到内点个数最多的平面,最后用内点再次对平面进行估计,从而得到最终的平面方程;基于此平面去除场景点云模型中的背景点云数据,最终得到包括目标物体的目标平面,而在场景点云离群点去除阶段使用的方法与本文在物体三维重建中点云数据预处理阶段使用的离群点去除算法基本相同。如图4所示为去除背景前的场景点云模型,如图5为去除背景后的场景点云模型。
可选的,上述根据各离散场景点对特征匹配出的候选离散模型点对特征,确定离散场景点对特征的候选位姿的过程可以为:
各离散场景点对特征匹配出多个候选离散模型点对特征;
分别确定离散场景点对特征与每个匹配出的候选离散点对特征的位姿数据,并对确定出的位姿数据进行投票处理,得到各离散场景点对特征应的候选位姿。
在实际执行过程中,上述位姿投票和位姿聚类的过程可以为:
需要说明的是,物体点云模型的点对特征用于训练物体点对模型,而场景点云的点对特征用于场景点云与物体模型间的相似点对特征匹配。
当找到物体与场景相匹配的点对后,下一步需要基于匹配点对计算物体模型与场景点云间的位姿关系,但由于物体可能会存在局部结构的相似性,在点对特征匹配阶段会搜索到很多与场景点对特征相似的物体模型点对,故此时会得到物体与场景间的多个位姿关系,这些位姿代表了物体模型在场景点云中可能存在的位置,故为了从中找到正确的位姿关系需要进行6D空间位姿的投票,投票结果的峰值即可视为位姿估计的初步结果。下面介绍使用匹配点对计算物体与场景间位姿关系的过程及位姿投票的实现,如图6所示,为本申请实施例提供的点对特征匹配与位姿投票的示意图。
首先计算物体模型与场景点云间的位姿转换关系。点对特征配准算法通过引入自定义的局部坐标系将复杂的六自由度参数求解问题简化为求与场景点对匹配的物体模型点对及对应点对间连线夹角的问题。
图7为本申请实施例提供的物体模型到场景点云的位姿变换的示意图,如图7所示,对于场景点云中的参考点sr,在物体点对模型中选取与场景点对(sr,si)具有相似点对特征值的物体点对(mr,mi),通过转换矩阵Tm→l将mr移动到局部坐标系的原点,并且旋转物体模型,使点mr的法向量与局部坐标系的x轴重合;通过转换矩阵Ts→l对场景点云做同样的操作;最后,通过旋转矩阵Rx(α)将物体模型中的点mi与场景点云中的点si配准,其中,α表示点mi绕局部坐标系x轴转动的角度。通过以上分析,可以将物体模型与场景点云间的位姿转换矩阵表示为:
不难发现,当物体点对和场景点对匹配正确时,只需得到α角就可以确定物体模型与场景点云之间的位姿关系。而α可以通过下式计算得到:
Ts→l·si=Rx(α)·Tm→l·mi (24)
通过以上分析可知,在物体模型中与场景点sr对应的点mr和旋转角α间接反映了物体与场景之间的位姿关系,由于物体可能会存在表面结构相似性,故一般情况下会得到多个物体点mr和旋转角α,为了确定物体的正确位姿需要进行位姿投票。
本申请定义一个二维数组作为位姿投票累加器,数组的行数为物体点云模型中所包含的点的个数(即场景点sr的所有备选对应点),数组的列数为离散化后旋转角的个数(即nangle)。位姿累加器初始化完毕后,对于场景点云中的参考点sr,遍历场景点云中的每一对点对(sr,si),计算点对特征值并基于此搜索得到物体点对模型上的对应点对(mr,mi),根据式(24)计算旋转角α,并在位姿累加器中对应的位置加一。完成位姿投票后,可以得到场景点云参考点sr最大得票位置的mr和α,带入式(23)求得物体模型与当前场景点云的位姿转换矩阵。
必须说明的是,上述的点对特征配准方法由于在构建物体点对模型阶段对物体模型的点对特征做了离散化处理,所以每个参考点可能返回多个投票峰值相同的位姿。为了得到精确的位姿就需要对位姿投票结果做聚类。
首先为了避免所选择的不在物体表面的场景点云的参考点对最终位姿估计结果产生影响,可以根据参考点的得票数筛选位姿,当得票数小于预设阈值时直接去除根据该参考点求解出的位姿矩阵。
随后对剩余的位姿矩阵按照得票数降序排列,得票数最高的位姿矩阵作为第一个位姿聚类中心,然后按照先前的排序遍历剩余的位姿矩阵,若当前的位姿矩阵与已有的位姿聚类中心相似时直接加入该聚类,否则将其新建为另一个位姿聚类中心。需要说明的是,这里的相似是指每个聚类中位姿矩阵所表示的位置、姿态的差异不超过设定的阈值:
其中,ti和tc分别指第i个位姿矩阵和位姿聚类中心的平移向量,它们的差值二范数应当小于距离阈值dthd;Δθ指第i个位姿矩阵和位姿聚类中心的旋转矩阵转换为轴角后的角度差值,根据罗德里格斯旋转公式可得绕某一旋转轴n旋转某一角度θ的旋转矩阵为:
则轴角θ的计算公式为:
在完成所有位姿的聚类后,每个聚类的得票数是其内部位姿的票数之和,最后对得票数最高的聚类根据其内部各位姿的得票数进行加权平均,得到最终的位姿结果。
另外,如果场景中存在多个相同的物体,则会依据各聚类的得票数返回多个聚类。
至此,通过以上所介绍的基于点对特征的物体位姿估计算法流程就可以得到参考位姿数据,为了提高位姿估计结果的精度,可以使用ICP算法进一步优化位姿结果。具体可以将参考位姿数据、场景点云数据和模型点云数据输入至预设的ICP算法中进行位姿优化处理,得到修正位姿;将参考位姿左乘修正位姿,就可以得到场景点云数据中包括的目标物体的位姿数据。
如图8所示,本申请实施例还提供了一种基于三维重建的物体位姿确定装置,该装置包括:
获取模块11,用于获取待重建的目标物体在多个不同旋转角度下的表面点云模型;
第一处理模块12,用于将各表面点云模型以及各表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各表面点云模型数据对应的参考表面点云模型以及各参考表面点云模型对应的位姿变换数据;
第二处理模块13,用于依次将各参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到目标物体融合后的目标点云模型;
生成模块14,用于基于目标点云数据生成目标物体的三维模型;
匹配模块15,用于将实时采集的场景点云数据与三维模型中的点云数据进行识别匹配;
确定模块16,用于根据匹配结果确定场景点云数据中包括的目标物体的实时位姿数据。
在一个实施例中,获取模块11具体用于:
获取建模坐标系,建模坐标系为旋转平台相对于深度相机的坐标系,旋转平台的表面包括标定板,旋转平台用于放置目标物体;
利用深度相机获取旋转平台在多个不同角度下的图像帧,图中帧为包括目标物体的场景图像帧,各场景图像帧包括对应的彩色场景图像帧和深度场景图像帧;
根据每个彩色图像帧、每个目标深度场景图像帧以及预设的深度相机的内部参数得到各场景图像帧对应的场景点云模型,各帧场景点云模型是基于深度相机坐标系的;
将各帧场景点云模型转换至建模坐标系下,并从转换后的各帧场景模型中分离出各场景图像帧中目标物体的表面点云模型,得到目标物体在多个不同旋转角度下的表面点云模型。
在一个实施例中,获取模块11具体用于:
根据棋盘格标定板上的棋盘格角点的像素坐标、棋盘格角点的世界坐标、深度相机的内部参数以及深度相机的畸变系数,得到深度相机与世界坐标系的转换矩阵;
获取建模坐标系的原点在相机坐标下的转换位姿,建模坐标系的原点位于旋转平台的圆心;
根据转换位姿确定建模坐标系与相机坐标系之间的平移向量,并根据平移向量和转换矩阵,得到建模坐标系与相机坐标系中间的转换关系;
根据转换关系和相机坐标系确定出建模坐标系。
在一个实施例中,获取模块11具体用于:
获取目标物体的表面点云模型的模型区域;
将场景模型中除模型区域的剩余区域去除背景噪声点云后,采用半径滤波和统计方式滤波去除模型区域的离群点,得到各场景图像帧中目标物体的表面点云模型。
在一个实施例中,所述第二模型是基于截断符号距离函数的模型,第二处理模块13具体用于:
将各所述参考表面点云模型中的第一帧参考表面点云模型映射到所述第二模型中,并更新所述第二模型中体素内的截断距离值及对应的权重;
计算第二帧参考表面点云模型的法向量,并根据所述第二帧参考表面点云模型对应的位姿变换数据将所述第二帧参考表面点云模型配准至第一帧参考表面点云模型;
获取第一帧参考表面点云模型对应的第一相机位姿,并采用光线投射算法重投影出第一帧参考表面点云模型,根据重投影出的第一帧参考表面点云模型与第二帧参考表面点云模型,得到两帧点云之间的修正位姿矩阵以及位姿转换矩阵;
基于所述位姿转换矩阵将所述第二帧参考表面点云模型映射至所述第二模型中,并再次更新所述第二模型中体素内的截断距离值及对应的权重,得到所述第二帧参考表面点云模型与所述第一帧参考表面点云模型的融合模型;
重复上述过程,直至剩余参考表面点云模型完成融合,得到所述目标物体融合后的目标点云模型。
在一个实施例中,匹配模块15具体用于:
根据实时采集的场景点云数据拟合出场景平面,并从所述场景平面中分离出所述目标物体所在的目标场景平面;
针对所述目标场景平面对应的场景点云,将所述场景点云离散为多个子场景点云,在包括场景点的子场景点云中分别以所述场景点为球心,以所述目标物体的包围盒的体对角线的一半为半径,得到采样球;
将所述采样球中包括的场景点的数量大于预设阈值的范围作为目标采样范围;
针对所述目标采样范围,提取所述目标采样范围中包括的点云数据的点对特征,并对提取出的点对特征进行离散化处理,得到离散场景点对特征,所述离散点对特征中包括两个点位置数据、法向量的夹角和两个点的颜色信息;
从所述三维模型中的点云数据提取点对特征,得到模型点对特征,并对所述模型点对特征进行离散化处理,得到离散模型点对特征;
将各所述离散场景点对特征分别与各所述离散模型点对特征进行匹配;
根据各所述离散场景点对特征匹配出的候选离散模型点对特征,确定所述离散场景点对特征的候选位姿;
对各所述离散场景点对特征的候选位姿进行位姿聚类处理,得到所述场景点云数据中包括的目标物体的参考位姿数据;
将所述参考位姿数据、所述场景点云数据和所述模型点云数据输入至预设的ICP算法中进行位姿优化处理,得到修正位姿;
根据所述修正位姿和所述参考位姿数据,得到所述场景点云数据中包括的目标物体的位姿数据。
在一个实施例中,匹配模块15具体用于:
各离散场景点对特征匹配出多个候选离散模型点对特征;
分别确定离散场景点对特征与每个匹配出的候选离散点对特征的位姿数据,并对确定出的位姿数据进行投票处理,得到各离散场景点对特征应的候选位姿。
本实施例提供的基于三维重建的物体位姿确定装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再多加赘述。
本申请实施例提供的基于三维重建的物体位姿确定方法的执行主体可以为电子设备,该电子设备可以为计算机设备、服务器、移动终端设备、处理器或处理芯片等,本申请实施例对此不作具体限定。
本申请另一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本申请实施例的基于三维重建的物体位姿确定方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于三维重建的物体位姿确定方法,其特征在于,所述方法包括:
获取待重建的目标物体在多个不同旋转角度下的表面点云模型;
将各所述表面点云模型以及各所述表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各所述表面点云模型数据对应的参考表面点云模型以及各所述参考表面点云模型对应的位姿变换数据;
依次将各所述参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到所述目标物体融合后的目标点云模型;
基于所述目标点云模型,生成所述目标物体的三维模型;
将实时采集的场景点云数据与所述三维模型中的点云数据进行识别匹配,并根据匹配结果确定所述场景点云数据中包括的目标物体的实时位姿数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待重建的目标物体在多个不同旋转角度下的表面点云模型,包括:
获取建模坐标系,所述建模坐标系为旋转平台相对于深度相机的坐标系,所述旋转平台的表面包括标定板,所述旋转平台用于放置所述目标物体;
利用所述深度相机获取所述旋转平台在多个不同角度下的图像帧,所述图像帧为包括所述目标物体的场景图像帧,各所述场景图像帧包括对应的彩色场景图像帧和深度场景图像帧;
根据每个彩色图像帧、每个目标深度场景图像帧以及预设的所述深度相机的内部参数得到各所述场景图像帧对应的场景点云模型,各帧场景点云模型是基于深度相机坐标系的;
将各帧场景点云模型转换至所述建模坐标系下,并从转换后的各帧所述场景点云模型中分离出各所述场景图像帧中所述目标物体的表面点云模型,得到所述目标物体在多个不同旋转角度下的表面点云模型。
3.根据权利要求2所述的方法,其特征在于,所述标定板为棋盘格标定板,所述获取建模坐标系,包括:
根据所述棋盘格标定板上的棋盘格角点的像素坐标、棋盘格角点的世界坐标、所述深度相机的内部参数以及所述深度相机的畸变系数,得到所述深度相机与世界坐标系的转换矩阵;
获取所述建模坐标系的原点在所述相机坐标下的转换位姿,所述建模坐标系的原点位于所述旋转平台的圆心;
根据所述转换位姿确定所述建模坐标系与所述相机坐标系之间的平移向量,并根据所述平移向量和所述转换矩阵,得到所述建模坐标系与所述相机坐标系中间的转换关系;
根据所述转换关系和所述相机坐标系确定出所述建模坐标系。
4.根据权利要求2所述的方法,其特征在于,所述从转换后的各帧所述场景模型中分离出各所述场景图像帧中所述目标物体的表面点云模型,包括:
获取所述目标物体的表面点云模型的模型区域;
将所述场景模型中除所述模型区域的剩余区域去除背景噪声点云后,采用半径滤波和统计方式滤波去除所述模型区域的离群点,得到各所述场景图像帧中所述目标物体的表面点云模型。
5.根据权利要求1所述的方法,其特征在于,所述第二模型是基于截断符号距离函数的模型,所述依次将各所述参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到所述目标物体融合后的目标点云模型,包括:
将各所述参考表面点云模型中的第一帧参考表面点云模型映射到所述第二模型中,并更新所述第二模型中体素内的截断距离值及对应的权重;
计算第二帧参考表面点云模型的法向量,并根据所述第二帧参考表面点云模型对应的位姿变换数据将所述第二帧参考表面点云模型配准至第一帧参考表面点云模型;
获取第一帧参考表面点云模型对应的第一相机位姿,并采用光线投射算法重投影出第一帧参考表面点云模型,根据重投影出的第一帧参考表面点云模型与第二帧参考表面点云模型,得到两帧点云之间的修正位姿矩阵以及位姿转换矩阵;
基于所述位姿转换矩阵将所述第二帧参考表面点云模型映射至所述第二模型中,并再次更新所述第二模型中体素内的截断距离值及对应的权重,得到所述第二帧参考表面点云模型与所述第一帧参考表面点云模型的融合模型;
重复上述过程,直至剩余参考表面点云模型完成融合,得到所述目标物体融合后的目标点云模型。
6.根据权利要求1所述的方法,其特征在于,所述将实时采集的场景点云数据与所述三维模型中的点云数据进行识别匹配,并根据匹配结果确定所述场景点云数据中包括的目标物体的实时位姿数据,包括:
根据实时采集的场景点云数据拟合出场景平面,并从所述场景平面中分离出所述目标物体所在的目标场景平面;
针对所述目标场景平面对应的场景点云,将所述场景点云离散为多个子场景点云,在包括场景点的子场景点云中分别以所述场景点为球心,以所述目标物体的包围盒的体对角线的一半为半径,得到采样球;
将所述采样球中包括的场景点的数量大于预设阈值的范围作为目标采样范围;
针对所述目标采样范围,提取所述目标采样范围中包括的点云数据的点对特征,并对提取出的点对特征进行离散化处理,得到离散场景点对特征,所述离散场景点对特征中包括两个点位置数据、法向量的夹角和两个点的颜色信息;
从所述三维模型中的点云数据提取点对特征,得到模型点对特征,并对所述模型点对特征进行离散化处理,得到离散模型点对特征;
将各所述离散场景点对特征分别与各所述离散模型点对特征进行匹配;
根据各所述离散场景点对特征匹配出的候选离散模型点对特征,确定所述离散场景点对特征的候选位姿;
对各所述离散场景点对特征的候选位姿进行位姿聚类处理,得到所述场景点云数据中包括的目标物体的参考位姿数据;
将所述参考位姿数据、所述场景点云数据和所述模型点云数据输入至预设的ICP算法中进行位姿优化处理,得到修正位姿;
根据所述修正位姿和所述参考位姿数据,得到所述场景点云数据中包括的目标物体的位姿数据。
7.根据权利要求6所述的方法,其特征在于,所述根据各所述离散场景点对特征匹配出的候选离散模型点对特征,确定所述离散场景点对特征的候选位姿,包括:
各所述离散场景点对特征匹配出多个候选离散模型点对特征;
分别确定所述离散场景点对特征与每个匹配出的候选离散点对特征的位姿数据,并对确定出的位姿数据进行投票处理,得到各所述离散场景点对特征应的候选位姿。
8.一种基于三维重建的物体位姿确定装置,其特征在于,所述装置包括:
获取模块,用于获取待重建的目标物体在多个不同旋转角度下的表面点云模型;
第一处理模块,用于将各所述表面点云模型以及各所述表面点云模型对应旋转角度输入至预设的第一模型进行点云配准处理,得到各所述表面点云模型数据对应的参考表面点云模型以及各所述参考表面点云模型对应的位姿变换数据;
第二处理模块,用于依次将各所述参考表面点云模型和对应的位姿变换数据输入至预设的第二模型中进行点云误差修正和点云融合处理,得到所述目标物体融合后的目标点云模型;
生成模块,用于基于所述目标点云数据生成所述目标物体的三维模型;
匹配模块,用于将实时采集的场景点云数据与所述三维模型中的点云数据进行识别匹配;
确定模块,用于根据匹配结果确定所述场景点云数据中包括的目标物体的实时位姿数据。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现权利要求1-7任一项所述的基于三维重建的物体位姿确定方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的基于三维重建的物体位姿确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311290.0A CN116309880A (zh) | 2023-03-27 | 2023-03-27 | 基于三维重建的物体位姿确定方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311290.0A CN116309880A (zh) | 2023-03-27 | 2023-03-27 | 基于三维重建的物体位姿确定方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116309880A true CN116309880A (zh) | 2023-06-23 |
Family
ID=86783227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310311290.0A Pending CN116309880A (zh) | 2023-03-27 | 2023-03-27 | 基于三维重建的物体位姿确定方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116309880A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116758122A (zh) * | 2023-08-14 | 2023-09-15 | 国网智能电网研究院有限公司 | 一种基于跨源点云的输电线路铁塔位姿配准方法及装置 |
CN117351157A (zh) * | 2023-12-05 | 2024-01-05 | 北京渲光科技有限公司 | 单视图三维场景位姿估计方法、系统及设备 |
CN117649450A (zh) * | 2024-01-26 | 2024-03-05 | 杭州灵西机器人智能科技有限公司 | 一种托盘格口定位检测方法、系统、装置及介质 |
CN117710469A (zh) * | 2024-02-06 | 2024-03-15 | 四川大学 | 一种基于rgb-d传感器的在线稠密重建方法及系统 |
-
2023
- 2023-03-27 CN CN202310311290.0A patent/CN116309880A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116758122A (zh) * | 2023-08-14 | 2023-09-15 | 国网智能电网研究院有限公司 | 一种基于跨源点云的输电线路铁塔位姿配准方法及装置 |
CN116758122B (zh) * | 2023-08-14 | 2023-11-14 | 国网智能电网研究院有限公司 | 一种基于跨源点云的输电线路铁塔位姿配准方法及装置 |
CN117351157A (zh) * | 2023-12-05 | 2024-01-05 | 北京渲光科技有限公司 | 单视图三维场景位姿估计方法、系统及设备 |
CN117351157B (zh) * | 2023-12-05 | 2024-02-13 | 北京渲光科技有限公司 | 单视图三维场景位姿估计方法、系统及设备 |
CN117649450A (zh) * | 2024-01-26 | 2024-03-05 | 杭州灵西机器人智能科技有限公司 | 一种托盘格口定位检测方法、系统、装置及介质 |
CN117649450B (zh) * | 2024-01-26 | 2024-04-19 | 杭州灵西机器人智能科技有限公司 | 一种托盘格口定位检测方法、系统、装置及介质 |
CN117710469A (zh) * | 2024-02-06 | 2024-03-15 | 四川大学 | 一种基于rgb-d传感器的在线稠密重建方法及系统 |
CN117710469B (zh) * | 2024-02-06 | 2024-04-12 | 四川大学 | 一种基于rgb-d传感器的在线稠密重建方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363858B (zh) | 一种三维人脸重建方法及系统 | |
CN108509848B (zh) | 三维物体的实时检测方法及系统 | |
CN116309880A (zh) | 基于三维重建的物体位姿确定方法、装置、设备及介质 | |
WO2020173052A1 (zh) | 图像三维测量方法、电子设备、存储介质及程序产品 | |
JP3735344B2 (ja) | キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム | |
JP2016128810A (ja) | 奥行きカメラを校正する方法 | |
Coorg et al. | Acquisition of a large pose-mosaic dataset | |
CN112015275A (zh) | 基于数字孪生ar交互方法和系统 | |
CN111524168B (zh) | 点云数据的配准方法、系统、装置及计算机存储介质 | |
CN115345822A (zh) | 一种面向航空复杂零件的面结构光自动化三维检测方法 | |
CN112489099B (zh) | 点云配准方法、装置、存储介质及电子设备 | |
CN111612731B (zh) | 基于双目显微视觉的测量方法、装置、系统及介质 | |
CN104318552B (zh) | 基于凸包投影图匹配的模型配准方法 | |
CN116129037B (zh) | 视触觉传感器及其三维重建方法、系统、设备及存储介质 | |
Nousias et al. | Large-scale, metric structure from motion for unordered light fields | |
CN115375842A (zh) | 一种植株三维重建方法、终端及存储介质 | |
CN115830135A (zh) | 一种图像处理方法、装置及电子设备 | |
Fabbri et al. | Camera pose estimation using first-order curve differential geometry | |
CN111161348A (zh) | 一种基于单目相机的物体位姿估计方法、装置及设备 | |
CN110853103B (zh) | 一种用于深度学习姿态估计的数据集制作方法 | |
CN117372647A (zh) | 一种建筑用三维模型的快速构建方法及系统 | |
CN113763478A (zh) | 无人车相机标定方法、装置、设备、存储介质及系统 | |
Navab et al. | Canonical representation and multi-view geometry of cylinders | |
Peng et al. | Automated 3D scenes reconstruction using multiple stereo pairs from portable four-camera photographic measurement system | |
CN113111741A (zh) | 一种基于三维特征点的装配状态识别方法 |
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 |