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 where you can test it out. 

The way this works is similar to the Microsoft sites and  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.

The nudity detection is work in progress and is currently at Version 0.1.63 with the developers saying on the blog:

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 Articles

Algorithmia - An App Store For Algorithms

Twin Detection Using AI

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, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



Apache Releases NetBeans 22

Apache NetBeans 22 has been released. This release has a new Gradle Wizard, upgrades to Java 22 javac, and a number of UI changes.

Tetris - Still A Winner After 40 Years

Tetris, the classic and addictive puzzle game where you rotate and position falling blocks, has been played by at least a billion people. It was invented 40 years ago and to mark the occasion the BBC  [ ... ]

More News


kotlin book



or email your comment to:

Last Updated ( Sunday, 28 June 2015 )