WiderFace数据集详解以及在模型中如何使用

WIDERFACE介绍

WIDER FACE数据集是人脸检测的一个benchmark数据集,包含32203图像,以及393,703个标注人脸,其中,158,989个标注人脸位于训练集,39,496个位于验证集。每一个子集都包含3个级别的检测难度:Easy,Medium,Hard。这些人脸在尺度,姿态,光照、表情、遮挡方面都有很大的变化范围。

WIDER FACE选择的图像主要来源于公开数据集WIDER。制作者来自于香港中文大学,他们选择WIDER的61个事件类别,对于每个类别,随机选择40%10%50%作为训练、验证、测试集。检测算法在测试集上的评估方式与PASCAL VOC DATADASET 相同,并且测试集的真值包围框(boundingbox)未发布。参赛者可通过提交预测结果(prediction files),由WIDER FACE给出评价结果。

数据集详解

数据集下载 下载链接

可以看到数据集有四个文件夹

下面三个文件分场景存放图片
第一个文件夹存放测试、训练、验证的信息,分开存放,有mat和txt两个版本,两个版本的信息内容相同,只是格式不同。如果你电脑有MATLAB,你可以直接打开mat格式文件,否则可以打开txt文件查看信息。
WiderFace数据集详解以及在模型中如何使用_第1张图片
发现数据分别的意义如下:
File name
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:姿态

在模型中如何使用

写一个脚本调用mat格式数据集中的信息

import scipy.io as sio

path = './widerface/WIDER_val/images/'
wider_face_mat = sio.loadmat('./widerface/wider_face_split/wider_face_val.mat')
print(type(wider_face_mat))     # dict
# ['__header__', '__version__', '__globals__',

# 'event_list',:不同场景列表
# 'file_list',:每个场景下所有图片的名称
# 'face_bbx_list',:图片中人脸框坐标和大小:x1,y1,w,h
# 'blur_label_list',:每个场景下的图片的模糊程度
# 'expression_label_list',
# 'illumination_label_list',
# 'invalid_label_list',
# 'occlusion_label_list',
# 'pose_label_list']

event_list = wider_face_mat['event_list']
file_list = wider_face_mat['file_list']
print(wider_face_mat['__header__'])
print(wider_face_mat['__version__'])
print(wider_face_mat['__globals__'])
print(len(wider_face_mat['blur_label_list']))
# print(event_list)
print(wider_face_mat['face_bbx_list'][0])

使用python中的库调用mat格式文件,将其转化为python字典格式,有多个keys,前三个’header’, ‘version’, 'globals’为mat格式文件的信息,不需要管。后面几个keys需要我们关心,输出可以看到其与txt文件中的信息一致。

参考1:https://zhuanlan.zhihu.com/p/101600780
参考2:https://blog.csdn.net/yison11/article/details/78122339

你可能感兴趣的:(CV,神经网络,机器学习)