• 大小: 8.84MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-10
  • 语言: Matlab
  • 标签: 机器视觉  

资源简介

这是一个单人或多人口罩识别的应用,主要运用卷积神经网络(lenet5)来进行判别,预期效果是若检测到没有人戴口罩则在屏幕实时显示警报,并发出声音提示。

资源截图

代码片段和文件信息

%% 准备工作空间
clc 
clear all
close all
%% 导入要训练的数据
digitDatasetPath = fullfile(‘./‘ ‘/HandWrittenDataset/‘);
imds = imageDatastore(digitDatasetPath‘IncludeSubfolders‘true‘LabelSource‘‘foldernames‘);
% 采用文件夹名称作为数据标记,imageDatastore是一种数据的读取方式,IncludeSubfolders:是否继续读取子文件夹下的图像,‘LabelSource‘‘foldernames‘采用子文件的名字对数据经行标记
%‘ReadFcn‘@mineRF

% 查看imds数据集图片个数
countEachLabel(imds)
numTrainFiles = 17;% 每一个数字有22个样本,取17个样本作为训练数据
[imdsTrainimdsValidation] = splitEachLabel(imdsnumTrainFiles‘randomize‘);%可选参数指定为‘随机化’
% 查看图片的大小,因为涉及到神经网络的输入程大小
img=readimage(imds1);
size(img)

%% 定义卷积神经网络的结构Lenet5
layers = [
% 输入层
imageInputlayer([200 200 3])%200指的是需要训练的图片宽高,RGB图片,通道只有3
% 卷积层:提取底层特征
convolution2dlayer(56‘Padding‘2)
%卷积核大小5*5,提取6种特征映射,Padding在图片边缘进行补零操作以保证在这次卷积之后特征映射大小仍是28*28,计算方法为:28-5+4+1
batchNormalizationlayer
relulayer
%下采样层,核大小为:2*2 平移不变性、防止过度拟合、减小数据维度
maxPooling2dlayer(2‘stride‘2)

convolution2dlayer(5 16)
batchNormalizationlayer
relulayer

maxPooling2dlayer(2‘stride‘2)

convolution2dlayer(5 120)
batchNormalizationlayer
relulayer
% 最终层
fullyConnectedlayer(9)%通过一个全连接层,将120个特征连接成9个输出特征
%该层为了分类
softmaxlayer
classificationlayer];

%% 训练神经网络
% 设置训练参数
options = trainingOptions(‘sgdm‘‘maxEpochs‘60 ‘ValidationData‘ imdsValidation‘ValidationFrequency‘5‘Verbose‘false‘Plots‘‘training-progress‘);% 显示训练进度。
%sgdm最优化的方法,60重复次数,imdsValidation验证集,5:验证的频率,‘Verbose‘false不显示中间验证的结果,training-progress‘显示训练进度


% 训练神经网络,保存网络
ZQ= trainNetwork(imdsTrain layers options);%参数分别为训练数据、神经元设计、训练参数
save ‘ZQ.mat‘ ZQ


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-04-16 17:43  Design\HandWrittenDataset\
     目录           0  2020-04-16 17:43  Design\HandWrittenDataset\0\
     文件        4364  2020-04-12 07:59  Design\HandWrittenDataset\0\1.jpg
     文件        5799  2020-04-12 07:59  Design\HandWrittenDataset\0\10.jpg
     文件        6552  2020-04-12 07:59  Design\HandWrittenDataset\0\11.jpg
     文件        5723  2020-04-12 07:59  Design\HandWrittenDataset\0\12.jpg
     文件        5292  2020-04-12 07:59  Design\HandWrittenDataset\0\13.jpg
     文件        5338  2020-04-12 07:59  Design\HandWrittenDataset\0\14.jpg
     文件        5156  2020-04-12 07:59  Design\HandWrittenDataset\0\15.jpg
     文件        7121  2020-04-12 07:59  Design\HandWrittenDataset\0\16.jpg
     文件        6361  2020-04-12 07:59  Design\HandWrittenDataset\0\17.jpg
     文件        7426  2020-04-12 07:59  Design\HandWrittenDataset\0\18.jpg
     文件        4902  2020-04-12 07:59  Design\HandWrittenDataset\0\19.jpg
     文件        5805  2020-04-12 07:59  Design\HandWrittenDataset\0\2.jpg
     文件        5990  2020-04-12 07:59  Design\HandWrittenDataset\0\20.jpg
     文件        4945  2020-04-12 07:59  Design\HandWrittenDataset\0\21.jpg
     文件        5688  2020-04-12 07:59  Design\HandWrittenDataset\0\22.jpg
     文件        6052  2020-04-12 07:59  Design\HandWrittenDataset\0\3.jpg
     文件        7426  2020-04-12 07:59  Design\HandWrittenDataset\0\4.jpg
     文件        4196  2020-04-12 07:59  Design\HandWrittenDataset\0\5.jpg
     文件        6161  2020-04-12 07:59  Design\HandWrittenDataset\0\6.jpg
     文件        4418  2020-04-12 07:59  Design\HandWrittenDataset\0\7.jpg
     文件        6809  2020-04-12 07:59  Design\HandWrittenDataset\0\8.jpg
     文件        5286  2020-04-12 07:59  Design\HandWrittenDataset\0\9.jpg
     目录           0  2020-04-16 17:43  Design\HandWrittenDataset\1\
     文件        5255  2020-04-12 07:59  Design\HandWrittenDataset\1\1.jpg
     文件        4150  2020-04-12 07:59  Design\HandWrittenDataset\1\10.jpg
     文件        6620  2020-04-12 07:59  Design\HandWrittenDataset\1\11.jpg
     文件        4569  2020-04-12 07:59  Design\HandWrittenDataset\1\12.jpg
     文件        4297  2020-04-12 07:59  Design\HandWrittenDataset\1\13.jpg
     文件        4607  2020-04-12 07:59  Design\HandWrittenDataset\1\14.jpg
............此处省略184个文件信息

评论

共有 条评论