具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一
如图1所示,一种基于图像的产品分拣方法,包括以下步骤操作:
步骤10、获取产品在产品线上的图像;
步骤20、从图像上分别识别出面像素区域和区域特征信息;
步骤30、根据区域特征信息从预设特征模板库中搜索出与面像素区域匹配的唯一特征模板;
步骤40、根据唯一特征模板在图像上定位与区域特征信息对应的关键位姿信息;
步骤50、根据关键位姿信息从产品线上分拣出产品。
在一些具体方式中,产品可以是药盒,产品线可以是传送带,产品的顶面可以设置条形码或者二维码。
在一些具体方式中,区域特征信息包括掩码信息、定位窗口和纹理特征符,掩码信息和定位窗口均用以在图像上定位面像素区域;掩码信息可以包括掩模,在掩模上,以0为参数表示在面像素区域内的像素,以1为参数表示不在面像素区域内的像素,定位窗口可以是与面像素区域外接的矩形bounding box,纹理特征符可以包括用以描述在面像素区域的纹理的字符串。
在一些具体方式中,预设数据库中的每个特征模板包括标准掩码、标准纹理特征和标准特征图;关键位姿信息包括中心点三维坐标和与中心点三维坐标关联的旋转角度,中心点三维坐标和旋转角度均用以定位面像素区域的中心点所处的位姿。
利用同属一副图像的面像素区域和区域特征信息,从预设特征模板库中精确、快速地搜索出唯一特征模板,利用唯一特征模板和区域特征信息,在图像上精确、快速地定位出关键位姿信息,缩短了关键位姿信息的定位时间,相比于基于图像分拣产品的传统方式,利用关键位姿信息分拣产品,减少了处理另一幅图像、更新坐标、判断产品像素区域、判断抓取范围和规划轨迹等步骤操作,缩短了产品被分拣的信息预备时间,克服了延迟分拣产品的问题,支持精确、快速地分拣产品,提高了产品分拣效率。
作为可选的实施方式,步骤20具体包括以下步骤操作:
步骤21、分别获取预先训练的第一深度学习模型、预先训练的第二深度学习模型和预先训练的第三深度学习模型;
步骤22、根据第一深度学习模型在图像上分别提取面像素区域、掩码信息和定位窗口;
步骤23、根据第二深度学习模型在图像上提取编码像素区域;
步骤24、根据所述第三深度学习模型在面像素区域提取纹理特征符;
步骤25、根据第三深度学习模型在编码像素区域提取编码特征符。
在一些具体方式中,第一深度学习模型包括输入层、第一卷积层、第二卷积层、第三卷积层和输出层;将图像从输入层输入至第一卷积层,第一卷积层在图像上识别出与产品的顶面对应的感兴趣区域,并将感兴趣区域作为面像素区域输入至输出层,以及分别将面像素区域输入至第二卷积层和第三卷积层;第二卷积层在面像素区域提取出掩码信息,并将掩码信息输入至输出层;第三卷积层在面像素区域提取出定位窗口,并将定位窗口输入至输出层;输出层分别输出面像素区域、掩码信息和定位窗口。
在一些具体方式中,以并行方式执行步骤21和步骤22,以从图像上快速地粗识别两个像素区域,能够缩短两个像素区域的识别时间,以并行方式执行步骤24和步骤25,以从两个像素区域上快速、精确地识别出两个特征符,能够缩短两个特征符的识别时间,提高图像识别效率。
在一些具体方式中,在图像上,编码像素区域分布在面像素区域内,区域特征信息还可以包括用以标识编码像素区域的编码特征符,编码像素区域是包括与条形码或/和二维码对应的所有像素点的区域,编码特征符可以包括所有条形码像素点的个数或/和所有二维码像素点的个数。
在一些具体方式中,第一深度学习模型可以采用Maskcnn图像分割模型,第二深度学习模型可以采用Yolo语义分割模型,第三深度学习模型可以采用Resnet图像检测模型。
在一些具体方式中,Resnet图像检测模型包括第一深度学习网络和第二深度学习网络,将面像素区域输入至第一深度学习网络,第一深度学习网络在面像素区域提取纹理特征符,将编码像素区域输入至第二深度学习网络,第二深度学习网络在编码像素区域提取编码特征符。
步骤25具体包括以下步骤操作:根据对比度增强子模型对编码像素区域进行增强处理,得到编码增强区域;根据条码解码子模型对编码增强区域进行解码处理,得到编码特征符。
在一些具体方式中,Resnet图像检测模型可以包括图像对比度增强子模型和条码解码子模型,图像对比度增强子模型可以采用自适应图像对比度增强算法,条码解码子模型可以采用条形码解码算法或/和二维码解码算法,编码特征符可以包括所有条形码像素的解码信息或/和所有二维码像素的解码信息,相比于编码像素区域,编码增强区域具有更高的对比度,有助于从编码增强区域快速解码出编码特征符,以降低解码失败概率。
作为可选的实施方式,步骤30具体包括以下步骤操作:从预设特征模板库中搜索出与纹理特征符和编码特征符匹配的候选特征模板集;从候选特征模板集中搜索出与面像素区域匹配的唯一特征模板。
在一些具体方式中,Resnet图像检测模型还包括特征模板搜索子模型,分别将面像素区域、纹理特征符和编码特征符输入至特征模板搜索子模型,特征模板搜索子模型在预设特征模板库中搜索出与纹理特征符和编码特征符均匹配的各个候选特征模板,将所有候选特征模板组成集合,防遗漏候选特征模板,能够较为全面地搜索出候选特征模板集合,特征模板搜索子模型还在该集合中搜索与面像素区域匹配的唯一特征模板,特征模板搜索子模型可以包括SIFT图像搜索匹配算法,精准地搜索出一个特征模板,提高了特征模板的搜索精度。
在一些具体方式中,特征模板搜索子模型可以包括ECC熵相关系数算法,ECC熵相关系数算法计算面像素区域与候选特征模板集合中的每个候选特征模板之间的ECC值,将与最大ECC值对应的一个候选模板确定为与面像素区域匹配的唯一特征模板。
作为可选的实施方式,步骤40具体包括以下步骤操作:从区域特征信息中提取掩码信息和定位窗口;从区域特征信息中提取掩码信息和定位窗口;根据掩码信息和定位窗口在图像上定位面像素区域;根据唯一特征模板在面像素区域定位中心点三维坐标;根据中心点三维坐标求解旋转角度。
在一些具体方式中,分别将掩码信息、定位窗口和唯一特征模板输入至图像位姿测量模型,图像位姿测量模型在图像上定位囊括掩码信息和定位窗口的面像素区域,利用唯一特征模板在面像素区域校准中心点,测量校准后的中心点在图像上的三维坐标,以该三维坐标作为中心点三维坐标。
在一些具体方式中,分别将中心点三维坐标中的横坐标和纵坐标输入角度计算模型,角度计算模型利用横坐标和纵坐标求解旋转角度,支持以简单方式快速求解旋转角度。
在一些具体方式中,角度计算模型具体表示为:Angel=arctan(y/x),Angel表示旋转角度,acrtan表示反正切函数,x表示横坐标,y表示纵坐标。
作为可选的实施方式,步骤50具体包括以下步骤操作:获取预设齐次变换矩阵;从关键位姿信息中分别提取中心点三维坐标和旋转角度;根据预设齐次变换矩阵对中心点三维坐标进行坐标变换,得到分拣设备坐标系下的坐标;根据分拣设备坐标系下的坐标驱动分拣设备坐标系下的分拣设备抓取产品,使产品被所述分拣设备从产品线上抓起;根据旋转角度驱动抓住产品的分拣设备发生转动,使产品被分拣设备转动旋转角度。
实施例二
如图2所示,一种基于图像的产品分拣系统,包括:视觉子系统和与视觉子系统耦合的分拣子系统;视觉子系统,用于采集产品在产品线上的图像;分拣子系统,用于获取图像,从图像上分别识别出面像素区域和区域特征信息,并根据区域特征信息从预设特征模板库中搜索出与面像素区域匹配的唯一特征模,根据唯一特征模板在图像上定位与区域特征信息对应的关键位姿信息,以及根据关键位姿信息从产品线上分拣出产品。
视觉子系统包括电源输入端、光源、相机和采集卡等,分拣子系统包括控制器、计算机和分拣设备等,例如:分拣设备可以为移动机器人或者工业机器人,控制器与采集卡电连接,使视觉子系统与分拣子系统耦合。
电源输入端,用以为相机、采集卡、计算机和分拣设备供电;光源,用以为被产品线运行的产品补充光线;相机,用以采集产品在产品线上的图像,并将产品在产品线上的图像输入至采集卡;采集卡,用以将产品在产品线上的图像输入控制器;控制器,用于将产品在产品线上的图像输入计算机。
计算机,用以分别存储第一深度学习模型、第二深度学习模型和第三深度学习模型;根据第一深度学习模型在图像上分别提取面像素区域、掩码信息和定位窗口;根据第二深度学习模型在图像上提取编码像素区域;根据第三深度学习模型在面像素区域提取纹理特征符;根据第三深度学习模型在编码像素区域提取编码特征符。
计算机,具体用于:根据对比度增强子模型对编码像素区域进行增强处理,得到编码增强区域,并根据条码解码子模型对编码增强区域进行解码处理,得到编码特征符。
计算机,还用以从预设特征模板库中搜索出与纹理特征符和编码特征符匹配的候选特征模板集,从候选特征模板集中搜索出与面像素区域匹配的唯一特征模板。
计算机,还用以从区域特征信息中提取掩码信息和定位窗口;根据掩码信息和定位窗口在图像上定位面像素区域;根据唯一特征模板在面像素区域定位中心点三维坐标;根据中心点三维坐标求解旋转角度。
计算机,还用以存储预设齐次变换矩阵;从关键位姿信息中分别提取中心点三维坐标和旋转角度;根据预设齐次变换矩阵对中心点三维坐标进行坐标变换,得到分拣设备坐标系下的坐标。
计算机,还用以根据分拣设备坐标系下的坐标生成抓取指令,并将该抓取指令输入至控制器;控制器,还用以将该抓取指令输入至分拣设备;分拣设备,用以根据该抓取指令抓取产品,使产品被分拣设备从产品线上抓起。
计算机,还用以根据旋转角度生成转动指令,并将该转动指令输入至控制器;控制器,还用以将该转动指令输入至分拣设备;分拣设备,用以根据该转动指令抓着产品转动,使产品被分拣设备转动旋转角度。
实施例三
一种智能分拣机器人,包括底座、支架、相机、机械分拣臂、存储器、编码器和驱动器,机械分拣臂包括机械手臂和安装在机械手臂末端的夹爪。
支架的底部和机械手臂的底部分别安装在底座的顶部,相机安装在支架的顶端,夹爪安装在机械手臂的末端,存储器、编码器和驱动器均安装在呈中空的底座内部,编码器分别与存储器、驱动器和相机电连接,驱动器与机械手臂电连接。
存储器,被配置存储有至少一条指令或至少一段程序或代码集或指令集,所述指令或所述程序或所述代码集或所述指令集被编码器加载并执行,以使智能分拣机器人实现如实施例一所述基于图像的产品分拣方法所执行的操作步骤。
相机,被配置为采集产品在产品线上的图相,并将该图像输入至存储器。
编码器,被配置为从存储器中分别读取前述图像、第一深度学习模型、第二深度学习模型、第三深度学习模型和预设齐次变换矩阵,并从图像上分别识别出面像素区域和区域特征信息,以及根据区域特征信息从预设特征模板库中搜索出与面像素区域匹配的唯一特征模板,根据唯一特征模板在图像上定位与区域特征信息对应的关键位姿信息。
编码器,还被配置为从关键位姿信息中分别提取中心点三维坐标和旋转角度,并根据预设齐次变换矩阵对中心点三维坐标进行坐标变换,得到分拣设备坐标系下的坐标,以及分别将分拣设备坐标系下的坐标和旋转角度输入至驱动器。
驱动器,被配置为根据机器人坐标系下的坐标驱动机器人坐标系下的机械分拣臂抓取产品,使产品被机械分拣臂从产品线上抓起,并根据旋转角度驱动抓住产品的机械分拣臂发生转动,使产品被机械分拣臂转动旋转角度,分步分拣产品,降低了产品被分拣的难度。
读者应理解,在本说明书的描述中,参考术语“方面”、“实施例”、“实施方式”和“具体方式”等的描述意指结合该实施例或示例描述的具体特征、步骤或者特点包含于本发明的至少一个实施例或示例中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,由此,限定有“第一”和“第二”等的特征可以明示或者隐含地包括至少一个该特征。
在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例,描述的具体特征、步骤或者特点可以在一个或多个具体实例或示例中以合适的方式结合,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同具体实例或示例并不同实施例或示例的特征进行结合和组合。