Категория: Windows
Привет! Хочешь стать одним из нас? Определись
Если ты уже один из нас, то вход тут .
Плавные композиции, типа "Колыбельной" Брамса заставляют акул впадать в транс.
Ответ (выделите мышкой): Пять лошадей на фоне снежных гор.
Интересная задумка режиссера, которую вряд ли кто заметил.
Череп или отражение девушки в зеркале?
Мауриц Эшер. День и ночь
Найди 7 лошадей на картине.
Найдите на картинке семь сердец
На картинке изображено 8 фей. Найдите их.
Найди на картинке 21 (!) лошадь
Хотя, возможно, это дед мороз :)
На картинке скрыто 9 койотов. Найди их все.
Отражение в воде лебедей - слоны. Классическая иллюзия Сальвадора Дали
Найди на картинке 11 сов
Сколько лиц вы насчитали?
Видите лицо одного тигра или двух тигров, спускающихся с холмов?
Увеличивайте расстояние от таблицы, до тех пор пока она не станет читаемой.
Сколько лошадей Вы насчитали на картинке?
Большинство из нас (просто потому, что нас большинство) увидет любовников, женщину и обнимающего ее сзади мужчину. Такие мы, наше сознание уже искривлено увиденным в жизни или на фотографии. Другое дело дети, они еще чисты и совершенно невинны, для них нет ничего…
Распознавание — образов Оптическое распознавание символов Распознавание рукописного ввода Распознавание речи … Википедия
распознавание — опознавание, признание, опознание, различение, определение, отождествление; распознание, разнюхивание, щупанье, измерение, щупка, угадывание, узнавание, разбирание, щупание, диагностирование, аутентификация, отличие, идентификация, отличение,… … Словарь синонимов
РАСПОЗНАВАНИЕ — РАСПОЗНАВАНИЕ, распознавания, мн. нет, ср. (книжн.). Действие по гл. распознавать. || Постановка диагноза (мед.). Наука о распознавании болезней называется диагностикой. Толковый словарь Ушакова. Д.Н. Ушаков. 1935 1940 … Толковый словарь Ушакова
РАСПОЗНАВАНИЕ — англ. recognition; нем. Erkennung. 1. Узнавание ч. л. или к. л. по известным признакам. 2. Установление принадлежности данного элемента к определенному множеству по известному алгоритму. 3. Формирование образа при восприятии сигнала в… … Энциклопедия социологии
распознавание — опознавание — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы опознавание EN recognition … Справочник технического переводчика
распознавание — atpazinimas statusas T sritis automatika atitikmenys: angl. identification; recognition; sensing vok. Erkennung, f; Identifizierung, f; Kennung, f rus. идентификация, f; опознавание, n; распознавание, n pranc. identification, f; reconnaissance, f … Automatikos terminu zodynas
распознавание — atpazinimas statusas T sritis Standartizacija ir metrologija apibreztis Medziagos arba cheminio elemento buvimo meginyje arba tyrinyje patvirtinimas. atitikmenys: angl. identification; recognition vok. Erkennung, f; Identifizierung, f rus.… … Penkiakalbis aiskinamasis metrologijos terminu zodynas
распознавание — atpazinimas statusas T sritis Standartizacija ir metrologija apibreztis Objekto tapatumo nustatymas. atitikmenys: angl. identification; recognition vok. Erkennung, f; Identifizierung, f rus. идентификация, f; опознавание, n; распознавание, n… … Penkiakalbis aiskinamasis metrologijos terminu zodynas
распознавание — atpazinimas statusas T sritis chemija apibreztis Medziagos arba cheminio elemento buvimo meginyje patvirtinimas. atitikmenys: angl. identification rus. идентификация; опознование; распознавание … Chemijos terminu aiskinamasis zodynas
распознавание — atpazinimas statusas T sritis fizika atitikmenys: angl. identification vok. Identifikation, f; Identifizierung, f rus. идентификация, f; отождествление, n; распознавание, n pranc. identification, f … Fizikos terminu zodynas
КнигиС задачей распознавания образов живые системы, в том числе и человек, сталкиваются постоянно с момента своего появления. В частности, информация, поступающая с органов чувств, обрабатывается мозгом, который в свою очередь сортирует информацию, обеспечивает принятие решения, а далее с помощью электрохимических импульсов передает необходимый сигнал далее, например, органам движения, которые реализуют необходимые действия. Затем происходит изменение окружающей обстановки, и вышеуказанные явления происходят заново. И если разобраться, то каждый этап сопровождается распознаванием.
ВведениеС развитием вычислительной техники стало возможным решить ряд задач, возникающих в процессе жизнедеятельности, облегчить, ускорить, повысить качество результата. К примеру, работа различных систем жизнеобеспечения, взаимодействие человека с компьютером, появление роботизированных систем и др. Тем не менее, отметим, что обеспечить удовлетворительный результат в некоторых задачах (распознавание быстродвижущихся подобных объектов, рукописного текста) в настоящее время не удается. Таким образом, в этой статье предлагается обсудить методы и принципы, применяемые в вычислительной технике для выполнения поставленной задачи.
История возникновения искусственных систем автоматического распознавания и их реализацииДостаточно долгое время задача распознавания рассматривалась человеком со стороны биологического и психологического аспектов. При этом изучению подвергались лишь качественные характеристики, которые не позволяли точно описать механизм функционирования. Получение функциональных зависимостей было, как правило, связано с исследованием рецепторов органов слуха, осязания или зрения. Однако принципы формирования решения оставались загадкой. Считается, что основным заблуждением на заре исследования было мнение о том, что мозг функционирует по определенным алгоритмам, а следовательно, выяснив эту систему правил, можно ее воссоздать с помощью постоянно развивающихся вычислительных и технических средств.
Основанная Норбертом Винером в начале XX века новая наука, получившая название кибернетика (наука об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и обществе), позволила в исследование вопроса распознавания образов ввести количественные методы. Другими словами, представить процесс распознавания образов (по сути - природное явление) математическими методами.
Отметим, что в процессе жизнедеятельности человека число принимаемых им решений конечно, но, в то же время, количество определяющих факторов может быть бесконечным. В качестве простого примера приведем следующий. На улице может идти дождь: проливной, моросящий, другими словами, различной силы, однако человек может принять лишь два решения - брать ему зонт или нет.
Количество возможных решений зависит от жизненного опыта. Поэтому автоматизация ряда процессов предполагает под собой конструирование автоматических устройств, способных реагировать на множество изменяющихся характеристик внешней среды каким-то определенным количеством удовлетворительных для человека реакций. Это означает реализацию главных особенностей принципов распознавания, заложенных природой, обеспечение реагирования на совокупность изменений.
Создание устройств, выполняющих функции распознавания различных объектов, в большинстве случаев обеспечивает возможность замены человека специализированным автоматом. Благодаря этому, значительно расширяются возможности сложных систем, выполняющих различные информационные, логические, аналитические задачи. Следует отметить, что качество работ, выполняемых человеком на рабочем месте, зависит от многих факторов (квалификации, опыта, добросовестности и т. д.). В то же время исправный автомат действует однообразно и обеспечивает всегда одинаковое качество. Автоматический контроль сложных систем позволяет вести мониторинг и обеспечивать своевременное обслуживание, идентификацию помех и автоматическое применение соответствующих методов шумоподавления, позволяет повысить качество передачи информации. Также понятно, что использование автоматических систем в ряде задач может обеспечить невозможное для человека быстродействие.
Подытожив вышеописанное, отметим основные причины замены человеческого участия в задачах распознавания:
- освобождение человека от однообразных операций для решения других более важных задач;
- повышение качества и скорости принимаемых решений.
В течение достаточно продолжительного времени проблема распознавания привлекает внимание специалистов в области прикладной математики, а затем и информатики. Так, в частности, на сайте http://www2.cs.kspu.ru отмечают работы Р. Фишера, выполненные в 20-х годах и приведшие к формированию дискриминантного анализа как одного из разделов теории и практики распознавания. В 40-х годах А. Н. Колмогоровым и А. Я. Хинчиным поставлена задача о разделении смеси двух распределений.
В 50-60-е годы ХХ века на основе массы работ появилась теория статистических решений. В результате этого появления найдены алгоритмы, обеспечивающие отнесение нового объекта к одному из заданных классов, что явилось началом планомерного научного поиска и практических разработок. В рамках кибернетики начало формироваться новое научное направление, связанное с разработкой теоретических основ и практической реализации устройств, а затем и систем, предназначенных для распознавания объектов, явлений, процессов. Новая научная дисциплина получила название "Распознавание образов".
Таким образом, базой для решения задач отнесения объектов к тому или иному классу послужили, как это отмечается сегодня, результаты классической теории статистических решений. В ее рамках строились алгоритмы, обеспечивающие на основе экспериментальных измерений параметров (признаков), характеризующих этот объект, а также некоторых априорных данных, описывающих классы, определение конкретного класса, к которому может быть отнесен распознаваемый объект.
В последующем математический аппарат теории распознавания расширился за счет применения:
- разделов прикладной математики; теории информации;
- методов алгебры логики;
- математического программирования и системотехники.
И к середине 70-х годов определился облик распознавания как самостоятельного научного направления, появилась возможность создания нормальной математической теории распознавания.
ОпределенияПрежде, чем приступить к основным методам распознавания образов, приведем несколько необходимых определений.
Распознавание образов (объектов, сигналов, ситуаций, явлений или процессов) - задача идентификации объекта или определения каких-либо его свойств по его изображению (оптическое распознавание) или аудиозаписи (акустическое распознавание) и другим характеристикам.
Одним из базовых является не имеющее конкретной формулировки понятие множества. В компьютере множество представляется набором неповторяющихся однотипных элементов. Слово "неповторяющихся" означает, что какой-то элемент в множестве либо есть, либо его там нет. Универсальное множество включает все возможные для решаемой задачи элементы, пустое не содержит ни одного.
Образ - классификационная группировка в системе классификации, объединяющая (выделяющая) определенную группу объектов по некоторому признаку. Образы обладают характерным свойством, проявляющимся в том, что ознакомление с конечным числом явлений из одного и того же множества дает возможность узнавать сколь угодно большое число его представителей. Образы обладают характерными объективными свойствами в том смысле, что разные люди, обучающиеся на различном материале наблюдений, большей частью одинаково и независимо друг от друга классифицируют одни и те же объекты. В классической постановке задачи распознавания универсальное множество разбивается на части-образы. Каждое отображение какого-либо объекта на воспринимающие органы распознающей системы, независимо от его положения относительно этих органов, принято называть изображением объекта, а множества таких изображений, объединенные какими-либо общими свойствами, представляют собой образы (более подробно можно ознакомиться на сайте http://www.codenet.ru ).
Методика отнесения элемента к какому-либо образу называется решающим правилом. Еще одно важное понятие - метрика, способ определения расстояния между элементами универсального множества. Чем меньше это расстояние, тем более похожими являются объекты (символы, звуки и др.) - то, что мы распознаем. Обычно элементы задаются в виде набора чисел, а метрика - в виде функции. От выбора представления образов и реализации метрики зависит эффективность программы, один алгоритм распознавания с разными метриками будет ошибаться с разной частотой.
Обучением обычно называют процесс выработки в некоторой системе той или иной реакции на группы внешних идентичных сигналов путем многократного воздействия на систему внешней корректировки. Такую внешнюю корректировку в обучении принято называть "поощрениями" и "наказаниями". Механизм генерации этой корректировки практически полностью определяет алгоритм обучения. Самообучение отличается от обучения тем, что здесь дополнительная информация о верности реакции системе не сообщается.
Адаптация - это процесс изменения параметров и структуры системы, а возможно - и управляющих воздействий, на основе текущей информации с целью достижения определенного состояния системы при начальной неопределенности и изменяющихся условиях работы.
Обучение - это процесс, в результате которого система постепенно приобретает способность отвечать нужными реакциями на определенные совокупности внешних воздействий, а адаптация - это подстройка параметров и структуры системы с целью достижения требуемого качества управления в условиях непрерывных изменений внешних условий.
Примеры задач распознавания образов:
- Распознавание букв;
- Распознавание штрих-кодов;
- Распознавание автомобильных номеров;
- Распознавание лиц и других биометрических данных;
- Распознавание речи.
В целом, можно выделить три метода распознавания образов:
Метод перебора. В этом случае производится сравнение с базой данных, где для каждого вида объектов представлены всевозможные модификации отображения. Например, для оптического распознавания образов можно применить метод перебора вида объекта под различными углами, масштабами, смещениями, деформациями и т. д. Для букв нужно перебирать шрифт, свойства шрифта и т. д. В случае распознавания звуковых образов, соответственно, происходит сравнение с некоторыми известными шаблонами (например, слово, произнесенное несколькими людьми).
Второй подход - производится более глубокий анализ характеристик образа. В случае оптического распознавания это может быть определение различных геометрических характеристик. Звуковой образец в этом случае подвергается частотному, амплитудному анализу и т. д.
Следующий метод - использование искусственных нейронных сетей (ИНС). Этот метод требует либо большого количества примеров задачи распознавания при обучении, либо специальной структуры нейронной сети, учитывающей специфику данной задачи. Тем не менее, его отличает более высокая эффективность и производительность. Подробно нейронные сети мы рассматривали в "КИ" N 15, 16, 17 за 2005 г.
Общая характеристика задач распознавания образов и их типыОбщая структура системы распознавания и этапы в процессе ее разработки показаны на рис. 1.
(Рис. 1. Структура системы распознавания)
Задачи распознавания имеют следующие характерные черты.
Это информационные задачи, состоящие из двух этапов:
- преобразование исходных данных к виду, удобному для распознавания;
- собственно распознавание (указание принадлежности объекта определенному классу).
В этих задачах можно вводить понятие аналогии или подобия объектов и формулировать правила, на основании которых объект зачисляется в один и тот же класс или в разные классы.
В этих задачах можно оперировать набором прецедентов-примеров, классификация которых известна и которые в виде формализованных описаний могут быть предъявлены алгоритму распознавания для настройки на задачу в процессе обучения.
Для этих задач трудно строить формальные теории и применять классические математические методы (часто недоступна информация для точной математической модели или выигрыш от использования модели и математических методов несоизмерим с затратами).
Выделяют следующие типы задач распознавания:
- Задача распознавания - отнесение предъявленного объекта по его описанию к одному из заданных классов (обучение с учителем);
- Задача автоматической классификации - разбиение множества объектов, ситуаций, явлений по их описаниям на систему непересекающихся классов (таксономия, кластерный анализ, самообучение);
- Задача выбора информативного набора признаков при распознавании;
- Задача приведения исходных данных к виду, удобному для распознавания;
- Динамическое распознавание и динамическая классификация - задачи 1 и 2 для динамических объектов;
- Задача прогнозирования - суть предыдущий тип, в котором решение должно относиться к некоторому моменту в будущем.
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru
Привет все пользователям ХэшКода.
Очень заинтересовался,недавно, работой таких систем, как распознавание речи) Штука оочень сложная,но в то же и интересная.
Всегда задавался вопросом,когда нажимал на микрофончик от компании гуглъ,какой путь проходит наш голос от нажатия,собс, на микрофончик,до появления текста в строке)
Возможно вы скажите: Да нет, это уж слишком.
Но тема действительно интересная. Так как работаю я в основном с языком - Java,то и экспериментировать буду с ним)
Полной информации по этой теме мало,но кое что есть:
1) http://habrahabr.ru/company/yandex/blog/198556/ - Статья от яндекса,как устроен Yandex.SpeechKit Сюда можно добавить все статьи с пометкой распознавание речи)
2) http://cmusphinx.sourceforge.net/sphinx4/ - Sphinx-4Достаточно интересная библиотека, написанная как раз на Java
4) http://habrahabr.ru/post/64572/ - Распознавание речи. Часть 1. Классификация систем распознавания речи (статья с хабра,довольно интересно почитать,точнее цикл статей))
5) http://habrahabr.ru/post/64594/ - Распознавание речи. Часть 2. Типичная структура системы распознавания речи (цикл статей,продолжение,взято с хабра)
6) http://habrahabr.ru/post/64681/ - Распознавание речи. Часть 3. Голосовой тракт, слуховой тракт (последняя статья из цикла)
7)Дискретное преобразование Фурье - статья из википедии,достаточно интересная
9)Стоит почитать( на титл страницы не обращайте внимания) http://www.frolov-lib.ru/books/hi/index.html - Синтез и распознавание речи. Современные решения
Недавно посмотрел лекции некоего Малого ШАД,а было бы интересно увидеть материалы по данной тематике) Как раз на примере Яндекс SpeechKit .
Для начала сойдет)
(Предлагайте свои ссылки в ответах/комментариях)
Итак,зачем же я создал этот вопрос,как все же устроены эти системы?
Примерно представление у меня такое: Записывается звук - > Анализируется. составляется его спектр, с помощью некоего алгоритма дискретно косинусного преобразования мы получаем некий вектор MFCC,вообщем раскладываем/анализируем звук и сравниваем полученный анализ с неким словарем))
Вообщем предлагайте свои задумки по данной тематике) Может кто то "баловался" и хотел писать что то подобное)
Конечно,можно с легкостью написать код,который будет соединяться с серверами гугла и выдавать текст,но ведь это не так интересно)
Заранее благодарю! Да прибудет с нами сила звука!
Некий концепт уже мне понятен,осталось сформировать его и выложить здесь)
Обновил,добавил пару ссылок
Материал из Техническое зрение
Задача распознавания текстовой информации при переводе печатного и рукописного текста в электронную форму является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедрение безбумажных технологий. Вместе с тем эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Даже человек, читающий рукописный текст, в отрыве от контекста, делает в среднем около $4$<\%> ошибок. Между тем, в наиболее ответственных приложениях OCR необходимо обеспечивать более высокую надежность распознавания (свыше 99<\%>) даже при плохом качестве печати и оцифровки исходного текста.
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как например, FineReader, которые удовлетворяют основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача.
Содержание Типовые проблемы, связанные с распознаванием символов.Имеется ряд существенных проблем, связанных с распознаванием рукописных и печатных символов. Наиболее важные из них следующие:
Каждый отдельный символ может быть написан различными стандартными шрифтами, например (Times, Gothic, Elite, Courier, Orator), а также - множеством нестандартных шрифтов, используемых в различных предметных областях. При этом различные символы могут обладать сходными очертаниями. Например, "U" и "V", "S" и "5", "Z" и "2", "G" и "6".
Искажения цифровых изображений текстовых символов могут быть вызваны:
Существенным является и влияние исходного масштаба печати. В принятой терминологии масштаб $10$, $12$ или $17$ означает, что в дюйме строки помещаются $10$, $12$ или $17$ символов. При этом, например, символы масштаба $10$ обычно крупнее и шире символа масштаба $12$.
Система оптического распознавания текста (OCR), должна выделять на цифровом изображении текстовые области, выделять в них отдельные строки, затем - отдельные символы, распознавать эти символы и при этом быть нечувствительной (устойчивой) по отношению к способу верстки, расстоянию между строками и другим параметрам печати.
Структура систем оптического распознавания текстов.Системы OCR состоят из следующих основных блоков, предполагающих аппаратную или программную реализацию:
Эти алгоритмические блоки соответствуют последовательным шагам обработки и анализа изображений, выполняемым последовательно.
Сначала осуществляется выделение $\textit<текстовых областей, строк>$ и разбиение связных текстовых строк на отдельные $\textit<знакоместа>$, каждое из которых соответствует одному текстовому символу.
После разбиения (а иногда до или в процессе разбиения) символы, представленные в виде двумерных матриц пикселов, подвергаются сглаживанию, фильтрации с целью устранения шумов, нормализации размера, а также другим преобразованиям с целью выделения образующих элементов или численных признаков, используемых впоследствии для их распознавания.
Распознавание символов происходит в процессе сравнения выделенных характерных признаков с эталонными наборами и структурами признаков, формируемыми и запоминаемыми в процессе обучения системы на эталонных и/или реальных примерах текстовых символов.
На завершающем этапе смысловая или контекстная информация может быть использована как для разрешения неопределенностей, возникающих при распознавании отдельных символов, обладающих идентичными размерами, так и для корректировки ошибочно считанных слов и даже фраз в целом.
Методы предобработки и сегментации изображений текстовых символов.Предобработка является важным этапом в процессе распознавания символов и позволяет производить сглаживание, нормализацию, сегментацию и аппроксимацию отрезков линий.
Под $\textit<сглаживанием>$ в данном случае понимается большая группа процедур обработки изображений, многие из которых были рассмотрены в главе $3$ данной книги. В частности, широко используются морфологические операторы $\textit<заполнения>$ и $\textit<утончения>$. $\textit<Заполнение>$ устраняет небольшие разрывы и пробелы. $\textit<Утончение>$представляет собой процесс уменьшения толщины линии, в которой на каждом шаге области размером в несколько пикселов ставится в соответствие только один пиксел "утонченной линии". Морфологический способ реализации подобных операций на базе операторов расширения и сжатия Серра был описан в главе $3.2$.
Там же описан и специальный алгоритм бинарной фильтрации изображений текстовых символов, получивший название $\textit<стирание бахромы>$. Под "бахромой" здесь понимаются неровности границ символа, которые мешают, во-первых, правильно определить его размеры, а во-вторых, искажают образ символа и мешают его дальнейшему распознаванию по контурному признаку.
$\textit<Геометрическая нормализация>$ изображений документов подразумевает использование алгоритмов, устраняющих наклоны и перекосы отдельных символов, слов или строк, а также включает в себя процедуры, осуществляющие нормализацию символов по высоте и ширине после соответствующей их обработки.
Процедуры $\textit<сегментации>$ осуществляют разбиение изображения документа на отдельные области. Как правило, прежде всего необходимо отделить печатный текст от графики и рукописных пометок. Далее большинство алгоритмов оптического распознавания разделяют текст на символы и распознают их по отдельности. Это простое решение действительно наиболее эффективно, если только символы текста не перекрывают друг друга. Слияние символов может быть вызвано типом шрифта, которым был набран текст, плохим разрешением печатающего устройства или высоким уровнем яркости, выбранным для восстановления разорванных символов.
Дополнительное разбиение текстовых областей и строк на $\textit<слова>$ целесообразно в том случае, если слово является состоятельным объектом, в соответствии с которым выполняется распознавание текста. Подобный подход, при котором единицей распознавания является не отдельный символ, а целое слово, сложно реализовывать из-за большого числа элементов, подлежащих запоминанию и распознаванию, но он может быть полезен и весьма эффективен в конкретных частных случаях, когда набор слов в кодовом словаре существенно ограничен по условию задачи.
Под $\textit<аппроксимацией отрезков линий>$ понимают составление графа описания символа в виде набора вершин и прямых ребер, которые непосредственно аппроксимируют цепочки пикселов исходного изображения. Данная аппроксимация осуществляется для уменьшения объема данных и может использоваться при распознавании, основанном на выделении признаков, описывающих геометрию и топологию изображения.
Признаки символов, используемые для автоматического распознавания текста.Считается, что выделение признаков является одной из наиболее трудных и важных задач в распознавании образов. Для распознавания символов может быть использовано большое количество различных систем признаков. Проблема заключается в том, чтобы выделить именно те признаки, которые позволят эффективно отличать один класс символов от всех остальных в данной конкретной задаче.
Ниже описан ряд основных методов распознавания символов и соответствующих им типов признаков, вычисляемых на основе цифрового изображения.
Сопоставление изображений и шаблонов.Эта группа методов основана на непосредственном сравнении изображений тестового и эталонного символов. При этом вычисляется $\textit<степень сходства>$ между образом и каждым из эталонов. Классификация тестируемого изображения символа происходит по методу ближайшего соседа. Ранее мы уже рассматривали методы сравнения изображений в разделе 4.2, а именно - методы корреляции и согласованной фильтрации изображений.
С практической точки зрения эти методы легко реализовать, и многие коммерческие системы OCR используют именно их. Однако при "лобовой" реализации корреляционных методов даже небольшое темное пятнышко, попавшее на внешний контур символа, может существенно повлиять на результат распознавания. Поэтому для достижения хорошего качества распознавания в системах, использующих сопоставление шаблонов, применяются другие, специальные способы сравнения изображений.
Одна из основных модификаций алгоритма сравнения шаблонов использует представление шаблонов в виде набора логических правил. Например, символ
может быть распознан как "ноль", если: (не менее $5$ символов "a" являются "1" или не менее $4$ символов $\text<"e"> = \text<"1">$) И (не менее $5$ символов "b" являются "1" или не менее $4$ символов $\text<"f"> = \text<"1">$) И (не менее $5$ символов "c" являются "1" или не менее $4$ символов $\text<"g"> = \text<"1">$) И (не менее $5$ символов "d" являются "1" или не менее $4$ символов $\text<"h"> = \text<"1">$) И (по крайней мере $3$ символа "i" являются "0") И (по крайней мере $3$ символа "j" являются "0").
Статистические характеристики.В данной группе методов выделение признаков осуществляется на основе анализа различных по статистических распределений точек. Наиболее известные методики этой группы используют $\textit<вычисление моментов>$ $\textit<и подсчет пересечений>$.
$\textit<Моменты различных порядков>$ с успехом используются в самых различных областях машинного зрения в качестве дескрипторов формы выделенных областей и объектов (см. раздел 4.1). В случае распознавания текстовых символов в качестве набора признаков используют значения моментов совокупности "черных" точек относительно некоторого выбранного центра. Наиболее общеупотребительными в приложениях такого рода являются построчные, центральные и нормированные моменты.
Для цифрового изображения, хранящегося в двумерном массиве, $\textit<построчные моменты>$ являются функциями координат каждой точки изображения следующего вида: $$ m_$\textit<Нормированные центральные моменты>$ получаются в результате деления центральных моментов на моменты нулевого порядка.
Следует отметить, что строковые моменты, как правило, обеспечивают более низкий уровень распознавания. Центральные и нормированные моменты более предпочтительны вследствие их большей инвариантности к преобразованиям изображений.
В $\textit<методе пересечений>$ признаки формируются путем подсчета того, сколько раз и каким образом произошло пересечение изображения символа с выбранными прямыми, проводимыми под определенными углами. Этот метод часто используется в коммерческих системах благодаря тому, что он инвариантен к дисторсии и небольшим стилистическим вариациям написания символов, а также обладает достаточно высокой скоростью и не требует высоких вычислительных затрат. На рис. 1 показано эталонное изображение символа $R$, система секущих прямых, а также вектор расстояний до эталонных векторов. На рис. 2 представлен пример реального изображения
Пример формирования набора пересечений для эталонного изображения символа $R$
Пример формирования набора пересечений для реального изображения символа $R$
Пример формирования зонного описания для эталонного изображения символа $R$
Пример формирования зонного описания для реального изображения символа $R$; $K = 0<,>387$
символа $R$. Цветом (см. цветную вклейку) также помечена строка, соответствующая ближайшему соседу.
$\textit<Метод зон>$ предполагает разделение площади рамки, объемлющий символ, на области и последующее использование плотностей точек в различных областях в качестве набора характерных признаков. На рис. 3 показано эталонное изображение символа $R$, а на рис. 4 - реальное изображение символа $R$, полученное путем сканирования изображения документа. На обоих изображениях приводятся разбиение на зоны, пиксельные веса каждой зоны, а также вектор расстояний до эталонных векторов эталонных символов. Цветом помечена строка, соответствующая найденному ближайшему соседу.
В методе $\textit<матриц смежности>$ в качестве признаков рассматриваются частоты совместной встречаемости "черных" и "белых" элементов в различных геометрических комбинациях. Метод $\textit<характеристических мест>$ (characteristic-loci) использует в качестве признака число раз, которое вертикальный и горизонтальный векторы пересекают отрезки линий для каждой светлой точки в области фона символа.
Существует также множество других методов данной группы.
Интегральные преобразования.Среди современных технологий распознавания, основанных на преобразованиях, выделяются методы, использующие Фурье-дескрипторы символов, а также частотные дескрипторы границ.
Преимущества методов, использующих преобразования Фурье - Меллина, связаны с тем, что они обладают инвариантностью к масштабированию, вращению и сдвигу символа. Основной недостаток этих методов заключается в нечувствительности к резким скачкам яркости на границах, к примеру, по спектру пространственных частот сложно отличить символ "O" от символа "Q" и т. п. В то же время, при фильтрации шума на границах символа, это свойство может оказаться полезным.
Анализ структурных составляющих.Структурные признаки обычно используются для выделения общей структуры образа. Они описывают геометрические и топологические свойства символа. Проще всего представить идею структурного распознавания символа текста применительно к задаче автоматического считывания почтовых индексов. В таких "трафаретных" шрифтах положение каждого возможного отрезка-штриха заранее известно, и один символ отличается от другого не менее чем наличием или отсутствием целого штриха. Аналогичная задача возникает и в случае контроля простых жидкокристаллических индикаторов. В таких системах выделение структурных составляющих сводится к анализу элементов заранее известного трафарета (набора отрезков, подлежащих обнаружению).
В системах структурного распознавания более сложных шрифтов часто используемыми признаками также являются штрихи, применяемые для определения следующих характерных особенностей изображения: $\textit<концевых точек>$, $\textit<точек пересечения отрезков>$, $\textit<замкнутых циклов>$, а также их положения относительно рамки, объемлющей символ. Рассмотрим, например, следующий способ структурного описания символа. Пусть матрица, содержащая утонченный символ, разделена на девять прямоугольных областей (в виде сетки $33$), каждой из которых присвоен буквенный код от "A" до "I". Символ рассматривается как набор штрихов. При этом штрих, соединяющий некоторые две точки в начертании символа, может являться линией (L) или кривой (C). Штрих считается $\textit<отрезком (дугой)>$ $\textit<кривой>$, если его точки удовлетворяют следующему выражению $$ \left| \frac <1>
Основное достоинство структурных методов распознавания определятся их устойчивостью к сдвигу, масштабированию и повороту символа на небольшой угол, а также - к возможным дисторсиям и различным стилевым вариациям и небольшим искажениям шрифтов.
Классификация символов.В существующих системах OCR используются разнообразные алгоритмы $\textit<классификации>$, то есть отнесения признаков к различным классам. Они существенно различаются в зависимости от принятых наборов признаков и применяемой по отношению к ним стратегии классификации.
Для признаковой классификации символов необходимо, в первую очередь, сформировать набор эталонных векторов признаков по каждому из распознаваемых символов. Для этого на стадии $\textit<обучения>$ оператор или разработчик вводит в систему OCR большое количество образцов начертания символов, сопровождаемых указанием значения символа. Для каждого образца система выделяет признаки и сохраняет их в виде соответствующего $\textit<вектора признаков>$. Набор векторов признаков, описывающих символ, называется $\textit<классом>$, или $\textit<кластером>$.
В процессе эксплуатации системы OCR может появиться необходимость расширить сформированную ранее базу знаний. В связи с этим некоторые системы обладают возможностью $\textit<дообучения>$ в реальном режиме времени.
Задачей собственно $\textit<процедуры классификации>$ или $\textit<распознавания>$, выполняемой в момент предъявления системе тестового изображения символа, является определение того, к какому из ранее сформированных классов принадлежит вектор признаков, полученный для данного символа. Алгоритмы классификации основаны на определении степени близости набора признаков рассматриваемого символа к каждому из классов. Правдоподобие получаемого результата зависит от выбранной метрики пространства признаков. Наиболее известной метрикой признакового пространства является традиционное Евклидово расстояние
$$ D_j^E = \sqrt<\sum\limits_^N <(F_
При классификации по методу $\textit<ближайшего соседа>$ символ будет отнесен к классу, вектор признаков которого наиболее близок к вектору признаков тестируемого символа. Следует учитывать, что затраты на вычисления в таких системах возрастают с увеличением количества используемых признаков и классов.
Одна из методик, позволяющих улучшить метрику сходства, основана на статистическом анализе эталонного набора признаков. При этом в процессе классификации более надежным признакам отдается больший приоритет: $$ D_j^E =\sqrt<\sum\limits_^N
где $w_$ - вес $i$-го признака.
Другая методика классификации, требующая знания априорной информации о вероятностной модели текста, основана на использовании формулы Байеса. Из правила Байеса следует, что рассматриваемый вектор признаков принадлежит классу "$j$", если отношение правдоподобия $\lambda $ больше, чем отношение априорной вероятности класса $j$ к априорной вероятности класса $i$.
Постобработка результатов распознавания.В ответственных системах OCR качество распознавания, получаемое при распознавании отдельных символов, не считается достаточным. В таких системах необходимо использовать также контекстную информацию. Использование контекстной информации позволяет не только находить ошибки, но и исправлять их.
Существует большое колличество приложений OCR, использующих глобальные и локальные позиционные диаграммы, триграммы, $n$-граммы, словари и различные сочетания всех этих методов. Рассмотрим два подхода к решению этой задачи: $\textit<словарь>$ и $\textit<набор бинарных матриц>$, аппроксимирующих структуру словаря.
Доказано, что словарные методы являются одними из наиболее эффективных при определении и исправлении ошибок классификации отдельных символов. При этом после распознавания всех символов некоторого слова словарь просматривается в поисках этого слова, с учетом того, что оно, возможно, содержит ошибку. Если слово найдено в словаре, это не говорит об отсутствии ошибок. Ошибка может превратить одно слово, находящееся в словаре, в другое, также входящее в словарь. Такая ошибка не может быть обнаружена без использования смысловой контекстной информации: только она может подтвердить правильность написания. Если слово в словаре отсутствует, считается, что в слове допущена ошибка распознавания. Для исправления ошибки прибегают к замене такого слова на наиболее похожее слово из словаря. Исправление не производится, если в словаре найдено несколько подходящих кандидатур для замены. В этом случае интерфейс некоторых систем позволяет показать слово пользователю и предложить различные варианты решения, например, исправить ошибку, игнорировать ее и продолжать работу или внести это слово в словарь. Главный недостаток в использовании словаря заключается в том, что операции поиска и сравнения, применяющиеся для исправления ошибок, требуют значительных вычислительных затрат, возрастающих с увеличением объема словаря.
Некоторые разработчики с целью преодоления трудностей, связанных с использованием словаря, пытаются выделять информацию о структуре слова из самого слова. Такая информация говорит о степени правдоподобия $\textit