CN118229772A - 基于图像处理的托盘位姿检测方法、***、设备和介质 - Google Patents
基于图像处理的托盘位姿检测方法、***、设备和介质 Download PDFInfo
- Publication number
- CN118229772A CN118229772A CN202410656965.XA CN202410656965A CN118229772A CN 118229772 A CN118229772 A CN 118229772A CN 202410656965 A CN202410656965 A CN 202410656965A CN 118229772 A CN118229772 A CN 118229772A
- Authority
- CN
- China
- Prior art keywords
- tray
- point cloud
- plane
- cloud data
- forked
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 57
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 56
- 239000013598 vector Substances 0.000 claims abstract description 19
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 47
- 238000005457 optimization Methods 0.000 claims description 20
- 238000010845 search algorithm Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 230000001172 regenerating effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000005311 autocorrelation function Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明的实施方式提供了一种基于图像处理的托盘位姿检测方法、***、设备和介质。该方法包括:使用深度相机获取托盘的深度图像,并生成原始点云数据并进行预处理,以得到优化后的点云数据,根据托盘正面的法向量朝向约束确定叉取平面,并利用预设的托盘尺寸信息构建待叉平面点云模板库,通过将优化后的点云数据与模板进行匹配,确定托盘的中心位置和旋转角度。本发明提高了托盘位姿检测的准确性和检测效率。
Description
技术领域
本公开的实施例涉及图像数据处理技术领域,特别是涉及一种基于图像处理的托盘位姿检测方法、***、设备和介质。
背景技术
在物流和仓储领域,托盘被广泛用于货物的搬运、存储和运输过程中。为了实现自动化操作,准确地检测托盘的位置和姿态是十分重要的。然而,发明人发现现有的托盘位姿检测方法存在一些问题。
传统的托盘位姿检测方法通常依赖于二维图像识别技术。这些方法通过摄像头捕捉托盘的图像,并利用图像处理算法进行边缘检测和特征提取,从而确定托盘的位置和姿态。然而,二维图像识别技术受到光照条件、角度变化、遮挡物等多种因素的影响,导致位姿检测的准确性和稳定性受限。此外,传统的托盘位姿检测方法在处理不同尺寸和形状的托盘时存在困难。由于托盘的尺寸和形状各异,传统方法通常需要针对不同尺寸的托盘进行参数调整或重新训练算法,这增加了***的复杂性和维护成本。传统的托盘位姿检测方法还面临环境干扰的问题。在实际应用中,托盘可能放置在复杂的环境中,如堆叠的货物、光照不均等,这些因素可能导致传统方法无法准确识别托盘,或者产生误识别。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了一种一种基于图像处理的托盘位姿检测方法、***、设备和介质来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种基于图像处理的托盘位姿检测方法,该方法包括:
使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
作为本申请的进一步改进,所述对所述托盘原始点云数据进行预处理还包括:
确定所述托盘原始点云数据中的每个点到邻点的平均距离;
计算所述托盘原始点云数据中的所有点之间的领域平均距离的均值和标准差;
分别将所述每个点到邻点的平均距离与所述领域平均距离的均值进行比较得到差值,若所述差值超过所述领域平均距离的标准差达到预设倍数,则确定所述差值对应的点为离群点;
从所述托盘原始点云数据中将所述离群点进行去除,得到优化后的点云数据。
作为本申请的进一步改进,所述将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度还包括:
通过全局搜索算法,对所述优化后的托盘点云数据与所述托盘待叉平面点云模板进行初步匹配,定位初始匹配位置;
基于所述初试匹配位置,通过局部优化算法对所述初始匹配位置进行调整,得到匹配结果;
根据所述匹配结果,计算所述托盘的中心位置和旋转角度。
作为本申请的进一步改进,所述使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据还包括:
使用预设几何形状的标定板对所述深度相机进行内参标定得到内参标定结果;
基于所述内参标定结果确定角点坐标;
基于所述角点坐标,通过重投影误差算法生成所述深度相机的内部参数,所述内部参数包括焦距、主点坐标和畸变系数;
基于所述内部参数构建深度相机模型,将获取的所述深度图像输入至所述深度相机模型,生成所述托盘原始点云数据。
作为本申请的进一步改进,所述方法还包括:
通过RANSAC算法对所述托盘原始点云数据进行迭代处理,基于迭代结果拟合出地面平面模型,所述地面平面模型包括拟合平面;
通过所述拟合出的地面平面模型设定拟合平面阈值;
确定与所述拟合平面的距离小于所述拟合平面阈值的所述托盘原始点云数据中的点为地面点云;
将所述地面点云在所述托盘原始点云数据中去除。
作为本申请的进一步改进,所述方法还包括:
根据托盘的结构特性和预设的托盘尺寸信息,生成托盘待叉平面三维模型;
基于所述托盘待叉平面三维模型,构造托盘待叉平面点云模板,所述模板包括托盘的关键几何特征和空间结构;
将构造的所述托盘待叉平面点云模板存储于所述托盘待叉平面点云模板库中。
作为本申请的进一步改进,所述方法还包括:
实时检测托盘尺寸或形状的变化;
当检测到需要适应新尺寸的托盘时,接收并处理所述新的托盘尺寸信息,重新生成与新尺寸相对应的托盘待叉平面点云模板,并将新生成的模板添加到所述托盘待叉平面点云模板库中;
若确认历史托盘已被淘汰或不再使用,从所述托盘待叉平面点云模板库中移除与该尺寸相对应的托盘待叉平面点云模板。
第二方面,本公开的一些实施例提供了一种基于图像处理的托盘位姿检测***,该***包括:
数据生成模块,用于使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
预处理模块,用于对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
模板库构造模块,用于根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
确定模块,用于将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
第三方面,本发明的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面中任一实现方式所描述的方法。
第四方面,本发明的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面中任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过深度相机获取的三维点云数据能够更精确地捕捉托盘的空间结构和形状,有效抵抗光照、角度等环境因素的干扰,同时,动态更新的托盘模板库使***能够灵活适应不同尺寸和形状的托盘,无需复杂调整,通过匹配算法进一步提升了物流***的运作效率。
附图说明
结合附图并参考以下具体实施方式,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1为本申请基于图像处理的托盘位姿检测方法一个实施例的步骤流程示意图;
图2本申请基于图像处理的托盘位姿检测***一个实施例的功能模块示意图;
图3为本申请电子设备一个实施例的结构示意图;
图4为本申请存储介质一个实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1示出了根据本公开的基于图像处理的托盘位姿检测方法的一些实施例的流程100。该基于图像处理的托盘位姿检测方法,包括以下步骤:
步骤101,使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
需要说明的是,深度相机能够获取场景中各点与相机之间的距离信息的相机,输出的图像中每个像素值代表了相机到该像素点对应物体表面的距离,深度图像是一种特殊的图像,其中每个像素值不是颜色,而是表示该像素点对应物体表面到相机的距离;点云是一种数据结构,它包含了大量的三维空间中的点,这些点通常由X、Y、Z坐标组成,可能还包含颜色、法线、强度等其他信息。
优选地,深度相机种类/型号:例如,可以使用Microsoft的Kinect V2或Intel的RealSense D435等深度相机来捕获托盘的深度图像。当深度相机拍摄托盘时,它会生成一个深度图像。在这个图像中,每个像素的值代表了相机到托盘(或托盘后方的物体)上该点的距离。这种图像不同于常规的彩色图像,因为它不提供颜色信息,而是提供空间距离信息。
优选地,在本发明中,点云数据是由深度图像转换而来的三维空间中的点的集合。每个点都有其在三维空间中的X、Y、Z坐标。基于视差的原理或其他深度感知技术,深度相机能够测量每个像素点对应的物体表面到相机的距离。利用这些距离信息和相机的内参(如焦距、主点等),我们可以通过一定的算法(如针孔相机模型)将二维的像素坐标转换为三维的空间坐标,从而生成点云数据。应用算法的具体步骤可以是:1.读取深度图像,获取每个像素的深度值;2.根据相机的内参,将每个像素的二维坐标和深度值转换为三维空间坐标;3.将所有转换得到的三维点组合起来,形成点云数据;4.可选地,对点云数据进行进一步的滤波和优化,以去除噪声和异常点。通过以上步骤可以从深度图像中生成托盘的原始点云数据,为后续的处理和分析提供基础。
步骤102,对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
优选地,预处理步骤是为了提高点云数据的质量,减少噪声和异常点对后续处理的影响。使用统计离群点去除方法。对于每个点,计算它到其k个最近邻点的平均距离。设定一个距离阈值,如果某个点到其k个最近邻点的平均距离超过这个阈值,则认为该点是离群点,并将其从点云数据中去除。通过这种方法,可以有效地去除由于测量误差、反射或其他原因产生的异常点。
步骤103,根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
优选地,可以基于预设的托盘尺寸信息,根据已知的托盘尺寸(如长、宽、高等),在三维建模软件中创建一个与真实托盘相对应的虚拟模型。并从这个虚拟模型中提取出叉取平面的点云数据,作为模板。对于不同类型的托盘(如不同尺寸、形状),都需要创建相应的模板。将这些模板存储在一个库中,以便后续进行匹配操作。
步骤104,将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
优选地,可以使用ICP(最近点迭代)算法或其他点云匹配算法来进行匹配操作。这些算法通过最小化两个点云之间的距离来找到最佳的匹配位置和方向。
优选地,一旦找到最佳的匹配位置和方向,就可以通过计算得到托盘的中心位置和相对于模板的旋转角度。这些信息对于后续的搬运或定位操作至关重要。例如,叉车可以根据这些信息来准确地叉取托盘。通过上述具体实施方式,可以实现对托盘位姿的准确检测,从而提高物流和仓储***的自动化水平和效率。
下面结合一个具体示例说明,在示例中选定一个1200mm x 1000mm的标准托盘,深度相机分辨率为640x480,拍摄距离为2米。
使用深度相机在2米的距离上拍摄托盘,获取到640x480的深度图像。通过深度图像转换算法,可以得到一个包含数万个点的托盘原始点云数据。对这些点云数据进行预处理,例如通过统计每个点的邻域距离来识别并去除那些显著偏离平均距离的离群点。
根据托盘的结构特性(如平面性)和法向量朝向约束,确定托盘的叉取平面。
利用托盘的尺寸信息(1200mm x 1000mm),我们构建了一个对应的托盘待叉平面点云模板,并将其添加到模板库中。
将预处理后的托盘点云数据与模板进行匹配,通过迭代最近点算法找到了最佳的匹配位置。
根据匹配结果,计算出托盘的中心位置位于(x=0, y=0, z=2000mm,相对于相机坐标系)和相对于标准模板的旋转角度为0度(即托盘正面正对相机)。这样可以准确地获取托盘的空间位置和姿态信息。
进一步地,对所述托盘原始点云数据进行预处理还包括:
确定所述托盘原始点云数据中的每个点到邻点的平均距离;
优选地,根据点云数据的密度和预期的噪声水平,选择一个合适的k值。这个k值代表了在计算每个点的邻域时要考虑的最近邻点的数量。例如,如果点云数据比较密集,k值可以设置得稍大一些,以便更好地反映点的局部邻域结构。对于点云中的每个点,使用空间搜索算法(如k-d树)来找到其k个最近邻点。这些最近邻点是与当前点距离最近的k个点。对每个点和它的k个最近邻点之间的距离进行平均,得到该点到其邻点的平均距离。这个平均距离反映了该点在其局部邻域内的位置关系。
计算所述托盘原始点云数据中的所有点之间的领域平均距离的均值和标准差;
优选地,遍历整个点云数据,将所有点的领域平均距离累加起来。将累加的平均距离除以点的总数,得到领域平均距离的均值。这个均值代表了整个点云中点到其邻点的平均距离的“典型”值。标准差是衡量数据分布离散程度的一个指标。为了计算它,需要首先计算每个点的领域平均距离与均值的差的平方,然后将这些平方差累加起来,除以点的总数,最后取平方根。标准差反映了点到其邻点平均距离的波动情况。
分别将所述每个点到邻点的平均距离与所述领域平均距离的均值进行比较得到差值,若所述差值超过所述领域平均距离的标准差达到预设倍数,则确定所述差值对应的点为离群点;
优选地,在识别出离群点后,将这些点进行标记或存储在一个单独的列表中。最后,从原始点云数据中删除这些被标记为离群点的数据。这可以通过创建一个新的点云数据集来实现,其中只包含未被标记为离群点的数据。在删除离群点后,可以对优化后的点云数据进行可视化检查,以确保离群点已被有效去除,并且数据的整体结构得到了改善。
从所述托盘原始点云数据中将所述离群点进行去除,得到优化后的点云数据。
需要说明的是,在点云数据中,离群点指的是那些与其他点相比位置明显偏离的点,它们可能是由于测量误差、噪声或其他干扰因素导致的。对于点云数据中的每个点,其领域平均距离是指该点与其k个最近邻点之间距离的平均值。标准差用于衡量数据分布离散程度的一个统计量,标准差越大,表示数据分布越离散。
下面结合一个具体示例说明,选定一个包含10000个点的托盘原始点云数据。为了去除离群点,可以设定k=10,即考虑每个点与其最近的10个邻点的平均距离。对于每个点,首先计算出它与最近10个邻点的平均距离。接着,进一步计算出所有点的领域平均距离的均值为0.5厘米,标准差为0.1厘米。通过遍历每个点,将其领域平均距离与均值0.5厘米进行比较。如果一个点的领域平均距离与均值的差值超过标准差的3倍(即0.3厘米),则可以认为这个点是离群点。
最后,从原始点云数据中删除所有被识别为离群点的数据,得到一个更干净、优化后的点云数据集,其中包含了9800个点(假设有200个点被识别为离群点并被删除)。通过上述步骤,可以有效地去除托盘原始点云数据中的离群点,为后续的点云数据处理和分析提供更准确的数据基础。
进一步地,我们以采集工厂实际环境下的托盘点云数据为例,由于点云数据往往存在一些噪声,对后续的平面分割会造成影响,而且由于工控机的内存问题,为了避免造成内存浪费,因此进行滤波处理,在处理速度上使用体素降采样滤波,在距离上使用直通滤波,在x方向的限制点云范围是1.3m至4.5m以内,在z方向的限制点云范围是-0.2m至8.0m以外,以此过滤掉距离不在合理范围内的点。
同时根据相机本身硬件问题产生的点云分布不均匀,需要剔除分布比较稀疏的离群点。点云中一般点到其领域中其他点的距离近似服从高斯分布,其中领域平均距离的概率密度函数可以为:
其中,表示任意两点的距离,/>表示任意点领域平均距离的均值,/>表示任一点领域平均距离的标准差。通过计算每个点到其领域K个临近点的平均距离/>,并给定领域平均距离的均值/>和标准差/>,若平均距离超过领域平均距离均值/>,则认为该点为离群点并剔除。
进一步地,所述将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度还包括:
通过全局搜索算法,对所述优化后的托盘点云数据与所述托盘待叉平面点云模板进行初步匹配,定位初始匹配位置;
需要说明的是,全局搜索算法是一种搜索策略,用于在整个搜索空间中寻找最佳匹配位置。在点云匹配中,全局搜索算法可以快速定位到一个大致的匹配区域。使用全局搜索算法对优化后的托盘点云数据与托盘待叉平面点云模板进行初步匹配。这个过程是通过比较点云数据的特征来实现的,目的是快速找到一个初始的匹配位置。在全局搜索完成后,算法会确定一个初始的匹配位置,这个位置是后续局部优化算法的起点。
优选地,在进行匹配之前,首先,需要确保优化后的托盘点云数据和托盘待叉平面点云模板已经准备好,并且格式兼容。从托盘点云数据中提取关键特征,如角点、边缘等,这些特征将用于与模板进行匹配。使用全局搜索算法(如ICP的粗配准阶段或其他全局配准方法),在整个搜索空间中寻找与托盘待叉平面点云模板最相似的部分。这个过程中,算法会尝试不同的对齐方式,以找到最佳的初步匹配位置。在全局搜索完成后,根据匹配度(如距离误差、重叠程度等)评估所有可能的匹配位置,并选择最佳的一个作为初始匹配位置。记录下这个初始匹配位置的参数,包括平移向量和旋转矩阵,这些参数描述了托盘点云数据与模板之间的初步对齐状态。
基于所述初试匹配位置,通过局部优化算法对所述初始匹配位置进行调整,得到匹配结果;
需要说明的是,局部优化算法可以理解为在全局搜索确定的大致区域内,进行精细的调整和优化,以找到更精确的匹配位置。这通常涉及到迭代计算和误差最小化。基于初步匹配得到的位置,使用局部优化算法对匹配位置进行精细调整。这个过程通常涉及到复杂的数学计算和迭代优化,以找到最佳匹配。经过局部优化后,算法会输出一个更精确的匹配结果,这个结果描述了托盘点云数据与模板之间的最佳对齐方式。
优选地,通过局部优化算法对所述初始匹配位置进行调整可以将全局搜索得到的初始匹配位置作为起点,设置局部优化的参数,如迭代次数、收敛阈值等。使用局部优化算法(如ICP的精配准阶段或其他局部优化方法)进行迭代计算。在每次迭代中,算法会微调托盘点云数据与模板之间的对齐方式,以最小化它们之间的距离误差或其他匹配成本函数。
检查是否满足收敛条件(如达到最大迭代次数或匹配成本小于某个阈值)。如果满足条件,则停止迭代;否则,继续迭代优化过程。当局部优化算法收敛时,记录下最终的匹配位置和相关参数(平移向量和旋转矩阵)。这些参数描述了托盘点云数据与模板之间的最佳对齐方式。以通过计算匹配成本(如距离误差)来评估匹配的质量。如果匹配成本较低,说明匹配效果较好。
根据所述匹配结果,计算所述托盘的中心位置和旋转角度。
优选地,托盘的中心位置指的是托盘在三维空间中的坐标,而旋转角度则表示托盘相对于某个基准的旋转状态,这两者共同定义了托盘的位姿。根据最终的匹配结果,可以计算出托盘的中心位置和旋转角度,这些信息对于后续的托盘处理和操作至关重要。此外,通过最终的旋转矩阵可以提取出托盘的旋转角度,这些角度描述了托盘在空间中的方向。
进一步地,结合具体示例说明,使用ICP(Iterative Closest Point,最近点迭代)算法作为全局搜索和局部优化的方法。在全局搜索阶段,可以设置最大迭代次数为100次,收敛阈值为0.001米,以快速找到一个初始匹配位置。然后,在局部优化阶段,可以增加迭代次数到500次,并减小收敛阈值到0.0001米,以获得更精确的匹配结果。
最终,通过匹配结果,计算出托盘的中心位置为(x=1.5米,y=2.0米,z=0.5米),并且托盘相对于基准面的旋转角度为30度绕X轴,20度绕Y轴,和10度绕Z轴。这些信息将被用于后续的机器人抓取或物流处理流程中。
进一步地,可以使用带有粗配准和精配准两阶段的ICP算法进行点云匹配。在粗配准阶段(全局搜索),可以设置最大迭代次数为50次,距离阈值为0.1米,以快速找到一个大致的匹配位置。然后,在精配准阶段(局部优化),增加迭代次数到200次,并设置更小的距离阈值(如0.01米)以获得更精确的匹配结果。
最终得到的匹配结果可能包括一个平移向量(如[0.5, -0.3, 0.2])和一个旋转矩阵(可转换为欧拉角如[10°, 20°, 30°])。根据这些信息我们可以计算出托盘的中心位置(如[1.2, 0.8, 0.5])和具体的旋转角度。这些参数将被用于后续的机器人抓取、路径规划或物流处理流程中。
进一步地,所述使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据还包括:
使用预设几何形状的标定板对所述深度相机进行内参标定得到内参标定结果;
优选地,在本发明中,内参标定可以是确定相机内部参数的过程,这些参数描述了相机的焦距、主点坐标和镜头畸变等特性。标定板可以使一个具有已知几何特征的平面板,通常带有黑白相间的棋盘格,用于相机标定。首先,需要准备一个具有已知几何特征的标定板,如棋盘格标定板。然后,将标定板放置在深度相机的视野内,并确保标定板的不同部分在多个角度和位置下都能被相机捕捉到。通过拍摄标定板的多张照片,可以收集到足够的数据来进行内参标定。
基于所述内参标定结果确定角点坐标;
优选地,角点坐标可以是标定板上棋盘格的交点,即黑白方块的交界处,这些点在内参标定过程中用于计算相机的内部参数。在进行内参标定后,使用图像处理算法(如Harris角点检测等)来精确定位标定板上的角点坐标。这些角点坐标将用于后续的重投影误差算法中。在这一步中,我们通常使用图像处理算法来检测标定板上的角点。Harris角点检测算法是一种常用的方法,它通过计算图像灰度的一阶和二阶导数来寻找角点。Harris角点检测基于图像局部区域的自相关函数,通过寻找自相关函数变化明显的点来确定角点位置。应用Harris角点检测算法后,算法会输出一系列候选角点。通过设定阈值和筛选条件(如角点响应函数的值),可以确定最终的角点坐标。这些坐标在标定过程中用于匹配世界坐标系与图像坐标系之间的关系。
基于所述角点坐标,通过重投影误差算法生成所述深度相机的内部参数,所述内部参数包括焦距、主点坐标和畸变系数;
需要说明的是,重投影误差是指通过相机模型将三维空间点投影到二维图像上,与实际观测到的二维图像点之间的差异。通过最小化这种差异,可以优化相机的内部参数,使得相机模型更加准确。内部参数可以使用如张氏标定法等内参标定算法,结合已知的角点坐标和对应的图像坐标,通过迭代优化过程来估计相机的内部参数,这些参数包括焦距(fx, fy)、主点坐标(cx, cy)(即图像中心点的坐标)以及畸变系数(如径向畸变和切向畸变系数),描述了相机的成像模型和几何特性。
基于所述内部参数构建深度相机模型,将获取的所述深度图像输入至所述深度相机模型,生成所述托盘原始点云数据。
优选地,通过利用标定得到的内部参数可以构建一个精确的深度相机模型。这个模型能够将二维图像坐标转换为对应的三维空间坐标,或者将三维空间点投影到二维图像上。当深度相机捕捉到托盘的深度图像时,每个像素点都对应一个深度值。结合相机的内部参数,可以将这些像素点转换为三维空间中的点云数据。这些点云数据表示了托盘表面的三维形状和位置信息,为后续的点云处理和分析(如配准、分割、识别等)提供了基础数据。这些步骤涉及到从图像中提取角点坐标、利用这些坐标进行相机标定以获取准确的内部参数,并基于这些参数构建相机模型以生成点云数据。这些过程对于确保后续托盘位姿检测的准确性十分重要。
进一步地,结合示例说明,选定一个分辨率为640x480的深度相机进行托盘位姿检测。在进行内参标定前,我们准备了一个8x6的棋盘格标定板,每个棋盘格的大小为30mm x30mm。我们将标定板放置在距离相机不同距离和角度的位置上,并拍摄了20张标定图像。
通过内参标定算法处理这些图像后,我们得到了相机的内部参数:焦距为[fx,fy] = [800, 800](单位:像素),主点坐标为[cx, cy] = [320, 240](单位:像素),以及畸变系数k1, k2, p1, p2等。这些参数描述了相机的成像模型和几何特性。
接下来,可以通过使用这些内部参数构建了一个深度相机模型。当相机捕捉到托盘的深度图像时,我们将这个图像输入到相机模型中,并结合内部参数生成了托盘的原始点云数据。这些数据包含了托盘表面各点的三维坐标信息,为后续的点云处理和分析提供了基础。
进一步地,上述方法还包括:
通过RANSAC算法对所述托盘原始点云数据进行迭代处理,基于迭代结果拟合出地面平面模型,所述地面平面模型包括拟合平面;
需要说明的是,RANSAC算法(Random Sample Consensus)是一种鲁棒的参数估计方法,用于从包含大量离群点的数据集中估计出数学模型的参数,常用于计算机视觉和机器人领域。地面平面模型指通过数学方法拟合得到的代表地面位置的平面几何模型,用于识别和分割出点云数据中的地面部分。
优选地,通过RANSAC算法对托盘原始点云数据进行迭代处理可以理解为,从托盘原始点云数据中随机选择三个不共线的点来初始化一个平面模型。计算所有点到这个初始平面的距离,距离小于某个预设阈值的点被认为是“内点”(即属于地面的点),如果距离大于或等于预设阈值,则该点被认为是“外点”,即这个点可能是噪声或不属于地面平面。使用所有被标记为内点的数据来重新估计平面模型。这通常通过最小二乘法或其他优化算法来完成,以得到更符合内点数据的平面模型。重复上述的初始化、内点和外点确定、模型重新估计的步骤多次,每次迭代都可能得到一个不同的平面模型和内点集合。这个过程会持续进行,直到满足某个终止条件,例如达到预设的最大迭代次数,或者某个模型的内点数量占比超过了设定的阈值。在所有迭代得到的平面模型中,选择内点数量最多的模型作为最终的地面平面模型,这个模型被认为是最能代表实际地面平面的模型。
通过所述拟合出的地面平面模型设定拟合平面阈值;
优选地,一旦通过RANSAC算法确定了最佳的内点集合,就可以使用这些内点来拟合出一个更精确的平面模型。这通常是通过最小二乘法来完成的,它可以找到一个平面方程,使得所有内点到这个平面的垂直距离之和最小。根据得到的地面平面模型(包括平面的法向量和位置参数),设定一个点到平面的最大允许距离作为拟合平面阈值。这个阈值用于后续的点云分类。
优选地,对于要拟合一个平面模型:,每次可以从点云集中随机选取3个点来构建平面模型,然后计算剩余点到该平面的距离,将满足距离阈值0.06m的设为内点,不满足距离阈值的设为外点,经过100次迭代后,选取内点数量最多的模型作为平面模型。
确定与所述拟合平面的距离小于所述拟合平面阈值的所述托盘原始点云数据中的点为地面点云;
优选地,对于托盘原始点云数据中的每一个点,计算它与拟合出的地面平面的距离。如果这个距离小于之前设定的拟合平面阈值,则这个点被认为是地面点云的一部分。
将所述地面点云在所述托盘原始点云数据中去除。
优选地,可以理解的是,所有被标记为地面点云的点将从托盘原始点云数据中删除。这样做是为了减少后续处理的复杂性,并提高位姿检测的准确性,因为地面点云通常不包含有关托盘位姿的有用信息。这个过程是RANSAC算法在点云处理中的一个典型应用,它可以有效地从包含大量噪声和离群点的数据中提取出有用的几何结构信息。
进一步地,结合具体示例说明。假设有一组托盘原始点云数据,包含约10万个点。可以设定RANSAC算法的最大迭代次数为1000次,点到平面的距离阈值为0.01米(即1厘米)。通过RANSAC算法迭代处理后,我们得到了一个包含约8万个内点的地面平面模型。接着,我们设定拟合平面阈值为0.005米(即5毫米),以此判断哪些点属于地面点云。最终,我们从原始点云数据中移除了约2万个被识别为地面的点,留下了更精确的托盘点云数据用于后续的位姿检测。
进一步地,所述方法还包括:
根据托盘的结构特性和预设的托盘尺寸信息,生成托盘待叉平面三维模型;
需要说明的是,托盘待叉平面三维模型可以理解为是一个数字化的三维表示,展现了托盘上用于叉车插取货物的特定平面区域,该模型基于托盘的实际尺寸和结构特性进行构建,以便后续的点云匹配和位姿检测。托盘待叉平面点云模板可以理解为从托盘待叉平面三维模型中派生出的点云数据模板。它包含了托盘关键几何特征和空间结构的信息,这些信息将用于与优化后的托盘点云数据进行匹配,从而确定托盘的中心位置和旋转角度。
优选地,在生成三维模型之前,需要先获取托盘的准确尺寸和结构特性,为后续的三维建模提供基础数据,如使用测量工具(如卷尺、卡尺等)对实际托盘进行精确测量,记录其长度、宽度、高度以及关键结构(如横梁、纵梁)的位置和尺寸,如果托盘有设计图纸,则可以直接从图纸上获取这些信息。托盘待叉平面三维模型的创建可以使用三维建模软件(如SolidWorks、AutoCAD等),根据收集到的托盘尺寸和结构信息,创建一个精确的三维模型。在这个模型中,需要特别关注叉车需要插取的部分,即待叉平面,确保其几何特征的精确性。
基于所述托盘待叉平面三维模型,构造托盘待叉平面点云模板,所述模板包括托盘的关键几何特征和空间结构;
从建立的三维模型中导出点云数据,这些数据构成了托盘待叉平面的点云模板。在导出过程中,可以设置点云的密度和精度,以适应后续的点云匹配需求。分析导出的点云数据,提取出托盘的关键几何特征(如边缘、角点等)和空间结构(如横梁、纵梁的相对位置)。这些信息对于后续的匹配过程至关重要,因为它们有助于提高匹配的准确性和效率。
将构造的所述托盘待叉平面点云模板存储于所述托盘待叉平面点云模板库中。
优选地,将构造好的托盘待叉平面点云模板保存在一个专门的模板库中,以便在后续的托盘位姿检测过程中随时调用。如果需要,可以为该模板文件添加相关的元数据描述,如创建时间、版本号等。
进一步地,结合示例说明,一个尺寸为1200mm x 800mm的标准欧标托盘,其底部由三根横梁和两根纵梁构成。为了生成托盘待叉平面三维模型,我们使用SolidWorks软件,根据这些实际尺寸和结构特性进行建模。在建模过程中,我们特别关注托盘底部的横梁和纵梁的位置以及它们的相对高度。
完成三维模型后,我们通过软件导出功能生成了一个包含约10万个点的托盘待叉平面点云模板。在这个过程中,我们设置了适当的点云密度,以确保既能捕捉到托盘的关键几何特征,又不会因为点云过于密集而增加后续处理的计算负担。接下来,可以通过分析这个点云模板,提取出托盘底部的横梁和纵梁的边缘点、角点等关键几何特征,并记录它们的相对位置关系。这些信息被整合到一个数据结构中,形成了托盘待叉平面点云模板的最终形式,并被存储到托盘待叉平面点云模板库中,以供后续的托盘位姿检测算法使用。
进一步地,所述方法还包括:
实时检测托盘尺寸或形状的变化;
优选地,托盘待叉平面点云模板库可以理解为一个存储了各种尺寸和类型的托盘待叉平面的点云模板的数据库。当需要检测托盘的位姿时,***会从库中寻找与待检测托盘相匹配的模板进行匹配操作。
实时检测托盘尺寸或形状的变化可以通过图像处理技术实时监控托盘的形态。当有新的托盘进入视野或者有托盘更换时,***会捕捉到这些变化,并准备进行后续的尺寸或形状识别。
当检测到需要适应新尺寸的托盘时,接收并处理所述新的托盘尺寸信息,重新生成与新尺寸相对应的托盘待叉平面点云模板,并将新生成的模板添加到所述托盘待叉平面点云模板库中;
优选地,一旦***检测到托盘尺寸或形状的变化,它会启动一个尺寸识别程序。这个程序会通过图像处理技术来测量托盘的关键尺寸,如长度、宽度等。根据新获取的托盘尺寸信息,***会使用三维建模技术自动生成与新尺寸相匹配的托盘待叉平面的三维模型。然后,从这个模型中导出点云数据,形成一个新的托盘待叉平面点云模板,新生成的点云模板会被添加到现有的模板库中,以便后续使用时能够快速匹配到相应的模板。
若确认历史托盘已被淘汰或不再使用,从所述托盘待叉平面点云模板库中移除与该尺寸相对应的托盘待叉平面点云模板。
优选地,为了保持模板库的效率和准确性,如果确认某种尺寸的托盘已经不再使用或被淘汰,***会从模板库中删除这个尺寸的托盘待叉平面点云模板。
作为示例,假设***原本已经存储了1200mm x 800mm和1000mm x 600mm两种尺寸的托盘待叉平面点云模板。现在,通过实时检测,***发现有一个新的1500mm x 1000mm的托盘进入了视野。***首先会捕捉到这个新托盘,并通过图像处理技术测量出其精确尺寸为1500mm x 1000mm。
接下来,***会根据这个新尺寸自动生成一个1500mm x 1000mm的托盘待叉平面的三维模型,并从该模型中导出点云数据,形成一个新的点云模板。这个新生成的1500mm x1000mm的点云模板随后会被添加到托盘待叉平面点云模板库中。如果在未来某个时间点,确认1000mm x 600mm的托盘已经不再使用,***会从模板库中删除这个尺寸的托盘待叉平面点云模板,以保持库的更新和高效。
进一步地,由于深度相机本身硬件的品质高低不平,因此对于深度较深的点云数据不能作为研究根据,故需要通过法向量提取对应平面的点云即叉取平面的点云,因为叉取平面的法向量波动相对较小,所以需要对之前获取的托盘点云数据进行二次分割,利用空间向量反余弦定理得到平面:
其中,表示两个空间向量之间的弧度,/>表示点云集的点,将/>设置为(-1,0,0),即法向量,设置/>点云为一个集合,即叉取平面点云。因为相机硬件的原因,造成点云数据和实际环境下的数据不匹配,故将/>弧度设置为(1.518436,1.623156)可满足匹配条件,得到叉取平面点云/>。
优选地,在一些实施例中本发明还可以使用欧式聚类将样本空间距离较近的点聚合成一类,距离较远的点为另一类:
其中,distance表示空间中两点之间的距离,表示点云集的点。将distance设置为0.04m,两点之间的距离小于0.04m的时候则判定为一类即叉取托盘片面。
本实施例通过使用深度相机获取精确深度图像并生成点云数据,结合预处理技术去除噪声和异常值,有效提高了数据的精确性和质量。通过利用法向量朝向约束和托盘尺寸信息构造的点云模板库进行匹配,不仅提升了匹配效率和准确性,还能精确定位托盘的中心位置和旋转角度。此外,该方法还具备强大的自适应性,能够实时应对托盘尺寸或形状的变化,并动态管理点云模板库,保持其更新和高效。这些特点共同推动了物流、仓储等行业的自动化水平提升,实现了减少人工干预、提高工作效率的目标。
进一步参考图2,作为对上述各图所示方法的实现,本公开提供了一种基于图像处理的托盘位姿检测***的一些实施例,这些***实施例与图1所示的方法实施例相对应,该基于图像处理的托盘位姿检测***具体可以应用于各种电子设备中。
如图2所示,基于图像处理的托盘位姿检测***200包括:
数据生成模块201,用于使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
预处理模块202,用于对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
模板库构造模块203,用于根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
确定模块204,用于将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
可以理解的是,该基于图像处理的托盘位姿检测200中记载的诸模块与参考图1描述的基于图像处理的托盘位姿检测方法中的各个步骤相对应。由此,上文针对基于图像处理的托盘位姿检测方法描述的操作、特征以及产生的有益效果同样适用于基于图像处理的托盘位姿检测***200及其中包含的模块,在此不再赘述。
下面参考图3,其示出了适于用来实现本公开的一些实施例的电子设备300的结构示意图。本公开的一些实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的终端设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图3中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中还可以包括计算机可读介质,计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于图像处理的托盘位姿检测方法,其特征在于,包括:
使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
2.根据权利要求1所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述对所述托盘原始点云数据进行预处理还包括:
确定所述托盘原始点云数据中的每个点到邻点的平均距离;
计算所述托盘原始点云数据中的所有点之间的领域平均距离的均值和标准差;
分别将所述每个点到邻点的平均距离与所述领域平均距离的均值进行比较得到差值,若所述差值超过所述领域平均距离的标准差达到预设倍数,则确定所述差值对应的点为离群点;
从所述托盘原始点云数据中将所述离群点进行去除,得到优化后的点云数据。
3.根据权利要求1所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度还包括:
通过全局搜索算法,对所述优化后的托盘点云数据与所述托盘待叉平面点云模板进行初步匹配,定位初始匹配位置;
基于所述初试匹配位置,通过局部优化算法对所述初始匹配位置进行调整,得到匹配结果;
根据所述匹配结果,计算所述托盘的中心位置和旋转角度。
4.根据权利要求1所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据还包括:
使用预设几何形状的标定板对所述深度相机进行内参标定得到内参标定结果;
基于所述内参标定结果确定角点坐标;
基于所述角点坐标,通过重投影误差算法生成所述深度相机的内部参数,所述内部参数包括焦距、主点坐标和畸变系数;
基于所述内部参数构建深度相机模型,将获取的所述深度图像输入至所述深度相机模型,生成所述托盘原始点云数据。
5.根据权利要求4所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述方法还包括:
通过RANSAC算法对所述托盘原始点云数据进行迭代处理,基于迭代结果拟合出地面平面模型,所述地面平面模型包括拟合平面;
通过所述拟合出的地面平面模型设定拟合平面阈值;
确定与所述拟合平面的距离小于所述拟合平面阈值的所述托盘原始点云数据中的点为地面点云;
将所述地面点云在所述托盘原始点云数据中去除。
6.根据权利要求1所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述方法还包括:
根据托盘的结构特性和预设的托盘尺寸信息,生成托盘待叉平面三维模型;
基于所述托盘待叉平面三维模型,构造托盘待叉平面点云模板,所述模板包括托盘的关键几何特征和空间结构;
将构造的所述托盘待叉平面点云模板存储于所述托盘待叉平面点云模板库中。
7.根据权利要求6所述的一种基于图像处理的托盘位姿检测方法,其特征在于,所述方法还包括:
实时检测托盘尺寸或形状的变化;
当检测到需要适应新尺寸的托盘时,接收并处理所述新的托盘尺寸信息,重新生成与新尺寸相对应的托盘待叉平面点云模板,并将新生成的模板添加到所述托盘待叉平面点云模板库中;
若确认历史托盘已被淘汰或不再使用,从所述托盘待叉平面点云模板库中移除与该尺寸相对应的托盘待叉平面点云模板。
8.一种基于图像处理的托盘位姿检测***,其特征在于,包括:
数据生成模块,用于使用深度相机获取托盘的深度图像,并根据所述深度图像生成托盘原始点云数据;
预处理模块,用于对所述托盘原始点云数据进行预处理,所述预处理包括离群点去除,得到优化后的托盘点云数据;
模板库构造模块,用于根据托盘正面的法向量朝向约束来确定托盘的叉取平面,并基于预设的托盘尺寸信息来构造托盘待叉平面点云模板库;
确定模块,用于将所述优化后的托盘点云数据与托盘待叉平面点云模板进行匹配,以确定托盘的中心位置和旋转角度。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410656965.XA CN118229772A (zh) | 2024-05-24 | 2024-05-24 | 基于图像处理的托盘位姿检测方法、***、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410656965.XA CN118229772A (zh) | 2024-05-24 | 2024-05-24 | 基于图像处理的托盘位姿检测方法、***、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118229772A true CN118229772A (zh) | 2024-06-21 |
Family
ID=91510487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410656965.XA Granted CN118229772A (zh) | 2024-05-24 | 2024-05-24 | 基于图像处理的托盘位姿检测方法、***、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118229772A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111243015A (zh) * | 2018-11-29 | 2020-06-05 | 合肥泰禾光电科技股份有限公司 | 货箱位置检测方法及装置 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
CN114820391A (zh) * | 2022-06-28 | 2022-07-29 | 山东亚历山大智能科技有限公司 | 基于点云处理的仓储托盘检测定位方法及*** |
CN116081524A (zh) * | 2022-12-29 | 2023-05-09 | 杭州蓝芯科技有限公司 | 一种叉车托盘对接检测方法与检测*** |
CN116128841A (zh) * | 2023-01-11 | 2023-05-16 | 未来机器人(深圳)有限公司 | 托盘位姿检测方法及装置、无人叉车、存储介质 |
CN116309817A (zh) * | 2022-12-19 | 2023-06-23 | 东北大学 | 一种基于rgb-d相机的托盘检测与定位方法 |
WO2023168955A1 (zh) * | 2022-03-08 | 2023-09-14 | 北京京东乾石科技有限公司 | 拾取位姿信息确定方法、装置、设备和计算机可读介质 |
WO2023226676A2 (zh) * | 2022-05-25 | 2023-11-30 | 劢微机器人科技(深圳)有限公司 | 无人叉车高位货架放货方法、装置、设备及存储介质 |
WO2024051025A1 (zh) * | 2022-09-07 | 2024-03-14 | 劢微机器人科技(深圳)有限公司 | 托盘定位方法、装置、设备及可读存储介质 |
-
2024
- 2024-05-24 CN CN202410656965.XA patent/CN118229772A/zh active Granted
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111243015A (zh) * | 2018-11-29 | 2020-06-05 | 合肥泰禾光电科技股份有限公司 | 货箱位置检测方法及装置 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
WO2023168955A1 (zh) * | 2022-03-08 | 2023-09-14 | 北京京东乾石科技有限公司 | 拾取位姿信息确定方法、装置、设备和计算机可读介质 |
WO2023226676A2 (zh) * | 2022-05-25 | 2023-11-30 | 劢微机器人科技(深圳)有限公司 | 无人叉车高位货架放货方法、装置、设备及存储介质 |
CN114820391A (zh) * | 2022-06-28 | 2022-07-29 | 山东亚历山大智能科技有限公司 | 基于点云处理的仓储托盘检测定位方法及*** |
WO2024051025A1 (zh) * | 2022-09-07 | 2024-03-14 | 劢微机器人科技(深圳)有限公司 | 托盘定位方法、装置、设备及可读存储介质 |
CN116309817A (zh) * | 2022-12-19 | 2023-06-23 | 东北大学 | 一种基于rgb-d相机的托盘检测与定位方法 |
CN116081524A (zh) * | 2022-12-29 | 2023-05-09 | 杭州蓝芯科技有限公司 | 一种叉车托盘对接检测方法与检测*** |
CN116128841A (zh) * | 2023-01-11 | 2023-05-16 | 未来机器人(深圳)有限公司 | 托盘位姿检测方法及装置、无人叉车、存储介质 |
Non-Patent Citations (1)
Title |
---|
孟勃;刘雪君;: "一种自动、快速的Kinect标定方法", 计算机工程与科学, no. 06, 15 June 2016 (2016-06-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9189862B2 (en) | Outline approximation for point cloud of building | |
CN111524168B (zh) | 点云数据的配准方法、***、装置及计算机存储介质 | |
CN109919984A (zh) | 一种基于局部特征描述子的点云自动配准方法 | |
CN107767456A (zh) | 一种基于rgb‑d相机的物体三维重建方法 | |
WO2021052283A1 (zh) | 处理三维点云数据的方法和计算设备 | |
CN114359042A (zh) | 点云拼接方法和装置、三维扫描仪及电子设备 | |
Hu et al. | Efficient and automatic plane detection approach for 3-D rock mass point clouds | |
Tarsha Kurdi et al. | Automatic filtering and 2D modeling of airborne laser scanning building point cloud | |
CN116309880A (zh) | 基于三维重建的物***姿确定方法、装置、设备及介质 | |
CN110111375A (zh) | 一种Delaunay三角网约束下的影像匹配粗差剔除方法及装置 | |
CN116309817A (zh) | 一种基于rgb-d相机的托盘检测与定位方法 | |
CN114359383A (zh) | 一种图像定位方法、装置、设备以及存储介质 | |
CN116342585A (zh) | 一种产品缺陷检测方法、装置、设备及存储介质 | |
CN111739071A (zh) | 基于初始值的快速迭代配准方法、介质、终端和装置 | |
CN115222884A (zh) | 一种基于人工智能的空间对象分析及建模优化方法 | |
CN117765039A (zh) | 点云粗配准方法、装置及设备 | |
Elkhrachy | Feature extraction of laser scan data based on geometric properties | |
Honti et al. | Automation of cylinder segmentation from point cloud data | |
CN118229772A (zh) | 基于图像处理的托盘位姿检测方法、***、设备和介质 | |
CN115239776A (zh) | 点云的配准方法、装置、设备和介质 | |
Dantanarayana et al. | Object recognition and localization from 3D point clouds by maximum-likelihood estimation | |
Kovacs et al. | Edge detection in discretized range images | |
CN110399892B (zh) | 环境特征提取方法和装置 | |
Wu et al. | Point cloud registration algorithm based on the volume constraint | |
Yi et al. | Automatic detection of cross-shaped targets for laser scan registration |
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 |