- PVSM.RU - https://www.pvsm.ru -

Сервис определяет факт обнажения человека на фотографии и предоставляет API для этого

Американская компания Algoritmia [1], расположенная в Сиэтле, запустила любопытный проект с говорящим названием Is it Nude [2] (ссылку можно открывать безопасно), который предназначен для определения факта обнажения человека по его загруженной фотографии. Интерфейс очень прост: можно указать или ссылку на картинку в интернете или загрузить её с компьютера. После непродолжительной паузы сервис выносит вердикт, который выглядит примерно таким образом:

image

Если алгоритм решает, что изображение на фото безопасно с точки зрения обнажённости, то результат выглядит так:
image
Можно отметить, что алгоритм проекта отличается некоторой строгостью в своих оценках (на фото британская модель Келли Брук):
image

В своём блоге авторы сервиса объясняют [3], что в качестве основы для него они взяли Python-библиотеку nude.py [4] Хидео Хаттори и алгоритм для определения степени обнажённости, опубликованный здесь [5]. Однако эти подходы основаны на поиске фрагментов изображений кожи человека, анализе их расположения друг относительно друга и размера таких участков. Это зачастую приводит к ложным результатам срабатывания алгоритма, когда безобидная картинка считается содержащей обнажённую натуру:

image

Авторы Algoritmia дополнили результаты своих предшественников при помощи специально разработанных алгоритмов по поиску шума на изображениях [6] и алгоритмов поиска человеческих лиц [7]. В итоге, как заявляют исследователи, им удалось уменьшить число неверных результатов настолько, что сервис смог стать публичным и даже предоставлять программистам специальное API для работы с ним.

image
Изображение картины французского художника Ипполита Фландрена «Сидящий обнажённый юноша» (1855 год) с результатами работы Algoritmia.

API сервиса доступно через HTTP посредством POST-запроса:

curl -X POST -d '"http://www.lenna.org/full/len_full.jpg"' -H 'Content-Type: application/json' -H 'Authorization: Simple sim11111111111111111123456789abcdef' https://api.algorithmia.com/v1/algo/sfw/NudityDetection/0.1.63

Через Javascript (требуется загрузить предварительно algorithmia.js [8])

Algorithmia.query("algo://sfw/NudityDetection/0.1.63", "sim11111111111111111123456789abcdef", "http://www.lenna.org/full/len_full.jpg", console.log);

И через Python:

import urllib2, json
input = "http://www.lenna.org/full/len_full.jpg"
request = urllib2.Request('https://api.algorithmia.com/v1/algo/sfw/NudityDetection/0.1.63')
request.add_header('Content-Type', 'application/json')
request.add_header('Authorization', 'Simple sim11111111111111111123456789abcdef')
response = urllib2.urlopen(request, json.dumps(input))
print response.read()

В мае этого года в интернете появился [9] сервис с похожей идеей от Microsoft how-old.net — сайт определял возраст человека по загруженной фотографии. Несмотря на то, что алгоритм довольно часто выдавал неожиданные результаты, он быстро приобрёл популярность и стал вирусным: за первые часы его работы на него было загружено более 210 тысяч фотографий. О истории проекта и его популярности можно прочитать [10] на Geektimes.

Автор: jeston

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/fotografiya/92727

Ссылки в тексте:

[1] Algoritmia: http://algorithmia.com/

[2] Is it Nude: https://isitnude.com/

[3] объясняют: http://blog.algorithmia.com/post/121967357859/isitnude

[4] nude.py: https://github.com/hhatto/nude.py

[5] здесь: https://sites.google.com/a/dcs.upd.edu.ph/csp-proceedings/Home/pcsc-2005/AI4.pdf?attredirects=1

[6] шума на изображениях: https://algorithmia.com/algorithms/opencv/NoseDetection

[7] поиска человеческих лиц: https://algorithmia.com/algorithms/opencv/FaceDetection

[8] algorithmia.js: https://algorithmia.com/assets/javascripts/algorithmia.js

[9] появился: http://geektimes.ru/post/249860/

[10] прочитать: http://geektimes.ru/post/250604/

[11] Источник: http://geektimes.ru/post/252442/