【YOLOv8实战】15组衣物类深度学习数据集分享|附加载+标签管理代码

衣物类目标检测是电商视觉分拣、智能穿搭推荐、仓储自动化等领域的核心技术支撑,而高质量标注数据集是保障YOLOv8模型精度与泛化能力的关键。目前公开数据集普遍存在品类细分不足、标注精度参差不齐、场景同质化等问题,难以适配实际项目需求。

本次整理15组聚焦衣物、鞋子、T恤等细分品类的高质量数据集,全部已完成YOLOv8格式标注,涵盖运动、休闲、女装等多风格场景,可直接导入模型训练。同时附上数据集加载、标签管理实操代码,助力开发者快速落地项目。

一、数据集核心参数(技术适配版)

所有数据集均为JPG图片格式,标注文件符合YOLOv8标准(txt格式,含边界框与类别标签),标注精度≥95%,可直接用于模型训练与验证。

序号 数据集名称 核心规格 标注信息 适用场景
1 运动裤、短裤检测数据集 915张 YOLOv8格式,2类标签,精度95% 运动服饰分拣、户外场景检测
2 通用鞋子检测数据集 3427张 YOLOv8格式,含运动鞋/皮鞋等5类标签 电商鞋子品类识别、智能鞋柜
3 牛仔裤、运动裤、休闲裤细分数据集 4117张 YOLOv8格式,3类裤子标签,精度96% 服饰风格分类、仓储分拣
4 多款式运动裤数据集 4008张 YOLOv8格式,含速干/针织等4类标签 运动服饰专项检测、品牌质检
5 名牌运动鞋检测数据集 3600张 YOLOv8格式,品牌+款式双标签 奢侈品鉴别、品牌电商推荐
6 多角度运动鞋数据集 3913张 YOLOv8格式,覆盖前/侧/后3个角度 3D穿搭建模、鞋子特征提取
7 洞洞鞋、帆布鞋、运动鞋分类数据集 3999张 YOLOv8格式,3类鞋型标签,精度96% 休闲鞋品类分拣、穿搭推荐
8 多品类鞋子综合数据集 4016张 YOLOv8格式,含8类常见鞋型 通用服饰检测模型训练、数据集扩充
9 鞋子多视角检测数据集 1566张 YOLOv8格式,含俯视/仰视等多角度样本 复杂场景鞋子识别、机器人视觉抓取
10 折叠多尺码T恤数据集 1687张 YOLOv8格式,尺码+T恤双标签 仓储衣物尺码分拣、电商打包自动化
11 折叠多颜色衬衣、T恤数据集 3298张 YOLOv8格式,6类颜色标签,精度97% 衣物颜色分类、个性化穿搭
12 女装裙子、秋衣、半袖数据集 1172张 YOLOv8格式,3类女装标签 女装品类检测、时尚穿搭推荐
13 多图形图案T恤数据集 1461张 YOLOv8格式,含卡通/条纹等5类图案标签 T恤图案分类、定制化服饰推荐
14 半袖专项深度学习数据集 594张 YOLOv8格式,纯色/印花半袖分类 夏季服饰检测、小样本模型训练
15 T恤与鞋子组合数据集 5794张 YOLOv8格式,双品类联合标注 服饰搭配检测、电商套装识别

提示:第15组为双品类组合数据集,可用于多目标联合检测模型训练,弥补单一品类数据集的场景局限性。

二、技术实操:数据集加载与标签管理(Python代码)

1. YOLOv8数据集加载与格式验证

适用于所有已标注数据集,快速验证标注格式是否合规,避免训练报错。

复制代码
from ultralytics import YOLO
import yaml
import os

# 1. 编写数据集配置文件(clothes_data.yaml)
data_config = {
    "path": "./clothes_dataset",  # 数据集根目录
    "train": "images/train",      # 训练集图片路径
    "val": "images/val",          # 验证集图片路径
    "nc": 20,                     # 类别总数(根据实际数据集调整)
    "names": ["运动裤", "短裤", "牛仔裤", "休闲裤", "运动鞋", 
              "帆布鞋", "洞洞鞋", "T恤", "衬衣", "裙子", 
              "秋衣", "半袖", "皮鞋", "针织运动裤", "速干运动裤",
              "卡通T恤", "条纹T恤", "纯色T恤", "折叠T恤", "名牌运动鞋"]  # 类别名称
}

# 保存配置文件
with open("clothes_data.yaml", "w", encoding="utf-8") as f:
    yaml.dump(data_config, f, allow_unicode=True)

# 2. 加载预训练模型并验证数据集
model = YOLO("yolov8n.pt")
# 格式验证(仅验证不训练,imgsz与数据集分辨率适配)
model.val(data="clothes_data.yaml", imgsz=640, batch=16, verbose=True)

2. 标签统一与数据增强(适配衣物数据集特点)

衣物数据集易受姿态、光照影响,补充数据增强代码提升模型泛化能力,同时统一标签格式。

复制代码
import albumentations as A
import cv2
import numpy as np
import glob

# 数据增强 pipeline(针对衣物姿态、光照变化优化)
transform = A.Compose([
    A.RandomResizedCrop(height=640, width=640, scale=(0.7, 1.0)),  # 随机裁剪适配模型输入
    A.HorizontalFlip(p=0.5),  # 水平翻转(衣物左右对称,不影响识别)
    A.RandomBrightnessContrast(p=0.3, brightness_limit=(-0.2, 0.2)),  # 亮度调整适配不同光照
    A.GaussNoise(p=0.2),  # 加噪提升抗干扰性
], bbox_params=A.BboxParams(format="yolov8", label_fields=["class_labels"]))

# 批量处理数据集并应用增强
def process_dataset(img_dir, label_dir, save_dir):
    os.makedirs(os.path.join(save_dir, "images"), exist_ok=True)
    os.makedirs(os.path.join(save_dir, "labels"), exist_ok=True)
    
    img_paths = glob.glob(os.path.join(img_dir, "*.jpg"))
    for img_path in img_paths:
        img_name = os.path.basename(img_path)
        label_path = os.path.join(label_dir, img_name.replace(".jpg", ".txt"))
        
        # 读取图片和标签
        img = cv2.imread(img_path)
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        with open(label_path, "r") as f:
            labels = f.readlines()
        
        # 解析YOLOv8标签(x_center, y_center, w, h, class_id)
        bboxes = []
        class_labels = []
        for label in labels:
            xc, yc, w, h, cid = map(float, label.strip().split())
            # 转换为左上角、右下角坐标(适配增强工具)
            x1 = (xc - w/2) * img.shape[1]
            y1 = (yc - h/2) * img.shape[0]
            x2 = (xc + w/2) * img.shape[1]
            y2 = (yc + h/2) * img.shape[0]
            bboxes.append([x1, y1, x2, y2])
            class_labels.append(int(cid))
        
        # 应用增强
        augmented = transform(image=img, bboxes=bboxes, class_labels=class_labels)
        aug_img = augmented["image"]
        aug_bboxes = augmented["bboxes"]
        aug_labels = augmented["class_labels"]
        
        # 转换回YOLOv8格式并保存
        aug_img = cv2.cvtColor(aug_img, cv2.COLOR_RGB2BGR)
        cv2.imwrite(os.path.join(save_dir, "images", img_name), aug_img)
        
        with open(os.path.join(save_dir, "labels", img_name.replace(".jpg", ".txt")), "w") as f:
            for bbox, cid in zip(aug_bboxes, aug_labels):
                x1, y1, x2, y2 = bbox
                # 归一化
                xc = (x1 + x2) / 2 / aug_img.shape[1]
                yc = (y1 + y2) / 2 / aug_img.shape[0]
                w = (x2 - x1) / aug_img.shape[1]
                h = (y2 - y1) / aug_img.shape[0]
                f.write(f"{cid} {xc:.6f} {yc:.6f} {w:.6f} {h:.6f}\n")

# 调用函数处理(替换为自己的数据集路径)
process_dataset("./raw_images", "./raw_labels", "./processed_dataset")

3. 训练调参建议(按数据集规模适配)

  • 小样本数据集(如594张半袖数据、1172张女装数据):采用迁移学习,冻结YOLOv8主干网络前10层,学习率设为0.001,迭代50轮,batch_size=8,搭配早停机制(patience=5)避免过拟合。

  • 中大规模数据集(如4117张裤子数据、5794张T恤鞋子组合数据):可解冻部分主干网络,学习率设为0.01,迭代80-100轮,batch_size=16,使用余弦退火学习率调度器优化训练效果。

  • 多品类数据集:训练前检查类别平衡度,若某类样本过少,可通过SMOTE算法或复制样本扩充,确保类别分布均匀。

三、后续分享计划

后续将聚焦衣物类目标检测的落地痛点,补充以下内容:1. 衣物姿态检测、褶皱识别数据集;2. YOLOv8模型轻量化部署教程(TensorRT/ONNX);3. 衣物检测模型调参实战案例(针对小样本、复杂场景优化)。

如需获取数据集详细获取方式,请关注博主,自动获取对应资源查询指南。

相关推荐
勇气要爆发2 小时前
AI后端工程化:FastAPI + Pydantic + JWT 鉴权实战,从零构建 AI 接口服务
人工智能·fastapi·jwt·pydantic
大学生毕业题目2 小时前
毕业项目推荐:103-基于yolov8/yolov5/yolo11的皮肤癌检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·目标检测·cnn·pyqt·皮肤癌检测
ai_top_trends2 小时前
AI 生成 PPT 哪个好用?2026 年主流工具实测对比
人工智能·python
腾讯数据架构师2 小时前
k8s兼容昆仑芯p800
人工智能·云原生·容器·kubernetes·cube-studio·昆仑芯
于初见月2 小时前
Conda环境中的pip究竟指向哪里?
python·conda·pip
人工智能AI技术2 小时前
Trae实战!5分钟生成微信小程序完整框架
人工智能
LDG_AGI2 小时前
【机器学习】深度学习推荐系统(二十八):X 推荐算法listwiseRescoring(同刷多样性降权)机制详解
人工智能·分布式·深度学习·算法·机器学习·推荐算法
资深流水灯工程师2 小时前
基于Python的Qt开发之Pyside6 QtSerialPort库的使用
python·qt
程序猿炎义2 小时前
【Easy-VectorDB】Faiss入门与环境搭建笔记
人工智能·faiss