Skip to main content

NSFW-Detection-Pytorch

Description

In this repository you can find an effective CNN model for detecting NSFW content in images. It achieves a 97.70% accuracy on the pornography-2k dataset. Apart from the provided code you need to reproduce the model, you can also use this model as python module (see below).

Usage

First install the python module:

pip install --upgrade nsfwdetection

Then use the model by:

#import the model
from nsfwdetection.model import Model

# initialize the model
net = Model()

# make a prediction
output = net.predict(<imagepath>)

# make multiple predictions
output = net.predict([<imagepath>, <imagepath>])

The model's output is as follows: {'image_path': {'Label': SFW or NSFW , 'Score': 0 to 1 }}

Reproducability

Using the provided code you can retrain the model. Regarding the training/testing data, the corresponding splits are provided in folder "splits". You can find and download the necessary data from here (this is a private dataset, due to its content and you should send a request to gain access - find more info in the link) and here. After downloading the 2 datasets, you should run the

python script1_extract_image_frames.py

to extract the frames from the videos of the pornography-2k dataset and then you can run the

bash train_exps.sh 

to start training the model.

Results Visualisation

As you can see in the following attention maps, the model exhibits high accuracy in terms of the image regions it focuses. (Censored images)

Metadata

Release files for NSFWDetection 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for NSFWDetection 1.0.2
File Size Uploaded
NSFWDetection-1.0.2.tar.gz 8.9 kB Details

Release files / NSFWDetection-1.0.2.tar.gz

Download URL NSFWDetection-1.0.2.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
975d0a67a52313fe881fcb2c99b7369a44b8de9ba867b7c5a96b537321e8b6d7
BLAKE2b-256 checksum
How to use checksums
c5ca1b994c934bb5e4d9faa6241f653153fc242097640f0627784966d6adc8b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.13.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.13

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page