计算机系统应用  2023, Vol. 32 Issue (12): 63-73   PDF    
基于多模态脑机接口的智能小车自动驾驶系统
班念铭, 庹宏炜, 雷凯云, 龙浩彬, 莫伟彬, 郑铖杰, 潘家辉     
华南师范大学 软件学院, 佛山 528225
摘要:在传统的控制系统当中, 人们依赖于使用手柄、操纵杆等设备来与外部设备实现人机交互, 这对于具有运动障碍的患者来说是具有挑战的. 而脑机接口(BCI)技术可通过脑环将脑电信号转化为对外界设备的控制命令, 使这些患者可以由大脑“意识”直接控制外部设备. 本文提出一种基于多模态脑机接口的智能小车自动驾驶系统, 该系统融合了受试者的脑电信号、眼电信号和陀螺仪信号3种模态的信号来控制小车. 其中, 脑电信号用于控制小车的速度, 眼电信号用于控制小车的启停, 陀螺仪信号则用于控制小车的转向功能. 此外, 我们还融合了计算机视觉技术, 为智能小车增加了自动驾驶功能, 使得控制更加智能化. 经过实验表明, 10名受试者使用该系统控制小车的平均准确率达到了92.47%, 平均响应时间为1.55 s, 平均信息传递速率达到了55.94 bit/min, 从而说明该控制系统是有效且高效的. 此外, 为了验证小车的自动驾驶功能, 我们设置了多个对比实验进行验证. 实验结果表明, 与手动驾驶相比, 虽然该自动驾驶系统在操控小车的速度上存在劣势, 但是在准确率与稳定性上具有更好的性能优势. 证明该系统可以为残障人士带来更好的操控体验, 在脑控应用和自动驾驶领域具有广阔的应用前景.
关键词: 多模态    脑机接口    脑环    智能小车    自动驾驶    
Autonomous Driving System of Intelligent Car Based on Multimodal Brain Computer Interface
BAN Nian-Ming, TUO Hong-Wei, LEI Kai-Yun, LONG Hao-Bin, MO Wei-Bin, ZHENG Cheng-Jie, PAN Jia-Hui     
School of Software, South China Normal University, Foshan 528225, China
Abstract: In traditional control systems, people rely on employing devices such as handles and joysticks to achieve human-machine interaction with external devices, which is a challenge for patients with movement disorders. Meanwhile, brain-computer interface (BCI) technology can convert EEG into control commands for external devices through the brain loop, allowing these patients to directly control external devices by their brain’s “consciousness”. This study proposes an autonomous driving system of intelligent car based on multimodal BCI to integrate the subjects’ EEG, electro-oculography, and gyroscope signals to control the car. EEG is used for controlling the car speed, electrooculography for controlling the start and stop of the car, and gyroscope signals for controlling the car steering. Additionally, computer vision technology is combined to add autonomous driving function for the intelligent car, making control more intelligent. The experiments show that the average accuracy rate of ten subjects utilizing the system to control the car is 92.47%, with an average response time of 1.55 s and an average information transmission rate of 55.94 bit/min, which indicates the effectiveness and efficiency of the control system. Meanwhile, multiple comparative experiments for verification are set up to verify the car’s autonomous driving function. The experimental results show that compared with manual driving, although the autonomous driving system has disadvantages in controlling the car speed, it has better performance advantages in accuracy and stability. This proves that this system can provide better control experience for the disabled, and has broad application prospects in brain control and autonomous driving.
Key words: multimodal     brain-computer interface (BCI)     brain loop     intelligent car     autonomous driving    

1 背景及现状分析 1.1 研究背景

在传统的控制系统当中, 人们依赖于传统的操控设备如遥杆来控制外部设备, 但这种方法对于残疾人是极具困难的. 脑机接口(BCI)技术可通过脑环将脑电信号转化为对外界设备的控制命令, 帮助思维正常却无法通过语言或肢体动作表达的人来与外界交流.

1.2 应用背景

通过研究脑机接口系统操控车辆, 能够帮助残疾人利用脑电信号, 实现脑控车辆, 提高自身的移动速度; 同时, 有助于构建以人为本的智能辅助驾驶系统, 提高普通驾驶员的驾驶能力, 保障驾驶安全[1]. 或者使用脑电信号中的注意力特征, 通过脑控小车的方式来锻炼使用者的注意力水平, 可以在教育娱乐领域有广泛的应用.

1.3 研究现状

近年来, 基于脑电信号和眼电信号的混合脑机接口系统已被广泛应用于更复杂的环境.

滕开雯等在他们的研究中设计并搭建了基于树莓派的智能自动驾驶系统[2], 实现了车辆的避障、方向控制等基本功能. 詹强等设计了智能小车的控制系统, 同时设计了具有较强抗干扰能力的硬件和软件, 初步实现了通过脑电信号对智能小车进行操控[3]. 胡章芳等因脑电图 (electroencephalogram, EEG)具有时间分辨率高、设备简单、便于使用等优点, 提出其已成为脑机接口控制系统的主要方式. 然而, 每一种信号都有自己的缺点(例如低振幅、非平稳性等), 单一模式下的脑机接口系统有着较大的局限性, 其系统功能也会受到较大限制[4]. 如今, 通过脑机接口技术, 不仅能够将大脑信号转化为程序能够识别的控制信号, 而且同时可以与其他生理信号或设备相结合使用. He等融合EEG和EOG (electrooculogram, 眼电)信号设计出了一种鼠标点击系统, 其中MI (motor imagery, 运动想象)信号用于控制鼠标光标的水平移动, 眼电信号用于控制垂直移动和选择/拒绝目标[5]. 本文提出结合脑电信号、眼电信号和陀螺仪信号的混合脑机接口系统, 应用在外部设备的控制系统上, 使驾驶设备更加智能化, 提高控制的准确率, 减少控制的复杂度.

Zhang等则通过混合A*算法与人工势场法, 实现有效躲避未知障碍物[6]. 国子尧通过改进小车的横向与纵向控制算法, 有效提高了智能小车在循迹过程中的系统稳定性[7]. 李晓明等提出了一种基于先验知识置信度修正MOSSE滤波器的跟踪算法, 在缩短单帧检测时间的同时提高了跟踪精度[8]. 李全民等通过改进归一化算法与差比和算法, 提高了小车的行驶速度与稳定性[9]. 从研究中可以看出, 研究者将研究的重点放在了对算法的改进方面, 但是忽视了对小车功能的开发. 这就导致了将这些系统应用于现实场景中时, 所实现的功能往往无法满足使用者的要求. 本文提出了一种具有自动驾驶功能的小车. 通过使用多模态混合的BCI控制系统训练小车的自动驾驶模型, 能够利用多模态的丰富训练集, 使其生成多维的控制指令, 系统得以执行更复杂的操作命令, 控制小车做出更高难度的行为, 使控制更加智能化, 适用于更广泛的应用场景[1012].

1.4 本文贡献

多模态的控制: 过去所使用的脑机接口系统大都是单模态的控制系统, 只通过提取和处理人脑的单个控制信号操纵系统运行. 如此一来, 易受环境和个体差异的影响, 导致控制的智能小车识别信号频率较低, 无法同时进行如加速和转向等多种操作, 系统运行延迟较大. 而我们研究的控制系统因混合有脑电信号、眼电信号和陀螺仪信号, 多模态的控制使小车得以实现角度控制、速度控制以及启停控制的相互协调工作, 有利于提高信号识别的准确率和抗干扰能力.

自动驾驶功能: 本文提出了一种智能小车的自动驾驶系统, 降低操纵的难度, 提高使用者的控制体验. 所提出的自动驾驶系统的原理是将小车上的摄像头观察到的小车前方路段, 经过预处理后作为输入数据, 输入到部署在小车树莓派上的自动驾驶系统. 数据经过处理得到相关命令参数, 再经由驱动设备处理命令参数, 生成并执行命令. 同时, 基于本文采用了多模态混合的脑机接口系统训练小车的自动驾驶模型, 通过多维的控制指令, 训练小车做出精度更高, 难度更大的行动, 使得控制更加方便与智能化, 相比于手动驾驶具有更高的稳定性和安全性, 在多种应用场景中具有显著的优势.

2 系统总体设计

此项目是基于多模态脑机接口的智能小车自动驾驶系统. BCI系统作为一个人脑与计算机之间的交流系统, 允许用户通过脑部活动, 经由信号的传输与转换, 向外部设备发出控制命令. 由于脑电信号具有很高的随机性与不准确性, 出错率高, 所以此BCI系统集中混合有脑电信号(EEG)、眼电信号(EOG)和陀螺仪信号, 实现了能够同时处理多个信号、生成多维控制指令的多模态脑机接口集成系统, 降低了脑电信号采集的难度, 提高了信号采集的准确率, 有助于构建更友好、人性化的BCI控制系统[13].

图1所示, 此系统共由信号采集、信号监控、信号处理、控制命令生成以及小车运动控制5个主要子系统组成. 首先, 将利用华南脑控(HNNK)研发的脑环设备提取出脑电信号、眼电信号和陀螺仪信号, 通过应用软件的监控, 输入于计算机中进行信号预处理, 然后经由TCP (transmission control protocol, 传输控制协议)连接将预处理完毕的信号传输至树莓派内编译, 生成小车的控制命令, 最后操作小车内部器件运作, 最终实现小车的自动驾驶[1416].

图 1 系统控制流程图

简单来说, 处理流程如下.

① 信号采集. 使用脑环进行信号采集, 其电极的采样率是125 Hz, 使用50 Hz工业频率滤波. 佩戴脑环时, 需将两侧辅助电极置于佩戴者头部两边的太阳穴上. 对于脑电信号和眼电信号, 由脑环内侧中间的干电极进行采集, 佩戴时置其于佩戴者额头上. 对于陀螺仪信号, 由脑环内部中间的陀螺仪传感器进行采集.

② 信号预处理. 将采集到的原始模拟信号进行预处理, 使其转化为可解析的数字信号数据.

③ 信号数据解析. 将信号数据解析为生成控制命令所需的数据, 如专注度、陀螺仪转向幅度、眼电信号变化曲线切线斜率等.

④ 生成控制命令. 将解析后的信号数据根据算法内设定的控制命令的生成条件转变为控制命令.

⑤ 小车运动控制. 由小车内部驱动控制模块接收控制命令, 并根据控制命令改变小车的运动状态.

具体来说, 脑环通过中间干电极和陀螺仪采集原始的脑电信号、眼电信号和陀螺仪信号. 通过蓝牙协议将原始的数据发送至电脑程序当中, 3种信号对应着不同的处理程序, 通过特定的算法或者模型来提取出脑电信号中的注意力特征, 眼电信号的双眨眼特征和陀螺仪信号的转向特征. 接着将程序处理好的结果封装至一个字符型变量数组buf中, 通过TCP协议将上机位生成的数据传输至树莓派上处理. 树莓派接收到数组buf后, 根据需要选取其中某几位字节转为对应的数据并提取其特征以获得生成控制命令所需的数据, 如专注度、陀螺仪转向幅度、眼电信号变化曲线切线斜率等. 接着, 在树莓派上设计控制算法, 将不同的数据用于完成不同的控制任务, 其中注意力数据用于控制小车的速度, 双眨眼特征用于控制小车的启停, 陀螺仪转向特征用于控制小车的转向, 最终驱动小车完成控制.

3 关键算法设计 3.1 脑环信号采集算法设计

测试者佩戴好脑环设备后, 脑环设备采集到原始的脑电信号、眼电信号和陀螺仪信号.

对于采集到的脑电信号, 我们首先使用长度为5 s的汉明窗函数分割信号, 并计算该函数的幂. 计算公式如下:

$ {{U}} = \frac{1}{{{M}}}\sum\limits_{{{n}} = {{0}}}^{{{M - 1}}} {{{{w}}^{{2}}}(n)} $ (1)

其中, $ w\left(n\right) $ 为汉明窗函数, $ M $ 为该段的长度.

同时, 采集到的信号包括了脑电信号和伪迹. 我们使用了低通滤波和高通滤波的三阶巴特沃斯滤波器对信号进行滤波, 提高了信噪比, 并获得了5个不同的信号频带, 即δ (1–3 Hz)、θ (4–7 Hz)、α (8–13 Hz)、β (14–30 Hz)和γ(31–48 Hz).

由于该多模态BCI系统在设计中, 由脑电信号负责数个操作命令, 且对应的人工智能采用隐马尔科夫链模型(hidden Markov model, HMM), 因而要处理分离出的数个频带, 来作为状态参数. 但由于该HMM中的参数并不确定, 故采用Baum-Walch算法计算每个频带的功率谱密度(power spectral density, PSD)以进行特征提取, 其中, ${i}$ 为脑电信号的第 ${i}$ 段.

$ {\textit{PSD}}{{{}}_i}(freq) = \frac{1}{{MU}}{\left| {\sum\limits_{n = 0}^{M - 1} {{x_i}(n)w(n){{\rm{e}}^{ - j2{\text π} fre{q_i}}}} } \right|^2} $ (2)

我们将 $ {P}_{freq} $ 设置为 $ freq $ 每段对应的能量值, 然后计算5个特征频率对应的能量值:

$ {P_{freq}} = \frac{1}{4}\sum\limits_{i = 0}^3 {{\textit{PSD}}{_i}(freq)} $ (3)
$ {E_\delta } = \sum\limits_{freq = 1}^3 {{P_{freq}}} $ (4)
$ {E_\theta } = \sum\limits_{freq = 4}^7 {{P_{freq}}} $ (5)
$ {E_\alpha } = \sum\limits_{freq = 8}^{13} {{P_{freq}}} $ (6)
$ {E_\beta } = \sum\limits_{freq = 14}^{30} {{P_{freq}}} $ (7)
$ {E_\gamma } = \sum\limits_{freq = 31}^{48} {{P_{freq}}} $ (8)

之后再利用以线性函数为核函数的支持向量机(support vector machine, SVM)对5个特征进行分类识别. 其中, 我们通过离线实验收集注意力样本进行训练和测试, 并通过交叉验证找到模型的调整的最佳参数.

对于采集到的EOG信号, 因天然的原始EOG信号含有高频噪声和基线漂移, 所以我们首先使用1–10 Hz的带通滤波器对其进行滤波, 以消除影响. 然后使用基于投影曲线的查找算法来寻找波峰. 对于所获得的采样点序列, 我们假设投影曲线可以表示为:

$ V = [{v_1}, {v_2}, \cdots, {v_n}] $ (9)

然后计算 $ V $ 的一阶差分向量 ${\textit{Diff}}$ .

$ {\textit{Diff}}{_v}(i) = V(i + 1) - V(i) $ (10)

然后对差分向量进行取符号函数运算, 并记录为 $T = {\textit{Sign}}({\textit{Diff}}{_v})$ .

$ {{\textit{Sign}}}(x) = \left\{ \begin{gathered} 1,\;\;\;\;{\text{ if }}f > 0 \\ 0,\;\;\;\;{\text{ if }}f = 0 \\ - 1,\;{\text{ if }}f < 0{\text{ }} \\ \end{gathered} \right. $ (11)

然后从尾部遍历 $ T $ 如下:

$ T(i) = \left\{ \begin{gathered} - 1,{\text{ if }}T(i) = 0\;\& \;T(i + 1) < 0 \\ 1,\;\;\;{\text{ if }}T(i) = 0\;\& \;T(i + 1) \geqslant 0 \\ \end{gathered} \right. $ (12)

然后对得到的 $ T $ 进行一阶差分运算, 最终得到 $ R $ . 如果 $ R\left(i\right)={-}\text{2} $ , 则 $ \left(i+1\right) $ 是投影 $ V $ 的一个峰值位, 对应于峰值 $ V\left(i+1\right) $ . 我们检测到的最终波形如图2所示.

$ R = {\textit{Diff}}(T) $ (13)

两个波峰对应于矩 ${t}_{{\rm{peak}}1}$ , ${t}_{{\rm{peak}}2}$ , 采样点的矩 $ t $ 对应的电压值为 $ {V}_{t} $ . 两个闪烁波峰与产生的能量值 $ E $ 之间的时间间隔 $ G $ 的计算公式如下:

$ G = {t_{{\rm{peak}}2}} - {t_{{\rm{peak}}1}} $ (14)
$ E = \sum\limits_{t = {t_{{\rm{peak}}1}}}^{ {t_{{\rm{peak}}2}}} {V_t^2} $ (15)

然后将计算出的时间间隔和能量值与设定的阈值进行比较, 以确定是否产生了双闪烁信号, 如果满足以下条件, 则会产生双闪烁:

$ \left\{ \begin{gathered} {G_{\min }} \leqslant G \leqslant {G_{\max }} \\ {E_{\min }} \leqslant E \leqslant {E_{\max }} \\ \end{gathered} \right. $ (16)
图 2 双闪烁产生的电压变化

由于 ${G}_{\min}$ ${G}_{\max}$ ${E}_{\min}$ ${E}_{\max}$ 因人而异, 我们设计了一个用户的眨眼校准程序来生成每个用户自己的阈值. 具体来说, 在实验开始之前, 用户被要求进行相隔3 s共计5次的双眨眼操作, 并对采集到的信号采用3 s时间窗进行切片, 然后通过上述信号处理和特征提取方法对每个切片进行处理, 得到特征值 $ G $ $ E $ . 其中, 时间间隔 $ G $ 的最大值和最小值记录为 ${G}_{\max}$ ${G}_{\min}$ , 能量值 $ E $ 的最大值和最小值记录为 ${E}_{\max}$ ${E}_{\min}$ . 通过此方法, 该系统拥有了一定的自适应能力.

HNNK脑环设备中央有一个陀螺仪传感器, 它可以检测二维坐标的转换. 由于陀螺仪信号只负责转向, 所以我们只对水平方向上的旋转数据进行特征提取. 当用户使用设备时, 设备会设置一个初始坐标. 当用户头部左右转动时, 通过计算当前坐标与初始坐标的水平面差值, 得到偏转的大小. 计算公式如下:

$ \Delta L = \frac{{\Delta yaw}}{{180{\text π} }} \times (1 + s) $ (17)
$ {L_{{\rm{new}}}} = {L_{{\rm{initial}}}} + \Delta L $ (18)

其中, $ \Delta yaw $ 为传感器检测到的水平方向的变化. $ s $ 是调整光标灵敏度从−0.5到0.5的一个因素, 过高的灵敏度会使操作者难以进行精确操作, 过低的灵敏度会使操作者操作费劲. 初始值 ${L}_{{\rm{initial}}}$ 是程序记录的初始位置. ${L}_{{\rm{new}}}$ 是由程序计算出的偏转坐标.

3.2 智能小车自动驾驶算法设计

我们使用多模态脑机接口控制系统, 控制小车训练自动驾驶模型. 其中, 为了合理地根据不同命令的复杂程度来设计, 我们指定眼电信号控制小车的前进和停止两种基本运动状态; 脑电信号控制小车的低速、中速和高速运动状态; 使用水平陀螺仪信号控制小车左转弯、右转弯以及直线行驶. 同时, 使用车载摄像头采集神经网络所需要的图像数据. 而为了减少画面中的干扰, 需要对画面进行一系列的处理, 处理过程包括: 压缩、裁剪、滤波、灰度处理、大津二值化等, 最终使用二值化后的图像作为样本.

执行具体的操作时, 首先, 需要控制小车, 通过摄像头采集图像数据并处理; 然后, 读取数据, 将数据分为训练集和测试集放入神经网络进行训练; 最后, 计算准确率, 同时保存训练好的模型. 小车通过脑控操作进行一定训练, 最终能够实现具有高性能的自动驾驶, 具体操作如图3所示. 其中, 脑环所采集的信号的转化流程如图4所示.

图 3 自动驾驶模块流程图

在小车的运行过程中, 需对路径进行识别. 一般, 路径主要由直道、左弯道、右弯道和障碍物等元素组成. 从人类的视觉角度来判断不同类型的路径非常容易, 但若是使用单片机, 通过计算CMOS (complementary metal oxide semiconductor, 图像传感器)数据摄像头采集到的灰度图像的路径中心位置, 仅仅是针对图像中的位置以及图形特点来进行特征判断, 就需要花费大量的时间与精力, 且效果并不十分理想. 智能小车采集的路径图像, 用常规方法经常会无法识别内圈与外圈, 导致小车在行驶时偏离预定的路线. 因此, 本系统利用卷积神经网络算法, 对其进行大量样本数据的训练, 并利用其识别路径元素, 辅助智能小车跟踪算法, 提高跟踪精度[17].

图 4 信号转化图

本自动驾驶系统设计采用了基于LeNet-5网络模型的卷积神经网络结构, 考虑到路径元素相对简单, 为了提高图像处理的效率, 根据实际设计需求, 对LeNet-5网络结构进行简化, 设计成适合本系统实际情况的网络结构. 本文中将网络结构的网络深度由LeNet-5的8层结构简化为6层结构, 如图5所示. 网络中C1–S4层用于特征提取, S4到输出层执行识别和分类功能. 基于卷积神经网络的路径类型识别算法的网络结构各层详细说明如下.

Input输入层: 对所采集的图像进行图像预处理, 将分辨率压缩至32×32个像素, 每个像素的灰度值范围取0–255, 标准化数据输入的范围. 将处理后的图像的每个像素数据作为神经网络的输入.

C1卷积层: 该层接受图片的输入大小为32×32×1, 卷积层的核(过滤器)尺寸为5×5, 深度为6, 步长为1. 通过计算公式, 每个特征图可以由一个卷积核与input层的数据通过卷积操作提取获得, 求出输出的特征图尺寸为28×28×6, 卷积层的深度决定了输出尺寸的深度.

S2池化层: 本层的输入是C1层的输出, 它接受一个28×28×6的特征图. 在C1层进行特征提取后, 输出的特征图会被传递至S2层进行特征选择和信息过滤. 该层选取池化区域与卷积核扫描特征图步骤大致相同, 求出输出的特征图尺寸为14×14×6, 池化层不会改变输入矩阵的深度. 在降采样层, 每个神经元都通过局部连接方式与其前面的卷积层神经元相连接. 由于当预指定参数取最大值时, 池化可以在区域内实现极大值, 突出显示和保留图像的纹理信息. 因此, 对C1层的降采样操作采用最大值采样. 经过降采样的处理之后, 在减少C1层输出的特征图分辨率的同时, 确保图像关键的特征信息不会丢失.

图 5 卷积神经网络结构设计

C3卷积层: 这一层的输入是14×14×6的特征图, 卷积层的核(过滤器)尺寸为5×5, 深度为16, 步长为1. 通过计算公式, 求出输出的特征图尺寸为10×10×16, S2层和C3层采用的都是非全连接方式.

S4池化层: 该层与S2层的处理过程相似, 输入是10×10×16的特征图. 将经过C3层处理得到的数据再次进行特征选择和信息过滤, 求出输出的特征图尺寸为5×5×16.

F5全连接层: 对卷积神经网络LeNet-5结构进行改进, 将原C5卷积层及之后的网络简化, 经S4层处理后得到的数据直接为单层的全连接层神经网络连接到输出层.

Output输出层: 输出层是由欧式径向基函数(RBF)组成. 每一个输出对应一个RBF函数, 最后输出层会输出一个10维的向量. 0–3位输出分别对应直道、左转弯、右转弯、障碍物, 其他位则保留, 以备后续进行扩充[18,19].

4 系统核心模块 4.1 信号监控模块

有关于收集数据方面, 我们需要应用到与脑环相匹配的数据监测软件, 本系统采用的软件为HNNK公司配套的“爱简单”软件. 通过使用本软件, 我们能将脑环与主机相互连接, 令主机获取到脑环所提取的测试者的脑电信号、眼电信号、陀螺仪信号, 方便研究者进行直观地观察.

4.2 运动控制模块

本文使用的训练工具是由Raspberry Pi制造的树莓派小车, 拥有一颗SoC (system on chip, 系统级芯片), 集CPU (central processing unit, 中央处理器)、GPU (graphics processing unit, 图像处理器)、DSP (digital signal processing, 数字信号处理)和SDRAM (synchronous dynamic random-access memory, 同步动态随机存取內存)为一体, 以SD卡为内存硬盘, 拥有网卡、USB口, 同时具备视频、音频模拟输出以及HDMI高清输出的能力, 在外部接口上还具备了一般计算机设备不具备的GPIO (general-purpose input/output, 通用型之输入输出)、SPI (serial peripheral interface, 串行外设接口)、UART (universal asynchronous receiver/transmitter, 通用异步收发传输器)等硬件配置, 为研究者操作机器小车提供了丰富的硬件条件.

在主机内将脑环提取的模拟信号转换为数字信号的同时, 令主机与小车相连接, 通过套接字(Socket)连接将数据从主机传输至树莓派中. 然后, 树莓派通过代码编译, 将数据解析存储于buf数组中. 最后, 通过使用buf数组中的数据, 即可控制小车的运动.

buf数组获取到脑环的数据总共有18种. 其中, buf4为眼电信号, buf12为水平陀螺仪信号, buf14为脑电信号.

4.2.1 眼电信号控制设计

眼电信号的数值区间为0–650, 当佩戴者做出眨眼动作时, 信号数据会骤降至0, 然后迅速回升, 所以我们将buf4是否降为0设定为小车的启停判定, 即给系统设计一个标准(flag), 初始值为−1 (小车停止状态), 若当buf4第1次等于0时, 则将flag乘以−1变为1 (小车启动状态), 当buf4再次等于0时, 又将flag乘以−1重新变回−1, 即可实现通过眨眼行为来控制小车的启停.

4.2.2 水平陀螺仪信号控制设计

水平陀螺仪信号的数值区间为0–1 920, 0为最低值, 代表左方向; 1 920为最高值, 代表右方向. 因此, 我们将其作为小车左右转弯的标准. 因脑环水平陀螺仪信号变化幅度大的缘故, 本文将直线行驶的数值区域设计得较大, 保证小车能完成更好地保持直线行驶的需求, 即将560<buf12<1360设定为车轮直线行驶的判断. 另外, 因小车为了应对各种路况, 有小角度转弯与大角度转弯的需求, 所以本文把左右转弯的幅度设定为30°转弯以及60°转弯, 且数值变化范围相同, 均为280. 具体数据如表1所示.

表 1 小车转向信号变化表

4.2.3 脑电信号控制设计

脑电信号的数值区间为−2到2, 集中注意力数值会上升, 分散注意力数值会下降. 一般来说, 当人注意力不集中时是不适于开车行驶的, 否则就会很容易造成危险, 于是我们设定注意力数值高时小车加速, 反之则减速. 我们首先预设小车的一个最高速度. 因为大多数人保持正常思考时的注意力数值大多数保持在−1.2到0.4区间, 所以本文将该区间设置为小车能达到最高速度的40%, 保证了小车不会行驶过快而导致操作者无法及时响应危险情况. 其次, 再将剩余的数值区域平均分配, 得出了最合适的数值区间. 具体数据如表2所示.

表 2 小车速度信号变化表

5 实验和结果 5.1 总实验设计

此次实验共分为4个部分, 分别为脑环操作小车性能评估实验、脑环训练自动驾驶实验、小车自动驾驶性能检测实验以及自动驾驶与人工驾驶的性能对比实验.

实验中使用的跑道为标准长3 m、宽2 m的椭圆型跑道.

为了能科学地评估该多模态BCI控制系统的自动驾驶性能, 此次实验的指标如下.

① 平均响应时间 (response time, RT): 在一定实验条件下多次测定的, 从发出请求直至执行结束所花费的平均时间.

② 准确度(accuracy, ACC): 系统正确响应操作请求的程度, 用来衡量误差的大小.

③ 操作序列指令数(Count): 每个不同的操作序列所包含的指令个数.

④ 信息传输速率(information translate rate, ITR): 表示1分钟内传输数据信息的比特数, 单位为比特/分钟(bit/min), 计算公式为:

$ \begin{split} {{ITR}} = &\left( {{{60}} \div {{RT}}} \right)\times \Bigg( {{\log }_2}Count + ACC\times {{\log }_2}ACC + \Bigg.\\ &\left.\left( {1 - ACC} \right)\times {{\log }_2}\frac{{\left( {1 - ACC} \right)}}{{\left( {Count - 1} \right)}} \right) \end{split} $

⑤ 子实验完成度(completion degree): 表示每个子实验的完成情况.

⑥ 子实验完成时间(time): 表示每个子实验完成的所需时间.

其中,RT和time越低, 性能越好; ACCITR、completion degree越高, 性能越好.

考虑到不同操作由不等数量的命令组成, 所以平均响应时间将采用加权平均法计算, 操作的权值为该操作对应的命令数量.

5.2 脑环操作小车性能评估实验 5.2.1 实验设计

变量: 由不同操作命令组成的操作序列集合. 操作命令包括有启动、停止、加速、减速、左转弯和右转弯等.

子实验组: 共计10个子实验. 每个子实验采用随机的操作序列, 要求脑环设备采集有足够的信号以实现受试者可以用脑环操作小车. 受试者需要按照由不同操作命令组成的操作序列, 使用脑环让小车做出对应的操作. 实验要求的测量指标包括有脑环提取信号及小车响应的准确度, 控制系统对于控制信号的响应时间和信息传输的速率ITR.

实验开展的步骤如下.

① 受试者在开始操作前, 需要同时按下两个计时器开始计时, 将其中一个计时器交给一名辅助者. 受试者使用计时器, 记下执行操作的一刻; 而辅助者使用计时器, 记下小车做出正确反应的一刻.

② 受试者需要按照实验给出的由不同操作命令组成的操作序列, 用脑环让小车做出对应的操作. 在完成一次子实验的所有操作序列后, 每间隔1分钟就重复已完成的操作序列, 重复两次. 同一个操作序列均执行3次. 至此, 这个子实验完成.

③ 此次子实验结束后, 辅助者汇总计算取得的数据, 准备开展下一个子实验测试.

④ 从步骤①开始重复至所有子实验均被完成, 实验结束.

5.2.2 实验结果

实验数据如表3所示. 小车响应时间大致在1.5 s左右且波动不大; 随着操作命令类别数的增大, 小车对应的响应时间有所增长. 小车命令准确度在93%左右且波动不大. ITR普遍维持在45–64 bit/min, 传输速率较稳定. 综合来看, 该混合BCI控制系统有较高的准确度和精度.

表 3 检测操作序列所得实验指标

5.3 脑环训练自动驾驶实验 5.3.1 实验设计

变量: 每个子实验中, 小车从开始到停止所行驶的圈数(1圈、2圈、3圈).

要求受试者需头戴脑环设备, 通过多模态信号传输树莓派, 在实验开始前操控小车在跑道上训练30圈. 此准备的目的是帮助受试者熟悉脑环对小车的操作特性, 确保接下来的实验中, 受试者在使用脑环设备时, 可以熟练地通过水平方向的转动头部来控制小车行驶方向, 通过眨眼操控小车启动和停止, 通过集中注意力加速与分散注意力减速等, 有利于减小实验的误差.

子实验组: 每个子实验都需要小车在跑道上完成不同的行驶圈数, 共计15个子实验. 其中, 行驶方向将固定为逆时针方向. 每个子实验将重复3次, 每次重复子实验的时间隔为1 min, 每个子实验的间隔时间为3 min, 使受试者在实验中保有一定程度的休息.

实验开展的步骤如下.

① 在跑道上设定一个起点, 将小车置于起点, 受试者时刻准备让小车开始行动.

② 一位辅助者在跑道外负责计时. 当辅助者发出计时号令时, 受试者让小车在跑道上行驶相应圈数(1圈、2圈、3圈). 间隔1 min就重复已完成的子实验, 重复两次.

③ 此次子实验结束后, 辅助者汇总记录小车到达终点时所需的时间与超出跑道的次数. 休息3 min后准备开展下一个子实验测试.

④ 从步骤①开始重复至所有子实验均被完成, 实验结束.

5.3.2 实验结果

实验数据如表4表5所示. 随着小车行驶圈数的增多, 所需要的平均时间越短, 是因为操作者对脑环操控更加熟练; 但小车平均超出跑道的次数也越多, 呈阶梯状上涨, 是因为操控时间越长, 操作者的精神愈加疲惫, 而导致失误, 可能会对小车获取的数据造成污染. 所以, 脑环操控小车的方法是可靠的, 可以以此方法进行自动驾驶实验, 不过在训练自动驾驶时, 应让操作者训练一段时间就获得相应休息, 才能让人工智能获取到优秀的训练数据.

表 4 脑环驾驶实验检测指标

5.4 小车自动驾驶性能检测实验 5.4.1 实验设计

变量: 每个子实验中, 小车从开始到停止所行驶的圈数(1圈、2圈、3圈).

要求完成第1个实验和第2个实验, 确保智能小车能够顺利地使用自动驾驶功能.

表 5 脑环驾驶实验检测指标汇总

子实验组: 每个子实验与第2个实验的子实验相似, 目的在于对比脑环驾驶与训练完成的自动驾驶的性能差异.

实验开展的步骤如下.

① 在跑道上设定一个起点, 将小车置于起点, 测试人员时刻准备利用自动驾驶系统, 让小车开始行驶.

② 一位辅助者在跑道外负责计时. 当辅助者发出计时号令时, 测试人员利用自动驾驶系统让小车在跑道上行驶相应圈数(1圈、2圈、3圈). 间隔1 min就重复已完成的子实验, 重复两次.

③ 此次子实验结束后, 辅助者汇总记录小车到达终点时所需的时间与超出跑道的次数. 休息3 min后准备开展下一个子实验测试.

④ 从步骤①开始重复至所有子实验均被完成, 实验结束.

5.4.2 实验结果

实验数据如表6表7所示. 该经脑环训练后的自动驾驶系统速度稍慢于脑环驾驶, 但出错率低, 稳定性较好. 随着小车行驶的圈数越多, 所需要的平均时间无明显变化, 但小车平均超出跑道的次数有一定程度的上升, 说明自动驾驶系统驾驶下的小车能够较精确的识别跑道并按照跑道行进, 但是如果行驶时间过长后有概率会导致一定程度误差的出现. 但是即便如此, 自动驾驶的出错率也明显低于脑环驾驶. 由此可见, 该自动驾驶系统经脑环训练, 可以较稳定地驾驶小车, 性能较高.

5.5 自动驾驶与人工驾驶的性能对比实验 5.5.1 实验设计

变量: 操作方式, 包括人工操作小车行驶与自动驾驶系统操作小车行驶.

要求受试者需通过其他系统软件, 将遥感信号传输至树莓派, 以手动操作方式, 操控小车在跑道训跑30圈. 此准备的目的是帮助受试者熟悉手动操纵小车行驶的特性, 确保接下来的实验中, 受试者可以通过手动操纵小车进行启动、停止、加速、减速、左转弯和右转弯等操作, 有利于减小实验的误差. 并且需要完成第1个实验和第2个实验, 确保智能小车能够顺利地使用自动驾驶功能.

表 6 自动驾驶实验检测指标

表 7 自动驾驶实验检测指标汇总

子实验组: 分为两组实验, 每组实验中有15个子实验. 每个子实验与第2个实验的子实验相似, 目的在于对比人工手动驾驶与脑环训练完成的自动驾驶的性能差异.

实验开展的步骤如下.

① 人工手动驾驶: 与第5.3节脑环操作步骤相似, 此处不再赘述.

② 自动驾驶系统驾驶: 与第5.4节自动驾驶操作步骤相似, 此处不再赘述.

5.5.2 实验结果

实验数据如表8所示. 在以小车行驶完相同圈数为指标的实验中, 虽然用自动驾驶系统驾驶小车完成目标圈数所用的时间, 要比人工手动驾驶小车所用的时间要长, 说明自动驾驶系统操控小车的速度比人工手动驾驶小车的速度更慢, 在速度上存在劣势, 但从出圈次数来看, 人工手动驾驶小车时出圈的次数相较于自动驾驶的次数更多, 失误更频繁, 证明在小车驾驶的准确度与稳定性上, 自动驾驶系统操控小车具有人工手动驾驶没有的优势. 因此, 在权衡行驶的安全与速度后, 以安全为重、速度其次的准则下, 自动驾驶操控的性能, 总体更加优秀.

表 8 人工手动驾驶与自动驾驶系统驾驶实验对比检测指标

6 结论与展望

此系统是基于多模态脑机接口的智能小车自动驾驶系统, 共由信号采集、信号监控、信号处理、控制命令生成以及小车运动控制5个主要子系统组成. 其中, 使用者通过眨眼控制小车启动与停止, 通过头部左右转动控制小车移动方向, 通过集中注意力与分散注意力来控制小车的加速与减速. 通过使用脑环进行一系列的训练, 最终可以实现小车的自动驾驶. 此次研究我们共进行了4个实验. 实验综合评估了脑环具有较高的数据传输速率与准确度, 证实了脑环训练自动驾驶的可靠性与易用性, 同时也证明了经脑环训练的小车的自动驾驶系统具有较高的稳定性与准确性, 对比于过去的人工(手动)驾驶具有良好的性能优势.

目前, 虽然该系统已具有良好的性能, 但仍有一些显而易见的缺点有待完善.

① 通过自动驾驶与人工驾驶的性能对比实验可知, 小车自动驾驶的行驶速度要慢于手动驾驶. 而造成此问题的一个重要原因, 即是小车的路径识别相比于人工识别与判断要困难, 由此花费了大量的不必要时间.

② 实验中的路径环境为预设的静态环境, 而实际环境可能会出现动态的变化. 因此, 如果在小车的行驶路径中出现突发情况, 小车将无法及时做出正确的响应.

鉴于此系统仍存在以上缺陷, 在未来, 我们将对它进行一定的改进: 尝试选取更先进的算法与模型, 提高小车图像识别与数据处理的效率, 提高小车的自动驾驶的行驶速度; 其次, 还需要结合其他的路径识别算法, 以解决对动态环境的响应问题.

参考文献
[1]
范新安. 脑—控车辆的人车交互及控制研究[博士学位论文]. 北京理工大学, 2015.
[2]
滕开雯, 丁康, 王硕. 基于树莓派的智能自动驾驶系统设计与实现. 科技与创新, 2023(2): 19-22. DOI:10.15913/j.cnki.kjycx.2023.02.005
[3]
詹强, 李铭士, 陈家明, 等. 脑电波控制的智能小车设计及应用. 信息记录材料, 2017, 18(5): 16-18. DOI:10.16009/j.cnki.cn13-1295/tq.2017.05.006
[4]
胡章芳, 张力, 徐渝松, 等. 混合脑机接口的研究现状及应用. 重庆邮电大学学报(自然科学版), 2018, 30(4): 511-517.
[5]
He S, Zhou Y, Yu T, et al. EEG- and EOG-based asynchronous hybrid BCI: A system integrating a speller, a Web browser, an e-mail client, and a file explorer. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2019, 28(2): 519–530.
[6]
Zhang L, Li Y. Mobile robot path planning algorithm based on improved a star. Journal of Physics: Conference Series, 2021, 1848: 012013. DOI:10.1088/1742-6596/1848/1/012013
[7]
国子尧. 基于嵌入式系统开发的智能小车控制方法研究与实现[硕士学位论文]. 河北大学, 2023.
[8]
李晓明, 黄慧. 基于图像置信度修正的智能小车导航目标快速跟踪算法. 国外电子测量技术, 2022, 41(2): 162-168.
[9]
李全民, 贾林锋. 电磁循迹式智能小车传感器布置研究. 实验技术与管理, 2019, 36(8): 139-142. DOI:10.16791/j.cnki.sjg.2019.08.033
[10]
阚威, 李云. 基于LSTM的脑电情绪识别模型. 南京大学学报(自然科学), 2019, 55(1): 110-116. DOI:10.13232/j.cnki.jnju.2019.01.011
[11]
Jin M, Chen H, Li ZN, et al. EEG-based emotion recognition using graph convolutional network with learnable electrode relations. Proceedings of the 43rd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC). Mexico: IEEE, 2021. 5953–5957.
[12]
Meng LB, Jiang X, Wu DR. Adversarial robustness benchmark for EEG-based brain–computer interfaces. Future Generation Computer Systems, 2023, 143: 231-247. DOI:10.1016/j.future.2023.01.028
[13]
Hu ZF, Chen LBJ, Luo Y, et al. EEG-based emotion recognition using convolutional recurrent neural network with multi-head self-attention. Applied Sciences, 2022, 12(21): 11255. DOI:10.3390/app122111255
[14]
王晨, 胡景钊, 刘科, 等. 基于脑电通道增强的情绪识别方法. 西北大学学报(自然科学版), 2022, 52(4): 560-570. DOI:10.16152/j.cnki.xdxbzr.2022-04-005
[15]
梁圣金. 基于动态对抗泛化网络的跨领域脑电情绪识别. 电视技术, 2022, 46(6): 79-84. DOI:10.16280/j.videoe.2022.06.017
[16]
马军辉, 王峰, 王晔, 等. C-CapsNet: 一种异构脑电和眼动双模态的情绪识别模型. 重庆理工大学学报(自然科学), 2022, 36(11): 202-211.
[17]
李建超. 基于神经网络的智能寻迹平衡车[硕士学位论文]. 哈尔滨理工大学, 2019.
[18]
张冠华, 余旻婧, 陈果, 等. 面向情绪识别的脑电特征研究综述. 中国科学: 信息科学, 2019, 49(9): 1097-1118.
[19]
周伊婕, 宋西姊, 何峰, 等. 基于脑电的多模态神经功能成像新技术研究进展. 中国生物医学工程学报, 2020, 39(5): 595-602. DOI:10.3969/j.issn.0258-8021.2020.05.010