<p>A properly trained FaceNet model should already be somewhat invariant to lighting conditions, pose and other features that should not be a part of identifying a face. At least that is what is claimed in a draft of the <a href="https://arxiv.org/pdf/1503.03832.pdf" rel="nofollow noreferrer">FaceNet paper</a>. If you only intend to compare feature vectors generated from the network, and intend to recognize a small group of people, your own dataset likely does not have to be particulary large.</p>

<p>Personally I have done something quite similar to what you are trying to achieve for a group of around ~100 people. The dataset consisted of 1 image per person and I used a 1-N-N classifier to classify the generated feature vectors. While I do not remember the exact results, it did work quite well. The pretrained network's architecture was different from FaceNet's but the overall idea was the same though.</p>

<p>The only way to truly answer your question though would be to experiment and see how well things work out in practice.</p>
What are the good practices to building your own custom facial recognition?
<p>I am working on building a custom facial recognition for our office.</p>

<p>I am planning to use <strong>Google FaceNet</strong>,
Now my question is that you can find or create your own version of <strong>facenet</strong> model in keras or pytorch there's no issue in that, but regarding creating <strong>dataset</strong> ,I want to know what are the best practices to capture photo of person when I don't have any prior photo of that person,all I have is a <strong>camera</strong> and a person ,should I create variance in by changing <strong>lightning</strong> condition or <strong>orientation</strong> or face <strong>size</strong> ?</p>