一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

摄像头外参自动标定方法、装置、计算机设备及存储介质与流程

2022-07-13 13:19:24 来源:中国专利 TAG:


1.本发明涉及摄像头,更具体地说是指摄像头外参自动标定方法、装置、计算机设备及存储介质。


背景技术:

2.ai(人工智能,artificial intelligence)在不断的发展,机器人也越来越多的活跃在各种和人类密切相关的场景之中,例如送餐机器人、医疗机器人、配送机器人等等,机器人和人类的交互也变得越来越多。
3.为了让机器人和人类交互顺利的进行,需要让机器人可以精准的获取周围环境的信息,通常机器人都是通过深度摄像头获取周围环境的点云数据,通过点云数据得到语义信息、深度信息等数据,但是受到结构工艺、制造工艺等因素的制约,深度相机在机器人的安装角度往往会出现偏差,这些偏差会以误差的形式体现到机器人通过深度摄像头获取到的周围环境的点云数据中,并且累计到通过点云进行计算的机器人的其它算法流程中。所以机器人在组装后或使用了一段时间后,需要纠正这些误差,即做外参校正,然后再进行后续其它的算法流程。
4.目前应用于纠正这些误差的方法主要分为两个方向,一个方向是用棋盘格做标定,这种方法需要人为手工拍摄多张不同角度的棋盘格照片,然后通过特征提取、匹配的方式计算误差再进行纠正;另一个方向是通过图优化的方式,这种方式需要人为手工推着机器人进行一定的轨迹的移动,收集沿途的点云数据,然后用图优化理论进行误差计算,这两个方向都需要人为手工的操作,整体计算时间长,需要准备特殊治具,这不符合现代机器人自动化、脱人工化的需求,无法很好的应用于落地量产机器人,也会降低客户的使用体验。
5.因此,有必要设计一种新的方法,实现无需人为手工操作,不需要专业的治具,减少了成本、人工方面的需求,也提升了客户体验,符合落地量产机器人的需求。


技术实现要素:

6.本发明的目的在于克服现有技术的缺陷,提供摄像头外参自动标定方法、装置、计算机设备及存储介质。
7.为实现上述目的,本发明采用以下技术方案:摄像头外参自动标定方法,包括:
8.通过深度摄像头获取深度图像;
9.对所述深度图像进行预处理,以得到带有法向量的点云数据;
10.对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量;
11.对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量;
12.根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据。
13.其进一步技术方案为:所述对所述深度图像进行预处理,以得到带有法向量的点云数据,包括:
14.结合内参将所述深度图像转换为点云数据;
15.将所述点云数据进行体素下采样,以得到采样数据;
16.对所述采样数据进行直通滤波,以得到处理结果;
17.对所述处理结果进行统计线性滤波,以得到滤波结果;
18.对所述滤波结果计算法向量,以得到带有法向量的点云数据。
19.其进一步技术方案为:所述对所述滤波结果计算法向量,以得到带有法向量的点云数据,包括:
20.采用pca点云法向量估计算法对所述滤波结果计算法向量,以得到带有法向量的点云数据。
21.其进一步技术方案为:所述对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量,包括:
22.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于地面部分的点云数据,以得到地面点云数据;
23.对所述地面点云数据进行地面拟合,并提取拟合的地面平面的法向量,以得到地面平面点云的法向量。
24.其进一步技术方案为:所述对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量,包括:
25.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于墙面部分的点云数据,以得到墙面点云数据;
26.对所述墙面点云数据进行墙面拟合,并提取拟合的墙面平面的法向量,以得到墙面平面点云的法向量。
27.其进一步技术方案为:所述根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据,包括:
28.计算地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角,以得到地面夹角;
29.根据地面夹角计算地面旋转矩阵;
30.计算墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角,以得到墙面夹角;
31.根据墙面夹角计算墙面旋转矩阵;
32.根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据。
33.其进一步技术方案为:所述根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据,包括:
34.根据所述地面旋转矩阵以及所述墙面旋转矩阵采用矩阵乘法进行融合,以得到机器人坐标系点云外参自动标定矩阵;
35.采用所述机器人坐标系点云外参自动标定矩阵校正所述点云数据,以得到标准点云数据。
36.本发明还提供了摄像头外参自动标定装置,包括:
37.图像获取单元,用于通过深度摄像头获取深度图像;
38.预处理单元,用于对所述深度图像进行预处理,以得到带有法向量的点云数据;
39.地面法向量生成单元,用于对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量;
40.墙面法向量生成单元,用于对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量;
41.自动校正单元,用于根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据。
42.本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
43.本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
44.本发明与现有技术相比的有益效果是:本发明通过机器人的深度摄像头拍摄室内墙角获取深度图数据,对深度图像进行预处理后,采用随机抽样一致性算法获取地面平面点云的法向量以及墙面平面点云的法向量,再利用地面平面点云的法向量以及墙面平面点云的法向量确定用于校正的矩阵,对点云数据进行校正,实现无需人为手工操作,不需要专业的治具,减少了成本、人工方面的需求,也提升了客户体验,符合落地量产机器人的需求。
45.下面结合附图和具体实施例对本发明作进一步描述。
附图说明
46.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1为本发明实施例提供的摄像头外参自动标定方法的应用场景示意图;
48.图2为本发明实施例提供的摄像头外参自动标定方法的流程示意图;
49.图3为本发明实施例提供的摄像头外参自动标定方法的子流程示意图;
50.图4为本发明实施例提供的摄像头外参自动标定方法的子流程示意图;
51.图5为本发明实施例提供的摄像头外参自动标定方法的子流程示意图;
52.图6为本发明实施例提供的摄像头外参自动标定方法的子流程示意图;
53.图7为本发明实施例提供的摄像头外参自动标定方法的子流程示意图;
54.图8为本发明实施例提供的摄像头外参自动标定装置的示意性框图;
55.图9为本发明实施例提供的摄像头外参自动标定装置的预处理单元的示意性框图;
56.图10为本发明实施例提供的摄像头外参自动标定装置的地面法向量生成单元的示意性框图;
57.图11为本发明实施例提供的摄像头外参自动标定装置的墙面法向量生成单元的
示意性框图;
58.图12为本发明实施例提供的摄像头外参自动标定装置的自动校正单元的示意性框图;
59.图13为本发明实施例提供的摄像头外参自动标定装置的矩阵校正子单元的示意性框图;
60.图14为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
61.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
62.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
63.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
64.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
65.请参阅图1和图2,图1为本发明实施例提供的摄像头外参自动标定方法的应用场景示意图。图2为本发明实施例提供的摄像头外参自动标定方法的示意性流程图。该摄像头外参自动标定方法应用于服务器中,该服务器为机器人的控制器,当然,于其他实施例,该服务器还可以是独立设置的服务器;不管是何种形式存在的服务器,均与摄像头进行数据交互,在本实施例中,摄像头为深度摄像头,通过深度摄像头拍摄深度图像,结合随机抽样一致性算法得到地面平面点云的法向量以及墙面平面点云的法向量,再根据这两个法向量生成的矩阵进行误差自动校正,以生成消除了角度偏差的标准点云数据。
66.图2是本发明实施例提供的摄像头外参自动标定方法的流程示意图。如图2所示,该方法包括以下步骤s110至s150。
67.s110、通过深度摄像头获取深度图像。
68.在本实施例中,深度图像是指带有深度距离信息的图像。
69.具体地,通过机器人上的深度摄像头拍摄室内墙角获取深度图数据,进而计算出机器人上深度摄像头安装角度的误差,再通过旋转矩阵进行自动纠正,实现了点云数据角度误差校正的目的。
70.s120、对所述深度图像进行预处理,以得到带有法向量的点云数据。
71.在本实施例中,带有法向量的点云数据是指由深度图像经过转换、体素下采样、直通滤波、统计线性滤波以及法向量计算形成的数据。
72.在一实施例中,请参阅图3,上述的步骤s120可包括步骤s121~s125。
73.s121、结合内参将所述深度图像转换为点云数据。
74.在本实施例中,采用将深度图像转换为点云数据,其中,x
ω
、y
ω
、z
ω
表示的世界坐标系下的三维坐标点,zc表示相机坐标的z轴值,即目标到相机的距离,f表示相机的焦距,u、v为图像坐标系下的任意坐标点,u0、v0分别为图像的中心点坐标,dx、dy表示每一个像素点在x轴和y轴方向上的物理尺寸。此时的点云数据,由于生产工艺等原因,初始安装的角度和机构设计并不是完全一致,得到的点云数据本身就带有角度误差。
75.s122、将所述点云数据进行体素下采样,以得到采样数据。
76.在本实施例中,采样数据是指对点云数据进行体素下采样算法处理后形成的数据。
77.体素下采样算法通过初始点云的每个点的位置关系和初始设置的体素栅格边长,创建一个三维体素栅格,然后在每个体素内,用体素中所有点的重心来近似显示体素中其他点,这样该体素内所有点就用一个重心点最终表示,从而将输入点云创建统一下采样的点云。
78.s123、对所述采样数据进行直通滤波,以得到处理结果。
79.在本实施例中,处理结果是指对采样数据进行直通滤波算法处理后形成的结果。
80.具体地,直通滤波算法基于点云空间坐标系设定一个通道,将点云在通道范围之外的点剔除滤掉从而保留通道里边的点云。通过这个算法,机器人可以将初始设置左右一定距离的点移除掉。
81.s124、对所述处理结果进行统计线性滤波,以得到滤波结果。
82.在本实施例中,滤波结果是指对处理结果采用统计线性滤波算法处理后形成的结果。
83.具体地,统计线性滤波算法对每一个点的邻域进行一个统计分析,计算它到所有临近点的平均距离,假设得到的结果是一个高斯分布,其形状是由均值和标准差决定,那么平均距离在由全局距离平均值和方差定义的标准范围之外的点,可以被定义为离群点并从数据中去除,实现过程为:首先遍历点云,计算每个点与其最近的k个邻居点之间的平均距离;其次计算所有平均距离的均值μ与标准差σ,则距离阈值dmax可表示为dmax=μ α
×
σ,α是一个常数,可称为比例系数;最后,再次遍历点云,剔除与k个邻居点的平均距离大于dmax的点,由此完成统计线性滤波。
84.s125、对所述滤波结果计算法向量,以得到带有法向量的点云数据。
85.具体地,采用pca(主成分分析,principal component analysis)点云法向量估计算法对所述滤波结果计算法向量,以得到带有法向量的点云数据。
86.经过上述的步骤s121~步骤s124得到一个比较干净的点云数据,便可进行这个点云数据的法向量的计算。
87.在本实施例中,使用的是pca点云法向量估计,其主要思想是将原来数据n维的特征映射到k维的正交特征上,这个k维的特征称为主成分,进而估计点云的法向量。假设要估计某一点的法向量,需要通过利用该点的近邻点估计出一个平面,就能计算出该点的法向量,或者可以这么说,通过最小化一个目标函数(要求的参数为法向量),使得该点与其每个
近邻点所构成的向量与法向量的点乘为0,也就是垂直:优化的目标函数等价于:f(n)=n
t
sn,其中,其中,yy
t
是一个3
×
3的协方差矩阵,x,y,z坐标的协方差矩阵。对于这种有约束的优化目标函数,我们可以用拉格朗日算法进行求解。用svd对该矩阵进行分解,得到y=u∑v*u中最后一列就是要求解的法向量n,也就是特征值最小的特征向量。通过法向量计算可以得到带有法向量的点云数据。
88.s130、对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量。
89.在本实施例中,地面平面点云的法向量是指地面平面点云数据的法向量。
90.在一实施例中,请参阅图4,上述的步骤s130可包括步骤s131~s132。
91.s131、对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于地面部分的点云数据,以得到地面点云数据。
92.在本实施例中,地面点云数据是指仅属于地面平面的点云数据集合。
93.具体地,带有法向量的点云数据进行随机抽样一致性,进行平面拟合,指定拟合平面的法向量信息,将点云中地面部分的点云抽取出来。随机抽样一致性算法的输入是一组观测数据,一个可以解释或者适应于观测数据的参数化模型,一些可信的参数,随机抽样一致性算法通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:
94.采样出假设的局内点,计算出一个模型,即模型所有的未知参数都能从假设的局内点计算得出;用得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点;如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理;用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。此步骤会按照设置的次数进行迭代;最后通过估计局内点与模型的错误率来评估模型。
95.具体到本实施例中拟合地面平面,过程如下:从点云中随机选取三个点;由这三个点组成一个平面;计算所有其他点到该平面的距离,如果小于阈值t,就认为是处在同一个平面的点;如果处在同一个平面的点超过n个,就保存下这个平面,并将处在这个平面上的点都标记为已匹配;终止的条件是迭代n次后找到的平面小于n个点,或者找不到三个未标记的点。
96.s132、对所述地面点云数据进行地面拟合,并提取拟合的地面平面的法向量,以得到地面平面点云的法向量。
97.在本实施例中,结合计算得到的带有法向量的点云数据,先对带有法向量的点云数据进行筛选,设置筛选条件为环绕点云坐标系的z轴,可以拟合到地面的平面,并且计算出提取的地面平面的法向量。
98.s140、对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量。
99.在本实施例中,墙面平面点云的法向量是指仅属于墙面平面的点云数据集合。
100.在一实施例中,请参阅图5,上述的步骤s140可包括步骤s141~s142。
101.s141、对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于墙面部分的点云数据,以得到墙面点云数据。
102.在本实施例中,墙面点云数据是指仅属于墙面平面的点云数据集合。具体实现方式可参阅步骤s131,此处不再赘述。
103.s142、对所述墙面点云数据进行墙面拟合,并提取拟合的墙面平面的法向量,以得到墙面平面点云的法向量。
104.在本实施例中,结合计算得到的带有法向量的点云数据,先对带有法向量的点云数据进行筛选,设置筛选条件为环绕点云坐标系的x轴,可以拟合到墙面的平面,并且计算出提取的墙面平面的法向量。
105.s150、根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据。
106.在本实施例中,标准点云数据是指消除了角度偏差的正确的点云数据。
107.在一实施例中,请参阅图6,上述的步骤s150可包括步骤s151~s155。
108.s151、计算地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角,以得到地面夹角。
109.在本实施例中,地面夹角是指地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角。
110.s152、根据地面夹角计算地面旋转矩阵。
111.在本实施例中,地面旋转矩阵是指校正机器人坐标系中的pitch角和roll角的矩阵。
112.具体地,基于随机抽样一致性算法提取出来的地面平面点云的法向量结合室内固定存在的自然地平面法向量,计算这两个法向量的夹角,再用这个夹角计算出旋转矩阵,计算公式如下:式如下:,计算出来的误差矩阵可以校正机器人坐标系中的pitch角和roll角。其中,θ角为计算出来的偏差角,k
x
、ky、kz为x轴、y轴和z轴三个方向上的尺度。
113.s153、计算墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角,以得到墙面夹角。
114.在本实施例中,墙面夹角是指墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角。
115.s154、根据墙面夹角计算墙面旋转矩阵。
116.在本实施例中,墙面旋转矩阵是指校正机器人坐标系中的pitch角和yaw角的矩阵。
117.具体地,基于随机抽样一致性算法提取出来的墙面平面的平面点云的法向量结合室内固定存在的自然墙面面法向量,计算这两个法向量的夹角,再用这个夹角计算出旋转矩阵,
计算公式如下:计算公式如下:,计算出来的误差矩阵可以校正机器人坐标系中的pitch角和yaw角。其中,θ角为计算出来的偏差角,k
x
、ky、kz为x轴、y轴和z轴三个方向上的尺度。
118.s155、根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据。
119.在一实施例中,请参阅图7,上述的步骤s155可包括步骤s1551~s1552。
120.s1551、根据所述地面旋转矩阵以及所述墙面旋转矩阵采用矩阵乘法进行融合,以得到机器人坐标系点云外参自动标定矩阵。
121.在本实施例中,机器人坐标系点云外参自动标定矩阵是指深度摄像头的点云外参自动标定矩阵。
122.s1552、采用所述机器人坐标系点云外参自动标定矩阵校正所述点云数据,以得到标准点云数据。
123.具体地,计算出来的地面旋转矩阵以及墙面旋转矩阵用矩阵乘法进行融合,得到最终的机器人坐标系点云外参自动标定矩阵,可以校正机器人坐标系下的pitch角、yaw角和roll角,然后用这个融合后的矩阵,校正初始带有角度偏差的点云数据,得到消除了角度偏差的正确的点云数据。
124.在ubuntu16.04ros系统下,对带有一定角度偏差的点云数据进行自动外参标定的一个方法,通过算法识别点云数据中的地面、墙面,再和室内存在的固定的自然地面、自然墙面作对比,得到误差矩阵,消除角度偏差。不需要人为手工操作,不需要特殊治具,最大程度上节约了成本,提升了客户体验,为机器人落地量产提供便利,目前使用本发明已经应用于落地量产机器人中。
125.上述的摄像头外参自动标定方法,通过机器人的深度摄像头拍摄室内墙角获取深度图数据,对深度图像进行预处理后,采用随机抽样一致性算法获取地面平面点云的法向量以及墙面平面点云的法向量,再利用地面平面点云的法向量以及墙面平面点云的法向量确定用于校正的矩阵,对点云数据进行校正,实现无需人为手工操作,不需要专业的治具,减少了成本、人工方面的需求,也提升了客户体验,符合落地量产机器人的需求。
126.图8是本发明实施例提供的一种摄像头外参自动标定装置300的示意性框图。如图8所示,对应于以上摄像头外参自动标定方法,本发明还提供一种摄像头外参自动标定装置300。该摄像头外参自动标定装置300包括用于执行上述摄像头外参自动标定方法的单元,该装置可以被配置于服务器中。具体地,请参阅图8,该摄像头外参自动标定装置300包括图像获取单元301、预处理单元302、地面法向量生成单元303、墙面法向量生成单元304以及自动校正单元305。
127.图像获取单元301,用于通过深度摄像头获取深度图像;预处理单元302,用于对所述深度图像进行预处理,以得到带有法向量的点云数据;地面法向量生成单元303,用于对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量;墙面法向量生成单元304,用于对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面
点云的法向量;自动校正单元305,用于根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据。
128.在一实施例中,如图9所示,所述预处理单元302包括转换子单元3021、采样子单元3022、直通滤波子单元3023、线性滤波子单元3024以及法向量计算子单元3025。
129.转换子单元3021,用于结合内参将所述深度图像转换为点云数据;采样子单元3022,用于将所述点云数据进行体素下采样,以得到采样数据;直通滤波子单元3023,用于对所述采样数据进行直通滤波,以得到处理结果;线性滤波子单元3024,用于对所述处理结果进行统计线性滤波,以得到滤波结果;法向量计算子单元3025,用于对所述滤波结果计算法向量,以得到带有法向量的点云数据。
130.在一实施例中,所述法向量计算子单元3025,用于采用pca点云法向量估计算法对所述滤波结果计算法向量,以得到带有法向量的点云数据。
131.在一实施例中,如图10所示,所述地面法向量生成单元303包括第一提取子单元3031以及第一拟合子单元3032。
132.第一提取子单元3031,用于对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于地面部分的点云数据,以得到地面点云数据;第一拟合子单元3032,用于对所述地面点云数据进行地面拟合,并提取拟合的地面平面的法向量,以得到地面平面点云的法向量。
133.在一实施例中,如图11所示,所述墙面法向量生成单元304包括第二提取子单元3041以及第二拟合子单元3042。
134.第二提取子单元3041,用于对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于墙面部分的点云数据,以得到墙面点云数据;第二拟合子单元3042,用于对所述墙面点云数据进行墙面拟合,并提取拟合的墙面平面的法向量,以得到墙面平面点云的法向量。
135.在一实施例中,如图12所示,所述自动校正单元305包括第一夹角计算子单元3051、第一矩阵计算子单元3052、第二夹角计算子单元3053、第二矩阵计算子单元3054以及矩阵校正子单元3055。
136.第一夹角计算子单元3051,用于计算地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角,以得到地面夹角;第一矩阵计算子单元3052,用于根据地面夹角计算地面旋转矩阵;第二夹角计算子单元3053,用于计算墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角,以得到墙面夹角;第二矩阵计算子单元3054,用于根据墙面夹角计算墙面旋转矩阵;矩阵校正子单元3055,用于根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据。
137.在一实施例中,如图13所示,所述矩阵校正子单元3055包括融合模块30551以及标定模块30552。
138.融合模块30551,用于根据所述地面旋转矩阵以及所述墙面旋转矩阵采用矩阵乘法进行融合,以得到机器人坐标系点云外参自动标定矩阵;标定模块30552,用于采用所述机器人坐标系点云外参自动标定矩阵校正所述点云数据,以得到标准点云数据。
139.需要说明的是,所属领域的技术人员可以清楚地了解到,上述摄像头外参自动标定装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的
方便和简洁,在此不再赘述。
140.上述摄像头外参自动标定装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图14所示的计算机设备上运行。
141.请参阅图14,图14是本技术实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
142.参阅图14,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
143.该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种摄像头外参自动标定方法。
144.该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
145.该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种摄像头外参自动标定方法。
146.该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图14中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
147.其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
148.通过深度摄像头获取深度图像;对所述深度图像进行预处理,以得到带有法向量的点云数据;对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量;对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量;根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据。
149.在一实施例中,处理器502在实现所述对所述深度图像进行预处理,以得到带有法向量的点云数据步骤时,具体实现如下步骤:
150.结合内参将所述深度图像转换为点云数据;将所述点云数据进行体素下采样,以得到采样数据;对所述采样数据进行直通滤波,以得到处理结果;对所述处理结果进行统计线性滤波,以得到滤波结果;对所述滤波结果计算法向量,以得到带有法向量的点云数据。
151.在一实施例中,处理器502在实现所述对所述滤波结果计算法向量,以得到带有法向量的点云数据步骤时,具体实现如下步骤:
152.采用pca点云法向量估计算法对所述滤波结果计算法向量,以得到带有法向量的点云数据。
153.在一实施例中,处理器502在实现所述对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量步骤时,具体实现如下步骤:
154.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于地面部分的点云数据,以得到地面点云数据;对所述地面点云数据进行地面拟合,并提取拟合的地面平面的法向量,以得到地面平面点云的法向量。
155.在一实施例中,处理器502在实现所述对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量步骤时,具体实现如下步骤:
156.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于墙面部分的点云数据,以得到墙面点云数据;对所述墙面点云数据进行墙面拟合,并提取拟合的墙面平面的法向量,以得到墙面平面点云的法向量。
157.在一实施例中,处理器502在实现所述根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据步骤时,具体实现如下步骤:
158.计算地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角,以得到地面夹角;根据地面夹角计算地面旋转矩阵;计算墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角,以得到墙面夹角;根据墙面夹角计算墙面旋转矩阵;根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据。
159.在一实施例中,处理器502在实现所述根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据步骤时,具体实现如下步骤:
160.根据所述地面旋转矩阵以及所述墙面旋转矩阵采用矩阵乘法进行融合,以得到机器人坐标系点云外参自动标定矩阵;采用所述机器人坐标系点云外参自动标定矩阵校正所述点云数据,以得到标准点云数据。
161.应当理解,在本技术实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
162.本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
163.因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
164.通过深度摄像头获取深度图像;对所述深度图像进行预处理,以得到带有法向量的点云数据;对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量;对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量;根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点
云数据。
165.在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述深度图像进行预处理,以得到带有法向量的点云数据步骤时,具体实现如下步骤:
166.结合内参将所述深度图像转换为点云数据;将所述点云数据进行体素下采样,以得到采样数据;对所述采样数据进行直通滤波,以得到处理结果;对所述处理结果进行统计线性滤波,以得到滤波结果;对所述滤波结果计算法向量,以得到带有法向量的点云数据。
167.在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述滤波结果计算法向量,以得到带有法向量的点云数据步骤时,具体实现如下步骤:
168.采用pca点云法向量估计算法对所述滤波结果计算法向量,以得到带有法向量的点云数据。
169.在一实施例中,所述处理器在执行所述计算机程序而实现所述对带有法向量的点云数据采用随机抽样一致性进行地面平面的拟合,并提取地面平面的法向量,以得到地面平面点云的法向量步骤时,具体实现如下步骤:
170.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于地面部分的点云数据,以得到地面点云数据;对所述地面点云数据进行地面拟合,并提取拟合的地面平面的法向量,以得到地面平面点云的法向量。
171.在一实施例中,所述处理器在执行所述计算机程序而实现所述对带有法向量的点云数据采用随机抽样一致性进行墙面平面的拟合,并提取墙面平面的法向量,以得到墙面平面点云的法向量步骤时,具体实现如下步骤:
172.对带有法向量的点云数据采用随机抽样一致性进行平面拟合,并指定拟合平面的法向量信息,提取带有法向量的点云数据内属于墙面部分的点云数据,以得到墙面点云数据;对所述墙面点云数据进行墙面拟合,并提取拟合的墙面平面的法向量,以得到墙面平面点云的法向量。
173.在一实施例中,所述处理器在执行所述计算机程序而实现所述根据地面平面点云的法向量以及墙面平面点云的法向量进行误差自动校正,以得到标准点云数据步骤时,具体实现如下步骤:
174.计算地面平面点云的法向量与室内固定存在的自然地平面法向量的夹角,以得到地面夹角;根据地面夹角计算地面旋转矩阵;计算墙面平面点云的法向量与室内固定存在的自然墙面法向量的夹角,以得到墙面夹角;根据墙面夹角计算墙面旋转矩阵;根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据。
175.在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述地面旋转矩阵以及所述墙面旋转矩阵校正所述点云数据,以得到标准点云数据步骤时,具体实现如下步骤:
176.根据所述地面旋转矩阵以及所述墙面旋转矩阵采用矩阵乘法进行融合,以得到机器人坐标系点云外参自动标定矩阵;采用所述机器人坐标系点云外参自动标定矩阵校正所述点云数据,以得到标准点云数据。
177.所述存储介质可以是u盘、移动硬盘、只读存储器(read-only memory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
178.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
179.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
180.本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
181.该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
182.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献