1. 项目简介本项目是一个基于Django后端框架与PyTorch深度学习框架的白菜病害图像识别系统。系统主要针对白菜叶片常见的三种病害进行智能识别与分类小菜蛾backmoth潜叶蝇leafminer霜霉病mildew 项目目标技术实践提供一个完整的深度学习图像分类项目实践案例涵盖数据准备、模型训练、结果评估到Web应用部署的全流程农业应用探索AI技术在农业病虫害识别领域的实际应用价值教学参考为学习计算机视觉和Web开发的同学提供可复现的参考项目️ 技术栈后端框架Django 4.x深度学习框架PyTorch 2.x前端技术HTML/CSS/JavaScript Bootstrap数据处理PIL/Pillow、OpenCV可视化Matplotlib、Seaborn 系统功能模型选择支持多种预训练模型切换图像上传支持单张白菜叶片图片上传实时识别快速返回病害类别及置信度数据统计展示数据集分布和训练结果结果可视化提供训练过程曲线和模型性能对比本项目适合作为深度学习入门项目、毕业设计选题或农业AI应用的原型系统。2. 首页效果截图下图展示了系统首页的完整界面布局通过 Django 模板引擎渲染生成️ 页面布局解析左侧区域 - 数据集概览类别统计以卡片形式展示三种病害的样本数量样例展示每个类别提供代表性的白菜叶片图片数据分布直观显示训练集与测试集的比例关系中部区域 - 核心功能模型选择下拉框支持 AlexNet、ResNet、EfficientNet 等多种模型默认选中效果最佳的模型实时切换无需刷新页面图片上传区域支持拖拽上传和文件选择两种方式实时预览上传的图片文件格式验证JPG、PNG识别结果展示显示识别图片的缩略图展示预测的病害类别显示置信度百分比记录使用的模型名称右侧区域 - 辅助信息系统状态显示当前模型加载状态识别历史最近几次识别记录的简要展示使用说明简要的操作指引 设计特点响应式布局适配不同屏幕尺寸简洁配色以绿色为主色调契合农业主题直观交互按钮和表单元素具有明确的视觉反馈数据可视化图表和统计信息直观易懂3. 数据集说明 数据集结构数据集存储在djangoProject/data_set/baicai/目录下采用标准的 ImageFolder 格式组织baicai/ ├── train/ # 训练集 │ ├── backmoth/ # 小菜蛾类别 │ │ ├── 001.jpg │ │ ├── 002.jpg │ │ └── ... │ ├── leafminer/ # 潜叶蝇类别 │ └── mildew/ # 霜霉病类别 └── test/ # 测试集 ├── backmoth/ ├── leafminer/ └── mildew/ 数据统计详情病害类别训练集数量测试集数量总计训练集占比小菜蛾backmoth1,434 张359 张1,793 张80.0%潜叶蝇leafminer266 张67 张333 张79.9%霜霉病mildew601 张151 张752 张79.9%总计2,301 张577 张2,878 张79.9% 数据特点分析类别不均衡小菜蛾样本最多1,793张潜叶蝇样本最少333张标准划分按照约 8:2 的比例划分训练集和测试集图像质量所有图片均为白菜叶片特写背景相对统一标注准确每个类别文件夹内的图片都经过人工验证️ 样本可视化下图展示了每个类别的典型样本图片及对应的数量统计图片说明第一行小菜蛾病害样本 - 叶片出现不规则蛀孔第二行潜叶蝇病害样本 - 叶片内部出现白色隧道状痕迹第三行霜霉病病害样本 - 叶片表面出现灰白色霉层底部统计图直观展示各类别的训练集和测试集数量对比⚙️ 数据加载方式训练脚本使用 PyTorch 的ImageFolder类自动读取数据fromtorchvisionimportdatasets,transforms# 数据预处理transformtransforms.Compose([transforms.Resize((224,224)),transforms.ToTensor(),transforms.Normalize(mean[0.485,0.456,0.406],std[0.229,0.224,0.225])])# 加载训练集train_datasetdatasets.ImageFolder(rootdjangoProject/data_set/baicai/train,transformtransform)# 加载测试集test_datasetdatasets.ImageFolder(rootdjangoProject/data_set/baicai/test,transformtransform) 数据增强策略为提升模型泛化能力训练时采用了以下数据增强技术随机水平翻转概率 0.5随机旋转角度范围 ±15°颜色抖动亮度、对比度、饱和度微调随机裁剪224×224 像素 注意事项数据集路径在配置文件中可调整支持添加新的病害类别只需创建对应文件夹建议图片尺寸统一为 224×224 像素以适配大多数预训练模型数据集已按类别划分无需额外标签文件4. 模型与训练结果可视化 支持的深度学习模型本项目集成了12种经典的图像分类模型涵盖从传统CNN到现代Transformer架构模型类别具体模型参数量级特点经典CNNLeNet、AlexNet1-60M基础卷积网络适合教学演示深度残差ResNet-18/34/5011-25M残差连接缓解梯度消失轻量级MobileNet-v2/v3、ShuffleNet2-5M移动端友好计算效率高密集连接DenseNet-1218M特征重用参数效率高高效网络EfficientNet-b0/b15-7M复合缩放精度-效率平衡规则化RegNet5-20M设计空间搜索结构规则视觉TransformerViT-B/16、Swin-T80-90M自注意力机制全局建模 训练过程可视化验证准确率趋势分析下图展示了5个代表性模型在训练过程中的验证准确率变化Epoch 3-8关键观察收敛速度EfficientNet 和 MobileNet 收敛最快3个epoch后趋于稳定稳定性Swin Transformer 波动最小训练过程最稳定最终性能ViTVision Transformer在后期表现最佳过拟合迹象部分模型在Epoch 7后出现轻微过拟合模型性能对比下图比较了8个模型的最佳验证准确率 实验发现与建议发现一模型复杂度与性能的关系中等复杂度模型如ResNet-50、EfficientNet在精度和效率上达到最佳平衡过复杂模型如ViT需要更多数据才能发挥优势过简单模型如LeNet难以捕捉病害的细微特征发现二数据增强的重要性在数据量有限的情况下适当的数据增强可提升3-5%的准确率针对叶片图像旋转和翻转增强效果最明显发现三类别不均衡的影响小菜蛾类别识别准确率最高94%潜叶蝇类别由于样本最少识别准确率相对较低86%建议采用类别权重或过采样技术改善不均衡问题 模型部署建议基于实验结果推荐以下部署策略服务器端部署使用 ResNet-50 或 EfficientNet-b1追求最高准确率移动端部署使用 MobileNet-v3 或 ShuffleNet平衡精度与速度边缘设备部署使用量化后的 MobileNet-v2减少内存占用 未来优化方向集成学习结合多个模型的预测结果提升鲁棒性注意力机制在CNN基础上添加注意力模块关注病害关键区域迁移学习使用在植物病害数据集上预训练的模型数据扩充使用GAN生成更多潜5. 项目总结与摘要 项目概述本项目是一个基于Django PyTorch的白菜病害图像识别系统专注于识别白菜叶片的三种常见病害小菜蛾、潜叶蝇和霜霉病。系统实现了从数据准备、模型训练到Web应用部署的完整深度学习实践流程。 核心功能多模型支持集成12种经典深度学习模型LeNet、AlexNet、ResNet、MobileNet、EfficientNet、ViT等智能识别上传白菜叶片图片快速返回病害类别及置信度数据可视化提供数据集统计、训练曲线、模型性能对比等可视化展示用户友好界面响应式设计支持拖拽上传实时预览识别结果 数据集特点规模总计2,878张图片训练集2,301张测试集577张类别小菜蛾1,793张、潜叶蝇333张、霜霉病752张划分按8:2比例划分训练集和测试集格式标准ImageFolder格式便于PyTorch直接加载 模型性能最佳模型ResNet-50达到92.3%验证准确率高效模型EfficientNet-b1在参数量较少的情况下取得91.8%准确率轻量级优选MobileNet-v3在移动端部署中表现最佳88.5%准确率 技术栈亮点后端Django 4.x提供稳定Web服务深度学习PyTorch 2.x支持多种预训练模型数据处理PIL/OpenCV进行图像预处理可视化Matplotlib/Seaborn生成训练图表前端Bootstrap实现响应式界面 关键发现模型选择中等复杂度模型如ResNet-50、EfficientNet在精度和效率上达到最佳平衡数据增强旋转和翻转增强对叶片图像识别效果显著可提升3-5%准确率类别均衡样本最少的潜叶蝇类别识别准确率相对较低86%建议采用过采样技术 应用价值教育用途完整的深度学习项目实践案例适合教学和毕业设计农业应用为农业病虫害智能识别提供技术原型研究参考对比多种模型在特定数据集上的表现为相关研究提供基准 未来展望模型优化引入注意力机制关注病害关键区域数据扩充使用GAN技术生成更多样本缓解类别不均衡部署扩展支持移动端和边缘设备部署扩大应用场景功能增强添加病害严重程度评估和防治建议功能✅ 项目完成度数据集准备与预处理多模型训练与评估Web应用开发与部署结果可视化与分析移动端应用开发未来计划实时视频识别功能未来计划总结本项目成功构建了一个功能完整的白菜病害识别系统验证了深度学习在农业病虫害识别中的可行性为后续研究和应用开发奠定了坚实基础。叶蝇样本缓解类别不均衡
白菜病害智能识别系统项目报告
发布时间:2026/7/2 14:51:32
1. 项目简介本项目是一个基于Django后端框架与PyTorch深度学习框架的白菜病害图像识别系统。系统主要针对白菜叶片常见的三种病害进行智能识别与分类小菜蛾backmoth潜叶蝇leafminer霜霉病mildew 项目目标技术实践提供一个完整的深度学习图像分类项目实践案例涵盖数据准备、模型训练、结果评估到Web应用部署的全流程农业应用探索AI技术在农业病虫害识别领域的实际应用价值教学参考为学习计算机视觉和Web开发的同学提供可复现的参考项目️ 技术栈后端框架Django 4.x深度学习框架PyTorch 2.x前端技术HTML/CSS/JavaScript Bootstrap数据处理PIL/Pillow、OpenCV可视化Matplotlib、Seaborn 系统功能模型选择支持多种预训练模型切换图像上传支持单张白菜叶片图片上传实时识别快速返回病害类别及置信度数据统计展示数据集分布和训练结果结果可视化提供训练过程曲线和模型性能对比本项目适合作为深度学习入门项目、毕业设计选题或农业AI应用的原型系统。2. 首页效果截图下图展示了系统首页的完整界面布局通过 Django 模板引擎渲染生成️ 页面布局解析左侧区域 - 数据集概览类别统计以卡片形式展示三种病害的样本数量样例展示每个类别提供代表性的白菜叶片图片数据分布直观显示训练集与测试集的比例关系中部区域 - 核心功能模型选择下拉框支持 AlexNet、ResNet、EfficientNet 等多种模型默认选中效果最佳的模型实时切换无需刷新页面图片上传区域支持拖拽上传和文件选择两种方式实时预览上传的图片文件格式验证JPG、PNG识别结果展示显示识别图片的缩略图展示预测的病害类别显示置信度百分比记录使用的模型名称右侧区域 - 辅助信息系统状态显示当前模型加载状态识别历史最近几次识别记录的简要展示使用说明简要的操作指引 设计特点响应式布局适配不同屏幕尺寸简洁配色以绿色为主色调契合农业主题直观交互按钮和表单元素具有明确的视觉反馈数据可视化图表和统计信息直观易懂3. 数据集说明 数据集结构数据集存储在djangoProject/data_set/baicai/目录下采用标准的 ImageFolder 格式组织baicai/ ├── train/ # 训练集 │ ├── backmoth/ # 小菜蛾类别 │ │ ├── 001.jpg │ │ ├── 002.jpg │ │ └── ... │ ├── leafminer/ # 潜叶蝇类别 │ └── mildew/ # 霜霉病类别 └── test/ # 测试集 ├── backmoth/ ├── leafminer/ └── mildew/ 数据统计详情病害类别训练集数量测试集数量总计训练集占比小菜蛾backmoth1,434 张359 张1,793 张80.0%潜叶蝇leafminer266 张67 张333 张79.9%霜霉病mildew601 张151 张752 张79.9%总计2,301 张577 张2,878 张79.9% 数据特点分析类别不均衡小菜蛾样本最多1,793张潜叶蝇样本最少333张标准划分按照约 8:2 的比例划分训练集和测试集图像质量所有图片均为白菜叶片特写背景相对统一标注准确每个类别文件夹内的图片都经过人工验证️ 样本可视化下图展示了每个类别的典型样本图片及对应的数量统计图片说明第一行小菜蛾病害样本 - 叶片出现不规则蛀孔第二行潜叶蝇病害样本 - 叶片内部出现白色隧道状痕迹第三行霜霉病病害样本 - 叶片表面出现灰白色霉层底部统计图直观展示各类别的训练集和测试集数量对比⚙️ 数据加载方式训练脚本使用 PyTorch 的ImageFolder类自动读取数据fromtorchvisionimportdatasets,transforms# 数据预处理transformtransforms.Compose([transforms.Resize((224,224)),transforms.ToTensor(),transforms.Normalize(mean[0.485,0.456,0.406],std[0.229,0.224,0.225])])# 加载训练集train_datasetdatasets.ImageFolder(rootdjangoProject/data_set/baicai/train,transformtransform)# 加载测试集test_datasetdatasets.ImageFolder(rootdjangoProject/data_set/baicai/test,transformtransform) 数据增强策略为提升模型泛化能力训练时采用了以下数据增强技术随机水平翻转概率 0.5随机旋转角度范围 ±15°颜色抖动亮度、对比度、饱和度微调随机裁剪224×224 像素 注意事项数据集路径在配置文件中可调整支持添加新的病害类别只需创建对应文件夹建议图片尺寸统一为 224×224 像素以适配大多数预训练模型数据集已按类别划分无需额外标签文件4. 模型与训练结果可视化 支持的深度学习模型本项目集成了12种经典的图像分类模型涵盖从传统CNN到现代Transformer架构模型类别具体模型参数量级特点经典CNNLeNet、AlexNet1-60M基础卷积网络适合教学演示深度残差ResNet-18/34/5011-25M残差连接缓解梯度消失轻量级MobileNet-v2/v3、ShuffleNet2-5M移动端友好计算效率高密集连接DenseNet-1218M特征重用参数效率高高效网络EfficientNet-b0/b15-7M复合缩放精度-效率平衡规则化RegNet5-20M设计空间搜索结构规则视觉TransformerViT-B/16、Swin-T80-90M自注意力机制全局建模 训练过程可视化验证准确率趋势分析下图展示了5个代表性模型在训练过程中的验证准确率变化Epoch 3-8关键观察收敛速度EfficientNet 和 MobileNet 收敛最快3个epoch后趋于稳定稳定性Swin Transformer 波动最小训练过程最稳定最终性能ViTVision Transformer在后期表现最佳过拟合迹象部分模型在Epoch 7后出现轻微过拟合模型性能对比下图比较了8个模型的最佳验证准确率 实验发现与建议发现一模型复杂度与性能的关系中等复杂度模型如ResNet-50、EfficientNet在精度和效率上达到最佳平衡过复杂模型如ViT需要更多数据才能发挥优势过简单模型如LeNet难以捕捉病害的细微特征发现二数据增强的重要性在数据量有限的情况下适当的数据增强可提升3-5%的准确率针对叶片图像旋转和翻转增强效果最明显发现三类别不均衡的影响小菜蛾类别识别准确率最高94%潜叶蝇类别由于样本最少识别准确率相对较低86%建议采用类别权重或过采样技术改善不均衡问题 模型部署建议基于实验结果推荐以下部署策略服务器端部署使用 ResNet-50 或 EfficientNet-b1追求最高准确率移动端部署使用 MobileNet-v3 或 ShuffleNet平衡精度与速度边缘设备部署使用量化后的 MobileNet-v2减少内存占用 未来优化方向集成学习结合多个模型的预测结果提升鲁棒性注意力机制在CNN基础上添加注意力模块关注病害关键区域迁移学习使用在植物病害数据集上预训练的模型数据扩充使用GAN生成更多潜5. 项目总结与摘要 项目概述本项目是一个基于Django PyTorch的白菜病害图像识别系统专注于识别白菜叶片的三种常见病害小菜蛾、潜叶蝇和霜霉病。系统实现了从数据准备、模型训练到Web应用部署的完整深度学习实践流程。 核心功能多模型支持集成12种经典深度学习模型LeNet、AlexNet、ResNet、MobileNet、EfficientNet、ViT等智能识别上传白菜叶片图片快速返回病害类别及置信度数据可视化提供数据集统计、训练曲线、模型性能对比等可视化展示用户友好界面响应式设计支持拖拽上传实时预览识别结果 数据集特点规模总计2,878张图片训练集2,301张测试集577张类别小菜蛾1,793张、潜叶蝇333张、霜霉病752张划分按8:2比例划分训练集和测试集格式标准ImageFolder格式便于PyTorch直接加载 模型性能最佳模型ResNet-50达到92.3%验证准确率高效模型EfficientNet-b1在参数量较少的情况下取得91.8%准确率轻量级优选MobileNet-v3在移动端部署中表现最佳88.5%准确率 技术栈亮点后端Django 4.x提供稳定Web服务深度学习PyTorch 2.x支持多种预训练模型数据处理PIL/OpenCV进行图像预处理可视化Matplotlib/Seaborn生成训练图表前端Bootstrap实现响应式界面 关键发现模型选择中等复杂度模型如ResNet-50、EfficientNet在精度和效率上达到最佳平衡数据增强旋转和翻转增强对叶片图像识别效果显著可提升3-5%准确率类别均衡样本最少的潜叶蝇类别识别准确率相对较低86%建议采用过采样技术 应用价值教育用途完整的深度学习项目实践案例适合教学和毕业设计农业应用为农业病虫害智能识别提供技术原型研究参考对比多种模型在特定数据集上的表现为相关研究提供基准 未来展望模型优化引入注意力机制关注病害关键区域数据扩充使用GAN技术生成更多样本缓解类别不均衡部署扩展支持移动端和边缘设备部署扩大应用场景功能增强添加病害严重程度评估和防治建议功能✅ 项目完成度数据集准备与预处理多模型训练与评估Web应用开发与部署结果可视化与分析移动端应用开发未来计划实时视频识别功能未来计划总结本项目成功构建了一个功能完整的白菜病害识别系统验证了深度学习在农业病虫害识别中的可行性为后续研究和应用开发奠定了坚实基础。叶蝇样本缓解类别不均衡