Распознаватель капчи (проект)

Материал из Wiki - Факультет компьютерных наук
Версия от 10:50, 20 октября 2015; Ira dolgaleva (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Ментор Красавина Алина
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

В итоге должна получиться консольная утилита, которая берет на вход картинку и печатает текст, который изображен на капче. Капча здесь берется из-за того, что она, обычно, имеет одинаковый размер и буквы располагаются приблизительно одинаково, а пишутся одним или несколькими заранее определенными шрифтами. Будет предоставлен набор данных, который включает сотню капч, где используются символы A-Za-z0-9*!@ написанные на однотонном фоне одним цветом без искажений, также для генерации картинок можно пользоваться любым генератором на выбор (например подойдет django-simple-captcha, тут достаточно простые картинки на выходе). Алгоритм планируется довольно простой, в двух словах - сравнение символов из размеченного множества (проще говоря - символов решенных капч) с символами решаемой в данный момент капчи.

Чему вы научитесь?

  • Основам работы с изображениями на примере капчи
  • Простейшему машинному обучению

Какие начальные требования?

  • Желание научиться распознавать объекты на изображениях (в частности надписи)
  • Знание Python (если есть желание, другой популярный язык)

Какие будут использоваться технологии?

Python, библиотека PIL (или любой другой популярный язык)

Темы вводных занятий

  • Работа с изображениями в PIL. Простейшее разделение символов, векторная модель символа.
  • Сбор данных, тестовый и обучающий наборы данных. Обучение алгоритма.

Направления развития

  • Распознавать надписи с картинок (например, с фотографий), где запечатлена область с текстом без посторонних предметов
  • Распознавать капчи с различными перемещениями букв, когда буквы повернуты на какой-то угол или находятся на разной высоте
  • Определение пространственной деформации изображения (применяется для искажения букв)
  • Определение трехмерных надписей (выпуклая поверхность)

Критерии оценки

4-5: Распознавание 80% символов с картинки, где написаны символы одним шрифтом, без искажений с разным цветом фона и букв.

6-7: Распознавание 80% символов с картинки, где символы написаны одним шрифтом с поворотом, на разной высоте, с разным цветом фона и букв.

8-10: + одно из направлений развития отличное от использованного для оценки "6-7".