Detecting Nudity With AI And OpenCV |
Written by Lucy Black | |||
Sunday, 28 June 2015 | |||
Algorithmia, the site that acts as a marketplace for algorithms, now has available a convincingly successful method for detecting nudity in color photographs.
The naked body, however ascetically pleasing, poses a big problem for websites that address a general audience. This means that an algorithm that can perform content filtering on photographs and flag those that are likely to be unsuitable and lead to censorship is a welcome resource.
The idea behind Algorithmia is that where an algorithm already exists you don't need to code your own, instead you can simply paste in its functionality using its cloud-based API. Its latest addition is Nudity Detection and there is a demo site isitnude.com where you can test it out. The way this works is similar to the Microsoft sites How-Old.net and TwinsOrNot.net You submit either one of the supplied sample images or an examples of your own and the bot tells you whether or not the image is likely to be acceptable for posting on a website. Images are judged R for Rude or G for Good, as with this one of President Obama appearing shirtless.
If you use the algorithm in your own app, it returns a confidence interval with its decision. For example if you submit the whole of the "Rude" image included at the top of this article, the output indicates a very high degree of conviction about its unsuitability. Whereas the two Microsoft sites were build to showcase Microsoft Azure and the Oxford machine learning APIs, isitnude uses algorithmic methods to estimate skin tone building on a combination of OpenCV's nose detection algorithm and face detection algorithm, both of which are already available on its site. . More information is given on the Algorithmia blog, which explains that the algorithm is based on a paper, An Algorithm for Nudity Detection by Rigan Ap-apid of De La Salle University, Manila, Phillipines: The idea behind the algorithm is based primarily on observations that in general, nude images contain large amounts of skin, people have different skin tones, and skin regions in nude images are relatively close to each other. In order to make the algorithm more robust, we have incorporated face detection for skin ratio tweaking and skin color detection for limiting the generic skin color value interval. The limits that decide on the skin regions are based on the values in RGB, HSV and normalized RGB color spaces in the book Human Computer Interaction Using Hand Gestures.
There are countless techniques that can be used in place of or combined with the ones we've used to make an even better solution. For instance, you could train a convolutional neural network on problematic images Algorithmia was designed to enable this kind of high-level tinkering - we hope you'll visit us soon and give it a try. Related ArticlesAlgorithmia - An App Store For Algorithms How Old - Fun, Wrong, Potentially Risky?
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Sunday, 28 June 2015 ) |