毕业设计类全套文件的下载平台

基于卷积神经网络的人体行为识别的开发与设计

  • 上传者:诸葛月月
  • 文件大小:1887 (KB)
  • 文档格式:.doc

文档分类: 计算机与科学

< / 30 >

还剩... 页未读,继续阅读

免费阅读已结束,点击付费阅读剩下 ...

阅读已结束,您可以下载文档离线阅读

关于本文

  • 本文标题:基于卷积神经网络的人体行为识别的开发与设计.doc
  • 链接地址:https://wk.sbvv.cn/view/20124.html
  • 内容摘要:摘要 基于卷积神经网络的人体行为识别的开发与设计 摘要,随着计算机领域不断的创新其它行业对计算机的应用需求的提高以及社会对解放劳动力的迫切,人机交互成为人们关注的问题。深度学习的出现帮助了人们实现人机交互,而卷积神经网络是其的代表算法的一种,被普遍应用在计算机视觉领域实现图片识别。人体行为识别是指将一系列数据喂入训练好的神经网络,计算机对数据进行特征提取然后识别分类,其中数据包括视频图片序列或者传感器数据等。 本文采用的网络结构包括4层卷积层1层全连接层1层最大池化层1层平均池化层,使用了一维卷积Relu激活函数Softmax和Dropout技术。 采用的数据集为WISDM实验室的发布的第一版数据集,参与测试的人数共36人,使用加速度传感器,采样率为20HZ,数据集包含的行为类型共6种,Dowtai下楼梯Jogging慢跑Sitting坐Standing站立Upstai上楼梯和Wallking走路。 本文的篇首分析了研究人体行为识别的背景和研究意义,介绍国内和国外的研究现状。接着详细介绍ANN相关的知识,及两个简单且具有代表性的网络结构。然后阐述CNN的相关理论知识其中包括传统的卷积神经网络结构,再重点介绍用于本文的CNN神经网络模型结构,以及如何用本文的设计的网络模型在WISDM数据集上实现行为识别。 最后对模型的性能进行分析,得到结论与提出建议,规划展望。 关键词,卷积神经网络人体行为识别 Developmentanddesignofhumanbehaviorrecognitionbasedonconvolutionalneuralnetwork Abstract,Keywords,第1章绪论 1 1。1研究背景和意义 1 1。1。1研究人体行为识别的目的 1 1。1。2本课题的研究意义 1 1。2国内外研究现状 2 1。2。1国内研究 2 1。2。2国外研究 2 1。3课题研究方法和内容 3 1。3。1研究方法 3 1。3。2研究内容 3 第2章人工神经网络 4 2。1人工神经元 4 2。1。1生物神经元 4 2。1。2神经元 4 2。1。3激活函数 5 2。1。4损失函数 8 2。2感知器神经网络 8 2。3BP神经网络 9 第3章卷积神经网络相关理论知识 11 3。1前馈神经网络 11 3。2卷积神经网络 12 3。2。1卷积层 12 3。2。2池化层 12 3。2。3全连接层 13 3。3传统网络结构 13 第4章基于卷积网络的人体行为识别系统的实现 15 4。1处理数据集 15 4。24。2处理训练集数据 17 4。3构建神经网络模型 18 第5章测试与分析 20 5。1编译模型 20 5。2实验结果 20 5。2。1模型准确率和损失 20 5。2。2模型识别的正确率 21 5。2。3混淆矩阵 22 总结与展望 23 参考文献 24 致谢 26 绪论 研究背景和意义 研究人体行为识别的目的 根据深圳市最新出台的管理条例我们可以了解到,今年深圳市内公共场合将分布多大200万台的各类摄像头。其中,包括10万多台一类摄像头以及190多万台二三类摄像头。如此庞大的数量,再乘上每天24小时,可以想象监控人员的工作量之大,而人体识别系统的出现可以很好的解决为这一问题从而释放劳动力。计算机通过应用此系统从海量的监控视频中对人的行为进行识别分类,并在其中提取出异常的行为,及时报警,系统将解放监控人员的劳动力,以及为维护社会提供安全和稳定的服务。 人体行为识别可以简单的分为特征提取特征表示和识别分类[1]三个部分。特征提取是指从视频或图片序列中提取人工特征,如STIP(时空兴趣点)[2],BOVW(视觉词袋,HOG(方向梯度直方图),和MHI(运动历史图像)[]等。将提取的特征构更具区分性的描述子特征一些变换和聚类等技术,如FTT(傅里叶时态变换)[10]和K均值聚类[]等。,使用SVM,Adaboost分类器对描述子特征进行分类识别。 国内研究 人体行为识别在中国的研究开展地较晚但是经过与日俱增的发展取得了关键性的研究。隶属于中国科学院自动化所的CBSR(生物识别与安全技术研究中心)和微软亚洲研究院(MAR)都是较早在中国投入运营的研究所,较早研究人体行为识别的中国本土大学有,清华大学北京大学和浙江大学。王喜昌等人设计一种基于三维加速度传感器的上肢动作识别系统[13],具有理想的识别准确率。田国会等人利用Kinect体感设备获取人体的关节数据[14],较好的解决识别问题,取得较为理想的结果。衡霞 国外研究 国外大学和研究机构较对人体行为识别的研究开展的比较早,1973年心理学家Johaon通过二维模型研究三维的人体运动感知开展了移动光斑的运动感知实验[16]。其实验表明,人体上光斑的数量和分布与运动感知有关。特别是,发现随着光点数量的增加,运动理解中的模糊性减少了[17]。实验还表明人类视觉即能够检测运动方向还能够检测不同类型的肢体运动模式,包括识别活动的速度和不同运动模式[18]。1977年,D。Marr基于计算机科学,结合数学心理物理学和神经生理学提出了视觉计算理论[1920]。D。Marr的视觉计算理论创建后,计算机视觉研究的进程得到突飞猛进的提高,研究机构如雨后春笋般开始致力于人体运动分析。美国在1997年设立了以战场为主要应用领域的VSAM项目(视觉监控项目)。随后IVPL实验室(图像和视频处理实验室)AIRVL实验室(人工智能机器人与视觉实验室)和LPAC实验室(感知,行动与认知实验室)相继开展了人体行为识别的研究。英国雷丁大学先后推出两个项目来参与人体行为识别的研究,REASON(监视和了解公共场所人员项目)和ISCAPs(治安密集地区综合监视项目)。 课题研究方法和内容 研究方法 本文在撰写的过程中主要运用了如下两种方法进行研究, 文献研究法根据,查阅文献获得相关资料,全面正确地了解,。 研究内容 本文共有6章来循序渐进地阐述人体行为识别这个课题,具体内容的结构和安排如下, 第1章。以论题的背景与研究目的为中心展开进行说明,分析并阐述人体行为识别的实现对社会有怎样的意义。同时,收集大量人体识别的相关文献资料并进行综述,介绍国内外研究现况。 第2章。分别从ANN的结构常用的激活函数来介绍ANN的相关理论知识。然后介绍再介绍基础的感知器神经网络,以此扩展对ANN的了解。 第3章。在上一章节的基础上过渡讲述CNN相关理论知识。首先介绍前馈神经网络,其次介绍包括卷积层池化层全连接层在内的卷积网络的结构构成以Lenet5为例子加深理解。 第4章。详细说明处理数据集以及搭建训练神经网络,包括代码和结果展示。 第56章。首先编译上文所构建的神经网络并分析结果,然后根据前文内容进行总结,同时规划展望。 人工神经网络 ANN是一种由许多的神经元之间联接而构成的计算模型,它将生物神经元处理信息的过程进行抽象建立模型,不一样的联接方式组成的网络也不同。 人工神经元 生物神经元 深度学习实际就是模拟生物神经元接收处理信息的过程。一个完整的生物神经元的可以分为细胞体和突起,其中突起又包括树突和轴突两种,轴突末端呈树状且没有细胞核的为神经末梢。一个完整的生物神经元的结构如图21所示, 图21生物神经元结构示意图 树突,电信号从这些交叉部分进入,接受其他神经元轴突传入的电信号传给细胞体。 细胞核,电信号进入到细胞核后,细胞核会将多个电信号联合在一起进行运算最后得到唯一的电信号。 轴突,唯一的电信号通过轴突传送。 神经末梢,将轴突传来的电信号分解成若干个部分,以每个分叉传递给外面的神经元。 神经元 神经元是N(神经网络)最核心也是基本的部分,它是模拟生物神经元的一种数学模型,单个神经元可以接收多个输入数据。两个神经元之间的联接强度决定信号传递的强弱,且联接强度不是固定不变的,它可以伴随训练轮数发生变化。一个基本的神经元模型如图22所示, 图22人工神经元结构示意图 图22的计算结果为, 其中为输入信号,为每个输入信号所对应的的权值,为偏置值,为激活函数。 激活函数 激活函数在ANN模型中起到至关重要的作用,它将非线性激活因素拉入到我们的模型中,提高了模型的表达力,使得诸多非线性模型可以应用在神经网络中。如果模型中没有引入函数,那每层网络都相当于只进行了矩阵相乘,输入输出都是线性组合。以下三种函数是平时使用的最多的, 激活函数Relu Relu函数,函数数学图形如图23所示,因其计算简单且有效,是一种常用于ANN中的激活函数。 图23relu函数数学图形 Relu函数通常指数学中的斜坡函数,其数学表达式为, 由公式可见,其实Relu函数就是分段线性函数,它将所有小于0的数即负数都变为0,而正数和0的不变。这表示如果输入是一个负数,那么激活函数将输出0,则神经元不会被激活。所以同一时间只有部分的神经元被激活,使得神经元具有稀疏激活性,提高计算的效率。 激活函数Sigmoid 函数在定义域内单调递增,其反函数在定义域内也是单调递增。函数的数学图形如24所示。 图24Sigmoid函数数学图形 从图24可以看到函数的曲线平滑,则表明函数易于求导,其数学表达式为, 其求导为, 再将结果用表示, 由公式和数学图形可知,Sigmoid函数在x轴上单调连续值域为{y|0y1}。这意味着此函数可以将实数映射到(01)的区间,二分类。当输接近0时,输出就不会发生明显变化了函数接近线性变换。特征效果比较好 激活函数Tanh 双曲正切函数igmoid型函数将igmoid函数的到0,函数。 图25。Tanh函数数学图形 其数学表达式为, 与Sigmoid函数的关系为, 求导为, 再将结果用表示, 由TanH函数数学图形和数学表达式可知,其值域为(11),以0为中心反对称,且原点近似在输入很大或很小时,输出接近线性变换,不利于权重更新容易出现梯度消失和饱和的问题。二分类问题双曲正切函数,输出层igmoid函数。 之差的平方和,再求平均值。公式如下 自定义 自定义是损失函数要指根据实际问题来定制,也就是说函数要符合问题的实际情况。比如当需要预测某个商品的销量时,如果预测的销量大于实际的销量,则会损失成本,反之损失利润,所以这时使用均方误差则明显不适合。这时我们应该自定义一个函数,公式如下, 上述公式中y表示预测结果,y表示标准答案。当y小于y时,利润profit乘以y与y之差作为损失函数。反之,当y大于y时,成本cost乘以y与y之差作为损失函数。这样分段定义损失函数才能够有效解决预测商品销量的问题且最大程度缩小损失而且使loss值达到最小。 交叉熵 交叉熵用来表示两个概率之间的差异,即两个概率分布之间的举例。交叉熵的值与差异距离成正比,值越小距离越近越相似。公式如下, 感知器神经网络 感知器神经网络是最简单的一种人工神经网络结构,使用线性函数为激活函数,常被应用于解决二分类。模型如图26所示,其数学表达式为, 其中,为输入数据,为所对应的的权重向量,为偏置。 图26感知器模型 可以把感知器是当作一个二分类模型,其特点是预测的数据是可以线性分割的。它就是在一个2D空间中找到一条线将不同的点进行分割,这要求数据必须是可以独立分割的,所以输入数据必须要满足于图26中的1,也就是说预测的数据特点可以在它们之间拉出一条线把数据分成两个部分,即要求我们必须找到这条虚线。而2中,我们找不到这条线,所以是线性不可分割。 图27数据分布图 BP神经网络 BP神经网络是最传统的神经网络,也是使用的最运频繁的神经网络,其结构为一层输入层,一层或多层隐含层,一层输出层。它使用了BP反向传播算法,其核心特点是信号前向传播,误差反向传播。所以我们可以将整个神经网络的过程拆分为两段,第一段过程是信号从输入层到隐含层,又从隐含层到达输出层的整个过程,即前向传播。第二段过程是误差从输出经过隐含层到达输出层,期间调节权重和偏置,即反向传播。模型如图28所示。 图28BP神经网络模型 BP神经网络能够有效的解决感知器神经网络不能解决的异或,并且BP神经网络的神经元激活函数既可以使用线性激活函数,又可以使用非线性激活函数。 卷积神经网络相关理论知识 CNN是多层感知器的一种扩展,能够有效地帮助我们解决图像识别,接下来将详细阐述与其相关的理论知识。 前馈神经网络 前馈神经网络,又称为前向神经网络,是最简易的网络结构之一。多个神经元排列组成一层,多个层组成前馈神经网络。其中,每个神经元只接受前一层输出的信息,并作为下一层的输入进行传递。 图31的神经元接受n=4个输入,x1x2x3x4,其输出为 图31前馈神经网络结构示意图 其中为输入向量,为权重向量,为偏置,函数为激活函数。 图31中的神经网络,包含了1层输入层,2层隐藏层和1层输出层,该神经网络的层数为3层。所有参数w的个数余所有参数b的之和为总参数的个数,第一层用四行五列的二阶张量表示,第二层用五行三列的二阶张量,第三层用三行一列的二阶张量。总参数=4×5+5+5×3+3+3×1+1=47。 一个前馈神经网络有一个输入层,然后接零个或多个隐藏层,最后接一个输出层。输入层接受待处理的数据,经过层层隐藏层,神经元进行计算,输出层输出结果。 前向神经网络,以神经元为基本单位,结构简单,大部分都是学习网络。常用的网络有,感知器网络BP网络和RBF网络。 卷积神经网络 CNN是前馈神经网络其中一种,但不同的是其能够进行卷积计算且具有深度结构。对于图像识别来说,CNN更加有效的过滤了不重要不完整的输入参数。 卷积层 卷积层内包含多个卷积核,实现对输入数据进行有效特征提取。每一个卷积核如图32所示,都要遍历图片上的每一个像素点。图片与卷积核重合区域内对应的每一个像素值乘以卷积核相对应点的权重之和加上偏置为图片的一个像素值。 如图32所示,结果应为, 图32卷积过程 卷积层参数包括卷积核大小步长和填充,卷积核越大,可提取的输入特征越复杂 池化层 也称下采样层,此层能够保留主要特征减少参数和计算量,提高计算速度防止过拟合。池化模型一般表示形式为, 其中,为步长,为像素,为预设参数。当=1时,得到均值,所以称为平均池化。当时,得到最大值,所以称为最大池化。在实际应用中,最大池化应用的比较多。 图33最大池化和平均池化 在图33的例子中,如果使用最大池化,每个22的四宫格中选出最大值作为输出矩阵的值,如输入矩阵第一个22四宫格中最大值是3,那么输出矩阵的第一个元素就是6,如此类推。如果使用平均池化,则就计算每个22的四宫格的平均值作为输出矩阵的值。 全连接层 全连接层分类器全连接的核心操作就是矩阵向量乘积 y=Wx 传统网络结构 在CNN网络结构的演化上,出现了许多经典的卷积神经网络模型,如Lenet5AlenetVGGNet和ResNet等。每一种网络结构都是基于卷积激活池化全连接四个操作上进行不同的扩展。 Lenet5[21]是由Lecun团队提出的,是最早出现的卷积神经网络,它能有效的解决手写数字识别的问题。它的输入为32×32×1,经过6个5×5×1的卷积核,步长为1,采用非全零填充模式。卷积后将结果输入到Relu非线性激活函数。接着经过第一层池化大小为2×2的池化层,采用非零填充,步长为2。再进行第二次卷积,16个5×5×6的卷积核,步长为1,采用非全零填充模式,再次将卷积后的结果通过Relu非线性激活函数。经过第二层池化层,参数与第一层池化层相同。最后将输出拉直后送入下一层,即全连接层。 图34Lenet神经网络结构图 Mnist数据集内的每张图都为大小28×28的单通道灰度图片,所以只需对输入为28×28×1的Lenet神经网络进行微调就可以应用到Mnist数据集继而实现手写数字识别。识别结果如图35所示。 图35Lenet在Mnist的识别结果 基于卷积网络的人体行为识别系统的实现 本章将详细介绍如何实现在Teorfolw平台上构建CNN结构实现人体行为识别。数据集使用的是3轴加速度传感数据对36位志愿者进行采样数据,共六个动作。 处理数据集 下载WISDM实验室发布的数据集后,只使用其中的WISDM_ar_v1。1_raw。txt。WISDM数据集内的数据格式如图41所示, 图41。WISDM数据集 从图41可以看到每条数据后面都有一个,,如果直接加载数据集会导致报错,所以首先要去掉分号,实现代码如图41所示, 图42去分号实现代码 当加载数据集到模型中,从图43,我们可以看到数据集前20条记录,包括用户id,行为名称,时间戳,加速器x轴y轴z轴的数据。 图43WISDM数据集前20条数据 用matplotlib工具画出数据集中的行为数量和用户数量的柱状图,从图44中可以知道,整个数据集中共有六个行为,分为WalkingJoggingUpstaiDowtaiSittingStanding,且Walking和Jogging两个的数据多于其他行为的数据。从图45知,一共有36个人参与了此次试验。 图44训练集行为数量分布 图45训练集用户分布 将数据集分割成训练集(TrainingSet)和测试集(TestSet),使训练集用于模型的训练,测试集用于验证。在这个数据集中,可以以用户名为依据来进行分割,这样就不会导致测试集的数据渗入到训练集中。一般训练集的数据越多模型训练效果的越好,所以将用户名1到28用于训练集,大于28的则用于测试集。实现代码如图46所示, 图46分割数据集实现代码 处理训练集数据 在将数据喂入神经网络前,要归一化数据集中的特征,值在0到1之间。要注意的是,传感器xyz三轴的数据要用同样的规范化方法,实现代码如图47所示, 图47归一化特...
  • 版权声明:知知范文网 本站所有内容的版权归相应内容作者或权利人所有,本站不对涉及的版权问题负法律责任。
  • 内容来源:本站所有内容均有网络公开等合法途径整理而来,该资料仅作为交流学习使用,并无任何商业目的,任何访问,浏览本站,购买或者未购买的人,就代表已阅读,理解本条声明
  • 免责声明:内容所标价格,是对本站搜集、整理资料以及本站运营必须费用支付的适当补偿,资料索取者尊重版权方的知识产权,谢谢!

关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@长治毕知网络科技有限公司
ICP备案号:晋ICP备2022002585号