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

NCBI
美国国家生物技术信息中心(NCBI)是一个国际知名的生物信息学数据库和研究机构,提供广泛的生物医学数据资源和工具。其官方网站涵盖了基因组学、蛋白质组学、生物医学文献等多个领域的数据,为全球科研人员、临床医生和学生提供免费访问和分析生物信息的平台,推动生命科学和医学研究的发展。
www.ncbi.nlm.nih.gov 收录
海天瑞声-超大规模中文多领域高质量多轮对话语料库
这是一个符合中国人表达习惯的自然对话数据集,共计约1,0000,000轮,上亿级token,包含正式&非正式风格对话,使用偏口语化自然表达。覆盖工作、生活、校园等场景,及金融、教育、娱乐、体育、汽车、科技等领域。在数据集构成上,DOTS-NLP-216包含了对真实场景的对话采集,及高度还原真实场景的模拟对话这两种方式,兼顾分布的代表性、多样性和样本规模。
魔搭社区 收录
The MaizeGDB
The MaizeGDB(Maize Genetics and Genomics Database)是一个专门为玉米(Zea mays)基因组学研究提供数据和工具的在线资源。该数据库包含了玉米的基因组序列、基因注释、遗传图谱、突变体信息、表达数据、以及与玉米相关的文献和研究工具。MaizeGDB旨在支持玉米遗传学和基因组学的研究,为科学家提供了一个集成的平台来访问和分析玉米的遗传和基因组数据。
www.maizegdb.org 收录
中国1km分辨率逐月降水量数据集(1901-2024)
该数据集为中国逐月降水量数据,空间分辨率为0.0083333°(约1km),时间为1901.1-2024.12。数据格式为NETCDF,即.nc格式。该数据集是根据CRU发布的全球0.5°气候数据集以及WorldClim发布的全球高分辨率气候数据集,通过Delta空间降尺度方案在中国降尺度生成的。并且,使用496个独立气象观测点数据进行验证,验证结果可信。本数据集包含的地理空间范围是全国主要陆地(包含港澳台地区),不含南海岛礁等区域。为了便于存储,数据均为int16型存于nc文件中,降水单位为0.1mm。 nc数据可使用ArcMAP软件打开制图; 并可用Matlab软件进行提取处理,Matlab发布了读入与存储nc文件的函数,读取函数为ncread,切换到nc文件存储文件夹,语句表达为:ncread (‘XXX.nc’,‘var’, [i j t],[leni lenj lent]),其中XXX.nc为文件名,为字符串需要’’;var是从XXX.nc中读取的变量名,为字符串需要’’;i、j、t分别为读取数据的起始行、列、时间,leni、lenj、lent i分别为在行、列、时间维度上读取的长度。这样,研究区内任何地区、任何时间段均可用此函数读取。Matlab的help里面有很多关于nc数据的命令,可查看。数据坐标系统建议使用WGS84。
国家青藏高原科学数据中心 收录
Breast Cancer Dataset
该项目专注于清理和转换一个乳腺癌数据集,该数据集最初由卢布尔雅那大学医学中心肿瘤研究所获得。目标是通过应用各种数据转换技术(如分类、编码和二值化)来创建一个可以由数据科学团队用于未来分析的精炼数据集。
github 收录