Автор работы: Пользователь скрыл имя, 15 Октября 2011 в 19:45, творческая работа
CAPTCHA («Completely Automated Public Turing test to tell Computers and Humans Apart» — «полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей») — тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером.
Распознавание
CAPTCHA-теста средствами библиотеки OpenCV
Санкт-Петербургский Государственный Университет
Аэрокосмического
Приборостроения
факультет
вычислительных систем
и программирования
кафедра
компьютерной математики и программирования
Дипломный проект выполнила студентка группы 4633 Дорожинская Дарья
Научный руководитель:
доцент к.т.н. Леонтьев А. Е.
Санкт-Петербург
2011 год
Введение
CAPTCHA («Completely
Целью дипломной работы является распознавание CAPTCHA средствами библиотеки OpenCV, что включает в себя следующие пункты:
Слайд 2 из
Функциональные
требования к системе
Слайд 3 из
Получение
и чтение изображения
Слайд
4 из
Первым этапом распознавания CAPTCHA является загрузка самого изображения.
Полученные изображения преобразуются в удобный для дальнейшей обработки растровый формат – bmp.
Для
обработки используется библиотека
OpenCV - Библиотека компьютерного зрения
с открытым исходным кодом (Open Source Computer
Vision Library), содержащая более 500 функций,
предназначенных для выполнения в реальном
времени. Библиотека содержит алгоритмы
для обработки, реконструкции и очистки
изображений, распознания образов, захвата
видео, слежения за объектами, калибровки
камер и пр.
Примеры
оригинальных CAPTCHA-изображений.
Изменение цветности
Python обладает гибким
механизмом работы с изображениями. Модуль
PIL(Python Image Library) предоставляет средства
обработки изображений, в том числе в его
состав входит функция инвертирования
цветов. После обработки цветное растровое
изображение преобразуется в черно-белое.
Изменение цветности применяется в работе
дважды: на этапе предварительной обработки
и на этапе распознавания.
Слайд 5 из
Фильтрация
шума
В
случае с CAPTHCA под шумом подразумеваются
линии.
Существует несколько вариантов решения
проблемы:
Слайд 6 из
Преобразование
Хафа
Преобразование Хафа позволяет находить на монохромном изображении плоские кривые заданные параметрически, например: прямые, окружности, эллипсы.
Монохромным изображением считается изображение состоящее из точек двух типов: фоновых точек и точек интереса.
Основная идея преобразования Хафа состоит в поиске в поиске кривых, проходящих через достаточное количество точек интереса.
В дипломной работе используется преобразование Хафа для прямых.
Алгоритм
заключается в том, что любая
прямая на плоскости может быть задана
2параметрами:углом наклона и
расстоянием от начала координат
(θ, r).
Слайд
7 из
Эти переменные
можно рассмотреть как
Выделение
границ (разделение символов)
Задача
разделения символов усложняется тем,
что символы накладываются друг
на друга, имеют разный наклон, пересекаются
линиями. Для решения задачи разделения
используется алгоритм нахождения минимумов.
Результаты поиска минимумов можно
видеть на графике.
Слайд 8 из
Распознавание
Распознавание полученных после обработки изображений выполняет предварительно обученная искусственная нейронная сеть, построенная с помощью библиотеки Fast Artificial Neuron Network (FANN).
Входными данными является массив из 432 элементов (произведение ширины распознаваемого изображения и его высоты),каждый элемент задает яркость соответствующего пикселя 0 – фон, 1 – значащий пиксель. На выходе – массив из 10 элементов задающих близость входных данных к соответствующей цифре.
Кроме
того, между входным и выходным
слоями расположены 3 слоя по 144 нейрона.
Такое количество промежуточных
слоев и численность нейронов
соответствуют требованиям
Слайд 9 из
Результаты
В рамках дипломной работы были разработаны модули создания и обучения нейронной сети, обработки изображений, и распознавания CAPTCHA .
Достигнута эффективность распознавания не является предельным значением, так как дальнейшее обучение нейронной сети позволит достичь более высоких результатов.
Использование
в разработке языка программирования
высокого уровня Python позволяет, благодаря
легкости встраивания Python-модулей,
использовать полученные модули в
различных программах-загрузчиках, в качестве
сервисов на web-сайтах, а так же в качестве
примера для создания приложений распознавания
CAPTCHA.
Слайд 10 из
Слайд
11 из
СПАСИБО ЗА ВНИМАНИЕ!
Безопасность
и санитарно-гигиенические
В разделе был
проведен анализ безопасности и санитарно-гигиенических
условий труда на рабочем месте
пользователя ПЭВМ (дана характеристика
санитарно-гигиенических
Были получены
оптимальные параметры
Проанализированы
меры обеспечения
Разработаны меры
защиты от внешнего шумового воздействия.
Составлен комплекс мер по предотвращению
шумового загрязнения рабочей среды.
Слайд 12 из
13
Расчет системы
водяного отопления
Необходимая теплопроизводительность системы
водяного отопления
Qот ,кДж/ч
Коэффициент теплопередачи панельного
радиатора
К (30-38), кДж/(м2*град.)
Площадь поверхности нагрева радиатора F (0,6-3), м2 0,8
Средняя температура теплоносителя t (85-100), град. 90
Необходимое количество радиаторов n 2,00
14
15
Экономический
раздел
Слайд 16 из
Информация о работе Распознавание CAPTCHA-теста средствами библиотеки OpenCV