人脸识别,解析MS-Celeb-1M人脸数据集及FaceImageCroppedWithAlignment.tsv文件提取

【人脸识别】解析MS-Celeb-1M人脸数据集及FaceImageCroppedWithAlignment.tsv文件提取

 

1,MS-Celeb-1M数据集: 
MSR IRC是目前世界上规模最大、水平最高的图像识别赛事之一,由MSRA(微软亚洲研究院)图像分析、大数据挖掘研究组组长张磊发起,每年定期举办。从1M个名人中,根据他们的受欢迎程度,选择100K个。然后,利用搜索引擎,给100K个人,每人搜大概100张图片。共100K*100=10M个图片。测试集包括1000个名人,这1000个名人来自于1M个明星中随机挑选。而且经过微软标注。每个名人大概有20张图片,这些图片都是网上找不到的。其他常用人脸数据集:CAISA-WebFace,VGG-Face, MegaFace.

数据有对齐版可以直接用于训练(共80G数据):

数据下载地址:https://www.msceleb.org/download/aligned

 

2,FaceImageCroppedWithAlignment.tsv文件提取参考: https://blog.csdn.net/wuqingshan2010/article/details/72081898

下载并解压微软的大型人脸数据集MS-Celeb-1M后,将FaceImageCroppedWithAlignment.tsv文件还原成JPG图片格式。代码如下:


 
 
  1. import base64
  2. import struct
  3. import os
  4. def read_line(line):
  5. m_id, image_search_rank, image_url, page_url, face_id, face_rectangle, face_data=line.split( "\t")
  6. rect=struct.unpack( "ffff",base64.b64decode(face_rectangle))
  7. return m_id, image_search_rank, image_url, page_url, face_id, rect, base64.b64decode(face_data)
  8. def write_image(filename, data):
  9. with open(filename, "wb") as f:
  10. f.write(data)
  11. def unpack(file_name, output_dir):
  12. i= 0
  13. with open(file_name, "r", encoding= "utf-8") as f:
  14. for line in f:
  15. m_id, image_search_rank, image_url, page_url, face_id, face_rectangle, face_data = read_line(line)
  16. img_dir = os.path.join(output_dir, m_id)
  17. if not os.path.exists(img_dir):
  18. os.mkdir(img_dir)
  19. img_name = "%s-%s" % (image_search_rank, face_id) + ".jpg"
  20. write_image(os.path.join(img_dir, img_name), face_data)
  21. i += 1
  22. if i % 1000 == 0:
  23. print(i, "images finished")
  24. print( "all finished")
  25. def main():
  26. file_name = "G:\\FaceImageCroppedWithAlignment\\FaceImageCroppedWithAlignment.tsv"
  27. output_dir = "E:\\MS-Celeb-1M\\"
  28. unpack(file_name, output_dir)
  29. if __name__ == '__main__':
  30. main()

提取后数据总共800多万张人脸图像:

3,其中同一目录图像有很多数据并非是同一人

网上有一份清理的文档  MS-Celeb-1M_clean_list.txt (包含79076个人,5049824张人脸图像)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值