WiderFace数据集用于训练人脸检测模型
来源:互联网 发布:兼职网络维护 编辑:程序博客网 时间:2024/06/01 16:24
下载链接: http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/
该数据集可用于进行人脸检测模型的训练
如果做训练,可以点击网页中的
(国内还是百度吧,会快一些)
这个下载下来是按文件夹分好的,全都是图片。对于训练,还少label的信息,点这个下载:
Label的部分下下来后会发现,测试、训练、验证的信息被分开存放。有mat和txt两个版本。如果txt直接通过windows自带的记事本打开会发现各种数据被拧在了一起。
但是你用MatLab打开txt之后会发现格式不太一样,如下:
类似这种按行分割好的文档。可以在这里全选-复制-新建txt-粘贴。这时候就可以查看readme.txt的说明(在label那个压缩包里,被和数据打包在了一起)
发现数据分别的意义如下:
File name
Number of bounding box
x1, y1, w, h, blur, expression, illumination, invalid, occlusion, pose
Number of bounding box
x1, y1, w, h, blur, expression, illumination, invalid, occlusion, pose
也就是第一行是文件夹,文件名
第二行是图中人脸的数量
再下面是人脸信息的参数。
x1, y1, w, h, 代表人脸框的位置(检测算法一般都要画个框框把人脸圈出来)
blur:是模糊度,分三档:0,清晰;1:一般般;2:人鬼难分
express:表达(什么鬼也没弄明白,反正我训这个用不着)
illumination:曝光,分正常和过曝
occlusion:遮挡,分三档。0,无遮挡;1,小遮挡;2,大遮挡;
invalid:(没弄明白)
pose:(疑似姿态?分典型和非典型姿态)
那么这里我需要的数据就是人脸框的坐标位置,作为我的目标label。我需要知道某张图片里有多少张人脸,每张人脸分别在什么位置。
这就需要写一个脚本来让图片和这些数据配对。然后就坐下码了一个(FILEDIR根据自己实际情况修改啊):
import reimport linecacheimport os# 本程序用于将widerface数据集中label部分分离出来并且重新保存FILEDIR = "E:\Python_Files\TryWiderFace\Dataset\labels\\"file = open(FILEDIR+'wider_face_train_bbx_gt.txt', 'r')def count_lines(file): lines_quantity = 0 while True: buffer = file.read(1024 * 8192) if not buffer: break lines_quantity += buffer.count('\n') file.close() return lines_quantitylines = count_lines(file)for i in range(lines): line = linecache.getline(FILEDIR+'wider_face_train_bbx_gt.txt',i) if re.search('jpg', line): position = line.index('/') file_name = line[position + 1: -5] folder_name = line[:position] print(file_name) i += 1 face_count = int(linecache.getline(FILEDIR+'wider_face_train_bbx_gt.txt', i)) for j in range(face_count): box_line = linecache.getline(FILEDIR + 'wider_face_train_bbx_gt.txt', i+j+1) #x1, y1, w, h, x1,y1 为人脸框左上角的坐标 po_x1 = box_line.index(' ') x1 = box_line[:po_x1] po_y1 = box_line.index(' ', po_x1 + 1) y1 = box_line[po_x1:po_y1] po_w = box_line.index(' ', po_y1 + 1) w = box_line[po_y1:po_w] po_h = box_line.index(' ', po_w + 1) h = box_line[po_w:po_h] coordinates = x1 + y1 + w + h # print(coordinates) if not(os.path.exists(FILEDIR + "wider_face_train\\" + folder_name)): os.makedirs(FILEDIR + "wider_face_train\\" + folder_name) with open(FILEDIR + "wider_face_train\\"+ folder_name + "\\" + file_name + ".txt", 'a') as f: f.write(coordinates + "\n") i += i + j + 1
阅读全文
0 0
- WiderFace数据集用于训练人脸检测模型
- word2vec 用于训练数据,生成模型
- mxnet 之 目标检测数据集制作+SSD 模型训练
- 深度学习ssd检测模型训练自己的数据集
- 用于训练的模型
- caffe:自己的数据训练模型 用于视频检索(一)
- widerface数据库转voc2007数据集(python/matlab实现)
- widerface转换为pascal数据集的格式
- 人脸检测及识别python实现系列(3)——为模型训练准备人脸数据
- MATLAB抽取widerface数据集人脸
- [训练测试过程记录]SSD:Single Shot Detector 用于场景文字检测(举例数据集:COCO-Text)
- 训练MNIST数据集模型
- 训练MNIST数据集模型
- DPM检测模型 训练自己的数据集 读取接口修改
- DPM检测模型 训练自己的数据集 读取接口修改
- OpenCV用于人脸检测
- 人脸检测之MTCNN训练自己的数据
- SSD人脸检测安装:SSD训练自己的数据集
- [Linux] 总结各系统 双网卡绑定
- 与true
- javawebday11(junit debug调试 泛型 遍历 list set map 使用通配符T)
- Java static关键字和构造函数执行顺序
- 系统调用原理
- WiderFace数据集用于训练人脸检测模型
- spring mvc 环境Jackson转换器jsonp请求=方式1
- FreeMarker教程篇--第一个freemarker程序
- tomcat 多实例部署
- 我的第一篇博客
- Python:入门到实现网络爬虫 Day3
- bzoj2654 tree(kruskal+二分)
- 软件过程改进笔记(9/28 )-----第一章
- 《编写高质量代码 改善Python程序的91个建议》读后程序学习小结