Тип работы:
Предмет:
Язык работы:


Распознавание текстовых CAPTCHA и определение оптимального алгоритма классификации символов

Работа №77738

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы89
Год сдачи2016
Стоимость4300 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
33
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЗАДАЧИ 6
2. РАСПОЗНАВАНИЕ СИМВОЛОВ 8
2.1. Предварительная обработка 8
2.2. Сегментация 16
2.3. Распознавание объектов 19
3. ЭКСПЕРИМЕНТЫ 34
4. ВЫВОДЫ 51
ЗАКЛЮЧЕНИЕ 52
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 54
ПРИЛОЖЕНИЕ

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart - далее «капча») - полностью автоматизированный тест Тьюринга для различения компьютеров и людей. Является одной из форм теста «ответ на запрос» и служит для того, чтобы определить, действительно ли пользователь, отправивший ответ, является человеком, а не компьютером.
Сам термин был придуман в 2003 году Луисом фон Аном, Мануэлем Блюмом, Николасом Дж. Хоппером и Джоном Лэнгфордом [3]. А наиболее распространенный на сегодня вид капч - изображение с искаженными и завуалированными символами (буквами и цифрами) - был изобретен в 1997 году.
Капча в основном используется в качестве премодерации, защиты поисковых систем, социальных сетей, онлайн опросов, регистрации на сайтах от спама и вредоносных программ, таких как боты (или роботы, - специальные программы, автоматически выполняющие определенные, чаще вредоносные, действия). Принцип защиты следующий: пользователю, после некоторых совершенных им действий, например, после ввода своих данных при регистрации электронной почты, перед сохранением результатов предлагается ввести текст, изображенный на капче. Если пользователь верно распознал текст и ввёл его в строку, то система принимает его за человека и разрешает зарегистрировать электронную почту. Иначе, пользователем, скорее всего, является компьютер, и система не сохраняет результат.
Как было сказано выше, на сегодняшний день самый распространённый вид капч - это текстовая капча (изображение с некоторым набором букв, цифр или символов). Также существуют и другие виды, основанные на изображениях, аудио, видео или пазлах [7]. Первые могут представлять собой как просто деформированный набор символов, так и математический пример, который нужно решить. Решая второй вид капч, пользователь должен указать те изображения, на которых, по его мнению, изображены заданные объекты. Аудио- и видеокапчи похожи на текстовые с той лишь разницей, что тут текст произносится диктором или показывается на видео. Последний вид капч представляет собой мозаику, которую нужно правильно сложить.
Главное свойство каждой капчи - быть одновременно простой для человека и сложной для машины. Очень важно соблюсти этот баланс, иначе капча может быть очень сложна для восприятия человеком (рисунок 1):
Можно сказать, что на сегодняшний день с интернет-технологиями связаны почти все сферы жизни человека. А значит у злоумышленников появляется больше возможностей для кражи личных данных, отправки спама, создания ботов и для других вредительств. Поэтому сегодня так актуально обезопасить интернет- -ресурсы. И одним из рубежей защиты как раз является капча. А, как известно, «лучшая защита - это нападение». Поэтому цель данной работы - произвести атаку на некоторые капчи, исследовать достоверность распознавания капч различными классификаторами и выбрать среди них лучший по таким параметрам, как процент правильного распознавания символов, время обучения и время непосредственного распознавания символов на капче.
В данной работе будут рассмотрены только текстовые капчи, в которых нужно распознать цифры и буквы. Обычно данная задача разбивается на подзадачи: предварительная обработка изображения (удаление шумов, искажений и т.д.), сегментация (выделение символов и постобработка) и распознавание символов некоторым алгоритмом. Последняя подзадача применима ко всем текстовым капчам в неизменном виде, как и вторая. А препроцесс для каждой капчи может существенно различаться, т.к. они индивидуальны, и к каждой нужно найти свой подход.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В данной работе были рассмотрены методы распознавания текстовых капч. На первом виде капч «зашифрованы» 4 цифры, на второй капче - 6 букв латинского алфавита. Процесс распознавания был разделен на три этапа: предобработка изображения, выделение символов (сегментация) и классификация символов.
На первом этапе изображения были подвергнуты пространственным и морфологическим преобразованиям для визуального выделения символов, отделения их от фона.
На втором этапе с помощью алгоритма поиска границ Кэнни были найдены и выделены края букв и цифр.
На последнем этапе были рассмотрены и сравнены 4 алгоритма классификации объектов: искусственные нейронные сети, метод опорных векторов, случайный лес (набор деревьев решений) и к ближайших соседей.
Для первой капчи оптимальным алгоритмом классификации стали нейронные сети (в скрытом слое 84 нейрона) - 88.375 % символов были распознаны верно.
Для второй капчи оптимальным методом оказался метод к ближайших соседей - 69 % символов были распознаны правильно.
В целом для рассмотренных капч наилучшим образом себя показал метод опорных векторов, для первой капчи давший среднюю ошибку 88.75 %, а для второй - 68.33 %. Нельзя сказать, что алгоритм работает быстрее других, но всегда придется чем-то жертвовать: либо точностью в угоду скорости работы, либо скоростью в угоду точности.
Нельзя написать единственный алгоритм, который будет распознавать все виды капч, будь то текстовые, с выбором подходящих изображений или другие. Каждая из них имеет свои особенности и свой подход к решению.
Также всегда следует помнить, что капча в первую очередь должна быть проста и понятна человеку, и только потом она должна быть сложна для автоматического распознания, иначе теряется весь смысл этой технологии, придуманной сотрудниками университета Карнеги-Меллон.



1. Гонсалес, Р. Цифровая обработка изображений [Текст]: пер. с англ. / Р. Гонсалес, Р. Вудс. - М.: ТЕХНОСФЕРА, 2005 г. - 1070 с.
2. Разинков Е.В. Машинное обучение. Конспект лекций. Казань, 2015.
3. Ahn L. von, Blum M., Hopper N.J., Langford J. CAPTCHA: Using Hard AI Problems For Security, Advances in Cryptology - EUROCRYPT 2003, 2003, pp. 294-311.
4. Kanan C., Cottrel G.W., Color-to-Grayscale: Does the Method Matter in Image Recognition? PLOS ONE, 7, 1, 2012.
5. Mitchell T.M. Machine Learning. - McGraw-Hill, 1997. - 414 pp.
6. Rummelhart D. E., Hinton G. E., Williams R. J. Learning internal representations by error propagation / Vol. 1 of Computational models of cognition and perception, chap. 8. - Cambridge, MA: MIT Press, 1986. - 319-362 pp.
7. Singh V.P., Pal. P., Survey of Different Types of CAPTCHA, International Journal of Computer Science and Information Technologies, 5(2), 2014, pp. 2242-2245.
8. Воронцов К.В. Лекции по методу опорных векторов [Электронный ресурс]: - Электрон. текст. дан. - 2007. http://www.ccas.ru/voron/download/SVM.pdf
9. Воронцов К.В. Лекции по метрическим алгоритмам классификации
[Электронный ресурс]: - Электрон. текст. дан. - 2009.
http: //www.machinelearning.ru/wiki/images/9/9d/V oron-ML-Metric.pdf
10. Moeslund T. Canny Edge Detection [Электронный ресурс]: Laboratory of
Computer Vision and Media Technology, Aalborg University. - Электрон. текст. дан. - Aalborg, Denmark. http: //www.cvmt.dk/education/teaching/
f09/VGIS8/AIP/canny 09gr820.pdf


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ