目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

步态能量图(Gait Engery Image, GEI)是步态检测中最非常常用的特征,提取方法简单,也能很好的表现步态的速度,形态等特征。其定义如下:

步态周期的判断使用步态剪影的宽、高之比即可,这个值比较容易而且随步态状态呈现周期性变化。

卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。

卷积神经网络整体架构: 卷积神经网络是一种多层的监督学习神经网络,隐含层的卷积层和池采样层是实现卷积神经网络特征提取功能的核心模块。该网络模型通过采用梯度下降法最小化损失函数对网络中的权重参数逐层反向调节,通过频繁的迭代训练提高网络的精度。卷积神经网络的低隐层是由卷积层和最大池采样层交替组成,高层是全连接层对应传统多层感知器的隐含层和逻辑回归分类器。第一个全连接层的输入是由卷积层和子采样层进行特征提取得到的特征图像。最后一层输出层是一个分类器,可以采用逻辑回归,Softmax回归甚至是支持向量机对输入图像进行分类。
       CNN卷积神经网络一共有5个层次结构:
输入层
卷积层
激励层
池化层
全连接FC层

1、 输入层:对原始图像数据进行预处理
1)原理:直接接收二维视觉模式,不再需要人工参与提取合适的特征作为输入,它自动地从原始图像数据提取特征、学习分类器,可大大减少开发的复杂性,有助于学习与当前分类任务最为有效的视觉特征。
2)与传统神经网络/机器学习一样,模型需要输入的进行预处理操作,常见的输入层中对图像预处理方式有:
去均值:把输入数据各个维度都中心化为0,即将样本的中心拉回到坐标系原点
归一化:幅度归一化到同样的范围
PCA/白化:用PCA降维,白化即将各个特征轴上的幅度进行归一化

2、 卷积层:通过在原始图像上平移来提取特征
1) 卷积(convolution):是透过两个函数f和g生成第三个函数的一种数学算子,表征函数f与经过翻转和平移的g的乘积函数
2) 卷积层(Convolutional layer),卷积神经网络中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。
3)局部感知:网络部分连通,每个神经元只与上一层的部分神经元相连,只感知局部,而不是整幅图像
4、 池化层
1) 池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减少过拟合。即输入的是图像的话,池化层的最主要作用就是压缩图像。(过拟合:过拟合其中一个可能的成因就是模型的vc维过高,使用了过强的模型复杂度(model complexity)的能力(参数多并且过训练)。还有一个原因是数据中的噪声,造成了如果完全拟合的话,也许与真实情景的偏差更大。最后还有一个原因是数据量有限,这使得模型无法真正了解整个数据的真实分布。权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。)
2) 具体作用:
1.特征不变性:即图像压缩时去掉的信息只是一些无关紧要的信息,留下最能表达图像的特征
2.特征降维:即将最重要的特征抽取出来,将一些冗余信息去。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序

...........................
%划分数据为训练集合验证集,训练集中每个类别包含1张图像,验证集包含其余图像的标签
numTrainFiles               = 4;%设置每个类别的训练个数
[imdsTrain, imdsValidation] = splitEachLabel(imds, numTrainFiles, 'randomize');%定义卷积神经网络的基础结构
layers = [imageInputLayer([400 150 1]);%注意,400,150为能量图的大小,不能改convolution2dLayer(3, 8, 'Padding', 'same')batchNormalizationLayerreluLayermaxPooling2dLayer(2, 'Stride', 2)convolution2dLayer(3, 16, 'padding', 'same')batchNormalizationLayerreluLayermaxPooling2dLayer(2, 'Stride', 2)convolution2dLayer(3, 8, 'Padding', 'same')batchNormalizationLayerreluLayerfullyConnectedLayer(5)softmaxLayerclassificationLayer];
%设置训练参数
options = trainingOptions('sgdm', ...'InitialLearnRate', 0.01, ...'MaxEpochs', 1000, ...'Shuffle', 'every-epoch', ...'ValidationData', imdsValidation, ...'ValidationFrequency', 10, ...'Verbose', false, ...'Plots', 'training-progress');%使用训练集训练网络
net         = trainNetwork(imdsTrain, layers, options);.................................
A148

4.完整MATLAB

V

基于步态能量图和CNN卷积神经网络的人体步态识别matlab仿真相关推荐

  1. m基于CNN卷积神经网络和GEI步态能量图的步态识别算法MATLAB仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物识别技术相比, ...

  2. python神经网络案例——CNN卷积神经网络实现mnist手写体识别

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python教程全解 CNN卷积神经网络的理论教程参考 ...

  3. 毕设:基于CNN卷积神经网络的猫狗识别、狗品种识别(Tensorflow、Keras、Kaggle竞赛)

    基于卷积神经网络的图像识别算法及其应用研究 毕业快一年了,拿出来分享给大家,我和网上唯一的区别就是,我能够同时实现两个方案(猫狗识别和狗品种识别),我当时也是网上各种查,花了2,3个月的时间,一个萝卜 ...

  4. 机器学习实验(五):用迁移学习方法基于keras建立卷积神经网络进行人体动作识别(HAR)

    声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents 博主简介:风雪夜归子(英文名:Allen),机器学习算法 ...

  5. 基于CNN卷积神经网络实现中文手写汉字识别

    前言 大家好,我是阿光. 本专栏整理了<PyTorch深度学习项目实战100例>,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集. 正在更新 ...

  6. python+tensorflow CNN卷积神经网络手写字体识别

    导入所需的库模块: import os import cv2 import numpy as np import tensorflow as tf2 import matplotlib.pyplot ...

  7. 基于BP神经网络的手写体数字识别matlab仿真实现

    目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 文字.数字识别是一个典型的模式识别问题,也是模式识别中一个非常重要的应用领域.在文字.数字识别系统中,手写体的文字与识别是一个较难的领域, ...

  8. 基于ORL人脸数据库和PCA特征降维算法的人脸识别matlab仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...

  9. CNN卷积神经网络(数字分类)

    CNN卷积神经网络--手写数字识别 import torch import torch.nn as nn from torch.autograd import Variable import torc ...

最新文章

  1. 解密 Redis 助力双 11 背后电商秒杀系统
  2. 理解神经网络,从简单的例子开始(2)使用python建立多层神经网络
  3. JS一起学02:函数传参、操作属性第二种方式、提取行间事件、循环、this、焦点问题、联动选择、选项卡焦点图
  4. centos下排查vsftpd出现put零字节问题的记录
  5. boost::geometry::index:containst用法的测试程序
  6. 求助:如何获取ueditor的上传路径
  7. mongo shell连接到mongoDB及shell提示符下执行js脚本
  8. 使用 python 操作 redis
  9. 使用Hyper-V创建虚拟机
  10. BASE64学习小记
  11. Flutter进阶第9篇:检测网络连接,监听网络变化
  12. 是谁逼着我们996,逼着企业996
  13. 用Python标记识别人脸制作镂空图案的“笑脸”照片墙
  14. 168个怪兽之声进化游戏生物怪兽音效素材 Evolved Game Creatures – Monster Sounds
  15. 【期末划重点】高数下期末考复习
  16. 完全小白向win10安装配置Java运行环境
  17. 基于蒙特卡诺的风场景模型出力(Matlab代码实现)
  18. 程序员为什么不写注释
  19. 【读书笔记】《引爆点》巴尔科姆•格拉德威尔
  20. 【Day_09】走方格的方案数

热门文章

  1. 5K高清流浪星球唯美Mac动态壁纸
  2. OpenCV 使用安卓手机作为摄像头
  3. Iris微服务框架_golang web框架_完整示例Demo
  4. centos7安装python3环境
  5. java开发中常用的SQL语句
  6. 干货 | 万字长文详解携程酒店订单缓存 存储系统升级实践
  7. logisim实验五:汉字字库存储芯片扩展实验
  8. 计量经济学导论-现代观点
  9. Python-Django毕业设计JAVA高校田径运动会管理(程序+Lw)
  10. 基于nuxt3的语雀文档批量导出