CalData
收藏资源简介:
CalData是一个专门为食材识别和卡路里估算任务设计的数据集,由卡内基梅隆大学的研究团队创建。该数据集包含33万张图像-文本对,来源于Recipe1M+数据集并补充了详细的营养信息。数据集的创建过程结合了大规模食谱数据和营养指导,确保了视觉语言模型的稳健训练。CalData主要应用于个性化饮食管理领域,旨在通过图像识别技术简化卡路里估算流程,提升用户的饮食健康管理体验。
CalData is a dataset specifically designed for food ingredient recognition and calorie estimation tasks, created by the research team at Carnegie Mellon University. This dataset contains 330,000 image-text pairs, which are derived from the Recipe1M+ dataset and supplemented with detailed nutritional information. The dataset's development process combines large-scale recipe data and nutritional guidelines, ensuring robust training for vision-language models. CalData is primarily applied in the field of personalized diet management, aiming to simplify the calorie estimation workflow via image recognition technology and improve users' dietary health management experience.
CaLoRAify: Calorie Estimation with Visual-Text Pairing and LoRA-Driven Visual Language Models
概述
CaLoRAify 是一个新颖的项目,旨在通过利用视觉-语言模型(VLMs)、微调技术和检索增强生成(RAG)方法来估计餐食的卡路里含量,从而应对肥胖问题。该系统充当一个虚拟营养师,根据餐食照片为用户提供卡路里分析和饮食建议。
特点
- 食材识别:分析餐食图像以识别单个食材。
- 卡路里估计:使用先进的模型如MiniGPT-4进行精确的卡路里计算。
- 检索增强生成(RAG):通过科学的营养数据增强估计。
- 交互式反馈:支持多轮对话,根据用户反馈重新计算结果。
- 现实世界适应性:解决食物展示多样性和食材复杂性带来的挑战。
方法论
1. 数据来源
- Recipe1M+ 数据集:用于食材识别的基础数据集。
- USDA食品卡路里数据库:用于细粒度营养数据的参考。
自建数据集存储在 这里。
2. 模型选择
- 微调MiniGPT-4,使用LoRA和QLoRA方法。
3. 损失函数
损失函数结合了交叉熵和均方误差(MSE):
$L = lambda_{CE}L_{CE} + lambda_{MSE}L_{MSE}$
调整权重 $lambda_{CE}$ 和 $lambda_{MSE}$ 以平衡任务。
4. 训练和评估
- 多任务学习:同时训练食材分类和卡路里估计。
- 评估指标:
- 精确度和召回率用于食材预测。
- **均方误差(MSE)**用于卡路里估计。
5. 推理
- 应用提示工程以减少餐食识别中的歧义。
- 实现交互式重新计算以支持动态用户交互。
安装
要求
- 至少48 GB内存的NVIDIA GPU
- 兼容CUDA的Python环境
设置
-
克隆仓库: bash git clone https://github.com/KennyYao2001/16824-CaLORAify.git cd 16824-CaLORAify
-
创建并激活环境: bash conda env create -f environment.yml conda activate minigptv
-
下载预训练的MiniGPT-4权重:
-
配置模型路径:
- 更新
eval_configs/minigptv2_eval.yaml文件中的路径以指向下载的权重。
- 更新
运行演示
在本地启动卡路里估计演示: bash python demo_v2.py --cfg-path eval_configs/minigptv2_eval.yaml --gpu-id 0




