Food Recognition and Nutrition Estimator Using Computer Vision and Machine Learning
Vijayaraghavan R · V. S. Anita Sofia
开发CrunchUP网页应用,拍照识别食物并估算营养,结合个人目标给出膳食建议。
FastAPI+React架构,Gemini 2.5 Flash视觉模型识别食物
视觉语言服务能降低饮食记录负担,但结果应作参考而非临床测量。
可研究校准份量参考、可信食物数据库与置信度报告,提升营养估算准确性。
该文介绍的是面向个人膳食记录的食物识别与营养估算应用,属于通用健康信息化,与三农、农业信息化、智慧农业无直接关联,不建议进入每日精选。
食物记录只有在足够简单、能够成为习惯时才会奏效。传统的营养项目往往要求用户浏览食物列表、选择一种食物、猜测份量,然后对一餐中的每一种食物重复这一过程。CrunchUP通过使用一张餐食照片来创建营养记录,从而解决了这一摩擦。该系统是一个完整的Web应用程序:用户上传图片或使用相机拍照,FastAPI服务对图像进行检查和标准化,Google Gemini视觉模型识别图像中可见的食物,并估算数量、热量、蛋白质、碳水化合物、脂肪和纤维。响应经过验证,转换为应用程序对象,展示给用户,并可选地存储于PostgreSQL中。个人档案中的信息包括身高、体重、年龄、性别、活动水平和健身目标。这些数值用于计算BMI、依据Mifflin–St Jeor公式计算基础代谢率、每日总能量消耗、以目标为导向的热量调整以及宏量营养素目标。这项工作之所以重要,是因为它将识别、营养估算、个人目标、餐食历史、趋势和用于决策的反馈整合到单一流程中。本报告描述了需求、文献背景、架构、数据库设计、算法、安全措施、实现、验证策略、限制以及未来的扩展。关注点分离在代码库中清晰可见:客户端具有响应式设计(React、Vite);服务与数据层已实现(FastAPI、Pydantic、SQLAlchemy);访问受到保护(JWT、bcrypt);图像经过标准化处理(Pillow);多模态输出按模式塑形(Gemini 2.5 Flash)。仪表盘整合摄入信息,并将进度数据转化为易于理解的建议。一个关键发现是,定义良好的视觉-语言服务有助于减轻饮食记录负担,但必须将其解读为参考指导,而非临床测量。未来工作需要包括校准份量参照、经验证的食物数据库、置信度报告、文化上更广泛的评估、个性化餐食推荐,以及开发基于原生应用平台“React Native”的移动应用。