COFW-68数据集实战:5分钟搞定YOLO格式转换(附完整代码)
当你在边缘设备部署人脸关键点检测模型时,数据集格式转换往往是第一个绊脚石。COFW-68作为遮挡场景下的重要基准数据集,其MATLAB格式的原始标注让许多开发者头疼。本文将带你用Python脚本直击痛点,实现一键式转换。
1. 理解COFW-68的数据结构
COFW-68数据集包含两个核心文件:
cofw68_test_bboxes.mat:存储每张图片的人脸边界框test_annotations/目录下的.mat文件:对应每张图片的68个关键点坐标
通过scipy.io加载这些文件,可以看到数据结构如下:
import scipy.io
bboxes = scipy.io.loadmat('cofw68_test_bboxes.mat')
print(bboxes.keys()) # 输出:['__header__', '__version__', '__globals__', 'bboxes']
关键点数据则采用(68, 2)的Numpy数组存储,其中第二维的0/1值表示关键点可见性。这种存储方式虽然紧凑,但与YOLO要求的文本格式相去甚远。
2. YOLO格式的深度解析
YOLO格式的关键点标注需要满足三个核心要求:
- 归一化坐标:所有值必须在[0,1]范围内
- 固定顺序:68个关键点必须按预设顺序排列
- 可见性标记:通常用0/1表示关键点是否可见
典型的一行标注数据如下:
0 0.356 0.478 0.412 0.521 0.332 0.415

&spm=1001.2101.3001.5002&articleId=155148815&d=1&t=3&u=3be592e6df714212933580e23125ce8b)
975

被折叠的 条评论
为什么被折叠?



