摘 要:现有的场景识别方法准确率低,适应能力不强.为此,将自主发育神经网络应用于机器人场景识别任务,提出了 2 种将自主发育网络与多传感器融合技术相结合的场景识别方法,即基于加权贝叶斯融合的机器人场景识别方法,以及基于同一自主发育网络架构数据融合的场景识别方法,分别在决策层以及数据层对多传感器信息进行融合,提高了场景识别的准确度,而自主发育网络则提升了识别方法针对各种复杂场景的适应能力.对于所提出的场景识别方法进行了实验测试与分析,证实了其有效性及实用性.此外,由于在同一网络架构下进行数据融合可更高效地利用数据,因此这种方法在场景识别的准确度方面具有更为优越的性能.
本文源自余慧瑾;方勇纯;韦知辛;, 机器人 发表时间:2021-04-26 09:29《机器人》是经中华人民共和国新闻出版总署批准,由中国科学院主管,中国科学院沈阳自动化研究所、中国自动化学会共同主办的科技类核心期刊,主要报道中国在机器人学及相关领域具有创新性的、高水平的、有重要意义的学术进展及研究成果,由中国科学出版社出版。
关键词:自主发育神经网络;多传感器融合;场景识别
1 引言(Introduction)
多传感器数据融合[1] 是一个新兴的研究领域,是在一个系统中使用多种传感器进行数据处理,将多个同质或异质传感器获得的互补信息或冗余信息进行有机结合,以得到满意的检测结果[2].Zhang 等[3] 针对 3 种基于稀疏表示的图像融合方法进行了分析对比总结.Wan 等[4] 通过融合自主驾驶汽车的 GNSS(全球导航卫星系统)、LiDAR(激光雷达)和 IMU(惯性测量单元)等传感器,在不同的城市场景中实现了厘米级的定位精度.Rakotovao 等[5] 提出了一种只使用整数来表示概率的基于占用网格的多传感器融合算法,以提升融合效率.Liang 等[6] 提出了一个多任务多传感器检测模型,通过融合 LiDAR 以及视觉传感器,实现了 3D 物体的识别检测.
场景识别是机器人在复杂动态环境下进行作业的基本要求,得到了机器人领域专家的广泛关注.要实现对场景的可靠识别,关键在于采用合适的传感方式获得区分度较高的场景信息.因此,近年来,国内外许多学者将多传感器融合方法应用到场景识别及定位应用中,并取得了一定的进展.例如,Liu 等 [7] 提出一种基于场景约束的室内场景定位方法,通过融合手机摄像头、WiFi 和惯性传感器实现室内场景识别.Zhu 等[8] 提出了一种新的鉴别特征融合框架,用于 RGB-D 场景识别.Bijelic 等[9] 提出了一种脱离建议级融合的深度多模态融合网络,以解决在不利天气场景中的目标检测问题.值得指出的是,尽管这些方法得到了一定程度的应用,但是它们通常需要利用先验知识,当应用于复杂动态环境时,场景识别的可靠性与鲁棒性难以完全满足要求.
随着机器人技术的飞速发展,如何使机器人具有类人的认知能力,使其能够在各种复杂场景中自主作业,逐渐成为机器人领域的研究热点.其中,Weng 等[10-11] 首先提出了一种基于自主发育网络的机器人认知方法,他们认为机器人可以模仿人类的学习方式,并通过记忆新知识不断发育其智能体系.该思想得到了国内外学者的认可,并尝试将其推广应用于完成实际任务.例如,王东署等[12] 提出利用自主发育网络完成人脸朝向识别任务,Castro-Garcia 等[13] 训练自主发育网络以识别英语和法语句子,而 Zheng 等[14] 将自主发育网络用于室外导航任务.近年来,钱夔等 [15] 尝试应用自主发育网络来解决机器人的场景识别问题,在其启发下,文 [16] 提出了一种基于改进型自主发育网络的场景识别方法,这种方法通过负向学习、加强型学习等步骤实现对场景的快速识别,并使识别方法具有一定的适应能力.遗憾的是,以上方法仍然处于起步阶段,亟待进一步提升性能.
尽管自主发育网络得到了机器人领域的极大关注,但目前对于自主发育网络的研究仅局限于利用单一传感器进行,由于单一传感器在适应性方面存在不足,当将其应用于场景识别任务时,识别的准确率难以满足实际要求.另一方面,针对配备多种传感器的机器人系统,若应用传统的数据融合方法来处理场景识别任务又面临可靠性低和适应能力不强等问题.基于上述分析,本文为了提高识别的准确率和方法的适应能力,将自主发育神经网络引入机器人场景识别任务,分别提出了基于加权贝叶斯融合的机器人场景识别方法,以及基于同一自主发育网络架构数据融合的场景识别方法,这 2 种方法分别在决策层和数据层对视觉传感器与激光传感器数据进行融合,通过自主发育神经网络实现了场景识别.实验结果表明,这 2 种方法都可以较为可靠地识别出不同场景,而基于同一自主发育网络架构的场景识别方法准确率更高,并且在时间复杂度方面也可满足机器人实时作业的要求,因此具有更好的实际应用前景.
2 基于自主发育神经网络的多传感器场景 识 别(Multi-sensor scene recognition based on autonomous developmental neural network)
2.1 场景识别问题描述与整体思路
当机器人在陌生环境下时,需要基于自身携带的传感器来获取环境中的关键信息,在此基础上,快速准确地识别出所处的环境,这就是机器人的场景识别问题.考虑到单一传感器在各方面性能的不足,本文将基于 2 种常见的传感数据,即视觉信息和激光信息,以自主发育神经网络为基础,设计相应方法对两者信息进行融合来实现场景识别(如走廊、室内、拐角等不同场景).
针对视觉传感器采集到的 RGB 信息和激光测距传感器得到的轮廓信息,拟分别在决策层和数据层进行信息融合,在此基础上,分别提出基于加权贝叶斯融合的机器人场景识别方法和基于同一自主发育网络架构数据融合的场景识别方法,并最终进行实验测试和对比分析.当然,以上方法并不仅仅限于视觉和激光数据,对于其他类型的传感信息,可以采用同样的方法进行融合来实现场景识别.
基于加权贝叶斯融合的机器人场景识别方法主要在决策层进行数据融合,具体思路如下:机器人通过自身装载的 Kinect 摄像头和激光测距传感器分别获取视觉 RGB 信息和激光轮廓信息;进而,利用自主发育神经网络对 RGB 信息和激光轮廓信息分别进行处理,获得基于单一传感器的场景识别结果.在此基础上,将上述结果进行加权贝叶斯处理,并将融合后的结果作为最终的场景识别结果,以有效弥补单一传感器适应性不强等缺陷.
上述决策级融合在数据层面会损失一些信息,为了更好地提高机器人场景识别的准确率,考虑在数据层面进行融合,以最大程度利用不同传感器获取的输入信息,从而提出了基于同一自主发育网络架构数据融合的场景识别方法,这种方法的主要思路如下:通过一个自主发育神经网络架构同时学习 2 种传感器的数据,在数据级的层面进行融合.为此,将来自视觉和激光传感器的信息输入到同一个自主发育网络,网络中的每个神经元将同时处理这 2 种传感器信息,而整个自主发育神经网络的输出即为场景识别结果.
2.2 自主发育神经网络
本文提出的 2 种场景识别方法其核心均为自主发育神经网络.本节将简要描述这种网络.
自主发育网络[15] 是一个三层全连接网络 {X, Y,Z},神经元主要有 3 种连接方式,分别为自底向上连接、自顶向下连接以及同层神经元的横向连接.X 层为感知输入层,Y 层为决策处理层,Z 层为效应输出层.X 层与外界环境直接接触,接收来自传感器的信息.Y 层模拟人类大脑对外部输入信息进行处理分析,并作为连接 X 层与 Z 层的桥梁将处理结果传输到 Z 层.Z 层是各效应器的集合,在指导学习阶段将指导信息传递到 Y 层进行计算;在测试阶段,输出系统对实际环境做出的决断.
自主发育神经网络每层神经元的权重更新都采用了 LCA(lobe component analysis)算法[17].每个 Y 层的神经元都有一对突触权重 v = (vb,vt),分别用来接收来自 X 层的自底向上(bottom up)信息 b 以及来自 Z 层的自顶向下(top down)信息 t.网络针对输入,对每个神经元 n 计算其预响应值 Rn [15],具体公式如下:
从式 (1) 可以看出,预响应值的 2 个部分实际上就是该神经元的权重向量和输入向量之间的夹角余弦值,即神经元输入信息与记忆信息之间的匹配程度的表征.
采用 top-k 竞争机制,激活预响应值最大的前 k 个神经元,并通过更新优胜神经元的突触权重向量,对网络进行训练发育,具体更新过程 [14] 如下式所示:
其中,R 向量中每个元素对应网络中不同神经元的预响应值.w1 (gj) 和 w2 (gj) 由遗忘平均算法(amnesic mean)获取.gj 为被激活的优胜神经元年龄.通过不断更新网络神经元间的突触连接权重,完成网络训练.
3 基于加权贝叶斯融合的机器人场景识别方法(Robot scene recognition method based on weighted Bayesian fusion)
考虑到单一传感器的局限性,本文结合视觉传感器及激光传感器,对两者采集到的数据进行融合,从而提升机器人场景识别作业的准确性.为此,本节提出一种基于加权贝叶斯融合的机器人场景识别方法,这种方法采用决策级融合方式,其具体结构如图 1 所示:对于每个传感器 j = 1,2,··· ,m,首先各传感器获取相关数据 Xj,系统基于各传感器数据实现分布式决策 Zj,即利用各传感器数据通过自主发育网络(DN)分别进行场景识别,并将所有识别结果送到全局决策融合中心,在融合中心通过贝叶斯方法计算得到最终的识别结果.
具体来说,当移动机器人在未知环境下运动时,由其自身携带的视觉传感器和激光传感器同时采集环境信息,记录机器人在每个时刻获取的 RGB 图像及激光轮廓数据,并将其分别作为输入样本输入到各自对应的自主发育神经网络,经过计算进而得到场景识别结果。
对于激光轮廓数据来说,首先对其进行二值化处理,再将其转换为环投影直方图(ring-projection histogram)的形式.将图像分割为若干等间距的同心圆,用每个同心圆中的累计像素值表示激光数据的二值化图形轮廓图即为环投影直方图.环投影直方图的横轴对应的是激光轮廓图中半径的大小,纵轴即为相应同心圆与整个轮廓面积的比值.因此,环投影直方图中的数据取值范围为 0~1.由于环投影是沿着圆环进行的,因此具有旋转不变性和收缩不变性,可以较好地容忍实验中因机器人旋转而引起的角度变化.激光数据处理流程如图 2 所示.
加权贝叶斯融合方法的具体结构如图 3 所示:首先将图像和激光数据分别输入各自的自主发育神经网络,选取预响应值最大的前 k 个神经元激活并为其分配不同的加权因子:视觉传感器对应的网络加权因子为 a1,a2,··· ,ak,激光传感器对应的网络加权因子为 b1,b2,··· ,bk.将 k 个神经元对应的效应器按不同权重根据对应场景分别进行累加,得到单传感器的决策结果 Zp 和 Zl.在此基础上,通过贝叶斯公式对由单传感器得到的识别结果进行加权融合,将得到的最大值对应的场景作为最终的识别结果.
3.1 预响应值的加权处理
由前文可知,自主发育神经网络算法会根据系统输入信息计算预响应向量,选取预响应值最大的神经元作为优胜神经元.激活优胜神经元,并根据它 Z 层自底向上的突触权重向量确定与其最大值对应的识别结果.
为了进一步提高识别结果的可靠性,考虑预响应值较大的前 k 个神经元.设这 k 个神经元经过预响应向量计算后得到的值为 r1,r2,··· ,rk,对应每个神经元的加权因子为 w1,w2,··· ,wk.将不同神经元的预响应值进行加权比例分配,并根据对应场景进行累加,融合后会得到一个 n × 1 的效应器突触权重向量 P,其中向量 P 的每个元素对应一种场景类别.具体计算公式如下:
其中,V zb i 代表第 i 个神经元对应的 Z 层自底向上突触权重向量.权重W 的各元素应满足以下约束:
将视觉传感器和激光传感器获取的信息分别输入对应的自主发育神经网络,经过上述处理就可以得到对应的识别结果 Pp = (pi j)n×1 和 Pl = (li j)n×1.
3.2 决策结果的贝叶斯融合
为了消除利用单个传感器进行数据获取以及分析识别的局限性,将多个传感器识别结果进行融合,以进一步提高场景识别的准确率.因此,针对计算获得的 Pp 和 Pl,采用贝叶斯估计算法进行融合.
使用 P(A|ZA) 表示移动机器人当前所处位置属于 A 场景,且系统的场景识别结果 ZA 对应的也是 A 场景.同理,P(A|ZB) 即为移动机器人处于 A 场景但是系统识别出机器人所处场景为 B.以此类推.
基于加权贝叶斯的多传感器融合方法涉及到视觉传感器以及激光传感器二者的融合,因此以 P(A|ZA) 为例,其应为 2 个传感器数据识别结果的乘积,故具体计算公式如下:
其中,Pp(A|ZA) 对应于 Pp 第 1 个元素的值,Pp(A|ZB) 对应于 Pp 第 2 个元素的值,其余同理.
实验主要用于区分室内、走廊、拐角 3 类场景,用 A、B、C 分别代表 3 类场景.关于每个场景识别正确的可靠度,可利用式 (6) 进行计算(这里仅以室内场景举例进行说明,其他场景类似):
其中 ZA、ZB、ZC 分别代表系统测试识别结果为室内、走廊、拐角场景事件,A 代表测试样本对应的真实类别为室内场景.默认情况下,公式中的 P(ZA) = P(ZB) = P(ZC) = 1/3.但考虑到移动机器人的实际作业情况,通过综合分析前后多帧样本图像来识别场景类别,以处理各类偶然性因素的影响,提高识别结果的稳定可靠性.因此,根据前一时刻的场景识别结果,适当增加当前时刻公式中对应场景概率的值.
通过计算分别得到 P(A|ZA)、P(A|ZB)、P(A|ZC) 以及 P(A|ZD),其中 D 作为背景场景,代表没有进行过学习记忆的初生神经元对应场景.选取四者中的最大值对应的场景类别即为该测试样本的识别结果.
4 基 于 同 一 自 主 发 育 网 络 架 构 数 据 融合的场景识别方法(Scene recognition method based on data fusion of the same autonomous developmental network architecture)
上文提到的方法是基于决策进行融合,这样做的好处是可以并行计算,在一定程度上节省时间;但是,这种处理方式会损失部分数据信息,从而影响场景识别的准确度.为了更充分地利用数据,提出了基于同一自主发育网络架构的多传感器融合方法,其具体结构示意图如图 4 所示:该网络架构的 X 层将同时接收并处理视觉传感器采集的 RGB 图像数据以及激光测距传感器采集的激光轮廓信息.通过自主发育神经网络算法针对 X 层的输入信息进行计算,得到该系统最终的场景识别结果.
4.1 预响应值的计算
进行多传感融合的自主发育神经网络 X 层接收到的信息主要分为 2 个部分:一部分为视觉传感器采集到的 RGB 图像信息,经过预处理成为固定大小的图像,以 2 维矩阵 Xp 描述,其元素采用取值为 0~1 的像素值进行表征;另一部分为激光传感器采集得到的激光轮廓信息,用环投影方法进行预处理后用直方图 Xl 表示.
对于多传感器数据融合网络架构来说,每个 Y 层神经元预响应值的计算主要分为 2 个部分:来自 X 层的响应以及来自 Z 层的响应.来自 X 层的响应部分又分为来自图像信息以及来自激光数据信息 2 个部分,具体计算方法如下:
其中,Ry x 表示 Y 层神经元预响应向量计算过程中来自 X 层输入部分的影响;V b p 表示 Y 层神经元的自底向上权重向量,用于学习视觉传感器采集的图像信息部分;V b l 表示 Y 层神经元的自底向上权重向量,用于学习激光传感器采集的轮廓信息部分.式 (7) 中,权重因子 α(0 6 α 6 1)为输入到网络中的视觉和激光信息各自占据的比重大小,也就是神经元记忆的偏重点.通常情况下,可以选择 α = 0.5,即认为对于机器人所处的某一点来说,该点的视觉信息和激光信息对于 Y 层神经元预响应向量计算的影响力度相同.由于各类传感器有其不同的特点和适应能力,因此,在实际应用中,需要综合考虑场景和传感器的特点来选择合适的权重因子 α.
Y 层神经元利用其自顶向下突触权重部分去学习 Z 层的输入信息,其预响应值中的 Z 层响应部分 Ry z 的计算公式如下:
其中,V t 表示 Y 层神经元的自顶向下突触权重向量,z 表示来自人为指导的输入向量.
因此,Y 层每个神经元的预响应值计算公式如下:
其中,权重因子 β(0 6 β 6 1)即为相对于自底向上突触权重向量而言的自顶向下突触权重向量最大权重比例系数.当 β = 0.5 时,说明对于该神经元来说,自底向上突触权重向量和自顶向下突触权重向量的影响力度相同,即来自 X 层的外部信息输入与来自 Z 层的学习指导输入对于该神经元的预响应值计算的影响力度相同.
4.2 神经元突触权重的更新
Y 层优胜神经元的突触权重更新,采用基于视觉神经的赫布学习(Hebbian learning)算法 [18].
针对自主发育神经网络来说,来自外界环境的信息输入不仅有视觉传感器采集到的 RGB 图像信息,还有激光测距传感器采集到的激光轮廓信息.因此,网络中 Y 层用来学习 X 层输入信息的自底向上权重也分为了 2 个部分:用来学习图像信息的 V b p 和用来学习轮廓信息的 V b l.故而,在更新优胜神经元的突触权重时,也需要对两部分分别进行处理.这样才能让网络同时学习移动机器人在当前位置由 2 种不同传感器获取的数据信息.修改后的自底向上权重具体更新公式如下:
更新公式中的 w1 (gj) 和 w2 (gj) 控制着神经元的学习速率,两者之和恒等于 1,其相对比例 w2 (gj)/w1 (gj) 反映了神经元对于新知识的学习程度,比例越大,则对新知识的学习程度越大。
同一自主发育网络架构算法的流程图如图 5 所示.先利用训练样本结合人工的指导学习输入对网络突触权重不断进行更新优化,网络训练过程结束后,利用训练好的网络进行场景识别,验证系统对测试样本的识别准确率.
5 实验结果与分析(Experimental results and analysis)将本文提出的 2 种基于多传感融合的自主发育网络场景识别方法分别应用于移动机器人系统,使其完成场景识别任务.为了验证这 2 种方法的可行性,实验选取了室内、拐角、走廊 3 类场景类别进行识别.部分场景图像如图 6 所示.
实验采用 Pioneer 3-DX 移动机器人,装配了 360◦ 激光测距传感器以及 Kinect 2.0 视觉传感器,实验所用机器人实物图如图 7 所示.实验数据包括分辨率为 0.1 ◦ 的 360◦ 激光轮廓数据以及分辨率为 200×150 的 RGB 图像数据.
针对移动机器人在不同位置获取的不同信息,采集了 60 组视觉传感器以及激光传感器获取的数据信息用于自主发育神经网络的训练,其中每种场景包含 20 组数据.系统测试时采用 90 组数据进行移动机器人所处场景的识别判断,每个场景包含 30 组数据,其中 15 组为训练时采用的样本数据,其余 15 组为机器人事先没有到达过的位置数据信息.利用上述采集到的数据对 4 种基于自主发育神经网络算法的场景识别系统进行识别准确率的测试,4 种系统分别是:单独利用视觉传感器进行场景识别的自主发育神经网络系统、单独利用激光轮廓数据进行场景识别的系统、利用加权贝叶斯算法进行视觉及激光传感器数据融合的场景识别系统以及利用同一自主发育网络架构进行数据融合的场景识别系统.分场景的识别结果准确率如表 1 所示.
由表 1 实验结果可以看出,利用多传感器数据融合算法进行输入信息分析进而进行场景识别,相比使用单一传感器进行识别,每个场景的识别准确率均得到了一定的提高;此外,对比本文提出的 2 种识别方法,基于同一自主发育网络架构数据融合的场景识别方法得到的结果更为准确可靠.
针对本文所提的 2 种多传感器融合方法,采用更多的测试样本进行场景识别判断,其中包括机器人运动过程中连续采集的数据以及定点获取的数据.进行测试的样本数量共 760 组,其中包括训练使用的 45 组数据,其余测试样本均为新采集的,机器人事先没有训练学习过的数据.全场景的识别准确率如表 2 所示.
由表 2 数据可以看出,基于同一网络架构数据融合的场景识别方法相比加权贝叶斯融合方法的识别效果更好,主要原因在于对于自主发育神经网络的神经元来说,每个神经元均同时学习并记忆了来自同一位置的 2 种传感器信息,对输入数据信息的利用率更高,故而学习效果比单独学习后进行决策融合的效果更好.
此外,对于融合而言,实时性问题非常重要.针对本文方法的时间复杂度进行分析如下:自主发育神经网络的测试过程中,时间开销的重点在于 Y 层神经元的预响应向量的计算.因此利用视觉传感器进行场景识别的算法测试时的时间复杂度为 O(Np),这里的 Np 为视觉处理时网络 Y 层神经元的个数.对于利用激光传感器进行场景识别的算法而言,还要多一步对于激光数据的环投影处理,将激光数据转化为环投影直方图的形式.因此,测试时的时间复杂度为 O(L + Nl),这里的 L 为环投影处理时间,Nl 为激光处理时网络 Y 层神经元的个数.同理,加权贝叶斯融合算法的时间复杂度应为 O(Np +L+Nl),同一自主发育网络架构融合的时间复杂度应为 O(L+Nmix),Nmix 为同一自主发育网络架构的网络 Y 层神经元个数.不同场景识别方法的时间复杂度如表 3 所示.
针对不同多传感器融合方法,分别利用训练样本以及非训练样本进行测试,并对其识别处理时间进行比较,得到的结果如表 4 所示.
由表 4 可以看出,使用视觉传感器和激光传感器进行数据融合进而执行场景识别任务,在针对单个样本进行识别处理的时间复杂度上来说,相比原来仅使用单一传感器进行识别并没有明显的增加. 2 种多传感器融合算法在测试阶段针对每个样本的识别处理时间平均在 0.16 s 左右,完全可以满足移动机器人场景识别任务的实时性要求.且由表 4 中数据可以看出,在采用训练样本进行场景识别时,所需时间略少于采用非训练样本时.这也在一定程度上说明对于自主发育网络算法来说,原有经验对当前判断仍有帮助.
为了进一步验证系统识别的实时性,选取了一段包括 3 个场景的区域进行实验,将基于同一网络架构数据融合的场景识别方法下发到移动机器人上.考虑移动机器人的运行速度,设定每 2 s 抓取一次数据进行场景识别,实时识别结果如图 8 所示.黑色实线为利用基于同一网络架构数据融合的场景识别方法得到的识别结果,红色虚线为机器人所处真实场景类别.实验结果显示,融合算法基本可以满足移动机器人实时场景作业要求.
通过实验验证,证明了本文提出的 2 种识别方法的有效性及可行性,通过将多传感器融合和自主发育网络相结合进一步提高了移动机器人场景识别的准确率.此外,由于基于同一自主发育神经网络架构的融合方法同时学习了视觉传感器以及激光传感器获取的数据信息,对于原始输入数据的利用更加充分,其识别的准确率相比基于决策的加权贝叶斯识别方法更高,但在时间消耗方面略高.
6 总结与展望(Summary and prospect)
本文将自主发育神经网络引入机器人场景识别任务中,利用视觉传感器和激光传感器共同获取移动机器人所处位置的周围信息,结合多传感器数据融合算法,在决策层和数据层分别对来自 2 个传感器的数据信息进行融合处理,最终将其成功应用于移动机器人场景识别任务中.
实验结果表明,本文提出的基于自主发育神经网络的多传感器融合算法,在移动机器人场景识别任务中,识别准确率均明显高于使用单一传感器进行场景识别的算法,同时在时间复杂度上并没有明显提高;此外,基于同一自主发育神经网络架构的多传感器融合算法的识别效果更好,在处理耗时方面也满足机器人实时作业要求,因此具有更好的实际应用前景.
未来的研究工作主要是完善基于自主发育神经网络的多传感器数据融合算法,在此基础上进一步提高系统的识别准确率.
论文指导 >
SCI期刊推荐 >
论文常见问题 >
SCI常见问题 >