5

The loss function used is the triplet loss function. Let me explain it part by part. Notation The $f^a_i$ means the anchor input image. The $f^p_i$ means the postive input image, which corresponds to the same people as the anchor image. The $f^n_i$ corresponds to the negative sample, which is a different person(input image) then the anchor image. The ...


4

As the name implies, algorithmic bias is related with the used algorithm. Due to the way it was programmed or devised, the algorithm will be biased in some of its samples. From Communications of the ACM: [Algorithms] often inadvertently pick up the human biases that are incorporated when the algorithm is programmed, or when humans interact with that ...


4

Facial recognition works by essentially turning your face into a point cloud, recognizing eyes, cheeks, nose, mouth, etc. Unfortunately it doesn't look at the top of your head (hair is very hard to differentiate from other hair and doesn't have many features). Face paintings would be your best bet since they can be easily changed, tattoos not so much. ...


3

Facial classification and tracking is easier compared to tracking any other motion. This is due to the fact that the face have a large number of easily identifiable features. Facial tracking is an additional layer on top of facial detection. Facial detection works by finding characteristics such as the cheekbones, chin, nose, eyes etc. These features are ...


3

One of the methods which is quite fast and easy to implement. You can do Principal Component Analysis (PCA) based face recognition. You can go through this paper for the theory behind it. For an example implementation you can see this blog post. The process, roughly, is as following: If you have a grayscale image of size $(20,20)$, then this image can be ...


3

Simply put, Euclidean distance measures how far away two items are (see Neil Slater's comment). In order to apply this to a pattern recognition task, you will need to convert the items to compare (in your case images of faces) into feature vectors (ie lists of numerical values), and then you do a pairwise comparison to work out how distant two faces are. ...


3

Just to add to what has already been said in @BlueMoon93's answer: Algorithmic bias is the bias built into the algorithm. Now for the long answer: As stated by the so called No free lunch theorem: regardless of the algorithm you use, you cant get learning "for free"(i.e by just looking at the training examples). The reason for this is that the only thing ...


2

Facenet is a Siamese network. It's basic architecture is this: The input(a face) is fed through a deep convolutional neural network and also a fully connected layer at the end. The fully connected layer at the end output an embedding of the input image which is a predefined size. The embedding can contain feature that human understand or maybe not. The ...


2

You might consider pre-training a CNN on a large dataset. The CNN should be structured such that you input 2 different images and the CNN predicts whether or not they are the same person. Your dataset should include images from multiple angles, with and without occlusions like sunglasses, and with changes in hair. (One dataset useful for this is the AR Face ...


2

Since you are A C# developer already Just getting started and not sure where to go next I would suggest trying the Emotion API which is now part of the general Face API. This has the benefit of being pre-trained on a very large dataset. You can perform 30,000 recognitions/month for free.


2

An introduction to the Haar features is provided in the youTube video. The video indicates the VJ face detector leverages a selected combination of Haar features (convolutional kernels) to detect facial features (weak classifiers), such as the nose bridge. The binary presence of the weak classifiers are summed to determine if the window contains a face. ...


2

Training time depends on a lot of parameters. Some of them are: Size of each image (resolution) Color/Monochrome image (color image has 3 times data if you consider RGB image) Like you mentioned on the type of DNN. No. of layers of DNN. No. of neurons in each layer. Total no. of images in the dataset. (2.6 million here) GPU you are using (you didn't ...


1

The facenet model is just the head of the model. The architecture is similar to the enocdr part of an autoencoder, but it uses supervised learning instead of unsupervised learning. The network is called a siamese network The triplet loss helps make the embeddings more representative of the input image/person, with the embedding distance being as large as ...


1

YELP Dataset (200k images) used to take 5 hr for training to identify Five (5) classes on GPU - Nvidia 1080 Ti with 11 GB RAM. So I guess in your case it will take days. Again it will depend on the type of your GPU configuration and type of Architecture you will be using.


1

Why not make a detector/classifier to look for the text "Drivers Licence" or some very generic keywords related to license? As you mentioned images of people may be present in any sort of documents. Looking for text which is super specific to IDs/drivers license seem to be a better way.


1

This is the purpose of rotational augmentation. In fact you should augment your images at different angle as well than just inverting it. This will make your model angle agnostic.


1

I thought it might be a helpful place to start: https://en.wikipedia.org/wiki/Google_Street_View_privacy_concerns The wiki is well cited, so should lead to some useful tidbits. They break it down by continent and country. Seems like a parallel to what you're doing, although, if you're not making your data public, I doubt you'll be facing the same ...


1

Appropriate Question if Answered in Brief A shelf of books may be required to answer this question comprehensively, however a brief answer may be useful to the community. It is, thus far, customary for the allowable breadth of question in this stack exchange to be much greater than that of stack overflow. This is certainly appropriate because of the ...


1

I have once tried Viola Jones Algorithm to do that, it does not capture the subtle differences in the direction of facial segments which are important to detect emotion. Features like HOG (Available in openCV and many famous image processing libraries) can extract better information from the face to classify emotion. Also there are many other approaches ...


1

I am definitely not the most qualified person in order to answer this question, but I might be able to give you a couple of buzz words to go and do some more research on your own. A convolutional neural network is usually used for analyzing anything visual. (you can read about it here: https://en.wikipedia.org/wiki/Convolutional_neural_network) There are a ...


Only top voted, non community-wiki answers of a minimum length are eligible