Quadra L 团队 - Intel Developer Zone · 第 4 页 图 1.3 TP-LINK 无线路由器图...

29
文件编号:[WirelessLife]-SWC2018-[8] 受控状态:■受控 □非受控 保密级别:□公司级 □部门级 ■项目级 □普通级 采纳标准:CMMI DEV V1.2 WiSmart 基于人工智能和 WIFI CSI 的 应用于智能家居的 无源感知身份识别系统 项目开发文档 参赛团队:WirelessLife

Transcript of Quadra L 团队 - Intel Developer Zone · 第 4 页 图 1.3 TP-LINK 无线路由器图...

  • 文件编号:[WirelessLife]-SWC2018-[8]受控状态:■受控 □非受控

    保密级别:□公司级 □部门级 ■项目级 □普通级

    采纳标准:CMMI DEVV1.2

    WiSmart基于人工智能和 WIFI CSI 的

    应用于智能家居的无源感知身份识别系统

    项目开发文档

    参赛团队:WirelessLife

  • 目录

    一、项目分析..................................................................................................................................................... 1

    1.1 项目背景:选题目的和动机..............................................................................................................1

    1.2 项目需求调查......................................................................................................................................1

    1.3 应用场景..............................................................................................................................................2

    1.4 项目目标..............................................................................................................................................2

    1.5 可行性分析..........................................................................................................................................2

    1.6 项目创新性分析:..............................................................................................................................4

    1.7 项目组开发条件..................................................................................................................................5

    二、高层程序设计............................................................................................................................................. 7

    2.1 系统全局架构......................................................................................................................................7

    2.2 数据流图..............................................................................................................................................7

    2.3 系统数据库设计..................................................................................................................................8

    2.4 作品目标实现形式............................................................................................................................12

    三、技术实现................................................................................................................................................... 13

    3.1 CSI 信号的解析降噪.........................................................................................................................14

    3.2 基于 IntelCaffe 的 CNN+ResNet 相结合的高精度认证方法....................................................15

    3.3 对 intel-caffe 的合理增强..............................................................................................................20

    3.4 网站后端控制系统............................................................................................................................21

    3.5 手机 app 作品设计...........................................................................................................................23

    3.6 项目层次结构....................................................................................................................................24

    四、团队分工................................................................................................................................................... 24

    4.1 工作安排............................................................................................................................................24

    4.2 项目时间进度表与重要里程碑:....................................................................................................25

    五、参考资料及代码统计............................................................................................................................... 26

    5.1 参考资料............................................................................................................................................26

    5.2 代码统计............................................................................................................................................27

  • 第 1 页

    一、项目分析1.1 项目背景:选题目的和动机

    身份识别的通常方法一般是图像识别或者智能卡技术,这些技术或多或少都具有造价昂

    贵,操作繁琐,设备要求精度高的特点,并且图像识别技术在光线或物体成像不清晰的情况下

    会受到很大的影响。故以此本组提出了无源 WIFI 结合深度学习的身份识别系统。

    近年来,利用无线信号识别人类身份,以其无源感知,覆盖范围广,实用前景广阔的特性

    成为学术界关注的热点。无线信号具有数据量大,包含信息丰富的特点。而 DeepLearning 技

    术具有从含有噪声的大数据信息中提取有用特征信息的能力,二者结合可以实现高精度的人物

    识别。本作品的目的是通过 WIFICSI 信号结合机器学习技术,使用 IntelCaffe 的前馈卷积神经

    网络架构(CNN)和自主搭建的基于 IntelCaffe 的残差网路架构(ResNet)进行普适计算,从来

    实现高精度的人类身份识别,为传统的人物识别方法提供新的方法和设计思路,并且基于本作

    品开发签到系统,报警系统等一系列身份识别报警系统。

    本项目的最终目标是要实现一个能够对人体进行室内定位并能快速实时检测入侵人物身份

    的安防系统。用户能够通过远程网站控制服务器监视 WIFI 覆盖地点的实时情况,即系统能够及

    时地检测到入侵 WIFI 覆盖地点的人物、识别人物的身份和能够定位人物在该区域中的位置同时

    实时地将这些情况通过网页反馈给用户。

    1.2 项目需求调查

    近年来,随着智能家居的迅猛发展,越来越多的家庭开始引入智能家居。

    图 1.1 智能家居发展阶段

  • 第 2 页

    图 1.1 为市场智能家居发展阶段。而成熟的智能家居,都安装有相应的身份识别系统去保

    障家庭的安全。但是对于传统的智能家居身份识别系统,多是利用虹膜识别、语音识别和人脸

    识别技术,这些技术或多或少都具有造价昂贵,操作繁琐,设备要求精度高的特点,并且图像

    识别技术在光线或物体成像不清晰的情况下会受到很大的影响。

    因此,业界需要一种新型的先进方便的身份识别技术。与此同时,利用无线传感器技术和

    人工智能技术进行人类身份识别和定位,以其无源感知,覆盖范围广和前景广阔的特性成为学

    术界关注的热点。本项目基于此技术开发了一套创新的云监控系统,并创新性地在全球首次将

    其与智能家居相结合,力图解决智能家居中身份识别和定位所存在的问题。

    1.3 应用场景

    本项目应用无线 WiFiCSI 获取和解析技术,根据人体对 WiFi 信号的干扰程度的不同从而从

    中提取出有价值的数据,应用后台服务器端的 Intelcaffe 的前馈卷积神经网络架构(cnn)结合自

    主搭建的基于 IntelCaffe 的残差网路架构(ResNet),通过前期成员样本学习得到身份识别模

    型,通过识别模型识别家庭人员身份,依据所识别的人员信息,手机 APP 端或网页端通过 WiFi

    发送对应人员的命令信号给特定的智能家居,从而实现智能家居自动化智能控制。同时将信息

    记录入服务器,可通过手机 APP 或网页查看历史后台统计信息,给使用者做进一步的了解与参

    考。以下为实际演示图例(图 1.2)

    图 1.2 演示实例

    1.4 项目目标

    本项目的最终目标是实现一个无源感知的智能家居实时身份识别追踪定位系统,使家居不

    但可以识别出家庭用户,做出相应的用户反馈,还可以利用 WIFI 无源感知技术实现室内定位,

    使得家居做出更加智能定点的应答。

    1.5 可行性分析

    1)无线信号的选择

    在无线信号中,有两类信号:RSS 信号与 CSI 信号,其中 RSS 信号是指客户端接受的无线

    信号强度,属于 MAC 层,来自于每个数据包,比如 WIFI 信号不满格就是指 RSS 信号不够强。

    RSS 的强度受到三个方面的影响:1.路径衰减;2.遮挡;3.多径效应。因此利用当前的 WIFI 设备获

    取的 RSS 信号不太精确。而 WIFICSI 信号是衡量信道情况的信道状态信息,属于物理层。CSI

    是细粒度的物理信息,对环境更加敏感。因此在本系统中我们选择采用 WIFICSI 信号来识别人

    类。

  • 第 3 页

    2)对 CSI 信号的解析

    原始的 CSI 信号中的标签数据杂乱,数据波动大,数据噪声大,并且存在大量无效数据影

    响机器学习的结果,因此在对数据进行机器学习之前,需要对 CSI 信号中的数据进行初步的解

    析处理,去掉噪声以及无用数据。基于此本组去除了无用的 RSS 信号和其余的 WIFI 信号,保

    留对数据有用的关键性数据,解析完成后将解析出的标签数据保存,作为机器学习的输入。并

    且在解析过程中以可视化的形式输出,可以动态的观察 CSI 信号的变化情况。

    3)深度学习算法的设计

    由于处理 CSI 信号识别人类这种工作方式来自于人脑视觉机理的类比学习,需要从原始输

    入开始向更高层不停的抽象迭代,并且 CSI 信号中含有大量的标签数据,需要深度地提取其数

    据的特征,充分挖掘 CSI 数据的内在属性和有价值的表征数据,然后组合低层次特征为高层抽

    象特征,并基于高层抽象特征进行分类,最终识别不同的人。因此需要选择能够处理大量数

    据,并且具有十分强的特征抽象能力的机器学习算法,首先,我们尝试利用 Intel-Caffe 提供的

    LeNet-5 实例来实现 CSI 数据的深度学习,经过初步实验,我们发现该模型只有处理 IMAGE

    的 LMDB 数据时能得到较好结果,不能很好地识别出 CSI 数据的特征,识别效果较差,于是项

    目组开展了对 Intel-Caffe 的改进。我们考虑 CSI 识别人物的特点—人类做动作的时候会有动作

    间隙,此时在 CSI 数据上的表现就是振幅波动平稳,我们将 CSI 振幅数据变换,放大,并挑选

    主要副载波,使数据能够更容易进行深度学习。我们紧接着修改 Intel-Caffe 的代码,增加了

    CNN+ResNet 深度残差网络模型,解决了退化问题,并且更深的网络在训练集和测试集上表现

    出了更小的错误率,使之能够更好的对 CSI 数据进行深度学习,准确率相对于 LeNet-5 的 40%

    上升到了 91%。

    首先对数据的 data 部分进行卷积操作(conv1),使用 relu 激活函数,然后全局最大池化

    (pool1),之后进行 3*7 层的 ResNet 残差网络训练,最后使用 softmaxWithloss,之后计算交

    叉熵(cross)和准确率(accurancy)并进行优化。

    4)作品形式确定

    在识别过程中,需要保存个体的 CSI 信息并通过机器学习算法训练出识别模型,因此,需

    要一种简明的形式来操控这一过程,经过反复研究论证,我们选择利用网站的形式将我们的系

    统进行可视化展示。在网站客户端,可以发出收集数据,训练模型,识别身份等命令。后台云

    服务器接收到命令后控制系统进行相应的操作。由此,我们可以通过网站以可视化的方法实现

    对复杂系统的封装。实现了分布式存储 CSI 数据,机器学习算法通过 MapReduce 与 spark 运

    行,训练出模型并保存,通过模型识别以及将展示识别结果等功能。

    硬件组成方面我们采用的是普通的 TP-LinkWIFI 路由器(如图 1.3)以及

    RaspberryPi3ModelB 开发板(如图 1.4)作为 WIFI-CSI 信号接收器,

    RaspberryPi3ModelB 开发板具有很强的移植性和可拓展性,应用到智能家居上非常简易方

    便。整套系统成本低廉,识别方便(采集的是常见的 WIFI 信号),操作简便,可无源感知,

    易于部署在家庭生活中。

  • 第 4 页

    图 1.3 TP-LINK 无线路由器图 1.4RaspberryPi3ModelB 开发板

    1.6 项目创新性分析:

    1)创新了旧有的智能家居获取人类需求的方式

    过去的智能家居,完全依赖于人类对智能家居的反馈,而智能家居对环境和人类行为的感

    知能力是十分有限的,而感知能力的大小通常受限于智能家居中传感

    器的数量。我们的项目采用的技术是采集环境中的 WIFICSI 信号,从而对环境情况进行分析,

    又因为 WIFICSI 信号信息的丰富性,智能家居可以从环境中的 WIFICSI 信号分析出人类的身

    份、行为包括家庭环境中的所有动态信息,从而能及时的应对家庭中所发生的事件。比如,人

    类进入家庭,智能家居能识别出人类的身份,如果是陌生人,及时报警。又或者,家庭的主人

    做出一些手势或动作,并入进入洗澡房,做出脱衣服的动作,智能家庭即可立即为主人放好洗

    澡水并调节好合适的水温。这些都是可以通过我们的技术实现的。

    2)创新性地将 WIFI 信号应用于人物身份识别

    过去,WIFI 信号覆盖我们生活的方方面面。但是却没有尝试过利用环境对 WIFICSI 信号的

    影响来分析周围环境的信息,更没有人尝试将其作为依据,识别出在目标环境区域中人物的身

    份。一旦基于无源感知的智能家居实时身份认证(身份识别)系统在智能家居中部署成熟,那

    么对于商场,医院等其它公共场所而言,其对环境监控,识别人物身份的特点将起到更大的作

    用。届时智能商场、智能医院等设施的诞生,不仅仅起到节约人力的作用,甚至还能具有更安

    全,更能及时应对环境的作用。而现今马云提出的无人超市屡受质疑,正是缺乏这样一套系

    统。

    3)创新性地将无源感知能力作为智能家居的重点

    现今存在的智能家居其痛点在于,仅仅将人与家居的交互由机械按键,电源

    开关转换成了指纹、虹膜系统或者手机 app 操作,用户花费大量的装修时间和金钱去打造的智

    能家居依然需要自己手把手的去操控,甚至多了按指纹,测虹膜等繁琐的操作。智能家居的提

    升应该着力于其本身的自我感知能力,再结合大数据分析和机器学习算法,将所感知到的信息

    分析处理,从而作出一系列反应,从而将人们从繁琐的家庭劳动中解放出来。以此为基础,才

    能优化人们的生活,协助提高生活决策的质量。

  • 第 5 页

    4)在 IntelCaffe 机器学习算法框架下设计了新的机器学习算法

    Caffe 是一款流行的开源深度学习框架,通过大量的数据样本训练,可以判

    断出智能家庭内人物的身份。由于处理 CSI 信号识别人类这种工作方式来自于人脑视觉机理的

    类比学习,需要从原始输入开始向更高层不停的抽象迭代,并且 CSI 信号中含有大量的标签数

    据,需要深度地提取其数据的特征,充分挖掘 CSI 数据的内在属性和有价值的表征数据,然后

    组合低层次特征为高层抽象特征,并基于高层抽象特征进行分类,最终识别不同的人。我们决

    定应用前馈卷积神经网络架构(CNN),并通过多层进一步抽象,模块化,速度快且表达简

    单。该框架不需要编写大量底层代码,配置好环境,只需在应用层的层面上对模型架构进行编

    写,改造。为了使我们算法的识别效率更高,我们在此基础上改进创新出新的深度学习识别算

    法 WiAU,并且通过验证该算法运行良好有效,识别速度快,训练出的模型应用稳定,识别效

    率很高可以到达 95%以上。

    1.7 项目组开发条件

    硬件环境:

    处理器 Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz

    内存容量 16.0GB

    显卡 NVIDIA GeForce GTX 1080 Ti

    硬盘 1、KINGSTON RBUSNS8280S3128GH1SO (128GB)

    2、ST2000DM006-2DM164 (2.0TB)

    主板 Z270-A PRO MS-7A71 (1.0)

    网卡 Realtek PCIe GBE Family Controller

    网络环境:100M LAN

    开发语言:Python 3.7,JavaScript,Java

    术语和缩略语

    [1] Wifi:Wi-Fi 是一种允许电子设备连接到一个无线局域网(WLAN)的技术,通常使用

    2.4GUHF 或 5GSHFISM 射频频段。连接到无线局域网通常是有密码保护的;但也可是开放

    的,这样就允许任何在 WLAN 范围内的设备可以连接上。

    [2] WifiCSI:衡量信道情况的信道状态信息(ChannelStateInformation),属于 PHY 层,来自

    OFDM 系统下解码的子载波。CSI 是细粒度的物理信息,对环境更加敏感,所以应用于动作识

    别,手势识别,击键识别,跟踪等领域。

    [3] WifiRSS:是指客户端接收的无线信号强度(ReceivedSignalStrength),属于 MAC 层,

    来自每个数据包。比如手机上,我们经常会看到 Wi-Fi 信号不满格,一般认为信号不好。我个

    人理解就是指 RSS 不够强。

    [4] CNN:是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对

    于大型图像处理有出色表现。包括卷积层(convolutionallayer)和池化层(poolinglayer)。

    [5] ResNet:深度残差网络,是 2015 年提出的深度卷积网络,一经出世,便在 ImageNet 中

  • 第 6 页

    斩获图像分类、检测、定位三项的冠军。ResNet 的结构可以极快地加速超深神经网络的训练,

    模型的准确率也有非常大的提升。

    [6] Android:Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设

    备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。

  • 第 7 页

    二、高层程序设计2.1 系统全局架构

    图 2.1 系统架构

    图 2.1 为云服务器识别系统的架构设计图。图中主要包含 4 个模块:数据采集模块、CSI

    池、数据预处理模块和识别/认证模块。

    数据采集模块:使用普通路由器和配备 Intel5300 网卡的 PC 机进行数据采集,网卡解析出

    WIFI 信号的 CSI 信息并存储到 CSI 池中。

    CSI 池:主要用于存储用户、动作等 CSI 信息,为后续深度学习过程中数据训练、验证、测

    试过程提供数据来源。

    数据预处理模块:对 CSI 数据进行低通滤波降噪,强化动作对 CSI 的影响,削弱环境噪声

    的扰动,对信号进行精确分割,提取特征数据。该模块可以有效提纯活动数据、步态数据或其

    他连续 CSI 数据,并对数据流片段进行标注,最后将数据转换为符合 CNN+ResNet 算法要求

    的输入形式。

    2.2 数据流图

  • 第 8 页

    2.3 系统数据库设计

    2.3.1 逻辑结构设计要点

    本系统主要使用 mysql 数据库保存数据,用户 csi 数据与用户偏好设置以文件形式保存在

    系统中,系统主要数据表如下所示:

    1. 家庭成员信息,包括的数据项有:姓名,角色,ID,性别,口令,权限级别,电话号

    码,进入次数,成员所对应的 WIFICSI 数据。

    2. 陌生人信息,包括的数据项有:ID,入侵次数,口令,权限级别,成员所对应的 WiFi

    CSI 数据。

    3. 家居表,包括的数据项有:家居 id,家居名

    4. 识别模型,包括的数据项有:模型编号,训练日期,训练集,验证集,测试集。

    5. 历史入侵记录,包括的数据项有:记录 ID,记录时间,检测人物 ID,总次数。

    5.家电使用习惯信息,包括的数据项有:常使用人员,人员权限,人员使用风格,人员使用

    频率。

    2.3.2.物理结构设计要点

    A)用户表

    字段名 字段含义 类型 长度 允许为空 主键

    UserId 用户 id varchar 20 否 是

    Username 用户名 Varchar 20 否 否

    Password 密码 Varchar 20 否 否

  • 第 9 页

    Path 用户 csi 数据存储路径 Varchar 50 否 否

    Sex 性别 Char 2 是 否

    Age 年龄 Int 3 是 否

    E-mail 邮箱 Varchar 30 是 否

    Phone 联系电话 Varchar 13 是 否

    B) 家居表

    字段名 字段含义 类型 长度 允许为空 主键

    HfId 家居 id varchar 20 否 是

    Hfname 家居名 Varchar 20 否 否

    C)用户-家居表

    字段名 字段含义 类型 长度 允许为空 主键

    HfId 家居 id varchar 20 否 是

    UserId 家居所属用户 id Varchar 20 否 是

    Perference 偏好设置文件路径 Varchar 50 是 否

    D)陌生人表

    字段名 字段含义 类型 长度 允许为空 主键

    UserId 用户 id varchar 20 否 是

    Number 次数 Int 2 是 否

    Demand 口令 Varchar 30 是 否

    Permission 权限级别 Int 3 是 否

    Path 用户 csi 数据存储路径 Varchar 50 否 否

    E)识别模型表

    字段名 字段含义 类型 长度 允许为空 主键

    Number 模型编号 Int 20 否 是

    Date 训练日期 Varchar 20 否 否

    Train 训练集 Varchar 20 否 否

    Validate 验证集 Varchar 50 否 否

    Test 测试集 Varchar 50 是 否

    F)历史入侵记录表

    字段名 字段含义 类型 长度 允许为空 主键

    Userld 常使用人员 Varchar 20 否 是

    Permission 人员权限 Varchar 20 否 否

  • 第 10 页

    Style 人员使用风格 Varchar 20 否 否

    Frequency 人员使用频率 Int 10 否 否

    G)家电使用习惯信息表

    字段名 字段含义 类型 长度 允许为空 主键

    Recordld 记录 ID Int 20 否 是

    Date 记录时间 Varchar 20 否 否

    Person 检测人物 Varchar 20 否 否

    Perld ID Int 20 否 否

    Number 总次数 Int 20 是 否

    根据上面所规划的实体,我们对各个实体具体的 E-R 图描述如下:

    图 2.3.1 家庭成员信息 E-R 图

    图 2.3.2 陌生人信息 E-R 图

  • 第 11 页

    图 2.3.3 识别模型 E-R 图

    图 2.3.4 历史入侵记录 E-R 图

    图 2.3.5 家电使用 E-R 图

    图 2.3.6 用户与家居关系模型 E-R 图

    根据上述设计的 E-R 图,我们在服务器端搭载数据库,存储系统在运行过程中所产生

    的一系列数据,本数据库是保证系统正常工作的关键。

  • 第 12 页

    2.4 作品目标实现形式

    1)设备部分:

    设备部分包含发射设备和接受设备两部分,两设备均搭载支持 IEEE802.11n 协议标准的无

    线网卡,其中,接收设备的网卡用于获取无线网络信道状态信息。系统运行过程中,发射设备

    向接收设备发送数据报,接收设备获取通信过程中产生的 CSI 数据,并通过以太网网口接入

    Internet 上传至服务器进行处理。

    2)应用部分:

    首先系统采集空环境下的 WiFiCSI 数据,之后要求用户在数据采集环境中进行训练 5 个小

    时左右,使系统采集足够的数据进行学习。训练完成后,用户再次进入,系统运行识别程序,

    若用户在系统数据库中,系统将赋予用户权限,并检测用户行为;若用户不在系统数据库中,

    系统将发出入侵警报。

    终端应用:本项目应用无线 WiFiCSI 获取和解析技术,根据人体对 WiFi 信号的干扰程

    度的不同从而从中提取出有价值的数据,使用 IntelCaffe 的前馈卷积神经网络架构(CNN)

    和自主搭建的基于 IntelCaffe 的残差网路架构(ResNet)进行普适计算,从来实现高精度

    的人类身份识别,为传统的人物识别方法提供新的方法和设计思路,通过前期成员样本学

    习得到身份识别模型,通过识别模型识别家庭人员身份,依据所识别的人员信息,

    移动端应用:手机 APP 端通过 WiFi 发送对应人员的命令信号给特定的智能家居,从而

    实现智能家居自动化智能控制。同时将信息记录入服务器,可通过手机 APP 查看历史后台

    统计信息,给使用者做进一步的了解与参考。

    网页端应用:在网页终端设备上,我们只保留主要功能,用户通过登陆账号即可借助终

    端机器上的身份识别系统进行人员认证和家居管理。

  • 第 13 页

    图 2.4 软件主功能使用流程图

    三、技术实现本项目的总体技术路线为:

  • 第 14 页

    3.1 CSI 信号的解析降噪

    1)CSI 信号简介:

    随着无线网络的普及和正交频分复用技术的进步,在 802.11/g/n 标准下,通道响应

    可以从商用 Wi-Fi 设备中提取出来 CSI,它揭示了一个通道测量描绘每一副载波的振幅和

    相位。CSI 作为物理层信息,包含了诸多介质访问控制(MediumAccessControl,MAC)层不可

    见的信道信息。一方面,CSI 可从一个数据包中同时测量多个子载波的频率响应,而非全部子载

    波叠加的总体幅度响应,从而更加精细地刻画频率选择性信道。CSI 既可测量每个子载波的幅

    度,还可测量每个子载波的相位信息。CSI 将单值的 RSSI 扩展至频域,并且附加了相位信息,

    从频域上为无线感知提供了更为丰富、细粒度的信道状态信息。由于 CIR 与 CFR 互为傅里叶变

    换,CSI 使得普通 Wi-Fi 设备在一定程度上能够从时域上粗略地区分传播路径,从而提供了更准

    确的视距能量估计值。

    2)CSI 信号的处理:

    CSI 分割算法:分析人类行为对于 WIFICSI 的影响,首先需要分离出人类的单个动作对于

    每条副载波流上振幅数据的影响。

    人类做动作的时候会有动作间隙,此时在 CSI 数据上的表现就是振幅波动平稳,根据这一

    特性,我们可以分离出人类动作间隙的数据,也就达到了分离人类单个动作的目的。具体分为

    这些部分:

    A) 数据变换

    为了放大人体动作对于 CSI 数据的影响,我们需要将 CSI 振幅数据变换和放大,而后从变

    换后的数据中可以更容易地读取相关动作影响的数据。

    B) CSI 自动分割

    我们利用动作间隙,CSI 振幅数据波形平稳的特点,将整个 CSI 振幅数据密度最大,振幅

    最平稳的部分识别出来,而剩余部分就是我们要的单个动作数据。我们就此抽象出一个优化问

    题,通过逐步增大动态阈值的方法,当相应数据达到约束条件时,我们就自动识别出了每条 CSI

    副载波的动作间隙数据。

    C) 挑选主要副载波

    为减小计算量,消除坏数据影响,并获得精确的动作间隙数据,我们需要寻找受人类影响

    的主要副载波。我们运用 SVD 分解出矩阵奇异值,计算每条副载波的特征值能量,选取能量和

    大于总能量 50%的 CSI 副载波,将他们作为主要副载波。

    D) 数据整合

    对于每条副载波,由于多径效应影响,捕捉到动作的时间会有些许差异。但是这些差异较

    小,我们只要能找到一个大的并集,包含主要副载波检测到动作时的数据,那么这个集合就能

    精确包含每个独立动作发生的时间数据。因此,我们对所有挑选出来的主要副载波进行自动分

    割,并取每条副载波检测到动作发生时间的合集作为每个动作的准确发生时间。最后,截取此

    时间段内的所有数据,其余数据变成零,并将所有数据流用零补齐为等长的序列,制作成稀疏

    矩阵作为 deeplearning 算法的输入。

  • 第 15 页

    3.2 基于 IntelCaffe 的 CNN+ResNet 相结合的高精度认证方法

    算法设计详情:

    由于处理 CSI 信号识别人类这种工作方式来自于人脑视觉机理的类比学习,需要从原始输

    入开始向更高层不停的抽象迭代,并且 CSI 信号中含有大量的标签数据,需要深度地提取其数

    据的特征,充分挖掘 CSI 数据的内在属性和有价值的表征数据,然后组合低层次特征为高层抽

    象特征,并基于高层抽象特征进行分类,最终识别不同的人。因此需要选择能够处理大量数

    据,并且具有十分强的特征抽象能力的机器学习算法。图 4 阐述了机器学习核心算法部分的设

    计。主要包括深度学习模块,全局平均池化(Globalaveragepooling),Softmax 分类器和

    Loss 函数,识别结果可用于诸如身份识别、动作识别、入侵监测等,且识别结果具有迁移学习

    能力,可适应开放环境动态变化和噪声等。

    图 3.2 深度学习认证识别算法设计

    深度学习模块:本文处理的 CSI 数据有维度多、层次深、环境敏感的特点。简单堆叠神经

    网络层来抽取相应特征,收敛慢,不易训练,容易过拟合,且在卷积层和全连接层中容易丢失

    信息和特征。因此我们选择使用 CNN+ResNet 相结合的方法,CNN 能够降采样,整理输入数

    据,ResNet 能够完整抽取动作数据深层次特征,避免信息丢失,两者相结合能够很好地完成

    CSI 特征提取和自动分类。

    全局平均池化(Globalaveragepooling):传统深度学习算法中,利用全连接层连接算法

    抽取出来的特征数据,这样做容易导致过拟合和参数丢失的情况。本系统采用全局平均池化代

    替全连接层,能够均匀接收并保留抽取出的所有特征信息,并且输出维度为所需分类数,为后

    续的分类带来便利的同时,也提高了分类精度。

    之后是算法详细流程介绍首先是预处理操作:

    我们基于两个发现:

    1. 动作引起的变化幅度大于间隔引起的变化幅度。2. 动作会被所有副载波几乎同时感应到。

    我们定义一个动态阈值来分割数据流 Yi�� � th � ��� h� � 熀� 㤰 �蜨 � � � h � h� � � � ��, (2)

    where � � ��� � max 熀��蜨㤰min 熀��蜨�

    ��� h� � min 熀��蜨 .接下来,当我们选取的值满足以下条件时,我们就找到了动态阈值:

    ���� � �����熀��蜨 � �熀��蜨

    (3)

  • 第 16 页

    然后,我们利用 SVD寻找起主导作用的副载波:� : �� � ��� �熀l蜨 � r ��� ∀l � ��� r � ��, (4)

    � � �熀� � 熀��蜨蜨 , (5)熀��蜨� � � � 熀��蜨� (6)

    在进行完这些操作之后,我们要将上述操作整合,以寻找到动作对于所有副载波的影响,

    于是我们进一一步交集操作:

    � � ������� ��� � ∀�� � �� (7)��熀M蜨 � g� ∀M � �. (8)

    残差网络:

    我们利用残差网络具有的收敛快、可提取深层次特征的优点,利用其进行特征提取和分类

    操作,首先是网络结构,其包含一层 CNN结构和 18 层 ResNet结构:

    首先是对 CSI 数据流进行 CNN操作,对于输入进行整理以方便接下来操作和特征初步提取,然后进入 ResNet层进行深层次特征提取:

    � � Res 熀�蜨 � � � ���� (9)Softmax 分类器:作为 deep learning 算法常用的分类器之一,可保证可靠性和稳

    定性。可以精确计算每种分类的概率大小,并据此输出预测标签。具体表达式为:

    (x)i

    j

    x

    i x

    j

    esoftmaxe

    其中 ixe 为所求分类概率值, jxje 为全部分类数概率值总和。

    Loss 函数:用于比较预测 label 数据和真实 label 之间的差距,通过最小化

    loss 可以使得网络适应输入数据。本项目使用 loss 函数重点解决的两个问题:

    (1)识别并分类动作、人物;(2)识别非法人员。我们设计出两个相应的 Loss 函

    数:

    (1)1

    ˆLoss1=- log(y )k

    m mmy

    (2)1

    ˆˆLoss2= max(0,f(y ) )k

    mm m

    m

    yyp k

    其中 ˆmy 为预测标签数据, ym为真实标签数据,f为变换标签的函数(将非法和合法人员分为两类), 为 Loss2 正则系数,p为非法人员比例,k为分类总数。

    基于双 Loss 函数的分类算法: 如果 p=0 时,此时表明没有非法人员,我们选

    择 Loss1 作为 loss 函数,可以实现多分类操作,即实现人物识别或手势识别;如果

    p≠0,则此时存在非法人员,我们首先选择 Loss1 实现多分类操作,其次利用

    loss2 进行二分类操作,分辨用户合法性。

    2.对 IntelCaffe 的增强扩展:

    1)支持 CSI 数据和 CNN+Resnet 模型

    首先,我们尝试利用 Intel-Caffe 提供的 LeNet-5 实例来实现 CSI 数据的深度学习,经过

  • 第 17 页

    初步实验,我们发现该模型只有处理 IMAGE 的 LMDB 数据时能得到较好结果,不能很好地识

    别出 CSI 数据的特征,识别效果较差,于是项目组开展了对 Intel-Caffe 的改进。我们考虑

    CSI 识别人物的特点—人类做动作的时候会有动作间隙,此时在 CSI 数据上的表现就是振幅波

    动平稳,我们将 CSI 振幅数据变换,放大,并挑选主要副载波,使数据能够更容易进行深度学

    习。我们紧接着修改 Intel-Caffe 的代码,增加了 CNN+ResNet 深度卷积残差网络模型

    (WiAu 算法模型),解决了退化问题,并且更深的网络在训练集和测试集上表现出了更小的

    错误率,使之能够更好的对 CSI 数据进行深度学习,准确率相对于 LeNet-5 的 40%上升到了

    95%。

    首先对数据的 data 部分进行卷积操作(conv1),使用 relu 激活函数,然后全局最大池化

    (pool1),之后进行 3*7 层的 ResNet 残差网络训练,最后使用 softmaxWithloss,之后计算

    交叉熵(cross)和准确率(accurancy)并进行优化。

    3.训练模型及效果

    如下图所示为 WiAU 算法测试的结果,图 10 是图 9 的图形化表示,由图 10 可以明显看

    出,随着为 WiAU 算法的训练,训练结果的识别率由一开始不高的 0.6 向上增长,最后增长到

    接近 98%。这样的高准确率的算法为 WIFICSI 识别理论提供了重要且坚固的应用支撑,是将

    CSI 识别由理论转向应用的关键。没有这样一个高效准确的算法,WIFICSI 身份识别终究只能是

    理论!

    图 3.2.2 WiAU 识别结果

    4. 录取说明

    我们发现我们的算法在无源感知领域和普适计算上具有良好的先进行和创新性,所以我们

    将应用 Intel Caffe 的深度学习算法——WiAu 整理下来并发表论文 :

    WiAU: An Accurate Devive-free Authentication System with ResNet

    并已经在 5 月份被分布式计算级会议(Secon)录取,并在 4 月 28 日收到论文的录取通

    知;通过 Intel caffe 的深度学习框架,我们自主开发的 CNN+ResNet 模型准确度达到了

    95%,经测试效果良好:

  • 第 18 页

    图 3.2.4 论文标题及摘要

    图 3.2.4 论文录取说明

  • 第 19 页

    图 3.2.5.WiAU 识别结果表示图

  • 第 20 页

    3.3 对 intel-caffe 的合理增强

    1)支持 CSI 数据和 CNN+ResNet 深度残差网络模型

    首先,项目组尝试利用 Intel-Caffe 提供的 LeNet-5 实例来实现 CSI 数据的深度学习,经

    过初步实验,我们发现该模型只有处理 IMAGE 的 LMDB 数据时能得到较好结果,不能很好地

    识别出 CSI 数据的特征,识别效果较差,于是项目组开展了对 Intel-Caffe 的改进。我们考虑

    CSI 识别人物的特点—人类做动作的时候会有动作间隙,此时在 CSI 数据上的表现就是振幅波

    动平稳,我们将 CSI 振幅数据变换,放大,并挑选主要副载波,使数据能够更容易进行深度学

    习。我们紧接着修改 Intel-Caffe 的代码,增加了 CNN+ResNet 深度残差网络模型,解决了退

    化问题,并且更深的网络在训练集和测试集上表现出了更小的错误率,使之能够更好的对 CSI

    数据进行深度学习。

    2)利用 python 将 csi 数据转换为 lmdb 数据文件

    利用 numpy 与 pickle、math 模块,将原始 CSI 数据低通滤波降噪,变换、放大 CSI 振幅

    数据,并用 SVD 分解出矩阵奇异值,挑选主要副载波,并将其转换为可以直接供 intel-caffe 使

    用的 lmdb 格式文件,同时提供 python 接口,可以直接调用接口函数将 csi 数据转换为经过优

    化的 lmdb 文件。

  • 第 21 页

    3.4 网站后端控制系统

    网站客户端我们使用了 Azure 的虚拟机技术,我们将网站架设到 Azure 服务器上,将网站

    得以上线,远端网站访问地址:52.231.188.63:8080/Wifi/,本地服务器地址为:

    localhost:8080/Wifi/

    图 3.4.1 网站截图身份登记界面

    在此界面时,填写人物 ID,NAME,DUTY 等信息,同时人物站在 wifi 接收模块附近,点

    击 submit,则接收模块开始接受人物 wifi-csi 数据信息并将其上传到服务器上,约 15s 后,点

    击 over,服务器停止接受 wifi-csi 数据。此时人物信息以及 csi 数据都已经储存到服务器的数

    据库以及 csi 文件库中。

    图 3.4.2 服务器识别过程

    图 3.4.3 服务器后台存储人员信息

  • 第 22 页

    图 3.4.4 网站截图算法控制界面

    所有人物信息都已注册完成后,点击开始训练下方的 Train 按钮,此时服务器开始运行

    机器学习的训练模块(初次训练需要较长时间),此时可以随时点击训练是否完成下方的

    Testing 按钮查看训练情况。训练完成后,人物走到 wifi 接收模块附近,此时 wifi 模块将人物

    csi 信号发送给服务器,服务器开始运行识别脚本。识别完成后与数据库中人物信息进行比对,

    若数据库中存在人物信息,则显示人物名称并开始运行智能家居,若无法在数据库中找到该人

    物信息,则弹出提示信息,同时拒绝运行智能家居。

    图 3.4.5 网站监测到人员进入截图

    图 3.4.6 网站人物识别结果截图

  • 第 23 页

    在数据采集和用户识别过程中,用户填入人物数据,点击按钮 submit 后,网站向服务器发

    送“开始收集 CSI 信号”的消息,同时将人物信息写入数据库中.用户点击 over 按钮后,网站

    向服务器发送“停止收集 CSI 信号”的消息。当用户采集完所有人物数据后,点击 Train 按

    钮,网站就向服务器发送“开始模型训练”的信号。用户点击 Testing 按钮的时候,网站就向

    服务器询问训练是否完成,并将服务器返回结果输出在网页上。训练完成后,网站每秒向服务

    器询问是否有人物出现,若无,网站保持原样,若有人物出现,网站出现红色提示字体,表示

    有人物出现,同时不停向服务器询问人物 CSI 特征,当服务器对该人物的数据利用之前训练完

    成的数据进行机器学习后,返回给网站该人物特征值,网站在数据库中查询该特征值并将任务

    详细信息输出。

    图 3.4.7 网站客户端功能设计图

    3.5 手机 app 作品设计

    (1) (2) (3)

  • 第 24 页

    (4) (5) (6)

    (1)初始界面:用户在进入应用后进入初始界面,等待两秒后进入登录/注册界面(2)登录界面:用户登录或注册(3)添加成员:添加家庭成员,训练、测试并显示数据库中添加成员的信息(4)已有成员:查看已经添加的成员,并在相应的成员上进行相应的家电偏好控制(5)家电管理:查看智能家居所支持的电器设备,并可以再相应设备上进行偏好设置(6)信息统计:可以表格形式、条形、扇形、折线统计图的方式查看一年四季的家电使用数据和个人的偏好统计。

    3.6 项目层次结构

    本项目采用 MVC 三层架构。

    其中 APP 应用与网页均为 View 层,通过 http 连接与 Controler 层云服务器中央控制服务

    交换信息,而 wifi 接收模块与机器学习模块均为 Model 层。

    当人物通过网页或者 app 注册时,view 层将数据发送给云中央控制服务器,与此同时 wifi

    接收模块也开始将人物 csi 信息上传到云中央控制服务器。服务器将该数据存储到数据库中。

    当网页或者 app 发送训练信息时,服务器调用机器学习模块对之前所收集到的数据进行模

    型训练,等模型训练成功后,服务器向 app 或网页发送训练成果信息。人物走到接收模块附

    近,接收模块将人物 csi 数据发送到服务器,服务器调用机器学习模块进行人物识别,并将识别

    结果与数据库中信息进行比对,最后将人物信息发送到网页或 app 上显示,同时根据识别出的

    人物向 wifi 接收模块发送控制命令,自动操纵智能家居的运行。

    四、团队分工4.1 工作安排

    本团队人员在本项目的人员分工为:

    队员 1 负责网站和安卓程序的搭建和设计

    队员 2 负责部分算法的设计与优化

    队员 3 负责整体系统架构的搭建以及部分算法的设计和实现

    队员 4 负责系统细节的具体实现以及算法的优化和改进

    团队成员共同研究机器学习算法以及 WIFICSI 数据解析算法

  • 第 25 页

    4.2 项目时间进度表与重要里程碑:

    项目重要里程碑 预计完成日期

    系统前景分析及市场调查 2017-10-1

    系统项目计划书完成 2017-11-8

    设计阶段 2018-11-20

    开发阶段 2018-12-23

    测试阶段 2018-1-14

    迭代开发 2018-2-24

  • 第 26 页

    五、参考资料及代码统计5.1 参考资料

    [1] L. Sun, S. Sen, D. Koutsonikolas, and K.-H. Kim, “Widraw: Enabling hands-free drawing in the air on commodity wifi devices,”in Proceed- ings of the 21st Annual International Conference on Mobile Computing and Networking (MOBICOM). ACM,2015, pp. 77–89.

    [2] Q. Zhang and H. Yan, “Fingerprint classification based on extraction and analysis of singularities and pseudo ridges,”Pattern Recognition, vol. 37, no. 11, pp. 2233–2243, 2004.

    [3] A. Primo, V. V. Phoha, R. Kumar, and A. Serwadda, “Context-aware active authentication using smartphone accelerometermeasurements,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW).IEEE, 2014, pp. 98–105.

    [4] Y. Sun, Y.Chen, X. Wang, and X. Tang, “Deep learning face rep- resentation by joint identification-verification,” in Advances inNeural Information Processing Systems (NIPS). MIT Press, 2014, pp. 1988– 1996.

    [5] Q. Pu, S. Gupta, S. Gollakota, and S. Patel, “Whole-home gesture recognition using wireless signals,” in Proceedings of the 19thAnnual International Conference on Mobile Computing and Networking (MO- BICOM). ACM, 2013, pp. 27–38.

    [6] Y.Wang, J. Liu, Y.Chen, M. Gruteser, J. Yang, and H. Liu, “E-eyes: device-free location-oriented activity identification usingfine-grained wifi signatures,” in International Conference on Mobile Computing and Networking (MOBICOM). ACM,2014, pp. 617–628.

    [7] K. Ali, A. X. Liu, W.Wang, and M. Shahzad, “Recognizing keystrokes using wifi devices,” Journal on Selected Areas inCommunications, vol. 35, no. 5, pp. 1175–1190, 2017.

    [8] W.Wang, A. X. Liu, and M. Shahzad, “Gait recognition using wifi signals,” in Proceedings of the 2016 ACM International JointConference on Pervasive and Ubiquitous Computing (UbiComp). ACM, 2016, pp. 363–373.

    [9] C. Shi, J. Liu, H. Liu, and Y.Chen, “Smart user authentication through actuation of daily activities leveraging wifi-enabled iot,”in Proceedings of the 18th ACM International Symposium on Mobile Ad Hoc Network- ing and Computing (MobiHoc).ACM, 2017, pp. 1–10.

    [10] T. Xin, B. Guo, Z. Wang, M. Li, Z. Yu, and X. Zhou, “Freesense: Indoor human identification with wi-fi signals,” in GlobalCommunications Conference (Globecom). IEEE, 2016, pp. 1–7.

    [11] W. Wang, A. X. Liu, M. Shahzad, K. Ling, and S. Lu, “Understanding and modeling of wifi signal based human activityrecognition,” in Proceedings of the 21st Annual International Conference on Mobile Computing and Networking (MOBICOM).ACM, 2015, pp. 65–76.

    [12] Y.Zeng, P.H. Pathak, and P.Mohapatra, “Wiwho: wifi-based person identification in smart spaces,” in International Conferenceon Informa- tion Processing in Sensor Networks (IPSN). ACM, 2016, pp. 1–12.

  • 第 27 页

    5.2 代码统计

    语言 Java python C++

    原创的代码(不包 含 注 释 不 包 含 第 三方库) 3514 681

    第 三 方 库 的 代 码 行 数(不含注释) 17683 4517 483

    一、软件需求分析1.1项目需求调查1.1.1项目背景:选题的动机和目的一、项目分析1.1项目背景:选题目的和动机1.2项目需求调查1.3应用场景

    1.4项目目标1.5可行性分析1.3项目创新性分析1.4.2 项目组开发条件1.7项目组开发条件

    术语和缩略语二、高层程序设计2.1系统全局架构

    二、高层程序设计2.1系统全局架构2.2数据流图2.3系统数据库设计2.3.1逻辑结构设计要点2.3.2. 物理结构设计要点

    2.3系统数据库设计2.3.1逻辑结构设计要点2.3.2.物理结构设计要点2.4作品目标实现形式

    2.4作品目标实现形式三、技术实现

    三、技术实现3.1人脸表情识别3.1CSI信号的解析降噪3.2手语视频识别

    3.2基于IntelCaffe的CNN+ResNet相结合的高精度认证方法1)支持CSI数据和CNN+Resnet模型3.3 情绪化语音

    3.4网站后端控制系统3.4 语音转手语

    3.5手机app作品设计四、团队分工4.1工作安排3.6项目层次结构

    四、团队分工4.1工作安排4.2 项目时间进度表与重要里程碑:五、引用说明及代码统计

    4.2项目时间进度表与重要里程碑:5.1 引用说明

    五、参考资料及代码统计5.1参考资料5.2 代码统计