This paper presents an algorithm for detecting nudity in color images. A skin color distribution model based on the RGB, Normalized RGB, and HSV color spaces is constructed using correlation and linear regression. The skin color model is used to identify and locate skin regions in an image. These regions are analyzed for clues indicating nudity or nonnudity such as their sizes and relative distances from each other. Based on these clues and the percentage of skin in the image, an image is classified nude or non-nude.
The skin color distribution model performs with 96.29% recall and 6.76% false positive rate on a test set consisting of 2,303,824 manually labeled skin pixels and 24,285,952 manually labeled non-skin pixels. The Nudity Detection Algorithm is able to detect nudity with a 94.77% recall and a false positive rate of 5.04% on a set of images consisting of 421 nude images and 635 non-nude images.