赵彦,孙俊,时凯欣
(1.江苏信息职业技术学院物联网工程学院,江苏无锡214153;2.江南大学人工智能与模式识别国际联合实验室,江苏无锡214122;3.北京邮电大学国际学院,北京100876)
伴随着老龄化趋势的加剧,中国将成为超老年型国家,养老院、疗养院、护理院一床难求,人工智能养老机器人有助于解决当前社会的居家养老问题[1]。但是目前市场上的养老机器人存在如下缺点:仅能控制自家品牌的智能家居设备,在不知道各品牌控制协议的情况下,难以解决多品牌智能家居设备互不兼容的问题;欠缺老人语音语义识别、人形设计、心理沟通和情感交流;无法及时针对老人及其居家环境情况做出有效的智能控制;欠缺协助老人完成康复训练的功能。
为了弥补市场不足,解决居家养老问题,立足社会实际需要,在原生态机器人的基础上研发了一款N-pod多品牌智能家居语音控制设备,通过深度卷积神经网络(deep convolution neural network,DCNN)完成老人语音识别,通过粒子群优化(particle swarm optimization,PSO)智能算法对采集的老人及其居家环境信息实施分簇处理,形成语音控制多品牌智能家居设备的解决方案,实现千人千面的养老定制需求。其包括面向老人、智能家居、心理诊断、康复训练的管理部分和面向消费者、线下服务、老人家属的Internet部分。使用Python的Tornado框架,实现信息交互,用Home Assistant框架进行多品牌智能家居设备的整合,组成N-pod本地服务器。经过边缘化计算,发送Http请求实现多品牌设备互联,通过采集环境信息控制所有主流品牌智能家居设备。本设计方案以独到的全无线传输技术,使用Home Assistant框架实现多品牌物联网设备的自由添加组合[2-3],巧用深度卷积神经网络实现高性能的老人语音识别,利用粒子群优化算法实现智能推理决策,形成N-pod多品牌智能家居语音控制设备。最终将该设备与原生机器人相结合,使其具有亲人的机器人外观和成熟的交互能力[4],能根据语音[5]和环境信息指标自动控制多品牌主流智能家居设备,具有广阔的市场前景。
人工智能养老机器人是一个涉及面极广的系统工程,该设备在原生态人形机器人设计架构的基础之上借助机器人原有的智能化和人性化特点,设计并研发了N-pod主机,实现对老人的看护、陪伴和康复治疗。其整体框架结构如图1所示,包含N-pod智能家居控制系统、智能聊天系统、心理学咨询问卷系统、室内定位导航系统、老人康复训练系统5个部分。
图1 人工智能养老机器人整体结构框架图Fig.1 Framework of the overall structure of artificial intelligence pension robot
N-pod智能家居控制系统为该设备的核心,在N-pod主机和机器人上架设Web服务器,实现数据的交互。通过Http请求获取所有品牌智能家居设备的信息,N-pod主机对智能家居设备进行统一控制。该设备将根据老人日常行为要求、语言特征、生活习惯,在云端构建养老机器人资源知识库,针对特殊老人进行模块相似匹配搜索和模块组合约束检测,从而配置出满足特有老人需求的定制设备。设备运行实施框架如图2所示。
图2 设备运行实施框架Fig.2 Implementation framework of equipment operation
N-pod主机的设计由上位机、人形机器人、中间路由器、终端传感器及控制器构成,分为交互应用层、网络层、感知控制层3部分[6]。交互应用层[7]主要由人形机器人来展示,用户语音发出指令,机器人识别用户语音指令完成对智能设备的控制。网络层[8]的功能由WiFi路由器来实现,所有设备均可以通过WiFi的方式传输数据。物联网感知控制层[9]的功能由终端节点实现,用于采集信息和控制设备,采集的信息主要包括门磁、环境温湿度、图像等。控制器主要包括红外发射器、智能插座以及其他WiFi可控制的智能设备,通过红外控制器控制电视机、空调等可以红外控制的设备,智能插座控制饮水机的加热开关等。人形机器人自身携带Pad面板,实现图像、文字的智能交互,并结合优美的动作达到亲人效果。
图3为N-pod系统的拓扑图,图4为系统硬件拓扑图。
图3 N-pod智能家居控制系统的拓扑架构组成图Fig.3 Topology architecture diagram of N-pod smart home control system
图4 N-pod语音控制多品牌家居设备养老机器人硬件拓扑架构Fig.4 Hardware topology architecture of N-pod voice control multi-brand home equipment pension robot
本设备选用的原生机器人尺寸为1 210 mm(高)×425 mm(深)×485 mm(宽),重28 kg,电池是锂电池,容量30.0 A·h/795 W·h。该机器人拥有4个麦克风,可以用于定位和接收声音来源。在机器人的额头和嘴部配有两台2D相机,右眼的3D红外激光相机通过探测激光来测算距离,左眼为检测红外反射的接收器。头部、手部及手背为触摸敏感区,脚轮含有3个减震器,3个水平激光器可探测高度超过3 cm的物体,2个垂直激光器和1个水平铲式激光器可探测不平整地面及低于3 cm的障碍物。
N-pod智能家居控制系统有别于其他智能家居控制网关,除了能够打通各品牌智能家居设备的壁垒,实现设备兼容之外,还在于N-pod利用人工智能技术实现了数据闭环式管理算法,如图5所示。
图5 N-pod智能家居控制系统的数据闭环式管理算法Fig.5 Data closed-loop management algorithm of N-pod smart home control system
算法执行步骤如下:
步骤1:智能信息采集。通过智能物联网终端设备和智能穿戴设备,完成对老人身体素质指标、心理素质指标的采集。
步骤2:智能语音识别。采集老人语音信息,通过深度卷积神经网络实现老人语音语义识别。该步骤的具体实现方法将在2.3节详细讲述。
步骤3:智能推理决策。将老人语音识别结果以及采集的环境信息作为大数据分析的备用数据,使用粒子群优化算法对备用数据实施智能分簇处理,完成智能推理,形成最终结论和控制策略。该步骤的具体实现方法将在2.4节详细讲述。
步骤4:实施智能控制。根据步骤3形成的控制策略完成对具体智能终端设备的控制,满足千人千面的老人定制需求。在该步骤中,需使用Home Assistant框架配置多品牌智能家居设备,使用Python的Tornado框架,实现控制指令的信息交互。智能控制方案将再次累积到决策信息表中,为后期能够提供快速决策做强有力的支撑。
在数据闭环式管理的解决方案中,数据的输入和输出均为老人,即人工智能养老机器人的服务对象。N-pod智能家居控制系统不断地实施数据采集、语音识别、推理决策、智能控制,可对服务的老人进行不间断的闭环式学习,从而能构建出符合具体老人特点的养老机器人的服务内容和陪护方式。通过深度卷积神经网络和粒子群优化智能算法,让整款人工智能养老机器人设备更熟悉、更了解消费者,并针对该消费者的具体情况完成智能控制,制定相应的陪护方式、训练方案、心理治疗方案、营养食谱等,从而实现千人千面的用户需求。
深度卷积神经网络为多层神经网络结构,包含输入层、卷积层、激活函数、池化层、全连接层和输出层,凭借其数据平移不变性、适用于复杂网络、便于训练等特点,被用于图像处理、语音识别[10]领域。将深度卷积神经网络应用于N-pod智能语音识别环节,搭建6层深度卷积神经网络作为语音识别系统的声学模型,有效提高了语音识别正确率和速度,如图6所示。
深度卷积网络的输入层以语音作为输入,为了获得最佳效果,首先对语音进行预处理,通过训练提取语音特征。当样本不足时,需要对样本进行增强处理。
在卷积层,通过卷积运算对输入进行另一种表示,整个卷积网络训练为中间参数。其线性变换函数如下式所示:
式中:k为向量a的维数;wi,b为网络训练所需得到的参数。
通过激活函数进行非线性变化,如式(2),从而得到输入的另一种表示。
在卷积层中需要添加激活函数对运算进行非线性化。激活函数为Sigmoid函数,如下式所示:
池化层将对数据进行特殊处理,通过池化降低卷积层输出的特征向量维数,缩小语音特征尺寸,能够有效解决由上层的结果作为输入带来的计算量大的问题。经过池化,语音特征尺寸大小将减小50%。
全连接层是网络消耗参数最多的一层,该全连接层采用下式作为激活函数:
粒子群优化(PSO)算法为群智能方法[11]。该算法以鸟群寻找最佳食物来源为启发,鸟的移动方向受其当前运动、有史以来最佳食物来源以及禽群中任何鸟类的最佳食物来源等多方面的影响。自PSO算法提出以来,研究人员提出了很多改进的粒子群优化算法,并且算法被广泛运用到工程、医疗、经济管理等领域中。在N-pod智能推理决策环节引入PSO,此时对最佳粒子问题的求解就是最佳推理决策方案的求解,该解决方案随最佳粒子在搜索空间中的移动而变化,对采集的环境数据信息、老人个人情况信息实施分簇,从而形成最佳决策,达到满足千人千面的用户需求。粒子的运动受惯性、个人最佳位置和全局最佳位置的影响。群由多个粒子组成,每个粒子都有一个适应度值,该适应度值由目标函数分配,并根据其位置进行优化。此外,粒子除了适应度值和位置外还包含其他信息,例如粒子运动的速度。另外,PSO保持了最佳个人姿势和粒子最佳状态值。同时,PSO拥有任何粒子所经历过的最佳全局值和最佳适应度值。
粒子群优化算法使用下式在问题搜索空间内移动粒子:
使用下式更新粒子速度:
式中:wt为惯性权重;r1,r2为随机生成的数字;cons1,cons2为常数系数为粒子i的当前最佳位置为整个群的当前最佳全局位置。分别从初始化开始到时刻t代表粒子i所找到的最优位置,r1和r2是[0,1]区间内产生的随机数,cons1和cons2是加速因子用来调整粒子得到收敛速度,一般设置为2。在t+1时刻,粒子位置根据式(6)进行更新。每个粒子都会同时被个体最好位置和全局最好位置影响。参数wt有调整粒子群的全局搜索能力和局部搜索能力的作用,如下式所示:
式中:wi,we为参数w的初始值,一般分别设置为0.9和0.4;T为粒子群的最大迭代次数。
当粒子群庞大时,会加大粒子群更新的负担,此时使用欧几里德距离的平方和作为适应度函数,更新粒子位置。适应度函数如下式所示:
式中:K为簇数;d(Xi,Cl)测量的是数据对象Xi和簇Cl质心之间的多样性。
使用欧几里德距离计算数据对象之间差异,对于给定的数据对象Xi和Xj,欧氏距离d(Xi,Xj)的计算如下式所示:
粒子群优化算法在N-pod智能推理决策环节应用的伪代码如下所示:
对于数据对象N、迭代次数T、群体规模M而言,使用粒子群优化算法解决数据分簇问题的时间复杂度为O( )N×T×M。通过对粒子群优化算法的研究,并将该算法与N-pod智能推理决策相结合,有效解决了大规模数据信息的分簇问题,能够实现提高推理决策的执行效率、准确度和精确度。
整个设备使用基于Python的Tornado框架解决信息传递的准确性以及提高执行效率的问题。Tornado是一款轻量级框架,具有足够的健壮性。在处理终端设备实时上传的设备更新、状态变化以及用户通知时,客户端需要长期保持在一个开放状态,这些长连接或推送请求会使Apache的最大线程池迅速饱和,一旦线程池的资源耗尽,服务器将不能再响应新的请求。实验证明采用Tornado框架构建异步服务器,可有效减轻基于线程的服务器的限制。当负载增加时,Tornado使用协作的、多任务的方式进行扩展优化。一旦当前请求正在等待来自其他资源的数据(比如数据库查询或Http请求)时,异步服务器可以明确地控制并挂起请求,当合适的数据准备好时又可动态调用回调函数。该作品使用Tornado框架存放static文件,建立template文件存放html数据,将两种文件地址添加在框架中以便html渲染并返回,在主体框架内写入端口号、路由映射,框架会根据不同的url请求调用不同的方法。
当下智能家居的核心缺陷是由于大部分智能家居设备独立发展,没有建立统一的通讯协议,一般的情况下只能控制自家品牌的产品,或者开放了协议的产品,因此难以解决多品牌智能家居设备的自由组合接入和控制。N-pod的特色之一就是使用Home Assistant框架解决了语音控制多品牌主流家居设备的问题。N-pod使用Home Assistant开源框架,通过其自有的配置方式连接各种外部设备(智能设备、摄像头、邮件、短消息、云服务等近千种可连接组件),达到取代传统物联网家居控制网关的目的。本设备已经打通小米系列、Philips智能灯系列、亚马逊音响、苹果的Siri,Google Assistant、博联设备以及特斯拉汽车等,同时可以提供互联网上的各种实时信息,包括股票、汇率、交通、天气。
N-pod软件设计分为三大部分:
1)基于Python2.7的Tornado网络框架主要为机器人提供外部接口、外部服务等功能。
2)基于Python3.7的Home assistant框架主要为N-pod配置物联网云服务,通过云服务来控制物联网设备。
3)基于机器人自身携带的ChoreGraphe框架,配置机器人本地Linux系统服务,通过远程连接控制,完成对机器人基本的功能操作。
三大部分通过Http请求来获得相关的数据连接,完成机器人所需要的各个功能。各部分之间的数据通讯模式及软件框架结构如图7所示。
图7 N-pod系统软件框架Fig.7 Software framework of N-pod system
3.4.1 智能语音识别功能的设计
智能语音识别功能是通过基于语音识别程序完成流畅的对话,使用机器人内部接口与深度卷积神经网络语音识别模型相结合的方式实现,如图8所示。
图8 语音对话逻辑流程图Fig.8 Voice dialogue logic flow chart
当机器人麦克风获取音频信息时,调用深度卷积神经网络语音识别模型完成语音识别,将识别好的语音信息传递给机器人内部应用程序接口,要调用dialog模块触发编辑好的对话以及该对话对应的回答和功能,在dialog对应的配置文件中完成代码书写,机器人实时听取说话者的语音,与自身内部语音库匹配,找到最佳的对应文字,在配置文件中找到对应文字并触发后续的功能,再将获取的信息通过机器人语音接口得到语音内容,实现语音会话。
3.4.2 语音控制多品牌智能家居设备功能的设计
通过语音控制多品牌智能设备,其主要方式是通过深度卷积神经网络语音识别出会话的含义,并通过粒子群优化算法对当前居家环境、老人状况实施分簇处理,形成智能推理决策,与配置好的控制语音进行匹配,通过Tornado框架发送Http请求给Home Assistant框架,通过执行相应指令,实现对多品牌智能家居设备的控制,其具体流程逻辑如图9所示。
图9 语音控制智能设备逻辑流程图Fig.9 Voice control smart device logic flowchart
3.4.3 其他控制功能的设计
情绪检测同样是通过Tornado框架调用应用程序接口(application programming interface,API),将图片信息发出,再将得到的数据返回。识别图片信息功能,采用颜色识别算法,在图片中多点位置取出像素点,对多个像素点采样、分析、去除红绿蓝白(red green blue white,RGBW)近似值,按照像素点近似值的概率分析出图片需要识别物体的颜色等信息。
为了验证N-pod多品牌智能家居语音控制设备的准确性和灵敏度,测试选取1 000位用户,按照年龄进行分组,分为50~59年龄段(临退休老人)、60~69年龄段(退休老人)和70以上年龄段(敬老院老人),在一个月内,选取全天时间段进行人机交流会话,完成数据采集和智能家居控制,持续进行30 d,每位对象累计不少于400次语音控制测试。根据用户的语音请求,完成语音语义分析,对各主流品牌的智能家居设备进行控制,并进行数据采集。
用户在不同状态下使用N-pod多品牌智能家居语音控制设备,用不同语音语境进行会话交流。对比改进前和改进后的语音语义分析结果和控制结果,该设备的语音语义识别正确率高达98.99%,控制执行的正确率在97.08%,控制指令的灵敏度响应度为99.24%,远高于改进前的使用数据,达到商用效果。系统测试结果分析如图10所示,图10a是从1 000个用户的测试数据中随机抽样100个用户作为样本数据进行绘制,图10b是对改进前和改进后的整体使用效果的对比分析。
图10 N-pod设备测试结果分析Fig.10 N-pod equipment test result analysis
该设备已在无锡市滨湖区金夕延年乐颐养老院、无锡朗高梅园护理院、无锡长江康复中心使用。
相关实际应用效果如图11所示。图11a中展示了机器人在养老院现场为老人做信息采集的场景,机器人获取老人实际信息后,就能通过老人的实际身体指标和各环境指数调节室内温湿度。目前本款机器人已经采集了1 000多位老人的信息,获取其生理指标,所有数据存储在云端,N-pod后台运行框架图如图11b所示。该款人工智能养老机器人在使用单位得到老人们的喜爱。
图11 实际运行效果图Fig.11 Actual operation effect diagram
N-pod多品牌智能家居语音控制设备,依赖于深度卷积神经网络实现语音识别,使用粒子群优化算法针对现有老人居家环境和老人自身条件形成智能推理决策,使用Python的Tornado框架解决信息传递的准确性并提升执行效率,引入Home Assistant框架打破多品牌智能家居设备互不兼容的僵局,实现语音控制多品牌成熟智能家居设备的目标。整套设备能够实现数据信息、音视频信息的实时采集和处理,并结合采集的信息形成智能化的解决方案,实现千人千面的养老定制需求。该设计可为人工智能养老机器人提供完备的物联网控制技术支持。
该设备已经申请了2项实用新型专利、1项发明专利,整个设备外观亲人、新颖,具有简单易用的特点,能够成为老人的助手和陪伴,得到多位人工智能领域专家的一致推荐。该作品已荣获2019年第十六届江苏省大学生课外学术科技作品竞赛“挑战杯”全国竞赛江苏省选拔赛决赛二等奖,已在养老院、敬老院、高档社区推广使用,必将带来较大的经济和社会效益。