Предотвращение генерации изображений, похожих на свастику, при создании идентификаторов

Я использую этот скрипт PHP для генерации идентификаторов. Он использует оригинальный алгоритм идентификации Дон Парк.

Сценарий прекрасно работает, и я адаптировал его к своему собственному приложению для генерации идентификаторов. Проблема в том, что иногда создаются свастики. Хотя свастики имеют мирное происхождение, люди обижаются, видя эти символы.

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

Кто-нибудь определил, каким будет твик и как предотвратить создание свастики?

3 ответа

Решение

Идентиконы кажутся мне (на первый взгляд) всегда четырехкратной симметрией вращения. Свастики, безусловно, делают. Как насчет того, чтобы просто повторить квартал другим способом? Если вы возьмете четверть блока, который будет производить свастику в текущем паттерне, и отразить две противоположные по диагонали четверти, то вы получите своего рода космический захватчик.

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

На вводной теме Джеффа Этвуда Дон Парк предложил:

Re Swastika комментирует, что можно решить, применяя специализированный OCR-подобный визуальный анализ, чтобы идентифицировать все вредоносные коды, а затем преобразовать их в эффективный фильтр Блума, используя генетический алгоритм. Когда фильтр возвращает значение true, можно использовать второй тип идентификатора (т. Е. 4-блочное стеганое одеяло).

В качестве альтернативы, вы можете полностью избежать этой проблемы, заменив идентичные символы единорогами.

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

Если вы хотите попробовать другой алгоритм без проблем со свастикой, попробуйте ввести симметрию, подобную той, что показана на чернильных пятнах, в популярные 16-блочные идентификаторы стеганого одеяла.

Другие вопросы по тегам