1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56WlZ5x
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
步态识别是一种新兴的生物特征识别技术,旨在通过人们走路的姿态进行身份识别,与其他的生物识别技术相比,步态识别具有非接触远距离和不容易伪装的优点。在智能视频监控领域,比图像识别更具优势。步态是指人们行走时的方式,这是一种复杂的行为特征。罪犯或许会给自己化装,不让自己身上的哪怕一根毛发掉在作案现场,但有样东西他们是很难控制的,这就是走路的姿势。英国南安普敦大学电子与计算机系的马克·尼克松教授的研究显示,人人都有截然不同的走路姿势,因为人们在肌肉的力量、肌腱和骨骼长度、骨骼密度、视觉的灵敏程度、协调能力、经历、体重、重心、肌肉或骨骼受损的程度、生理条件以及个人走路的“风格”上都存在细微差异。对一个人来说,要伪装走路姿势非常困难,不管罪犯是否带着面具自然地走向银行出纳员还是从犯罪现场逃跑,他们的步态就可以让他们露出马脚。
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)” 。
4.部分源码
........................................................................
if SEL == 1
digitDatasetPath = ['步态能量图0t0\'];
imds = imageDatastore(digitDatasetPath,'IncludeSubfolders', true, 'LabelSource', 'foldernames');
%划分数据为训练集合验证集,训练集中每个类别包含1张图像,验证集包含其余图像的标签
numTrainFiles = 2;%设置每个类别的训练个数
[imdsTrain, imdsValidation] = splitEachLabel(imds,0.5);
end
if SEL == 2
digitDatasetPath = ['步态能量图0t45\'];
imds = imageDatastore(digitDatasetPath,'IncludeSubfolders', true, 'LabelSource', 'foldernames');
%划分数据为训练集合验证集,训练集中每个类别包含1张图像,验证集包含其余图像的标签
numTrainFiles = 2;%设置每个类别的训练个数
[imdsTrain, imdsValidation] = splitEachLabel(imds,0.5);
end
..................................................
%定义卷积神经网络的基础结构
layers = [
imageInputLayer([227 227 3]);%注意,227,227,不能改
%第1个卷积层
convolution2dLayer(3, 8, 'Padding', 'same');%第一个卷积层
batchNormalizationLayer;
reluLayer;
maxPooling2dLayer(2, 'Stride', 2);
%第2个卷积层
convolution2dLayer(3, 8, 'padding', 'same');
batchNormalizationLayer;
reluLayer;
maxPooling2dLayer(2, 'Stride', 2);
%全连接层
fullyConnectedLayer(20);
%softmax
softmaxLayer;
%输出分类结果
classificationLayer;];
%设置训练参数
options = trainingOptions('sgdm', ...
'InitialLearnRate', 0.0001, ...
'MaxEpochs', 200, ...
'Shuffle', 'every-epoch', ...
'ValidationData', imdsValidation, ...
'ValidationFrequency', 10, ...
'Verbose', false, ...
'Plots', 'training-progress');
%使用训练集训练网络
net = trainNetwork(imdsTrain, layers, options);
05_077_m