Распознаватель капчи (проект): различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Новая страница, с помощью формы Новый_проект
 
Нет описания правки
 
(не показано 7 промежуточных версий 2 участников)
Строка 2: Строка 2:
|name=Распознаватель капчи
|name=Распознаватель капчи
|mentor=Красавина Алина
|mentor=Красавина Алина
|mentor_login={{URLENCODE:{{REVISIONUSER}}|WIKI}}
|mentor_login={{URLENCODE:Akrasavina|WIKI}}
|semester=Весна 2015
|semester=Весна 2015
|course=1
|course=1
|summer=on
|summer=on
|categorize=yes
|categorize=yes
|is_archived=yes
}}
}}


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


=== Чему вы научитесь? ===
=== Чему вы научитесь? ===
Строка 24: Строка 25:


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


=== Направления развития ===
=== Направления развития ===
Строка 33: Строка 35:


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


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

Текущая версия от 07:50, 20 октября 2015

Ментор Красавина Алина
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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