CN114332219B - 一种基于三维点云处理的托盘定位方法及装置 - Google Patents

一种基于三维点云处理的托盘定位方法及装置 Download PDF

Info

Publication number
CN114332219B
CN114332219B CN202111608692.4A CN202111608692A CN114332219B CN 114332219 B CN114332219 B CN 114332219B CN 202111608692 A CN202111608692 A CN 202111608692A CN 114332219 B CN114332219 B CN 114332219B
Authority
CN
China
Prior art keywords
point cloud
tray
determining
pallet
clouds
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.)
Active
Application number
CN202111608692.4A
Other languages
English (en)
Other versions
CN114332219A (zh
Inventor
赵鹏
刘伟
徐斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jike Science and Technology Co Ltd
Original Assignee
Jike Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jike Science and Technology Co Ltd filed Critical Jike Science and Technology Co Ltd
Priority to CN202111608692.4A priority Critical patent/CN114332219B/zh
Publication of CN114332219A publication Critical patent/CN114332219A/zh
Application granted granted Critical
Publication of CN114332219B publication Critical patent/CN114332219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种基于三维点云处理的托盘定位方法及装置,涉及托盘定位技术领域,主要目的在于提高托盘定位的计算效率;主要技术方案包括:将托盘的点云数据中对应于托盘的托盘立柱面所在平面的点云选取为感兴趣点云,托盘立柱面为叉车对所述托盘的可叉取面;确定感兴趣点云中对应于所述托盘边缘的边缘点云以及不对应于所述托盘边缘的内部点云;基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云;基于所述托盘目标点云,确定所述托盘的定位信息。

Description

一种基于三维点云处理的托盘定位方法及装置
技术领域
本发明涉及托盘定位技术领域,特别是涉及一种基于三维点云处理的托盘定位方法及装置。
背景技术
随着科技的发展,工业自动化应用而生,为降低人力劳动成本,仓储环境下通常采用AGV叉车等智能搬运设备进行搬运货物。AGV叉车等智能搬运设备搬运的是用于放置货物的托盘。托盘盛放物品,再通过AGV叉车等智能搬运设备将托盘托起,搬运到相应位置。
AGV叉车等智能搬运设备的工作重点在于,如何获取托盘在空间中的位置,以指导AGV到达该位置完成货物搬运。目前,定位托盘在空间上的位置方法包括三维点云处理技术。三维点云处理技术,由于点云数据量较大,计算效率较低,很难满足工业应用的实时性要求。
发明内容
有鉴于此,本发明提出了一种基于三维点云处理的托盘定位方法及装置,主要目的在于提高托盘定位的计算效率。
为了达到上述目标,主要采用了如下技术方案:
第一方面,本发明提供了一种基于三维点云处理的托盘定位方法,该方法包括:
将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,其中,所述托盘立柱面为叉车对所述托盘的可叉取面;
确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云;
基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;
对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云;
基于所述托盘目标点云,确定所述托盘的定位信息。
第二方面,本发明提供了一种基于三维点云处理的托盘定位装置,该装置包括:
选取单元,用于将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,其中,所述托盘立柱面为叉车对所述托盘的可叉取面;
第一确定单元,用于确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云;
第一处理单元,用于基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;
第二处理单元,用于对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云;
第二确定单元,用于基于所述托盘目标点云,确定所述托盘的定位信息。
第三方面,本发明提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的基于三维点云处理的托盘定位方法。
第四方面,本发明提供了一种存储管理设备,所述存储管理设备包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于运行所述程序以执行第一方面所述的基于三维点云处理的托盘定位方法。
借由上述技术方案,本发明提供的基于三维点云处理的托盘定位方法及装置,当托盘需要搬运时,将托盘的点云数据中对应于托盘的托盘立柱面所在平面的点云选取为感兴趣点云。确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于边缘的内部点云,基于边缘点云的数量对内部点云进行体素滤波处理,将边缘点云和体素滤波处理后的内部点云提取为关键点点云。对关键点点云和托盘模板点云进行配准处理得到托盘目标点云,并基于托盘目标点云,确定托盘的定位信息。可见,本发明提供的方案中仅将托盘立柱面所在平面的点云选取为感兴趣点云,并将感兴趣点云中的非托盘边缘的点云进行了体素滤波处理,减少了用于托盘定位的点云数量。由于托盘定位所用点云数量减少,因此能够提高托盘定位的计算效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的一种基于三维点云处理的托盘定位方法的流程图;
图2示出了本发明另一个实施例提供的一种托盘的示意图;
图3示出了本发明一个实施例提供的一种基于三维点云处理的托盘定位装置的结构示意图;
图4示出了本发明另一个实施例提供的一种基于三维点云处理的托盘定位装置的结构示意图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
随着科技的发展,工业自动化应运而生,为降低人力劳动成本,仓储环境下通常采用AGV叉车等智能搬运设备进行搬运货物。AGV叉车等智能搬运设备搬运的是用于放置货物的托盘。托盘盛放物品,再通过AGV叉车等智能搬运设备将托盘托起,搬运到相应位置。
AGV叉车等智能搬运设备的工作重点在于,如何获取托盘在空间中的位置,以指导AGV到达该位置完成货物搬运。目前,获取托盘在空间上的位置的方法包括:采用基于三维点云的方法定位托盘,此种方式由于点云数据量较大,导致计算效率较低,很难满足工业应用的实时性要求。
可见,现有的托盘定位的方法存在上述中所提及的计算效率较低的问题,因此,针对上述挑战性问题,本发明实施例提出了一种基于三维点云处理的托盘定位方法及装置,以提高托盘定位的计算效率。下面对本发明实施例提出的基于三维点云处理的托盘定位方法及装置进行具体说明。
如图1所示,本发明实施例提供了一种基于三维点云处理的托盘定位方法,该方法主要包括:
101、将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云。
本发明实施例提出的托盘定位方法用于定位出仓储环境中的托盘,以辅助AGV叉车等智能搬运设备准确的搬运托盘。
在实际应用中,3D相机安装于AGV叉车等智能搬运设备上,该3D相机具有采集点云数据的功能。当智能搬运设备到达固定位置时,向上位机软件系统发起请求,然后上位机软件系统控制3D相机进行拍照,获取托盘的三维点云数据。需要说明的是,固定位置判定为,智能搬运设备与托盘之间的距离不小于预设距离阈值时,判定智能搬运设备达到固定位置。
在获取场景点云数据后,为了减少托盘定位的计算量,则仅将场景点云数据中对应于托盘的托盘立柱面所在平面的点云选取为感兴趣点云。托盘立柱面为叉车对所述托盘的可叉取面,是智能搬运设备上的叉子需要操作的面,其对定位托盘起着重要作用,因此仅将托盘立柱面所在平面的点云选取为感兴趣点云。如图2所示,20为托盘,阴影对应的A面即为托盘立柱面。
下面对选取感兴趣点云的具体方法进行说明,该方法包括如下步骤一至步骤四:
步骤一,对所述点云数据进行平面分割提取,得到多个平面。
在进行平面分割提取时,可采用pcl::SACSegmentation(采样一致性分割算法)进行平面分割提取,得到多个平面。
进一步的,为了减少点云数据的体量,提高托盘定位的计算效率,则在对点云数据进行平面分割提取时,可先对点云数据进行体素滤波处理,以减少点云数据中点云的数量。
步骤二,确定各所述平面在相机深度方向的值。
相机坐标系满足右手定则,当面向相机镜头时,向左为X坐标轴正方向,向下为Y坐标轴正方向,向前为Z坐标轴正方向。因此,确定各平面在相机深度方向的值即为Z坐标轴的值。
进一步的,在确定各平面在相机深度方向的值之后,可确定具有相机深度方向的最小值的平面,由于这个平面不是托盘所在平面,因此删除所确定的平面对应的点云。考虑托盘叉取是在前方无障碍情况下,即相机所拍摄场景前方为地面,托盘置于地面,且托盘与智能车之间无障碍的情况,因此可确定具有最小相机深度方向的值的平面通常为地面,因此可删除地面对应的点云。
步骤三,将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面。
参考相机与托盘距离的先验信息,选取预设取值范围,这个取值范围限定相机深度方向的值。将在相机深度方向的值满足预设取值范围的平面,即为最接近先验信息的平面,即托盘立柱面所在平面。因此,将在相机深度方向的值满足预设取值范围的平面,选取为托盘立柱面。
步骤四,将所述托盘立柱面对应的点云选取为所述感兴趣点云。
托盘立柱面为叉车对所述托盘的可叉取面,是智能搬运设备上的叉子需要操作的面,其对定位托盘起着重要作用,因此仅将托盘立柱面所在平面的点云选取为感兴趣点云。
102、确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云。
感兴趣点云中包括有托盘边缘的边缘点云和不对应于边缘的内部点云。其中,边缘点云可勾勒出托盘立柱面的外形,内部点云位于上述外形的内部。
边缘点云可通过PCL点云处理库中的pcl::BoundaryEstimation函数来确定。具体的边缘点云提取过程为:第一步,对感兴趣点云P中任意一点Pi,,搜索其半径为r领域内的点记为集合N(Pi,),即N(Pi,)={Pj|Pj∈P,||Pi,-Pj<r}。第二步,设定曲面方程ax+by+cz=d(d≥0),a2+b2+c2=1,取Pi,对应的集合N(Pi,),计算N(Pi,)到曲面的距离di=|ax+by+cz-d|。求解
Figure BDA0003434494290000061
最小时对应的特征向量λ,即为该点的法向量n。第三步,根据Pi,和其法向量n做该点的切平面ψ,将集合N(Pi,)内的点投影到切平面ψ上,记为N(P′j)。在N(P′j)中选取一点P′j,以Pi,P′j/|Pi,P′j|为u轴,n为w轴,u×w为v轴,以Pi为坐标中心构建局部坐标系,记为(Pi,u,v,w)。第四步,分别计算集合N(P′i)中其他点
Figure BDA0003434494290000062
到Pi的向量PiP′n与坐标轴u的顺时针夹角K=(θ1,θ2,……θn),对相邻夹角两两作差,得到夹角集合K’=(θ′1,θ′2,……θ′n),其中,θ′n-1=θnn-1。可以发现,K’为相邻两向量之间的夹角。将集合K’中的元素降序排列,找出其中最大的夹角θ′max,当θ′max大于阈值(该阈值可以基于业务要求确定,比如,其为π/2)时,则认为该点是边缘点。
通过上述确定出边缘点之后,感兴趣点云中的其他点即为内部点云。
103、基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云。
托盘外形的边缘特征突出,因此,边缘点云需要整体保留。而内部点云位于边缘点云勾勒的外形的内部,其数量太多会造成托盘定位计算量增大,因此需要对内部点云进行体素滤波处理,以减少内部点云的数量。
基于所述边缘点云的数量对所述内部点云进行体素滤波处理的具体过程为:基于所述边缘点云的数量以及预设的边缘点云和内部点云的比例,确定目标数量,然后基于所述目标数量对所述内部点云进行体素滤波处理。
该边缘点云和内部点云比例可以根据计算效率要求灵活确定。示例性的,该比例为1:3,也就是说,在对内部点云进行体素滤波处理后,保留内部点云的数量为边缘点云数量的3倍。
对内部点云进行体素滤波处理,将边缘点云和体素滤波处理后的内部点云提取为关键点点云,以利用该关键点点云进行后续的托盘定位处理。
104、对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云。
为了提高托盘定位的精确度,则需要对关键点点云和托盘模板点云进行配准处理,得到托盘目标点云。该托盘目标点云的获取方法包括如下步骤一至步骤三:
步骤一,确定所述托盘模板点云的特征描述子以及关键点点云的特征描述子。
在配准时需要使用预设托盘点云模板中的模板点云,该预设托盘点云模板是预设设置的,在使用时直接调取即可。下面对该预设托盘点云模板的设置过程进行说明:首先采集托盘的点云数据,并提取其托盘立柱面,比如,预设托盘点云模板,即为图2托盘立柱面A对应的M型的点云。当然为了减少预设托盘点云模板中点云的量,可对所提取的托盘立柱面对应的点云进行体素滤波处理。这里所涉及的托盘立柱面具有明显的结构特征,选择立柱面作为模板,一方面其明显的结构特征对于托盘特征提取具有优势,另一方面大大减少了可以表征托盘的点云数据量,在后续托盘识别时,起到提高计算效率的作用。另外,托盘立柱面为叉车对所述托盘的可叉取面,对于叉车移动托盘有较大的指导作用。
对于点云来说,点云中任意一点与其周围的邻域点之间存在空间关系,特征描述子可描述这个空间关系,特征描述子可以基于点与其k邻域之间的关系,获得最好的点云表面变化情况,以描述点云的几何特征。因此,需要确定出托盘模板点云的特征描述子以及关键点点云的特征描述子。本发明实施例所用的特征描述子的具体类型可以基于业务要求确定。示例性的,特征描述子为FPFH(Fast Point Feature Histograms,快速点特征直方图)特征描述子。
步骤二,将所述托盘模板点云及其对应的特征描述子、关键点点云及其对应的特征描述子,作为第一配准算法的输入,得到所述关键点点云与所述托盘模板点云之间的变换矩阵。
第一配准算法的具体算法类型可基于业务需求确定,本实施例不做具体限定。示例性的,第一配准算法为SCP(Sample Consensus Prerejective,刚性物体位姿估计)算法。
确定关键点点云与托盘模板点云的变换矩阵的具体过程为:第一步,定义变换矩阵T=argminε(T)=argmin∑(Tp-q)2,使得托盘模板点云P上的任意一点p与关键点点云Q中的任意一点q之间的距离平方和最小化。第二步,通过最近邻匹配,在托盘模板点云P中找到n≥3个随机对象点,并在关键点点云Q中找到它们对应的点。第三步,使用n个采样对应点估计一个假设变换T,并将假设变换矩阵T应用于托盘模板点云P上。第四步,采用空间最近邻域搜索方法在变换后的托盘模板点云与关键点点云Q之间找到内点,然后采用欧氏距离阈值进行判断,如果内点数低于设定阈值,返回第二步。第五步,使用内点对应重新估计一个假设变换。第六步,通过将内点代入上述公式,计算ε(T)的值,如果值为目前为止的最小值,设置当前T作为关键点点云与托盘模板点云之间的变换矩阵。
步骤三,将所述托盘模板点云、所述关键点点云以及所述变换矩阵,作为第二配准算法的输入,得到所述托盘目标点云。
第二配准算法的具体算法类型可基于业务需求确定,本实施例不做具体限定。示例性的,第二配准算法为ICP(Iterative Closest Point,迭代最近点)算法。
确定托盘目标点云的具体过程为:第一步,定义均方误差
Figure BDA0003434494290000081
Ps和Pt是托盘模板点云和关键点点云中的对应点,R和t分别表示旋转矩阵和平移向量。第二步,根据SCP获得的对应关系“变换矩阵”,对托盘模板点云施加初始变换T,得到新的点云。第三步,在关键点点云Pt中寻找与托盘模板点云Ps最近的点云,形成对应点对。第四步,计算ε(T)的值。第五步,设置误差和迭代次数阈值,直到收敛,若不收敛,返回第一步。
105、基于所述托盘目标点云,确定所述托盘的定位信息。
托盘的定位信息包括中心坐标和/或位姿数据,这两种可以同时使用,或单独使用。
第一种,基于托盘目标点云确定托盘的中心坐标的具体过程包括如下步骤一至步骤三:
步骤一,从托盘目标点云中,选取所述托盘在相机坐标系下的各坐标轴对应的最大坐标值和最小坐标值。
相机坐标系为三维坐标系,其包括有三个坐标轴,这三个坐标轴分别为X坐标轴、Y坐标轴、Z坐标轴。从托盘目标点云中选取托盘在相机坐标系下的各坐标轴对应的最大坐标值和最小坐标值:Xmax、Xmin、Ymax、Ymin、Zmax、Zmin。
步骤二,对于各所述坐标轴均执行:将所述坐标轴对应的最大坐标值和最小坐标值的平均值,确定为所述托盘在所述坐标轴的中心坐标值。
确定托盘在坐标轴的中心坐标值分别为:
Figure BDA0003434494290000091
Figure BDA0003434494290000092
步骤三,基于各所述坐标轴对应的中心坐标值,生成所述托盘的中心对应的中心坐标。
托盘的中心对应的中心坐标为(Xcenter,Ycenter,Zcenter)。AGV叉车等智能搬运设备根据该中心坐标,便可确认出托盘的中心位置,便于确定叉车叉子端的移动位置。
所述方法还包括:
进一步的,为了确定托盘是否为可搬运或便于搬运的状态,则需要确定托盘目标点云对应的质心和中心,在相机坐标系的同一坐标轴上的坐标值。并基于这两个坐标值的比对结果,确定托盘的放置情况。
这里所述的质心可从托盘目标点云中直接获取。这里所述的同一坐标轴可以基于业务要求确定,可选的,该坐标轴可以为Y轴。对比质心和中心的Y坐标值。若托盘点云的质心的Y坐标值大于中心的Y坐标值,即托盘正向放置,说明叉车等智能搬运设备可以对该托盘进行搬运。若托盘点云的质心的Y坐标值小于中心的Y坐标值,说明该托盘可以存在反向放置或存在其他特殊情况,叉车等智能搬运设备不便进行搬运,需要发出提示,进行后续处理。
第二种,基于托盘目标点云确定所述托盘的位姿数据的具体过程包括如下步骤一至步骤二:
步骤一,对于每一个所述坐标轴均执行:将所述托盘目标点云投影于所述坐标轴对应的平面,将投影而得的散点拟合成一条直线,确定所述坐标轴与所述直线的夹角。
坐标轴包括有X坐标轴、Y坐标轴、Z坐标轴,其处理方式基于相同,下面以Z坐标轴为例进行说明:将托盘目标点云投影于Z坐标轴对应的平面xz平面。由于托盘目标点云是托盘立柱面对应的点云,投影后近似为直线,因此可依据最小二乘法对投影对应的散点拟合成一条直线,求直线与Z坐标轴的夹角,该求得的夹角即为托盘立柱面与Z坐标轴的夹角。同理,确定托盘立柱面与X坐标轴的夹角,托盘立柱面与Y坐标轴的夹角。
步骤二,基于各所述坐标轴对应的夹角,生成所述托盘的位姿数据。
各坐标轴对应的夹角体现了托盘立柱面的位姿,因此基于各坐标轴对应的夹角,生成托盘的位姿数据,这个位姿数据代表托盘的位姿。基于位姿数据叉车等智能搬运设备便可调整叉子的角度,从而实现托盘的搬运。
本发明实施例提供的基于三维点云处理的托盘定位方法,当托盘需要搬运时,将托盘的点云数据中对应于托盘的托盘立柱面所在平面的点云选取为感兴趣点云。确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于边缘的内部点云,基于边缘点云的数量对内部点云进行体素滤波处理,将边缘点云和体素滤波处理后的内部点云提取为关键点点云。对关键点点云和预设托盘点云模板中的模板点云进行配准处理得到托盘目标点云,并基于托盘目标点云,确定托盘的定位信息。可见,本发明实施例提供的方案中仅将托盘立柱面所在平面的点云选取为感兴趣点云,并将感兴趣点云中的非托盘边缘的点云进行了体素滤波处理,减少了用于托盘定位的点云数量,由于托盘定位所用点云数量减少,因此能够提高托盘定位的计算效率。
进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种基于三维点云处理的托盘定位装置,如图3所示,所述装置包括:
选取单元31,用于将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,其中,所述托盘立柱面为叉车对所述托盘的可叉取面;
第一确定单元32,用于确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云;
处理单元33,用于基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;
配准单元34,用于对所述关键点点云和预设托盘点云模板中的模板点云进行配准处理,得到托盘目标点云;
第二确定单元35,用于基于所述托盘目标点云,确定所述托盘的定位信息。
本发明实施例提供的基于三维点云处理的托盘定位装置,当托盘需要搬运时,将托盘的点云数据中对应于托盘的托盘立柱面所在平面的点云选取为感兴趣点云。确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于边缘的内部点云,基于边缘点云的数量对内部点云进行体素滤波处理,将边缘点云和体素滤波处理后的内部点云提取为关键点点云。对关键点点云和托盘模板点云进行配准处理得到托盘目标点云,并基于托盘目标点云,确定托盘的定位信息。可见,本发明实施例提供的方案中仅将托盘立柱面所在平面的点云选取为感兴趣点云,并将感兴趣点云中的非托盘边缘的点云进行了体素滤波处理,减少了用于托盘定位的点云数量,由于托盘定位所用点云数量减少,因此能够提高托盘定位的计算效率。
可选的,如图4所示,所述选取单元31包括:
提取模块311,用于对所述点云数据进行平面分割提取,得到多个平面;
确定模块312,用于确定各所述平面在相机深度方向的值;
选取模块313,用于将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面;将所述托盘立柱面对应的点云选取为所述感兴趣点云。
可选的,如图4所示,所述选取单元31还包括:
删除模块314,用于确定具有相机深度方向的最小值的平面;删除所确定的平面对应的点云。
可选的,如图4所示,所述选取单元31还包括:
滤波模块315,用于在提取模块311对所述点云数据进行平面分割提取,得到多个平面之前,对所述点云数据进行体素滤波处理。
可选的,如图4所示,第一处理单元33,具体用于基于所述边缘点云的数量以及预设的边缘点云和内部点云的比例,确定目标数量;基于所述目标数量对所述内部点云进行体素滤波处理。
可选的,如图4所示,第二确定单元35所涉及的定位信息包括所述中心坐标和/或位姿数据。
可选的,如图4所示,定位信息为中心坐标,第二确定单元35包括:
第一确定模块351,用于从所述托盘目标点云中,选取所述托盘在相机坐标系下的各坐标轴对应的最大坐标值和最小坐标值;对于各所述坐标轴均执行:将所述坐标轴对应的最大坐标值和最小坐标值的平均值,确定为所述托盘在所述坐标轴的中心坐标值;基于各所述坐标轴对应的中心坐标值,生成所述托盘的中心对应的中心坐标;
可选的,如图4所示,定位信息为中心坐标,第二确定单元35包括:
第二确定模块352,用于对于每一个所述坐标轴均执行:将所述托盘目标点云投影于所述坐标轴对应的平面,将投影而得的散点拟合成一条直线,确定所述坐标轴与所述直线的夹角;基于各所述坐标轴对应的夹角,生成所述托盘的位姿数据。
可选的,如图4所示,第二确定单元35还包括:
第三确定模块353,用于确定所述托盘目标点云对应的质心和中心,在所述相机坐标系的同一坐标轴上的坐标值;基于两个所述坐标值的比对结果,确定所述托盘的放置情况。
可选的,如图4所示,配准单元34,具体用于确定所述托盘模板点云的特征描述子以及所述关键点点云的特征描述子;将所述托盘模板点云及其对应的特征描述子、所述关键点点云及其对应的特征描述子,作为第一配准算法的输入,得到所述关键点点云与所述托盘模板点云之间的变换矩阵;将所述托盘模板点云、所述关键点点云以及所述变换矩阵,作为第二配准算法的输入,得到所述托盘目标点云。
本发明实施例提供的基于三维点云处理的托盘定位装置中,各个功能模块运行过程中所采用的方法详解可以参见图1方法实施例的对应方法详解,在此不再赘述。
进一步的,依据上述实施例,本发明的另一个实施例还提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行图1所述的基于三维点云处理的托盘定位方法。
进一步的,依据上述实施例,本发明的另一个实施例还提供了一种存储管理设备,所述存储管理设备包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于运行所述程序以执行图1所述的基于三维点云处理的托盘定位方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本公开的实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (7)

1.一种基于三维点云处理的托盘定位方法,其特征在于,所述方法包括:
将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,其中,所述托盘立柱面为叉车对所述托盘的可叉取面;
确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云,其中,所述边缘点云可勾勒出托盘立柱面的外形,所述内部点云位于所述外形的内部;
基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;
对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云;
基于所述托盘目标点云,确定所述托盘的定位信息;
基于所述边缘点云的数量对所述内部点云进行体素滤波处理,包括:
基于所述边缘点云的数量以及预设的边缘点云和内部点云的比例,确定目标数量;
基于所述目标数量对所述内部点云进行体素滤波处理;
将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,包括:
对所述点云数据进行平面分割提取,得到多个平面;
确定各所述平面在相机深度方向的值;
将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面,其中,所述预设取值范围基于相机与托盘之间的距离选取;
将所述托盘立柱面对应的点云选取为所述感兴趣点云;
在将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面之前,所述方法还包括:确定具有相机深度方向的最小值的平面,其中,在所述托盘置于地面,且所述托盘与所述叉车之间无障碍的情况下,所述具有相机深度方向的最小值的平面为地面;
删除所确定的平面对应的点云;
对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云,包括:
确定所述托盘模板点云的特征描述子以及所述关键点点云的特征描述子;
将所述托盘模板点云及其对应的特征描述子、所述关键点点云及其对应的特征描述子,作为第一配准算法的输入,得到所述关键点点云与所述托盘模板点云之间的变换矩阵;
将所述托盘模板点云、所述关键点点云以及所述变换矩阵,作为第二配准算法的输入,得到所述托盘目标点云。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述点云数据进行平面分割提取,得到多个平面之前,所述方法还包括:
对所述点云数据进行体素滤波处理。
3.根据权利要求1所述的方法,其特征在于,所述定位信息包括中心坐标,则基于所述托盘目标点云,确定所述托盘的定位信息,包括:
从所述托盘目标点云中,选取所述托盘在相机坐标系下的各坐标轴对应的最大坐标值和最小坐标值;
对于各所述坐标轴均执行:将所述坐标轴对应的最大坐标值和最小坐标值的平均值,确定为所述托盘在所述坐标轴的中心坐标值;
基于各所述坐标轴对应的中心坐标值,生成所述托盘的中心对应的中心坐标;
和/或,
所述定位信息包括位姿数据,则基于所述托盘目标点云,确定所述托盘的定位信息,包括:
对于每一个所述坐标轴均执行:将所述托盘目标点云投影于所述坐标轴对应的平面,将投影而得的散点拟合成一条直线,确定所述坐标轴与所述直线的夹角;
基于各所述坐标轴对应的夹角,生成所述托盘的位姿数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述托盘目标点云对应的质心和中心,在所述相机坐标系的同一坐标轴上的坐标值;
基于两个所述坐标值的比对结果,确定所述托盘的放置情况。
5.一种基于三维点云处理的托盘定位装置,其特征在于,所述装置包括:
选取单元,用于将托盘的点云数据中对应于所述托盘的托盘立柱面所在平面的点云选取为感兴趣点云,其中,所述托盘立柱面为叉车对所述托盘的可叉取面;
第一确定单元,用于确定感兴趣点云中对应于托盘边缘的边缘点云以及不对应于所述边缘的内部点云,其中,所述边缘点云可勾勒出托盘立柱面的外形,所述内部点云位置于所述外形的内部;
处理单元,用于基于所述边缘点云的数量对所述内部点云进行体素滤波处理,将所述边缘点云和体素滤波处理后的内部点云提取为关键点点云;
配准单元,用于对所述关键点点云和托盘模板点云进行配准处理,得到托盘目标点云;
第二确定单元,用于基于所述托盘目标点云,确定所述托盘的定位信息;
第一确定单元,具体用于基于所述边缘点云的数量以及预设的边缘点云和内部点云的比例,确定目标数量;基于所述目标数量对所述内部点云进行体素滤波处理;
所述选取单元包括:
提取模块,用于对所述点云数据进行平面分割提取,得到多个平面;
确定模块,用于确定各所述平面在相机深度方向的值;
选取模块,用于将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面;将所述托盘立柱面对应的点云选取为所述感兴趣点云,其中,所述预设取值范围基于相机与托盘之间的距离选取;
所述选取单元还包括:删除模块,用于在所述选取模块将在相机深度方向的值满足预设取值范围的平面,选取为所述托盘立柱面之前,确定具有相机深度方向的最小值的平面;删除所确定的平面对应的点云;其中,在所述托盘置于地面,且所述托盘与所述叉车之间无障碍的情况下,所述具有相机深度方向的最小值的平面为地面;
所述配准单元,具体用于确定所述托盘模板点云的特征描述子以及所述关键点点云的特征描述子;将所述托盘模板点云及其对应的特征描述子、所述关键点点云及其对应的特征描述子,作为第一配准算法的输入,得到所述关键点点云与所述托盘模板点云之间的变换矩阵;将所述托盘模板点云、所述关键点点云以及所述变换矩阵,作为第二配准算法的输入,得到所述托盘目标点云。
6.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的基于三维点云处理的托盘定位方法。
7.一种存储管理设备,其特征在于,所述存储管理设备包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于运行所述程序以执行权利要求1至权利要求4中任意一项所述的基于三维点云处理的托盘定位方法。
CN202111608692.4A 2021-12-27 2021-12-27 一种基于三维点云处理的托盘定位方法及装置 Active CN114332219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111608692.4A CN114332219B (zh) 2021-12-27 2021-12-27 一种基于三维点云处理的托盘定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111608692.4A CN114332219B (zh) 2021-12-27 2021-12-27 一种基于三维点云处理的托盘定位方法及装置

Publications (2)

Publication Number Publication Date
CN114332219A CN114332219A (zh) 2022-04-12
CN114332219B true CN114332219B (zh) 2023-01-17

Family

ID=81012216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111608692.4A Active CN114332219B (zh) 2021-12-27 2021-12-27 一种基于三维点云处理的托盘定位方法及装置

Country Status (1)

Country Link
CN (1) CN114332219B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114820391B (zh) * 2022-06-28 2022-10-11 山东亚历山大智能科技有限公司 基于点云处理的仓储托盘检测定位方法及系统
CN115546202B (zh) * 2022-11-23 2023-03-03 青岛中德智能技术研究院 一种用于无人叉车的托盘检测与定位方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107507167A (zh) * 2017-07-25 2017-12-22 上海交通大学 一种基于点云平面轮廓匹配的货物托盘检测方法及系统
CN113192054A (zh) * 2021-05-20 2021-07-30 清华大学天津高端装备研究院 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统
CN113469195A (zh) * 2021-06-25 2021-10-01 浙江工业大学 一种基于自适应颜色快速点特征直方图的目标识别方法
CN113781561A (zh) * 2021-09-09 2021-12-10 诺力智能装备股份有限公司 基于自适应高斯权快速点特征直方图的目标位姿估计方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11004237B2 (en) * 2017-10-12 2021-05-11 Sony Group Corporation Palette coding for color compression of point clouds
CN112907164A (zh) * 2019-12-03 2021-06-04 北京京东乾石科技有限公司 物体定位方法和装置
CN111986185A (zh) * 2020-08-25 2020-11-24 浙江工业大学 一种基于深度相机的托盘检测定位方法
CN112001972A (zh) * 2020-09-25 2020-11-27 劢微机器人科技(深圳)有限公司 托盘位姿定位方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107507167A (zh) * 2017-07-25 2017-12-22 上海交通大学 一种基于点云平面轮廓匹配的货物托盘检测方法及系统
CN113192054A (zh) * 2021-05-20 2021-07-30 清华大学天津高端装备研究院 基于2-3d视觉融合的繁杂零件检测与定位的方法及系统
CN113469195A (zh) * 2021-06-25 2021-10-01 浙江工业大学 一种基于自适应颜色快速点特征直方图的目标识别方法
CN113781561A (zh) * 2021-09-09 2021-12-10 诺力智能装备股份有限公司 基于自适应高斯权快速点特征直方图的目标位姿估计方法

Also Published As

Publication number Publication date
CN114332219A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN114332219B (zh) 一种基于三维点云处理的托盘定位方法及装置
JP4865557B2 (ja) 有界三次元対象物の分類と空間ローカライゼーションのためのコンピュータ視覚システム
US11080878B2 (en) Method and apparatus for detecting 3D object from 2D image
CN111612728B (zh) 一种基于双目rgb图像的3d点云稠密化方法和装置
CN113570629B (zh) 去除动态物体的语义分割方法及系统
CN113253737B (zh) 货架检测方法及装置、电子设备、存储介质
CN114897972A (zh) 一种托盘定位方法及装置
CN111986219A (zh) 一种三维点云与自由曲面模型的匹配方法
CN116128841A (zh) 托盘位姿检测方法及装置、无人叉车、存储介质
CN115546300A (zh) 紧密摆放的托盘位姿识别方法和装置、计算机设备、介质
CN112734837B (zh) 图像匹配的方法及装置、电子设备及车辆
CN113159103A (zh) 图像匹配方法、装置、电子设备以及存储介质
CN115147471A (zh) 一种基于曲率密度特征的激光点云自动配准方法
CN111738253B (zh) 叉车托盘定位方法、装置、设备和可读存储介质
Bohacs et al. Mono Camera Based Pallet Detection and Pose Estimation for Automated Guided Vehicles
CN110455274B (zh) 基于倒角距离形状匹配的agv初始定位方法及定位系统
Kovacs et al. Edge detection in discretized range images
Zieliński et al. 3d dense mapping with the graph of keyframe-based and view-dependent local maps
TWI804845B (zh) 物件定位方法及物件定位系統
Sun et al. Simultaneous Localization and Mapping Based on Semantic Information Optimization
CN116912427B (zh) 基于标记点三角特征聚类的三维扫描重建方法及系统
CN114066989B (zh) 机器人定位方法、装置、设备及可读存储介质
Hausman et al. Interactive segmentation of textured and textureless objects
CN113033270B (zh) 采用辅助轴的3d物体局部表面描述方法、装置及存储介质
WO2021082380A1 (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
GR01 Patent grant
GR01 Patent grant