Skip to content
An ensemble of Neural Nets for Nudity Detection and Censoring
Branch: master
Clone or download
Latest commit 12c5f3f Jun 29, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nudenet change class name nude to unsafe Jun 24, 2019
.gitignore Initial commit Feb 28, 2019
LICENSE Create LICENSE Mar 29, 2019
README.md Update README.md Jun 18, 2019
setup.py update version Jun 29, 2019

README.md

NudeNet: An ensemble of Neural Nets for Nudity Detection and Censoring

DOI

Demo of the classifier available at http://bpraneeth.com/projects/nudenet

Pre-trained models available at https://github.com/bedapudi6788/NudeNet-models/

Uncensored version of the following image can be found at https://i.imgur.com/rga6845.jpg (NSFW)

Classification scores on the data available at https://dataturks.com/projects/Mohan/NSFW(Nudity%20Detection)%20Image%20Moderation%20Datatset

Classification Classes

nude -> image contains nudity

safe -> image doesn't contain nudity

Detection Classes

BELLY -> exposed belly (both male and female)

BUTTOCKS -> exposed buttocks (both male and female)

F_BREAST -> exposed female breast

F_GENITALIA -> exposed female genitalia

M_GENETALIA -> exposed male genetalia

M_BREAST -> exposed male breast

Insallation

pip install nudenet
or
pip install git+https://github.com/bedapudi6788/NudeNet

Classifier Usage

from nudenet import NudeClassifier
classifier = NudeClassifier('classifier_checkpoint_path')
classifier.classify('path_to_nude_image')
# {'path_to_nude_image': {'safe': 5.8822202e-08, 'nude': 1.0}}

Detector Usage

from nudenet import NudeDetector
detector = NudeDetector('detector_checkpoint_path')

# Performing detection
detector.detect('path_to_nude_image')
# [{'box': [352, 688, 550, 858], 'score': 0.9603578, 'label': 'BELLY'}, {'box': [507, 896, 586, 1055], 'score': 0.94103414, 'label': 'F_GENITALIA'}, {'box': [221, 467, 552, 650], 'score': 0.8011624, 'label': 'F_BREAST'}, {'box': [359, 464, 543, 626], 'score': 0.6324697, 'label': 'F_BREAST'}]

# Censoring an image
detector.censor('path_to_nude_image', out_path='censored_image_path', visualize=False)

Classifier data available at https://archive.org/details/NudeNet_classifier_dataset_v1

To Do:

  1. Improve Documentation for the functions. (Right now user has to see the function definition to understand all the params)
  2. Convert these models into tflite, tfjs and create another repo that used tfjs to perform in browser detection and censor.

Note: Entire credit for collecting the object recognition dataset goes to http://www.cti-community.net/ (NSFW). The link for their api and the discord are as follows API here: http://pury.fi/ Discord: https://discord.gg/k4qM4Jh

LICENSE:

Although nudenet is licensed under GPL, if you want to use it commercially without open sourcing your code please email me or raise a issue in this repo so that I can provide you explicit written permission to use as you wish. The only reason for doing this is, it would be nice to know if some company is using my work.

You can’t perform that action at this time.