# 薄膜缺陷数据集(YOLO 风格标注:labels/*.txt,每行 `class_id cx cy w h`,归一化坐标)。 # 类别顺序即标注里的 class_id,改动顺序等于改变标签含义,必须重新训练。 # 也可以写成 data.yaml 的路径,从其中的 names 读类别:classes: data/film/data.yaml classes: [scratch, bubble, particle, crease, stain] # 图像级标签形式;模型的分类头、分类损失、分类指标都跟随它。 # multilabel(多类):一张图可同时含多种缺陷,多热标签 + BCE,全 0 表示 OK 片; # multiclass(单类):一张图只归一个类别,互斥 softmax + CE, # 分类头多一维表示"无缺陷"(下标 = len(classes)), # 一图出现多种缺陷时取框数最多的类别。 # 无论取哪种,定位分支始终按 classes 逐类输出 heatmap。 label_mode: multilabel image_size: [512, 512] gray: false data: train: dataset: name: film_defect img_dir: data/film/images/train label_dir: null # 缺省按 YOLO 约定取 data/film/labels/train gray: false max_objects: 64 transforms: - {name: Resize, size: [512, 512]} - {name: RandomHorizontalFlip, p: 0.5} - {name: RandomVerticalFlip, p: 0.5} - {name: ColorJitter, brightness: 0.2, contrast: 0.2} - {name: ToTensor} - {name: Normalize, mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225]} loader: batch_size: 16 shuffle: true num_workers: 8 drop_last: true val: dataset: name: film_defect img_dir: data/film/images/val label_dir: null gray: false transforms: - {name: Resize, size: [512, 512]} - {name: ToTensor} - {name: Normalize, mean: [0.485, 0.456, 0.406], std: [0.229, 0.224, 0.225]} loader: batch_size: 16 shuffle: false num_workers: 4