пятница, 2 апреля 2010 г.

Взлом Captcha - РАСПОЗНАВАНИЕ

Теперь задача сводится к распознаванию каждой отдельной цифры. Даже на «удачных» образцах с низкой зашумленностью цифры все равно в большинстве случаев перекрываются линиями, что не позволит нам просто сравнивать их с шаблонами.

Классический инструмент для распознавания текста — искусственные нейронные сети, которые мы и будем использовать. Искусственная нейронная сеть представляет собой математическую модель нейронной сети головного мозга человека (или животного).

Нейросеть состоит из простейших элементов — нейронов. Нейроны связаны между собой, по этим связям проходят сигналы — числа от 0 до 1. Каждый нейрон выполняет несложную математическую операцию: на основе поступающих от других нейронов сигналов и их весов вычисляется выходной сигнал текущего нейрона.

Веса связей между нейронами являются параметрами, которые определяют работу нейронной сети. Нейроны группируются в последовательность слоев (feedforward сети), входной сигнал (условия задачи) поступает на первый слой и последовательно проходит все слои до последнего (решение). Обучение нейронной сети может происходить с учителем (набором уже решенных задач! или без него (например, на основе реакции среды).

Обучение с учителем происходит путем последовательного выполнения нейронной сети на уже решенных задачах и сравнения получившегося результата с ответом: если ответ не совпадает, производится коррекция весов связей. С математической точки зрения нейронная сеть в целом — это «черный ящик».

Процессы, происходящие внутри нейросети, очень трудно поддаются математическому анализу, поэтому для прикладных целей нейросеть достаточно рассматривать как некоторую систему, способную находить закономерности в некоторых наборах данных. Самостоятельно реализовывать нейронные сети для такой задачи дело неблагодарное, поэтому мы воспользуемся бесплатной библиотекой Fast Artificial Neural Network (www.leenissen.dk/fann).

Эта библиотека хороша тем, что имеет интерфейсы практически для всех популярных языков программирования и требует минимального опыта работы с нейросе-тями. Для использования достаточно нескольких функций:

Комментариев нет:

Отправить комментарий

Популярные сообщения