In this work, we investigate a method for detection of nudity in videos based on a bag-of-visual-feature representation for frames and an associated voting scheme. Our results showed that our approach is indeed able to provide good recognition rates for nudity even at the frame level and with a relatively low sampling ratio. Also, the proposed voting scheme significantly enhances the recognition rates for video segments a value of 93.2% of correct classification. Also, to support this task, we developed our own database of nude and non-nude videos.

Database Description
The database of nude and non-nude videos contains a collection of 179 video segments collected from the following movies: Alpha Dog, Basic Instinct, Before The Devil Knows You're Dead, Cashback, Eros, Les Anges Exterminateurs, Loner, Original Sin, Primer, Striptease and The Bubble For nude samples, longer sequences were partitioned into shorter ones. The sequences for the non-nude class were collected by randomly selecting the initial time and length. Random selections which felt inside a nude scene were discarded. Those random selections were performed on the same movies above listed for the nude class.

A summary of the database.
 Class  Segments Seconds
 Non-Nude 90 506
 Nude 89 589
 All 179

Number of video segments per video.
Video Name
 #Non-Nude #Nude
Alpha Dog 10 07
Basic Instinct 10 15
Before The Devil Knows You're Dead 10 06
Cashback 10 10
Eros - 16
Les Anges Exterminateurs 10 18
Loner 10 -
Original Sin 10 04
Primer 10 -
Striptease - 11
The Bubble 10 02

THIS DATABASE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The video segments provided were produced by third-parties, who may have retained copyrights. They are provided strictly for non-profit research purposes, and limited, controlled distributed, intended to fall under the fair-use limitation. We take no guarantees or responsibilities, whatsoever, arising out of any copyright issue. Use at your own risk.

The database contains 179 video segments (90 segments of non-nude videos and 89 segments of nude videos). To download the data, please click here. Please feel free to contact me if you have any questions or comments.

Examples of non-nude (first row) and nude images (second row) from our database.

Results @ SIBGRAPI 2009

The experiments were designed to evaluate the ability of discriminating between nude and non-nude videos from BoVFs representations for the selected frames. Two different sample ratios were tested: 1/15 frame (2 frames per second) and 1/30 frames (1 frame per second). Three different vocabulary sizes were tested for classification of those BoVF vectors between nude and non-nude: 60, 120 and 180. A linear SVM classifier was used, and its penalty error parameter (C) was refined by the procedure described in LIBSVM guide. In each step, the classification rate was measured in a 5-fold cross validation scheme.

Thus, the recognition rate for frames (second column) are those expected if only a keyframe was selected to represent the entire video segment. In the third column, are the recognition rates using the proposed voting scheme. From those tables, it is possible to see that, in all cases, applying the voting algorithm causes a statistically significant increase in the overall recognition rate for the videos, when compared to the recognition rate of the individual frames. Such results indicate that, indeed, the voting scheme is able to take advantage of the existence of several similar frames to solve some dubious cases.

If you make use of our database, please cite the following reference: 
  • LOPES, Ana P. B. ; AVILA, Sandra E. F. ; PEIXOTO, A. ; OLIVEIRA, Rodrigo S.; COELHO, Marcelo de M.; ARAÚJO, Arnaldo de A.. Nude Detection in Video using Bag-of-Visual-Features. In: 22th Brazilian Symposium on Computer Graphics and Image (SIBGRAPI), Rio de Janeiro, RJ, 2009. [ PDF | DOI | BibTex ]

See also
Nude detection in images
Pornography detection

This work is supported by Brazilian research funding agencies: CAPES, CNPq and FAPEMIG.