Nudity Detection

No algorithm description given

Note:  There is a higher accuracy alternative to this algorithm called NudityDetectionI2v, you can check it out here:  https://algorithmia.com/algorithms/sfw/NudityDetectioni2v This algorithm detects nudity in pictures. For a demo of this algorithm, check out:  https://isitnude.com/ Table of content Introduction Examples Credits Introduction 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.  Input: (Required): Image: You can send your input as a String (base64 encoded image, arbitrary Url pointing to an image or a data api Url pointing to an image) or pipe the image in as binary data. Output: JSON object containing values for "nude" and "confidence". Examples Example 1. Parameter 1: Safe image URL "https://s3.amazonaws.com/www.isitnude.com/assets/images/sample/obama.jpg" Output: {
 "nude": "false",
 "confidence": 0.95
} Example 2. Parameter 1: Nude image URL "http://www.isitnude.com.s3-website-us-east-1.amazonaws.com/assets/images/sample/young-man-by-the-sea.jpg" Output: {
 "nude": "true",
 "confidence": 0.93
} Credits Implementation is based on:  An Algorithm for Nudity Detection 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  by Prashan Premaratne, derived from multiple papers as described in the book. Changelog 1.1.3 - Adjusted the URL validator to urls from domains with more than 2 periods (IE: *.co.uk, *.com.br, etc) 1.1.4 - Allows self-signed ssl certificates, meaning all https// requests will be treated identically to http://

Tags
(no tags)

Cost Breakdown

10 cr
royalty per call
1 cr
usage per second
avg duration
This algorithm has permission to call other algorithms which may incur separate royalty and usage costs.

Cost Calculator

API call duration (sec)
×
API calls
=
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

Internet access

This algorithm has Internet access. This is necessary for algorithms that rely on external services, however it also implies that this algorithm is able to send your input data outside of the Algorithmia platform.


Calls other algorithms

This algorithm has permission to call other algorithms. This allows an algorithm to compose sophisticated functionality using other algorithms as building blocks, however it also carries the potential of incurring additional royalty and usage costs from any algorithm that it calls.


To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY' https://api.algorithmia.com/v1/algo/sfw/NudityDetection/1.1.4
View cURL Docs
algo auth
# Enter API Key: YOUR_API_KEY
algo run algo://sfw/NudityDetection/1.1.4 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://sfw/NudityDetection/1.1.4");
AlgoResponse result = algo.pipeJson(input);
System.out.println(result.asJsonString());
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://sfw/NudityDetection/1.1.4")
val result = algo.pipeJson(input)
System.out.println(result.asJsonString)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://sfw/NudityDetection/1.1.4")
           .pipe(input)
           .then(function(output) {
             console.log(output);
           });
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
Algorithmia.client("YOUR_API_KEY")
           .algo("algo://sfw/NudityDetection/1.1.4")
           .pipe(input)
           .then(function(response) {
             console.log(response.get());
           });
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sfw/NudityDetection/1.1.4')
print algo.pipe(input)
View Python Docs
library(algorithmia)

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("sfw/NudityDetection/1.1.4")
result <- algo$pipe(input)$result
print(result)
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sfw/NudityDetection/1.1.4')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo("sfw/NudityDetection/1.1.4");
let response = algo.pipe(input);
View Rust Docs
import Algorithmia

let input = "{{input | formatInput:"swift"}}";
let client = Algorithmia.client(simpleKey: "YOUR_API_KEY")
let algo = client.algo(algoUri: "sfw/NudityDetection/1.1.4") { resp, error in
  print(resp)
}
View Swift Docs
Discussion
  • {{comment.username}}