基于Googlenet深度学习网络的螺丝瑕疵检测matlab仿真

举报
简简单单做算法 发表于 2023/11/06 23:57:19 2023/11/06
【摘要】 1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       VGG在2014年由牛津大学著名研究组vGG (Visual Geometry Group)提出,斩获该年lmageNet竞赛中Localization Task (定位任务)第一名和 Classification Task (分类任务)第二名。Classification Task (分类任务...

1.算法运行效果图预览

1.png


 

2.算法运行软件版本

matlab2022a

 

3.算法理论概述

       VGG2014年由牛津大学著名研究组vGG (Visual Geometry Group)提出,斩获该年lmageNet竞赛中Localization Task (定位任务)第一名和 Classification Task (分类任务)第二名。Classification Task (分类任务)的第一名则是GoogleNet GoogleNetGoogle研发的深度网络结构,之所以叫“GoogLeNet”,是为了向“LeNet”致敬.人员行为动作识别是计算机视觉和深度学习领域的重要应用之一。近年来,深度学习网络在人员行为动作识别中取得了显著的成果。

 

  1. 原理

1.1 深度学习与卷积神经网络(CNN

       深度学习是一种机器学习技术,它通过构建多层神经网络来模拟人脑的神经元之间的连接,实现对数据的学习和特征提取。卷积神经网络(CNN)是深度学习中的一种重要结构,特别适用于图像识别任务。它通过卷积层、池化层和全连接层来逐层提取和学习图像的特征。

 

1.2 GoogLeNet

       GoogLeNet 是一个深度卷积神经网络,由 Google 2014 年提出。它通过引入 Inception 模块来解决深层网络中参数过多和计算量大的问题。Inception 模块使用不同大小的卷积核和池化操作并行提取特征,然后将它们拼接在一起,从而获得更丰富的特征表示。

 

GoogLenet网络亮点

1.引入了Inception结构(融合不同尺度的特征信息)

2.使用1x1的卷积核进行降维以及映射处理

3.添加两个辅助分类器帮助训练

4.丢弃全连接层,使用平均池化层(大大减少模型参数)

 

 

  1. 实现过程

2.1 数据预处理

      在矿石种类识别任务中,首先需要准备标注好的数据集,包含不同行为动作的图像或视频帧。然后,将图像进行预处理,包括图像尺寸调整、归一化等操作,以便输入到深度学习网络中。

 

2.2 构建网络模型

       GoogLeNet 模型可以通过深度学习框架如 TensorFlow PyTorch 构建。模型的基本结构包括卷积层、池化层、Inception 模块和全连接层。可以根据具体任务进行网络的修改和定制。

 

2.3 数据输入与训练

       将预处理后的图像作为输入,通过前向传播得到网络的输出。然后,通过与标签进行比较,计算损失函数并进行反向传播,更新网络的权重参数。通过多次迭代训练,使得网络逐渐学习到特征并提高识别能力。

 

2.4 模型评估与调优

        在训练过程中,需要将数据集划分为训练集、验证集和测试集。通过验证集监控模型的性能,并根据验证集的表现进行模型的调优。在测试集上进行评估,得到模型在未见过数据上的识别准确率.

 

 

 

4.部分核心程序

% 获取网络层名称和类别数
% 训练设置参数
maxEpochs = 20;
Minibatch_Size = 8;
Validation_Frequency = floor(numel(Resized_Training_Dataset.Files)/Minibatch_Size);
Training_Options = trainingOptions('sgdm', ...
    'MiniBatchSize', Minibatch_Size, ...
    'MaxEpochs', maxEpochs, ...
    'InitialLearnRate', 1e-3, ...
    'Shuffle', 'every-epoch', ...
    'ValidationData', Resized_Validation_Dataset, ...
    'ValidationFrequency', Validation_Frequency, ...
    'Verbose', false, ...
    'Plots', 'training-progress');
% 在调整后的数据集上训练网络
net = trainNetwork(Resized_Training_Dataset, New_Network, Training_Options);
% 保存训练后的网络模型
save gnet.mat   
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。