随着人工智能技术的快速发展,基于深度学习的图像识别技术在智能推荐、医疗分析及遥感解译等领域得到了广泛应用。对于传统饮食推荐系统而言,饮食记录通常依赖人工录入、缺乏智能分析等问题,本文设计并实现了一种基于深度学习的健康饮食分析推荐系统中的图像识别模块。
点击空白处退出提示
随着人工智能技术的快速发展,基于深度学习的图像识别技术在智能推荐、医疗分析及遥感解译等领域得到了广泛应用。对于传统饮食推荐系统而言,饮食记录通常依赖人工录入、缺乏智能分析等问题,本文设计并实现了一种基于深度学习的健康饮食分析推荐系统中的图像识别模块。
整体架构可以理解成一个典型的“云端训练 + 本地推理部署”的混合系统。训练阶段,所有模型(YOLOv8、YOLOv26、ResNet、MobileNet)都在Python环境里完成训练和评估,并且统一用同一份数据集和相同的数据划分方式,保证对比结果公平。训练完之后,最优模型会被导出成部署格式(比如TFLite),用来做移动端推理。在部署阶段,系统主要有两种运行方式:一种是通过Python后端提供API服务,Java(Android)端用HTTP请求调用接口拿识别结果;另一种是直接把轻量化的TFLite模型塞进Android端,做到完全离线推理。这两种方式我们在系统里都做了实现和验证,方便比较不同部署方式的实际效果。
从功能流程来看,系统主要包含这么几个关键模块:第一个是模型训练模块。这部分基于PyTorch和Ultralytics框架实现,负责数据加载、模型训练、验证和性能评估。在这个阶段,我们会统一设置训练参数(比如Epoch、Batch Size、输入尺寸等),确保不同模型之间可比。第二个是模型推理与服务模块。这部分主要用Spring Boot加FastAPI来实现,把训练好的模型封装成接口服务。后端负责接收图像数据,做完预处理后丢进模型推理,再把结果以JSON格式返回,然后对接营养数据库,生成完整的识别数据。这种做法的好处是模型更新灵活,不用重新打包App就能换模型版本。第三个是移动端应用模块,基于Android开发。用户可以通过拍照或者从相册选图来做食物识别。App内部用封装好的TFLite推理类完成图像预处理和模型推理,界面上展示Top-K预测结果和置信度。最后是营养数据库对接模块。这部分主要依赖上一个模块推理得到的分类结果,根据识别出的类别去营养数据库里查找对应的营养成分,然后把整合好的数据以JSON格式返回给前端或移动端。
1. 深度学习部分
开发语言
Python
深度学习框架
PyTorch
模型
ResNet50
MobileNetV3
YOLOv8-cls
YOLOv26-cls
数据处理
NumPy
Pandas
Pillow(PIL)
Torchvision
数据可视化
Matplotlib
模型部署
TensorFlow Lite(TFLite)
2. 后端服务部分
Java后端
开发框架:
Spring Boot
主要功能:
接收客户端上传图片
文件校验
调用Python推理服务
返回识别结果
使用技术:
RestTemplate
MultipartFile
JSON数据交互
Python推理服务
开发框架:
FastAPI
主要功能:
加载训练好的YOLO分类模型
图像预处理
模型推理
返回Top1和Top5预测结果
3. Android移动端
开发语言:
Kotlin
核心技术:
Android SDK
TensorFlow Lite
Camera API
FileProvider
Activity Result API
主要功能:
拍照识别
相册识别
本地模型推理
结果展示






评论