掌桥专利:专业的专利平台
掌桥专利
首页

三维扫描系统的外参标定方法及三维扫描系统

文献发布时间:2024-04-18 19:59:31


三维扫描系统的外参标定方法及三维扫描系统

技术领域

本申请属于标定技术领域,尤其涉及三维扫描系统的外参标定方法、三维扫描系统及计算机可读存储介质。

背景技术

三维扫描设备是指用于测量场景中的物体或环境的形状等数据,得到三维点云数据的设备,广泛应用于如智能机器人、自动驾驶和地理测绘等领域。为获取较为完整的物体表面数据,通常需要移动三维扫描设备至不同的视角对物体进行扫描,再将扫描得到的不同视角的局部点云转换到全局坐标系下,得到拼接后的全局点云。其中,在将不同视角的局部点云转换到全局坐标系时,需要根据标定的外参对局部点云进行转换。

目前,在对三维扫描设备的外参进行标定时,通常通过旋转设备带动三维扫描设备旋转,扫描得到不同视角的局部点云,然后结合旋转设备反馈的扫描角度和各个局部点云进行外参的标定,标定过程中并不考虑旋转设备的结构导致的旋转设备反馈的扫描角度的偏差,导致标定得到的外参的准确性较低。

发明内容

本申请实施例提供了三维扫描系统的外参标定方法及三维扫描系统,可以解决目前三维扫描系统的标定得到的外参的准确性较低的问题。

第一方面,本申请实施例提供了一种三维扫描系统的外参标定方法,应用于三维扫描系统,三维扫描系统包括三维扫描设备和旋转设备,旋转设备用于带动三维扫描设备绕转轴旋转,所述方法包括:获取三维扫描设备在不同扫描角度扫描得到的多帧初始点云数据;根据初始化的第一外参将各帧初始点云数据转换到旋转设备的坐标系下,得到中间点云数据;对中间点云数据进行平面特征提取,得到多个平面点云,以及确定平面点云中的每个点对应的扫描角度和平面索引;对各个扫描角度进行矫正,并根据矫正后的各个扫描角度确定扫描角度对应的第二外参;根据第二外参将各个平面点云转换到全局坐标系下,得到全局点云数据;根据全局点云数据和各个平面索引构建优化函数,并根据优化函数对第一外参进行迭代优化,根据迭代优化后的第一外参确定目标外参。

在一些实施例中,根据优化函数对所述第一外参进行迭代优化,包括:选取全局点云数据中每一平面点云作为目标平面点云,根据优化函数计算目标平面点云对应的损失值,比较损失值与第一阈值并根据比较结果第一外参进行迭代优化。

在一些实施例中,三维扫描设备为单线激光雷达,在确定目标外参之后,还包括:对目标外参进行相对精度验证和绝对精度验证。

其中,进行相对精度验证包括:获取单线激光雷达在旋转360度后扫描得到的多帧初始点云数据;根据目标外参将多帧初始点云数据转化到全局坐标系下,得到全局点云数据;根据180度的扫描角度将全局点云数据进行平分,得到前半周全局点云数据和后半周全局点云数据;根据初始点云数据中的目标点确定对应的前半周全局点云数据中的第一点云与后半周全局点云数据中的第二点云,计算第一点云和第二点云的平均点距;当第一点云和第二点云的平均点距小于或等于第二阈值时,则相对精度验证通过。

当相对精度验证通过后,还进行绝对精度验证,还包括:获取全局点云数据对应的标准点云数据;标准点云数据为同一扫描场景下获取的精度更高的全局点云数据;计算标准点云数据与全局点云数据的平均点距;若标准点云数据与全局点云数据的平均点距小于或等于第三阈值,则绝对精度验证通过。或者,还可以:获取扫描场景内任意两平面之间的真实距离;根据全局点云数据计算两平面之间的测量距离;计算测量距离与真实距离的差值;若差值小于或等于第四阈值,则绝对精度验证通过。

第二方面,本申请实施例提供了一种三维扫描系统,包括:旋转设备、三维扫描设备、存储器和处理器,以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现第一方面提出的方法。

第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中所述的三维扫描系统的外参标定方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:

本申请实施例中,在根据第一外参将各个初始点云数据转换为旋转设备所在的坐标系下的点云,得到中间点云数据之后,对中间点云数据进行平面特征提取得到多个平面点云,再根据第二外参将各个平面点云的转换到全局坐标系下,从而得到全局点云数据,以及根据各个平面点云对应的平面索引和全局点云数据构建优化函数,利用优化函数对第一外参进行迭代优化,从而提高得到的目标外参的准确性。同时,第二外参在将平面点云转换为全局坐标系时,需要结合平面点云对应的扫描角度进行转换,而旋转设备反馈的扫描角度由于旋转设备的结构等原因,可能存在一定的偏差,因此,先对扫描角度进行矫正,再根据矫正后的扫描角度确定第二外参,能够在转换过程中对扫描角度中存在的偏差等进行矫正,提高得到的全局点云数据的准确性,进一步提高外参标定的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请一实施例提供的一种三维扫描系统的结构示意图;

图2是本申请实施例提供的一种三维扫描系统的外参标定方法的流程示意图;

图3是本申请实施例提供的一种三维扫描系统的相对精度检测方法的流程示意图;

图4是本申请实施例提供的三维扫描系统的外参标定装置的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

图1示出了本申请实施例提供的一种三维扫描系统的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图1,该三维扫描系统包括旋转设备12、三维扫描设备13、存储器14和处理器15,以及存储在所述存储器14中并可在所述处理器15上运行的计算机程序16,所述处理器15执行所述计算机程序16时实现本申请一个或多个实施例提供的三维扫描系统的外参标定方法。其中,三维扫描设备13安装于旋转设备12上,在旋转设备12旋转时带动三维扫描设备13旋转实现对场景中不同位置的扫描。

在一个实施例中,三维扫描系统还包括支架11,安装于旋转设备12上,用于连接旋转设备12和三维扫描设备13。旋转设备12,用于进行旋转并通过支架11带动三维扫描设备13绕转轴旋转。三维扫描设备13,附设于支架11上,并在被支架11带动旋转到达不同的角度时扫描得到多帧初始点云数据。

在一些实施例中,三维扫描设备13可以是单线激光雷达,单线激光雷达的旋转轴与旋转设备的旋转轴接近垂直,旋转设备每旋转预定角度,单线激光雷达对目标场景进行360度扫描后得到一帧点云数据,通过不断旋转预设角度,得到特定扫描角度对应的多帧初始点云数据。

在另一些实施例中,上述三维扫描设备13也可以是深度相机,该深度相机在被旋转设备带动旋转到不同的角度时,对场景进行拍摄得到不同扫描角度对应的深度图像,在对各帧深度图像进行对应的处理,将其转换为点云数据,得到多帧初始点云数据。上述三维扫描设备13还可以是其它的可以在场景中进行三维扫描,得到点云数据的设备,上述三维扫描系统中可以包含一个或多个三维扫描设备13,本申请实施例对此不作限制。

存储器14在一些实施例中可以是三维扫描设备的内部存储单元,例如三维扫描设备的内存。存储器14在另一些实施例中也可以是外部存储设备。在一些其他的实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器14还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。

处理器15可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

对应于上文实施例所述的三维扫描系统,图2示出了本发明实施例提供的一种三维扫描系统的外参标定方法的流程示意图,详述如下:

步骤S201,获取三维扫描设备在不同扫描角度扫描得到的多帧初始点云数据。

其中,三维扫描系统包括上述三维扫描设备13以及旋转设备12,该旋转设备12用于带动三维扫描设备13绕旋转轴进行旋转。

具体地,在对三维扫描系统的外参进行标定之前,先获取三维扫描设备13在不同扫描角度下扫描场景得到的多帧初始点云数据。例如,可以设置旋转设备12每旋转5度即调控三维扫描设备13对待扫描场景进行扫描获取一帧初始点云数据,连续旋转360度后获得多帧初始点云数据。每输出一帧初始点云数据,旋转设备12反馈一个实时扫描角度,一个扫描角度通常与一帧初始点云数据对应。本申请实施例中,获取三维扫描设备13在不同扫描角度下扫描得到的多帧初始点云数据,以便根据多帧初始点云数据进行三维扫描系统的外参的标定。

可选地,为了较好地进行三维扫描系统的外参的标定,可以在封闭场景(如圆柱形的舱体,方形房间等)内进行扫描,获取不同扫描角度对应的多帧初始点云数据,而封闭场景能够较好地确定该场景的尺寸等数据,且其存在较为突出的特征(如方形的房间中通常存在两两相对的六个墙面),在外参标定的过程中能够结合封闭场景的特征进行辅助计算,有利于提高外参的准确性。

在一些实施例中,由于如单线激光雷达等三维扫描设备13在进行扫描时,其扫描范围能够达到360度,即,三维扫描设备13的扫描是对称的,在三维扫描设备13被旋转设备12带动完成180度的旋转的情况下,即可实现对场景的一次全局扫描,因此,在获取三维扫描设备13在不同扫描角度扫描得到的多帧初始点云数据时,设置旋转设备12在旋转到180度的情况下,可以停止旋转,避免扫描得到重复的初始点云数据,增大数据量和造成干扰。

在一个实施例中,三维扫描设备13为单线激光雷达,单线激光雷达在不同角度对待扫描场景进行扫描获取距离数据P

P=(dsin(α),0,dcos(α))

步骤S202,根据初始化的第一外参将各帧初始点云数据转换到旋转设备的转轴坐标系下,得到中间点云数据。

具体地,由于三维扫描设备13扫描得到的初始点云数据为处于三维扫描设备13所在坐标系的点云数据,所需标定的目标外参用于将点云数据从三维扫描设备13所在的坐标系转换到全局坐标系下,因此,本申请实施例中,先根据初始化的第一外参对各帧初始点云数据进行转换处理。

该第一外参能够描述三维扫描设备13所在坐标系与旋转设备12所在的转轴坐标系之间的坐标变换关系。其中,由于三维扫描设备13所在坐标系与旋转设备12所在转轴坐标系之间的坐标变换主要涉及平面坐标(即x和y坐标轴)的变换,与z坐标轴和扫描角度无关,因此,该第一外参可以采用四自由度进行表示,包括x和y坐标轴方向的旋转矩阵R以及平移矩阵t,即,第一外参包括:Rx、Ry、tx以及ty,分别表示x轴旋转量、y轴旋转量、x轴平移量以及y轴平移量。

将不同角度下获取的初始点云数据转换到转轴坐标系下,即:

其中P为初始点云数据,P'为通过外参变换到转轴坐标系的点云。R为旋转矩阵,t为平移向量。旋转矩阵与平移向量是由外参得到的。根据罗德里格斯公式:

其中,n

最终得到:

t=(tx,ty,0)

在一些实施例中,当系统的安装不存在误差时,三维扫描设备的扫描中心(坐标系原点)与旋转设备的旋转轴重合时。将初始第一外参设置为(0,0,0,0)带入上述变换公式可求解出中间点云P'。但由于安装时必然存在误差,故初始第一外参不等于(0,0,0,0),但可将其视为(rx,ry,tx,ty)的初始值进行迭代。

由于三维扫描系统中还包含旋转设备12,在将三维扫描设备13所在坐标系下的点云转换到全局坐标系的过程中,需要先根据第一外参将三维扫描设备13所在坐标系下的点云转换旋转设备12所在的坐标系,再根据能够描述旋转设备12所在坐标系下与全局坐标系之间的坐标变换关系的第二外参将旋转设备12所在坐标系下的点云转换到全局坐标系,而最终标定的目标外参需要包括该第一外参和第二外参,该目标外参能够描述三维扫描设备13所在坐标系与全局坐标系之间的坐标变换关系。

步骤S203,对中间点云数据进行平面特征提取,得到多个平面点云,以及确定平面点云中的每个点对应的扫描角度和平面索引。

具体地,通过平面提取算法对中间点云数据进行平面特征提取,得到待扫描场景中大的平面特征,即提取出多个平面点云,优选地,至少同时提取出三个平面点云,例如墙面、地面等。平面提取算法可以包括随机一致性、区域生长或深度学习等方法。

其中,由于中间点云数据是基于多个不同扫描角度的多帧初始点云数据转换得到的,中间点云数据中的各个点对应的扫描角度不同,使得提取得到平面点云中包含的各个点对应的扫描角度也不完全相同。因此,为方便于后续平面点云的转换,对提取到的各个平面点云中的点,确定每个点对应的索引,包括平面索引和角度索引,平面索引用于表征该点对应的平面,角度索引用于表征该点对应的旋转角度,以得到平面点云中每个点对应的平面索引以及对应的扫描角度,从而根据平面点云的平面索引能够将对应的不同扫描角度的点关联起来进行平面约束,便于后续基于平面约束对第一外参和第二外参进行迭代优化。

本申请实施例中,基于中间点云数据提取进行平面特征的提取,获取场景中的平面对应的平面点云,而平面点云中的点云数据均属于同一个平面,被约束在该平面内,使得后续将平面点云转换到全局坐标系下时,基于平面点云的平面约束关系能够较好地分析转换得到的全局点云数据存在的误差,减小目标参数的标定难度。

步骤S204,对各个扫描角度进行矫正,并根据矫正后的各个扫描角度确定扫描角度对应的第二外参。

其中,第二外参能够描述旋转设备12的旋转坐标系与全局坐标系之间的坐标变换关系。

具体地,由于不同的旋转设备12所反馈的角度的精度通常存在差异,而反馈角度的精度通常与旋转设备12中的角度编码器与转轴之间的角度偏移有关,如成本较低的消费级旋转电机,其反馈的扫描角度的精度有限,在根据其反馈的扫描角度将中间点云数据转换到全局坐标系时,可能会影响转换得到的全局点云数据的精度。因此,为了提高转换得到的全局点云数据的精度,本申请实施例中,先对旋转设备12反馈的各个扫描角度进行矫正,基于矫正后的各个扫描角度来确定各个扫描角度对应的第二外参,得到准确度较高的第二外参,使得后续将中间点云数据转换到全局坐标系下时,能够基于该第二外参对中间点云数据进行转换处理,能够提高转换得到的全局点云数据的准确性,减小扫描角度的偏差对外参标定的影响,以提高最终标定得到的目标外参的准确性。

可选地,由于旋转设备12的结构工艺的影响,其角度编码器和转轴之间的角度偏移在不同角度下的偏移程度可能不同。因此,为了提高矫正后的扫描角度的准确性,采用正弦函数对扫描角度进行矫正,进一步提高矫正得到的扫描角度的准确性。在一个实施例中,在采用正弦函数对扫描角度进行矫正时,该正弦函数可以是如下的形式:

θ=θ

其中,θ为矫正后的扫描角度,θ

在一些实施例中,可以根据罗德里格斯公式计算得到第二外参,该第二外参可以是如下的形式:

其中,M为第二外参,θ为矫正后的扫描角度,I为单位矩阵,n表示旋转轴,n

本申请实施例中,对旋转设备12反馈的各个扫描角度进行矫正,减小因旋转设备12中的角度编码器与转轴之间的角度偏移造成的扫描角度的偏差,从而提高标定过程中转换得到的全局点云数据的准确性,进而基于准确性较高的全局点云数据对第一外参进行迭代优化,能够提高最终得到的目标外参的准确性。

步骤S205,根据第二外参将各个平面点云数据转换到全局坐标系下,得到全局点云数据。

具体地,在基于矫正后的旋转角度确定第二外参之后,基于该第二外参将各个平面点云转换到全局坐标系下,得到全局坐标系下的全局点云数据P”,即:P”=M P'。

步骤S206,根据全局点云数据和各个平面索引构建优化函数,并根据优化函数对第一外参进行迭代优化,根据迭代优化后的第一外参确定目标外参。

具体地,将各个平面点云转换到全局坐标系下后,通过点云对应的平面索引将不同旋转角度的点关联到同一平面以后进行平面约束,并根据构建的优化函数对第一外参进行迭代优化。可以理解的是,由于第一外参能够反映三维扫描设备13坐标系与旋转设备12坐标系之间的坐标变换关系,而第二外参能够基于扫描角度反映旋转设备12坐标系和全局坐标系之间的坐标变换关系,因此,根据第一外参和第二外参确定的目标外参能够反映三维扫描坐标系与全局坐标系之间的坐标变换关系,基于该目标外参,可以将三维扫描坐标系下的点云数据转换为全局坐标系下的点云数据。

本申请实施例中,由于平面点云是基于中间点云数据提取得到的平面的点云,而同一个平面点云中的点云数据均属于同一个平面,即,通过平面索引能够将一个或多个扫描角度对应的初始点云数据中的点约束在同一个平面,因此,在得到全局点云数据之后,可以基于各个平面点云对应的平面索引和全局点云数据构建优化函数,使得在基于该优化函数对第一外参进行迭代优化后,使得基于不同角度采集的局部点云提取的平面点云利用该相对外参进行拼接时得到拼接结果平整度高。

在一些实施例中,优化函数可以是如下的形式:

其中,argmin是指使损失值取最小值,

在一些实施例中,步骤S206包括:选取全局点云数据中每一平面点云作为目标平面点云,根据优化函数计算目标平面点云对应的损失值,若损失值小于或等于第一阈值,则重复步骤S202-S206对第一外参进行迭代优化。

可以理解的是,将不同角度扫描得到的点云数据转换到全局坐标系下进行拼接时,基于平面索引可确定属于同一平面的点云数据,若第一外参设置合理,则根据优化函数对每一平面点云数据计算得到的损失值较小,所以可根据损失值对第一外参进行优化。

具体的,根据损失值和第一阈值对第一外参进行迭代优化,不断的重复步骤S202-S206,直至优化后的损失值小于第一阈值。通过不断重复步骤S202-S206使得第一外参不断优化并逐渐收敛到接近完美外参的值,并在重复若干次后得到最终的高精度的标定结果。进一步根据第一外参以及第二外参确定目标外参。

可选地,在根据损失值和第一阈值对第一外参进行迭代优化时,可以是根据全局点云数据中的各个目标点对应的损失值计算累积损失值,或者计算平均损失值,将其与对应的第一阈值进行比较,再根据损失值与第一阈值之间的差异对第一外参进行迭代优化,求解得到更优的第一外参。

可选地,上述目标点可以是全局点云数据中的任意的点,也可以是从全局点云数据中随机采样或均匀采样得到的点,此处不作限制。

同时,第二外参在将平面点云转换为全局坐标系时,该第二外参是根据矫正后的扫描角度确定的,即能够在转换过程中对扫描角度中存在的偏差等进行矫正,也即,通过上述方式确定全局点云数据时,能够提高得到的全局点云数据的准确性,并且充分考虑旋转设备12的转轴的偏移造成的扫描角度的偏差,使得根据优化后的第一外参以及第二外参确定的目标外参进行点云的转换时,能够对旋转设备12造成的扫描角度的偏差进行补偿,不需要每一次转换时都进行额外的计算和补偿,在提高得到的点云的准确性的同时能够提高点云转换效率。

在一些实施例中,在步骤S202之前,还包括:对各个初始点云数据进行滤波处理,得到滤波后的各个初始点云数据。对应地,步骤S202包括:根据初始化的第一外参将滤波后的各个初始点云数据转换到上述旋转设备12的坐标系下,得到上述中间点云数据。

具体地,由于设备精度、场景环境因素等的影响,三维扫描设备13扫描得到的点云数据不可避免地会存在异常的点,因此,为了减小异常点的影响,在根据初始化的第一外参将各个初始点云转换到旋转设备12所在的坐标系之前,先对各个初始点云数据进行滤波处理,剔除各个初始点云数据中的离群点、噪声点等异常的点,得到滤波后的各个初始点云数据,再根据第一外参将滤波后的各个初始点云数据转换到旋转设备12所在的坐标系下,得到中间点云数据,以减小点云数据中异常的点的影响,提高得到的中间点云数据的准确性。

本申请实施例中,在将各个初始点云数据转换到旋转设备12所在的坐标系之前,先通过滤波处理剔除各个初始点云数据中的异常的点,再基于第一外参对滤波处理后的各个初始点云数据进行转换,以提高得到的中间点云数据的准确性。

在一些实施例中,当三维扫描设备13为单线激光雷达(如单线旋转式激光雷达)时,受益于单线激光雷达本身的具有约为360度的扫描范围,本申请还提出对得到的标定结果进行精度验证,包括相对精度验证和绝对精度验证。

其中,首先进行相对精度验证,在上述步骤S206之后,还包括:

步骤S301,获取单线激光雷达在旋转360度后扫描得到的多帧初始点云数据。

步骤S302,根据目标外参将多帧初始点云数据转化到全局坐标系下,得到全局点云数据。

步骤S303,根据180度的扫描角度将全局点云数据进行平分,得到前半周全局点云数据和后半周全局点云数据。

步骤S304,根据初始点云数据中的点确定对应的前半周全局点云数据中的第一点云与后半周全局点云数据中的第二点云,计算第一点云和第二点云的平均点距。

步骤S305,当平均点距小于或等于第二阈值时,则相对精度验证通过。

具体地,由于单线激光雷达本身的扫描范围就能够达到360度,在被旋转设备12带动旋转180度的情况下,就能够完成整个场景的扫描。因此,单线激光雷达在被旋转设备12带动旋转360度后,实际上对场景进行了两次扫描,得到的点云能够实现对场景的两次重建,若计算的第一外参接近真实值,则两次重建后的场景基本重合,反之,则出现明显的分层现象。其中,上述相对精度验证用于验证三维扫描设备和/或旋转设备的精度是否存在异常。

本申请实施例中,在标定结束后,通过调控旋转电机带动单线激光雷达旋转360度后扫描得到多帧点云数据,根据优化后的第一外参以及矫正的第二外参(即目标外参)将初始点云数据转化到全局坐标系下获得全局点云数据。基于180度对应的扫描角度对全局点云数据进行平分分割成前180度空间点云数据和后180度空间点云数据,得到前半周全局点云数据和后半周全局点云数据(例如,基于180度对应的直线将点云数据进行平分,得到0度至180度的扫描角度对应的前半周点云数据,以及180度至360度的扫描角度对应的后半周点云数据)。

可以理解的是,平分得到的前半周全局点云数据和后半周全局点云数据均为整个场景对应的点云,即基于该前半周全局点云数据和后半周全局点云数据均能够实现对其扫描的整个场景的三维重建。例如,扫描得到场景A对应的初始点云数据A,经过坐标变换后可以得到全局坐标系下的全局点云数据A″,基于180度的扫描角度对全局点云数据A″进行平分,则对于初始点云可以在前半周全局点云数据中找到对应的第一点云A1″以及在后半周全局点云数据中找到对应的第二点云A2″。计算第一点云和第二点云的平均点距,记为误差值,当平均点距小于或等于第二阈值时,则相对精度验证通过。若平均点距大于第二阈值时,则说明相对精度验证不通过,标定失败,可以认为单线激光雷达(即三维扫描设备)和/或旋转设备存在异常,需要对旋转设备和/或单线激光雷达的精度进行检测,或者重新进行标定。

由于前半周全局点云数据中的每个点与其在后半周全局点云数据中相应的点之间的距离能够较好地反映这两个点之间的差异,因此,可以计算前半周全局点云数据中的各个点与后半周全局点云数据中对应的点之间的距离,为了较为准确进行相对精度验证,可以将各个点的距离的平均值作为第一平均点距,在该第一平均点距小于或等于第二阈值的情况下,则相对精度验证通过。若大于第二阈值的情况下,可以认为存在异常,此时,对设备进行精度检测,通过精度检测来验证设备的异常情况。

在一些实施例中,在相对精度验证通过后还可以进行绝对精度验证,即在上述步骤S305之后,还包括:获取全局点云数据对应的标准点云数据,计算标准点云数据与全局点云数据的平均点距,若平均点距小于或等于第三阈值,则绝对精度验证通过。其中,标准点云数据为:同一扫描场景下获取的精度更高的全局点云数据。其中,上述绝对精度验证用于验证上述目标外参是否满足预设要求(如误差值是否小于或等于第三阈值,该误差值可以是标准点云数据与全局点云数据的平均点距,或者,误差值是否小于或等于第四阈值)。

具体地,当扫描场景具有更高精度的点云数据时,可以将该点云数据记为真实值(标准点云数据),计算全局点云数据中点与真实值的平均点距作为误差值,可以理解的是,即可以选择点云数据中的部分点与对应的标准点云数据计算差值取平均作为平均点距,也可以选择全部的点云数据计算差值取平均作为平均点距,在本申请中不做具体限制。若计算得到的平均点距小于或等于第三阈值的情况,则说明绝对精度验证通过,若计算得到的平均点距大于第三阈值的情况,则说明绝对精度验证不通过,前述实施例获取的目标外参不准确。

由于标准点云数据是在与全局点云数据相同的场景和扫描角度下获取到的精度更高的全局点云数据,而计算得到的平均点距能够反映全局点云数据和标准点云数据之间的差异程度,因此,根据平均点距能够较好地判断目标外参转换得到的全局点云与精度更高的标准点云之间的差距,从而了解在实际应用中目标外参的精度。本申请实施例中,当绝对精度验证不通过后,此时可以重新对第一外参和第二外参进行标定,或者可以认为单线激光雷达或旋转设备存在异常,需要对旋转设备和单线激光雷达的精度进行检测后重新进行标定,以保障在实际应用中,基于目标外参进行点云数据的转换时得到的全局点云数据的准确性。

在另一些实施例中,当不存在更高精度的点云数据作为真实值后,若要进行绝对精度验证,则可以配合扫描场景的实际尺寸进行验证,即在上述步骤S305之后,还包括:获取扫描场景内任意两平面之间的真实距离,根据全局点云数据计算该两平面之间的测量距离,以及计算测量距离与真实距离的差值,若差值小于或等于第四阈值,则绝对精度验证通过。

具体的,因为在标定过程中,为了便于标定和数据验证,扫描场景为封闭场景,比如方形的房间,场景内具有突出的平面特征。则很容易确定出场景内两平面之间的真实距离,比如房间地面到天花板的距离。当对点云数据进行平面提取后,根据平面索引即可确定出扫描场景内每个平面对应的平面点云。因此,根据平面索引确定全局点云数据中房间地面和天花板分别对应的点云数据,则可以计算出房间地面与天花板之间的测量距离。理论上,测量距离与真实距离应近似相等,考虑到外参标定,若两者之间的误差值小于或等于第四阈值,则说明标定的外参准确,绝对精度验证通过;若两者之间的误差值大于第四阈值,则说明绝对精度验证不通过,此时可以重新对第一外参和第二外参进行标定,或者可以认为单线激光雷达或旋转设备存在异常,需要对旋转设备和单线激光雷达的精度进行检测后重新进行标定。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的三维扫描系统的外参标定方法,图4示出了本申请实施例提供的三维扫描系统的外参标定装置的结构框图,三维扫描系统包括三维扫描设备和旋转设备,旋转设备用于带动三维扫描设备绕转轴旋转,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图4,该装置包括:初始点云数据获取模块41、中间点云数据获取模块42、平面点云获取模块43、矫正模块44、全局点云数据获取模块45和标定模块46。其中,

初始点云数据获取模块41,用于获取三维扫描设备在不同扫描角度扫描得到的多帧初始点云数据。

中间点云数据获取模块42,用于根据初始化的第一外参将各帧初始点云数据转换到旋转设备的坐标系下,得到中间点云数据。

平面点云获取模块43,用于对中间点云数据进行平面特征提取,得到多个平面点云,以及确定平面点云中的每个点对应的扫描角度和平面索引。

矫正模块44,用于对各个扫描角度进行矫正,并根据矫正后的各个扫描角度确定扫描角度对应的第二外参。

全局点云数据获取模块45,用于根据第二外参将各个平面点云转换到全局坐标系下,得到全局点云数据。

标定模块46,用于基于全局点云数据和各个平面索引构建优化函数,并根据优化函数对第一外参进行迭代优化,根据迭代优化后的第一外参确定目标外参。

本申请实施例中,在根据第一外参将各个初始点云数据转换为旋转设备所在的坐标系下的点云,得到中间点云数据之后,对中间点云数据进行平面特征提取得到多个平面点云,再根据第二外参将各个平面点云的转换到全局坐标系下,从而得到全局点云数据,以及根据各个平面点云对应的平面索引和全局点云数据构建优化函数,利用优化函数对第一外参进行迭代优化,从而提高得到的目标外参的准确性。同时,第二外参在将平面点云转换为全局坐标系时,需要结合平面点云对应的扫描角度进行转换,而旋转设备反馈的扫描角度由于旋转设备的结构等原因,可能存在一定的偏差,因此,先对扫描角度进行矫正,再根据矫正后的扫描角度确定第二外参,能够在转换过程中对扫描角度中存在的偏差等进行矫正,提高得到的全局点云数据的准确性,进一步提高外参标定的准确性。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116524600