深度学习毕设

源自小红薯:香香金鱼草

01-24 20:44

本文详细拆解了基于深度学习的花卉识别毕业设计项目。内容涵盖了从数据集选取、模型训练与优化,到树莓派部署及前端开发的完整流程,分享了模型选择上的关键取舍和实践中踩坑的真实经历,为类似项目的开发者提供了极具参考价值的避坑指南与实操思路。

深度学习毕设智能速览

  • 数据集选用牛津大学102花卉,按7:2:1划分训练验证测试集。

  • 模型选择从ResNet50转为更轻量的ResNet18,最终获得更高准确率。

  • 结合交叉熵与Focal Loss,并启用早停机制,测试集准确率达95%。

  • 在无外设情况下成功将模型部署至树莓派4B,并解决连接难题。

  • 利用Flask搭建Web API,实现了本地图片上传和实时摄像头识别功能。

深度学习毕设精华内容

一个完整的深度学习项目落地,远不止模型训练那么简单。以下将深入从数据准备到部署上线的每个关键环节,拆解技术选型的思考与问题解决的实践。

数据与环境

项目选用牛津大学的102种花卉公开数据集,包含超过8000张图片,并按照7:2:1的比例划分为训练集、验证集和测试集,为模型提供了坚实的数据基础。

在深度学习环境搭建上,硬件采用荣耀轻薄本,软件配置为Miniconda、Python 3.9、PyTorch 1.13.1及CUDA 11.6。初期配置PyCharm与Conda虚拟环境的联动花费了大量时间,这是新手常遇到的第一个挑战。

模型抉择

初期计划采用ResNet50并结合CBAM注意力机制,但在轻薄本上运行困难,且训练结果未达预期——加入注意力机制的模型准确率反而更低,可能源于模块集成问题。

这一意外结果促使调整策略,最终转向更轻量的ResNet18网络,且未添加额外模块。实践证明,ResNet18不仅训练效率更高,其最终的识别准确率也超过了更复杂的模型,成为该项目的最优解。

训练策略

模型训练环节,通过设置合理的训练轮次与耐心值,并采用交叉熵损失函数结合Focal Loss的策略,以应对样本不均衡问题。

为防止过拟合,启用了早停机制。最终模型在测试集上达到了95%的识别准确率,验证集准确率为94%,表明模型具备了良好的泛化能力,满足了毕业设计的要求。

部署实践

项目最终的部署平台选择了树莓派4B,旨在构建一个独立的识别服务。一个关键决策是未进行模型裁剪与量化,直接导出FP32模型进行部署。

在无显示屏和键盘的情况下,通过PC终端进行SSH连接是主要难题。通过在树莓派官网下载系统烧录软件,成功解决了网络配置和IP地址查找问题,实现了远程连接与部署。

应用开发

利用Flask框架搭建了花卉识别的API服务,将树莓派转变为一个AI识别服务器,供网页调用。开发过程中主要解决了两个问题:一是修正了标签转换错误导致的花卉分类错乱;二是通过修改代码和调整权限,解决了PC摄像头无法正常调用的问题。

最终实现了本地图片上传和实时摄像头拍照两项核心识别功能,并能展示花卉的中英文名称及生长习性信息,形成了一个完整的应用闭环。

该项目完整地呈现了从算法研究到工程落地的全过程,其价值在于真实记录了技术选型中的权衡与工程实践中的挑战。对于即将开展类似课题的学生而言,这份详尽的复盘不仅提供了可复现的技术路径,更是一次宝贵的“避坑”经验分享。如何进一步优化模型性能与部署效率,是值得继续探索的方向。

深度学习毕设关键评论

  • 我是深度学习鸟类识别,用resnet50缝注注意力模块,train accuracy 98%, Val accuracy 才84% 一直上不去。

  • 友友,你代码是下载的成熟的模型吗?我不懂复现是下载已有的代码还是按照论文说的那样写代码,如果直接用已有的代码那不就不是自己做的了嘛。

  • 可以问下uu你大概做这个花了多长时间吗,如果是之前没学过相关内容的话会很难吗?

  • 不租服务器跑吗 我也是轻薄本。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章