人形检测数据集, 目标检测/行人检测/安防AI模型训练 密集场景人形检测数据集 / 行人检测数据集训练及应用
自用整理的人形检测数据集,适合做目标检测/行人检测/安防AI模型训练。
数据情况:
共约 13000张图片
场景:密集人群(街道/商场/公共场所等)
已整理分类,数据质量较高
支持 YOLO格式标注 / bbox标注
优势:
数据量大,直接可用
覆盖密集场景,稀缺数据
省去采集与清洗时间
适合做项目训练 / 商业验证
分类项 详细说明
数据集名称 密集场景人形 / 行人检测数据集
图片总量 约 13000 张
适用方向 行人目标检测、智能安防 AI 模型训练、算法验证、项目落地、模型迭代优化
主要场景 城市街道、商场、室内外公共场所等密集人群场景
标注格式 标准 YOLO 格式、BBox 矩形框标注,双格式兼容
标注类别 单类别:person(行人 / 人形目标)
数据状态 已完成整理、清洗、分类,无脏图、无效样本
数据特点 人群密集、目标重叠遮挡多、实景环境复杂,属于行业稀缺数据集
适配算法 YOLOv5/YOLOv8/YOLOv11、Faster R-CNN、SSD 等主流目标检测框架
运行环境 Python 环境,支持 Windows / Linux 系统
密集场景人形/行人检测数据集(含完整训练代码)
一、数据集基础信息表
| 分类项 | 详细说明 |
|---|---|
| 数据集名称 | 密集场景人形/行人检测数据集 |
| 图片总量 | 约 13000 张 |
| 适用方向 | 行人目标检测、智能安防AI模型训练、算法验证、项目落地、模型迭代优化 |
| 主要场景 | 城市街道、商场、室内外公共场所等密集人群场景 |
| 标注格式 | 标准YOLO格式、BBox矩形框标注,双格式兼容 |
| 标注类别 | 单类别:person(行人/人形目标) |
| 数据状态 | 已完成整理、清洗、分类,无脏图、无效样本 |
| 数据特点 | 人群密集、目标重叠遮挡多、实景环境复杂,属于行业稀缺数据集 |
| 适配算法 | YOLOv5/YOLOv8/YOLOv11、Faster R-CNN、SSD 等主流目标检测框架 |
| 运行环境 | Python 3.9+,支持 Windows / Linux 系统 |
二、数据集目录结构(标准YOLO格式)
person_detection_dataset/ ├── images/ # 全部原图 │ ├── train/ # 训练集图片 │ ├── val/ # 验证集图片 │ └── test/ # 测试集图片 ├── labels/ # 对应标注文件 │ ├── train/ │ ├── val/ │ └── test/ └── person.yaml # YOLO系列训练配置文件三、标注规则说明
1. 类别对照表
| 类别ID | 类别名称 | 目标说明 |
|---|---|---|
| 0 | person | 行人/人形目标 |
2. 标注格式规范
- YOLO 格式(.txt)
采用归一化坐标,每行格式:类别ID x中心 y中心 框宽 框高,图片与标签一一对应,可直接导入YOLO系列训练。 - BBox 格式
采用像素级左上角、右下角坐标,兼容传统两阶段检测算法、标注工具二次编辑。
四、数据集核心优势表
| 优势维度 | 具体描述 |
|---|---|
| 数据体量 | 13000张足量实景图片,满足常规训练、调参、商业模型迭代需求 |
| 场景稀缺性 | 主打密集人群、目标遮挡、人群重叠场景,区别于稀疏行人数据,安防场景实用性极强 |
| 数据质量 | 已完成采集、清洗、去重、分类,剔除模糊、失效、无目标图片,标注准确率高 |
| 开箱即用 | 双标注格式全覆盖,无需二次标注与格式转换,下载后可直接启动训练 |
| 适用范围广 | 可用于学术研究、课程毕设、工程项目、商业AI模型落地、算法效果验证 |
| 兼容性强 | 适配市面所有主流深度学习目标检测框架,迁移成本低 |
五、环境依赖配置
1. 虚拟环境创建
# 创建并激活虚拟环境conda create-nperson_detectpython=3.9conda activate person_detect2. 依赖安装
# 安装核心依赖pipinstalltorch==1.9.0torchvision==0.10.0 pipinstallultralytics opencv-python numpy tqdm3. 依赖清单requirements.txt
torch==1.9.0 torchvision==0.10.0 ultralytics opencv-python numpy tqdm六、数据集配置文件person.yaml
# 数据集路径train:./images/trainval:./images/valtest:./images/test# 类别数量与名称nc:1names:0:person七、完整训练代码
1. YOLOv8 训练脚本train_person.py
fromultralyticsimportYOLOdefmain():# 加载YOLOv8预训练权重,可选 yolov8n/s/m/l/x 不同规模模型model=YOLO("yolov8n.pt")# 模型训练参数配置model.train(data="person.yaml",# 数据集配置文件路径epochs=120,# 训练总轮数imgsz=640,# 模型输入图像尺寸batch=16,# 批次大小,根据显存调整device=0,# 使用GPU训练;无GPU改为 device="cpu"workers=4,# 数据加载线程数patience=15,# 早停轮数,损失不下降则停止训练project="train_result",# 训练结果根目录name="yolov8_person",# 本次训练文件夹名称save=True,# 保存训练权重save_period=10,# 每10轮保存一次权重rect=False,mosaic=1.0# 开启马赛克数据增强)# 训练完成后,在验证集上评估模型精度metrics=model.val()print("模型评估指标:",metrics)print("训练任务全部完成!")if__name__=="__main__":main()2. 模型推理测试脚本predict_person.py
fromultralyticsimportYOLOimportcv2# 加载训练完成的最优模型权重model=YOLO("./train_result/yolov8_person/weights/best.pt")# 自定义检测阈值CONF_THRESH=0.25IOU_THRESH=0.45defdetect_image(img_path):"""单张图片检测"""results=model.predict(source=img_path,conf=CONF_THRESH,iou=IOU_THRESH,save=False)# 绘制检测结果result_frame=results[0].plot()# 统计检测到的行人数量person_num=len(results[0].boxes)print(f"检测到行人数量:{person_num}")cv2.imshow("行人检测结果",result_frame)cv2.waitKey(0)cv2.destroyAllWindows()defdetect_video(video_path):"""视频/摄像头检测,video_path=0 调用本地摄像头"""results=model.predict(source=video_path,conf=CONF_THRESH,iou=IOU_THRESH,stream=True)forresinresults:frame=res.plot()count=len(res.boxes)cv2.putText(frame,f"Person:{count}",(20,40),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)cv2.imshow("实时行人检测",frame)# 按下 q 退出ifcv2.waitKey(1)&0xFF==ord('q'):breakcv2.destroyAllWindows()if__name__=="__main__":# 测试单张图片detect_image("test.jpg")# 测试本地视频# detect_video("test_video.mp4")# 测试摄像头实时检测# detect_video(0)3. 批量图片检测并保存结果脚本batch_detect.py
importosfromultralyticsimportYOLO model=YOLO("./train_result/yolov8_person/weights/best.pt")# 批量检测文件夹内所有图片defbatch_detect_images(input_dir,output_dir):ifnotos.path.exists(output_dir):os.makedirs(output_dir)img_suffix=(".jpg",".jpeg",".png",".bmp")img_list=[fforfinos.listdir(input_dir)iff.lower().endswith(img_suffix)]forimg_nameinimg_list:img_path=os.path.join(input_dir,img_name)results=model.predict(source=img_path,conf=0.25,iou=0.45,save=False)out_img=results[0].plot()save_path=os.path.join(output_dir,img_name)model.save_img(out_img,save_path)print(f"已处理:{img_name}")if__name__=="__main__":# 输入图片文件夹、结果保存文件夹input_folder="./test_images"output_folder="./detect_result"batch_detect_images(input_folder,output_folder)print("批量检测完成!")八、运行流程
- 解压数据集,按照指定目录结构摆放图片与标签文件;
- 核对
person.yaml内文件路径,确保路径无误; - 激活虚拟环境,执行
python train_person.py启动训练; - 训练结束后,最优权重
best.pt自动保存在训练目录下; - 运行推理脚本,完成图片、视频、摄像头、批量图片检测。
九、关键词
行人检测、人形检测、密集人群、安防数据集、目标检测、YOLO数据集、AI模型训练、计算机视觉、实景标注数据集
