一种基于视频增量学习的机器人操作系统及方法

文档序号:1945862 发布日期:2021-12-10 浏览:3次 >En<

阅读说明:本技术 一种基于视频增量学习的机器人操作系统及方法 (Robot operating system and method based on video incremental learning ) 是由 高文飞 王瑞雪 于 2021-09-03 设计创作,主要内容包括:本发明涉及机器人领域通用技术,特别公开了一种基于视频增量学习的机器人操作系统及方法。该机器人操作方法包括:步骤S1:构建目标定位模型,在MS-COCO数据集上做预训练处理;步骤S2:构建增量分类模型,在ImageNet数据集上做预训练处理;步骤S3:基于新目标,增量训练已有模型;步骤S4:定位选中目标的位置,构建机械臂抓取运动轨迹。本发明基于检测-分类的两阶段范式,其中,与一般的分类问题不同,基于视频的信息的分类任务有额外的时间信息,而且不同的目标姿态有助于建立更好的分类模块,有利于解决在昏暗等不利条件下的低分辨率识别问题。(The invention relates to the general technology in the field of robots, and particularly discloses a robot operating system and method based on video incremental learning. The robot operating method includes: step S1: constructing a target positioning model, and performing pre-training treatment on an MS-COCO data set; step S2: constructing an incremental classification model, and performing pre-training processing on an ImageNet data set; step S3: training the existing model incrementally based on the new target; step S4: and positioning the position of the selected target, and constructing a mechanical arm grabbing motion track. The invention is based on a two-stage paradigm of detection-classification, where, unlike the general classification problem, the classification task based on video information has additional time information, and different target poses help to build better classification modules, which is beneficial to solving the low resolution recognition problem under adverse conditions such as darkness.)

一种基于视频增量学习的机器人操作系统及方法

技术领域

本发明涉及机器人领域通用技术,特别涉及一种基于视频增量学习的机器人操作系统及方法。

背景技术

在机器学习领域,增量学习致力于解决模型训练的一个普遍缺陷:灾难性遗忘(catastrophic forgetting) ,也就是说,一般的机器学习模型(尤其是基于反向传播的深度学习方法)在新任务上训练时,在旧任务上的表现通常会显著下降。而机器人抓取该项技术的实际应用场景复杂多样,因此在动态开放场景下,机器人准确识别和抓取正确的物体的关键挑战就在于应对开放环境下的不确定性和不断变化性。

为了使得机器人适应动态开放环境,本发明从增量学习的角度,使得机器人拥有渐进式学习的能力。基于增量学习的模型,有以下几个特点:1)学习新知识的同时能够保留以前学习到的大部分知识,也就是模型在旧任务和新任务上均能表现良好;2)计算能力与内存应该随着类别数的增加固定或者缓慢增长,最理想的情况是一旦完成某一任务的学习,该任务的观测样本便被全部丢弃;3)模型可以从新任务和新数据中持续学习新知识,当新任务在不同时间出现,它都是可训练的。

基于以上特点,基于增量学习的模型可以有效应对动态开放环境带来的挑战。现有的基于增量学习的技术使用静态学习场景,提取待学习物体的不同视角的静态场景照片作为学习对象,或者建立一种基于曲面的三维模型来学习新物体特征。但是,这些方法捕获到的物体特征或片面或过于全面,与真实场景中实际出现物体特征有较大的偏差。另外,现有技术中对新物体的处理方式过于复杂,无论是提供不同视角的静态图片,还是建立物体的三维模型,时间成本或计算成本过高,不利于该项技术的应用推广。

发明内容

本发明为了弥补现有技术的不足,提供了一种偏差小、精确度高的基于视频增量学习的机器人操作系统及方法。

本发明是通过如下技术方案实现的:

一种基于视频增量学习的机器人操作系统,其特征在于,包括目标定位模块、增量分类模块、新类学习模块和抓取控制模块;

所述目标定位模块用于检测定位机器视野中目标的位置,构建神经网络模型,其中机器视野源自机器人系统中的摄像头视野;

所述增量分类模块与目标定位模块相连,获取目标位置,将摄像头视野中仅涉及目标的最小外接矩形区域图像提取出来;

所述新类学习模块与增量分类模块连接,用于提取新类目标的特征,当作查询特征储存在数据库中,以便查询匹配使用;

所述抓取控制模块分别于目标定位模块和增量分类模块连接,获取抓取目标的准确位置。

本发明的更优技术方案为:

所述目标定位模块包括输入端、骨干网络和目标位置预测模块三个部分,在输入端将图像通过随机缩放、随机裁剪、随机排布的方式进行拼接,自适应锚框计算,自适应图片缩放操作后送入骨干网络,进行特征提取;将骨干网络提取的高级语义特征送入目标位置预测模块,得到一些列的目标框。

进一步优选的,所述目标定位模块的输入端应用为:

(1)随机使用4张图片,通过随机缩放、随机裁剪、随机排布的方式拼接成一张图像,图像标签也通过同种方式拼接;通过这种方式可以在随机缩放过程中增加很多小目标,大大丰富了检测数据集,增强网络的鲁棒性;

(2)针对所使用的MS-COCO数据集,初始设置长宽的锚框;在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,进行两者差距,再反向更新,迭代网络参数,自适应的计算锚框;

(3)在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片图片统一缩放到一个标准尺寸,再送入检测网络中。然而在实际应用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。本发明以对原始图像自适应的添加最少的黑边为原则,自适应的进行图片缩放。

所述目标定位模块的骨干网络由串联的卷积层、批正则化层和斜率为0.1的LeakyReLU激活函数层组成。

更进一步优选的,所述目标定位模块的骨干网络和目标位置预测模块中的卷积层模型结构为一个卷积核为卷积核为32,大小为3×3,步长为1,padding为same的卷积层组,以及5组重复的残差单元resblock_body,即resblock_body_1,resblock_body_2,resblock_body_3,resblock_body_4,resblock_body_5;其中,

resblock_body_1由一个卷积核为64,大小为3×3,步长为2,padding为valid的卷积层组与一个卷积块构成,卷积块包括一个卷积核为32,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为64,大小为3×3,步长为1,padding为same的卷积层组串联组成,卷积块的输入和输出之间有一个残差连接,直接相加后作为该卷积块的输出;

resblock_body_2由一个卷积核为128,大小为3×3,步长为2,padding为valid的卷积层组与重复执行2次的卷积块构成,卷积块包括一个卷积核为64,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为128,大小为3×3,步长为1,padding为same的卷积层组串联组成;

resblock_body_3由一个卷积核为256,大小为3×3,步长为2,padding为valid的卷积层组与重复执行8次的卷积块构成,卷积块包括一个卷积核为128,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为256,大小为3×3,步长为1,padding为same的卷积层组串联组成;

resblock_body_4由一个卷积核为512,大小为3×3,步长为2,padding为valid的卷积层组与重复执行8次的卷积块构成,卷积块包括一个卷积核为256,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为512,大小为3×3,步长为1,padding为same的卷积层组串联组成;

resblock_body_5由一个卷积核为1024,大小为3×3,步长为2,padding为valid的卷积层组与重复执行4次的卷积块构成,卷积块包括一个卷积核为512,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为1024,大小为3×3,步长为1,padding为same的卷积层组串联组成。

所述目标定位模块的目标位置预测模块内设置一个卷积集,卷积集的输入通道数为c,卷积集有串联的五个卷积层组组成,每个卷积层组的卷积层的卷积核大小为1×1,步长为1,padding为same,卷积层组的卷积核个数分别为{c/2,c,c/2,c,c/2}。

更进一步优选的,目标位置预测模块中,resblock_body_5的输出经过卷积集conv_set_1,依次通过一个卷积核为1024,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_1;

conv_set_1的输出经过一个卷积核为256,大小为1×1,步长为1,padding为same的卷积层组,经过一次2倍上采样,然后与resblock_body_4的输出在通道维度上拼接,输出结果经过经过卷积集conv_set_2,再依次通过一个卷积核为512,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_2;

conv_set_2的输出经过一个卷积核为128,大小为1×1,步长为1,padding为same的卷积层组,经过一次2倍上采样,然后与resblock_body_3的输出在通道维度上拼接,输出结果经过经过卷积集conv_set_3,再依次通过一个卷积核为256,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_3;

Pre_1,Pre_2和Pre_3分别是原始图像的32、16、8倍下采样尺寸,可以在不同尺度上进行对象检测。以输入图像大小416×416为例,Pre_1,Pre_2和Pre_3的尺寸分别是13×13×255,26×26×255,52×25×255。以13×13×255为例,该尺寸的具体含义为:将原始图像均分为13×13(S=13)个网格,如果某个目标的中心落在这个网格中,则这个网格就负责预测该目标。设置每个网格单元预测B=3个box,所以每个box需要有(x, y, w, h,confidence)五个基本参数,然后还要有C=80个类别的概率。所以3*(5+80)=255。x, y, w,h是目标框中心点相对于网格单元左上角的相对坐标,Confidence表示当预测目标与真实目标相符时的IOU值。

所述目标定位模块还包括后处理模块,将检测出的多个目标框精简到只包含不重复目标的目标框:

(1)目标置信度阈值,根据目标框的Objectness分数过滤边界框;

(2)非极大值抑制,对同一个图像多次检测时,只保留得分最高的边界框;

(3)损失函数,根据非极大值抑制得到的目标框信息与真实标签通过二值交叉熵计算损失函数,迭代训练整个目标定位模型。

关于增量分类模型,其输入图像是基于目标定位模型得到的目标框对原始图像切片得到的,即输入图像是包含目标的最小外接矩形的图像块;将目标定位模块得到的高置信度的目标框作为潜在对象的集合,将与目标框相对应的原始图像切片输入到增量分类模型中进行训练,得到识别结果;

增量分类模块包括增量分类学习模块和增量分类训练模块;增量分类学习模块包括骨干网络和注意力学习模块,用于渐进式学习新目标特征;增量分类训练模块包括骨干网络和相似度计算模块,用于学习新类和旧类之间的区分性。

所述新类学习模块包括增量对象检测模块,用户向摄像机实现新对象并输入类的名称,新类学习模块收集这个新对象的样本,然后进入增量对象检测模块,提取基于目标定位模块中计算出的目标框的目标所在区域的图像块,并计算其对应的ResNet-101特征,作为查询对象对应的查询特征,分类问题作为检索问题处理,根据查询特征的最近邻对查询对象进行分类。

所述抓取控制模块包括轨迹控制,根据目标物体的位置,将机械臂移动到目标物体上方,计算目标角度与当前角度的误差,使用反馈控制减少误差,控制机械臂下降,根据传感器信号控制下降距离;当机械臂与目标物体的距离足够小时即可命令机械臂抓起物体。

本发明所述机器人操作系统的操作方法,包括目标定位、增量分类、新类学习和抓取控制,具体步骤为:

(1)由用户自主向机器人展示新物体,如展示物体是新类,由用户提供标签,实现构建目标定位模型,并在MS-COCO数据集上做预训练处理;

(2)利用目标定位模型对展示视频中所设计物体进行定位,构建增量分类模型,在ImageNet数据集上做预训练处理;

(3)利用增量分类模型,提取物体特征,增量训练已有模型,作为检索特征使用;在数据库中匹配查询集,得到分类结果,定位选中目标的位置,构建机械臂抓取运动轨迹。

优选的,步骤(1)中,展示新物体时不要求物体保持静止状态,只需要拿着新物体并旋转它,即可向机器人显示不同的物体姿态。

步骤(3)中,增量分类模型中,输入图像使用RwsNet102作为特征特区器,获取最后一次卷积得到的特征图。以特征图的尺寸大小为7×7×512为例,512张feature map在全连接层分类的权重肯定不同,选择softmax值最大的节点(对应置信度最高的类别)反向传播,对最后一层的卷积层求梯度值,每张特征图的梯度的均值作为该张特征图的权重。用每张特征图乘以权重得到带权重的特征图(7×7×512),在第三维求均值得到7×7的map,经过relu激活函数激活,归一化处理(避免有些值不在0-255范围内)。该步骤最重要的是relu激活(relu只保留大于0的值),relu后只保留该类别有用的特征。正数认为是该类别有用的特征,负数是其他类别的特征(或无用特征)。假设某类别最后加权后为0.8965,类别值越大则是该类别的概率就越高,那么属于该类别的特征既为类别值大于0的特征。小于0的特征可能是其他类的特征。如果没有relu,定位图谱显示的不仅仅是某一类的特征,而是所有类别的特征。将所有特征信息存储在设备中,作为查询特征。

本发明创新的提出使用基于视频数据的机器人抓取方法和系统,在向机器人教授新物体时,不要求物体保持静止状态,只需要拿着新物体并旋转它,就可以向相机显示不同的物体姿态。学习模块自动跟踪对象并存储特征。从那里,增量检测模块将能够检测新物体并将其从表中取出。

本发明中,机械手将根据用户需求自动拾取物体,该接口由qt-ROS包实现。

本发明基于检测-分类的两阶段范式,其中,与一般的分类问题不同,基于视频的信息的分类任务有额外的时间信息,而且不同的目标姿态有助于建立更好的分类模块,有利于解决在昏暗等不利条件下的低分辨率识别问题。

附图说明

下面结合附图对本发明作进一步的说明。

图1为本发明的操作流程示意图。

具体实施方式

下面结合附图与实施例对本发明做进一步说明。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1:

本实施例提出一种基于视频增量学习的机器人操作系统。基于增量学习,解决机器人在开放动态环境下的物体识别、抓取难题。该系统包括目标定位模块,增量分类模块,新类学习模块和抓取控制模块。

目标定位模块用于检测定位机器视野中目标的位置,其中,所述机器视野源自机器人系统中的摄像头视野。本发明采用支持全高清颜色和IR深度感知的英特尔Realsense实感摄像头。

增量分类模块与所述目标定位给模块相连,获取目标位置,将视像头视野中仅涉及目标的最小外接矩形区域图像。

新类学习模块与增量分类模块连接,用于提取新类目标的特征,当作查询特征储存在数据库中,以便查询匹配使用。

抓取控制模块分别与目标定位模块和增量分类模块连接,获取待抓取目标的准确位置。

在本实施例中,所述目标定位模块包括输入端:

1)随机使用4张图片,通过随机缩放、随机裁剪、随机排布的方式拼接成一张图像,图像标签也通过同种方式拼接。通过这种方式可以在随机缩放过程中增加了很多小目标,大大丰富了检测数据集,增强网络的鲁棒性;

2)针对所使用的MS-COCO数据集,初始设置长宽的锚框。在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数,自适应的计算锚框;

3)在常用的目标检测算法中,不同的图片长宽都不相同,因此常用的方式是将原始图片统一缩放到一个标准尺寸,再送入检测网络中。然而在实际应用时,很多图片的长宽比不同,因此缩放填充后,两端的黑边大小都不同,而如果填充的比较多,则存在信息冗余,影响推理速度。因此以对原始图像自适应的添加最少的黑边为原则,自适应的进行图片缩放。

在本实施例中,所述目标定位模块包括骨干网络:

该骨干网络和目标位置预测中所提到的卷积层组,均由三个串联的组件组成,即卷积层、批正则化层(BN层)和斜率为0.1的LeakyReLU激活函数层。

首先是1个卷积核为32,大小为3×3,步长为1,padding为same的卷积层组,然后是5组重复的残差单元resblock_body,即resblock_body_1、resblock_body_2、resblock_body_3、resblock_body_4、resblock_body_5。resblock_body_1由一个卷积核为64,大小为3×3,步长为2,padding为valid的卷积层组与一个卷积块构成。该卷积块包括一个卷积核为32,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为64,大小为3×3,步长为1,padding为same的卷积层组串联组成。卷积块的输入和输出之间有一个残差连接,直接相加后作为该卷积块的输出(下文中所涉及的卷积块的输入输出之间同样有残差连接)。resblock_body_2由一个卷积核为128,大小为3×3,步长为2,padding为valid的卷积层组与重复执行2次的卷积块构成。该卷积块包括一个卷积核为64,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为128,大小为3×3,步长为1,padding为same的卷积层组串联组成。resblock_body_3由一个卷积核为256,大小为3×3,步长为2,padding为valid的卷积层组与重复执行8次的卷积块构成。该卷积块包括一个卷积核为128,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为256,大小为3×3,步长为1,padding为same的卷积层组串联组成。resblock_body_4由一个卷积核为512,大小为3×3,步长为2,padding为valid的卷积层组与重复执行8次的卷积块构成。该卷积块包括一个卷积核为256,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为512,大小为3×3,步长为1,padding为same的卷积层组串联组成。resblock_body_5由一个卷积核为1024,大小为3×3,步长为2,padding为valid的卷积层组与重复执行4次的卷积块构成。该卷积块包括一个卷积核为512,大小为1×1,步长为1,padding为same的卷积层组和一个卷积核为1024,大小为3×3,步长为1,padding为same的卷积层组串联组成。

在本实施例中,所述目标定位模块包括目标位置预测:

在该步骤中设置一个卷积集,设该卷积集的输入通道数为c,该卷积集由串联的5个卷积层组组成,其中每个卷积层组的卷积层的卷积核大小为1×1,步长为1,padding为same,五个卷积层组的卷积层的卷积核个数分别为{c/2,c,c/2,c,c/2}。

resblock_body_5的输出经过卷积集conv_set_1,依次通过一个卷积核为1024,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_1;

conv_set_1的输出经过一个卷积核为256,大小为1×1,步长为1,padding为same的卷积层组,经过一次2倍上采样,然后与resblock_body_4的输出在通道维度上拼接。输出结果经过经过卷积集conv_set_2,再依次通过一个卷积核为512,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_2;

conv_set_2的输出经过一个卷积核为128,大小为1×1,步长为1,padding为same的卷积层组,经过一次2倍上采样,然后与resblock_body_3的输出在通道维度上拼接。输出结果经过经过卷积集conv_set_3,再依次通过一个卷积核为256,大小为3×3,步长为1,padding为same的卷积层组和一个卷积核为255,大小为1×1,步长为1,padding为same的卷积层组,得到预测结果pre_3。

Pre_1,Pre_2和Pre_3分别是原始图像的32、16、8倍下采样尺寸,可以在不同尺度上进行对象检测。以输入图像大小416×416为例,Pre_1,Pre_2和Pre_3的尺寸分别是13×13×255,26×26×255,52×25×255。以13×13×255为例,该尺寸的具体含义为:将原始图像均分为13×13(S=13)个网格,如果某个目标的中心落在这个网格中,则这个网格就负责预测该目标。设置每个网格单元预测B=3个box,所以每个box需要有(x, y, w, h,confidence)五个基本参数,然后还要有C=80个类别的概率。所以3*(5+80)=255。x, y, w,h是目标框中心点相对于网格单元左上角的相对坐标,Confidence表示当预测目标与真是目标相符时的IOU值。

在本实施例中,所述目标定位模块包括后处理:

使用以下步骤将检测出的多个目标框精简到只包含不重复目标的目标框:

目标置信度阈值:首先,我们根据它们的 Objectness 分数过滤边界框。通常,分数低于阈值的边界框会被忽略。

非极大值抑制:非极大值抑制(NMS)可解决对同一个图像的多次检测的问题,只保留得分最高的边界框。例如,红色网格单元的 3 个边界框可以检测一个框,或者临近网格可检测相同对象。

在本实施例中,所述增量分类模块包括特征提取:

输入图像使用ResNet101作为特征提取器,获取最后一次卷积得到的特征图。以特征图的尺寸大小为7×7×512为例,512张feature map在全连接层分类的权重肯定不同,选择softmax值最大的节点(对应置信度最高的类别)反向传播,对最后一层的卷积层求梯度值,每张特征图的梯度的均值作为该张特征图的权重。用每张特征图乘以权重得到带权重的特征图(7×7×512),在第三维求均值得到7×7的map,经过relu激活函数激活,归一化处理(避免有些值不在0-255范围内),得到特征图。

在本实施例中,所述抓取控制模块包括轨迹控制:

具体的,根据目标物体的位置,将机械臂移动到目标物体上方。计算目标角度与当前角度的误差,使用反馈控制减少误差,控制机械臂下降,根据传感器信号控制下降距离。当机械臂与目标物体的距离足够小时即可命令机械臂抓起物体。

实施例2:

本实施例提供一种基于视频增量学习的机器人操作方法。基于增量学习,解决机器人在开放动态环境下的物体识别、抓取难题。该方法包括目标定位,增量分类,新类学习和抓取控制。图1是本发明实施例提供的一种基于视频增量学习的机器人操作方法的流程图。如图1所示,该方法包括步骤S10-S30。

S10:由用户自主向机器人展示新物体,不要求物体保持静止状态,只需要拿着新物体并旋转它,就可以向机器人显示不同的物体姿态。如果所展示物体是新类,由用户提供标签。

S20:利用目标定位模型对所述展示视频中所设计物体进行定位。

S30:利用增量分类模型,提取物体特征,作为检索特征使用。在数据库中匹配查询集,得到分类结果。

本实施例的操作方法与实施例1中的基于视频增量学习的机器人操作系统具有相同的技术原理和有益效果。未在本实施例中详尽描述的技术细节,请参照实施例1中的基于视频增量学习的机器人操作系统。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:细胞操作机器人的控制方法、装置、设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!