YSU-II下肢康复机器人智能交互系统的设计与实现①
2020-10-19仲美玉赵逢达贾冀状舒世洋王荣雪
仲美玉 赵逢达 窦 燕 袁 丽 贾冀状 舒世洋 王荣雪
(燕山大学信息科学与工程学院 秦皇岛 066004)(河北省计算机虚拟技术与系统集成重点实验室 秦皇岛 066004)
0 引 言
我国正面临日益严重的老龄化问题和数量庞大的残疾人群,脑卒中和脊髓损伤已成为导致人们下肢运动功能障碍的两大主要原因[1,2]。随着机器人技术不断发展,下肢康复机器人已逐渐应用于下肢运动功能障碍患者的康复训练中。诸多临床试验表明,康复机器人能在一定程度上帮助下肢瘫痪患者恢复自身主动控制肢体的能力[1,3,4]。交互系统是机器人系统中的重要组成部分,但目前大多数康复机器人均采用鼠标、键盘、屏幕点触式等传统人机交互方式,例如瑞士的Lokomat[5]、MotionMaker[6]和德国的LokoHelp[7]等。但这些仍采用传统交互方式的康复机械装置研究已不再能够满足人们的使用需求,康复机器人的智能化已经成为最新的研究方向。语音交互在智能人机交互中扮演着重要角色[8],目前,面向不同应用场景所设计的语音交互系统仅能对孤立词进行识别[9-12],在一轮人机对话过程中无法对交互对象设定多个控制参数。针对上述问题,本文基于YSU-I坐卧式多关节下肢康复机器人[13-15](以下简称下肢康复机器人)设计了YSU-II康复机器人智能交互系统(以下简称YSU-II智能交互系统)。该系统的语音交互功能以对下肢康复机器人传达康复任务为对话场景,让用户通过自然的人-机对话设置和修改康复任务,其表单输入功能允许用户通过扫描按需勾写的表单设置康复任务。智能交互的下肢康复机器人不仅降低了用户对下肢康复机器人的使用门槛和用户学习时间,也进一步促进了人机友好关系。
1 系统设计
1.1 系统组成与结构设计
YSU-II智能交互系统主要由上位机、下位机和I/O设备构成,其系统结构如图1所示。上位机应用程序主要包括语音交互、表单输入、病人管理、康复信息和系统设置5个功能模块,用户可通过其语音交互和表单输入模块与下肢康复机器人进行交互式操作。系统搭载的交互通道有麦克风、扫描仪、扬声器和电子屏幕,用户可自由地选择麦克风或扫描仪作为设置康复任务的输入设备。进入康复任务设置阶段后,上位机系统以人机对话的方式引导用户设置符合个人需求的康复任务并向下位机提交相应的服务请求。下位机接到来自上位机的服务请求后,其中央控制模块运行上层控制算法配置各个训练参数并管理整个下肢康复机器人的控制系统,其运动控制模块则负责接受并解释中央控制模块下达的控制指令,形成下肢康复机器人动作序列,带动患者患肢进行康复训练。训练过程中,电子屏幕实时地显示由数据采集模块同步采集的关节角度、速度、力矩等训练状态信息,让用户能及时、直观地了解患者的运动状态、运动特点、运动功能及康复水平等。友好的人机交互界面还包括初始化模块、安全提示及报警信息显示等。
图1 YSU-Ⅱ智能交互系统结构图
1.2 交互指令设计
针对下肢康复机器人所实现的主动、被动训练模态下的单关节和多关节康复训练任务设计了交互指令。康复任务的训练参数如表1所示。
表1 下肢康复机器人的训练参数
单个康复任务由多个训练参数组成,例如,起始角度为10 °和终止角度为40 °的被动左腿髋关节康复运动,运动速度5 °/s,训练时间10 min,故语音下达康复任务通常是在一次多轮的人机对话中完成,每轮对话仅包括部分训练参数。然而,在自然的人机交互中,单轮对话简短且用户表达方式多样,因此,本研究在设计基本语音交互指令的同时,还为各个训练参数设计了同义词和同音词词典,以提高系统的容错性。
2 系统功能实现
美国国家仪器公司的LabVIEW具有强大的数据可视化分析、数据采集和仪器控制能力,可以与其他编程源语言进行互操作,为打造YSU-II智能交互系统提供了良好的开发平台。该系统的语音交互与表单输入模块软硬件开发环境如表2所示。将上述两模块分别封装为独立的可执行文件,通过共用的MySQL数据库实现系统数据的传输与共享。最终,在LabVIEW中调用System Exec.Vi装载并运行可执行文件,以建立开发平台与两模块之间的衔接通道。
表2 语音交互与表单输入模块开发环境
系统的语音交互功能利用互联网获取科大讯飞和百度理解与交互技术(understanding and interaction technology, UNIT)共享的软硬件资源和信息实现;表单输入功能通过结合卷积神经网络(convolutional neural network, CNN)与跨平台计算机视觉库OpenCV实现。以下分别概括分析相关语音技术及表单识别方法在本系统中的具体应用。
2.1 语音识别
人与下肢康复机器人之间使用语音交互,首先需要对通过麦克风采集的语音指令进行识别。本系统涉及的语音识别任务是非特定人的连续语音识别。在连续语音识别系统中,语音信号经预处理后逐帧提取语音特征向量,解码器在声学模型、词典和语言模型的指导下,输出最佳匹配词序的文本信息[16]。语音识别的准确性直接影响人机交互的流畅性,因此,本系统采用讯飞移动语音终端(mobile speech client , MSC)平台实现连续语音识别任务,该平台在连续性语音识别上有着较高的识别率,可满足YSU-II智能交互系统语音交互的开发需求。系统通过调用讯飞MSC平台的通用接口和语音识别接口分别实现MSC平台的登录连接和音频的在线识别。YSU-II智能交互系统语音识别实现步骤如下。
(1)对MSC平台进行初始化。
(2)调用QISRSessionBegin()函数,设置语音识别参数,初始化语音识别引擎,开始一次语音识别。
(3)调用QISRAudioWrite()函数,写入音频,进行特征提取、解码器解析,将音频转换为文本。
(4)调用QISRGetResult()函数,获取识别结果。
(5)结束语音识别,退出登录,释放MSC。
2.2 语义理解
“理解”语音指令中的训练参数是机器人顺利执行康复任务的关键。针对下肢康复机器人各项康复任务的训练参数,系统利用百度UNIT平台搭建了下肢康复机器人语音设置康复任务的对话场景。该对话场景共包括5个对话意图,每个对话意图体现了不同的人-机对话目的。对话意图间的引导关系如图2所示。
图2 对话意图引导关系图
词槽是满足对话意图的关键信息。当上述意图对应的词槽全部满足时,系统便可获取一个完整的康复任务。意图与词槽的对应关系如表3所示。为提高系统使用安全性,本系统设计了确认意图,让用户能够通过语音播报和屏幕展示2种信息反馈通道确认系统识别的康复任务是否准确。当语音交互或表单输入获取的康复任务需要变更时,用户可说出包含“修改”字眼的语音指令更正当前的康复任务,修改意图的设置提高了系统的灵活性和实用性。
表3 意图-词槽对照表
为有效提高系统的语义理解能力,在康复任务对话场景中设置了对话模板。对话模板是根据具体对话场景给出的对话规范,当用户语音指令中包含与模板匹配的片段时,系统就能准确识别该指令。例如:范围意图中的模板为“[D:user_start_angle]度到[D:user_stop_angle]度”,当用户语音指令为“范围是20度到40度”、“从20度到40度运动”等符合模版形式的指令时,范围意图的起始角度和终止角度词槽均能被正确填充。此外,对话模版中应用的特征词可以帮助系统筛选包含训练参数的指令,这进一步提高了系统对训练参数的识别精度。例如:当对话语句中包含“训练”、“运动”等特征词时,则开启新一轮对话。语音指令在百度UNIT平台的处理步骤如下。
(1)调用Connect()函数,连接并初始化UNIT平台。
(2)调用postText()函数,向UNIT平台传输待处理文本。
(3)调用getCommand()函数,获取UNIT平台反馈的运动指令。
(4)调用Affirm()函数,向用户确认运动指令。
(5)结束本次对话,释放UNIT平台。
2.3 语音合成
本系统利用语音合成技术实现提示信息播报功能。在概念上,语音合成和语音识别是2个相逆的过程,目标是将文本转换为语音。拼接式语音合成[17]是近些年来主流的语音合成技术,基本思想是依照韵律建模的结果,从原始语音库中抽取相应的语音基元,进行拼接和韵律修饰,最终输出连续的语音流。本系统通过讯飞MSC平台通用接口实现与MSC平台的登录连接,并利用其语音合成接口实现文本信息到音频的在线转换。YSU-II智能交互系统语音合成实现步骤如下。
(1)对MSC平台进行初始化。
(2)调用QTTSSessionBegin()函数,开始语音合成,设置音量、音调、发音人等语音合成参数,初始化语音合成引擎;执行QTTSTextPut()函数,将待合成的文本信息写入MSC平台,生成文本的音标序列、韵律信息等,利用在线合成引擎将文本信息转化合成为音频信息。
(3)通过QTTSAudioGet()函数,获取合成的音频。
(4)结束本次语音合成,退出登录,释放MSC。
2.4 表单识别
康复任务表单是为YSU-II智能交互系统设计的一种便捷输入方式。为提取用户按需勾写表单中的康复任务,提出了一种表单识别方法,该方法主要包括表单分析和单元格内容识别。
表单分析是单元格内容识别的准备工作。本系统中的表单图像经扫描仪扫描获取,其背景干净、基本无倾斜,表单图像预处理包括灰度化、中值滤波去噪、自适应二值化和取反色。表单图像经过上述预处理后,采用膨胀和腐蚀2个数学形态学处理方法[18]检测并提取表单框架。最后,通过分析表单框架的版面结构,利用基于表单框线交点的单元格定位方法定位并裁剪待识别单元格区域。康复任务表单及其框架如图3所示。
图3 康复机器人交互表单及其框架图
单元格内容识别包括勾选标记识别和数字识别。勾选标记识别基于对单元格内容的灰度值排序实现,为了降低误识别率,仅当某一训练参数备选单元格内的最高灰度值与次高灰度值的比值在一定阈值范围内时,才将该单元格视为选中项。针对数字识别设计了一个基于卷积神经网络的结构模型。数字识别网络结构如图4所示。
图4 数字识别网络结构图
该网络包括3个卷积层、3个池化层和2个全连接层。输入层包含28×28个神经元。C1、C3和C5层为卷积层,卷积核大小均为3×3。C1层输出32张特征映射图,C3输出64张特征映射图,C5输出128张特征映射图。每个卷积层后均采用激活函数ReLU[19]来增强模型的表征能力。S2、S4和S6为最大池化层,池化窗口大小均为2×2,步幅为2。F7层为第1个全连接层,有625个神经元相连接,其后也使用ReLU激活函数进行非线性变换。最后的全连接层作为输出层,将625个神经元压缩映射为10个神经元,分别对应数字0~9。为防止过拟合,该模型采用了Dropout机制以提高模型的泛化能力。使用MNIST手写数字数据集训练该神经网络模型,将训练得到的权重文件存储于本地,从而可准确识别表单中的数字信息。
3 系统验证
本文从系统的准确性、对话轮次和平均响应时间测试YSU-II智能交互系统的性能。正确“理解”康复指令是该系统的核心需求,因此,从语音识别准确性和数字识别准确性2方面评估系统的准确性。然后,利用覆盖系统各康复任务的测试用例对系统的平均对话轮次和平均响应时间进行测验。最后,通过系统联调实验验证该系统的可用性。
3.1 语音识别准确性
(1)通信距离测试
下肢康复机器人座椅后背可调节的倾斜角度范围为20~80 °,考虑以患者为中心,声源与麦克风的间距约为0.6~1.0 m。因此,本实验在比较安静的环境(30~40 dB)下以通信距离分别为0.6 m、0.8 m和1.0 m对常用的训练参数组合进行测试,每条训练参数循环测试100次。测试结果如表4所示。
表4 不同通信距离语音识别测试结果
值得注意的是,实验过程中发音易混淆词汇容易导致系统识别效果不稳定,例如“直线2”误识为“极限2/执行2/实现2”、“圆周3”误识为“圆周山/原中山”。为改善这一问题,可以将此类词汇添加到对应词槽词典中或用户自身改变语音指令的表达方式,例如“圆周3”表达为“3号圆周”。
(2)非特定人语音识别测试
YSU-II智能交互系统提供给不同的发声对象使用。为验证系统非特定人的语音识别准确性,选取了男生和女生2个不同的音色,在比较安静(30~40 dB)和嘈杂环境(>50 dB)下分别对常用的训练参数组合进行100次循环测试,测试距离为0.8 m,测试结果如表5所示。
表5 非特定人语音识别测试结果
上述实验结果表明,系统对各个训练参数组合都有较高的识别率,非特定人对系统的使用效果无影响。实验者吐字不清晰、环境嘈杂度增加和通信距离增大是造成系统识别失败的主要原因。从表4和表5也可以看出,将易混淆词汇添加到对应词槽中可以在一定程度上提高系统语音识别的准确性。
3.2 数字识别准确性
MNIST数据集由美国国家标准与技术研究所编制,包括70 000张28×28像素的灰度手写数字图片,其训练集有60 000张,测试集有10 000 张。手写数字识别测试结果如表6所示。从表6可以看出,该网络模型经过4次迭代后趋于收敛,在测试集上的识别准确率可达到99.21%。
表6 手写数字识别测试结果
3.3 对话轮次及响应时间
选取可覆盖系统各个康复任务的测试用例,在比较安静(30~40 dB)的环境下测验系统语音交互对话轮次(dialogue turns, DT)及平均响应时间(mean response time, MRT),测试用例如表7所示。对话轮次及平均响应时间如表8所示。
表7 对话轮次及平均响应时间的测试用例
根据对本系统设置的对话意图及表8中对话轮次的实验数据可以看出,单关节相关的康复任务至少需要4轮人机对话,轨迹相关的康复任务至少需要3轮人机对话,错误识别和修改康复指令都会增加相应的对话轮数。由表8可知,系统对康复指令的平均响应时间约为2 s,最低为1.430 s,能够满足用户对系统的使用需求。
表8 系统对话轮次及平均响应时间
3.4 系统联调实验
上述实验表明系统的性能满足使用需求。对于实际使用过程中存在误识的情况,用户可以在上位机辨识相关任务后说出包含“修改”字眼的语音指令修改错误参数。人-机交互过程如图5所示。
图5 人-机交互过程
系统获取康复任务后,其中央控制模块运行上层控制算法配置该任务的各个训练参数到运动控制模块,形成相应的机器人动作序列,带动用户患肢进行康复训练。图6(a)为下肢康复机器人待训练状态。下肢康复机器人执行“起始角度为10 °和终止角度为40 °的主动左腿髋关节运动,训练速度为5 °/s,训练时间为10 min”康复任务的训练状态如图6(b)所示。
图6 智能交互控制的下肢康复机器人
4 结 论
本文基于YSU-I坐卧式多关节下肢康复机器人构建了YSU-II智能交互系统,该系统结合使用科大讯飞和百度UNIT平台的软硬件资源实现其语音交互功能,并通过一种表单识别方法实现了其表单输入功能,为用户提供了更自然、更便捷的新型交互模式。经实验验证,该系统对语音和表单均有较高的识别率,系统响应时间能够满足用户的使用需求,系统实用性较强。康复机器人与语音技术相结合提高了其智能化水平。智能交互的下肢康复机器人改进了传统的人机交互方式,解放了用户双手,提升了对患者进行康复训练的效率。后续将对智能交互系统的通用性开展研究,为将其广泛应用于其他康复机器人系统提供技术支撑。