У каждого из нас, само собой разумеется, есть богатейший опыт распознавания капч. Капчи бывают разные — всевозможные логические («кликните на синий кружочек», «на каких картинках изображены котята?» и так далее), звуковые, есть даже капчи, предлагающие выбрать самую красивую фотографию. Но самыми распространенными на сегодняшний день остаются капчи с искаженным изображением букв и/или цифр. На этой неделе мы узнаем, как написать программу (понятное дело, на Haskell), автоматически распознающую одну из таких капч, притом не самую заурядную.
Данная серия постов состоит из пяти частей, по одной на день недели:
- Астрологи объявили неделю взлома капчи (вы находитесь здесь);
- Сбор данных и их предварительный анализ ;
- Вычищаем мусор и нарезаем капчу на буквы ;
- Распознавание символов при помощи многослойной нейронной сети ;
- Полученные результаты и сделанные выводы ;
То есть, этот пост представляет собой оглавление. Завтра, во вторник, будет опубликован пост «Сбор данных и их предварительный анализ», в среду — «Вычищаем мусор и нарезаем капчу на буквы» и так далее. По мере публикации этих частей ссылки на них будут добавляться в данный пост.
Хочу особо отметить , что графические капчи с искаженными буквами и цифрами прекрасно ломаются при помощи сервисов типа Antigate . Но это не спортивно и стоит небольших, но все-таки денег. Предполагается, что мы здесь с вами интересуемся решением интересных задачек, а не рассылкой спама.
Тем временем вы можете подготовиться к подаче материала, перечитав мои заметки о многослойных нейронных сетях и генетических алгоритмах , а также освежив свои знания Haskell, например, при помощи замечательной книжки Learn You a Haskell for Great Good . Если что, в интернетах давно выложена пиратская PDF’ка русского перевода этой книги. Но я вас ни к чему такому не призываю, скорее напротив — осознайте, что книга классная и сходите купите ее . Еще вы можете ознакомиться с моей реализацией капчи на Python, которую, как мне кажется, довольно сложно сломать.
В комментариях же я предлагаю обсудить, что вам известно о взломе капч. Какими способами на ваш взгляд можно усложнить автоматическое распознавание капчи? Быть может, у кого-нибудь из читателей есть в этом опыт, тогда какими методами вы решали данную задачу? В общем, сабж.