Jared Andrews

Simplified CV Dazzle Hairstyles

A while back I discovered the CV Dazzle project which provides fashionable guidelines for subverting face detection:

CV Dazzle Look Book

CV Dazzle Test Patterns

A key component of these styles is the use of hair to obscure the face and trick the detection software. I have been growing my hair for a couple years now and I wanted to see how effectiviely I could thwart face detection with only the hair on my head and inspiration from the CV Dazzle guidelines. I was curious if the more extreme aspects of CV Dazzle looks were truly required to trick cameras or if just long, unconventionally placed hair would be enough.

I tested against three facial recognition tools: OpenCV, Betaface and Face++. OpenCV is the most naive of these tools and it was only able to detect my face in the control portraits. OpenCV is the system that CV Dazzle derives its name from and was used to determine what an "anti-face" looks like.

Betaface and Face++ are much smarter than OpenCV and quite difficult to trick. While Betaface and Face++ were succesful in detecting a face, they were only somewhat succesful at extract metadata from the face being analyzed. I would be interested in seeing a test of these face detection tools against the original models for CV Dazzle.

Regular, hair down

Regular, hair down
Detected Age Gender Race Expression
OpenCV True
Betaface True 36 Male White Neutral
Face++ True 36 Male White Neutral

Regular, hair up

Regular, hair up
Detected Age Gender Race Expression
OpenCV True
Betaface True 24 Male White Neutral
Face++ True 32 Male White Neutral

Moptop

Moptop
Detected Age Gender Race Expression
OpenCV False
Betaface False
Face++ False

This is the only hairstyle that all three face detection tools were unable to detect. This is also the only image that doesn't contain any trace of my eyes which is probably why it tricked the more sophisticated tools in addition to OpenCV which failed to detect faces when only a single eye was shown. Unfortunately it is really hard to see while rocking this hairstyle.

Single Eye

Single Eye
Detected Age Gender Race Expression
OpenCV False
Betaface True 46 Female White Neutral
Face++ True 29 Male Asian Sadness

Rabbit Foot Devilock

Rabbit Foot Devilock
Detected Age Gender Race Expression
OpenCV False
Betaface True 31 Male Asian Neutral
Face++ True 30 Male White Neutral

Dancing Jellyfish

Dancing Jellyfish
Detected Age Gender Race Expression
OpenCV False
Betaface True 33 Male Asian Neutral
Face++ True 29 Male Asian Neutral

Predator

Predator
Detected Age Gender Race Expression
OpenCV False
Betaface True 51 Male Mideast Neutral
Face++ True 32 Male White Neutral

Emo-Nelly Combo

Emo-Nelly
Detected Age Gender Race Expression
OpenCV False
Betaface False
Face++ True 31 Male White Sadness

Emo

Emo
Detected Age Gender Race Expression
OpenCV False
Betaface True 46 Female White Neutral
Face++ True 26 Male White Neutral

While OpenCV consistently fails and Betaface/Face++ consistently succeed it is interesting to examine some of the metadata they report.

Actual Betaface Face++
Age 26 33.3 29.6
Male 9 / 9 (1.0) 5 / 9 (0.556) 8 / 9 (0.889)
White 9 / 9 (1.0) 4 / 9 (0.444) 6 / 9 (0.667)

Despite my hair, the data is fairly accurate. While many projects may use the open source OpenCV face detection tools, it's clear there are at least two face detection tools on the market that have no problem seeing past my wildly arranged hair. I guess I will need to pull out some hair dye if I want to stay undetectable.