Schwertlilien
As a recoder: notes and ideas.

2025-9-3

分析一下我们数据集的情况:多菜同盘、混合/覆盖、酱汁漫流、同名食材多烹法外观差异巨大。

在自助餐或学校食堂餐盘的场景下,在CV领域构成了一个独特而复杂的挑战。其核心特征在于,场景是由两类截然不同的视觉元素构成的混合体:一类是离散、可数的物体,例如一块排骨、一个虾仁或一朵西兰花;另一类则是无定形、不可数的区域,例如一摊米饭、一汪酱汁或一盘混合翻炒的蔬菜。这种结构使得传统的图像分割范式难以完全胜任。

两层任务 + 三层本体 + 属性多标签 + 关系图谱:

  • 任务层
    Seg-A(基础):菜品级全景分割(panoptic)——每道“菜/主食”为一个实例,像素唯一归属;
    Seg-B(精细子集):食材级实例分割(instance/parts)——只在人群常见菜上做“组成食材”掩码与部件关系;
    同时提供弱标注(食材成分表、烹法/刀工/酱汁等属性标签)覆盖全量,降低成本。
  • 本体层(Ontology)
    Level-1:大类(主食、热菜、凉菜、汤/粥、配菜/小食、饮品/甜品、酱汁/汤汁、装饰/点缀);
    Level-2:菜系/菜型/主材系(炒菜、焖/烧、炸、蒸、拌…;禽畜/水产/蔬菜/豆制品/菌菇…);
    Level-3:菜名/主材(“宫保鸡丁”“红烧肉”“西红柿炒蛋”“米饭”“面条”……)。
    ——烹饪方式、刀工、酱汁口味等全部做成“属性标签”,而不是细分为类别(关键以减少长尾)。
  • 关系层
    part_of(成分属于某道菜)、overlaps_with(混合/覆盖)、z_order(前后遮挡次序)、has_saucedyed(被染色)、served_with(配主食)等。

长尾分布与细粒度的冲突:规则里有意“归一化食材名”,比如猪肉不分五花肉/梅花肉,但这会损失细粒度差异。对下游任务(比如 VQA 问“这是五花肉还是瘦肉?”),模型没法回答。反过来,如果你全都细分,会产生极度长尾,难训练。

问询GPT老师原话

我现在想和你讨论一些相关的问题。实际上FoodSeg103数据集是第一个出现的食物分割数据集。我现在也在做一个食品分割数据集,与这个数据集不同的是,我将聚焦在中餐的数据集上,而且是学校餐盘或事自助餐的形式。但是这样的图片数据具有以下的特点:每张图片中都存在主食和几道菜。主食一般是单独的一种食材,或是米饭或是面等;但是菜,以炒菜为主;炒菜一般会有多种食材混合进行炒制;在同一个餐盘中不同的炒菜之间边界不清晰,可能不同的菜会出现混合、覆盖等情况,还会有汁水流满了整个餐盘、将米饭染成别的颜色等;我现在想收集这个数据集用来做分割任务或是开放词汇分割、以及后续的进行营养评估和VQA等。但是目前在收集数据集以及标注的时候遇到了问题,为了能够支撑更多的下游任务,我的标注到底应该怎么标注比较好?:

  1. 同一道食材的不同烹饪方式(糖醋排骨、红烧肉、小酥肉等)是否要分开算不同的标签还是说算作一个标签?要是算作不同的标签,那么我将他们划分为不同类别的依据或理由是什么?那么其他的肉和菜是不是也能这么分?有没有更加细致的、合理的划分方式

  2. 除了默认的炒菜之外,还有不同的烹饪方式、以及调料用的不同、将食材切成片、丝、丁状等都会导致其外观上的不同,这种情况要怎么办?

    GPT说多加后缀标签,比如菜品的颜色,状态。color_dominant(红/黄/褐/绿)、texture(油亮/干爽/汤汁),训练技巧:将这些属性文本与类别名组成prompt 组句(如 “a dish of stir-fried shredded pork with green pepper, glossy sauce”),用于 open-vocab 的文本编码器对齐;属性无需是类别即可发挥监督作用。

  3. 关于炒菜之间混合:因为每道菜都会用到多种食材,那么当菜与菜之间混合的时候,该怎么处理(分割标注之类的)、算法能够将其分开吗?感觉会有很大的难度?

    • Seg-A(菜品级 panoptic):每像素唯一归属,不允许重叠;遇到混合处由标注员判断“主导菜”归属,另在关系里记录 overlaps_with
    • 不确定边界:提供trimap 边界带boundary-uncertain mask(0/0.5/1),训练时可用柔性边界损失(如 Lovász + Boundary loss),降低苛刻边界对模型的噪声伤害。
    • 汁水/汤汁:建议单列 “sauce/gravy/broth” (酱汁肉汁)为 stuff 类(非实例),可多处连续涂抹,既真实反映漫流,又不与菜品实例冲突。
    • Seg-B(精细子集的 ingredient 实例):允许部件/食材实例逻辑上从属于菜品实例(part_of),并可重叠(annotation 里分层存 RLE,多实例可共享像素)。训练时可选amodal/visible双版本(可选)。

    现实妥协:全量做“多实例重叠像素”成本极高,因此将重叠与部件级放在精选 20–50 道高频菜上做“精注集”,其余只做菜品级。

  4. 支撑下游任务:为了能够支撑更多的下游任务比如VQA,开放词汇分割,我的标注、分割应该怎么设计呢?比如我在划分标签的时候设计类别具有细粒度,划分大类子类等?背景要不要细分?等等。具体的得到的json文件中的每个图片的标注的格式,应该是什么样子呢?

    • 语言侧-开放词汇分割
      • 每个实例提供短标题(“西红柿炒蛋”/“stir-fried tomato with egg”)、属性列表成分表(ingredients=[tomato, egg, scallion, oil, salt, sugar])可拼接的模板 caption
        “a Chinese cafeteria dish of {method} {main_ingredient} with {aux_ingredients}, {flavor}, served with {staple}”
      • 提供别名/中英双语/同义词(open-vocab 强相关)。
    • VQA 生成
      • 依注释自动生成计数/存在/比较/属性/关系/搭配/营养问答对。
      • 例:“盘中是否有红烧肉?”、“这道菜是否油亮?”、“米饭是否被酱汁染色?”、“主食是什么?”、“含蛋白质最高的是哪道菜?”
    • 营养估算
      • 主材维护每 100g 营养表(可用权威表对齐 ID);
      • 标注估计份量/体积 proxy(mask 面积 × 盘面尺度估计 × 厚度先验),或至少给“份数等级(S/M/L)”;
      • 关系 served_with 记录菜与主食配对,便于一餐汇总。
  5. 长尾分布:因为每道菜都是不同的食材之间组合,因此虽然食材的种类有限,但是有限的食材能够得到很多的不同类别的菜,他们的标签应该如何划分才能尽可能的减少长尾分布?

    类目三层 + 属性表述:稀有变体不升类,用“主材类 + 属性”表示。

    频度阈值:仅当类在训练集中样本数≥K(如 200)且外观稳定,才晋升为“显式类别”。

    合并规则:极相似菜名并类(“鱼香肉丝/鱼香里脊”→“鱼香肉类丝/块类”+ 属性=丝/块);

    数据切分:提供base/novel 拆分文件,让稀有类在 novel 中以 OV 方式被评测。

    重采样:对“高价值但中等频率”的类做多视角/多餐盘补采,保证训练可学;

    属性均衡:在采集时关注属性分布(干/湿、红/黄/绿、丁/丝/片),提升泛化。

  6. 这个任务会比较困难:因为分割上十分困难,以及标签上十分的多等等。我想知道要怎么设计这个数据集的标注、分割。对于不同的食材组成的菜、不同的菜组成一幅图片,这本身就有细粒度了;对于划分的时候,我能做细粒度分割吗?我能识别出那种每个食材都出现过,但是出现的新的食材组合出的标签吗?这种情况可以如何处理?

    能细粒度分割,但要分层目标

    • 菜品级:全量可做;
    • 食材级:做“精注子集 + 全量弱标注(成分表)”。

    新组合识别(组合泛化)————-此处有疑问:这个到底要怎么做?是食材级别还是菜品级别?

    • 训练中通过文本组合 prompt(主材 + 属性 + 搭配)形成组合式类别描述
    • 利用 CLIP/OVHead 在推理时对新组合文本打分,实现零样本组合识别
    • 在精注子集中提供真实组合,提升组合泛化能力(compositional generalization)。

新类别的处理:GPT认为一个新类别的划分必须满足下面三个要求:

  1. 该“菜名/变体”在你的场景很高频(如“红烧肉”“糖醋里脊”“鱼香肉丝”“宫保鸡丁”“西红柿炒蛋”),
  2. 具有稳定的外观模板(形态/配色/典型搭配“花生米/青椒段”等),
  3. 对下游(营养估算、VQA)具有明显区分价值
    满足三条即可升为 Level-3 类别;否则继续作为“主材类 + 属性”。

猪肉—》肉末—〉肉末蒸蛋

输入:图片(多道菜

输出:知道这张上有什么菜,在哪里,叫什么

以菜品级标注做食材级识别

大部分数据是单个食材成菜—》多食材成菜

[“腊肉”][“藕”][“辣椒”]

Json—attributes:

1
2
3
4
5
6
7
8
9
10
11
12
[ingridient:
[
name: la rou,
],[
name: ou,
cut-style:qie ding,
]
],
[

]

搜索
匹配结果数:
未搜索到匹配的文章。