Распознаватель капчи (проект) — различия между версиями
(→Темы вводных занятий) |
(→Что это за проект?) |
||
Строка 10: | Строка 10: | ||
=== Что это за проект? === | === Что это за проект? === | ||
− | В итоге должна получиться консольная утилита, которая берет на вход картинку и печатает текст, который изображен на капче. Капча здесь берется из-за того, что она, обычно, имеет одинаковый размер и буквы располагаются приблизительно одинаково, а пишутся одним или несколькими заранее определенными шрифтами. Будет предоставлен набор данных, который включает сотню капч, где используются символы A-Za-z0-9*!@ написанные на однотонном фоне одним цветом без искажений, также для генерации картинок можно пользоваться любым генератором на выбор (например подойдет django-simple-captcha, тут достаточно простые картинки на выходе). | + | В итоге должна получиться консольная утилита, которая берет на вход картинку и печатает текст, который изображен на капче. Капча здесь берется из-за того, что она, обычно, имеет одинаковый размер и буквы располагаются приблизительно одинаково, а пишутся одним или несколькими заранее определенными шрифтами. Будет предоставлен набор данных, который включает сотню капч, где используются символы A-Za-z0-9*!@ написанные на однотонном фоне одним цветом без искажений, также для генерации картинок можно пользоваться любым генератором на выбор (например подойдет django-simple-captcha, тут достаточно простые картинки на выходе). Алгоритм планируется довольно простой, в двух словах - сравнение символов из размеченного множества (проще говоря - символов решенных капч) с символами решаемой в данный момент капчи. |
=== Чему вы научитесь? === | === Чему вы научитесь? === |
Версия 21:43, 11 января 2015
Ментор | Красавина Алина |
Учебный семестр | Весна 2015 |
Учебный курс | 1-й курс |
Проект можно развивать на летней практике | |
Что это за проект?
В итоге должна получиться консольная утилита, которая берет на вход картинку и печатает текст, который изображен на капче. Капча здесь берется из-за того, что она, обычно, имеет одинаковый размер и буквы располагаются приблизительно одинаково, а пишутся одним или несколькими заранее определенными шрифтами. Будет предоставлен набор данных, который включает сотню капч, где используются символы A-Za-z0-9*!@ написанные на однотонном фоне одним цветом без искажений, также для генерации картинок можно пользоваться любым генератором на выбор (например подойдет django-simple-captcha, тут достаточно простые картинки на выходе). Алгоритм планируется довольно простой, в двух словах - сравнение символов из размеченного множества (проще говоря - символов решенных капч) с символами решаемой в данный момент капчи.
Чему вы научитесь?
- Основам работы с изображениями на примере капчи
- Простейшему машинному обучению
Какие начальные требования?
- Желание научиться распознавать объекты на изображениях (в частности надписи)
- Знание Python (если есть желание, другой популярный язык)
Какие будут использоваться технологии?
Python, библиотека PIL (или любой другой популярный язык)
Темы вводных занятий
- Работа с изображениями в PIL. Простейшее разделение символов, векторная модель символа.
- Сбор данных, тестовый и обучающий наборы данных. Обучение алгоритма.
Направления развития
- Распознавать надписи с картинок (например, с фотографий), где запечатлена область с текстом без посторонних предметов
- Распознавать капчи с различными перемещениями букв, когда буквы повернуты на какой-то угол или находятся на разной высоте
- Определение пространственной деформации изображения (применяется для искажения букв)
- Определение трехмерных надписей (выпуклая поверхность)
Критерии оценки
4-5: Распознавание 80% символов с картинки, где написаны символы одним шрифтом, без искажений с разным цветом фона и букв.
6-7: Распознавание 80% символов с картинки, где символы написаны одним шрифтом с поворотом, на разной высоте, с разным цветом фона и букв.
8-10: + одно из направлений развития отличное от использованного для оценки "6-7".