目录
- ..................................................................
- Resized_Training_Dataset = augmentedImageDatastore(Input_Layer_Size ,Dataset);
-
- %显示各个花朵的整体识别率
- % 使用训练好的模型进行分类预测
- [Predicted_Label, Probability] = classify(net, Resized_Training_Dataset);
- % 计算分类准确率
- accuracy = mean(Predicted_Label == Dataset.Labels);
-
- lab1 = [];
- for i = 1:length(Dataset.Labels)
- if Dataset.Labels(i) == 'daisy'
- lab1 = [lab1,1];
- end
- if Dataset.Labels(i) == 'dandelion'
- lab1 = [lab1,2];
- end
- if Dataset.Labels(i) == 'roses'
- lab1 = [lab1,3];
- end
- if Dataset.Labels(i) == 'sunflowers'
- lab1 = [lab1,4];
- end
- if Dataset.Labels(i) == 'tulips'
- lab1 = [lab1,5];
- end
- end
-
- lab2 = [];
- for i = 1:length(Predicted_Label)
- if Predicted_Label(i) == 'daisy'
- lab2 = [lab2,1];
- end
- if Predicted_Label(i) == 'dandelion'
- lab2 = [lab2,2];
- end
- if Predicted_Label(i) == 'roses'
- lab2 = [lab2,3];
- end
- if Predicted_Label(i) == 'sunflowers'
- lab2 = [lab2,4];
- end
- if Predicted_Label(i) == 'tulips'
- lab2 = [lab2,5];
- end
- end
-
- figure;
- plot(lab1,'b-s',...
- 'LineWidth',1,...
- 'MarkerSize',8,...
- 'MarkerEdgeColor','k',...
- 'MarkerFaceColor',[0.9,0.0,0.0]);
- hold on
- plot(lab2,'r-->',...
- 'LineWidth',1,...
- 'MarkerSize',6,...
- 'MarkerEdgeColor','k',...
- 'MarkerFaceColor',[0.9,0.9,0.0]);
- hold on
- title(['识别率',num2str(100*accuracy),'%']);
- legend('真实种类','识别种类');
- title('1:daisy, 2:dandelion, 3:roses, 4:sunflowers, 5:tulips');
-
- % 随机选择16张测试图像进行展示
- index = randperm(numel(Resized_Training_Dataset.Files), 12);
-
- figure
- for i = 1:12% 在子图中展示每张图像、预测标签和概率
- subplot(3,4,i)
- I = readimage(Dataset, index(i));% 读取图像
- imshow(I) % 显示图像
- label = Predicted_Label(index(i));% 预测标签
- title(string(label) + ", " + num2str(100*max(Probability(index(i), :)), 3) + "%");
- end
- 0080
花朵类型识别是计算机视觉领域中的一个重要任务。它在植物学研究、农业、园艺等领域有着广泛的应用。传统的花朵类型识别方法通常基于手工设计的特征提取器,这些方法的效果受限于特征提取器的设计。近年来,深度学习在许多计算机视觉任务中取得了显著的成功。其中,GoogleNet是一种深度学习网络结构,它在图像分类任务中具有优异的性能。
GoogleNet是一种基于Inception模块的深度学习网络结构。它通过引入Inception模块,增加了网络的宽度,并减少了网络的参数数量。GoogleNet的主要创新点包括:
花朵类型识别的任务是将输入的花朵图像分类为不同的类别。使用GoogleNet进行花朵类型识别的步骤如下:
数据准备:收集不同类别的花朵图像数据集,并对图像进行预处理,如归一化、尺寸调整等。
网络训练:使用花朵图像数据集训练GoogleNet网络。在训练过程中,通过反向传播算法优化网络的参数,使得网络能够学习到花朵图像的特征表示。
特征提取:训练完成后,可以使用GoogleNet网络对输入的花朵图像进行特征提取。通过前向传播,将图像输入到网络中,并提取出最后一层的特征表示。
分类器设计:在得到花朵图像的特征表示后,可以设计一个分类器对其进行分类。可以使用简单的分类器,如softmax分类器。
类别预测:使用训练好的分类器对测试集中的花朵图像进行类别预测,并评估模型的性能。
通过基于GoogleNet的深度学习方法,我们可以有效地识别花朵的类型,为植物学研究、农业、园艺等领域提供有力的支持。
OOOOO
OOO
O