您现在的位置:首页 >> 机器学习 >> 内容

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

时间:2022/12/25 18:16:38 点击:

  核心提示:A148,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y5qbmZxr

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

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

4.部分源码

...........................

%划分数据为训练集合验证集,训练集中每个类别包含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);

.................................

A148

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168