CN115533902A - 一种基于视觉引导的拆垛方法、装置、电子设备及系统 - Google Patents
一种基于视觉引导的拆垛方法、装置、电子设备及系统 Download PDFInfo
- Publication number
- CN115533902A CN115533902A CN202211204153.9A CN202211204153A CN115533902A CN 115533902 A CN115533902 A CN 115533902A CN 202211204153 A CN202211204153 A CN 202211204153A CN 115533902 A CN115533902 A CN 115533902A
- Authority
- CN
- China
- Prior art keywords
- box
- box body
- area
- point cloud
- rectangular frame
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种基于视觉引导的拆垛方法、装置、电子设备及系统,应用于计算机视觉技术领域,通过提取箱垛的顶层箱体点云区域,确定顶层箱体点云区域在可见光图像中对应的区域,可以过滤掉可见光图像中非顶层箱体的干扰区域,对顶层箱体的箱体掩膜区域进行箱体实例分割,能够减少可见光图像中其他信息的干扰,从而提高箱体分割区域定位的准确性;此外还结合箱体为矩形的特点,通过矩形与直线的查找,筛选出最优的矩形,然后在进行矩形边缘的校正,从而得到箱体的校正后的矩形框,最终能够有效提升拆垛时箱体的定位精度。
Description
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种基于视觉引导的拆垛方法、装置、电子设备及系统。
背景技术
利用视觉引导机械臂执行箱体的拆垛任务的技术,在物流、仓储等领域受到广泛应用。所谓视觉引导,即利用视觉装置获取箱垛的图像和三维点云信息,通过图像处理和点云处理等方法确定每一个待拆箱体的6个方向自由度(6Degree of Freedom,6DOF)的空间位姿(X,Y,Z,Rx,Ry,Rz),最后控制机械臂进行抓取。
现有的基于视觉引导的拆垛方法中,采集箱垛的二维图像及三维点云数据,通过计算机视觉技术直接对二维图像进行箱体的识别,从而得到二维图像中各箱体的位置;基于二维图像与点云数据的坐标转换关系,确定二维图像中各箱体在点云数据中的映射区域,得到三维空间中各箱体的位置;然后将箱体在三维空间中的位置,转换为机械臂对应的6DOF空间位姿,从而利用机械臂进行拆垛。但是采用上述方法,箱体位置识别严重依赖二维图像中箱体的识别精度,存在定位精度较低的技术问题。
发明内容
本申请实施例的目的在于提供一种基于视觉引导的拆垛方法、装置、电子设备及系统,用以提升拆垛时箱体的定位精度。具体技术方案如下:
根据本申请实施例的第一方面,提供一种基于视觉引导的拆垛方法,包括:
获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体;
基于所述深度图,提取所述箱垛的顶层箱体点云区域;
确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域;
对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域;
根据每个箱体的分割区域,对所述箱垛进行拆垛。
在一种可能的实施方式中,所述基于所述深度图,提取所述箱垛的顶层箱体点云区域,包括:
在深度图像坐标系下,将所述深度图转换为第一点云数据;
将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域。
在一种可能的实施方式中,所述对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,包括:
利用预先训练的深度学习模型,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,其中,所述深度学习模型通过样本箱体掩膜图像训练得到,所述样本箱体掩膜图像为样本箱垛中顶层箱体的图像。
在一种可能的实施方式中,所述根据每个箱体的分割区域,对所述箱垛进行拆垛,包括:
针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征;
针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
按照每个箱体的箱体矩形框,对所述箱垛进行拆垛。
在一种可能的实施方式中,所述针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征,包括:
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,在所述深度图中确定该箱体的边缘像素区域;
对该箱体的边缘像素区域进行直线特征提取,得到该箱体的边缘直线特征。
在一种可能的实施方式中,所述针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框,包括:
计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框。
在一种可能的实施方式中,所述针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框,包括:
针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框。
在一种可能的实施方式中,所述根据各所述候选矩形框的候选得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框,包括:
在各所述候选矩形框中,选取得分最高的前N个候选矩形框作为种子矩形框,其中,N为预设的整数;
针对所述N个种子矩形框中的每一个候选矩形框,将该候选矩形框作为基准,以得分、干涉程度、箱体数量作为约束条件,确定包括该候选矩形框的一组候选矩形框;
在N组候选矩形框中,选取得分最高的一组,得到每个箱体的箱体矩形框。
在一种可能的实施方式中,所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛的步骤之前,所述方法还包括:
针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正;
所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛,包括:
按照每个箱体的修正后的箱体矩形框,对所述箱垛进行拆垛。
根据本申请实施例的第二方面,提供一种基于视觉引导的拆垛装置,包括:
获取模块,用于获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体;
提取模块,用于基于所述深度图,提取所述箱垛的顶层箱体点云区域;
获得模块,用于确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域;
分割模块,用于对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域;
拆垛模块,用于根据每个箱体的分割区域,对所述箱垛进行拆垛。
在一种可能的实施方式中,所述提取模块,包括:
转换子模块,用于在深度图像坐标系下,将所述深度图转换为第一点云数据;
第一映射子模块,用于将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
分割子模块,用于对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
第一选取子模块,用于在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域。
在一种可能的实施方式中,所述分割模块,具体用于:
利用预先训练的深度学习模型,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,其中,所述深度学习模型通过样本箱体掩膜图像训练得到,所述样本箱体掩膜图像为样本箱垛中顶层箱体的图像。
在一种可能的实施方式中,所述拆垛模块,包括:
第一提取子模块,用于针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
第二映射子模块,用于将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
第二提取子模块,用于针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
确定子模块,用于针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征;
拼接子模块,用于针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
第二选取子模块,用于针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
拆垛子模块,用于按照每个箱体的箱体矩形框,对所述箱垛进行拆垛。
在一种可能的实施方式中,所述确定子模块,具体用于:
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,在所述深度图中确定该箱体的边缘像素区域;
对该箱体的边缘像素区域进行直线特征提取,得到该箱体的边缘直线特征。
在一种可能的实施方式中,所述拼接子模块,包括:
第一计算单元,用于计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
转换单元,用于针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
拼接单元,用于按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框。
在一种可能的实施方式中,所述第二选取子模块,包括:
第二计算单元,用于针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
第三计算单元,用于针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
第四计算单元,用于根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
第一确定单元,用于根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框。
在一种可能的实施方式中,所述确定单元,具体用于:
在各所述候选矩形框中,选取得分最高的前N个候选矩形框作为种子矩形框,其中,N为预设的整数;
针对所述N个种子矩形框中的每一个候选矩形框,将该候选矩形框作为基准,以得分、干涉程度、箱体数量作为约束条件,确定包括该候选矩形框的一组候选矩形框;
在N组候选矩形框中,选取得分最高的一组,得到每个箱体的箱体矩形框。
在一种可能的实施方式中,所述装置还包括:
第一扩展单元,用于在按照每个箱体的箱体矩形框,对所述箱垛进行拆垛步骤之前,针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
第二扩展单元,用于在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
第二确定单元,用于确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
修正单元,用于以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正;
所述拆垛子模块,具体用于:按照每个箱体的修正后的箱体矩形框,对所述箱垛进行拆垛。
根据本申请实施例的第三方面,提供一种电子设备,包括:包括处理器及存储器;
所述存储器存储有可被所述至少一个处理器执行的指令
所述指令被所述至少一个处理器执行,以使所述上述任一所述的基于视觉引导的拆垛方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的基于视觉引导的拆垛方法。
根据本申请实施例的第五方面,提供一种视觉引导拆垛系统,包括:
深度相机、拆垛机械臂及控制设备;
所述深度相机,用于采集箱垛的深度图和可见光图像;
所述拆垛机械臂,用于响应于所述控制设备的指令,对所述箱垛进行拆垛;
所述控制设备,用于在运行时,实现上述任一所述的基于视觉引导的拆垛方法。
本申请实施例有益效果:
本申请实施例提供的技术方案中,通过提取箱垛的顶层箱体点云区域,确定顶层箱体点云区域在可见光图像中对应的区域,可以过滤掉可见光图像中非顶层箱体的干扰区域,对顶层箱体的箱体掩膜区域进行箱体实例分割,相当于结合了深度图和可见光图像二者的信息进行箱体实例分割,能够提高箱体分割区域定位的准确性;此外仅对顶层箱体的箱体掩膜区域进行箱体实例分割,仅对相比于对整个可见光图像进行实例分割,能够减少可见光图像中其他信息的干扰,从而提高箱体分割区域定位的准确性,最重能够有效提升拆垛时箱体的定位精度。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的基于视觉引导的拆垛方法的第一种流程图;
图2为本申请实施例提供的提取箱垛的顶层箱体点云区域的流程图;
图3为本申请实施例提供的深度学习模型实例分割训练的流程图;
图4为本申请实施例提供的基于视觉引导的拆垛方法的第二种流程图;
图5为本申请实施例提供的候选矩形框拼接的流程图;
图6为本申请实施例提供的确定箱体矩形框的流程图;
图7为本申请实施例提供的最优矩形框筛选的一种流程图;
图8为本申请实施例提供的箱体矩形框轮廓精修的流程图;
图9为本申请实施例提供的抓取位姿计算的流程图;
图10为本申请实施例提供的基于视觉引导的拆垛装置的第一种结构示意图;
图11为本申请实施例提供的基于视觉引导的拆垛装置的第二种结构示意图;
图12为本申请实施例提供的基于视觉引导的拆垛装置的第三种结构示意图;
图13为本申请实施例提供的基于视觉引导的拆垛装置的第四种结构示意图;
图14为本申请实施例提供的一种电子设备的示意图;
图15为本申请实施例提供的另一种电子设备的示意图;
图16为本申请实施例提供的标定情况的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为了提升拆垛时箱体的定位精度,本申请实施例提供了一种基于视觉引导的拆垛方法、装置、电子设备及系统,下面分别进行详细说明。
图1为本申请实施例提供的基于视觉引导的拆垛方法的第一种流程图。如图1所示,包括以下步骤:
步骤S110,获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体。
箱垛是由箱体堆叠而成的,箱垛中包括至少一个箱体。可以通过深度相机,例如通过RGBD相机,来采集得到箱垛的深度图和可见光图像。
步骤S120,基于所述深度图,提取所述箱垛的顶层箱体点云区域。
深度图包括箱垛的长、宽、高三个维度上的信息,考虑到拆垛必然是从箱垛的顶层箱体开始的,利用深度图可以提取到箱垛的顶层箱体点云区域。例如,可以将箱垛的深度图转换为箱垛的点云数据,并提取顶层箱体的点云从而得到顶层箱体点云区域。
步骤S130,确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域。
将顶层箱体点云区域转换到可见光图像的图像坐标系中,得到可将光图像中顶层箱体的区域,称为箱体掩膜区域。
步骤S140,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域。
利用计算机视觉技术,对箱体掩膜区域进行箱体实例的分割,从而得到每个箱体各自的分割区域。
步骤S150,根据每个箱体的分割区域,对所述箱垛进行拆垛。
在得到基于二维可见光图像的箱体分割区域后,便可以根据箱体的分割区域,控制机械臂对箱垛进行拆垛。
本申请实施例提供的技术方案中,通过提取箱垛的顶层箱体点云区域,确定顶层箱体点云区域在可见光图像中对应的区域,可以过滤掉可见光图像中非顶层箱体的干扰区域,对顶层箱体的箱体掩膜区域进行箱体实例分割,相当于结合了深度图和可见光图像二者的信息进行箱体实例分割,能够提高箱体分割区域定位的准确性;此外仅对顶层箱体的箱体掩膜区域进行箱体实例分割,仅对相比于对整个可见光图像进行实例分割,能够减少可见光图像中其他信息的干扰,从而提高箱体分割区域定位的准确性,最重能够有效提升拆垛时箱体的定位精度。
在提取箱垛的顶层箱体点云区域时,需要将深度图像转换成点云数据,在一种可能的实施方式中,参见图2,所述提取箱垛的顶层箱体点云区域可以包括以下步骤:
步骤S121,在深度图像坐标系下,将所述深度图转换为第一点云数据;
深度图包括箱垛的长、宽、高三个维度上的信息,根据这三个维度上的信息,可以得到箱垛在深度图像坐标系下的点云数据,即第一点云数据。
步骤S122,将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
按照预先标定的深度图像坐标系与箱垛坐标系的对应关系,将第一点云数据转换到箱垛的坐标系下,得到的第二点云数据。
在拆垛场景中,如图16所示,箱垛1063堆叠在垛板1064上,RGBD相机1061通过支撑杆1062设置在箱垛1063的上方。其中,RGBD相机1061包括左目相机Left,右目相机Right及可将光相机RGB。可以先标定深度图像坐标系到垛板平面坐标系的位姿变换矩阵Rw,Tw,在垛板平面坐标系的基础上增加高度维度,便得到了箱垛坐标系。一个例子中,深度图像坐标系到垛板平面坐标系转换矩阵的标定可以通过以下两种方案实现:
1)标定板标定:RGBD相机包括左目相机、RGB相机及右目相机,通过左目相机及右目相机可以采集得到深度图,通过RGB相机可以得到可见光图像,根据RGBD相机的出厂参数,可以得到深度图像坐标系与可见光图像的转换矩阵(Rw,Tw)。使用一张标定板平放在垛板上,控制RGB相机采集一张2D可见光图像,提取标定图像特征点并计算RGB相机到垛板的外参,最后利用RGB相机到深度相机的转换矩阵(Rc,Tc),计算得到深度图像坐标系到垛板平面坐标系的转换矩阵(Rw,Tw)。其中,标定板可以选用棋盘格、圆等标定板,外参计算可以采用张正友平面标定方法。
2)深度图标定:控制深度相机采集一张空垛板深度图,提取出垛板上的点云,采集的点云数据在深度图像坐标系下,对其进行平面拟合,以拟合平面的法向量和点云重心构建垛板坐标系(Xw,Yw,Zw),进而根据坐标轴与原点对齐的方法计算得到深度图像坐标系到垛板平面坐标系的转换矩阵(Rw,Tw)。
步骤S123,对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
一个例子中,可以利用点云分割方法对所述第二点云数据进行分割,将相同平面特征的点云划分成一类,其中,点云分割可以采用凹凸性聚类、法向聚类、迭代RANSAC(Random Sample Consensus,随机抽样一致)平面搜索等方法。
步骤S124,在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域。
一个例子中,可以对点云分割获得的各点云分类按照高度进行排序,保留最高层的点云,得到所述箱垛的顶层箱体点云区域。
在后续获得箱体掩膜区域的过程中,可以利用标定的转换矩阵Rw,Tw和Rc,Tc将所述箱垛的顶层箱体点云数据转换到RGB相机坐标系下,通过RGB相机内参投影到RGB图像坐标系中生成掩模图,随后确定所述顶层箱体点云区域在所述可见光图像中对应的区域,将所述掩模图中无效像素点对应的RGB信息去除,仅保留顶层箱体点云区域对应的可见光图像RGB信息。
通过顶层箱体点云可以去除RGB图中的干扰背景,对可见光图像中只保留顶层箱体部分的RGB图进行实例分割,在训练模型的过程中无需采集大量的样本,提升实例分割模型的泛化性,并且能够有效降低误检比例。
箱体掩膜区域的分割可以通过预先训练的深度学习模型实现,在一种可能的实施方式中,所述对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,包括:利用预先训练的深度学习模型,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,其中,所述深度学习模型通过样本箱体掩膜图像训练得到,所述样本箱体掩膜图像为样本箱垛中顶层箱体的图像。
一个例子中,参见图3,图3为本申请实施例提供的深度学习模型实例分割训练的流程图。如图3所示,深度学习模型实例分割训练可以包括以下步骤:
步骤S301,搭建实例分割深度学习模型框架;
例如,可以利用Tensorflow深度学习框架,借助keras应用建立深度学习模型库。
步骤S302,获取样本箱垛中保留顶层箱体RGB信息的箱体掩膜图像作为样本图像数据;
步骤S303,将箱体的样本图像数据集作为训练集,对深度学习模型进行训练;
步骤S304,在深度学习模型的损失收敛或达到预设训练次数时,得到预先训练的深度学习模型。
基于深度学习模型的预测结果及样本图像数据的真值标定,计算深度学习模型的损失,在深度学习模型的损失收敛或达到预设训练次数时,完成训练过程,得到预先训练的深度学习模型
本实施例中,深度学习模型利用仅包括样本箱垛中顶层箱体的样本箱体掩膜图像训练得到,相比于用整个箱体的样本图像进行训练,因为可以有效减少顶层箱体外其他信息的干扰,因此其分割结果更准确,模型训练速度也更快。
将拍照得到的可见光图像作为深度学习模型的输入,训练好的深度学习模型会判别分割出目标箱体的掩模作为输出,能够快速地将箱垛中的箱体分割出来,并且有效提升深度学习分割结果的检出率和准确性。
在得到箱体的分割区域后,可以将分割区域进一步进行转换,从而得到每个箱体的箱体矩形框。在一种可能的实施方式中,如图4所示,根据每个箱体的分割区域进行拆垛可以包括以下步骤:
步骤S151,针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
一个例子中,根据深度学习模型获得的实例分割掩模粗定位结果,RGB图像坐标系中,遍历实例分割掩模,可以提取该箱体的分割区域的图像边缘特征,或根据掩模图中的像素点坐标,获取对应的灰度数据,进而提取灰度图像的图像边缘特征;其中,灰度边缘特征提取可以采用Canny算子实现。
步骤S152,将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
一个例子中,深度图转换成的点云数据可以为上述第一点云数据,可以将每个箱体的分割区域映射到深度图像坐标系下的第一点云数据中,得到每个箱体的点云映射区域;一个例子中,深度图转换成的点云数据可以为上述第二点云数据,可以将每个箱体的分割区域映射到箱垛坐标系下的第二点云数据中,得到每个箱体的点云映射区域。
步骤S153,针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
例如,点云边缘特征的提取可以使用积分图实现。
步骤S154,针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征。
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,在所述深度图中确定该箱体的边缘像素区域;对该箱体的边缘像素区域进行直线特征提取,得到该箱体的边缘直线特征。直线特征的提取可以采用霍夫变换、短直线聚类或链搜索等方法实现,均在本申请的保护范围内。
本实施例中,基于箱体抓取面是矩形的特性,可以根据灰度图的纹理、边缘点和点云边缘进行该箱体的边缘直线特征的提取,其中,直线特征提取可以采用霍夫变换、短直线聚类以及链搜索方法实现。
步骤S155,针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
根据箱体的分割区域的粗定位和箱体平面的约束,计算箱体尺寸范围,进行边缘特征拼接,可以获得尺寸与角度满足条件的候选矩形框。
步骤S156,针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
遍历筛选候选矩形框,对每一个拼接得到的候选矩形框进行得分计算,所述得分计算可以为图像属性类加权求和计算;可以根据矩形的交并比、两两相邻矩形的干涉关系,将结果最优的一组候选矩形框作为箱体矩形框。
步骤S157,按照每个箱体的箱体矩形框,对所述箱垛进行拆垛。
通过在实例分割掩模中分别提取图像边缘特征与点云数据特征,两者结合确定边缘像素区域,进而提取直线边缘特征,结合箱体的分割区域的粗定位与箱体平面约束,获得候选矩形框,可以有效提升箱体抓取面的定位精度。
候选矩形框可以基于箱体尺寸及矩形框约束条件得到,在一种可能的实施方式中,如图5所示,所述针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框,包括:
步骤S501,计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
可以对箱体点云区域进行平面拟合,保存顶层箱体的点云区域,计算可见光图像坐标系到顶层箱体点云区域的顶层箱体坐标系的转换矩阵Rb,Tb,作为第一转换关系,其中,平面拟合可以通过一致性算法实现。
步骤S502,针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
可以将深度图像坐标系下的图像边缘特征,通过转换矩阵Rb,Tb和Rc,Tc,转换为在顶层箱体坐标系中的长度边缘特征。
步骤S503,按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框。
可以根据箱体的实例分割区域和箱体平面,在顶层箱体坐标系中,计算箱体的尺寸范围,基于尺寸范围与矩形角度阈值对物理平面的直线特征进行矩形拼接,保留尺寸与角度满足条件的候选矩形框。其中,矩形角度阈值为预设的矩形框的几何条件,进行矩形拼接时,4个角度值需满足预设的几何条件。
通过计算箱体的尺寸范围并结合预设的矩形角度阈值进行候选矩形框的拼接,可以有效提升箱体候选矩形框拼接的精度。
箱体可能包括多个候选矩形框,需要在候选矩形框中进行进一步的选取,从而得到箱体的箱体矩形框。在一种可能的实施方式中,如图6所示,所述针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框,包括:
步骤S601,针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
其中,投影点云占空比为将矩形框的点云投影到一个平面模型上之后,输出的投影到模型上的点云所占的面积比例;投影点云占空比越大表明矩形框形状越规范;图像边缘强度为边缘点梯度的幅值,可以通过梯度算子计算;矩形度体现物体对其外接矩形的充满程度,反映一个物体与矩形相似程度的一个参数。
步骤S602,针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
一个例子中,针对每一个候选矩形框,可以对该候选矩形框的矩形度、投影点云占空比、图像边缘强度进行加权求和,计算得到该候选矩形框的得分。
步骤S603,根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
候选矩形框之间的干涉程度可以为候选矩形框之间的重叠面积的占比。一个例子中,可以根据矩形的交并比计算得到两两相邻矩形的干涉关系,构建一张邻接表,邻接表内选项有“邻接、不干涉、干涉以及干涉面积”。例如,可以在其中一个矩形上建立局部坐标系,并计算出不干涉边界上8个顶点在局部坐标系下的坐标。再将另一个矩形形心的坐标换算到局部坐标系下,判断该形心是否在不干涉边界内。若形心落在不干涉边界内部,则两平面矩形干涉,否则不干涉。
步骤S604,根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框。
候选矩形框的得分越高,该候选矩形框确定为箱体矩形框的概率也就越大;相邻候选矩形框之间的干涉程度越小,该相邻候选矩形框确定为箱体矩形框的概率也就越大。可以结合候选矩形框的得分、相邻候选矩形框之间的干涉程度,进行约束条件的限制,从而得到每个箱体的箱体矩形框。
针对每一个候选矩形框进行图像属性类加权求和计算,并对其两两相邻矩形的干涉关系进行计算,作为确定箱体矩形框的筛选条件,能够有效提升箱体矩形框的稳定性。
在一种可能的实施方式中,如图7所示,所述根据各所述候选矩形框的候选得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框,包括:
步骤S701,在各所述候选矩形框中,选取得分最高的前N个候选矩形框,作为种子矩形框;其中,N为预设的整数;
一个例子中,为了防止计算量过大,取N≤5,当N=5时,即在各候选矩形框中,选取得分最高的前5个候选矩形框。
步骤S702,针对所述N个种子矩形框中的每一个候选矩形框,可以将该候选矩形框作为基准,以得分、干涉程度、箱体数量作为约束条件,确定包括该候选矩形框的一组候选矩形框;
具体的,当N=5时,将得分最高的前5个候选矩形框作为种子矩形框,分别将每一个种子矩形框作为基准,可以采用深度优先遍历算法,以得分、干涉程度、箱体数量作为约束条件进行搜索,确定当前基准矩形的候选矩形框,得到包括该种子矩形框的一组候选矩形框,选取5组候选矩形框;其中,矩形得分越大越好,干涉程度越小越好,箱体数量越多越好,即以当前基准矩形搜索得到的候选矩形数要尽量多。
下面以一组候选矩形框的计算为例,介绍每一组候选矩形框的选取过程,可以理解的是,以下过程仅为举例,并不用于限制本申请的保护范围。
一个例子中,假设一组候选矩形框中有m个矩形,提供一种可实现的步骤如下:
步骤1:按照深度优先遍历的方式获取一组矩形框;
一个例子中,以一个种子矩形框作为基准,遍历各候选矩形框,在该种子矩形框的外围、与该种子矩形框相邻的各候选矩形框中进行获取,得到一组矩形框。
步骤2:计算这组候选矩形框的矩形得分之和,即把每个矩形框的得分相加;
一个例子中,可以根据矩形度、投影点云占空比、图像边缘强度等属性进行加权求和计算各候选矩形的得分。
步骤3:计算这组候选矩形框的干涉程度;
一个例子中,可以对候选矩形框中的每个矩形进行重叠面积计算,得到一组候选矩形框的平均重叠率;
具体的,对于每一个矩形,统计得到候选矩形框中与该矩形重叠面积最大的重叠率;然后将每个矩形对应的最大重叠率相加,再除以候选矩形框的数量m,得到平均重叠率;最后再用平均重叠率加1作为干涉程度,其中,加1是为了防止平均重叠率为0,候选矩形中任意两个矩形所重叠的面积越小,干涉程度越小,干涉得分越高。
步骤4:结合矩形得分、干涉程度及矩形数量,计算加权得分。
一个例子中,结合以当前种子矩形框作为基准,搜索得到的候选矩形数量m,分别对上述得到的矩形框得分、干涉程度以及矩形数量m进行加权得分,其中,矩形框得分的权重与得分值呈正相关,干涉程度得分的权重与得分值呈负相关,箱体数量m值与得分值呈正相关。
步骤S703,在N组候选矩形框中,选取得分最高的一组,得到每个箱体的箱体矩形框。
基于上述步骤,得到以种子矩形框作为基准的N组候选矩形框,对每一组候选矩形框进行计算,得到加权得分,选取加权得分值最大的一组确定为每个箱体的最优矩形框筛选结果,作为箱体矩形框。
针对于已经计算的每一个候选矩形框,分别将以种子矩形框作为基准,以矩形得分、干涉程度,以及该候选矩形框的箱体数量作为约束条件,获得包括该候选矩形框的一组候选矩形框,作为最优的箱体矩形框,能够有效提升箱体定位的精度和稳定性。
为了进一步提高箱体定位的准确度,在一种可能的实施方式中,如图8所示,在所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛的步骤之前,所述方法还包括:
步骤S801,针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
可以提取箱体矩形框深度图像边缘一定宽度邻域内等密度的深度像素区域,作为深度边缘修正的提取候选点;
步骤S802,在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
可以提取箱体矩形框可见光图像边缘一定宽度邻域内等密度的可见光像素区域,作为可见光边缘修正的提取候选点;
步骤S803,确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
步骤S804,以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正。
具体的,修正过程是对矩形框的四条边分别进行修正,可以结合可见光图像梯度和深度点云边缘交集区域,利用RANSAC思想在交集区域内提取直线,构造修正约束条件确定精修后的直线,其中,以图像梯度、线段邻域内的灰度边缘点直线度、所修正的矩形边缘线段与真实的顶层箱体深度边缘距离作为约束条件进行边缘修正。
本实施例中,所修正的矩形边缘线段上的图像梯度和要尽量大;沿着法线方向与所修正矩形边缘线段距离最近的灰度图像边缘点的直线度(直线拟合误差)要尽量小;所修正的矩形边缘线段与真实的顶层箱体深度边缘距离要尽量小。
修正过程是对矩形框的四条边分别进行修正,下面以矩形框一条边为例,介绍边缘修正过程,其余3条边修正步骤相同。可以理解的是,以下过程仅为举例,并不用于限制本申请的保护范围。
一个例子中,可以结合可见光图像梯度和深度点云边缘交集区域,可以利用RANSAC思想在交集区域内提取直线,构造修正约束条件确定精修后的直线,其中,修正的约束目标可以表示为约束得分最高,例如,约束得分可以为边的图像梯度得分、灰度边缘点直线度得分、距离顶层箱体点云区域边缘的距离得分的加权和,其中,矩形边缘线段上的图像梯度越强边的图像梯度得分越高;灰度边缘点直线度越好灰度边缘点直线度得分越高;顶层箱体点云区域边缘的距离越近,距离顶层箱体点云区域边缘的距离得分越高。
可以在该箱体矩形框的交集区域中根据预设数量随机或根据像素间隔等间隔地提取多条候选直线,对多条候选直线进行加权得分计算,选取加权得分最高的一组作为修正直线。本实施例中,对于候选直线地提取不作具体限定,可根据实际情况选择提取方式。
以一条候选直线的得分计算为例,提供一种可实现的步骤如下:
步骤1:在候选直线上均匀采样,得到N个点;
一个例子中,可以利用RANSAC思想,在交集区域一定宽度W邻域内,等密度地提取候选点,采样密度可以设置为2~5个像素。
步骤2:计算候选直线上的梯度总和,即将N个采样点的梯度相加。
步骤3:计算候选直线的灰度边缘直线度;
一个例子中,可以先沿着直线法向搜索,得到距离每个采样点最近的灰度边缘点,对这些灰度边缘点进行最小二乘直线拟合,将计算得到的直线拟合误差值加1作为直线度,其中,加1是为了防止拟合误差为0。
步骤4:计算该候选直线到该候选直线对应的顶层箱体深度边缘的距离,再加1作为距离得分,其中,加1是为了防止距离得分为0。
步骤5:结合图像梯度、灰度边缘直线度、候选直线到该候选直线对应的顶层箱体深度边缘的距离,计算候选直线的加权得分。
一个例子中,将该候选直线计算得到的梯度总和、灰度边缘直线度、到该候选直线对应的顶层箱体深度边缘的距离进行加权得分,其中,图像梯度值的权重与得分值呈正相关,灰度边缘点直线度,即直线拟合误差值的权重与得分值呈负相关,候选直线到该候选直线对应的顶层箱体深度边缘距离的权重与得分值呈负相关。
基于上述步骤,对每一条候直线进行计算,得到加权得分,选取加权得分值最大的一组确定为边缘精修后的直线,作为修正结果。
所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛,包括:
按照每个箱体的修正后的箱体矩形框,对所述箱垛进行拆垛。
本实施例中,边缘修正可以在垛板坐标系下进行修正,也可以在箱垛基准面坐标系下进行修正,通过边缘修正,能够有效提升箱体矩形框的精度和稳定性。
一个例子中,图9为本申请实施例提供的抓取位姿计算的流程图。如图9所示,抓取位姿计算可以包括以下步骤:
步骤S901,基于箱体矩形框,在深度相机坐标系下,重新提取箱体表面的点云,并进行点云平面拟合;
具体的,点云平面拟合可以采用全局最小二乘拟合、RANSAC拟合等方法。
步骤S902,以点云重心、法线计算抓取点(X,Y,Z,Rx,Ry,Rz);
步骤S903,以点云轮廓计算最小外接矩形;
本实施例中,最小外接矩形是指以二维坐标表示的二维矩形的最大范围,即以给定的二维矩形各顶点中的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标定下边界的矩形。
步骤S904,对所有的抓取位姿按照得分进行排序并输出;
具体的,位姿得分可以根据高度、点云面积等属性加权求和计算得到。
本方案适用于单品类箱体单拆、多品类箱体单拆以及多品类箱体混拆等场景,具有场景适用性好、部署效率高的优点。
基于相同的发明构思,与视觉引导的拆垛方法相应的提供了一种基于视觉引导的拆垛装置,图10为本申请实施例提供的基于视觉引导的拆垛装置的第一种结构示意图,该装置包括:
获取模块110,用于获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体;
提取模块120,用于基于所述深度图,提取所述箱垛的顶层箱体点云区域;
获得模块130,用于确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域;
分割模块140,用于对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域;
拆垛模块150,用于根据每个箱体的分割区域,对所述箱垛进行拆垛。
本申请实施例提供的技术方案中,通过提取箱垛的顶层箱体点云区域,确定所述顶层箱体点云区域在所述可见光图像中对应的区域,过滤掉干扰背景信息,获得箱体掩膜区域,将可见光图像特征与深度图像特征结合,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,以此对所述箱垛进行拆垛,从而达到能够有效提升拆垛时目标箱体定位精度的目的。
在一种可能的实施方式中,参见图11,所述提取模块120可以包括:
转换子模块121,用于在深度图像坐标系下,将所述深度图转换为第一点云数据;
第一映射子模块122,用于将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
分割子模块123,用于对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
第一选取子模块124,用于在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域。
通过顶层箱体点云可以去除RGB图中的干扰背景,对可见光图像中只保留顶层箱体部分的RGB图进行实例分割,在训练模型的过程中无需采集大量的样本,提升实例分割模型的泛化性,并且能够有效降低误检比例。
在一种可能的实施方式中,如图12所示,拆垛模块150可以包括:
第一提取子模块151,用于针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
第二映射子模块152,用于将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
第二提取子模块153,用于针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
确定子模块154,用于针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征;
拼接子模块155,用于针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
具体的,第一计算单元1551,用于计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
转换单元1552,用于针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
拼接单元1553,用于按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框。
第二选取子模块156,用于针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
具体的,第二计算单元1561,用于针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
第三计算单元1562,用于针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
第四计算单元1563,用于根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
第一确定单元1564,用于根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框。
拆垛子模块157,用于按照每个箱体的箱体矩形框,对所述箱垛进行拆垛。
通过在实例分割掩模中分别提取图像边缘特征与点云数据特征,两者结合确定边缘像素区域,进而提取直线边缘特征,结合箱体的分割区域的粗定位与箱体平面约束,获得候选矩形框,可以有效提升箱体抓取面的定位精度。
在一种可能的实施方式中,如图13所示,该装置还可以包括:
第一扩展单元1401,用于在按照每个箱体的箱体矩形框,对所述箱垛进行拆垛步骤之前,针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
第二扩展单元1402,用于在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
第二确定单元1403,用于确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
修正单元1404,用于以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正。
本实施例中,边缘修正可以在垛板坐标系下进行修正,也可以在箱垛基准面坐标系下进行修正,通过边缘修正,能够有效提升箱体矩形框的精度和稳定性。
本申请实施例还提供了一种电子设备,如图14所示,包括处理器151及存储器152;
所述存储器152存储有可被所述至少一个处理器151执行的指令;
所述指令被所述至少一个处理器151执行,以使所述至少一个处理器151能够执行本申请中任一所述的基于视觉引导的拆垛方法。
在一种可能的实施方式中,如图15所示,所述电子设备还包括通信总线154及通信接口153。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。在一种可能的实施方式中,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行上述任一所述的基于视觉引导的拆垛方法。
本申请实施例还提供的一种视觉引导拆垛系统,包括深度相机、拆垛机械臂及控制设备;
所述深度相机,用于采集箱垛的深度图和可见光图像;
所述拆垛机械臂,用于响应于所述控制设备的指令,对所述箱垛进行拆垛;
所述控制设备,用于在运行时,实现上述任一所述的基于视觉引导的拆垛方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种基于视觉引导的拆垛方法,其特征在于,所述方法包括:
获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体;
基于所述深度图,提取所述箱垛的顶层箱体点云区域;
确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域;
对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域;
根据每个箱体的分割区域,对所述箱垛进行拆垛。
2.根据权利要求1所述的方法,其特征在于,所述基于所述深度图,提取所述箱垛的顶层箱体点云区域,包括:
在深度图像坐标系下,将所述深度图转换为第一点云数据;
将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域。
3.根据权利要求1所述的方法,其特征在于,所述对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,包括:
利用预先训练的深度学习模型,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,其中,所述深度学习模型通过样本箱体掩膜图像训练得到,所述样本箱体掩膜图像为样本箱垛中顶层箱体的图像。
4.根据权利要求1所述的方法,其特征在于,所述根据每个箱体的分割区域,对所述箱垛进行拆垛,包括:
针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征;
针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
按照每个箱体的箱体矩形框,对所述箱垛进行拆垛。
5.根据权利要求4所述的方法,其特征在于,所述针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征,包括:
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,在所述深度图中确定该箱体的边缘像素区域;
对该箱体的边缘像素区域进行直线特征提取,得到该箱体的边缘直线特征。
6.根据权利要求4所述的方法,其特征在于,所述针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框,包括:
计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框。
7.根据权利要求4所述的方法,其特征在于,所述针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框,包括:
针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框。
8.根据权利要求7所述的方法,其特征在于,所述根据各所述候选矩形框的候选得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框,包括:
在各所述候选矩形框中,选取得分最高的前N个候选矩形框作为种子矩形框;其中,N为预设的整数;
针对所述N个种子矩形框中的每一个候选矩形框,将该候选矩形框作为基准,以得分、干涉程度、箱体数量作为约束条件,确定包括该候选矩形框的一组候选矩形框;
在N组候选矩形框中,选取得分最高的一组,得到每个箱体的箱体矩形框。
9.根据权利要求4所述的方法,其特征在于,在所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛的步骤之前,所述方法还包括:
针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正;
所述按照每个箱体的箱体矩形框,对所述箱垛进行拆垛,包括:
按照每个箱体的修正后的箱体矩形框,对所述箱垛进行拆垛。
10.一种基于视觉引导的拆垛装置,其特征在于,所述装置包括:
获取模块,用于获取箱垛的深度图和可见光图像,其中,所述箱垛包括至少一个箱体;
提取模块,用于基于所述深度图,提取所述箱垛的顶层箱体点云区域;
获得模块,用于确定所述顶层箱体点云区域在所述可见光图像中对应的区域,获得箱体掩膜区域;
分割模块,用于对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域;
拆垛模块,用于根据每个箱体的分割区域,对所述箱垛进行拆垛。
11.根据权利要求10所述的装置,其特征在于,所述提取模块,包括:
转换子模块,用于在深度图像坐标系下,将所述深度图转换为第一点云数据;
第一映射子模块,用于将所述第一点云数据映射到所述箱垛的坐标系下,得到第二点云数据;
分割子模块,用于对所述第二点云数据进行分割,得到至少一个点云分类,其中,同一点云分类中的各点云的平面特征相同;
第一选取子模块,用于在所述至少一个点云分类中,选取高度最高的点云分类,得到所述箱垛的顶层箱体点云区域;
所述分割模块,具体用于:
利用预先训练的深度学习模型,对所述箱体掩膜区域进行箱体实例分割,得到每个箱体各自的分割区域,其中,所述深度学习模型通过样本箱体掩膜图像训练得到,所述样本箱体掩膜图像为样本箱垛中顶层箱体的图像;
所述拆垛模块,包括:
第一提取子模块,用于针对每一个箱体,提取该箱体的分割区域的图像边缘特征,或提取该箱体的分割区域的灰度图像的图像边缘特征;
第二映射子模块,用于将每个箱体的分割区域映射到由所述深度图转换成的点云数据中,得到每个箱体的点云映射区域;
第二提取子模块,用于针对每一个箱体,提取该箱体的点云映射区域的点云边缘特征;
确定子模块,用于针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,确定该箱体的边缘直线特征;
拼接子模块,用于针对每一个箱体,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
第二选取子模块,用于针对每一个箱体,在该箱体的候选矩形框中选取该箱体的箱体矩形框;
拆垛子模块,用于按照每个箱体的箱体矩形框,对所述箱垛进行拆垛;
所述确定子模块,具体用于:
针对每一个箱体,根据该箱体的图像边缘特征及点云边缘特征,在所述深度图中确定该箱体的边缘像素区域;
对该箱体的边缘像素区域进行直线特征提取,得到该箱体的边缘直线特征;
所述拼接子模块,包括:
第一计算单元,用于计算所述可见光图像的可见光图像坐标系与所述顶层箱体点云区域的顶层箱体坐标系的第一转换关系;
转换单元,用于针对每一个箱体,根据第一转换关系,将该箱体的分割区域转换到所述顶层箱体坐标系中,得到该箱体的尺寸范围;
拼接单元,用于按照该箱体的尺寸范围及预设矩形角度阈值,对该箱体的边缘直线特征进行矩形拼接,得到该箱体至少一个候选矩形框;
所述第二选取子模块,包括:
第二计算单元,用于针对每一个箱体,根据该箱体的点云映射区域,分别计算该箱体的每个候选矩形框的投影点云占空比;分别计算该箱体的每个候选矩形框的图像边缘强度及矩形度;
第三计算单元,用于针对每一个候选矩形框,根据该候选矩形框的投影点云占空比、图像边缘强度及矩形度,计算得到该候选矩形框的得分;
第四计算单元,用于根据相邻的候选矩形框之间的位置关系,计算各相邻的候选矩形框之间的干涉程度;
第一确定单元,用于根据各所述候选矩形框的得分、相邻候选矩形框之间的干涉程度,确定每个箱体的箱体矩形框;
所述第一确定单元,具体用于:
在各所述候选矩形框中,选取得分最高的前N个候选矩形框作为种子矩形框,其中,N为预设的整数;
针对所述N个种子矩形框中的每一个候选矩形框,将该候选矩形框作为基准,以得分、干涉程度、箱体数量作为约束条件,确定包括该候选矩形框的一组候选矩形框;
在N组候选矩形框中,选取得分最高的一组,得到每个箱体的箱体矩形框;
所述装置还包括:
第一扩展单元,用于在按照每个箱体的箱体矩形框,对所述箱垛进行拆垛步骤之前,针对每一个箱体矩形框,在所述深度图中确定该箱体矩形框对应的深度像素区域,对该箱体矩形框的深度像素区域进行扩展,得到该箱体矩形框的深度像素扩展区域;
第二扩展单元,用于在所述可见光图像中确定该箱体矩形框对应的可见光像素区域,对该箱体矩形框的可见光像素区域进行扩展,得到该箱体矩形框的可见光像素扩展区域;
第二确定单元,用于确定该箱体矩形框的深度像素扩展区域及可见光像素扩展区域在相同坐标系下的交集区域;
修正单元,用于以该箱体矩形框的边的图像梯度、灰度边缘点直线度、距离所述顶层箱体点云区域边缘的距离作为约束条件,在该箱体矩形框的交集区域中对该箱体矩形框进行修正;
所述拆垛子模块,具体用于:
按照每个箱体的修正后的箱体矩形框,对所述箱垛进行拆垛。
12.一种电子设备,其特征在于,包括处理器及存储器;
所述存储器存储有可被所述至少一个处理器执行的指令;
所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
14.一种视觉引导拆垛系统,其特征在于,包括:深度相机、拆垛机械臂及控制设备;
所述深度相机,用于采集箱垛的深度图和可见光图像;
所述拆垛机械臂,用于响应于所述控制设备的指令,对所述箱垛进行拆垛;
所述控制设备,用于在运行时,实现权利要求1-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211204153.9A CN115533902A (zh) | 2022-09-29 | 2022-09-29 | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211204153.9A CN115533902A (zh) | 2022-09-29 | 2022-09-29 | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115533902A true CN115533902A (zh) | 2022-12-30 |
Family
ID=84731027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211204153.9A Pending CN115533902A (zh) | 2022-09-29 | 2022-09-29 | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115533902A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197073A (zh) * | 2023-09-07 | 2023-12-08 | 石家庄铁道大学 | 基于机器视觉的矩形物体自动计数方法 |
CN117351213A (zh) * | 2023-12-06 | 2024-01-05 | 杭州蓝芯科技有限公司 | 基于3d视觉的箱体分割定位方法及系统 |
-
2022
- 2022-09-29 CN CN202211204153.9A patent/CN115533902A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197073A (zh) * | 2023-09-07 | 2023-12-08 | 石家庄铁道大学 | 基于机器视觉的矩形物体自动计数方法 |
CN117197073B (zh) * | 2023-09-07 | 2024-03-05 | 石家庄铁道大学 | 基于机器视觉的矩形物体自动计数方法 |
CN117351213A (zh) * | 2023-12-06 | 2024-01-05 | 杭州蓝芯科技有限公司 | 基于3d视觉的箱体分割定位方法及系统 |
CN117351213B (zh) * | 2023-12-06 | 2024-03-05 | 杭州蓝芯科技有限公司 | 基于3d视觉的箱体分割定位方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829398B (zh) | 一种基于三维卷积网络的视频中的目标检测方法 | |
KR102204818B1 (ko) | 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택 | |
CN111665842B (zh) | 一种基于语义信息融合的室内slam建图方法及系统 | |
CN115533902A (zh) | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 | |
US9142011B2 (en) | Shadow detection method and device | |
US8199977B2 (en) | System and method for extraction of features from a 3-D point cloud | |
US20200134857A1 (en) | Determining positions and orientations of objects | |
WO2021143935A1 (zh) | 一种检测方法、装置、电子设备及存储介质 | |
WO2022188663A1 (zh) | 一种目标检测方法及装置 | |
CN108986152B (zh) | 一种基于差分图像的异物检测方法及装置 | |
US10169673B2 (en) | Region-of-interest detection apparatus, region-of-interest detection method, and recording medium | |
JP6326641B2 (ja) | 画像処理装置および画像処理方法 | |
US11631240B2 (en) | Method, apparatus and system for identifying target objects | |
CN112287824A (zh) | 基于双目视觉的三维目标检测方法、装置及系统 | |
KR20210074163A (ko) | 공동 검출 및 기술 시스템 및 방법 | |
KR20180098945A (ko) | 고정형 단일 카메라를 이용한 차량 속도 감지 방법 및 장치 | |
JP6110174B2 (ja) | 画像検出装置及び制御プログラム並びに画像検出方法 | |
CN110472640B (zh) | 一种目标检测模型预测框处理方法及装置 | |
CN109741306B (zh) | 应用于危险化学品库房堆垛的图像处理方法 | |
KR102556759B1 (ko) | 카메라-라이다 캘리브레이션 장치 및 방법 | |
CN111047614B (zh) | 一种基于特征提取的复杂场景图像的目标角点提取方法 | |
CN117292076A (zh) | 工程机械局部作业场景动态三维重构方法及系统 | |
US20220335650A1 (en) | Methods and Systems for Training a Machine Learning Method for Determining Pre-Determined Points in an Image | |
CN116309817A (zh) | 一种基于rgb-d相机的托盘检测与定位方法 | |
CN113589263A (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 |