基于深度学习网络的十二生肖图像分类matlab仿真

110 阅读2分钟

1.算法运行效果图预览

 

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

 

2.算法运行软件版本

matlab2022a

 

3.算法理论概述

       GoogLeNet主要由一系列的Inception模块堆叠而成,每个Inception模块包含多个并行的卷积层,以不同的窗口大小处理输入数据,然后将结果整合在一起。假设某一层的输入特征图表示为X∈ℝ^(H×W×C),四个分支分别应用以下操作:

 

6.png

7.png

 

       对于十二生肖图像分类任务,我们将训练集中的图片输入到GoogLeNet模型中,经过多层Inception模块和其他辅助分类器的学习后,模型会学习到丰富的高层语义特征。在模型顶层,通常采用全局平均池化层后接全连接层,并使用softmax函数输出各个类别的概率分布,从而实现对输入图像的十二生肖类别预测。

 

 

4.部分核心程序 `for i = 1:16

    subplot(4,4,i)

    I = readimage(Validation_Dataset, index(i));

    imshow(I)

    label = Predicted_Label(index(i));

    title(string(label) + ", " + num2str(100*max(Probability(index(i), :)), 3) + "%");% 显示预测标签和置信度

end

figure

 

for i = 1:16

    subplot(4,4,i)

    I = readimage(Validation_Dataset, index(i+16));

    imshow(I)

    label = Predicted_Label(index(i+16));

    title(string(label) + ", " + num2str(100*max(Probability(index(i+16), :)), 3) + "%");% 显示预测标签和置信度

end

 

figure

 

for i = 1:16

    subplot(4,4,i)

    I = readimage(Validation_Dataset, index(i+32));

    imshow(I)

    label = Predicted_Label(index(i+32));

    title(string(label) + ", " + num2str(100*max(Probability(index(i+32), :)), 3) + "%");% 显示预测标签和置信度

end

 

 

figure

 

for i = 1:16

    subplot(4,4,i)

    I = readimage(Validation_Dataset, index(i+48));

    imshow(I)

    label = Predicted_Label(index(i+48));

    title(string(label) + ", " + num2str(100*max(Probability(index(i+48), :)), 3) + "%");% 显示预测标签和置信度

end`