Здесь мы хотим обнаружить наготу или другие типы небезопасных для работы или пикантных фотографий, чтобы мы могли заблокировать или пометить для просмотра этот контент. Этот подход будет использовать глубокое обучение, но может работать на любом обычном сервере Node.js.

Первым шагом будет добавление ссылки на пакет в package.json.

"dependencies": {
    "cloudmersive-image-api-client": "^1.1.4"
  }

Далее нам нужно импортировать библиотеку:

var CloudmersiveImageApiClient = require('cloudmersive-image-api-client');

Наконец, нам нужно вызвать метод nsfwClassify:

var defaultClient = CloudmersiveImageApiClient.ApiClient.instance;
// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';
var apiInstance = new CloudmersiveImageApiClient.NsfwApi();
var imageFile = Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer); // File | Image file to perform the operation on.  Common file formats such as PNG, JPEG are supported.
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.nsfwClassify(imageFile, callback);

Вот пример результата вывода для обнаженного изображения:

{
  "Successful": true,
  "Score": 0.995321691036,
  "ClassificationOutcome": "UnsafeContent_HighProbability"
}

Как видите, он правильно помечен как UnsafeContent_HighProbability и получает оценку 0,99. Оценки находятся в диапазоне от 0,0 до 1,0. Баллы от 0,0 до 0,2 представляют собой безопасный контент с высокой вероятностью, а баллы 0,8–1,0 — небезопасный контент с высокой вероятностью. Содержание между 0,2 и 0,8 имеет возрастающую остроту.

Вот и все! Мы сделали! Это будет работать с широким спектром контента.