以下链接是个人关于insightFace所有见解,如有错误欢迎大家指出,我会第一时间纠正,如有兴趣可以加微信:17575010159 相互讨论技术。
人脸识别0-00:insightFace目录:https://blog.csdn.net/weixin_43013761/article/details/99646731:
这是本人项目的源码:https://github.com/944284742/1.FaceRecognition
其中script目录下的文件为本人编写,主要用于适应自己的项目,可以查看该目录下的redeme文件。
资源链接
论文链接:https://arxiv.org/abs/1801.07698
insightFace (Mxnet源码):https://github.com/deepinsight/insightface
模型下载
在下载到源码之后,不必多说,首先阅读的是README.md文件。相信大家也很想看看insightFace成型之后的效果是什么样子,下面是其预训练模型的网址:
https://github.com/deepinsight/insightface/wiki/Model-Zoo
本人现在的模型是其中的:3.4 MobileFaceNet,ArcFace@ms1m-refine-v1
下载完成之后放到源码的models目录下。
完成之后,在使用他进行预训练之前,当然需要测试一下,看看该模型到底到底怎样。既然要进行测试,那么当然我们需要下载测试的数据,作者已经提供了很多数据。
数据下载链接:https://github.com/deepinsight/insightface/wiki/Dataset-Zoo
本人使用的是其中的:MS1M-ArcFace (85K ids/5.8M images) [5,7] (Recommend)
其实,下载任意一个都可以,因为都包含了4个测试数据集:lfw.bin,cfp_fp.bin,cfp_ff.bin,agedb_30.bin
下载完成之后,解压之后如下:
后续会给大家讲解验证集数据的制作过程,即.bin文件的制作过程。
模型测试
模型的测试十分的简单,运行源码\recognition\eval\verification.py即可。当然在运行之前需要指定一些参数,本人设置如下,可做参考:
parser.add_argument('--data-dir', default='D:/03.work/02.development/04.PaidOn/1.FaceRecognition/2.Dataset/1.OfficialData/1.traindata/faces_ms1m_112x112', help='')
parser.add_argument('--model', default='../../models/model-y1-test2/model,0', help='path to load model.')
parser.add_argument('--target', default='lfw,cfp_ff,cfp_fp,agedb_30', help='test targets.')
然后运行就可以了,运行结果类似如下:
testing verification..
(11096, 128)
infer time 86.28535400000017
[lfw]XNorm: 11.154407
[lfw]Accuracy: 0.00000+-0.00000
[lfw]Accuracy-Flip: 0.99495+-0.00194
Max of [lfw] is 0.99495
testing verification..
(14000, 128)
infer time 111.94842500000017
[cfp_ff]XNorm: 11.125648
[cfp_ff]Accuracy: 0.00000+-0.00000
[cfp_ff]Accuracy-Flip: 0.99514+-0.00273
Max of [cfp_ff] is 0.99514
testing verification..
(14000, 128)
infer time 105.0167779999998
[cfp_fp]XNorm: 9.226305
[cfp_fp]Accuracy: 0.00000+-0.00000
[cfp_fp]Accuracy-Flip: 0.88614+-0.02141
Max of [cfp_fp] is 0.88614
testing verification..
(12000, 128)
infer time 80.55722499999989
[agedb_30]XNorm: 11.045681
[agedb_30]Accuracy: 0.00000+-0.00000
[agedb_30]Accuracy-Flip: 0.95600+-0.01230
Max of [agedb_30] is 0.95600
可以看到,我们使用小型的MobileFaceNets,其准确率都是非常高的。