CalData|食材识别数据集|饮食管理数据集
收藏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

Tropicos
Tropicos是一个全球植物名称数据库,包含超过130万种植物的名称、分类信息、分布数据、图像和参考文献。该数据库由密苏里植物园维护,旨在为植物学家、生态学家和相关领域的研究人员提供全面的植物信息。
www.tropicos.org 收录
MedDialog
MedDialog数据集(中文)包含了医生和患者之间的对话(中文)。它有110万个对话和400万个话语。数据还在不断增长,会有更多的对话加入。原始对话来自好大夫网。
github 收录
ClinicalTrials.gov
Provides patients, family members, health care professionals, and members of the public easy access to information on clinical trials for a wide range of diseases and conditions.
OPEN DATA NETWORK 收录
张家口市下花园区-房屋建筑业-应建防空地下室的民用建筑项目报建审批数据
该数据资源为张家口市下花园区数据和政务服务局在履行应建防空地下室的民用建筑项目报建审批过程中产生,包含建设单位、工程名称等具体信息,可用于防空地下室信息查询,有助于行业主管部门监督管理。
国家公共数据资源登记平台 收录
TimeExtractor
该数据集由JioNLP创建,旨在微调大型语言模型(LLMs)以从文本中提取时间实体,并将其标准化为JSON格式。数据集分为两部分:general.json包含从各种新闻来源提取的样本,smartspeaker.json包含从语音助手获取的样本。提取过程首先从文本中提取原始时间实体字符串,然后通过大型模型进行标准化处理,最终结果可以输入到JioNLP的时间解析模块jio.parse中进行处理,以获得准确可靠的结果。数据集目前规模较小,未来可以通过添加各种类型的文本来扩展。
huggingface 收录