ИСКАЖЕНИЕ СИМВОЛОВ ДЛЯ СИМВОЛЬНО-ГРАФИЧЕСКОГО ОБРАТНОГО ТЕСТА ТЬЮРИНГА
DISTORTION OF SYMBOLS FOR SYMBOLIC AND GRAPHIC REVERSE TURING TEST

Область техники
Изобретение относится к методу графического искажения отдельных символов при помощи морфинга (трансформации) шрифтов между собой, используемых для вывода текста.
Полностью автоматизированный символьно-графический обратный тест Тьюринга (САРТСНА) предназначен для различения компьютером и людей и строится на предложении пользователям изображения набора символов (обычно, латинского алфавита или арабских цифр), начертанных с искажениями. Суть такого теста заключается в том, чтобы создание программ автоматического прохождения тестов Тьюринга (ПАПАТТ) таких тестов было максимально сложно, либо невозможно. Поэтому разработчики САРТСНА зачастую предлагают самые разнообразные способы исказить выводимый набор символов. Тем не менее у такого метода есть и обратная сторона, которая заключается в огромной нагрузке на человека при прохождении таких тестов.
Уровень техники
Среди аналогов изобретения можно выделить такие библиотеки, как «Cryptograph?» (http://www.captcha.fr/) и «Securimage» (http://www.phpcaptcha.org/). Они предоставляют широкие возможности генерации изображений для САРТСНА с искаженными символами. Сравнение их с изобретением приведено в таблице 1.
Таблица 1.
Название, описание
Использование произвольного набора различных шрифтов
Создание новых шрифтов на основе имеющихся
«Cryptograph?», http://www.captcha.fr/index.php ?page=34
Да
Нет (У
«Securimage», https://github.com/dapphp/secur image/blob/master/securimage.php<sup>*</sup> (<sup>*</sup>к сожалению, описание возможностей «Securimage» доступно лишь в виде исходного кода)
Да
Нет
Изобретение
Да
Да
В них применяются такие способы искажений символов, как поворот, изменение размеров и смещения относительно друг друга, масштабирование и т.д. Причем наиболее эффективными из них являются нелинейные, т.е. имеющие переменные во времени параметры, заданные интервалами возможных значений (например, угол поворота от 10 до 30 градусов), т.к. линейные искажения, т.е. не меняющие свои параметры от изображения к изображению, легче компенсировать при написании ПАПАТТ. Так же стоит выделить применение специфических шрифтов для вывода символов, т.к. изобретение тесно связано с этим видом усложнения автоматического прохождения САРТСНА. Оно интересно тем, что до сих пор применялось на ограниченном наборе доступных шрифтов (в большинстве случаев используется 1 нестандартный шрифт), а значит, давало авторам ПАПАТТ возможность собрать используемые шрифты из доступных источников, либо обучить свои программы (например, строящиеся на нейронных сетях) с высокой степенью вероятности распознавать изображенный текст.
Раскрытие изобретения
Программным результатом изобретения является возможность создания таких алгоритмов генерации изображений для САРТСНА, символы на которых будут максимально понятны человеку, но при этом сложны для автоматического распознавания с помощью компьютерных программ. Утверждение строится на предположении о том, что если взять 2 понятных человеку изображения знакомых ему символов текста и найти среднее между ними с помощью некоторых алгоритмов интерполяции (морфинга), то полученное изображение будет распознано человеком, как тот же самый символ (1). При этом, программы автоматического распознавания изображений для САРТСНА (например, на основе нейронных сетей) оперируют конечными алфавитами, состоящими из заранее определенных изображений символов. Поэтому с точки зрения их разработки, изобретение является нелинейным способом искажения набора символов. А значит, его использование окажет существенное влияние на сложность разработки программ автоматического распознавания изображений для САРТСНА и эффективность их работы, а учитывая утверждение (1), в случае соблюдения множества других факторов, не будет оказывать существенного влияния на распознание символов человеком. Другими словами, человеку пройти такой САРТСНА становится легче, а специально созданным для этого программам автоматического распознавания гораздо сложнее, либо невозможно.
Изобретение включает в себя способ графического искажения множества символов, которые система изображает для проведения САРТСНА, и машинно-ориентированную систему, его реализующую. Последовательность действий системы, изложенной в изобретении, складывается из следующих этапов:
1) Использование как минимум 2-х шрифтов для морфинга, и содержащих изображения как минимум для нужного множества символов. Например, можно взять 2 шрифта: «Times New Roman Regular» и «DeJaVu Extralight».
2) Проведение процедуры морфинга для каждой пары изображений одного и того же символа из разных шрифтов. Например, если имеется 2 шрифта и 10 символов, то для каждого из этих 10 символов будем брать по изображению из каждого шрифта для нахождения одного или нескольких промежуточных состояний между ними с помощью интерполяции их точек (формула п.1); тогда сгруппированные соответствующим образом, эти полученные множества изображений символов будут являться промежуточными состояниями изначально взятых шрифтов, и их можно будет использовать для создания новых шрифтов (формула п.2).
Если это необходимо, возможно создание и использование ключевых точек на загруженных шрифтах для оптимизации процедуры морфинга. Ключевыми точками можно отметить, например, углы на растровых шрифтах, если в нашем распоряжении нет векторных.
Кроме того, возможно использование вместо 2-х шрифтов, одного шрифта и геометрической фигуры для проведения процедуры морфинга между ними. В этом случае, утверждение (1) теряет силу, т.к. символы взятого шрифта будут терять свои очертания в процессе продвижения морфинга от шрифта к геометрической фигуре. Однако в определенной мере такая процедура тоже допускается и также является искажением символов.
3) Используем полученное множество новых изображений каждого символа (один или несколько новых шрифтов) для изображений нужных нам символов на изображениях САРТСНА.
Таким образом, система генерирует изображения для САРТСНА и новые шрифты на основании используемых. Так же не исключается возможность использования созданных шрифтов для генерации на их основе других, т.к. это еще больше повышает сложность разработки ПАПАТТ.