一种基于点云的物体追踪检测方法及系统
技术领域
本申请涉及自主物流领域,尤其涉及一种基于点云的物体追踪检测方法及系统。
背景技术
现代物流企业通常采用自主物流系统,物体一般由机器人操作管理。在某些场景中,机器人可能需要将一组物体加载至给定的工作空间中。但每当一个物体被放置到工作空间中,它将影响现有的结构,并且可能导致一些现有的箱子移动。由一个运动引起的空间变化可以从一个微小的变化,如位置转移到一个实质性的变化,如结构倾倒。因此,机器人在空间变化前后对物体进行检测并追踪是至关重要的。
通常来说,机器人使用其深度传感器来感知环境,这些传感器生成传感器可见的环境点云。这种做法往往不够精确和不完整。由于现场限制,将传感器安装在所需位置以获得工作空间的完整观察通常也是不可行的。环境噪音或硬件的限制也会造成传感器数据的不精确性。
现有技术通过假设保留一些结构特性如稳定性来从点云重建三维结构。但是,从这些方法获得的结构并不一定反映现实。而关于负荷情景下的物体追踪方法,更是少之又少,特别是当存在实质性的空间变化并且两次连续观测之间存在显着的时间差时。此外,如果物体具有相同的尺寸和相似的外观,也就是感知上难以区分的对象,随着时间的推移,物体变得更加难以跟踪。
发明内容
有鉴于此,本申请提出一种基于点云的物体追踪检测方法及系统,实现了对物体在工作空间发生实质性变化或连续观测时间存在明显时间差等情况下的追踪;并通过唯一标识符实现了对感知上难以区分的物体的识别,进一步增强自主物流系统中物体检测和追踪的效率。
基于上述目的,本申请提出了一种基于点云的物体追踪检测方法,包括:
步骤一,获取被放置到工作区域的新增物体的ID及其姿态数据;
步骤二,获取所述新增物体被放置之前,工作区域内的全部物体的原始集合,所述原始集合包括工作区域内物体的ID及其姿态数据;
步骤三,获取所述新增物体被放置之后的工作区域内的框体集合,所述框体集合包括所述工作区域内检测到的框体ID及其姿态数据;
步骤四,将所述新增物体及所述原始集合通过预设模型关联至所述框体集合,从而对所述工作区域内物体进行追踪。
在一些实施例中,将所述新增物体及原始集合通过预设模型关联至所述框体集合,包括:通过预设模型确定新增物体及原始集合中的每个物体与所述框体集合中每个框体的对应关系。
在一些实施例中,所述预设模型如下:
所述新增物体表示为bp,所述原始集合表示为Bexisting,设集合Bbefore=Bexisting∪{bp},bi∈Bbefore,其中集合元素bi是由每个物体的ID及其姿态数据组成的多元数组;所述框体集合为Bafter,bj∈Bafter,其中集合元素bj是由每个框体的ID及其姿态数据组成的多元数组;
则所述新增物体及原始集合至所述框体集合的关联表示为A:
Bbefore→Bafter
其中,m
i指的是第i个关联中一个物体的质量,P、D、S代表能够引起所述工作区域发生实质性空间变化的物理量,设c
i是b
i的几何中心,c
j是b
j的几何中心,物体的位移
则:Pi=gΔh
Di=aΔd
其中,g、a、k是三个实数常量,Δh是指
的垂直分量的大小,Δd是指
的非垂直分量的大小,Δs
j是指物体从与另一个物体的交点移开的最小平移向量的大小;
当所述关联A使所述
最小化时,获得B
before中的物体b
i与B
after中框体b
j的对应关系,进而实现追踪。
在一些实施例中,所述步骤三中,当所述新增物体被放置所述工作区域后,采集当前工作区域的点云数据,通过预设算法处理所述点云数据,从而形成所述框体集合。
在一些实施例中,所述预设算法包括首先使用区域生长方法来分割所述点云数据,再通过RANSAC算法从分割中获取曲面,在获取所述曲面的列表后,将所述曲面组合起来以形成框体。
在一些实施例中,所述姿态数据为代表物体位置和方向的六元组。
本申请还提供了一种基于点云的物体追踪检测系统,包括:
新增物体特征获取模块,用于获取被放置到工作区域的新增物体的ID及其姿态数据;
原始集合特征获取模块,用于获取所述新增物体被放置之前,工作区域内的全部物体的原始集合,所述原始集合包括工作区域内物体的ID及其姿态数据;
框体特征获取模块,用于获取新增物体被放置之后的工作区域内物体的框体集合,所述框体集合包括所述工作区域内物体的ID及其姿态数据;
关联追踪模块,用于将所述新增物体及所述原始集合通过预设模型关联至所述框体集合,从而对所述工作区域内物体进行追踪。
在一些实施例中,所述预设模型如下:
所述新增物体表示为bp,所述原始集合表示为Bexisting,设集合Bbefore=Bexisting∪{bp},bi∈Bbefore,其中集合元素bi是由每个物体的ID及其姿态数据组成的多元数组;所述框体集合为Bafter,bj∈Bafter,其中集合元素bj是由每个框体的ID及其姿态数据组成的多元数组;
则所述新增物体及原始集合至所述框体集合的关联表示为A:
Bbefore→Bafter
其中,m
i指的是第i个关联中一个物体的质量,P、D、S代表能够引起所述工作区域发生实质性空间变化的物理量,设c
i是b
i的几何中心,c
j是b
j的几何中心,物体的位移
则:Pi=gΔh
Di=aΔd
其中,g、a、k是三个实数常量,Δh是指
的垂直分量的大小,Δd是指
的非垂直分量的大小,Δs
j是指物体从与另一个物体的交点移开的最小平移向量的大小;
当所述关联A使所述
最小化时,获得B
before中的物体b
i与B
after中框体b
j的对应关系,进而实现追踪。
在一些实施例中,所述框体特征获取模块中,当所述新增物体被放置所述工作区域后,采集当前工作区域的点云数据,通过预设算法处理所述点云数据,从而形成所述框体集合。
在一些实施例中,所述预设算法包括首先使用区域生长方法来分割所述点云数据,再通过RANSAC算法从分割中获取曲面,在获取所述曲面的列表后,将所述曲面组合起来以形成框体。
本申请实施例提供了一种基于点云的物体追踪检测方法,获取被放置到工作区域的新增物体的ID及其姿态数据,将所述ID和所述姿态数据设为bp;获取所述新增物体被放置之前,工作区域内的全部物体的原始集合,将所述原始集合设定为Bexisting,其中所述原始集合包括工作区域内物体的ID及其姿态数据;获取所述新增物体被放置之后的工作区域内物体的框体集合,将所述框体集合设为Bafter,其中所述框体集合包括所述工作区域内物体的ID及其姿态数据;假设Bbefore=Bexisting∪{bp},通过预设模型解决了Bbefore与Bafter之间的数据关联,获得物体的对应关系,进而实现了对工作区域中物体在空间变化前后的追踪。
本申请实施例的基于点云的物体追踪检测方法,通过采集预设时间点的工作区域的点云来获取物体的姿态数据,其中包括首先使用区域生长法将所述点云数据进行分割,再使用RANSAC算法从分割中获取曲面,然后将曲面组合起来以形成框体,基于框体输出工作区域内物体的姿态数据和ID。若分别采集两个时间点的工作区域的点云,经数据处理后,将这两个时间点的姿态数据和ID通过预设模型来确定每个框体的对应关系,就能够观察物体在这两个时间点的位置和方向的变化,进而实现对物体的追踪检测。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例一的一种基于点云的物体追踪检测方法的流程图。
图2是本申请实施例一的一种基于点云的物体追踪检测系统的示意图。
图3是本申请实施例二的一种基于点云的物体追踪检测系统的流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例
如图1所示,是本申请实施例的基于点云的物体追踪检测方法的流程图,步骤一,获取被放置到工作区域的新增物体的ID及其姿态数据;步骤二,获取所述新增物体被放置之前,工作区域内的全部物体的原始集合,所述原始集合包括工作区域内物体的ID及其姿态数据;步骤三,获取所述新增物体被放置之后的工作区域内的框体集合,所述框体集合包括所述工作区域内检测到的框体ID及其姿态数据;步骤四,将所述新增物体及所述原始集合通过预设模型关联至所述框体集合,从而对所述工作区域内物体进行追踪。通过预设模型来确定新增物体及原始集合中的每个物体与所述框体集合中每个框体的对应关系。
其中,物体的姿态和ID数据用B={b/(p,id)}来表示,p表示物体的姿态,为物体位置和方向的六元组,ID作为物体的唯一标识符,可以获取特定物体的详细信息,如重量,承载能力等。
假设在一个工作区域内将有第u个物体作为新增物体被放置进去。本申请实施例将采集工作区域在两个状态下的点云数据,一个是所述第u个物体被放置之前的状态,称为T1状态;另一个是所述第u个物体被放置之后的状态,称为T2状态。通过传感器采集T2状态下工作区域的点云数据,采集到点云数据之后,首先使用区域生长法将所述点云数据进行分割,再使用RANSAC算法从分割中获取曲面,然后将曲面组合起来以形成框体,进而获取T2状态下工作区域内全部框体的姿态数据和ID,称为框体集合,设为Bafter;通过传感器采集T1状态下工作区域的点云数据,采用上述相同的处理方法获取T1状态下工作区域内全部物体的姿态数据和ID,称之为原始集合,设为Bexisting。而所述第u个物体在被放置之前已经由预先计算的放置计划给出了的姿态数据,将所述第u个物体的姿态数据和ID设为bp。
由于第u个物体的放入,工作区域内的空间会发生相应的变化,导致工作区域内物体的位置和方向也会随之变化,那么物体的姿态数据也会发生变化。假设Bbefore=Bexisting∪{bp},工作区域内有一个物体x,由于第u个物体的放入引起了工作区域的空间变化,导致所述物体x产生了位移。所述物体x在Bbefore中有一组姿态和ID的集合数据,在框体集合Bafter中也有一组姿态和ID的集合数据,如果解决了所述物体x在Bbefore与Bafter中的数据关联,也即是将所述物体x的这两组数据对应起来,就可以检测到物体x从第u个物体放入之前到放入之后的位置和方向的变化,进而实现了对所述物体x的追踪。
而对于第u个物体来说,在被放入的时候已经由预先计算的放置计划给出姿态数据,并将所述第u个物体的姿态数据和ID设为bp,由于Bbefore=Bexisting∪{bp},Bafter是代表所述第u个物体被放入之后工作区域内全部物体的ID和姿态数据,故一定包括所述第u个物体在内。将bp通过预设模型在Bafter中确定出与之对应的关联数据,也即是完成了对第u个物体的追踪。当第u+1个物体被放入时,所述第u个物体就已经存在于所述工作区域内,所述第u个物体的姿态和ID数据就属于相对于所述第u+1个物体来说的一个新的原始集合,接下来便用相同的方法进行追踪,以此类推。
假设在第u个物体被放入之前,工作区域内有y个物体,那么原始集合将获取y组数据,框体集合将获取y+1组数据,其中每组数据包括物体的姿态和ID数据。若将每一个物体在Bbefore的数据与在框体集合中的数据一一对应起来,就能观测到每一个物体的位置和方向的变化情况,进而实现对物体在空间发生变化下的追踪。
令bi∈Bbefore,bi代表由每个物体的ID及其姿态数据组成的多元数组;令bj∈Bafter,bj代表由每个框体的ID及其姿态数据组成的多元数组;主要问题是解决Bbefore和Bafter之间的数据关联,确定从bi到bj的对应关系,则所述新增物体及原始集合至所述框体集合的关联表示为A:Bbefore→Bafter
其中,mi指的是第i个关联中一个物体的质量,P、D、S代表能够引起所述工作区域发生实质性空间变化的物理量
设c
i是b
i的几何中心,c
j是b
j的几何中心,物体的位移
则:Pi=gΔh
Di=aΔd
其中,g、a、k是三个实数常量,Δh是指
的垂直分量的大小,Δd是指
的非垂直分量的大小,Δs
j是指物体从与另一个物体的交点移开的最小平移向量的大小,当所述关联A使所述
最小化时,获得B
before中的物体b
i与B
after中框体b
j的对应关系,进而实现追踪。
具体地,在一个应用例中,如图2所示。按照箭头所示的逆时针方向看,图2显示了工作区域内可能存在的四种状态。假设工作区域内已有5个盒子,第6个盒子即将被放入所述工作区域。第6个盒子的放入会引起所述工作区域的空间发生变化,导致盒子的位置和方向发生变化,如由于第6个盒子的放入,可能会对第4、5个盒子造成挤压,导致盒子发生脱落。从盒子开始脱落到完全脱落至工作区域的地面上是有一个内部的变化结构,肉眼无法观测到。本发明解决了观察前一刻和观察这一刻所获得的数据之间的关联,将所述这一刻获得的数据与所述前一刻获得数据进行一一对应,进而完成对盒子的追踪。追踪结果可以很好地显示出盒子在两个数据采集时刻的变化,包括位置和方向的变化等。由于第6个盒子的放入,导致第4、5个盒子滑落至地面(图未示)或者正在向下滑落,尚且没有表现出明显可见的位移(如图2中的3所示)。那么,通过本发明提供的算法模型,可以观察到工作区域内第4、5个盒子的位置和方向变化,进而将正在滑落的第4、5个盒子恢复原位,避免滑落事件的发生。
实施例2
如图3所示,是本申请实施例的基于点云的物体追踪检测系统的流程图。新增物体特征获取模块,用于获取被放置到工作区域的新增物体的ID及其姿态数据;原始集合特征获取模块,用于获取所述新增物体被放置之前,工作区域内的全部物体的原始集合,所述原始集合包括工作区域内物体的ID及其姿态数据;框体特征获取模块,用于获取新增物体被放置之后的工作区域内物体的框体集合,所述框体集合包括所述工作区域内物体的ID及其姿态数据;关联追踪模块,用于将所述新增物体及所述原始集合通过预设模型关联至所述框体集合,从而对所述工作区域内物体进行追踪。
其中,物体的姿态和ID数据用B={b/(p,id)}来表示,p表示物体的姿态,为物体位置和方向的六元组,ID作为物体的唯一标识符,可以获取特定物体的详细信息,如重量,承载能力等。
假设一个工作区域将有第u个物体作为新增物体被放入,本实施例通过新增物体特征获取模块,获取所述第u个物体的ID和姿态数据,设为bp,其中所述姿态数据由预先计算的放置计划给出,通过原始集合特征获取模块获取第u个物体放进去之前的工作区域内全部物体的原始集合,所述原始集合包括工作区域内物体的ID及其姿态数据,所述原始集合的获取步骤如下:通过安装的传感器采集工作区域的点云数据,采集到点云数据之后,首先使用区域生长法将所述点云数据进行分割,再使用RANSAC算法从分割中获取曲面,然后将曲面组合起来以形成框体,基于框体获取所述原始集合,并将所述原始集合设为Bexisting;通过框体特征获取模块获取第u个物体被放置之后的工作区域内物体的框体集合,所述框体集合包括所述工作区域内物体的ID及其姿态数据,设为Bafter,所述框体集合的获取方法与所述原始集合相同,这里不再赘述。
第u个物体的放入会引起所述工作区域内空间的变化,也可能会导致所述工作区域内物体发生位移变化,为追踪所述物体的动态变化,需要解决所述工作区域内全部物体在空间变化前后的数据关联。令bi∈Bbefore,bi代表由每个物体的ID及其姿态数据组成的多元数组;令bj∈Bafter,bj代表由每个框体的ID及其姿态数据组成的多元数组;也即是说,假设Bbefore=Bexisting∪{bp},通过关联追踪模块要解决Bbefore和Bafter之间的数据关联,确定从bi到bj的对应关系。所述工作区域内的全部物体在Bbefore和Bafter这两个集合中都有各自的集合数据,如果能够将Bbefore和Bafter之间代表同一个物体的数据相互对应起来,就能够实现对所述工作区域内每一个物体的追踪,追踪所述每一个物体在空间变化前后的位置和方向变化。
主要问题是通过关联追踪模块要解决Bbefore和Bafter之间的数据关联,确定从bi到bj的对应关系。所述新增物体及原始集合至所述框体集合的关联表示为A:Bbefore→Bafter,
其中,mi指的是第i个关联中一个物体的质量,P、D、S代表能够引起所述工作区域发生实质性空间变化的物理量
设c
i是b
i的几何中心,c
j是b
j的几何中心,物体的位移
则:Pi=gΔh
Di=aΔd
其中,g、a、k是三个实数常量,Δh是指
的垂直分量的大小,Δd是指
的非垂直分量的大小,Δs
j是指物体从与另一个物体的交点移开的最小平移向量的大小,当所述关联A使所述
最小化时,获得B
before中的物体b
i与B
after中框体b
j的对应关系,进而实现追踪。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。