这是 “FaceNet:面部识别和聚类的统一嵌入”一文中描述的面部识别器的TensorFlow实现。该项目还使用了从图纸中的创意“为深人脸识别辨析功能学习方法”以及纸“深人脸识别”从视觉几何集团在牛津大学。html
目前这个repo与Tensorflow r1.0兼容。git
日期 | 更新 |
---|---|
2017-03-02 | 添加了预处理的模型,生成128维嵌入。 |
2017-02-22 | 更新为Tensorflow r1.0。使用Travis-CI增长了持续集成。 |
2017-02-03 | 添加了只有可修改变量存储在检查点中的模型。所以,它们显着更小。 |
2017-01-27 | 添加了一个在MS-Celeb-1M数据集的子集上训练的模型。该型号的LFW精度约为0.994。 |
2017-01-02 | 更新到使用Tensorflow r0.12运行的代码。不知道若是它与旧版本的Tensorflow一块儿运行。 |
型号名称 | LFW精度 | 培训数据集 |
---|---|---|
20170214-092102 | 0.986 | CASIA-WebFace |
20170216-091149 | 0.993 | MS-Celeb-1M |
该代码heavly灵感来自OpenFace实施。github
在中科院自动化所,WebFace数据集已经被用于训练。该训练集由脸部检测后的10 575个身份共计453 453张图像组成。若是在训练以前已通过滤了数据集,则会出现一些性能提高。有关如何完成这一工做的更多信息将在之后出现。对MS-Celeb-1M数据集的子集进行了最佳性能模型训练。此数据集显着较大,但也包含明显更多的标签噪声,所以在数据集上应用数据集过滤相当重要。性能
上述方法的一个问题彷佛是Dlib面部检测器错过了一些硬例子(部分闭塞,静音等)。这使得训练设置为“容易”,致使模型在其余基准上表现更差。为了解决这个问题,已经测试了其余的地标检测器。在该设置中已被证实可以很好地工做的一个地面地标探测器是 多任务CNN。能够在这里找到一个Matlab / Caffe实现,这已经用于面部对齐,结果很是好。能够在这里找到MTCNN的Python / Tensorflow实现。这个实现并无给出与Matlab / Caffe实现相同的结果,但性能很是类似。学习
目前,经过将模型做为分类器进行训练,增长了中心损失,实现了最好的效果。有关如何训练模型做为分类器的详细信息,请参见Inception-ResNet-v1的分类器训练页面。测试
目前,最好的表演模式是培训了中科院自动化所,Webface的盗梦空间,RESNET-V1型号对齐MTCNN。google
LFW型号20170216-091149的精度为0.993±0.004。有关如何运行测试的说明,请参见LFW上的Validate(验证)页面。spa