基于视觉的目标对象识别与定位方法、终端以及存储介质与流程

文档序号:16432224发布日期:2018-12-28 20:13阅读:184来源:国知局
基于视觉的目标对象识别与定位方法、终端以及存储介质与流程

本发明涉及视觉技术领域,特别是涉及一种基于视觉的目标对象识别与定位方法、终端以及存储介质。

背景技术

随着人工智能的提出与快速发展,机器视觉作为图像技术的一个重要分支已经在很多领域得到了利用,机器视觉技术力求在减少人为干预的情况下由机器实时、自动分析图像,从中识别所需的信息,并做到实时监控、及时反馈。

在工业领域,经常需要针对同一种目标对象进行自动搬运、自动上下料等,由于每个目标对象摆放位姿的随机性,传统的自动搬运或上下料装置必须由人工辅助才能准确对目标对象进行搬运,不然,有可能存在吃不准搬运部位导致搬运不稳等危险情况发生,这种情形下(当然,不限于这种情形,在生产生活中类似的需要对目标对象识别与定位的案例有很多),需要借助机器视觉使搬运设备智能化。目前,在机器视觉领域,一般只能对形状较为简单的目标对象进行识别与定位,如圆筒、箱体等,对于形状复杂的目标对象还难以做到准确识别与定位。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种基于视觉的目标对象识别与定位方法、终端以及存储介质,旨在解决当前技术中对于形状复杂的目标对象难以准确识别与定位的问题。

技术方案:为实现上述目的,本发明的基于视觉的目标对象识别与定位方法,包括:

获取深度相机当前帧的场景图像数据与场景点云数据;

针对所述场景图像数据进行图像识别,识别出其中的目标对象;

将目标对象对应的目标点云数据从所述场景点云数据中区分出来;

针对所述目标点云数据包含的点进行平面分割,提取出当前帧中目标对象包含的平面;

在提取出的平面中筛选出目标面;

基于所述目标面的位姿计算目标对象的位姿。

可选地,所述针对所述场景图像数据进行图像识别具体包括:

采用基于神经网络的目标检测系统对所述场景图像数据进行识别。

可选地,所述针对所述目标点云数据进行平面分割具体包括:

以所述目标点云数据内的每个点为基准分别以设定搜索半径确定搜索范围;

以搜索范围内的点构成的面为参照求出作为基准的点的法向量;

根据目标点云数据内所有点的法向量对目标点云数据内的点进行聚类。

可选地,所述在提取出的平面中筛选出目标面具体包括:

求取每个提取出的平面的面积;

将每个提取出的平面的面积与目标面的实测面积对比,筛选出与所述实测面积相同或相近的平面,该面即为目标面。

可选地,所述采用基于神经网络的目标检测系统对所述场景图像数据进行识别之前还包括:

建立目标对象的参照模型。

可选地,所述建立目标对象的参照模型具体包括:

根据训练数据来训练参照模型,所述训练数据包括训练图片以及对应于每一幅训练图片的标签;

根据验证数据来调整参照模型,所述验证数据包括验证图片以及对应于每一幅验证图片的标签;

其中,所述训练图片以及所述验证图片均为关于目标对象的图片,所述标签为可在训练图片或验证图片中将目标对象框选出来的框选框的位置。

可选地,所述目标面为带角点的平面,所述基于所述目标面计算目标对象的位置具体包括:

获取所述目标面的角点的坐标;

根据所述角点的坐标推算目标对象的位姿。

一种终端,包括处理器与存储器,所述存储器内存储有可执行程序,所述处理器执行所述可执行程序以实现上述的基于视觉的目标对象识别与定位方法。

一种存储介质,所述存储介质上存储有可执行程序,所述可执行程序被处理器执行时,实现上述的基于视觉的目标对象识别与定位方法。

有益效果:本发明的基于视觉的目标对象识别与定位方法、终端以及存储介质,基于深度相机采集的场景图像数据与场景点云数据,采用了先图像识别,再对点云进行分析处理,最终通过计算具有特征的目标面的位姿求取整个目标对象的位姿的方式,对构造复杂的目标对象进行了准确的识别与定位,避免了复杂的计算,方法计算量小,运算效率高,实用性强。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明实施例的一种基于视觉的目标对象识别与定位方法的流程图;

附图2为本发明实施例的一种建立目标对象的参照模型的具体方法的步骤流程图;

附图3为本发明实施例的针对所述目标点云数据进行平面分割的具体方法的步骤流程图;

附图4为本发明实施例提供的一种终端的结构示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有预设的的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

此外,下面所描述的本发明的各个实施方式中所涉及到的技术特征只要彼此未构成冲突就可以相互使用。

本发明的基于视觉的目标对象识别与定位方法由具有计算处理能力的终端执行,包括但不限于pc、工作站、服务器等设备。

请参考附图1,本发明的基于视觉的目标对象识别与定位方法包含如下步骤s101-s106:

步骤s101,获取深度相机当前帧的场景图像数据与场景点云数据;

在该步骤中,深度相机可采集当前场景内所有对象(在深度相机可测得范围内的所有对象)的场景图像数据与场景点云数据,场景点云数据为大量被测点的坐标集,这些被测点的坐标与场景图像数据中对应位置的图像一一对应。

步骤s102,针对所述场景图像数据进行图像识别,识别出其中的目标对象;

步骤s103,将目标对象对应的目标点云数据从所述场景点云数据中区分出来;

在该步骤中,通过识别出目标对象,可以获知目标对象的图像数据对应于哪些点云数据,因此可以将目标点云数据筛选出来,除此之外的其他点云在后续的处理中被废弃,如此可以节约大量的计算资源,提高后续的运算效率。

步骤s104,针对所述目标点云数据包含的点进行平面分割,提取出当前帧中目标对象包含的平面;

步骤s105,在提取出的平面中筛选出目标面;

在该步骤中,目标面为用户根据实际目标对象的特征所选取出来的具有一定特征且具有唯一性的平面,且选取的目标面以带有角点的平面为佳。

步骤s106,基于所述目标面的位姿计算目标对象的位姿。

在该步骤中,由于目标面的位姿确立了,目标对象的位姿也就确立了,由此还可以推算其他所需要的数据,如目标对象的重心位置、目标对象底面的位置、目标对象上其他特殊点或面的位置等,方便计算平台根据实际情况作出后续的处理。

上述的深度相机与执行本发明基于视觉的目标对象识别与定位方法的终端可以均安装在可智能移动的载体上,这样可智能移动的载体可以根据上述步骤计算得出的目标对象的位姿向目标对象靠近,且在靠近的过程中,深度相机继续采集场景图像数据与场景点云数据,终端实施对数据进行处理计算出目标对象的最新位姿,方便可智能移动的载体修正行驶策略,直至到达目标对象所在位置并执行搬运、上下料等操作。

可选地,上述针对所述场景图像数据进行图像识别具体包括:采用基于神经网络的目标检测系统对所述场景图像数据进行识别。

由于基于神经网络的目标检测系统进行图像识别需要建立在具有已经训练成形的参照模型的基础上,而对于不同的任务所需要识别的目标对象有可能是不一样的,因此,在此步骤之前还可以包含如下步骤:建立目标对象的参照模型。

具体地,请参考附图2,所述建立目标对象的参照模型具体包括如下步骤s201-s202:

步骤s201,根据训练数据来训练参照模型,所述训练数据包括训练图片以及对应于每一幅训练图片的标签;

步骤s202,根据验证数据来调整参照模型,所述验证数据包括验证图片以及对应于每一幅验证图片的标签;

其中,所述训练图片以及所述验证图片均为关于目标对象的图片,所述标签为可在训练图片或验证图片中将目标对象框选出来的框选框的位置,旨在方便程序知道图片中目标对象的位置,上述用于在训练图片或验证图片中将目标对象框选出来的框选框由人工添加,框选框的位置信息被记录在指定类型的文件中。

上述步骤中,训练数据与验证数据均由人工放置在指定文件夹,一般情况下,训练图片、训练图片的标签、验证图片以及验证图片的标签四者放在不同的文件夹中,系统从指定文件夹依次提取图片以及对于图片的标签进行迭代训练或迭代验证即可得到参照模型。

可选地,请参考附图3,所述针对所述目标点云数据进行平面分割具体包括如下步骤s301-s303:

步骤s301,以所述目标点云数据内的每个点为基准分别以设定搜索半径确定搜索范围;

步骤s302,以搜索范围内的点构成的面为参照求出作为基准的点的法向量;

步骤s303,根据目标点云数据内所有点的法向量对目标点云数据内的点进行聚类。

上述步骤中,通过求取目标点云数据内每个点的法向量,程序对这些点的位置信息以及法向量进行对比,将法向量相同或相差不大(可以规定一个角度阈值,法向量的夹角在此阈值内即表示两者相差不大)的法向量进行聚类,代表这些法向量对应的点在同一平面内,这样可以分割出一个个平面。

可选地,所述在提取出的面中筛选出目标面具体包括如下步骤a1-a2:

步骤a1,求取每个提取出的平面的面积;

步骤a2,将每个提取出的平面的面积与目标面的实测面积对比,筛选出与所述实测面积相同或相近的面,该面即为目标面。

当然,筛选目标面的手段不限于上述方法,如目标面为规整形状,通过对比目标面的长宽数据等常用的技术手段也应当视作落入本发明的保护范围。

可选地,如果所述目标面为带角点的平面,所述基于所述目标面计算目标对象的位置具体包括如下步骤b1-b2:

步骤b1,获取所述目标面的角点的坐标;

步骤b2,根据所述角点的坐标推算目标对象的位姿。

上述可知,本发明的技术方案基于深度相机采集的场景图像数据与场景点云数据,采用了先图像识别,再对点云进行分析处理,最终通过计算具有特征的目标面的位姿求取整个目标对象的位姿的方式,对构造复杂的目标对象进行了准确的识别与定位,避免了复杂的计算,方法计算量小,运算效率高,实用性强。

请参考附图4,本发明提供了一种终端400,包括处理器410与存储器420。在本发明的实施例中,处理器410、存储器420可通过总线或其它方式连接,其中,图4中以通过总线连接为例。

其中,存储器420中存储有可执行程序,处理器410执行所述可执行程序以实现本发明所述的基于视觉的目标对象识别与定位方法。

本发明实施例还提供一种计算机存储介质,所述存储介质上存储有可执行程序,所述可执行程序被处理器执行时,实现上述的基于视觉的目标对象识别与定位方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1