首页 > 其他分享 >基于步态能量图和CNN卷积神经网络的人体步态识别matlab仿真

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

时间:2023-03-09 22:47:17浏览次数:47  
标签:... 卷积 步态 特征 神经网络 matlab 图像 CNN

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')
    batchNormalizationLayer
    reluLayer
    
    maxPooling2dLayer(2, 'Stride', 2)
    
    convolution2dLayer(3, 16, 'padding', 'same')
    batchNormalizationLayer
    reluLayer
    
    maxPooling2dLayer(2, 'Stride', 2)
    
    convolution2dLayer(3, 8, 'Padding', 'same')
    batchNormalizationLayer
    reluLayer
    
    fullyConnectedLayer(5)
    softmaxLayer
    classificationLayer];
%设置训练参数
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);

 

  

 

标签:...,卷积,步态,特征,神经网络,matlab,图像,CNN
From: https://www.cnblogs.com/51matlab/p/17201750.html

相关文章

  • m自适应FSK解调系统误码率matlab仿真
    1.算法描述FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。(1)相干解调相干解调是利用......
  • 基于PSO粒子群优化的带时间窗VRPTW问题matlab仿真
    1.算法描述粒子群优化算法(PSO)是一种进化计算技术(evolutionarycomputation),1995年由Eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞......
  • m自适应FSK解调系统误码率matlab仿真
    1.算法描述       FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。 (1)相干解调......
  • matlab 导入图片
    去除图框刻度找到预处理函数如下图:   去除图框刻度代码:axes(handles.axes1);clareset;boxon;set(gca,'XTickLabel',[],'YTickLabel',[]);axes(handle......
  • MATLAB:while的用法
    参考ROMS网格制作的部分代码lonmin=110;%Minimumlongitude[degreeeast]lonmax=130;%Maximumlongitude[degreeeast]latmin=20;%Minimumlati......
  • CNN小结:VGG & GoogleNet & ResNet & MobileNet..
    CNN小结:VGG&GoogleNet&ResNet&MobileNet..目录VGG核心想法网络结构QGoogLeNet核心想法网络结构InceptionModule辅助分类器GoogLeNet......
  • 2023-3-8-pytorch关于CNN的描述与代码,ai对话生成的
    左脚踩右脚上天了是什么搞笑笑话这不是搞笑笑话,而是一个玩笑语言游戏。“左脚踩右脚上天了”实际上是一个不合逻辑的语句,因为脚无法踩在自己的脚上,更不可能踩上天。这种语......
  • 基于meanshift算法的目标聚类和目标跟踪matlab仿真
    1.算法描述meanshift算法其实通过名字就可以看到该算法的核心,mean(均值),shift(偏移),简单的说,也就是有一个点,它的周围有很多个点我们计算点移动到每个点所需要的偏移量......
  • 大气湍流自适应光学校正算法matlab仿真,包括涡旋光束,大气湍流影响,不同轨道角动量OAM
    1.算法描述       涡旋光束是一种具有螺旋波前的光束,在涡旋光束中,决定涡旋光束特性的角量子数可以是任意一个自然数,其不同设置所产生的涡旋光束之间存在正交关系。......
  • matlab曲线颜色
    颜色字符串有'c','m','y','r','g','b','w',和k。分别表示青,红紫,黄,红,绿,白和黑。(Color)线型字符串有:'-'为实线,'--’为虚线,':'为点线,'-.'为点虚线,及'none’表示不用线型。标记形式......