Update 10/2018: I have not updated the app as required by Apple, so it is no longer available in the App Store. So no new faces are being added to the archive. However you can see existing faces and anti-faces here: http://antiface.net/
Update 10/2013: We have implemented this in a free iPhone app which is available here:
https://itunes.apple.com/us/app/anti-face/id690376775
Our site FaceField.org (and now the iPhone app) uses the EigenFaces methodology as implemented in Open CV to calculate a special kind of face that we have labelled an ‘Anti Face’.
Model specification:
– Over 1000 faces were used.
– The faces were all facing the camera straight-on. We used a
specially designed Haar classifier to ensure that we excluded faces looking to the side.
– The faces that we fed into the PCA calculation are slightly larger than what the Haar classifier
detected so that we didn’t cut off the chins.
– The faces were all subject to histogram equalization.
– The faces were all sized to 200×200 pixels.
– We took the first 60 eigenvectors.
The Antiface calculation is simple: we do a subspace projection of the uploaded face into the 60-dimensional EigenFace space. It is interesting to view this ‘reconstructed face’ as we call it. In a normal face recognition calculation you would then compute the nearest face to this reconstructed face. The anti-face is simply the reconstructed face except that every weight is multiplied by -1.
In other words:
Let Ω ∋ R⁶⁰ be the subspace projection of the uploaded face.
Ω=(w₁,w₂,..w₆₀) where wᵢ= uᵢᵀ(Γ-Ψ) for i=1…60.
u ∋ R⁶⁰ is the Eigenface. Γ is the uploaded face image and Ψ is the mean face.
Then the antiface, Ω’ is (-1*w₁,-1*w₂,..-1*w₆₀).
So prominent features in the reconstructed faces (with high weighting, meaning far from the mean) would be equally prominent, though opposite, in the anti-face.
Why 60 dimensions? Originally we tried higher numbers like 200 because at that point the reconstructed face looks indistinguishable from the original face. However the anti-face looks very little like a face and is highly distorted and muddied. It seems that it such high-dimension space not everything looks like a face, however in a lower dimension space like 60 you’re likely to get a face no matter where you land.
Two Face/Anti-Face pairs as examples: