基于keras框架的LeNet/AlexNet/Vgg16深度学习神经网络花卉/花朵分类识别系统源码

第一步:准备数据

五种花卉数据:"雏菊"、"蒲公英"、"玫瑰"、"向日葵"、"郁金香",总共有2671张图片

将数据以A_B.jpg的格式进行标定,A为花朵名字,B为相应花类别的第几张

第二步:搭建模型

本文选择LeNet/AlexNet/Vgg16常用分类网络作为对比:

由于是五分类问题,直接套用网络肯定是不行,因此会在全连接部分做手脚,参考代码如下:

python 复制代码
    x = base_model.output
    x = GlobalAveragePooling2D()(x)
    x = Dense(256)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = Dense(64)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = Dense(5)(x)
    predictions = Activation('softmax')(x)

第三步:训练代码

1)损失函数为:交叉熵损失函数

2)LeNet和AlexNet从头训练都比较好收敛,但vgg16网络从头训练很难收敛,因此我们阔以对vgg16网络进行迁移训练微调:

python 复制代码
    w = 1
    if w:
        base_model = VGG16(weights='imagenet', include_top=False, input_shape=(width, height, 3))
    else:
        base_model = VGG16(weights=None, include_top=False, input_shape=(width, height, 3))
    for layer in base_model.layers:
        layer.trainable = False

第四步:统计正确率

|---------|-------|-------|
| 名称 | 训练正确率 | 验证正确率 |
| LeNet | 75.5% | 82% |
| AlexNet | 86% | 86.3% |
| vgg16 | 99.3% | 89.1% |

毫无疑问,vgg16胜利

第五步:搭建GUI界面

第六步:整个工程的内容

有训练代码和训练好的模型以及训练过程,提供数据,提供GUI界面代码,主要使用方法可以参考里面的"文档说明_必看.docx"

项目完整文件下载请见演示与介绍视频的简介处给出:➷➷➷

https://www.bilibili.com/video/BV1pMUYY4EuQ/

相关推荐
用户1474853079742 天前
AI-动手深度学习环境搭建-d2l
深度学习
OpenBayes贝式计算2 天前
解决视频模型痛点,TurboDiffusion 高效视频扩散生成系统;Google Streetview 涵盖多个国家的街景图像数据集
人工智能·深度学习·机器学习
OpenBayes贝式计算2 天前
OCR教程汇总丨DeepSeek/百度飞桨/华中科大等开源创新技术,实现OCR高精度、本地化部署
人工智能·深度学习·机器学习
在人间耕耘3 天前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
homelook3 天前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer
ccLianLian3 天前
强化学习·导论
深度学习
呆萌很3 天前
卷积神经网络的基石——基础卷积模块
神经网络
机 _ 长3 天前
Transformer架构深度解析:从翻译模型到大语言模型的核心技术
人工智能·深度学习
宝贝儿好3 天前
【强化学习】第十章:连续动作空间强化学习:随机高斯策略、DPG算法
人工智能·python·深度学习·算法·机器人
Evand J3 天前
【课题推荐】深度学习驱动的交通流量预测系统(基于LSTM的交通流量预测系统),MATLAB实现
人工智能·深度学习·matlab·课题简介