密集行人数据集 CrowdHumanvoc和yolo两种格式,yolo可以直接使用train val test已经划分好有yolov8训练200轮模型

密集行人数据集 CrowdHuman
voc和yolo两种格式,yolo可以直接使用
train val test已经划分好
有yolov8训练200轮模型。

CrowdHuman 密集行人检测数据集

数据集描述

CrowdHuman数据集是一个专为密集行人检测设计的数据集,旨在解决行人密集场景下的检测挑战。该数据集包括了大量的行人图像,涵盖了各种复杂的场景,如街道、广场等人流密集的地方。CrowdHuman数据集的目的是帮助研究人员和开发者提高在拥挤环境中的行人检测精度。

数据规模

数据集已经被划分为三个子集:

  • 训练集 (train):包含用于训练模型的数据。
  • 验证集 (val):包含用于验证模型的数据。
  • 测试集 (test):包含用于最终测试模型性能的数据。

具体的数据量如下:

  • 训练集:已划分好的训练集。
  • 验证集:已划分好的验证集。
  • 测试集:已划分好的测试集。
目标类别

该数据集的目标类别包括:

  1. 行人 (Pedestrian)

此外,数据集中可能存在一些遮挡部分行人的情况,标注信息中可能也会包括这部分信息。

标注格式

数据集中的标注信息支持两种格式:

  1. VOC格式:每个图像都有一个对应的XML文件,记录了每个对象的位置信息(边界框坐标)和类别标签。
  2. YOLO格式:每个图像都有一个对应的TXT文件,记录了每个对象的位置信息(边界框坐标归一化)和类别标签。这种格式可以直接用于YOLO系列模型的训练。
数据集结构

典型的数据集目录结构如下:

1CrowdHuman/
2├── train/
3│   ├── images/
4│   │   ├── img_00001.jpg
5│   │   ├── img_00002.jpg
6│   │   └── ...
7│   ├── labels/
8│   │   ├── img_00001.txt
9│   │   ├── img_00002.txt
10│   │   └── ...
11├── val/
12│   ├── images/
13│   │   ├── img_00001.jpg
14│   │   ├── img_00002.jpg
15│   │   └── ...
16│   ├── labels/
17│   │   ├── img_00001.txt
18│   │   ├── img_00002.txt
19│   │   └── ...
20├── test/
21│   ├── images/
22│   │   ├── img_00001.jpg
23│   │   ├── img_00002.jpg
24│   │   └── ...
25└── yolov8_weights.pt  # 训练了200轮的YOLOv8模型权重文件
应用场景

该数据集可以用于以下应用场景:

  • 公共安全:用于实时监测人流密集区域,提高公共安全水平。
  • 安防监控:辅助安防系统的视频监控,及时发现人群异常情况。
  • 事件响应:在发生紧急事件时,快速识别人群中的异常行为,以便采取相应措施。
  • 科研分析:用于研究行人检测技术,尤其是在人群密集的场景下。

示例代码

以下是一个使用Python和相关库(如OpenCV、PIL等)来加载和展示数据集的简单示例代码:

1import os
2import cv2
3import numpy as np
4from PIL import Image
5
6# 数据集路径
7dataset_path = 'path/to/CrowdHuman/'
8
9# 加载图像和标签
10def load_image_and_label(image_path, label_path):
11    # 读取图像
12    image = Image.open(image_path).convert('RGB')
13    # 解析标签文件
14    with open(label_path, 'r') as infile:
15        lines = infile.readlines()
16        objects = []
17        for line in lines:
18            data = line.strip().split()
19            class_id = int(data[0])  # 假设类别ID为0(行人)
20            x_center, y_center, w, h = map(float, data[1:])
21            objects.append([x_center, y_center, w, h, class_id])
22    return image, objects
23
24# 展示图像
25def show_image_with_boxes(image, boxes):
26    img = np.array(image)
27    class_name = 'Pedestrian'
28    for box in boxes:
29        x_center, y_center, w, h, class_id = box
30        w, h = int(w * img.shape[1]), int(h * img.shape[0])
31        x_center, y_center = int(x_center * img.shape[1]), int(y_center * img.shape[0])
32        xmin, xmax = x_center - w // 2, x_center + w // 2
33        ymin, ymax = y_center - h // 2, y_center + h // 2
34        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
35        cv2.putText(img, class_name, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
36    cv2.imshow('Image with Boxes', img)
37    cv2.waitKey(0)
38    cv2.destroyAllWindows()
39
40# 主函数
41if __name__ == "__main__":
42    subset = 'train'  # 可以选择 'val' 或 'test'
43    images_dir = os.path.join(dataset_path, subset, 'images')
44    labels_dir = os.path.join(dataset_path, subset, 'labels')
45    
46    # 获取图像列表
47    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
48    
49    # 随机选择一张图像
50    selected_image = np.random.choice(image_files)
51    image_path = os.path.join(images_dir, selected_image)
52    label_path = os.path.join(labels_dir, selected_image.replace('.jpg', '.txt'))
53    
54    # 加载图像和标签
55    image, boxes = load_image_and_label(image_path, label_path)
56    
57    # 展示带有标注框的图像
58    show_image_with_boxes(image, boxes)

这段代码展示了如何加载图像和其对应的YOLO TXT标注文件,并在图像上绘制边界框和类别标签。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

示例代码:使用预训练模型进行推理

以下是使用YOLOv8预训练模型进行推理的示例代码:

1import torch
2import cv2
3import numpy as np
4from pathlib import Path
5
6# 数据集路径
7dataset_path = 'path/to/CrowdHuman/'
8subset = 'test'  # 可以选择 'train' 或 'val'
9
10# 加载预训练模型
11weights_path = os.path.join(dataset_path, 'yolov8_weights.pt')
12model = torch.hub.load('ultralytics/yolov5', 'custom', path=weights_path, force_reload=True)
13
14# 主函数
15if __name__ == "__main__":
16    images_dir = os.path.join(dataset_path, subset, 'images')
17    
18    # 获取图像列表
19    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
20    
21    # 随机选择一张图像
22    selected_image = np.random.choice(image_files)
23    image_path = os.path.join(images_dir, selected_image)
24    
25    # 使用预训练模型进行推理
26    results = model(image_path)
27    results.show()  # 显示结果
28    results.save()  # 保存结果图像

这段代码展示了如何使用YOLOv8预训练模型进行推理,并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。如果您需要使用YOLOv8模型进行更高级的功能,如模型微调或增量训练,可以参考YOLOv8的官方文档来进行相应的配置和操作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的主从模式、哨兵模式、集群模式

最近学习了一下这三种架构模式,这里记录一下,仅供参考 目录 一、主从架构 1、搭建方式 2、同步原理 3、优化策略: 4、总结: 二、哨兵架构 1、搭建哨兵集群 2、RedisTemplate如何使用哨兵模式 三、分片集群架构 1&#…

JavaScript 可视化

一、JavaScript 可视化概述 JavaScript 在 Web 前端开发中的广泛应用,使其成为构建互动性和实时数据可视化的理想工具。通过各种库和框架,JavaScript 可以帮助开发者创建动态图表、图形、地图等可视化内容。 二、常用的 JavaScript 可视化库 D3.js 特点…

SkyWalking 环境搭建部署

架构简介 skywalking agent : 和业务系统绑定在一起,负责收集各种监控数据skywalking oapservice : 是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库查询数据,并返回数据给前端。Skywalking oapserv…

19_Python中的上下文管理器

Python中的上下文管理器 在Python中,上下文管理器(Context Manager)是一种用于资源管理的技术,它可以确保资源在使用后被正确释放,例如文件、网络连接或锁。 上下文管理器(Context Manager)是…

《Effective Debugging:软件和系统调试的66个有效方法》读书笔记-Part2

一篇blog,显得略长,本文对应第5-8章,第1-4章请参考Part 1。 编程技术 代码评审、手工执行代码 要点: 检查代码里有没有常见错误;手工执行代码,以验证其是否正确;通过绘图来解析复杂数据结构…

git 删除远程分支的几种写法

删除远程分支有多种实现方法&#xff1a; 使用git push命令&#xff1a;可以使用以下命令删除远程分支&#xff1a; git push origin --delete <branch_name>其中&#xff0c;<branch_name>是要删除的分支的名称。 使用git push命令的简单写法&#xff1a;可以直…

计算机毕业设计 | SSM 凌云招聘平台 求职问答审批系统(附源码)

1&#xff0c;绪论 人力资源是企业产生效益、创造利润的必不可少的、最重要的资源。人作为人力资源的个体可看作是一个承载着有效知识、能力的信息单元。这样的信息单元可看作是一个为企业产生价值和利润的个体。从而使得这样的信息单元所具有的信息就是一个有价值的信息。 校…

python是什么语言写的

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言。现今Python语言很火&#xff0c;可有人提问&#xff0c;这么火的语言它的底层又是什么语言编写的呢&#xff1f; python是C语言编写的&#xff0c;它有很多包也是用C语言写的。 所以说&#xff0c;C语言还是很…

中间件:maxwell、canal

文章目录 1、底层原理&#xff1a;基于mysql的bin log日志实现的&#xff1a;把自己伪装成slave2、bin log 日志有三种模式&#xff1a;2.1、statement模式&#xff1a;2.2、row模式&#xff1a;2.3、mixed模式&#xff1a; 3、maxwell只支持 row 模式&#xff1a;4、maxwell介…

全栈开发(四):使用springBoot3+mybatis-plus+mysql开发restful的增删改查接口

1.创建user文件夹 作为增删改查的根包 路径 src/main/java/com.example.demo/user 2.文件夹里文件作用介绍 1.User(实体类) package com.example.demo.user; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.IdType; impo…

Web端云剪辑解决方案,BS架构私有化部署,安全可控

传统视频制作流程繁琐、耗时&#xff0c;且对专业设备和软件的高度依赖&#xff0c;常常让企业望而却步&#xff0c;美摄科技凭借其强大的技术实力和创新能力&#xff0c;推出了面向企业用户的Web端云剪辑解决方案&#xff0c;为企业提供一站式、高效、便捷的视频生产平台。 B…

【docker】在IDEA工具内,远程操作服务器上的docker

一&#xff0c;配置 在服务器上&#xff0c;对docker配置如下内容&#xff1a; vi /usr/lib/systemd/system/docker.service添加如下&#xff1a; -H tcp://0.0.0.0:2375重新加载&#xff0c;并重启docker&#xff1a; #重新加载配置 systemctl daemon-reload# 重启docker …

使用 IntelliJ IDEA 连接到达梦数据库(DM)

前言 达梦数据库是一款国产的关系型数据库管理系统&#xff0c;因其高性能和稳定性而被广泛应用于政府、金融等多个领域。本文将详细介绍如何在 IntelliJ IDEA 中配置并连接到达梦数据库。 准备工作 获取达梦JDBC驱动&#xff1a; 访问达梦在线服务平台网站或通过其他官方渠道…

SkyWalking 持久化链路数据

默认持久化 H2 数据库config/application.yml storage:selector: ${SW_STORAGE:h2} MySQL持久化 修改配置 MySQL 数据库config/application.yml storage:selector: ${SW_STORAGE:h2}mysql:properties:jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest&q…

C# 入坑JAVA 潜规则 大小写敏感文件名和类名 枚举等 入门系列2

java 项目结构 文件说明 潜规则 java入门-CSDN博客 Java 对大小写敏感 如文件名和类名。 D:\now\scx\scx-cloud\scx-cloud\scx-module-system\scx-module-system-biz\src\main\java\com\scm\scx\module\system\controller\app\compublic\compublicController.java:29:8 java:…

基于yolov8的红外小目标无人机飞鸟检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的红外小目标无人机与飞鸟检测系统是一项集成了前沿技术的创新解决方案。该系统利用YOLOv8深度学习模型的强大目标检测能力&#xff0c;结合红外成像技术&#xff0c;实现了对小型无人机和飞鸟等低空飞行目标的快速、准确检测。 YOLOv8作为YOLO系列的…

物流快递在途监控API接口DEMO下载

提供物流订单监控服务&#xff0c;用户可将订单内容通过订阅接口订阅到快递鸟&#xff0c;快递鸟对订单进行实时监控&#xff0c;当物流轨迹有更新时&#xff0c;实时获取数据&#xff0c;对数据进行格式化&#xff0c;计算运单预计到达时间、全流程的物流状态&#xff08;无轨…

二叉树遍历、查找、深度等

在面试中&#xff0c;二叉树问题是一个常见的主题。下面我将展示如何在 Python 3.11 中实现二叉树的基本结构和几种常见的面试题解法&#xff0c;包括二叉树的遍历、查找、深度等。 1. 二叉树节点的定义 class TreeNode:def __init__(self, value0, leftNone, rightNone):sel…

Springboot与minio

一、介绍 Minio是一个简单易用的云存储服务&#xff0c;它让你可以轻松地把文件上传到互联网上&#xff0c;这样无论你在哪里&#xff0c;只要有网络&#xff0c;就能访问或分享这些文件。如果你想要从这个仓库里取出一张图片或一段视频&#xff0c;让网站的访客能看到或者下载…

速盾:高防 CDN 怎么屏蔽恶意访问?

在当今网络环境中&#xff0c;恶意访问是网站和应用面临的一个严重问题。高防 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;作为一种强大的防护工具&#xff0c;可以有效地屏蔽恶意访问&#xff0c;保护网站和应用的安全。那么&#xff0c;高…