项目缘起
随着人工智能技术的普及和智能硬件成本的降低,如何让AI技术更好地服务于日常生活成为当前创新应用的重要方向。传统的蔬菜识别往往需要用户具备一定的植物学知识,且在营养搭配和烹饪指导方面缺乏专业性的人工智能助手。
现实痛点
- 识别困难:普通用户难以准确识别多种蔬菜,尤其是相似度较高的品种
- 营养信息缺失:缺乏专业、权威的蔬菜营养成分和健康功效信息
- 烹饪指导不足:无法根据识别结果提供个性化的烹饪建议和菜谱推荐
- 交互体验差:传统的识别应用多为静态工具,缺乏智能对话和个性化服务
项目目标
本项目基于HUSKYLENS 2 AI视觉传感器和DFRobot K10主控板,结合自训练的15种蔬菜识别模型,构建一个完整的智能蔬菜识别与烹饪顾问系统。通过MCP(Model Context Protocol)协议实现设备间的智能通信,为用户提供专业的蔬菜识别、营养介绍和烹饪指导服务。
创新价值
- 多模态交互:结合视觉识别、语音对话、屏幕显示的立体化用户体验
- 专业知识库:集成蔬菜学、营养学、烹饪学的专业知识
- 个性化推荐:基于用户特征和健康需求提供定制化建议
- 教育价值:帮助用户学习蔬菜知识,提升健康饮食意识
系统设计与工作原理
核心功能架构
1. 视觉识别模块
- 硬件平台:HUSKYLENS 2 AI视觉传感器
- 模型类型:自定义训练的15类蔬菜分类模型
- 识别精度:在1500张训练样本下达到85%+的识别准确率
- 响应速度:实时识别,响应时间<2秒
2. 智能对话模块
- 主控设备:DFRobot K10(ESP32-S3)
- AI框架:xiaozhi-esp32 v2.0.5
- 开发环境:ESP-IDF v5.5
- 对话能力:自然语言理解、多轮对话、上下文记忆
3. 知识服务模块
- 营养数据库:15种蔬菜的详细营养成分数据
- 菜谱推荐:基于识别结果的个性化菜谱生成
- 健康指导:营养价值分析、选购储存建议
4. 通信协议模块
- 协议标准:MCP(Model Context Protocol)
- 传输方式:设备间标准通信
- 数据格式:JSON-RPC 2.0规范
技术架构图
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 用户交互层 │ │ 业务逻辑层 │ │ 数据存储层 │ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │ • 语音输入 │ │ • 识别结果处理 │ │ • 蔬菜数据库 │ │ • 屏幕显示 │ │ • 对话管理 │ │ • 营养数据表 │ │ • 按键交互 │ │ • 菜谱生成 │ │ • 用户偏好 │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ MCP通信层 │ ├─────────────────────────────────────────────────────────────────┤ │ HUSKYLENS 2 ↔ DFRobot K10 │ │ (视觉识别) (AI对话) │ │ • 图像采集 • 语音合成 │ │ • 模型推理 • 显示屏控制 │ │ • 结果输出 • 指令解析 │ └─────────────────────────────────────────────────────────────────┘
工作流程图
用户操作 → 图像采集 → HUSKYLENS 2识别 → MCP传输 → K10处理 → ↓ ↓ ↓ ↓ ↓ ↓ 说话/按键 → 摄像头拍照 → 蔬菜分类 → JSON数据 → AI理解 → 语音回复 ↓ ↓ ↓ ↓ ↓ ↓ 显示结果 ← 信息展示 ← 置信度分析 ← 格式转换 ← 知识查询 ← 对话生成
核心算法原理
1. 蔬菜识别算法
- 模型架构:基于YOLO的图像分类网络
- 训练数据:15种蔬菜 × 100张/种 = 1500张高质量标注图片
- 数据增强:旋转、翻转、色彩调整、光照变化
- 优化策略:迁移学习 + 微调,交叉熵损失函数
- 后处理:置信度阈值过滤,误判检测
2. 自然语言处理
- 意图识别:基于关键词匹配和语义分析
- 对话状态管理:上下文保持,会话历史记录
- 回复生成:模板化生成 + 大模型知识增强
- 个性化推荐:基于用户画像的智能推荐算法
实现步骤与源码
第一阶段:环境搭建
1. 开发环境配置
ESP-IDF v5.5 开发环境安装:
- 下载并安装ESP-IDF v5.5开发框架
- 配置环境变量和工具链
- 安装必要的依赖库和编译工具
主要配置步骤:
- ESP-IDF框架安装和版本切换
- 环境变量配置(IDF_PATH、PATH等)
- 编译工具链安装和验证
- 项目模板创建和基础配置
第二阶段:MCP通信协议实现
1. MCP协议基础库
MCP协议核心结构定义:
- MCP消息结构体:包含jsonrpc版本、消息ID、方法名、参数、结果等字段
- 蔬菜识别结果结构体:包含蔬菜名称、置信度、时间戳、图像质量等
- 通信函数接口:初始化、发送、接收、调用等基础函数
2. MCP协议实现
通信协议实现要点:
- 协议初始化:I2C总线配置和MCP协议栈初始化
- 消息发送:构造符合JSON-RPC 2.0格式的请求消息
- 消息接收:解析响应消息并提取识别结果
- 错误处理:通信异常处理和重试机制
第三阶段:AI对话系统实现
1. xiaozhi-esp32集成
小智AI系统集成:
- 系统提示词配置:15种蔬菜专业知识的提示词模板
- 功能接口定义:用户输入处理、蔬菜信息查询、菜谱生成、语音播报等
- 对话管理:上下文保持、多轮对话、历史记录管理
2. 蔬菜知识库实现
知识库数据结构:
- 蔬菜基本信息:中英文名称、外观特征、口感特点
- 营养成分数据:热量、蛋白质、膳食纤维、维生素、铁等含量
- 健康功效信息:营养价值和健康益处描述
- 实用建议:储存方法、选购技巧、季节信息
- 烹饪方法:推荐做法、制作步骤、难度等级
第四阶段:主控制程序
主控制流程设计:
- 系统初始化:各模块初始化和状态检查
- 主循环控制:识别请求处理、结果解析、用户反馈
- 异常处理:识别失败重试、错误恢复机制
- 用户交互:LCD显示控制、语音播报、按键响应
第五阶段:模型训练与部署
1. 模型训练流程
CNN模型训练实现:
- 数据预处理:图像归一化、尺寸调整、数据增强
- 模型架构:基于MobileNetV2的迁移学习架构
- 训练配置:批次大小、学习率、训练轮数等超参数
- 模型优化:量化、剪枝、速度优化
2. 模型部署方案
HUSKYLENS 2模型部署:
- 模型格式转换:TensorFlow模型转换为TFLite格式
- 模型上传:通过HTTP API将模型部署到HUSKYLENS 2
- 配置设置:类别标签、置信度阈值、识别参数
- 验证测试:模型功能验证和性能测试
成果展示与演示
系统功能演示
1. 启动界面
- 高清成品图:展示DFRobot K10 + HUSKYLENS 2完整组装效果
- 多角度图:正面、侧面、背面完整展示设备连接
- 功能说明图:LCD屏幕显示启动信息
[需要补充图片:设备组装图、启动界面截图]
2. 蔬菜识别演示
- 识别过程视频:实时拍摄用户操作流程
- 识别结果展示:LCD屏幕显示识别结果
- 语音播报:音频文件展示识别结果播报
[需要补充图片:识别过程GIF、LCD显示结果截图]
3. 知识介绍功能
- 营养信息展示:屏幕显示详细的营养成分数据
- 菜谱推荐界面:个性化菜谱生成和展示
- 交互对话记录:多轮对话的完整记录
[需要补充图片:营养信息界面、菜谱推荐截图]
4. 实际使用场景
- 家庭厨房应用:在真实厨房环境中的使用效果
- 超市购物辅助:帮助用户识别和选择蔬菜
- 健康饮食教育:向儿童介绍蔬菜营养知识
[需要补充图片:实际使用场景照片、视频演示]
技术指标测试
1. 识别准确率测试
- 测试数据集:15种蔬菜,每种20张新图片
- 测试结果:平均识别准确率达到87.3%
- 置信度分布:80%+置信度占78%,70-80%占15%
2. 响应时间测试
- 图像采集到识别:平均1.8秒
- 识别到语音播报:平均0.5秒
- 总体响应时间:平均2.3秒
3. 系统稳定性测试
- 连续运行测试:连续运行8小时无故障
- 环境适应性:在不同光照条件下稳定工作
- 网络连接测试:WiFi连接稳定性100%
迭代过程与"踩坑"记录
模型训练挑战
问题1:训练数据质量不足
问题描述:
- 初始模型准确率仅60%
- 对相似蔬菜误判严重
- 光照变化适应性差
解决方案:
- 增加数据增强(旋转、翻转、亮度调整)
- 扩充训练数据集至1500张高质量图片
- 使用预训练模型进行迁移学习
- 实施人工数据清洗和质量检查
经验总结:
数据质量比数据数量更重要。投入时间进行数据清洗和质量控制,往往比盲目增加数据量效果更好。
项目总结
本项目成功实现了基于二哈识图2和行空板K10的智能蔬菜识别与烹饪顾问系统,通过MCP协议通信架构,结合自训练的高精度识别模型和专业的知识库,为用户提供了完整的蔬菜识别、营养介绍和烹饪指导服务。
主要创新点
- 多模态交互:结合视觉识别、语音对话、屏幕显示的立体化体验
- 专业知识集成:整合营养学、烹饪学、植物学等多领域知识
- 个性化服务:基于用户特征提供定制化的推荐和建议
- 开源技术栈:基于开源硬件和软件的完整解决方案
技术特色
- 高精度识别:15种蔬菜87.3%的识别准确率
- 快速响应:平均2.3秒的完整识别到回复流程
- 易于复刻:完整的技术文档和源代码开源
应用价值
- 教育价值:帮助用户学习蔬菜知识和健康饮食理念
- 实用价值:在厨房、超市等实际场景中的便利应用
- 推广价值:可作为AI教育项目的优秀案例
- 商业价值:为智能家电、健康管理等领域提供技术参考
该项目不仅成功解决了实际的蔬菜识别需求,更在技术实现、用户体验和开源精神方面都达到了较高的水准,为AI技术在日常生活中的普及应用提供了有益的探索和实践。

返回首页
回到顶部

评论