FoodX-251 食物分类计算机视觉数据集-130,470张图片 食物识别 图像分类 深度学习 智能餐饮 健康管理 食品电商 多模态学习
FoodX-251 食物分类计算机视觉数据集-130,470张图片 食物识别 图像分类 深度学习 智能餐饮 健康管理 食品电商 多模态学习
📦点击查看-已发布目标检测数据集合集(持续更新)
| 数据集名称 | 图像数量 | 应用方向 | 博客链接 |
|---|---|---|---|
| 🔌 电网巡检检测数据集 | 1600 张 | 电力设备目标检测 | 点击查看 |
| 🔥 火焰 / 烟雾 / 人检测数据集 | 10000张 | 安防监控,多目标检测 | 点击查看 |
| 🚗 高质量车牌识别数据集 | 10,000 张 | 交通监控 / 车牌识别 | 点击查看 |
| 🌿 农田杂草航拍检测数据集 | 1,200 张 | 农业智能巡检 | 点击查看 |
| 🐑 航拍绵羊检测数据集 | 1,700 张 | 畜牧监控 / 航拍检测 | 点击查看 |
| 🌡️ 热成像人体检测数据集 | 15,000 张 | 热成像下的行人检测 | 点击查看 |
🍔 FoodX-251 食物分类计算机视觉数据集-130,470张图片-文章末添加wx领取数据集

🍔 FoodX-251 食物分类计算机视觉数据集介绍
📌 数据集概览
本项目是专注于全球美食自动识别的计算机视觉数据集,共包含约 130,470 张高分辨率食物图像,主要用于训练深度学习模型对251种不同菜系和料理进行精确分类。该数据集覆盖了从家常便饭到异国风味的广泛食谱,适用于智能餐饮、健康管理、食品电商等领域的图像理解任务。
- 图像数量:130,470 张
- 类别数:251 类
- 适用任务:图像分类(Image Classification)
- 适配模型:ResNet、EfficientNet、MobileNet、Vision Transformer 等主流分类框架
包含类别(部分示例)
| 类别 | 英文名称 | 描述 |
|---|---|---|
| Adobo | Adobo | 菲律宾经典炖菜,多用醋和酱油调味 |
| Apple Pie | Apple Pie | 美式经典甜点,苹果馅料搭配酥皮 |
| Baked Alaska | Baked Alaska | 冰淇淋外裹蛋白霜后烘烤的甜品 |
| Baklava | Baklava | 中东地区层叠坚果蜜糖甜点 |
| Beef Bourguignon | Beef Bourguignon | 法式红酒炖牛肉 |
| Beef Stroganoff | Beef Stroganoff | 俄式奶油蘑菇牛肉片 |
| Biryani | Biryani | 印度香料米饭与肉类混合料理 |
| Blancmange | Blancmange | 欧洲传统牛奶布丁甜点 |
| Caesar Salad | Caesar Salad | 经典西式沙拉,配凯撒酱和面包丁 |
| Chicken Tikka Masala | Chicken Tikka Masala | 印度风味番茄奶油咖喱鸡 |
数据集涵盖全球主要菜系,包括亚洲、欧洲、美洲、中东等地的代表性菜肴,能有效提升模型在复杂食物场景中的泛化与识别能力。
🎯 应用场景
该数据集非常适用于以下场景与研究方向:
-
智能餐饮推荐系统
根据用户上传的食物照片,自动识别菜品并推荐相似或营养搭配菜单。 -
健康管理与饮食记录
帮助用户通过拍照记录每日饮食,自动分析热量、营养成分及膳食结构。 -
食品电商平台
实现“拍图搜菜”功能,快速匹配商品库中的对应菜品或食材组合。 -
餐厅自动化服务
在自助点餐或外卖系统中,通过图像识别简化下单流程,提升用户体验。 -
烹饪教学与食谱生成
作为AI烹饪助手的基础,根据识别出的菜品推荐制作步骤或替代食材。 -
食品质量与安全检测
辅助判断食物新鲜度、熟度或是否存在异物,应用于供应链管理。
🖼 数据样本展示
以下展示部分数据集内的样本图片:

数据集包含多种真实食物场景图像:
- 多角度拍摄:俯拍、侧拍、特写、摆盘全景等不同视角
- 多样光照条件:自然光、餐厅灯光、闪光灯、逆光等环境
- 丰富背景干扰:餐桌、厨房、户外、餐具、手部操作等
- 不同清晰度与分辨率:高清专业摄影与手机随手拍并存
- 烹饪阶段差异:生食、半成品、成品、食用中等状态
图像来源广泛、菜品种类繁多、拍摄环境真实,特别适合训练鲁棒性强、适应复杂现实场景的食物分类模型。
✅ 使用建议
-
数据预处理优化
- 统一图像尺寸(推荐224x224或384x384)
- 标准化像素值范围(归一化至[0,1]或使用ImageNet均值方差)
- 应用数据增强:旋转、翻转、亮度调整、随机裁剪、色彩抖动
-
模型训练策略
- 使用预训练模型进行迁移学习(如ImageNet上训练的EfficientNet-B5)
- 对小样本类别采用过采样或加权损失函数(如Focal Loss)
- 尝试混合精度训练以加速收敛并节省显存
-
实际部署考虑
- 边缘设备优化:使用TensorFlow Lite或ONNX Runtime压缩模型
- Web端集成:通过Flask/Django后端提供API接口
- 移动端部署:支持iOS/Android平台的实时识别
-
应用场景适配
- APP集成:开发“拍图识菜”功能,提升用户互动体验
- 云端批处理:大规模图像数据的批量处理和分析
- 多模态融合:结合文字描述、语音指令提升识别准确率
-
性能监控与改进
- 建立混淆矩阵分析易混淆类别(如Biryani vs Pilaf,Sushi vs Sashimi)
- 收集边缘案例(摆盘相似、酱汁覆盖、模糊不清)进行模型强化
- 定期更新模型以适应新菜品、地方特色或更细粒度的分类需求
🌟 数据集特色
- 高质量标注:由美食专家或厨师参与审核校正,确保菜品准确性
- 菜系覆盖广:涵盖全球251种代表性料理,文化多样性突出
- 图像真实性高:多数为真实用餐场景拍摄,非纯商业棚拍
- 技术兼容性好:支持主流深度学习框架与部署平台
- 持续扩展潜力:可轻松添加新菜系、地方小吃或健康饮食类别
📈 商业价值
该数据集在以下商业领域具有重要价值:
- 餐饮科技公司:开发智能点餐、营养分析、菜品推荐系统
- 健康管理平台:打造AI饮食记录工具,提升用户粘性与付费转化
- 食品电商平台:实现“拍图搜菜”,优化搜索体验与商品匹配效率
- 智能厨电厂商:集成至智能冰箱、烤箱等设备,提供个性化烹饪建议
- 旅游与美食APP:增强“拍图识美食”功能,吸引全球用户使用
🔗 技术标签
计算机视觉 食物识别 图像分类 深度学习 ResNet 迁移学习 智能餐饮 健康管理 食品电商 多模态学习
注意: 本数据集适用于研究、教育和商业用途。使用时请尊重版权与隐私,不得用于侵犯个人肖像权或商业欺诈目的。建议在关键决策场景中结合人工复核,并注意不同文化背景下的饮食习惯差异。
YOLOv8 训练实战
本教程介绍如何使用 YOLOv8 对目标进行识别与检测。涵盖环境配置、数据准备、训练模型、模型推理和部署等全过程。
📦 1. 环境配置
建议使用 Python 3.8+,并确保支持 CUDA 的 GPU 环境。
# 创建并激活虚拟环境(可选)
python -m venv yolov8_env
source yolov8_env/bin/activate # Windows 用户使用 yolov8_env\Scripts\activate
安装 YOLOv8 官方库 ultralytics
pip install ultralytics
📁 2. 数据准备
2.1 数据标注格式(YOLO)
每张图像对应一个 .txt 文件,每行代表一个目标,格式如下:
<class_id> <x_center> <y_center> <width> <height>
所有值为相对比例(0~1)。
类别编号从 0 开始。
2.2 文件结构示例
datasets/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
2.3 创建 data.yaml 配置文件
path: ./datasets
train: images/train
val: images/val
nc: 11
names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]
🚀 3. 模型训练
YOLOv8 提供多种模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根据设备性能选择。
yolo detect train \
model=yolov8s.pt \
data=./data.yaml \
imgsz=640 \
epochs=50 \
batch=16 \
project=weed_detection \
name=yolov8s_crop_weed
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model |
字符串 | - | 指定基础模型架构文件或预训练权重文件路径(.pt/.yaml) |
data |
字符串 | - | 数据集配置文件路径(YAML 格式),包含训练/验证路径和类别定义 |
imgsz |
整数 | 640 | 输入图像的尺寸(像素),推荐正方形尺寸(如 640x640) |
epochs |
整数 | 100 | 训练总轮次,50 表示整个数据集会被迭代 50 次 |
batch |
整数 | 16 | 每个批次的样本数量,值越大需要越多显存 |
project |
字符串 | - | 项目根目录名称,所有输出文件(权重/日志等)将保存在此目录下 |
name |
字符串 | - | 实验名称,用于在项目目录下创建子文件夹存放本次训练结果 |
关键参数补充说明:
-
model=yolov8s.pt- 使用预训练的 YOLOv8 small 版本(平衡速度与精度)
- 可用选项:
yolov8n.pt(nano)/yolov8m.pt(medium)/yolov8l.pt(large)
-
data=./data.yaml# 典型 data.yaml 结构示例 path: ../datasets/weeds train: images/train val: images/val names: 0: Bent_Insulator 1: Broken_Insulator_Cap 2: ... 3: ...
📈 4. 模型验证与测试
4.1 验证模型性能
yolo detect val \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
data=./data.yaml
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
model |
字符串 | 是 | 要验证的模型权重路径(通常为训练生成的 best.pt 或 last.pt) |
data |
字符串 | 是 | 与训练时相同的 YAML 配置文件路径,需包含验证集路径和类别定义 |
关键参数详解
-
model=runs/detect/yolov8s_crop_weed/weights/best.pt- 使用训练过程中在验证集表现最好的模型权重(
best.pt) - 替代选项:
last.pt(最终epoch的权重) - 路径结构说明:
runs/detect/ └── [训练任务名称]/ └── weights/ ├── best.pt # 验证指标最优的模型 └── last.pt # 最后一个epoch的模型
- 使用训练过程中在验证集表现最好的模型权重(
-
data=./data.yaml- 必须与训练时使用的配置文件一致
- 确保验证集路径正确:
val: images/val # 验证集图片路径 names: 0: crop 1: weed
常用可选参数
| 参数 | 示例值 | 作用 |
|---|---|---|
batch |
16 | 验证时的批次大小 |
imgsz |
640 | 输入图像尺寸(需与训练一致) |
conf |
0.25 | 置信度阈值(0-1) |
iou |
0.7 | NMS的IoU阈值 |
device |
0/cpu | 选择计算设备 |
save_json |
True | 保存结果为JSON文件 |
典型输出指标
Class Images Instances P R mAP50 mAP50-95
all 100 752 0.891 0.867 0.904 0.672
crop 100 412 0.912 0.901 0.927 0.701
weed 100 340 0.870 0.833 0.881 0.643
4.2 推理测试图像
yolo detect predict \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
source=./datasets/images/val \
save=True
🧠 5. 自定义推理脚本(Python)
from ultralytics import YOLO
import cv2
# 加载模型
model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')
# 推理图像
results = model('test.jpg')
# 可视化并保存结果
results[0].show()
results[0].save(filename='result.jpg')
🛠 6. 部署建议
✅ 本地运行:通过 Python 脚本直接推理。
🌐 Web API:可用 Flask/FastAPI 搭建检测接口。
📦 边缘部署:YOLOv8 支持导出为 ONNX,便于在 Jetson、RKNN 等平台上部署。
导出示例:
yolo export model=best.pt format=onnx
📌 总结流程
| 阶段 | 内容 |
|---|---|
| ✅ 环境配置 | 安装 ultralytics, PyTorch 等依赖 |
| ✅ 数据准备 | 标注图片、组织数据集结构、配置 YAML |
| ✅ 模型训练 | 使用命令行开始训练 YOLOv8 模型 |
| ✅ 验证评估 | 检查模型准确率、mAP 等性能指标 |
| ✅ 推理测试 | 运行模型检测实际图像目标 |
| ✅ 高级部署 | 导出模型,部署到 Web 或边缘设备 |
更多推荐


所有评论(0)