Самое узкое место любой капчи это одинаковое написание различных символов:
- l=I (L строчная и i прописная)
- О=0=O (строчные и прописные буквы о в обоих языках и цифра ноль)
- Любые похожие буквы кириллицы и латиницы, а таких много (ABCEHKMOPTXЗУ)
- Дополнительные проблемы доставляются помехами самой капчи
У вконтакта была попытка сделать капчу поближе к народу, русифицировав ее, но как мы знаем, они вернулись к англоязычному варианту.
К недостаткам любой каптчи нужно отнести время на ее распознавание. Чем больше времени – тем больше внимания забирается у пользователя – тем сильнее мы его отвлекаем. В идеале каптча не должна забирать пользовательского внимания вообще, но это (пока) недостижимо.
Давайте рассмотрим существующие капчи.
Гугл-reCAPTCHA.
Самая популярная каптча от софтверного гиганта и одна из немногих, которая предоставляет слова.
Недостатки:
- Большой процент нераспознаваемого текста
- Одно из двух слов не контролируется системой, т.к. попадаются не алфавитно-цифровые символы
Ее плюс в том, что она общедоступна, бесплатна и не требует установки на свой сервер.
Яндекс
Практически все предоставляемые картинки распознаются, но для этого необходимо знать кириллицу. Для иностранца это будет нелегким испытанием. Самый большой минус – необходимо вводить бред.
Mail.ru
На мой взгляд самая некрасивая реализация. Присутствуют как цифры, так и буквы, а это значит, что вы будете путать ноль с буквой О. В данной каптче используются только те буквы, написание которых одинаково для кириллицы и латиницы, и совершенно не важно, учитывается это для проверки ввода или нет – пользователь все равно будет над этим думать.
Вконтакте
Что тут скажешь, дальтоники видимо больше всего любят эту каптчу. 0 и O не используются, но от этого не легче.
Критикуя — предлагай!
Я предлагаю n+1-ый вариант капчи. Он не идеален, но как мне кажется, лишен вышеприведенных недостатков.
Его принцип основан на свойстве человеческого глаза легко выделять движение из общей картины.
Алгоритм построения очень прост:
- Задаются две вероятности: видимости точки фона и видимости точки символа. Чем больше разница – тем лучше читается, а выбираем такую разницу, чтобы читалось удовлетворительно
- Набираются кадры для gif-анимации, где символы случайно смещаются относительно начальной позиции на небольшое расстояние
Недостатки
- размер картинки больше, чем классическая однокадровая каптча
- соответственно больше времени на генерацию, со всеми вытекающими,
- плохо подходит для случайных наборов символов
- Это все-таки анимация, тем более скачущая
Достоинства
- Нет необходимости в искажении букв – пользователь видит привычный шрифт
- Дальтоники видят также как и все остальные
Обсуждаемые достоинства
- бОльшая сложность машинного распознавания, а значит
- можно использовать меньший набор слов, а значит
- можно показывать привычные слова, а значит
- глаз мгновенно читает надпись – пользователь меньше уделяет внимания на распознавание каптчи
Дополнительные достоинства
- Фон каптчи можно сделать прозрачным, а это значит, что ее можно накладывать на фон сайта без потери функциональности
- Можно дать возможность задавать цвет фона и точек – для соблюдения палитры сайта
- Можно использовать любые языки (даже иероглифические) – что повышает удобство распознавания
- Нетрадиционное использование такой каптчи – например, сообщать на форуме свой телефон или почту не текстом, а сгенерировав такую гифку
Вопросы и проблемы
Самый главный вопрос – а нужна ли интернету еще одна каптча или рекаптча всех устраивает?
Второй вопрос – действительно ли моя каптча сложна для машинного распознавания?
И третий – как можно ее улучшить?
В настоящее время написан модуль генерации gif на C#, поэтому быстродействие 2-3 каптчи в секудну (без ультра-оптимизации). Необходимо переписать это на C++, оптимизировать как генерацию, так и упаковку gif.
Я не хочу и не могу создавать стартап с этой каптчей, т.к. путей монетизации не так уж много – единственное, что пришло в голову это дорисовывать на каптче маленькую рекламку. А платная каптча – это бред.
Но буду рада продать эту идею, если она вообще хоть сколько-то стоит.
ссылка на оригинал статьи http://habrahabr.ru/post/181534/
Добавить комментарий