trying to fool facenet with noise ;)

sad as it is, we cannot backpropagate through opencv's dnn layers,
but already a simple hillclimber is enough to demonstrate adversarial noise.
(the "distorted" image is "I", on the right"):


we extract features from the face images in the usual way, the outcome is a 128x1 float vec:

then we can start our attack, add a minimal incremental amount of noise at a time
see how it goes. if it didn't get better, we just discard it

after ~25000 tries, the feature distance between the 2 different persons is indeed smaller
than the distance between the 2 images of the same person on the left.
WIN! it takes more noise, but we can make it predict "beaver", while it sees an ant, even: