Detecting Nudity With AI and OpenCV
mikejuk writes: AI gets put to some strange tasks. Not satisfied with the Turing test or inventing Skynet, Algorithmia have put together a nudity detector. Take one face detector from OpenCV and use it to find a nose. Take the skin color from the nose and then see what parts of the body are skin colored in the photo. If there is lot of skin color shout NUDE! Actually, the website lets you put in your own photos and classifies them into Rude or Good and gives you a confidence estimate. Obama with his top off — no problem but the familiar image processing test photo of Lena the pin up girl rates a 'Rude'.
Why does "Nude" equate to "Rude"? Oh right, I forgot... we're afraid of our bodies and spooked by healthy sexuality.
But what is this "Nude" you speak of?
Sex based: guy in a bottoms only swim suit vs a topless woman?
Country based: French nude beach vs USA prudes?
Era based: Someone from the 1920's looking at a 2015 bikini?
Age based: Young child (often completely nude in some countries is okay) vs post puberty (often requires hiding genitals and nipples on females in some countries)?
Religious based: Whoa! Some religions are very conservative and others require nude dancing around the May pole...
Seasonal: Have you ever tried being nude in a northern Vermont or Siberian winter!?! Don't even think about showing the tip of your nose!
anyone using such technology would require an extremely low false negative score... but too many false positives can make the system unusable. one of my last projects at undergraduate university was pretty much the exact same "nudity confidence" test as this project... my project "worked pretty well" also, but was equally unusable. i dialed all the parameters for a week until i got the best results on a giant dataset (millions of images)... one of the sources of images was every image from the university website (over 10,000 images just from that). so, after the tweaking, false negatives were low, but still 5% of negatives were wrong. i don't remember exact numbers, but i think of the positives, 10-15% of those were wrong. i didn't use any libraries or facial recognition, but i imagine that would help a lot... one problem is obviously if the face isn't in the picture. my technique was using a wide range of skin tones and then looking for "blobs" of similarly toned pixels and looking for shapes or shapes in shapes... (nipples on breasts were a pretty solid indicator and easy to scan for... also detecting a crotch region with dark hair... obviously a fat man in a hair-toned thong would trigger alarms)
so, after all of this, many variables are weighted to give a single "confidence" score... so i decided to run the test a final time before the presentation the next day (it took many hours to run)... i built lots of top lists, one of them was overall confidence of nudity... the #1 picture most confident of containing a nude body ended up being the faculty office picture of one of the lecturers in the computer science department, who would be attending the talk. the office walls were a skin tone, and the way the light came in the window and lined up with her head, and round shaped things on her desk reflecting the skin tones, triggered every single test i had built. out of millions of pictures... too funny. good closer for the presentation.