1. 引言
随着物联网(Internet of Things, IoT)的出现,以往的各类家居产品逐渐趋于智能化和便捷化,为人们的生活提供便利 [1] 。与以前的家居产品相比,智能家居依托于前沿的物联网技术、无线遥感技术等多种前沿科技,将室内的各种信息进行整合、汇总、处理 [2] ,使用户可以直观地了解到当前室内环境状况的变化,并且可以远程控制家中的电器设备或监测医院中具有高传染性病毒的房间 [3] [4] 。同时,随着人机交互技术的快速发展,机器与人类的交互方式变得越来越自然。而在智能管家这一复杂系统中,简洁的人机交互方式势必会带来更好的用户体验。在文献 [5] 中采用混合粒子群优化算法对智能家居的控制和管理任务进行调度,较大程度上的提高了家居的智能性;文献 [6] [7] 提出了以用户为中心的智能家居未来活动预测方法,利用用户日常生活活动数据预测用户在智能家居环境中的下一步活动,预测的时间取决于该项活动之前的时间。但在多元时间序列的情况下有不同类型的特征值,并且目标数据依赖于这些特征。因此改进家庭环境参数的处理方法和用户行为预测算法,可以一定程度上提高智能家居产品的服务性能,为用户提供便利。
文献 [8] 中提出一种网络化智能家居系统,运用递归神经网络和强化学习方法实现网络化智能家居系统的群体智能决策能力,改善室内环境舒适度。为此,本文运用神经网络预测算法对用户行为日常行为进行预测,借助语音识别装置 [9] ,用户能够更便捷地操作家电设备并且根据用户每日回家的时间,进而预测用户接下来的家电操作习惯,提前为用户做好家电的准备工作,实现更加自然的交互方式。
传统的智能家居通过各个采集模块采集室内环境数据,针对采集到的数据进行简单的对比分析。即当某一项指标超过设定的临界值时,智能控制终端下发指令给对应的执行机构,在对数据处理上较为单一。临界值的划定与当前的设备所处的环境状况有关,在现实生活中居住环境不断变化,智能家居设定的临界值也随之不断变化。文献 [10] 中提出了面向大数据驱动型的智能家居分层架构,提供了数据处理和存储的可拓展解决方案。为了本文采用模糊控制算法根据多项环境参数进行模糊融合,得到对应家电设备的控制策略和家庭安全状况等级。
本文设计的智能管家系统依托于物联网技术、语音识别技术、模糊控制技术和神经网络预测技术,通过主从的形式在家庭环境内设置多个下属从机节点,将各节点采集到的信息数据汇总到主机端,形成家庭物联网。该智能管家系统摒弃了旧的手动控制,采用语音识别控制和模糊控制相结合,可以更大程度上为用户提供便捷。此外,为了实现远程对家庭环境的实时监控,该系统通过WLAN技术将数据上传至云端,经过云端对数据进行管理和存储。一方面,用户可以直接通过手机APP或者Web端界面对家庭环境数据进行观测。另一方面,众所周知,当下远程控制是智能家居的必备要素,该智能家居系统设有可视化的远程操控界面,可以远程对家庭电器设备进行控制管理。采用模糊控制算法根据多项环境参数进行模糊融合,得到对应家电设备的控制策略和家庭安全状况等级。运用神经网络预测算法对用户行为日常行为进行预测,借助语音识别装置,能够更便捷地操作家电设备并且根据每日回家的时间,进而预测接下来的家电操作习惯,提前做好家电的准备工作,实现更加自然的交互方式。
本文组织结构如下。第二部分介绍了智能管家系统的设计;第三部分介绍了模糊控制算法下的家电控制和家庭安全等级分析;第四部分介绍了神经网络预测对用户行为习惯的分析结果;第五部分给出了语音识别性能测试;最后一部分给出了本文的结论和系统未来需要改进的方向。
2. 智能管家系统的设计
2.1. 系统架构
本文所设计的智能管家系统由决策控制部分、执行控制部分和信息感知部分构成,整体系统框架如图1所示。在执行控制部分中,用户可以通过增加下位机模块的方式,实现对整个系统的扩展,上位机模块和各下位机模块之间采用Zigbee技术通信,降低线路连接带来的困难 [11] 。系统通过信息感知部分的各种采集模块,监测家庭内的环境状况,监测到的数据汇总后发送给决策控制部分。决策控制部分利用模糊控制算法对数据处理,然后向控制部分发送控制指令。

Figure 1. Overall system framework of the Smart Housekeeping System
图1. 智能管家系统的整体系统框架
2.2. 控制流程设计
由于在实际应用中,家庭用户所使用的电器设备种类复杂,所需要控制的电器设备和采集环境数据的房间数量多,如上图1智能管家系统的整体系统框架所示。为此,本文在控制流程设计时采用一主多从的形式,分别设计主机端控制流程设计、从机端控制流程设计和PC端控制流程设计,三部分控制流程设计中所需要负责的具体功能也不同。控制流程框架如图2所示。
从机端则负责控制具体的电器设备和采集环境数据,根据各下属驱动设备和采集设备,分布于家庭不同房间中,如空调采用红外遥控、窗帘采用电机转动、电灯采用继电器控制等按照电器设备驱动类型分类的节点。从机端按照硬件电路所设计的下属从机节点,分配不同的节点地址,与主机端之间采用广播的形式,所有节点均可以收到主机端下发的数据包,对应节点根据数据包内容中的从机节点地址识别码做出应答。用户可以自行增加从机节点,重新分配从机节点地址,以此实现对设备的扩展。
主机端与从机端之间采用Zigbee技术进行组网,与下属各从机节点进行组网,构成家庭物联网。通过无线路由的形式实现各节点信息的传递,减少由铺设线路所带来的接线问题。主机端主要负责整理从机端采集到的各种电器设备数据和环境状况信息,对这些数据进行二次打包上传至Onenet云平台的PC端中,并通过SNR8016语音模块对用户的语音指令进行识别,将识别到的音频信息与建立好的语音识别库 [12] 进行对比查询。同时,主机端负责承接PC端和从机端,包含了PC端应答、语音识别和从机端应答三个子程序模块,分别管控主机端不同的功能区。PC端应答子程序依靠从机端应答子程序接收到的各从机节点的环境参数,在数据中添加固定的通信协议内容,封装成Onenet云平台能识别的数据格式,并且设计了对Onenet云平台下发指令的解码程序,提高主机端应答指令的速度。语音识别子程序管理系统所建立的语音识别库,识别到语音指令后快速查询对应从机节点的操作指令,通过从机端子程序向所属从机节点发送指令。
PC上位机端中负责主机端与Onenet云平台的对接,采用中国移动提供的物联网开发平台。该平台针对不同的使用场景,提供关于设备的生命周期管理、在线状态监测、在线调试、数据管理等丰富的设备管理功能,支持包括LWM2M (CoAP) [13] 、MQTT [14] 、Modbus [15] 、HTTP [16] 和TCP等在内的多种协议,并且对应开通了基于Android的SDK [17] 。主机端通过WIFI模块打通通信链路层,采用MQTT协议连接到Onenet云平台,形成一个数据闭环。
系统的控制流程如下图3所示。
3. 基于模糊控制的家庭安全等级设定和控制策略
3.1. 模糊控制规则整定
针对日常生活中存在的某些难以区分清楚的元素,普通集合的非0即1已经难以满足区分的要求,因此采用模糊集合将每个元素从二元逻辑扩展到多值逻辑,除了用0和1表示归因值外,0和1之间的值也可以表示这个归因度 [18] 。相较于普通集合,模糊集合不具备清晰明确的边界,即从属于一个集合到不属于一个集合的过渡是一个渐进的过程,这种平滑的过渡的特征在于隶属函数 [19] 。若论域 为有限集时,即
,则x上的模糊集A可以用zadeh [20] 表示法表示为:
(1)
式(1)中,∑和+表示概括集合诸元,不是求和的意思;
是模糊集A的隶属度函数,
表示
对模糊集A的隶属度是
。
在确定模糊控制系统的隶属度函数中,变量所取隶属度函数通常是对称与平衡的,每一个输入变量可以有多个标称值。本文设计的模糊控制系统选取Trimf隶属度函数,该函数公式如式(2)所示,设置变量标称值为零、小、中、大,用符号分别表示为ZO、PS、PM、PB。
(2)
其函数图像如图4所示。
根据Motoroal的Marsh提出的重叠率概念,分别计算重叠率和重叠鲁棒性 [21] ,如式(3)所示:
(3)
利用式(3)调整隶属度函数,使重叠率保持在0.2~0.6之间,重叠鲁棒性维持在0.3~0.7,设定温度的论域为[0, 80],烟雾浓度的论域为[0, 1500],湿度的论域为[0, 100],光照强度论域为[0, 100],分别建立温度隶属度函数,烟雾浓度隶属度函数,湿度隶属度函数和光照强度隶属度函数,如图5所示。
模糊控制系统的基本结构由四个概念组件组成:知识库、模糊化接口、推理机和去模糊化接口 [22] 。知识库中主要包含模糊控制规则,模糊控制规则是整个模糊控制系统的核心,是控制系统判断输出的依据。控制过程如图6所示。

Figure 5. (a) Temperature affiliation function; (b) Smoke concentration affiliation function; (c) Humidity affiliation function; (d) Light intensity affiliation function
图5. (a) 温度隶属度函数;(b) 烟雾浓度隶属度函数;(c) 湿度隶属度函数;(d) 光照强度隶属度函数

Figure 6. Fuzzy control process flow chart
图6. 模糊控制过程流程图
模糊规则制定的好坏是决定模糊推理机能能否做出合理、准确判断的关键环节。模糊规则制定的依据大多来自于专家的工程经验,具有一定的主观性。本文通过研究相关文献 [23] [24] [25] [26] ,结合有关专家经验,制定所使用的模糊规则,烟雾浓度和温度模糊规则如表1所示,光照强度和湿度模糊则如表2所示,根据四组变量进行不同控制组合方法相同。
如上表1,表2所示,分别为家庭安全等级和家庭盆栽灌溉系统的模糊规则表,根据表中的内容分别对家庭的安装状况和电器设备进行模糊控制。如表1,表2所示,输入对应变量的模糊语言值,可得到对应输出变量的语言值。接下来即进行反模糊化处理,将得到的输出语言值转变为具体数值,该数值反映了控制强度,若为家庭安全状况的模糊评判,则反映的是家庭安全指数;若为家庭盆栽灌溉系统,则反映灌溉系统中水泵PWM的占空比,体现在灌溉的水流速度上。本文采用面积重心反模糊法,选取隶属度函数曲线与横坐标围成的面积的重心作为模糊推理的最终输出值 [27] 。面积重心法公式如式(4)所示。

Table 1. Fuzzy rule table for smoke concentration and temperature
表1. 烟雾浓度和温度模糊规则表

Table 2. Fuzzy rule table for light intensity and humidity
表2. 光照强度和湿度模糊规则表
(4)
式中,
为输出量的语言值。
3.2. 基于模糊控制的家庭安全等级测试
为了验证本系统采用的模糊推理算法的正确性,通过在MATLAB中搭建相应的模糊推理模型,验证算法的正确性。以家庭安全等级平安为例,利用MATLAB中的Fuzzy工具箱,室内的温度和烟雾浓度作为输入量,安全状况为输出量。根据表1烟雾浓度和温度模糊规则表和表2光照强度和湿度模糊规则表所示的在模糊规则,在模糊控制规则添加器中添加相应规则。完成模糊推理算法的配置,运行工具箱,可得到不同温度和烟雾浓度下的安全等级分布状况,如图7所示。
从图7中可以看出,颜色越深的区域表示当前家庭安全状况最好或所需要输出的PWM占空比越小,当颜色逐渐变浅后表示家庭内存在安全隐患或所需要输出的PWM占空比越大。在图7(a)中可以看出根据表2所制定的烟雾浓度和温度之间的模糊规则所得到的输出结果,在温度保持恒定时,安全等级随着烟雾浓度的升高而升高,表示当前家庭环境内虽然温度还未上升,但烟雾浓度已经超过安全指数,存在安全隐患;同理,当烟雾浓度恒定时,随着家庭环境内的温度检测传感器传递回来的温度系数不断升高,家庭的安全等级也随之升高,指示存在安全隐患。以上两种情况分别对应着实际应用中所出现的有烟低温或高温低烟的情况,并且设计的安全等级共划分了一到四级,避免由于厨房环境下高油烟造成的家庭安全等级误上升。

Figure 7. (a) Smoke concentration and temperature; (b) Light intensity and humidity Fuzzy inference algorithm simulation results
图7. (a) 烟雾浓度和温度;(b) 光照强度和湿度模糊推理算法仿真结果
在图7(b)中,所示为家庭环境内某一植被的灌溉系统,根据光照强度和湿度状况,不断调节响应的PWM占空比输出。从图中可以看出在光照强度和湿度的变化趋势截然相反,在随着光照强度升高时,若此时的盆栽湿度仍保持很高,此时灌溉系统的PWM占空比维持在降低的水平。在仿真结果中抽取6组数据与所设计的智能管家系统实际所判断结果进行对比,以图7(a)的结果为例,其中系统的判断等级为一级、二级、三级、四级和五级,一级最为安全,随着等级上升安全隐患也逐步上升。测试结果如表3所示。

Table 3. Home security level test chart
表3. 家庭安全等级测试表
从表3中可看出,温度和烟雾浓度发生变化后,模糊推理算法仿真得到的安全状况参数和智能管家系统判断结果也随之改变,变化情况与实际安全情况相吻合,且若只有某一项指标异常,系统的判断结果结合另一项输入指标综合评判。
4. 基于反向传播神经网络的行为预测
4.1. 反向传播神经网络原理
反向传播神经网络(Back Propagation Neural Network, BP)经过多年的使用和研究,在数据分析预测方面表现出良好的性能 [28] [29] [30] 。本研究根据用户每日回家的时间,对其打开加湿器、开关空调和休息时间等日常行为进行预测。采用三层的BP神经网络,由输入层、隐藏层和输出层构成 [31] [32] ,图8为BP神经网络结构图。

Figure 8. Schematic structure of BP neural network
图8. BP神经网络结构示意图
(1) 网络参数初始化
分别给网络中各连接权值和阈值赋值到区间(−1, 1)内的随机值 [33] 。并设定误差函数为e,确定
的值作为计算的精度,并神经网络的最大训练次数M。
(2) 信号的前向计算过程
BP神经网络算法包含数据前向计算和反向误差修正两部分 [34] 。信号的前向计算包括隐藏层第i个神经元的输入
和输出
,输出层第k个神经元的输入
和输出层第k个神经元的输出
,分别如式(5)~(8)所示:
(5)
(6)
(7)
(8)
(3) 误差反向修正过程。
通过实际输出值与期望输出值进行计算得到目前存在的输出误差,根据梯度下降法反向不断修正调整神经网络结构的权值和阈值,以期达到可以接受的输出误差范围内 [35] ,误差反向修正过程如下。
计算误差值:根据神经网络的实际输出值
,和期望输出值
,可以得到预测模型预测误差为e。
(9)
权值更新:根据计算得到的网络预测误差e更新网络连接权值
,
。式中
为学习效率。
(10)
阈值更新,根据网络预测误差e更新神经元阈值
,
。
(11)
输入信号前向传递过程中,每一层神经元的状态只受上一层神经元状态的影响。当输出误差不在可接受范围内时,通过梯度下降算法反向更新个层神经元的连接权值,以及神经元本身的阈值,经过反复不断的训练达到期望要求的输出误差范围内,得到最优的神经预测模型网络参数。
4.2. 行为预测结果分析
在MATLAB中建立三层BP神经网络预测模型,其中隐含层中包含24个节点,为了减小数据量纲不同对结果的影响,本文采用归一化的处理方式将训练数据归一化到[−1, 1]之间,并且剔除数据中部分坏值,对数据进行清洗,提高模型的鲁棒性。由于日常生活中用户的夜间休息时间与用户当日下班时间息息相关,两者活动之间的时间差在一定范围内波动。若采用夜间休息时间作为输入量去预测,则当用户发生突发状况未返回时,而电器设备根据预测结果执行相应的操作,将会造成电器设备无效操作并带来一定的危险并,为此将用户每日下班回家的时间作为输入量,只有当得到用户具体的回家时间信息后,处理器才能进行预测,将用户未来的下一步活动时间作为输出量。
在BP神经网络预测模型中,设置训练次数为1000次,学习速率为0.01,验证预测结果是否符合用户的日常行为。为了采集用户的回家时间,本文通过人体红外热释电模块和指纹识别模块对进门时用户的时间进行记录。训练集采用某一用户近一年来的行为数据中前11个月的60组数据,后一个月的30组数据作为测试集。其中预测得到的夜间休息时间,如图9所示。
在图9中,横轴为预测的天数,纵轴为夜间休息时间,其中红线表示预测得到的时间,蓝线表示用户实际夜间休息时间。根据得到的预测时间与实际时间可以直观的看出,预测的结果与用户实际夜间休息的时间之间存在一定的误差。两者之间的平均绝对误差在1.53%左右,其中第5日的预测结果误差最大为8%,保持在10%以内。预测的时间与用户实际的时间也相较稳合,符合用户的日常作息规律。当面对突发状况,用户可以控制关闭预测,优先执行用户下发的指令。除了对用户的夜间休息时间外,该系统根据用户的进门时间,预测用户可能需要使用热水器,空调和水壶等常用电器的时间,对这些电器设备进行预启动,例如在用户进门前的几个小时内提前做好空调温度的调节,打开热水器等操作。
用户行为预测模型所对应的平均绝对误差(MAE)为0.01536,均方误差(MSE)为0.000495和均方根误差(RMSE)为0.022261,从误差结果中可以看出预测结果与实际用户的行为时间相较吻合,误差结果较小。
5. 人机交互系统设计
语音识别的准确性是确保系统正常执行用户操作命令的保障。SNR8016与LD3320作为两款已经在语音识别领域中运用较为广泛的芯片,LD3320芯片在语音识别率上达到95%,支持50条命令词,但其不具备未处理器的控制功能,需要外挂MCU和存储设备。而SNR8016是一款低功耗、小体积的离线语音识别模组内置2MB的FLAH,可以离线运行,在对语音的识别率上,SNR8016性能并不输于传统的LD3320。

Figure 9. Predicted results of night breaks
图9. 夜间休息时间预测结果

Table 4. Speech recognition rate of SNR8016 under different noise intensity
表4. 不同噪声强度下SNR8016语音识别率
为了提高语音识别的准备性,在设计SNR8016时,本文通过增加防止误识别的命令词的形式,把日常中与唤醒词和正确命令词的语音相近的词语添加进误识别指令中,以此来确保语音识别在受到环境的噪声和发音相似的干扰下也能正常识别指令,提高识别的准确率。由于模拟给定声音强度的噪声环境存在困难,本次实验在空旷的房间中通过喇叭播放嘈杂的音频,用噪声测量仪控制噪声的大致强度,分别模拟噪声在20分贝以下、20到40分贝,40分贝以上三个噪声段环境,并进行100次语音识别性能测试。观测语音识别模块对用户操作指令识别的识别率和准确率,测试结果如表4所示。
从表4可知,在添加误识别词和未添加识别词两种情况下,随着环境噪声的逐渐增大,语音的识别率和准确率都在下降,但整体的识别率仍能保持在85%以上。对比两种情况,可以看出添加误识别此后语音的识别准确率和识别率得到了提高,平均提高了3%左右。在噪声达到40 dB以上时,添加误识别词后的识别率提升最大,识别后的准确率提高了4%。
6. 总结
本文采用中国移动的Onenet云平台搭建人机交互界面,结合模糊控制算法与神经网络预测算法,介绍了一种具有自主交互能力的智能管家系统。该系统通过模糊控制算法,利用家庭环境内的多项数据进行模糊融合,模糊结果充分符合实际电器设备使用状况,并且家庭安全等级测试结果具有高灵敏度,有效的为用户提供安全保障。所采用的神经网络预测算法在用户行为预测上具有较高精确度,绝对误差保持在0.02左右。在语音识别交互性能上,通过设定的误识别指令词,识别的准确率得到了有效的提高。结果表明,本文设计的基于模糊控制和神经网络预测的智能管家系统在提高用户舒适度,家居智能化方面具有一定优势,且决策结果满足用户的个性化需求。然而,如何高效精准的捕捉用户行为习惯,根据用户的行为习惯生成独属于当前用户的家庭电器设备操作模型,提高模型的可泛化性,这些问题的发现和解决可以大大地提高智能家居的智能化和便捷化。