Сложно о простом: как отличить голую девушку от одетой

,

Обычно, когда на главной странице какого-нибудь приличного сайта вы видите полуобнаженную девушку на картинке и кликаете, вы немного разочаровываетесь — это опять либо один кадр из рекламной съемки, либо один кадр из клипа. Я же постараюсь вас не разочаровать — этот пост целиком состоит из голых девушек и одной истории.

О простом

Не нужно быть кандидатом наук, чтобы отличить голую девушку от одетой. Можно успешно делать это вообще без образования. Мне иногда даже кажется, что существует обратный закон: чем выше у тебя образование, тем меньше раз в жизни тебе придется решить — голая перед тобой девушка или одетая.

Но находятся ученые, которым интересно заниматься голыми девушками. Наверное, правильнее будет сказать, что находятся те, которые делают это в открытую. Так и поступил Rigan Ap-apid — доцент одного филиппинского колледжа. В своей статье «Алгоритм распознавания наготы» он подробно описывает свои достижения в этом (не)хитром деле, а так же их точность.

В конце ноября веселый программист Patrick Wied выпустил (не очень удобную) библиотеку, которая позволяет вашему браузеру решать — есть ли голые девушки на фотографиях, которые показаны на странице, или нет.

Как они обучили компьютеры делать то, что раньше умели только мы?

Кожаная магия (как устроена фотография голой девушки)

Так уж получилось, что если человек голый, значит у него видно кожу. Но как на фотографии отличить кожу от одежды или настенного ковра? Для этого надо знать, как устроена цифровая фотография голой девушки. Я уверен, вы знаете, но давайте закрепим.

Image_structure

— фотография, кажется, австралийки. Выделенный в белую рамку квадратик увеличен.

Цифровые фотографии голых девушек состоят из квадратиков. Эти квадратики называются пикселями. Размер у пикселя всегда одинаковый, так что важна лишь его позиция и цвет. Вот и вся история.

И тут самое главное знать: может ли цвет быть цветом кожи, или нет. Я проверил алгоритм, реализованный Патриком на четырех цветах. Те, на которых я нарисовал голую девушку, были распознаны алгоритмом, как подходящие для цвета кожи. Остальные два — нет.

Colors

При вынесении вердикта оцениваются следующие характеристики цвета:

  • насколько он красный, зеленый и синий (например, желтый — наполовину красный, наполовину зеленый, но совсем не синий)
  • оттенок, насыщенность, яркость

Colors_blank

— голая девушка и толстый кролик

Colors_rgb

— кожаные пиксели в цветовой модели Красный-Зеленый-Синий (отмечены синим)

Colors_hsv

— кожаные пиксели в цветовой модели Оттенок-Насыщенность-Яркость (отмечены синим)

То есть экспериментальным путем выведены такие числовые границы этих характеристик, которые позволяют сказать, может ли этот пиксель быть «кожаным».

Программисты называют непонятно откуда взявшиеся числа магическими. Поэтому я решил назвать этот метод кожаной магией. Но это еще не конец — там, где голые девушки и магия, обязательно должны быть карты.

Карты

Если «кожаные» пиксели занимают 15% площади фотографии — голых девушек на ней нет, утверждают исследователи. Если больше, надо чертить карты. Но тут уже дело техники.

Объединяем соседние «кожаные» пиксели в группы, и получаем регионы. Например, если девушку фотографируют со спины, а на ней лифчик, то бретельки делят ее кожаную спину на несколько регионов.

Regions

— обычная немного одетая девушка слева и она же справа, только тело разделено одеждой на регионы, выделенные цветом

Вся дальнейшие выкрутасы связаны с этими регионами:

  • если самый большой регион содержит меньше 35% кожаных пикселей, второй и третий — меньше 30% каждый, — это логотип Timberland, а не голая девушка;
  • если самый большой регион содержит меньше 45% кожаных пикселей — это карта Европы без России, а не голая девушка;
  • если кожаных пикселей меньше 30%, а регионы сильно разбросаны по фотографии — это мясорубка, а не порнография;
  • если количество регионов больше 60, но основная часть фотографии неяркая — это фотография из Коммерсанта, а не Playboy.

И если вдруг ни одно из этих условий не сбылось, ликуем — тут есть на что посмотреть!

ЕСЛИ ЯВЛЯЕТСЯГОЛЫМ(ОБЪЕКТ); ТОГДА ПЕРЕЙТИНА СТРОКА(42); КОНЕЦ;

Так компьютеры научились понимать, есть ли голые люди на фотографии или нет. Любое знание можно использовать как во имя зла, так и во имя добра. Я считаю, запрещать кому-то что-то смотреть — это хорошо, но бессмысленно. Давайте подумаем, как использовать это изобретение во благо и со смыслом.

  • Ваши друзья выкладывают в интернет слишком много фотографий? Этот алгоритм отсеет неинтересные — теперь только голые фотки к вашему вниманию! Кого волнует архитектура в Хельсинки, когда в фотоотчет об отпуске затесалось что-то действительно важное?
  • Надоело сбрасывать интимные фотографии в отдельную скрытую зашифрованную папку? Теперь это автоматически, просто загрузите и забудьте. Компьютер покажет их только вам.
  • Говорят, если в интернете запретить порнографию, то через несколько дней он будет на 99% состоять из сайтов на тему «Верните порнографию, сволочи!». С помощью описанной технологии можно отключить все картинки в интернете, на которых нет голых людей. Мы, люди, не ценим того, что у нас есть. Так давайте смотреть только картинки с голыми девушками, пока у нас есть такая возможность!

Seeyou

See you!

Комментарии

Эх, ну что такое, интересы девушек традиционной ориентации опять игнорируются.
Можно в следующий похожий пост, если он вдруг будет, включить немножечко голых мужчин?

Какой-то примитивный алгоритм. Лажа, блин. Ждал чего-то интересного.

ну да, ошибок будет явно больше реального результата
хотя все это догадки, без реального лицезрения работы самого скрипта

В тексте поста есть ссылка на алгоритм в оригинале. Эта лажа распознает голых людей точнее большинства методов. Если все еще ждете чего-то интересного, советую почитать.

видимо в маниле хорошо думается о голых девушках%) это вам не Москва -24!

Народ, сделайте extention для популярных браузеров!

и еще

А есть ли extentionы для браузеров с использованием данного плагина?

Интересный алгоритм))
Только вот как он себя поведет при условии:
Скрещенные ноги, одна рука на талии, а вторая касается ног. И при этом верх купальника не завязывающийся на шее%)
Он ведь всю кожу должен одним полигоном посчитать:)

есть еще интересные платья и купальники телесного цвета

Да, купальники телесного цвета могут обмануть систему. Равно как и голые девушки, измазанные морской капустой. Этот алгоритм не безошибочен, но прост и в обычных случаях применим.

много фона телесного цвета тоже может ввести в заблуждение...

алгоритм распознавания толстых кроликов в студию!

Хорошо человеку - алгоритм распознавания голой женщины работает на СТО процентов!

а может ли алгоритм распознать девушку от мальчика?

Комментировать