YOLOv11室内安防场景行人目标检测数据集
📊 数据集基本信息
- 目标类别: [‘Pedestrian Female’, ‘Pedestrian Male’]
- 中文类别
- 训练集
- 验证集
- 测试集
- 总计
📄 data.yaml 配置信息
该数据集提供了data.yaml文件,内容如下:
train: ../train/imagesval: ../valid/imagestest: ../test/imagesnc: 2names: ['Pedestrian Female', 'Pedestrian Male']
🖼️ 标注可视化
📝 数据集分析
YOLOv11室内安防场景行人目标检测数据集
该数据集专注于室内安防场景下的行人目标检测,通过采集不同姿态、角度和着装的男性和女性行人的图像,为智能监控系统提供了高质量的训练素材。数据集涵盖了多种日常行为模式,能够有效提升模型在复杂环境下的识别准确率。
从数据分布来看,该数据集包含284张训练集图像、82张验证集图像和40张测试集图像,总计406张。训练集占比最大,确保了模型有足够的学习样本;验证集和测试集比例适中,能够客观评估模型的泛化能力和性能表现。整体分布合理,符合机器学习任务的标准要求。
该数据集的标注工作严谨细致,每个行人目标都被精确框选并分类标记为“男性行人”或“女性行人”。标注边界框与实际目标高度吻合,未发现明显偏差或遗漏,充分保证了数据的质量和可用性。
基于其高质量的数据和明确的标注,该数据集可广泛应用于室内安防监控、人流统计分析以及智能零售等领域,为实现精准的行人识别和行为分析提供可靠的技术支持。
YOLOv11训练步骤
一、环境安装
pip install ultralytics# 依赖要求:Python≥3.8,PyTorch≥1.8。安装完成后可通过 `yolo checks` 验证环境。
二、数据集准备(YOLO格式)
1. 目录结构
数据集必须严格按以下结构组织:
dataset/├── train/│ ├── images/ # 训练图片(jpg/png)│ └── labels/ # YOLO格式标注(txt)├── val/│ ├── images/│ └── labels/└── data.yaml # 数据集配置文件
2. YOLO标注格式
每个 *.txt 文件对应一张图片,每行格式为:
class_id center_x center_y width height
所有数值均为相对于图片宽高的归一化值(0~1)。
3. data.yaml 配置文件
# data.yamlpath: ../dataset # 数据集根目录(相对或绝对路径)train: train/images # 训练集图片路径val: val/images # 验证集图片路径test: test/images # 测试集图片路径(可选)# 类别信息nc: 2 # 类别数量names: ['class1', 'class2'] # 类别名称列表
三、模型选择
YOLO11 提供 5 种尺度,官方命名规则为 yolo11{n/s/m/l/x}.pt:
| | |
|---|
yolo11n | | |
yolo11s | | |
yolo11m | | |
yolo11l | | |
yolo11x | | |
四、模型训练
方式1:Python API(推荐)
创建 train.py:
from ultralytics import YOLOdef main(): # 加载预训练模型(推荐:基于COCO预训练权重微调) model = YOLO("yolo11m.pt") # 训练参数 train_params = { 'data': 'data.yaml', # 数据集配置文件 'epochs': 100, # 训练轮次 'imgsz': 640, # 输入图像尺寸 'batch': 16, # 批次大小(根据显存调整) 'device': '0', # GPU设备号,'cpu'表示CPU训练 'workers': 8, # 数据加载线程数 'optimizer': 'SGD', # 优化器:SGD/Adam/AdamW 'lr0': 0.01, # 初始学习率 'patience': 50, # 早停耐心值 'save': True, # 保存模型 'project': 'runs/train', # 项目保存路径 'name': 'exp', # 实验名称 'single_cls': False, # 单类别检测设为True 'close_mosaic': 10, # 最后N轮关闭马赛克增强 } # 开始训练 results = model.train(**train_params) # 输出最佳模型路径 print(f"Best model saved at: {results.best}")if __name__ == '__main__': main()
三种模型加载方式对比:
# 方式A:从YAML构建全新模型(从头训练,适合网络结构改进)model = YOLO("yolo11m.yaml")# 方式B:加载预训练权重(最常用,推荐)model = YOLO("yolo11m.pt")# 方式C:构建新模型并迁移预训练权重(改进网络后使用)model = YOLO("yolo11m.yaml").load("yolo11m.pt")
方式2:命令行 CLI
# 基础训练yolo detect train data=data.yaml model=yolo11m.pt epochs=100 imgsz=640 batch=16 device=0# 多GPU训练yolo detect train data=data.yaml model=yolo11m.pt epochs=100 device=0,1# 从YAML+预训练权重训练yolo detect train data=data.yaml model=yolo11m.yaml pretrained=yolo11m.pt epochs=100
五、关键训练参数说明
| | |
|---|
epochs | | |
imgsz | | |
batch | | |
device | | 0(单GPU)、0,1(多GPU)、cpu、mps(Apple芯片) |
workers | | |
optimizer | | SGD |
lr0 | | |
momentum | | |
weight_decay | | |
single_cls | | True |
resume | | True |
amp | | True |
六、模型验证
创建 val.py:
from ultralytics import YOLOdef main(): # 加载训练好的最佳权重 model = YOLO('runs/train/exp/weights/best.pt') # 验证 metrics = model.val( data='data.yaml', split='val', # 验证集:'val' 或 'test' imgsz=640, batch=16, iou=0.6, # NMS IoU阈值 device='0', save_json=False, # 是否保存COCO格式JSON ) # 输出关键指标 print(f"mAP50-95: {metrics.box.map}") # mAP@0.5:0.95 print(f"mAP50: {metrics.box.map50}") # mAP@0.5 print(f"mAP75: {metrics.box.map75}") # mAP@0.75if __name__ == '__main__': main()
CLI 方式:
yolo detect val model=runs/train/exp/weights/best.pt data=data.yaml
七、模型推理/预测
创建 predict.py:
from ultralytics import YOLOimport cv2def main(): model = YOLO('runs/train/exp/weights/best.pt') # 单张图片推理 results = model.predict( source='test_images/', # 图片路径、文件夹、URL或摄像头索引(0) imgsz=640, conf=0.25, # 置信度阈值 iou=0.45, # NMS IoU阈值 device='0', save=True, # 保存结果图 show=False, # 是否弹窗显示 ) # 遍历结果 for result in results: boxes = result.boxes # 检测框 masks = result.masks # 分割掩码(如使用分割模型) probs = result.probs # 分类概率 # 获取坐标、置信度、类别 for box in boxes: x1, y1, x2, y2 = box.xyxy[0].tolist() conf = box.conf[0].item() cls = int(box.cls[0].item()) print(f"Class: {cls}, Conf: {conf:.2f}, Box: [{x1:.1f}, {y1:.1f}, {x2:.1f}, {y2:.1f}]")if __name__ == '__main__': main()
CLI 方式:
yolo detect predict model=runs/train/exp/weights/best.pt source=test_images/ save=True## 数据集下载> 小郭AI日志
数据集
YOLOv11室内安防场景行人目标检测数据集-406张-pedestrian-1_3_2.zip https://pan.baidu.com/s/1PKiGO-WifeVzDRLSDSb7gA提取码:ftee
`
CLI 方式:
yolo detect predict model=runs/train/exp/weights/best.pt source=test_images/ save=True## 数据集下载> 小郭AI日志
数据集
YOLOv11室内安防场景行人目标检测数据集-406张-pedestrian-1_3_2.zip https://pan.baidu.com/s/1PKiGO-WifeVzDRLSDSb7gA提取码:ftee