面向生鲜收银的果蔬识别与计价系统:拍照或选示例图识别果蔬类别,带出单价,输入重量即完成计价,结算生成订单与小票;识别不确定时提示人工确认并允许手选,保证识别失败也能正确结账。模型用 MobileNetV3-Small 迁移学习,并与传统特征基线做对比实验(84.17% → 94.17%)。
技术栈
Python、PyTorch、torchvision、Django、ECharts、MySQL
功能模块
- 对比实验:传统特征基线(HSV 直方图 + 形状中心矩 + kNN)84.17% vs 迁移学习(MobileNetV3-Small)94.17%,macro-F1 0.9408
- 自建程序化渲染数据集:10 类 ×(240 训练 + 60 验证)= 3000 张 80×80,固定种子可复现,刻意设置三对易混淆类别
- 误差分析:最弱类别圆白菜 F1 0.826(召回 0.750),混淆矩阵显示被误判为颜色相近的青苹果;同为绿色系的青椒 F1 0.983 说明学到了形状特征
- 低置信兜底:Top1 概率低于 60% 提示人工确认,并可随时手选商品——识别失败也能结账
- 收银台双栏:左栏识别(Top-3 概率条 + 自动带出单价),右栏当前小票与应收合计
- 计价与出票:Decimal 定点,金额 = 单价 × 重量 量化到 0.01 元;明细保存单价快照,小票可回查
- 预处理与训练严格一致(Resize 80 + ImageNet 归一化),单张识别约 15ms(CPU)
- 经营统计:识别次数、低置信占比、采纳率、平均置信度、类别分布、近 14 天识别与营收趋势
运行环境
- 编程语言:Python 3.8 及以上
- 深度学习:PyTorch 2.2 + torchvision(MobileNetV3-Small 迁移学习,模型随包交付)
- Web 框架:Django 4.2
- 推理环境:CPU 即可(单张约 15ms),GPU 非必需
- 数据库:MySQL 8.0(交付默认 SQLite,免安装)
- 可视化:ECharts 5(已内置本地文件,离线可用)
- 数据集:程序化渲染的仿真数据集(10 类 3000 张,固定种子可复现)
- 操作系统:Windows / macOS / Linux
- 启动方式:双击一键脚本,或 python manage.py runserver 8082
界面截图










文档预览
交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览:



交付内容
- 完整源码(Django + PyTorch 工程:数据集渲染器、训练脚本、推理服务、收银台)
- 训练好的模型 ml/artifacts/model.pt 与对比实验指标 metrics.json(含混淆矩阵)
- 演示数据库(10 种商品、30 张示例图、订单与识别日志)
- 毕业设计任务书(Word)
- 开题报告(Word)
- 毕业论文(Word,七章制,含对比实验与混淆矩阵误差分析)
- 系统使用与二次开发说明(Word + md)
- 10 张系统运行截图