Американская компания Algoritmia, расположенная в Сиэтле, запустила любопытный проект с говорящим названием Is it Nude (ссылку можно открывать безопасно), который предназначен для определения факта обнажения человека по его загруженной фотографии. Интерфейс очень прост: можно указать или ссылку на картинку в интернете или загрузить её с компьютера. После непродолжительной паузы сервис выносит вердикт, который выглядит примерно таким образом:
Если алгоритм решает, что изображение на фото безопасно с точки зрения обнажённости, то результат выглядит так:
Можно отметить, что алгоритм проекта отличается некоторой строгостью в своих оценках (на фото британская модель Келли Брук):
В своём блоге авторы сервиса объясняют, что в качестве основы для него они взяли Python-библиотеку nude.py Хидео Хаттори и алгоритм для определения степени обнажённости, опубликованный здесь. Однако эти подходы основаны на поиске фрагментов изображений кожи человека, анализе их расположения друг относительно друга и размера таких участков. Это зачастую приводит к ложным результатам срабатывания алгоритма, когда безобидная картинка считается содержащей обнажённую натуру:
Авторы Algoritmia дополнили результаты своих предшественников при помощи специально разработанных алгоритмов по поиску шума на изображениях и алгоритмов поиска человеческих лиц. В итоге, как заявляют исследователи, им удалось уменьшить число неверных результатов настолько, что сервис смог стать публичным и даже предоставлять программистам специальное API для работы с ним.
Изображение картины французского художника Ипполита Фландрена «Сидящий обнажённый юноша» (1855 год) с результатами работы Algoritmia.
API сервиса доступно через HTTP посредством POST-запроса:
Через Javascript (требуется загрузить предварительно algorithmia.js)
И через Python:
В мае этого года в интернете появился сервис с похожей идеей от Microsoft how-old.net — сайт определял возраст человека по загруженной фотографии. Несмотря на то, что алгоритм довольно часто выдавал неожиданные результаты, он быстро приобрёл популярность и стал вирусным: за первые часы его работы на него было загружено более 210 тысяч фотографий. О истории проекта и его популярности можно прочитать на Geektimes.
Если алгоритм решает, что изображение на фото безопасно с точки зрения обнажённости, то результат выглядит так:
Можно отметить, что алгоритм проекта отличается некоторой строгостью в своих оценках (на фото британская модель Келли Брук):
В своём блоге авторы сервиса объясняют, что в качестве основы для него они взяли Python-библиотеку nude.py Хидео Хаттори и алгоритм для определения степени обнажённости, опубликованный здесь. Однако эти подходы основаны на поиске фрагментов изображений кожи человека, анализе их расположения друг относительно друга и размера таких участков. Это зачастую приводит к ложным результатам срабатывания алгоритма, когда безобидная картинка считается содержащей обнажённую натуру:
Авторы Algoritmia дополнили результаты своих предшественников при помощи специально разработанных алгоритмов по поиску шума на изображениях и алгоритмов поиска человеческих лиц. В итоге, как заявляют исследователи, им удалось уменьшить число неверных результатов настолько, что сервис смог стать публичным и даже предоставлять программистам специальное API для работы с ним.
Изображение картины французского художника Ипполита Фландрена «Сидящий обнажённый юноша» (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)
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()
В мае этого года в интернете появился сервис с похожей идеей от Microsoft how-old.net — сайт определял возраст человека по загруженной фотографии. Несмотря на то, что алгоритм довольно часто выдавал неожиданные результаты, он быстро приобрёл популярность и стал вирусным: за первые часы его работы на него было загружено более 210 тысяч фотографий. О истории проекта и его популярности можно прочитать на Geektimes.
Комментарии (14)
bfDeveloper
24.06.2015 12:18+6
Реагирует просто на большое количество кожи в кадре. Так что им стоит ещё поработать над формой.
urbain
24.06.2015 18:28Леопардовый диван пока всех побеждает:
habrastorage.org/files/071/269/9ae/0712699ae13d49f2bcf5fbacc3a52ef0.png
ntfs1984
Замечательно, но увы: habrastorage.org/files/32c/4c7/f62/32c4c7f6293f41d59b0c33006e2aba97.png
lopatoid
Почему увы? Он же и вправду не голый.