作者简介:马爽(1985-),女,博士研究生.研究方向:模式识别,机器人视觉,认知学习,神经网络,智能信息处理.E-mail:mashuang11@mails.jlu.edu.cn
以海港集装箱扭锁自动化装卸过程中扭锁的认知识别为研究背景,采用Kinect传感器感知环境及物体信息,提出基于改进的增量主成分分析(Principal component analysis,PCA)方法构建实时认知识别系统。在系统在线学习阶段,基于新样本与已有特征重建样本之间的差异程度来感知、监测新类别输入,控制特征向量增量式更新;基于类内距离比较,优化特征向量组合,并自适应地更新类内距离阈值;将高维视觉信号转化为低维的机器人内部表达形式,从而在线实时地学习、更新、累积特征知识,同时完成模式识别任务。实验结果表明:该方法在有效提高视觉系统实时性、自适应性、稳定性及识别准确率的同时,控制了特征维度,从而减少了数据处理量及存储空间。
Research of the cognitive recognition of twist-lock automation handling system is conducted. In this research, Kinect is employed to collect environment and objects information, and an improved incremental Principal Component Analysis (PCA) is proposed to build real-time cognitive recognition system. In online learning phase, the new class is monitored and feature vectors are updated incrementally based on the difference between the new input and the reconstruction one using current eigenvectors; the feature vectors are optimized and the inner-class distance threshold is updated adaptively based on comparison of inner-class distance. Thereby, the proposed algorithm can convert high-dimension information to low-dimension machine expression, learn, update and accumulate feature knowledge online, and complete pattern recognition task at the same time. Experiment results show that the proposed algorithm can improve the adaptability, robustness, recognition rate and real-time performance of a visual system, Moreover, calculation and storage space can be reduced by controlling the feature space dimension.
为了提高集装箱装卸自动化水平及确保操作人员安全, 亟需研究出能系统地完成扭锁的识别和抓取工作的智能移动机器人, 以替代目前的人工操作[1]。常规工业自动化生产线中, 机器人目标识别和抓取系统通常工作在结构化环境中, 并且任务模型已知不变, 采用示教再现或者离线编程的方式来完成预先规划好的操作。但在集装箱装卸过程中, 扭锁的位姿不固定、背景复杂多变、种类多样, 采用示教再现或者离线编程的方法已无法解决问题。因此本文基于认知发育思想, 借鉴人类在环境中通过后天交互学习不断积累和更新知识的过程, 采用增量式在线学习方式获取执行非特定任务时必须具备的目标认知能力, 进而完成扭锁的抓取操作。
在模式识别和机器学习领域, 主成分分析(Principal component analysis, PCA)方法广泛应用于人脸、事物、场景和行为的识别[2, 3, 4, 5], 它从统计学的角度出发, 充分挖掘出高维数据内在的机构和特征模式, 使用合理的坐标空间(特征空间)将高维信息有效地集中到少数综合特征指标上[6, 7]。但传统PCA学习方法一般采用离线的批量式训练的处理方式, 存在以下缺点:①在线识别的准确程度严重依赖于离线训练样本的多样性及数量; ②当有新类别样本输入时, 由于不能在线更新特征空间, 从而导致目标识别失败, 只能重新对样本进行离线训练更新特征空间, 实时性差, 缺乏自适应性。
针对传统PCA方法的局限性和不足, 人们提出了在线增量式PCA学习方法。目前增量式PCA方法主要有两类实现方式:一类是无需计算协方差矩阵的方法, 早期Oja[8]提出的随机梯度上升(Stochastic gradient ascent, SGA)算法、Sanger[9]提出的广义(Hebbian)算法(Generalized hebbion algorithm, GHA)以及近年Weng等[10]提出的CCIPCA(Candid covariance-free incremental, PCA)等算法, 该类方法通过迭代运算收敛到待求特征向量, 其有效性取决于估计主成分的收敛性, 收敛精度和速度都比较差; 另一类通过重新构建矩阵的方法, 重构方法有两种:①通过计算均值重新构建矩阵, 利用奇异值分解获取主成分。Hall等[11]通过构造数据均值矩阵, 使用特征值分解和奇异值分解的方法, 增加或减少特征空间向量。黄诚等[12]通过重新计算数据均值和奇异值分解更新特征空间, 用于检测被跟踪的目标物体的新位姿。②通过重新构建系数矩阵获取主成分, Skocaj等[13]通过重新构造投影系数矩阵的方法在线增量更新特征空间, 并提出鲁棒的增量式主成分分析方法解决了噪声问题。Neto等[14]通过构造投影系数矩阵的方法获取主成分, 用于动态环境中新物体的实时检测。重新构建矩阵的增量方法比无需计算协方差矩阵的方法收敛速度快、稳定性好, 因此应用较多。但是通过构建样本矩阵的在线学习算法, 虽然可以有效地表达物体特征并分类, 但是随着输入测试样本的增加, 数据维数也相应地增加, 这将增加数据存储空间及计算时间, 为实时系统带来不便。Qu等[15]针对增量式PCA方法的识别问题, 提出采用类间、类内距离的比较控制特征维度, 但由于其类内、类间度量均采用阈值判断, 缺乏完备性和适应性。
本文采用基于Kinect的视觉系统获取工作环境和扭锁的信息, 利用改进的增量式PCA方法在线学习扭锁的特征, 基于聚类的分析方法进一步提出了更新类内距离阈值的新算法, 在保证系统实时性的同时, 提高了系统在线实时感知新类别物体以及学习、更新、积累特征知识的能力, 提高系统的自适应性以及扭锁的类型识别的准确性。
离线主成分分析方法通过批量训练样本, 获得批量样本的均值向量、投影系数矩阵、初始特征向量。在离线学习的基础上, 在线增量式PCA方法可以吸收新数据, 更新特征值和特征向量。本文通过构造更新传递系数矩阵而获取新的特征向量, 其具体步骤如算法1所示, 假设已经对当前
算法1
输入:当前样本均值向量μ (n), 当前特征向量U(n), 当前系数矩阵A(n), 新输入数据矩阵x
输出:更新后新的样本均值向量μ (n+1), 新的特征向量U(n+1), 新的系数矩阵A(n+1), 新的特征值λ (n)
(1)将新输入的样本x投影到当前特征空间:a=U(n)T(x-μ (n))
(2)重建数据表示为:y=U(n)a+μ (n)
(3)计算重建残差向量:r=x-y, 并与U(n)正交
(4)构建新的向量基:U'=[U(n)
(5)构建新的系数矩阵:A'=
(6)对矩阵A'进行PCA分析, 获取均值μ ″, 特征向量U″, 特征值λ ″
(7)系数矩阵投影到新的向量基:A(n+1)=U* T(A'-μ * 11× n+1)
(8)旋转特征向量U'到U* :U(n+1)=U'U*
(9)更新均值向量:μ (n+1)=μ (n)+U'μ *
(10)获得新的特征值:λ (n+1)=λ *
(11)结束
由于扭锁工件尺寸各异, 首先根据物体的尺寸粗略分类, 对尺寸相近的样本使用本文的在线学习方法进行再次分类, 识别出扭锁类别及姿态。本文的学习识别过程是在检测分割等预处理后进行的。
基于认知发育学习思想所设计的在线学习识别系统原理如图1所示。特征学习过程按时间分为离线训练学习和在线学习阶段, 高维信息经过当前在线学习分析后, 经分类器给出最终的类别和位姿识别结果, 同时自适应地更新优化样本特征空间、系数矩阵以及分类器的分类阈值, 使系统具有在线实时感知新类别物体以及学习、更新、积累、判断类别的能力。
(1)离线训练学习:在线感知学习之前, 先取少量样本进行离线批量PCA学习, 获取初始特征空间矢量、样本均值以及分类器的初始阈值, 赋予机器人视觉基本的感知分类能力。针对少量样本训练时, 特征子空间和分类器并不全面、准确的问题, 需根据实时采集的样本来在线学习补充知识。
(2)在线学习:目标是借鉴认知发育思想, 使机器人像人一样通过后天教师指导监督, 增量地累积知识。在线从外界接收新样本, 利用算法1步骤(3)中重建残差向量的模衡量新样本与利用已有特征重建样本之间的差异程度, 即重建误差来检测新类别的出现。由此分为两种状况讨论:①新类别, 人类作为教师监督指导机器人进行在线学习, 增量地更新特征空间, 人为给定样本类别标记并保存到样本库; ②已学习过的类别, 新样本归属于特征空间中最邻近点类别。采用新输入点与最邻近点间的欧氏距离衡量两点之间的相似性, 由此判断特征空间是否需要优化。最邻近距离较小即相似性较大时, 表明与已有样本位姿接近, 样本不予学习及保存; 最邻近距离较大即相似性较小, 此时样本认为该类别为新的位姿, 增量更新特征空间后, 进一步优化筛选出最佳的特征组合, 剔除贡献率最小的特征向量, 将该输入作为新位姿样本加入样本库。
在线学习过程中, 采用与最邻近点的欧氏距离作为相似性测度完成特征空间优化和模式分类。不同类物体在同一特征空间中的散布情况不同, 因此不能用单一固定阈值衡量多类别物体的相似性。本文采用动态更新类内距离阈值的方法, 当样本库有新输入时, 计算该类样本的类内平均距离, 如果类内平均距离介于初始设定的最大与最小阈值之间, 则类内距离阈值更新为当前类内平均距离, 照此方式在线动态地更新完善分类器内各类样本的类内阈值。经式(1)~(5)推导证明可知, 类内平均距离平方为类协方差矩阵迹之和的2倍, 因此由类内协方差矩阵的迹得出类内平均距离更为直接。
每幅M× N的二维图像可看成n× 1维的列向量(n=M× N), 假设现有同种类别K个n× 1维列向量a1, a2, …, aK, 点aj与其他点间平均距离平方如式(1)所示:
(1)
式中:
类内任意两点平均距离平方如式(2)所示:
式中:
由于来自同一个类别, 有
各分量的无偏方差为:
则有:
式中:C为K个n× 1维列向量a1, a2, …, aK的协方差矩阵。
在线学习阶段可获取标准样本在特征空间的投影、最邻近点欧氏距离, 提供了用于模式分类的信息, 因此学习和模式识别过程可同步进行。
基于改进的增量PCA在线自适应感知识别算法具体执行流程如图2所示。主要使用参数如下:Dclass为类间距离阈值; Dinner_class为类内距离阈值;
本文提出的算法步骤如下:
(1)对于新输入的样本按照算法1中步骤(1)~(3)计算重建残差
(2)
(3)
(4)
(5)判断结束。再次接收新样本输入, 进入下一个算法循环。
随着在线学习样本数量的增加, 特征空间不断更新及优化、分类器不断得到更新, 这些为下一步模拟人脑将知识存入长时记忆系统中做准备。
针对海港集装箱扭锁的自动化装卸任务要求, 使用ABB工业机器人手臂、仿人三指灵巧手以及微软Kinect摄像机搭建实验平台(见图3), 完成扭锁学习识别任务。系统中视觉传感器Kinect固定于平台顶部机械臂上方感知环境和物体, 可同时获取RGB图像及每个像素所对应的深度信息。分辨率为640× 480的深度图像(x/pixels, y/pixels, z/mm)及相对应的彩色图像(RGB), 如图4所示。
实验中选取少量不同类别、位姿的深度图像作为离线训练样本, 用于初步构建特征空间和初始化分类器阈值; 随机地采集物体的稳定状态的深度图像作为测试样本集, 用于测试本文算法的可行性以及稳定性。由于不同物体机械结构设计不同, 样本按照物体放置在平台上的稳定状态进行分类, 具体类别和位姿定义如图5所示, 将物体的位姿大体上分为正面(F)、反面(B)以及两者之间的其他状态(C), 其他状态几率很小, 每种类别中采集旋转不同角度的位姿状态。T1、T2的实际尺寸约为20 cm× 18 cm, 像素尺寸为120 pixel× 120 pixel, 归类为一个特征空间训练; T3的实际尺寸约为13 cm× 7 cm, 像素尺寸为70 pixel× 70 pixel, 归类为一个特征空间训练。实验中只使用深度信息图像, 这里列出彩色图像是为了便于观察分析。
实验选取T3-F状态深度图像18幅(见图6(a))进行离线批量学习, 用于初始化特征空间和分类器, 为便于观察, 同时提供与深度图像相对应的RGB图像。在线输入已知类别测试样本20个, 投影到当前特征空间统计重建误差; 然后顺序输入图6(b)所示的新类别测试样本, 分别对新类别样本进行离线PCA和在线自适应增量PCA学习, 分析重建误差及特征空间变化情况。
从图7(a)中可以看出:输入已知类别测试样本时, 其重建误差在一定的可控范围内波动(见7(a)矩形框中所示), 当输入新样本时, 由于离线PCA方法在线阶段不能吸收新样本, 无法更新特征空间, 重建误差一直很大, 因此不能解决新类别学习问题, 进而依据特征空间最邻近准则分类最终会造成错误识别。本文的在线自适应增量PCA方法, 当有新类别输入时重建误差会大幅度增加, 随着在线学习逐步进行, 重建误差逐渐减小。同时从图7(b)可以看出:在线学习过程中特征空间逐步更新完善, 基于调整后特征重建的样本图像逐渐变好, 新样本与利用已有特征重建样本之间的差异程度逐渐减少。整体来看, 当有新类别样本输入时重建误差大幅增加, 因此可通过设置重建误差阈值来监测新类别的输入。
离线训练样本18个(见图6(a)), 测试样本90个(已知类样本37个, 新的两种类别样本共53个), 从重建误差、特征维度以及识别准确率3个方面对在线自适应增量PCA(Adaptive IPCA)方法、重新计算PCA(Recompute PCA)方法以及增量PCA(Inctemtal PCA)方法进行分析比较。
重新计算PCA方法与增量PCA方法每次检测到新类别和新位姿的时候运行该算法获取主成分。从图8可以看出:随着在线学习样本的增加, 三种方法的重建误差曲线总体变化趋势大致相同, 重建误差逐渐减少并接近, 且在同一学习样本处重建误差按照重新计算PCA方法、增量PCA方法、
在线自适应增量PCA方法依次增加。重新计算PCA方法及增量PCA方法当监测到新类别或者新位姿时增量地更新特征空间, 特征维度不断增加, 最终特征维度为46; 本文的自适应增量PCA算法, 当增量更新时特征维度增加, 优化时维度保持不变, 特征维度统计为31。与其他两种方法对比, 自适应增量PCA方法通过增量更新和优化可以有效地调节特征空间, 抑制特征维度增长, 减少数据的存储开销。
本文采用特征空间中与最邻近点的欧氏距离作为相似性测度完成分类, 特征向量的更新及优化将直接影响样本在特征空间的分布情况, 进而影响识别结果。三种方法的识别率及特征维度统计如表1所示, 本文的自适应增量学习算法虽略低于重新计算PCA方法及增量PCA方法, 但随着学习的进行和识别样本的增加, 识别率也相应提高, 在避免重复计算协方差矩阵的同时还可以有效控制特征维度。在之前的研究工作中[16]使用PCA方法和KPCA方法对大量T3类各种位姿样本进行离线训练, 在线测试样本正确识别率分别为82%和85%。本文的自适应增量PCA方法基于少量训练样本, 经在线学习完善特征空间, 最终识别率可以达到94.4%, 相比之下有明显提升。
为了完成扭锁安装过程中抓取物体识别任务, 采用Kinect感知环境物体信息, 借鉴认知发育思想设计感知识别系统, 针对传统PCA学习的局限性, 利用改进的增量PCA方法在线学习特征知识并同步进行模式识别。基于新样本与已有特征空间重建样本之间的差异程度监测新类别输入, 通过人类监督指导机器人学习给定新样本标识, 增量地更新特征空间; 基于类内距离比较, 自适应地更新类内距离阈值, 优化特征空间向量, 增量更新后剔除贡献率最小的特征值对应的特征向量, 保持维度不变。从实验结果可以看出, 本文提出的算法在少量训练样本的情况下, 能够在线地学习、更新、优化、累积新知识, 同时进行模式分类, 增强了视觉系统的实时性和可扩展性, 符合人类后天学习方式, 也为后续的仿人脑信息处理过程中知识的存储、调用提供了前提和基础。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|