关于WiderPerson数据说明(使用后笔记)
0.数据下载
0.1 官方下载
数据主页(包含google云盘、百度云盘下载方式)
Google Drive or Baidu Drive (jx5p)
0.2 我自己的csdn链接
WiderPerson.zip官网下载
数据解压之后:
1.不同目录下说明
1.0 ReadMe.txt
关于该数据集的解释,我主要关注的类别对应的标签:
1.1 Annotations
以.jpg.txt结尾~,好吧。其中000040.jpg.txt去掉了,因为坏掉了,特意下载了官方数据做了进一步确认,所以包括jpg也一起删掉了。还有一件比较重要的事,test的标注是没有的,所以Annotations中是不包含test.txt中文件名对应的.jpg.txt标注的。
下面是txt文件,第一行是目标数,第二行开始,第一列是类别,2-5列是坐标。
(
objection_num
label xmin ymin xmax ymax
)
1.2 Evaluation
主要是一些matlab的脚本,由于本人电脑比较烂,就不装这些了,对于Widerperson转VOC数据的,WiderPerson行人检测数据集,这篇写得是极好的了。
1.3 Images
这个文件夹下,就是包含所有的训练、验证、测试的图像了。
图有各种各样的从网上download下来的那种,水印还在呢,所以够一般化。
尺寸有几百到几千不等,所以有些也可以自己去掉,对于只像用其中几个类别的,可以在写csv文件的时候,去掉。
下面写了个小脚本,提取我想要类别的数据,然后写到csv文件中(name,filename,height,width,xmax,xmin,ymax,ymin)。
__author__ = 'gmt'
#将文件中的核心数据提取出来
import json
import random
import copyimport os
import cv2if __name__ == '__main__':infos = ['train_info', 'valid_info', 'test_info']# infos=read_top(r"./csvdata/TownCentre-groundtruth.top")# anno_path = './WiderPerson/Annotations/'imgs_path = './WiderPerson/Images/'train_info = './WiderPerson/train.txt'valid_info = './WiderPerson/val.txt'test_info = './WiderPerson/test.txt'train_fp=open('./csvdata/pedestrain_train.csv','w')valid_fp=open('./csvdata/pedestrain_valid.csv','w')test_fp=open('./csvdata/pedestrain_test.csv','w')# train_fp.writelines("class,filename,height,width,xmax,xmin,ymax,ymin\n")# valid_fp.writelines("class,filename,height,width,xmax,xmin,ymax,ymin\n")# test_fp.writelines("class,filename,height,width,xmax,xmin,ymax,ymin\n")name = "pedestrain"count = 0for info_i in infos:if info_i == 'train_info':info = train_infofp=train_fpelif info_i == 'valid_info':info = valid_infofp=valid_fpelse:info = test_infofp=test_fpfp.writelines("class,filename,height,width,xmax,xmin,ymax,ymin\n")with open(info, 'r') as f:img_ids = [x for x in f.read().splitlines()]for img_id in img_ids: # '000040'count += 1print("count: " + str(count))filename = img_id + '.jpg'img_path = imgs_path + filenameimg = cv2.imread(img_path)height = img.shape[0]width = img.shape[1]label_path = img_path.replace('Images', 'Annotations') + '.txt'if not os.path.exists(label_path):continuewith open(label_path) as file:line = file.readline()count_p = int(line.split('\n')[0]) # 里面行人个数print("count: " + str(count) + " , count_p: " + str(count_p))line = file.readline()while line:cls = int(line.split(' ')[0])# < class_label =1: pedestrians > 行人# < class_label =2: riders > 骑车的# < class_label =3: partially-visible persons > 遮挡的部分行人# < class_label =4: ignore regions > 一些假人,比如图画上的人# < class_label =5: crowd > 拥挤人群,直接大框覆盖了# if cls == 1 or cls == 2 or cls == 3:if cls == 2:xmin = float(line.split(' ')[1])ymin = float(line.split(' ')[2])xmax = float(line.split(' ')[3])ymax = float(line.split(' ')[4].split('\n')[0])fp.writelines("%s,%s,%d,%d,%s,%s,%s,%s\n"%(name,filename,height,width,xmax,xmin,ymax,ymin))line = file.readline()cv2.imshow('result', img)cv2.waitKey(10)train_fp.close()valid_fp.close()test_fp.close()
检测框在图像上可视化:
import os
import cv2if __name__ == '__main__':path = './WiderPerson/train.txt'with open(path, 'r') as f:img_ids = [x for x in f.read().splitlines()]for img_id in img_ids: # '000040'img_path = './WiderPerson/Images/' + img_id + '.jpg'img = cv2.imread(img_path)im_h = img.shape[0]im_w = img.shape[1]label_path = img_path.replace('Images', 'Annotations') + '.txt'if not os.path.exists(label_path):continuewith open(label_path) as file:line = file.readline()count = int(line.split('\n')[0]) # 里面行人个数line = file.readline()while line:cls = int(line.split(' ')[0])# < class_label =1: pedestrians > 行人# < class_label =2: riders > 骑车的# < class_label =3: partially-visible persons > 遮挡的部分行人# < class_label =4: ignore regions > 一些假人,比如图画上的人# < class_label =5: crowd > 拥挤人群,直接大框覆盖了if cls == 1 or cls == 2 or cls == 3:xmin = float(line.split(' ')[1])ymin = float(line.split(' ')[2])xmax = float(line.split(' ')[3])ymax = float(line.split(' ')[4].split('\n')[0])img = cv2.rectangle(img, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 2)line = file.readline()cv2.imshow('result', img)cv2.waitKey(500)
1.4 关于几个txt文件
以train.txt为例吧,因为每个文件里都是文件名,所以不赘述。
2.个人评价
优点:数据量大,各种场景下密集人群都包含。
缺点:都是单帧图像,对于想使用其中的测试集,做跟踪,基本不用考虑了。还是自己乖乖地去录段小视频吧~~~
参考
1.WiderPerson行人检测数据集
关于WiderPerson数据说明(使用后笔记)相关推荐
- 《R数据科学》学习笔记|Note5:使用dplyr进行数据转换(下)
点击蓝字 关注我! 写在前面 本系列为<R数据科学>(R for Data Science)的学习笔记.相较于其他R语言教程来说,本书一个很大的优势就是直接从实用的R包出发,来熟悉R及数据 ...
- 大数据之路读书笔记-16数据应用
大数据之路读书笔记-16数据应用 全球知名咨询公司麦肯锡称:"数据,已经 透到当今每一个行业和业务职能领域,成为重要的生产要素.人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈 ...
- 数据之道读书笔记-03差异化的企业数据分类管理框架
数据之道读书笔记-03差异化的企业数据分类管理框架 不同的企业或组织基于不同的目的,可以从多个角度对数据进行分类,如结构化数据和非结构化数据.内部数据和外部数据.原始数据和衍生数据.明细数据和汇总数据 ...
- 大数据之路读书笔记-03数据同步
大数据之路读书笔记-03数据同步 如第一章所述,我们将数据采集分为日志采集和数据库数据同步两部分.数据同步技术更通用的含义是不同系统间的数据流转,有多种不同的应用场景.主数据库与备份数据库之间的数据备 ...
- 数据之道读书笔记-06面向“自助消费”的数据服务建设
数据之道读书笔记-06面向"自助消费"的数据服务建设 数据底座建设的目标是更好地支撑数据消费,在完成数据的汇聚.整合.联接之后,还需要在供应侧确保用户更便捷.更安全地获取数据.一方 ...
- 大数据之路读书笔记-15数据质量
大数据之路读书笔记-15数据质量 随着 IT向DT 时代的转变,数据的重要性不言而喻,数据的应用也日趋繁茂,数据正扮演着一个极其重要的角色.而对于被日益重视的数据,如何保障其质量也是间里巴巴乃至业界都 ...
- 大数据之路读书笔记-09阿里巴巴数据整合及管理体系
大数据之路读书笔记-09阿里巴巴数据整合及管理体系 面对爆炸式增长的数据,如何建设高效的数据模型和体系,对这些数据进行有序和有结构地分类组织和存储,避免重复建设和数据不一致性,保证数据的规范性, 直是 ...
- 尚硅谷大数据技术Scala教程-笔记04【集合】
视频地址:尚硅谷大数据技术之Scala入门到精通教程(小白快速上手scala)_哔哩哔哩_bilibili 尚硅谷大数据技术Scala教程-笔记01[Scala课程简介.Scala入门.变量和数据类型 ...
- 尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程,map、mapPartitions、mapPartitionsWithIndex、flatMap、glom、groupBy)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
- 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
最新文章
- 独家 | 手把手教你用Python的Prophet库进行时间序列预测
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读
- 【渝粤教育】 国家开放大学2020年春季 2710蔬菜栽培技术 参考试题
- xampp命令行连接MySql数据库
- CVPR 2021 最佳论文!对抗神经网络GAN解决3D场景难题
- 电脑文件里哪里能用计算机,电脑里的哪些无用文件是可以放心删除的?
- 滴滴老板:程维的故事
- OpenShift 4 之集群是如何通过Cluster Version Operator升级的?
- IPerf——网络测试工具介绍与源码解析(3)
- ORCLE INNODB 博客与 innodb_lru_scan_depth
- Horizon client连接windows桌面显示:USB设备已禁用/USB重定向功能已禁用
- 横向对比EXT4,带你感受真实的Linux文件系统F2FS
- python使用gdal读写BIP、BSQ数据格式tif及相互转换
- linux安装阵列卡驱动程序,linux 安装阵列卡驱动
- 服务器用户与组没有everyone,一招教你为Windows 7共享文件夹设置Everyone权限
- 类名+单书名号——泛型,什么是泛型?如何使用泛型
- Unity-Timeline制作动画(快来制作属于你的动画吧)
- 复盘百度移动化,下一步去哪儿?
- 相忘江湖不如相濡以沫(Ⅰ)
- NPDP产品经理小知识:黄金圈法则
热门文章
- uniapp小程序使用RSA加密解密
- Software Architecture: The Hard Parts Modern Trade-Off Analyses for Distributed Architectures学习笔记
- 医院考试计算机基础知识,医院信息化计算机基础知识培训.ppt
- RabbitMQ安装和配置
- linux 安装RabbitMQ 教程
- python编程选股_随笔吧量化投资选股的python程序实践(附源码)
- mybatis学习(四)连接池、事务、动态SQL、多表查询
- 龙尚4g模块U9300C在rk3368移植适配记录
- 天涯明月刀手游刚入门新手选择什么职业好?
- Java的第五次总结