物体尺寸测量方法及相关设备转让专利

申请号 : CN201710074145.X

文献号 : CN108413864B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伍科宇

申请人 : 菜鸟智能物流控股有限公司

摘要 :

本申请提供了一种物体尺寸测量方法。该方法基于包含背板的物体测量装置,物体测量装置中的相机可以采集背板及被测物体的深度图像,该方法根据深度图像的点云数据,拟合出背板平面,并且从深度图像的点云数据中确定出被测物体的点云数据,计算出点云数据到背板平面的距离后,便可以确定出被测物体在相对该背板平面相对方向上的尺寸。相对于现有的测量方法而言,该方法中,被测物体的尺寸是以背板平面为基准测量出来的,被测物体尺寸的误差主要由相机的拍摄误差决定,使得尺寸测量结果的准确度更高。本申请还提供了物体尺寸测量相关设备,以保证上述方法在实际中的应用及实现。

权利要求 :

1.一种物体尺寸测量方法,其特征在于,该方法包括:

获得由第一深度图像生成的点云数据,其中所述第一深度图像包含被测物体相对的背板,并依据所述第一深度图像生成的点云数据,拟合出所述背板的背板平面;

获得由第二深度图像生成的点云数据,其中所述第二深度图像包含被测物体,并依据所述背板平面,从所述第二深度图像生成的点云数据中,确定所述被测物体的多个点云数据;

计算所述被测物体的多个点云数据到所述背板平面的距离,对多个所述距离排序后,将预设数量的排序在前的距离的平均值确定为所述被测物体在相对所述背板平面方向上的尺寸;

其中,对多个所述距离排序后,将预设数量的排序在前的距离的平均值确定为所述被测物体在相对所述背板平面方向上的尺寸,包括:从所述第二深度图像中抠出所述被测物体后得到空洞,并计算所述空洞的边缘点到所述背板平面的空洞距离;计算所述空洞距离与所述被测物体的点云数据到所述背板平面的距离的差值;若所述差值在第一预设差值范围内,则将预设数量的排序在前的距离的平均值确定为所述被测物体在相对所述背板平面方向上的尺寸。

2.根据权利要求1所述的物体尺寸测量方法,其特征在于,所述第一深度图像及所述第二深度图像为不同的深度图像。

3.根据权利要求1所述的物体尺寸测量方法,其特征在于,所述依据所述第一深度图像生成的点云数据,拟合出所述背板的背板平面,包括:在所述第一深度图像中,确定出所述背板所在的区域;

根据所述背板所在的区域对应的点云数据,拟合出所述背板的背板平面。

4.根据权利要求3所述的物体尺寸测量方法,其特征在于,所述根据所述背板所在的区域对应的点云数据,拟合出所述背板的背板平面,包括:从所述背板所在的区域中,选择三个种子像素点,并确定所述三个种子像素点各自对应的点云数据的点云坐标;

将三个所述点云坐标各自代入平面方程后,依据三个所述平面方程,求解出所述平面方程的平面参数;

将所述平面参数生成的平面方程确定为所述背板的第一背板平面。

5.根据权利要求4所述的物体尺寸测量方法,其特征在于,还包括:在所述第一深度图像生成的点云数据中,确定归属于所述第一背板平面的点云数据;

使用归属于所述第一背板平面的点云数据,修正所述第一背板平面,得到所述背板的第二背板平面。

6.根据权利要求5所述的物体尺寸测量方法,其特征在于,所述在所述第一深度图像生成的点云数据中,确定归属于所述第一背板平面的点云数据,包括:在所述第一深度图像生成的点云数据中,确定所述三个种子像素点对应的点云数据之外的其他点云数据;

计算所述其他点云数据到所述第一背板平面的距离;

将所述其他点云数据中到所述第一背板平面的距离小于预设距离值的其他点云数据确定为归属于所述第一背板平面。

7.根据权利要求6所述的物体尺寸测量方法,其特征在于,所述第一深度图像中包含的背板为多个;则所述将所述其他点云数据中到所述第一背板平面的距离小于预设距离值的其他点云数据确定为归属于所述第一背板平面,包括:将所述其他点云数据中到所述第一背板平面的距离小于预设距离值、且到所述第一背板平面之外的其他背板平面的距离均不小于所述预设距离值的其他点云数据确定为归属于所述第一背板平面。

8.根据权利要求5所述物体尺寸测量方法,其特征在于,所述使用归属于所述第一背板平面的点云数据,修正所述第一背板平面,得到所述背板的第二背板平面,包括:依据最小二乘平面拟合算法,对归属于所述第一背板平面的点云数据拟合后,得到所述背板的第二背板平面。

9.根据权利要求1所述物体尺寸测量方法,其特征在于,所述依据所述背板平面,从所述第二深度图像生成的点云数据中,确定所述被测物体的多个点云数据,包括:根据所述背板平面,在所述第二深度图像生成的点云数据中,确定归属于所述背板平面的点云数据及归属于背景的点云数据;

将所述第二深度图像生成的点云数据中、所述背板平面的点云数据及所述背景的点云数据之外的点云数据,确定为所述被测物体的点云数据。

10.根据权利要求9所述的物体尺寸测量方法,其特征在于,所述根据所述背板平面,在所述第二深度图像生成的点云数据中,确定归属于所述背板平面的点云数据及归属于背景的点云数据,包括:计算所述第二深度图像生成的点云数据到所述背板平面的距离,依据所述距离确定归属于所述背板平面的点云数据;

将所述第二深度生成的点云数据的点云坐标代入所述背板平面的平面参数组成的代表式中,得到代表式结果,并将代表式结果小于预设数值的点云数据确定为归属于背景的点云数据。

11.根据权利要求9所述的物体尺寸测量方法,其特征在于,所述将所述第二深度图像生成的点云数据中、所述背板平面的点云数据及所述背景的点云数据之外的点云数据,确定为所述被测物体的点云数据,包括:在所述第二深度图像生成的点云数据中,确定所述背板平面的点云数据及所述背景的点云数据之外的点云数据;

在确定出的点云数据中,查找离散的点云数据;

将所述离散的点云数据从确定出的点云数据中剔除,得到被测物体的点云数据。

12.根据权利要求1所述的物体尺寸测量方法,其特征在于,所述计算所述空洞距离与所述被测物体的点云数据到所述背板平面的距离的差值,包括:确定多个空洞距离中的第一最大值,以及确定所述被测物体的点云数据到所述背板平面的距离中的第二最大值;

计算所述第一最大值与所述第二最大值的差值。

13.根据权利要求1所述的物体尺寸测量方法,其特征在于,所述从所述第二深度图像中抠出所述被测物体后得到空洞,包括:依据所述被测物体的点云数据,从所述第二深度图像生成的点云数据中,确定与所述被测物体相连通且特征值异常的点云数据;

根据确定出的点云数据及所述被测物体的点云数据,在所述第二深度图像中,抠出空洞。

14.根据权利要求1所述的物体尺寸测量方法,其特征在于,还包括:若所述差值在第二预设差值范围内,则依据所述空洞距离确定被测物体在相对背板平面方向上的尺寸;

若所述差值在第三预设差值范围内,则确定测量出错。

15.根据权利要求1所述的物体尺寸测量方法,其特征在于,还包括:使用超声波测量所述被测物体在相对所述背板平面方向上的第一尺寸;

将预设数量的排序在前的距离的平均值确定为所述被测物体在相对所述背板平面方向上的尺寸确定为第二尺寸;

若所述第一尺寸与所述第二尺寸的差值在预设差值范围内,则将所述第一尺寸或所述第二尺寸确定为所述被测物体在相对所述背板平面方向上的尺寸;

若所述第一尺寸与所述第二尺寸的差值未在预设差值范围内、且所述第二深度图像中点云数据的质量满足预设点云质量要求,则将所述第二尺寸确定为所述被测物体在相对所述背板平面方向上的尺寸;

若所述第一尺寸与所述第二尺寸的差值未在预设差值范围内、且所述第二深度图像中点云数据的质量未满足预设点云质量要求,则将所述第一尺寸确定为所述被测物体在相对所述背板平面方向上的尺寸。

16.一种物体尺寸测量装置,其特征在于,包括:支架、背板底座及相机;其中:所述背板底座包括背板,所述相机固定在所述支架上;

所述相机用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像,将包含所述被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及执行权利要求1至15任意一项所述的物体尺寸测量方法。

17.一种物体尺寸测量系统,其特征在于,包括:支架、背板底座、相机及物体尺寸测量设备;其中:所述背板底座包括背板,所述相机固定在所述支架上;

所述相机,用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像,并将包含所述被测物体相对的背板的深度图像及包含所述被测物体的深度图像发送至所述物体尺寸测量设备;

所述物体尺寸测量设备,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,并将包含所述被测物体的深度图像确定为第二深度图像;以及执行权利要求1至15任意一项所述的物体尺寸测量方法。

18.一种相机,其特征在于,包括:

图像采集器,用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像;以及将包含所述被测物体相对的背板的深度图像及包含所述被测物体的深度图像发送至处理器;

处理器,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及执行权利要求1至15任意一项所述的物体尺寸测量方法。

19.一种物体尺寸测量设备,其特征在于,包括:

通信接口,用于接收包含被测物体相对的背板的深度图像及包含所述被测物体的深度图像;

处理器,用于将所述包含被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及执行权利要求1至15任意一项所述的物体尺寸测量方法。

说明书 :

物体尺寸测量方法及相关设备

技术领域

[0001] 本申请涉及物体测量技术领域,更具体地,涉及物体尺寸测量方法及相关设备。

背景技术

[0002] 在一些情况下,需要测量物体的尺寸,例如物流行业中,包裹需要被包装在快递盒中,为了确定使用多大尺寸的快递盒,需要测量待包装包裹的尺寸。
[0003] 一种物体尺寸测量方法是,使用深度相机进行测量。深度相机采用三维视觉技术,可以通过视觉成像方法获取物体表面的三维形貌。现有的物体尺寸测量装置如图1所示,深度相机被固定在竖直的支撑杆的顶部,支撑杆的底部设置有测量平台,深度相机的视角朝向测量平台,可以拍摄放置在测量平台上的物品的深度图像。
[0004] 现有的物体尺寸测量方法可以根据点云数据到测量平台的距离,计算被测物体的高度,根据点云数据在测量平台上的投影,计算被测物体的长度及宽度。然而,该种测量方法存在测量精度不高的问题。

发明内容

[0005] 有鉴于此,本申请提供了一种物体尺寸测量方法,用以解决现有的物体尺寸测量方法测量结果不够准确的问题。
[0006] 为实现所述目的,本申请提供的技术方案如下:
[0007] 第一方面,本申请提供了一种物体尺寸测量方法,该方法包括:
[0008] 获得由第一深度图像生成的点云数据,其中所述第一深度图像包含被测物体相对的背板,并依据所述第一深度图像生成的点云数据,拟合出所述背板的背板平面;
[0009] 获得由第二深度图像生成的点云数据,其中所述第二深度图像包含被测物体,并依据所述背板平面,从所述第二深度图像生成的点云数据中,确定所述被测物体的多个点云数据;
[0010] 计算所述被测物体的多个点云数据到所述背板平面的距离,对多个所述距离排序后,将预设数量的排序在前的距离的平均值确定为所述被测物体在相对所述背板平面方向上的尺寸。
[0011] 第二方面,本申请提供了一种物体尺寸测量装置,包括:支架、背板底座及相机;其中:所述背板底座包括背板,所述相机固定在所述支架上;
[0012] 所述相机用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像,将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及上述物体尺寸测量方法。
[0013] 第三方面,本申请提供了一种物体尺寸测量系统,包括:支架、背板底座、相机及物体尺寸测量设备;其中:所述背板底座包括背板,所述相机固定在所述支架上;
[0014] 所述相机,用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像,并将包含所述被测物体相对的背板的深度图像及包含所述被测物体的深度图像发送至所述物体尺寸测量设备;
[0015] 所述物体尺寸测量设备,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,并将包含所述被测物体的深度图像确定为第二深度图像;以及执行上述的物体尺寸测量方法。
[0016] 第四方面,本申请提供了一种相机,包括:
[0017] 图像采集器,用于采集包含被测物体相对的背板的深度图像以及采集包含所述被测物体的深度图像;
[0018] 处理器,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及执行上述的物体尺寸测量方法。
[0019] 第五方面,本申请提供了一种物体尺寸测量设备,包括:
[0020] 通信接口,用于接收包含被测物体相对的背板的深度图像及包含所述被测物体的深度图像;
[0021] 处理器,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含所述被测物体的深度图像确定为第二深度图像;以及执行上述的物体尺寸测量方法。
[0022] 由以上可知,本申请提供了一种物体尺寸测量方法中,被测物体的尺寸是以背板平面为基准测量出来的,拟合出的背板平面的准确度较高,因此,被测物体尺寸的误差主要由相机的一个拍摄误差决定,使得尺寸测量结果的准确度更高。

附图说明

[0023] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0024] 图1为现有的物体测量装置的结构示意图;
[0025] 图2A为现有的深度图像转换为的点云数据的一种示意图;
[0026] 图2B为现有的物体尺寸测量方法计算被测物体长度的一种示意图;
[0027] 图2C为现有的物体测量装置的一种测量场景示意图;
[0028] 图3为本申请提供的物体测量装置的一种结构示意;
[0029] 图4为本申请提供的物体测量装置的一种测量场景示意图;
[0030] 图5为本申请提供的物体尺寸测量方法一个实施例的流程图;
[0031] 图6为本申请提供的在深度图像中定义直角坐标系的示意图;
[0032] 图7为本申请提供的物体尺寸测量方法又一实施例的流程图;
[0033] 图8A为本申请提供的被测物体的点云数据采集情况示意图;
[0034] 图8B为本申请提供的一个空洞的示意图;
[0035] 图9A及9B为本申请提供的物体测量装置的另两种结构示意图;
[0036] 图10为本申请提供的物体尺寸测量方法又一实施例的部分流程图;
[0037] 图11为本申请提供的物体尺寸测量系统的一种结构示意图;
[0038] 图12为本申请提供的相机的一种结构示意图;
[0039] 图13为本申请提供的物体尺寸测量设备的一种结构示意图。

具体实施方式

[0040] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041] 在一些情况下,需要测量物体的尺寸。现有的一种物体尺寸测量方法是,使用深度相机进行测量。深度相机采用三维视觉技术,可以通过视觉成像方法获取物体表面的三维形貌。其中,三维视觉技术可以包括但不限定于双目或多目立体视觉技术、结构光立体视觉技术、飞行时间技术等。
[0042] 现有的物体尺寸测量装置如图1所示,深度相机被固定在竖直的支撑杆的顶部,支撑杆的底部设置有测量平台,深度相机的视角朝向测量平台,可以拍摄放置在测量平台上的物品的深度图像。深度图像(depth image)也被称为距离影像(range image),是指将从图像采集器到场景中各点如物体表面各点的距离(深度)作为像素值,深度图像可以直接反映物体表面的几何形状。深度图像经过坐标转换可以得到点云数据。
[0043] 物体尺寸测量方法可以根据点云数据到测量平台的距离,计算被测物体的高度,根据点云数据在测量平台上的投影,计算被测物体的长度及宽度。以图1中的长方体形状的被测物体为例,深度相机采集该被测物体放置在被测平台上的深度图像,将该深度图像进行转换后得到的点云数据如图2A所示。在图2A中,点云区域1表示被测物体上表面,点云区域2及点云区域3表示测量平台平面,点云区域2与点云区域3之间的空白区域表示被测物体的上表面在测量平台上的投影。可以理解的是,通过计算点云区域1到点云区域2的长度,可以得到被测物体的高度;通过计算被测物体的上表面在测量平台上的投影的长度及宽度,可以得到被测物体的长度及宽度,从而得到被测物体长宽高的尺寸。
[0044] 然而,以上测量方法存在测量精度不高及可应用性不高的问题。
[0045] 具体地,测量精度不高的原因主要是,在计算被测物体的长度和宽度时,是计算被测物体投影的长度及宽度,然而,深度相机本身具有一定的拍摄误差,所拍摄的深度图像中,被测物体边缘处的点云是起伏的,并不是一条规则的直线。如图2B所示,被测物体边缘的点云较为分散,假设被测物体的实际长度为L,深度相机的拍摄误差最大为x,测量方法所计算的被测物体长度会为L+2x。可见,该种测量方法所测量的被测物体的长度及宽度误差为深度相机拍摄误差的两倍,导致测量精度不高。
[0046] 另外,以上测量方法可应用性不高的问题体现在,其在测量非长方体形状的被测物体可能出现错误,因此主要用于测量长方体形状的被测物体。原因是,深度相机设置在被测平台的正上方,深度相机的拍摄方向与被测平台垂直,在拍摄不规则如上窄下宽的物体时,可能由于上部的遮挡,无法拍摄到物体下部最宽的部分,由于最大的宽度才是物体的宽度,如果将上部的宽度作为物体的宽度,该测量并不准确。
[0047] 如图2C所示,深度相机只能拍摄到被测物体的上部,上部的宽度为测量宽度,被测物体的实际宽度为被测物体中部的宽度,然而,测量宽度小于实际宽度,若将测量宽度作为物体的宽度,测量结果是不准确的。因此,以上测量方法并不能用来测量非长方体形状的物体。
[0048] 为了解决以上测量方法测量精度较差及可应用性不高的问题,本申请提供了一种物体测量装置及基于该物体测量装置的物体尺寸测量方法。
[0049] 见图3,其示出了物体测量装置的一种结构示意。如图3所示,物体测量装置包括支架、相机及背板底座。其中,背板底座包括三个互相垂直正交的平板(平板可以称为背板),物体放置在背板底座内,物体与背板相对,相对可以是相接触,或者相隔预设长度的距离,物体相对的背板可以是一个,也可以多个,例如图3中与物体相对的背板为三个。
[0050] 支架用于固定相机,例如,支架的一部分固定在背板底座上,一部分用于固定相机。当然,在实际应用中,支架与背板底座的连接方式并不局限于此,其也可以与背板底座分离。另外,支架也并不局限于杆,还可以是其他固定装置。需要说明的是,背板的个数并不局限于三个,还可以是其他数目。
[0051] 相机的拍摄角度需要满足拍摄条件,例如从拍摄角度上拍摄到物体的全貌;相机是可以获得深度图像的相机,如深度相机。需要说明的是,相机内还可以内置处理器,用于根据深度图像获得点云数据,这样,相机不仅可以采集物体的深度图像,还可以获得物体的点云数据。
[0052] 基于以上物体测量装置,本申请提供了一种物体尺寸测量方法,该物体尺寸测量方法可以应用在物体尺寸测量设备上。如图4所示的物体测量场景示意图,物体尺寸测量设备为便携式笔记本,其获得相机采集的深度图像,根据该深度图像来确定物体的尺寸。当然,物体尺寸测量设备并不局限于便携式笔记本,还可以是台式计算机,或者还可以是手机、平板电脑等移动设备。或者,物体尺寸测量设备也可以为相机,即相机采集到深度图像后,自身使用物体尺寸测量方法,来确定物体的尺寸。以下具体说明物体尺寸测量方法的实现过程。
[0053] 见图5,其示出了物体尺寸测量方法的一种流程,具体包括以下步骤S501~S504。
[0054] S501:获得由相机采集的深度图像生成的点云数据。
[0055] 前已述及,相机可以获得深度图像,或者还可以进一步获得由深度图像生成的点云数据。若相机获得的是深度图像,则需要使用点云数据生成方法,根据深度图像生成点云数据。需要说明的是,点云数据生成方法包括多种,以下介绍一种作为示例说明。
[0056] 深度图像是各个像素点的深度值矩阵,该深度值矩阵是二维排列的,二维表示像素点在深度图像中的行数及列数。其中,若相机无法采集到某个像素点的深度值,则将该像素点的深度值设置为特定数值如0。根据相机的内参,计算深度图像中每个像素点的点云坐标,点云坐标为三个维坐标,可以表示为(x,y,z)。
[0057] 具体地,如图6所示,在深度图像中定义UV直角坐标系,深度图像中每一个像素点的像素坐标(u,v)分别表示该像素点在深度图像中的行数及列数。图6中的原点O表示摄像机光轴与深度图像所在平面的交点,原点O在UV直角坐标系中的坐标为(u0,v0),每一个像素点在方向u和方向v上的物理尺寸为dx及dy,相机镜头的焦距为f。通常将u0、v0、f/dx及f/dy称为相机内参。
[0058] 确定深度图像中每个像素点的像素坐标(u,v)及该像素点的深度值z,使用以下公式计算出每个像素点各自对应的x及y,公式为:x=z*(u-u0)*dx/f;y=z*(v-v0)*dy/f。
[0059] 进而,可以确定出深度图像中每个像素点的点云坐标(x,y,z)。
[0060] 需要说明的是,相机采集深度图像时,在背板底座包括多个背板的情况下,相机采集的深度图像包括一个或多个背板。深度图像中的背板用于确定物体在相对该背板方向上的尺寸,想要测量物体几个方向上的尺寸,则深度图像包括相应个数的背板。
[0061] 以图3所示的物体测量装置为例,若想要测量物体在三个方向上的尺寸,则深度图像中需要包括背板底座上的三个背板。或者,相机可以并非在一个拍摄角度上拍摄获得多个背板的深度图像,还可以在多个不同的拍摄角度上获得不同背板的深度图像。另外,深度图像中的背板并不一定为全部的背板,只要可以采集到背板的至少三个像素点即可。
[0062] 深度图像中包含多少个背板,则生成的点云数据中会包含相应数量背板的点云数据。
[0063] S502:依据深度图像的点云数据,拟合背板平面。
[0064] 其中,拟合背板平面时,可以首先从深度图像中确定出背板所在的区域,根据背板区域中的像素点的点云数据,来拟合背板平面。
[0065] 具体地,深度图像中包含背板、被测物体等各种物体。背板具有特定的属性特征,根据该属性特征,可以从深度图像中确定出背板区域,例如,背板与背板相交处的深度值导数变化较大,因此可以根据该特征,确定出背板的相交线,根据相交线来划分背板区域。需要说明的是,此处确定出的背板区域仅仅是初步确定的背板区域。
[0066] 背板区域包含多个像素点,由于深度图像的点云数据中,每个点云数据均各自对应一个像素点,因此,可以从深度图像的点云数据中,查找背板区域所包含的各个像素点所对应的点云数据。
[0067] 确定出背板区域对应的点云数据后,便可以拟合背板所在的平面。拟合算法可以包含多种,以下提供一种具体的算法作为示例说明。
[0068] 在背板区域对应的点云数据中,选择三个点云数据,将该三个点云数据的点云坐标代入平面方程中,求解出平面方程中的平面参数,根据该平面参数便可以获得背板所在平面的平面方程。其中,为了便于描述,可以背板所在平面称为背板平面,可以将选择的三个点云数据称为种子点云数据。
[0069] 假设三个点云数据的点云坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),将该三个点云坐标代入平面方程Ax+By+Cz+1=0中,便可以得到三个线性方程,求解该三个线性方程组成的方程组,便可以得到三个平面参数A、B及C,从而便可以确定出由平面参数A、B及C组成的平面方程。
[0070] 若深度图像中包含多个背板,则针对每个背板均可以使用上述方法来确定背板所在平面的平面方程。
[0071] 需要说明的是,以上拟合方式是平面方程的一种拟合方式,其他的拟合方式参见下文说明。以上拟合方式仅仅使用了三个像素点的点云数据,来拟合背板的平面方程,该种方式较为简单,但拟合的平面方程的准确度并不稳定,从而可能有些情况下平面方程较为准确,有些情况下平面方程并不准确,这与点云数据的质量等因素较为相关,因此可以进一步依据上述平面方程及其他点云数据,对上述平面方程进行修正,具体地修正方法如下所述。
[0072] 从深度图像的点云数据中选择种子点云数据后,计算种子点云数据之外其他的每个点云数据到背板平面的距离。
[0073] 计算方式为使用点到平面距离公式,即: 其中,d表示点云数据到背板平面的距离;A、B及C为背板平面的平面方程中的平面参数;x、y及z为点云数据的点云坐标。
[0074] 根据去除种子点云数据后的其他点云数据到背板平面的距离,对该其他点云数据进行归类,即确定每个其他点云数据所归属的背板平面。
[0075] 具体地,若其他点云数据到某背板平面的距离小于预设距离值如9mm,则可以确定该其他点云数据属于该背板平面。当然,预设数值并不局限于9mm,可以是根据实际测量总结出的其他数值。需要说明的是,若深度图像中包含多个背板,则其他点云数据到某背板平面的距离小于预设距离值如9mm,但到其他背板平面的距离并不小于预设数据,才确定该其他点云数据属于该背板平面,这样,点云数据的归类更加准确。
[0076] 以上方式可以确定种子点云数据之外的其他点云数据分别属于哪个背板平面。对属于同一背板平面的点云数据,使用平面拟合算法重新拟合该背板平面的平面方程,从而得到修正后的背板平面。其中,平面拟合算法可以是但不局限于最小二乘平面拟合算法。需要说明的是,为了便于区分,修正前的背板平面可以称为第一背板平面,修正后的背板平面可以称为第二背板平面。
[0077] S503:依据拟合出的背板平面,从深度图像的点云数据中,确定被测物体的点云数据。
[0078] 其中,由于相机在拍摄时,除了背板及被测物体,还可能拍摄到其他物体的图像。也就是说,深度图像的点云数据中,不仅包含背板的点云数据及被测物体的点云数据,还可能包含其他物体的点云数据,这些其他物体可以称为背景,其他物体的点云数据即背景的点云数据。因此,需要从深度图像的点云数据中,确定出被测物体的点云数据。
[0079] 确定被测物体的点云数据的一种方式可以是,从深度图像的点云数据中,剔除背板的点云数据及背景的点云数据,这样剩下的点云数据即被测物体的点云数据。
[0080] 其中,确定背板的点云数据时,可以依据点云数据到背板平面的距离。具体地,依据点到平面的距离公式,计算深度图像中的各个点云数据到背板平面的距离。若点云数据到背板平面的距离小于预设距离值,则确定该点云数据为该背板平面的点云数据。
[0081] 确定背景的点云数据时,可以依据背板平面的平面方程,即将深度图像的点云数据的点云坐标(x,y,z)代入至背板平面的平面方程的左部即Ax+By+Cz+1,若计算结果小于预设数值如0,则可以确定该点云数据为背景的点云数据。为了便于描述,Ax+By+Cz+1也可以称为平面方程的平面参数组成的代表式。
[0082] 当然,背板相交处像素点的点云数据会对背板平面的拟合会造成干扰,因此,在确定背板的点云数据及背景的点云数据之前,可以将这些像素点从深度图像的点云数据中去除。具体地,若点云数据到两个或两个以上背板平面的距离均小于预设距离如9mm,则说明该其他点云数据是各个背板相交处的像素点,因此,可以将该点云数据从深度图像的点云数据中去除。
[0083] 在获得背板的点云数据及背景的点云数据后,从深度图像生成的点云数据中,去除以上两者便可以得到被测物体的点云数据。
[0084] 为了更加精确,在去除背板的点云数据及背景的点云数据后,还可以进一步去除离群的点云数据,再得到被测物体的点云数据。离群的点云数据的判断标准为某点云数据的周围并未包含其他的点云数据。周围的标准可以是点云数据的预设大小的圆周范围,预设大小如半径2cm。
[0085] S504:计算被测物体的各个点云数据到背板平面的距离,对各个距离排序后,将预设数量的排序在前的距离的平均值作为物体在相对该背板平面方向上的尺寸。
[0086] 其中,步骤S503得到的物体的点云数据为物体表面各个点的点云数据,该点云数据为多个,计算每个点云数据到背板平面的距离。该距离表示各个物体表面各个点到背板平面的距离,确定各个距离中的最大值,该最大值表示物体在相对该背板平面方向上的尺寸。需要说明的是,此种情况中,被测物体是与背板接触放置的,当然,被测物体也可以不与背板接触放置,在确定以上最大值后,将该最大值减去被测物体与背板之间的距离即可。
[0087] 需要说明的是,相对背板平面的方向并不表示背板平面的方向,而是与背板平面垂直的方向。各个圆点表示被测物体的点云数据,各个点云数据到背板平面的距离不尽相同,最大距离为被测物体在与该背板平面垂直方向上的尺寸。
[0088] 当然,为了更加精确,不将距离中的最大值这一个值确定为物体的尺寸,而是将多个距离进行排序,将排序在前的多个距离的平均值确定为物体的尺寸。也就是说,上述步骤S504中的预设数量可以是一个,也可以是多个。
[0089] 需要说明的是,本实施例中,相机采集到物体相对的背板可以是一个,也可以是多个。若物体相对的背板为多个,则针对每个相对的背板,均可以按照以上方法分别拟合每个背板各自的背板平面,并依据每个背板的背板平面,确定物体在相对每个背板平面方向上的尺寸。可见,物体有多少个背板,便可以确定物体在相同数量方向上的尺寸。例如,图3所示的物体测量装置的背板底座上包括三个背板,则可以测量出物体在三个方向上的尺寸。
[0090] 由以上的技术方案可以看出,本申请提供了一种物体尺寸测量方法。该方法基于包含背板的物体测量装置,物体测量装置中的相机可以采集背板及被测物体的深度图像,该方法根据深度图像的点云数据,拟合出背板平面,并且从深度图像的点云数据中确定出被测物体的点云数据,计算出点云数据到背板平面的距离后,便可以确定出被测物体在相对该背板平面方向上的尺寸。可见,该测量方法中,被测物体的尺寸是以背板平面为基准测量出来的,拟合出的背板平面的准确度较高,因此,被测物体尺寸的误差主要由相机的一个拍摄误差决定,使得尺寸测量结果的准确度更高。
[0091] 另外,本实施例中相机的拍摄角度并非垂直于底面,可以解决被测物体自遮挡的问题,因此可以适用于测量各种形状的被测物体的尺寸,而并非局限于长方体形状的被测物体,也即说明本实施例的应用性较高。
[0092] 以上物体测量方法所测量出的被测物体尺寸可以应用在物流行业中。具体地,由于物体测量装置中,背板底座上各个背板是相互正交的,因此,在测量出被测物体的尺寸后,可以使用该尺寸确定出具有该尺寸的快递盒,该快递盒为能够装下该被测物体的最小的快递盒。
[0093] 需要说明的是,以上实施例中,步骤S501中的深度图像为一帧深度图像,该深度图像中既包括背板,也包括被测物体全貌,因此使用深度图像拟合出背板平面后,也可以在该深度图像中确定被测物体的点云数据。当然,相机可以进行两次拍摄,一次采集背板的深度图像(该深度图像可以称为第一深度图像),一次采集被测物体全貌的深度图像(该深度图像可以称为第二深度图像)。这样,可以从背板的深度图像拟合出背板平面,再从被测物体的深度图像中,根据拟合出的背板平面确定被测物体的点云数据。该种分开确定的方式中,背板的深度图像中包含的背板的点云数据更多,因此拟合出的背板平面更加精确。需要说明的是,两个深度图像是相机在相同拍摄角度下采集的深度图像。另外,从以上实施例中可以看出,第一深度图像及第二深度图像可以是同一张深度图像。
[0094] 以上实施例中,步骤S501之后可以包括对点云数据的选择步骤,即选择出精确度较高的点云数据执行步骤S502及后续步骤。具体地,步骤S501可以获取到多帧深度图像,确定同一像素点在各帧深度图像中的深度值,且计算同一像素点在多帧深度图像中的深度值的平均值。
[0095] 若某像素点在至少两帧深度图像中的深度值为预设数值如0,或者,某像素点在至少两帧深度图像的深度值与平均值之差大于预设差值如3mm,则将该像素点的点云数据从深度图像生成的点云数据中剔除。这样,可以提高点云数据的质量,从而进一步提高物体测量结果的准确度。
[0096] 在实际应用中,由于物体的材质、颜色、光线等因素,可能导致相机采集的深度图像中,物体的点云数据缺失或者质量不高,例如物体表面为黑色、表面反光或者透明的情况下,相机便无法采集到物体的深度图像。因此,可以将物体从深度图像中抠出生成空洞后,计算空洞边缘点到背板平面的距离,将空洞对应的最大距离与物体的点云数据到背板平面的最大距离进行比较,根据比较结果,确定物体的尺寸。
[0097] 具体地,见图7,其示出了本申请提供的物体尺寸测量方法另一实施例的流程。
[0098] S701:获得由相机采集的深度图像生成的点云数据。
[0099] S702:依据深度图像的点云数据,拟合背板平面,并依据拟合出的背板平面,从深度图像的点云数据中,确定被测物体的点云数据。
[0100] 需要说明的是,以上步骤的说明请参见图5中有关步骤S501~S503的说明,此处并不赘述,以下仅说明与图5所示实施例的不同步骤。
[0101] S703:依据被测物体的点云数据,从深度图像的点云数据中,确定与被测物体相连通的且特征值异常的点云数据,并根据确定出的点云数据及被测物体的点云数据,在深度图像中,抠出空洞。
[0102] 其中,被测物体的每个点云数据各自对应一像素坐标,根据像素坐标,可以在深度图像的点云数据中,确定出被测物体的像素点。深度图像的点云数据中,有些点云数据表示的像素点与被测物体的像素点是连通的。另外,点云数据具有特征值如深度值,有些点云数据的特征值属于异常特征值,如深度值为0或其他异常数值。
[0103] 在步骤S701获得的深度图像的点云数据中,查找出点云数据与被测物体连通且点云数据的特征值异常的点云数据,查找出的点云数据是相机采集到的可能属于物体的且质量较差的点云数据。为了便于说明,这些点云数据可以被称为目标点云数据。
[0104] 例如图8A所示,被测物体为圆柱形杯子,步骤S701中相机采集到的深度图像中,杯口的圆形边缘的深度值为0,即图示中的虚线区域,该部分区域表示相机并未采集到被测物体的这些点。
[0105] 需要说明的是,本步骤查找出的点云数据为相机未成功采集到的被测物体的点云数据,步骤S702计算出的被测物体的点云数据为根据深度图像所确定出的被测物体的点云数据。查找出的这些点云数据后与步骤S702中计算出的被测物体的点云数据,可以更加精确地表示被测物体的形状。如图8A所示,除了虚线部分,杯子的其他部分为步骤S702所确定出的杯子的点云数据组成的区域。
[0106] 确定出以上两部分点云数据后,在深度图像中,抠出该两部分点云数据所表示的区域,从而形成空洞。具体地,可以将该两部分点云数据对应的深度值设置为预设数值如0或极大值等,这样,深度图像中在背板相交处便会形成一个深度值为预设数值的连通区域,该连通区域为空洞。如图8B所示的一个空洞的示意图,被测物体为洗手液瓶,该空洞为洗手液瓶的空洞。
[0107] S704:确定空洞的边缘点,计算各个边缘点到背板平面的第一距离,确定各个第一距离中的最大值,并计算被测物体的各个点云数据到背板平面的第二距离,确定各个第二距离中的最大值。
[0108] 其中,空洞的边缘点,为深度图像中,深度值为非预设数值如0且临近预设数值的像素点,且该像素点是空洞落在背板平面上的像素点。查找到空洞的边缘点后,利用点到平面的距离公式,计算边缘点到背板平面的距离,并确定各个距离中的最大值。为了便于区分,可以将边缘点到背板平面的距离称为第一距离。
[0109] 另外,如上所述,步骤S702可以确定出的被测物体的各个点云数据,计算该各个点云数据到背板平面的距离,该距离可以称为第二距离,并查找各个第二距离中的最大值。
[0110] S705:计算第一距离中的最大值与第二距离中的最大值的差值。
[0111] 其中,差值可以具体为前者减去后者的差值。
[0112] S706:若第一距离中的最大值与第二距离中的最大值的差值在第一预设差值范围内,则确定测量出错。
[0113] 其中,第一距离中的最大值表示空洞边缘点到背板平面的最大距离,第二距离为被测物体到背板平面的最大距离。可以理解的是,空洞是由于被测物体被遮挡后形成的区域,该区域的边缘点到背板的距离并不会比物体到背板的距离大,因此,若第一距离中的最大值与第二距离中的最大值的差值大于0,则表示测量出错,或者可以进一步提示被测物体为拒测物体。
[0114] 当然,为了规避误差,可以预先设置差值范围,预设差值范围为大于某阈值(第一)的范围,例如大于5mm的范围。若第一距离中的最大值与第二距离中的最大值的差值在该预设差值范围,则确定测量出错。为了便于描述,可以将该差值范围称为第一预设差值范围。
[0115] S707:若第一距离中的最大值与第二距离中的最大值的差值在第二预设差值范围内,则依据第一距离确定被测物体在相对背板平面方向上的尺寸。
[0116] 其中,第二预设差值范围可以是第二阈值到上述第一阈值之间的范围,如0-5。若差值在该预设差值范围内,则表示物体的点云数据质量较差,从而可以依据空洞的尺寸确定被测物体的尺寸,例如,可以将第一距离中的最大值确定为被测物体的尺寸,或者将各个第一距离排序,将排序在前的预设数量的第一距离的平均值确定为被测物体的尺寸。
[0117] S708:若第一距离中的最大值与第二距离中的最大值的差值在第三预设差值范围内,则依据第二距离确定被测物体在相对背板平面方向上的尺寸。
[0118] 其中,第三预设差值范围可以是小于第二阈值的范围,如小于0的范围。若差值在该预设差值范围内,则表示物体的点云数据质量较好,从而可以依据物体的点云数据确定被测物体的尺寸,例如,可以将第二距离中的最大值确定为被测物体的尺寸,或者将第二距离排序,将排序在前的预设数量的第二距离的平均值确定为被测物体的尺寸。
[0119] 需要说明的是,本实施例中的第一预设差值范围、第二预设差值范围及第三预设差值范围中的“第一”、“第二”及“第三”仅仅是为了区分说明,当然,也可以将步骤S708中的第三预设差值范围称为第一预设差值范围,其他两个预设差值范围分别称为第二预设差值范围及第三预设差值范围。
[0120] 由以上技术方案可知,图7所示的物体尺寸测量方法实施例,在相机采集的深度图像出现较多异常像素点的情况下,还可以使用空洞技术,来测量物体的尺寸,从而提高了物体尺寸测量方法的应用性。
[0121] 需要说明的是,本实施例中的深度图像包括多个背板的情况下,对于每个背板,均可以按照上述方法,计算物体在相对该背板平面方向上的尺寸。
[0122] 为了进一步提高物体测量精度,还可以在物体测量装置上添加超声探头,将以上利用深度图像的测量物体尺寸的方法与利用超声波测量物体尺寸的方法进行结合。
[0123] 如图9A所示,可以在朝向被测物体的方向设置超声探头,超声探头可以向被测物体发射超声波。因此,如图10所示的物体尺寸测量方法又一实施例的部分流程。
[0124] 步骤S1001:获得背板到背板对面超声探头的距离,并获得背板对面探头发射的超声波所测量的距离,将前者减去后者便可以获得物体在相对该背板的平面方向上的尺寸。
[0125] 其中,背板对面探头发射的超声波所测量的距离即物体表面到该超声探头的距离。将背板到背板对面的超声探头的距离,减去超声探头所测量的距离,便可以得到物体在相对该背板平面方向上的尺寸。例如,超声探头距离对面背板的距离为700mm,通过超声探头测量出超声探头到对面背板的距离为500mm,则物体在该超声探头方向上的尺寸为200mm。
[0126] 需要说明的是,由于超声波只能测量若干数量的点到超声探头的距离,因此本实施例主要应用在测量长方体形状的物体的场景中。若物体为非长方体形状,如图9B所示,可以设置挡板,挡板与被测物体紧靠,这样,超声探头测量的距离便是到挡板的距离,由于挡板与被测物体紧靠,则超声探头所测量的距离便是物体表面到超声探头的距离,从而解决了无法测量非长方体形状的物体的问题。
[0127] 本步骤获得尺寸是基于超声波测量出的尺寸,因此可以称为超声尺寸。
[0128] 步骤S1002:获得所确定出被测物体相对以上背板平面方向上的尺寸。
[0129] 需要说明的是,该尺寸可以是使用上述任意一个实施例测量出的尺寸。该尺寸是基于深度图像测量出的尺寸,因此可以称为深度尺寸。
[0130] 步骤S1003:判断超声尺寸与深度尺寸的差值是否在预设差值范围内。
[0131] 其中,可以根据多次测量结果,总结经验值。经验值表示两者在多大的差值范围内是准确的,则将该经验值作为预设差值范围。
[0132] 步骤S1004:若超声尺寸与深度尺寸的差值在预设差值范围内,则将超声尺寸或深度尺寸作为物体在相对该背板平面方向上的尺寸。
[0133] 其中,超声尺寸与深度尺寸的差值在预设差值范围内,则可以将任意一个尺寸作为测量的物体的尺寸。
[0134] 步骤S1005:若超声尺寸与深度尺寸的差值未在预设差值范围内,则判断深度图像中点云数据的质量是否满足预设点云质量要求。
[0135] 其中,可以预先设置点云质量要求,如点云数据中深度值为0的占总点云数据的比值。
[0136] 步骤S1006:若质量满足预设质量要求,则将深度尺寸确定为物体在相对该背板平面上的尺寸。
[0137] 步骤S1007:若质量并未满足预设质量要求,则将超声尺寸确定为物体在相对该背板平面上的尺寸。
[0138] 由以上技术方案可知,本实施例提供的物体尺寸测量方法,将超声测量的尺寸与使用深度图像获得的尺寸结合,将两个测量结果进行比较,只有在两者较为接近的情况下,才将两者中的任意一个作为物体的尺寸,若两者并不接近,则根据点云质量情况,来确定使用哪个尺寸作为物体的尺寸。本实施例所获得的物体尺寸准确度更高。
[0139] 本申请还提供了一种物体尺寸测量装置,包括:支架、背板底座及相机;其中:背板底座包括背板,相机固定在支架上;
[0140] 相机用于采集包含被测物体相对的背板的深度图像以及采集包含被测物体的深度图像,将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含被测物体的深度图像确定为第二深度图像;以及执行上述任意一种物体尺寸测量方法。
[0141] 以上物体尺寸测量装置中,相机可以实现采集深度图像及计算物体尺寸。当然,相机还可以仅执行深度图像采集动作,物体尺寸的计算由物体尺寸测量设备执行。物体尺寸测量设备可以是任意具有计算功能的设备,如便携式计算机、平板电脑、台式计算机等。
[0142] 见图11,本申请还提供了物体尺寸测量系统,包括支架、背板底座、相机及物体尺寸测量设备;其中:背板底座包括背板,相机固定在支架上。
[0143] 相机,用于采集包含被测物体相对的背板的深度图像以及采集包含被测物体的深度图像,并将包含被测物体相对的背板的深度图像及包含被测物体的深度图像发送至物体尺寸测量设备;其中,发送方式可以是无线或者有线方式。
[0144] 物体尺寸测量设备,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,并将包含被测物体的深度图像确定为第二深度图像;以及执行上述任意一种物体尺寸测量方法。
[0145] 见图12,本申请还提供了一种相机,包括图像采集器及处理器。
[0146] 图像采集器,用于采集包含被测物体相对的背板的深度图像以及采集包含被测物体的深度图像;以及将包含被测物体相对的背板的深度图像及包含被测物体的深度图像发送至处理器;
[0147] 处理器,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含被测物体的深度图像确定为第二深度图像;以及执行上述任意一种物体尺寸测量方法。
[0148] 见图13,本申请还一种物体尺寸测量设备,包括通信接口及处理器。
[0149] 通信接口,用于接收包含被测物体相对的背板的深度图像及包含被测物体的深度图像;
[0150] 处理器,用于将包含被测物体相对的背板的深度图像确定为第一深度图像,将包含被测物体的深度图像确定为第二深度图像;以及执行上述任意一项的物体尺寸测量方法。
[0151] 需要说明的是,本申请中包含被测物体相对的背板的深度图像与包含被测物体的深度图像可以是一张深度图像,也可以是不同的深度图像。若为一张深度图像,则表示相机的采集动作为一次。
[0152] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0153] 还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0154] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。