AI源码
AI源码AI 精选 · 优质源码 · 助力学习

基于深度学习的热带水果检测系统设计与实现

基于 Flask 与 YOLOv8 的水果智能检测平台,可对苹果、香蕉、葡萄、橙子、菠萝、西瓜六类水果自动定位、分类与置信度评估,提供批量检测、历史记录、统计分析、模型在线训练与报告导出,数据集来自 Kaggle Fruits-detection。

评分:4.8/5.0
销量:6
发布:2026/7/6
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

基于深度学习的热带水果检测系统设计与实现

项目简介

本系统是一个基于 Flask Web 框架与 YOLOv8 深度学习模型的水果智能检测平台。系统面向水果识别与分类场景,能够对上传图片中的苹果、香蕉、葡萄、橙子、菠萝、西瓜等六类水果进行自动定位、分类与置信度评估,并提供批量检测、历史记录、统计分析、模型在线训练与报告导出等完整功能。

系统使用 Kaggle 公开水果检测数据集(Fruits-detection)进行模型训练,管理员可在线发起模型重新训练,训练完成后自动加载新权重。


功能模块

模块功能说明
用户认证用户注册、登录、退出;基于 Flask-Login 的会话管理;管理员与普通用户两级角色权限控制
控制台展示总检测次数、检出水果数、今日检测、系统用户数等核心指标,近 7 天检测趋势折线图,快捷操作入口与最近检测记录列表
单张检测支持拖拽或点击上传单张图片,实时执行 YOLOv8 推理,返回标注结果图、水果数量、各类别置信度与边界框坐标,并自动保存检测记录
批量检测一次上传多张图片(最多 20 张)批量处理,展示每张图片的检测结果缩略图与水果数量,支持失败重试提示
检测历史检测记录分页浏览与关键词搜索,查看检测详情(原图、结果图、检测框列表),删除记录,导出 CSV 与 PDF 报告
统计分析水果类别分布饼图、月度检测趋势柱状图、总检测/检出/未检出/检出率/平均耗时/平均置信度等汇总指标,所有数据按当前用户权限范围统计
数据集管理展示水果检测数据集信息(总图片数、训练/验证/测试集划分、类别说明、数据集路径与更新时间),提供数据集手动准备说明
模型训练管理员可配置训练轮次、批次大小、图片尺寸并启动 YOLOv8 在线训练,实时查看训练状态与完成后的 mAP50、精确率、召回率等指标,查看训练历史记录
系统设置管理员可调整检测置信度阈值、NMS IOU 阈值、最大上传大小、自动保存开关等系统参数
用户管理管理员查看所有用户列表,启用/禁用用户账户
操作日志管理员查看登录、检测、训练、设置变更等操作日志,支持分页
报告导出一键导出检测记录为 PDF 报告或 CSV 表格

水果类别

系统支持检测以下六类水果:

类别 ID英文名称中文名称说明
0Apple苹果蔷薇科苹果属果实,果皮红色
1Banana香蕉芭蕉科芭蕉属果实,果皮黄色
2Grape葡萄葡萄科葡萄属果实,成串生长
3Orange橙子芸香科柑橘属果实,果皮橙色
4Pineapple菠萝凤梨科凤梨属果实,外表多刺
5Watermelon西瓜葫芦科西瓜属果实,果皮绿色

标准版目录结构

python-deeper-study-redaishuiguo-jiance/
├── app.py                         # Flask 应用主入口,页面路由与 API 接口定义
├── config.py                      # 系统配置(密钥、数据库路径、模型路径、类别映射、分页参数)
├── requirements.txt               # Python 依赖包清单
├── mac_run.sh                     # macOS/Linux 一键启动脚本
├── window_run.bat                 # Windows 一键启动脚本
├── cleanup.py                     # 数据清理脚本(清除运行数据,保留用户与设置)
├── 项目说明.md                    # 项目功能与目录结构说明
├── 训练手册.md                    # 模型训练与数据集使用手册
├── 数据清理说明.md                # 数据清理脚本使用说明
├── database/
│   └── models.py                  # SQLite 数据库表结构定义、初始化与操作日志记录
├── ml/
│   ├── detect.py                  # YOLOv8 检测引擎封装(模型加载、单张/批量检测、结果绘制)
│   ├── train.py                   # YOLOv8 模型训练脚本(训练、指标读取、任务状态更新)
│   ├── data/
│   │   └── tropical_fruit/        # 水果检测数据集(YOLO 格式)
│   │       ├── train/
│   │       │   ├── images/        # 训练集图片
│   │       │   └── labels/        # 训练集标签(YOLO txt)
│   │       ├── valid/
│   │       │   ├── images/        # 验证集图片
│   │       │   └── labels/        # 验证集标签
│   │       ├── test/
│   │       │   ├── images/        # 测试集图片
│   │       │   └── labels/        # 测试集标签
│   │       └── data.yaml          # 数据集配置文件
│   └── runs/
│       └── detect/
│           └── train/
│               ├── weights/       # 训练输出的模型权重(best.pt / last.pt)
│               ├── results.csv    # 训练指标记录
│               └── args.yaml      # 训练参数配置
├── templates/                     # Jinja2 HTML 模板
│   ├── base.html                  # 基础模板(导航栏、本地资源引用)
│   ├── index.html                 # 首页
│   ├── login.html                 # 登录页
│   ├── register.html              # 注册页
│   ├── dashboard.html             # 控制台
│   ├── detect.html                # 单张检测页
│   ├── batch_detect.html          # 批量检测页
│   ├── history.html               # 检测历史页
│   ├── statistics.html            # 统计分析页
│   ├── dataset.html               # 数据集管理页
│   ├── training.html              # 模型训练页
│   ├── settings.html              # 系统设置页
│   ├── users.html                 # 用户管理页
│   ├── logs.html                  # 操作日志页
│   └── error.html                 # 错误页
├── static/
│   ├── css/
│   │   └── style.css              # 自定义样式
│   ├── js/
│   │   └── common.js              # 公共工具函数
│   ├── lib/                       # 本地前端资源(无需 CDN)
│   │   ├── bootstrap/             # Bootstrap 5.3 CSS/JS
│   │   ├── bootstrap-icons/       # Bootstrap Icons 字体与 CSS
│   │   └── echarts/               # ECharts 5.5 图表库
│   ├── demo/                      # 演示图片(各类水果示例)
│   ├── uploads/                   # 上传图片存储目录
│   └── results/                   # 检测结果图存储目录
├── instance/
│   └── tropical_fruit.db          # SQLite 数据库文件(自动生成)
├── .gitignore                     # Git 忽略规则
├── 运行步骤必看/
│   └── window.md                  # Windows 运行步骤说明
├── 用户上传检测文件/              # 测试用图片与检测效果展示
│   ├── Apple.jpg                  # 苹果示例图
│   ├── Banana.jpg                 # 香蕉示例图
│   ├── Grape.jpg                  # 葡萄示例图
│   ├── Orange.jpg                 # 橙子示例图
│   ├── Pineapple.jpg              # 菠萝示例图
│   ├── Watermelon.jpg             # 西瓜示例图
│   ├── multi_fruits.jpg           # 多水果示例图
│   ├── 检测效果_橙子.jpg          # 检测效果展示图
│   └── 检测效果_苹果.jpg          # 检测效果展示图
├── 演示材料/
│   └── 演示视频.mp4               # 系统演示视频
└── yolov8s.pt                     # YOLOv8s 预训练权重(COCO 基线模型)

技术栈

类别技术
后端框架Python 3.12 + Flask 3.0
用户认证Flask-Login 0.6 + Werkzeug pbkdf2:sha256 密码哈希
数据库SQLite 3
深度学习Ultralytics YOLOv8 8.4(目标检测)
图像处理OpenCV(opencv-python-headless)+ Pillow
数据处理NumPy + Pandas
前端HTML5 + Bootstrap 5.3 + Bootstrap Icons + ECharts 5.5
报告生成ReportLab(PDF 导出)
数据集来源Kaggle - Fruit Detection 公开数据集

环境要求

项目要求
Python3.12
操作系统Windows / macOS / Linux
内存建议 4GB 以上(模型推理与训练时使用)
磁盘约 2GB(含依赖、数据集与模型权重)
GPU可选,支持 CUDA / Apple MPS / CPU 自动回退
浏览器Chrome / Firefox / Safari / Edge 现代版本

账号信息

系统初始化时自动创建以下默认账户:

角色用户名密码权限
管理员adminadmin123全部功能,含模型训练、系统设置、用户管理、操作日志
普通用户useruser123检测、历史、统计、数据集查看

新注册用户默认为普通用户角色,仅能访问自身检测数据;管理员可查看全部用户数据。

技术分类

包含内容

完整源码
项目说明文档
演示材料
训练手册

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 6+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

城市交通流量预测与拥堵成因分析系统

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

电商用户行为漏斗与CRO转化率优化分析

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

基于 Python 的短视频用户行为分析系统

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875