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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Критерии оценки)
 
(не показано 6 промежуточных версии 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. Простейшее разделение символов, векторная модель символа.
 +
* Сбор данных, тестовый и обучающий наборы данных. Обучение алгоритма.
  
 
=== Направления развития ===
 
=== Направления развития ===
Строка 37: Строка 39:
 
6-7: Распознавание 80% символов с картинки, где символы написаны одним шрифтом с поворотом, на разной высоте, с разным цветом фона и букв.
 
6-7: Распознавание 80% символов с картинки, где символы написаны одним шрифтом с поворотом, на разной высоте, с разным цветом фона и букв.
  
8-10: + одно из направлений развития  отличное от "хор".
+
8-10: + одно из направлений развития  отличное от использованного для оценки "6-7".

Текущая версия на 10: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".