人脸识别与insightFace梳理

时间:2024-03-31 07:19:27

一、基础知识

1.相关信息链接(总览):

http://www.sohu.com/a/225358405_473283

https://www.cnblogs.com/shouhuxianjian/p/9789243.html 人脸识别文献综述(Deep face recognition: a survey v4)

 

2.数据方面:

https://blog.csdn.net/jobbofhe/article/details/79416661 LFW数据说明及测试说明

https://zhuanlan.zhihu.com/p/23886731 FDDB和LFW 数据集浅析

https://zhuanlan.zhihu.com/p/41195283 商汤科技:图片噪声才是人脸识别背后的恶魔 论文地址:https://arxiv.org/abs/1807.11649

https://hyper.ai/tag/%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB 18个公开的人脸数据集合

glint 数据集是网上下载的,guangda是工厂打卡数据(每个人都有多张照片,较为干净)

 

人脸识别目前实验场景与实际应用的差异

人脸识别与insightFace梳理

 

考虑,增加亚洲人的数据(增加 gelint和guangda的数据,但是又可能因为噪声太多)

3、训练方面:

https://zhuanlan.zhihu.com/p/64864995  学习率和batchsize如何影响模型的性能

一些别的扩展阅读:

https://cloud.tencent.com/developer/article/1359073 (Python的开源人脸识别库:离线识别率高达99.38%(附源码))

 

二、InsightFace 项目梳理

1.训练数据集下载和说明(insightFace官网代码)

训练数据集下载和说明:

Refine-MS1M: https://pan.baidu.com/s/1nxmSCch (推荐)

VGG2: https://pan.baidu.com/s/1c3KeLzy (数据部分解读:https://blog.csdn.net/shaoxiaohu1/article/details/79007477 能够用于识别不同姿态和年龄人脸的数据集)

所有数据集均用MXNet IndexedRecord存储, 加速读取性能.

文件列表:

faces_ms1m_112x112/ train.idx train.rec property lfw.bin cfp_ff.bin cfp_fp.bin agedb_30.bin

其中train.idx 和 train.rec分别是数据偏移索引和数据本身的文件. property代表数据集属性. 其余4个bin文件是验证集,

MXNet IndexedRecord是一种类kv结构. key是一个整数, 每个value代表数据并可包含一个header记录数据的标签.

InsightFace Record格式:

key:0, value_header => [identities_key_start, identities_key_end] key∈[1, identities_key_start), value_header => [identity_label], value_content => [face_image] key∈[identities_key_start, identities_key_end), value_header => [identity_key_start, identity_key_end]

这样的格式既可以支持Softmax这种类型的训练(不需要按人物分组), 又能支持类Triplet Loss的训练(通过id->images映射)

具体生成rec文件的命令可参考src/data/face2rec2.py

所有人脸图片均用MTCNN检测5点并相似变换到112x112大小.

 

 

 

 

【待更新……】