我正在为我们的办公室构建一个自定义的人脸识别系统。
我计划使用Google FaceNet。现在我的问题是,你可以在Keras或PyTorch中找到或创建自己的FaceNet模型,没有问题,但关于创建数据集,我想知道当我没有该人的任何先前照片时,如何最好地捕捉该人的照片,我有的只是一个摄像头和一个人,我应该通过改变光照条件、方向或脸部大小来增加变化吗?
回答:
一个经过适当训练的FaceNet模型应该在某种程度上对光照条件、姿势和其他不应成为识别面部的一部分的特征具有不变性。至少这是FaceNet论文草案中声称的。如果你只打算比较网络生成的特征向量,并且打算识别一小群人,你自己的数据集可能不需要特别大。
我个人做过与你尝试实现的非常类似的事情,涉及大约100人。数据集包含每人一张图片,我使用了一个1-N-N分类器来分类生成的特征向量。虽然我不记得确切的结果,但效果相当好。预训练网络的架构与FaceNet不同,但整体思路是相同的。
然而,唯一真正回答你问题的方法是进行实验,看看实际效果如何。