Распознавание текста андроид

Автор: Сергей Колесников, author@ci.ru

Источник: газета «Компьютер-Информ» http://www.ci.ru/inform06_06/p_24.htm


Распознавание изображений

Рассмотрев в предыдущих номерах базовые понятия теории распознавания, проблемы и принципы распознавания звуков, в этой статье обратимся к обширному вопросу распознавания изображений.

Введение

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

Касательно технической стороны вопроса, как мы уже отмечали ранее, все находится на достаточно высоком уровне. Разрешающая способность систем оптического ввода уже вплотную приблизилась к возможностям человеческого зрения и даже превосходит его. Примером может служить цифровая фотокамера H2D-39, представленная шведской компанией Hasselblad, оборудованная ПЗС-матрицей в 39 мегапикселей. А современным вычислительным системам вполне по силам скоростная обработка различных параметров изображения.

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

Постановка задачи

Выделим вопросы, которые возникают при решении задачи распознавания изображений:

  • восприятие поля зрения,
  • сегментация,
  • нормализация выделенных объектов,
  • распознавание.

Исходя из этого, используются следующие основные принципы:

  • Принцип целостности — распознаваемый объект рассматривается как единое целое, состоящее из структурных частей, связанных между собой пространственными отношениями.
  • Принцип двунаправленности — создание модели ведется от изображения к модели и от модели к изображению.
  • Принцип предвидения. Заключается в формировании гипотезы о содержании изображения.
  • Принцип целенаправленности, включающий сегментацию изображения и совместную интерпретацию его частей.
  • Ничего не делать без процедуры понимания (восприятия поля зрения).
  • Принцип максимального использования модели проблемной среды, использование заранее известных, априорных параметров.

Этап интерпретации изображения не обозначен четкими границами и включается частично в процесс сегментации и окончательно завершается на этапе распознавания.

Естественно задаться вопросом: а нельзя ли брать изображение и последовательно сравнивать его с эталонами по ряду каких-либо признаков? Но тут возникает ряд проблем и сложностей:

  • Фон. Как правило, изображения предъявляются на сложном динамическом фоне.
  • Ориентация. Изображения эталона и входные изображения отличаются положением в поле зрения.
  • Помехи. Входные изображения не совпадают с эталонами за счет случайных и локальных помех.
  • Освещение. Отличия входных и эталонных изображений возникает за счет изменения освещенности, подсветки.
  • Преобразования. Эталоны и изображения могут отличать сложные геометрические преобразования

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

Предобработка

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

Сегментация

Под сегментацией будем понимать процесс поиска однородных областей на изображении. Наиболее часто применяются методы, основанные на определении однородных цветов или текстур, однако для произвольной задачи этот этап не имеет четкого алгоритма.

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

При наличии устойчивой связности внутри отдельных сегментов эффективны методы наращивания областей. Этот принцип состоит в том, что происходит группировка соседних элементов с одинаковыми или близкими уровнями яркости, а затем объединение их в однородные области. Один из типов — центроидное связывание — предполагает выбор стартовых точек либо с помощью оператора, либо автоматически. Эффективным представляется метод водоразделов, основанный на поиске локальных минимумов с последующей группировкой вокруг них областей по связности.

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

Перечисленные методы служат для выделения сегментов по критерию однородных яркостей. Все перечисленные принципы приемлемы с точки зрения вычислительных затрат, тем не менее, для каждого из них характерна не единственность разметки точек в реальных ситуациях из-за необходимости применения эвристик.

Для описания и сегментации свойств изображений, к которым относятся однородность, шероховатость, регулярность, применяют текстурные методы, подразделяющиеся условно на две категории — статистические и структурные. Использование матриц совпадений, формируемых из исходных изображений, с последующим подсчетом статистических моментов и энтропии — есть основа статистического метода. При структурном подходе строится множество многоугольников и производится исследование на предмет общих свойств. Многоугольники с общими свойствами объединяют в области.

Рис.1. Основные процедуры и методы распознавания изображений

Распознавание

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

Для решения задач распознавания применяются, в основном, четыре подхода:

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

Признаковый. Такие методы основаны на переходе в пространство признаков, а соответственно, требуют значительно меньших вычислительных мощностей. В зависимости от поставленной задачи, выполняется корреляционная обработка признаков, полученных от эталона и входного изображения. При этом возникает задача объединения и комплексной обработки признаков различной размерности (метрических, статистических, логических, текстурных и т. д.), полученных различными измерительными средствами с целью решения задачи распознавания.

Корреляционно-признаковый метод подразумевает под собой обработку статистическими методами признаков, полученных следующим образом. Изначально применяется метод частных корреляций для различных фрагментов эталонного изображения, а затем в сигнальном пространстве полученные корреляционные коэффициенты рассматриваются как признаки.

Основной проблемой в признаковых методах составляет выбор признаков. При этом исходят из естественных правил:

1. Признаки изображений одного класса могут различаться лишь незначительно (за счет влияния помех, шумов); 2. Признаки изображений разных классов должны существенно различаться; 3. Набор признаков должен быть минимальным (от их количества зависит надежность, сложность, скорость обработки).

Синтаксический метод основан на получении структурно-грамматических признаков, когда в изображении выделяются непроизводные элементы — признаки.

Вводятся правила соединения этих элементов, одинаковые для эталона и входного изображения. Анализ полученной таким образом грамматики обеспечивает принятие решений.

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

Нормализация. Задача нормализации изображения — это задача определения параметров геометрических преобразований, которым подверглось изображение, с целью их компенсации.

Компенсация может проводиться за счет изменения пространственного положения системы ввода изображения, либо алгоритмически путем применения обратного преобразования к входному изображению.

Процедура преобразований производится с помощью операторов нормализации — нормализаторов, а вычисление параметров выполняется функционалами, действующими на множестве изображений.

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

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

Рис. 2. Структура методов распознавания изображений

Особенности при проектировании роботизированных систем

Дополнительные проблемы при решении задачи зрительного восприятия роботизированных систем по сравнению с традиционными задачами обработки и распознавания изображений:

  • Описание среды функционирования. Необходимо комплексное описание на основе учета значительного объема априорной информации, создание модели проблемной среды, в отличие от задачи выделения конкретных признаков или выделения отдельных характеристик. Анализ 3D-объектов и учет законов перспективы. Необходимо учитывать не только проекции реальных объектов, но и проводить анализ в плане определения объемных пространственных отношений.
  • Анализ множества произвольно расположенных объектов, выделение конкретных предметов при отсутствии или невозможности определить некоторые признаки (например, когда на плоскопараллельной проекции видна только часть контура необходимого объекта, но уникальная и достаточная для его идентификации).
  • Необходимость работы в реальной динамической среде. В общем случае, отсутствие постоянной задачи и необходимость оперативно реагировать на возникающие задачи.
  • Необходимость согласованности при взаимодействии в реальном времени нескольких подсистем робота.

По материалам сайта http://sumschool.sumdu.edu.ua/

Статья взята с сайта: http://www.ci.ru/inform06_06/p_24.htm

ГЛАВА 9. РАСПОЗНАВАНИЕ ОБЪЕКТОВ НА ИЗОБРАЖЕНИЯХ

9.1. Основные положения

Обнаружение и распознавание объектов составляет неотъемлемую часть человеческой деятельности. Пока еще не совсем понятно, как человеку удается так точно и так быстро выделять и узнавать нужные предметы в разнообразии окружающей среды. Попытки выяснить это делаются физиологами и психологами уже более ста лет. Однако здесь наша цель состоит не в понимании механизма восприятия человека (и животных), а в описании методов автоматизированного распознавания объектов по их изображениям: новой информационной технологии, мощной, практичной и в некотором смысле универсальной методологии обработки и оценивания информации и выявления скрытых закономерностей [9.1].

Распознавание трехмерных объектов по их двумерным изображениям стало в последнее время одной из важнейших задач анализа сцен и машинного зрения. Исходную для распознавания информацию содержат изображения в различных частях полного спектра излучений (оптические, инфракрасные, ультразвуковые и т.д.), полученные различными способами (телевизионные, фотографические, лазерные, радиолокационные, радиационные и т.д.), преобразованные в цифровую форму и представленные в виде некоторой числовой матрицы. Под объектом понимаем не только (и не столько) цифровое представление локального фрагмента двумерной сцены, а некоторое его приближенное описание, в виде набора характерных свойств (признаков). Основное назначение описаний (образов объектов)- это их использование в процессе установления соответствия объектов, осуществляемого путем сравнения (сопоставления). Задачей распознавания является определение «скрытой» принадлежности объекта к тому или иному классу путем анализа вектора значений наблюдаемых признаков. Информацию о связи между значениями признаков объекта и его принадлежностью к определенному классу алгоритм распознавания должен извлечь из обучающей совокупности объектов, для которых известны либо значения и признаков и классов, либо только значения их признаков. В первом случае задача называется задачей обучения распознаванию образов с учителем, а во втором — без учителя. Здесь предполагается что каждый объект «принадлежит» одному образу из некоторого фиксированного множества. При отнесении (классификации) объектов требуется применить некоторое установленное ранее правило, чтобы решить, какому образу (классу) принадлежит объект. В задаче распознавания с обучением правило классификации должно вырабатываться на основе исследования множества объектов с известной принадлежностью различным классам. Эти объекты в совокупности называются обучающим множеством или выборкой. В задаче автоматического формирования образов объекты предъявляются «наблюдателю» без указания их принадлежности классам (распознавание без учителя). Наблюдатель (алгоритм распознавания) должен самостоятельно построить соответствующее определение классов (кластерный анализ). Разумеется, такой подход к анализу изображений адекватен лишь одному из двух аспектов двуединой задачи обнаружения и распознавания объектов сцены, а именно, собственно распознаванию класса вполне определенного (выделенного) фрагмента изображения, рассматриваемого как внешнее проявление некоторого скрытого образа. При этом вынужденно предполагается уже решенной задача сегментации, т. е. определение границ фрагментов, каждый из которых допустимо рассматривать как единое целое (объект).

Исследования по распознаванию образов пространственных объектов отличаются большим разнообразием в постановке задач и выборе средств их решения (методов обработки соответствующих фрагментов изображений), что является следствием разнообразия областей практического применения. Традиционными задачами, решавшимися еще в первых опытных разработках систем машинного зрения, служат задачи обнаружения и распознавания объектов, имеющих заданную форму на основе зашумленных и (возможно) деформированных изображений. Так, одной из первых практических задач, стимулировавших становление и развитие теории распознавания объектов, была задача идентификации и распознавания человеческих лиц

Рис. 9.1. Иллюстрация проблемы распознавания человеческих лиц и подходов к выбору информативных фрагментов (источник [9.15])

Сложность этой задачи обусловлена многообразием возможных ракурсов (масштабов, положений, углов поворота) распознаваемых лиц (см. рис. 9.1). Здесь предварительно необходимо построить внутреннее представление объектов, включающее проекции изображений [9.2, 9.15]. Данная задача до сих пор имеет широкое применение в системах охраны, при верификации кредитных карточек, в криминалистической экспертизе, на  телеконференциях и т.д. Для ее решения предложены методы распознавания, основанные на теории нейрокомпыотерных сетей, корреляционно-экстремальных алгоритмах, методах вычисления статистических и алгебраических моментов, контурном анализе, 3D-моделировании и др. [9.2, 9.3]. Среди них особое внимание уделяется направлению, связанному с автоматическим выделением характерных (информативных) признаков объектов сцены, в данном случае элементов глаз, носа, рта, подбородка – рис. 9.1.

Немного позже, в задачах мониторинга (контроля) природной среды по аэрокосмическим изображениям наметилось еще несколько важных подходов к построению информативных признаков. В частности, когда были получены первые многозональные и спектрозональные данные дистанционного зондирования, большинство разработчиков машинных методов интерпретации обратились к изучению спектральных свойств природных объектов, поскольку яркости соответствующих им элементов изображений в различных спектральных диапазонах позволяли идентифицировать их при относительно низких вычислительных затратах [9.4].

Рис. 9.2. Кластер-анализ спектральной яркости природных объектов, отображенный и двумерную плоскость пары информативных спектральных каналов

Наиболее употребительным методом обработки была «классификация без учителя» на основе кластерного анализа, с помощью которого пространство спектральных признаков разбивалось на различимые группы (кластеры, см. рис. 9.2), а классификация элементов изображений позволяла одновременно сегментировать сцену на спектрально однородные области [9.5, 9.6].

Кроме того, выяснилось, что при распознавании природных образований помимо спектрозональных признаков оказались чрезвычайно важными также признаки, характеризующие локальную пространственную организацию полутонов (текстуру) объектов анализа. Опытный оператор-дешифровщик полагается на такую информацию (форму, ориентацию, распределение характерных элементов, контекст и другие пространственные характеристики) иногда в большей степени, чем на спектрозональные признаки [9.4]. В любом случае привлечение текстурных признаков позволяет существенно повысить надежность распознавания и увеличить количество различимых классов природных объектов.

В экспериментальных исследованиях, ориентированных на решение конкретных задач, исходными данными является некоторое множество фрагментов изображений (объектов сцены), дешифрированное специалистами-предметниками и служащее обучающим и контрольным материалом. Здесь первичная цель разработки алгоритма распознавания заключается в получении ответа на вопрос, возможен ли автоматизированный анализ и классификация соответствующих изображений объектов и, если да, то какой набор дешифровочных признаков наиболее эффективен и какую структуру должны иметь решающее правило и метод дешифрирования.

 


Категория: Читалки
Язык меню: Русский

Рейтинг: 4.57 Скачано: 2 раз

TextGrabber +Translator извлекает тексты из любых печатных источников, будь то документы, книги или объявления, и позволяет их тут же перевести на любой из более чем 40 языков мира. ***** Победитель Mobile Star Awards 2012 в категории ‘Ввод текста’ ***** Сфотографируйте текст, и после распознавания его сразу же можно отредактировать, перевести, отправить по e-mail или SMS, а также скопировать или передать в другие приложения, установленные на вашем Android-устройстве — Facebook, Twitter, Evernote, DropBox и другие.

———————— Основные возможности: • Распознавание текста на более чем 60 языках, в том числе русском, английском, немецком, испанском, греческом, китайском, корейском и многих других • Полнотекстовый перевод для более чем 40 языков! Поддерживаются английский, испанский, китайский и многие другие (для перевода требуется интернет-соединение) • Возможность отредактировать текст, скопировать его в буфер обмена и сохранить в других приложениях • Отправка результатов по SMS или электронной почте • Передача распознанного/переведенного текста в другие установленные приложения • Все тексты сохраняются в «Истории», откуда их всегда можно восстановить ———————— Вместе с TextGrabber + Translator можно с легкостью сканировать и переводить: • Любые бумажные документы • Рецепты из кулинарных книг • Заметки и записи • Статьи в журналах и газетах • Фрагменты книг • Инструкции и руководства по эксплуатации • Текст состава продуктов на упаковке • И многое другое… Системные требования: ОС Android 2.2 и выше, наличие камеры от 3 мегапикселей с поддержкой автофокусировки. ———————— Совет по распознаванию: Выбирайте соответствующий оригинальному тексту язык распознавания. Это особенно важно, если он отличается от установленных по умолчанию русского и английского. Мы всегда рядом: Facebook: http://fb.com/abbyymobile Вконтакте: http://vk.com/abbyymobile Twitter: ABBYY_Mobile Разработчик: ABBYY Software House Совместимость: Android 2.2+ Язык интерфейса: русский Root: не требуется Состояние: Full ТехtGrаbbеr OCR распознавание текста + переводчик v.2.0.4 можно скачать на смартфоны, телефоны или планшеты с версиями Android 3.0, 3.1, 3.2, 4.0, 4.1, 4.2 +

на Google Play

Выполнен обзор нейросетевых методов, используемых при распознавании изображений. Нейросетевые методы — это методы, базирующиеся на применении различных типов нейронных сетей (НС). Основные направления применения различных НС для распознавания образов и изображений:

  • применение для извлечение ключевых характеристик или признаков заданных образов,
  • классификация самих образов или уже извлечённых из них характеристик (в первом случае извлечение ключевых характеристик происходит неявно внутри сети),
  • решение оптимизационных задач.

Архитектура искусственных НС имеет некоторое сходство с естественными нейронными сетями. НС, предназначенные для решения различных задач, могут существенно различаться алгоритмами функционирования, но их главные свойства следующие [1-3].

НС состоит из элементов, называемых формальными нейронами, которые сами по себе очень просты и связаны с другими нейронами. Каждый нейрон преобразует набор сигналов, поступающих к нему на вход в выходной сигнал. Именно связи между нейронами, кодируемые весами, играют ключевую роль. Одно из преимуществ НС (а так же недостаток при реализации их на последовательной архитектуре) это то, что все элементы могут функционировать параллельно, тем самым существенно повышая эффективность решения задачи, особенно в обработке изображений. Кроме того, что НС позволяют эффективно решать многие задачи, они предоставляют мощные гибкие и универсальные механизмы обучения, что является их главным преимуществом перед другими методами [4,5] (вероятностные методы, линейные разделители, решающие деревья и т.п.). Обучение избавляет от необходимости выбирать ключевые признаки, их значимость и отношения между признаками. Но тем не менее выбор исходного представления входных данных (вектор в n-мерном пространстве, частотные характеристики, вэйвлеты и т.п.), существенно влияет на качество решения и является отдельной темой. НС обладают хорошей обобщающей способностью (лучше чем у решающих деревьев [5]), т.е. могут успешно распространять опыт, полученный на конечном обучающем наборе, на всё множество образов.

Опишем применение НС для распознавания изображений, отмечая возможности применения для распознавания человека по изображению лица.

1. Многослойные нейронные сети

Архитектура многослойной нейронной сети (МНС) состоит из последовательно соединённых слоёв, где нейрон каждого слоя своими входами связан со всеми нейронами предыдущего слоя, а выходами — следующего.

НС с двумя решающими слоями может с любой точностью аппроксимировать любую многомерную функцию. НС с одним решающим слоем способна формировать линейные разделяющие поверхности, что сильно сужает круг задач ими решаемых, в частности такая сеть не сможет решить задачу типа “исключающее или”. НС с нелинейной функцией активации и двумя решающими слоями позволяет формировать любые выпуклые области в пространстве решений, а с тремя решающими слоями — области любой сложности, в том числе и невыпуклой. При этом МНС не теряет своей обобщающей способности. Обучаются МНС при помощи алгоритма обратного распространения ошибки, являющегося методом градиентного спуска в пространстве весов с целью минимизации суммарной ошибки сети. При этом ошибки (точнее величины коррекции весов) распространяется в обратном направлении от входов к выходам, сквозь веса, соединяющие нейроны.

Простейшее применение однослойной НС [6] (называемой автоассоциативной памятью) заключается в обучении сети восстанавливать подаваемые изображения. Подавая на вход тестовое изображение и вычисляя качество реконструированного изображения, можно оценить насколько сеть распознала входное изображение. Положительные свойства этого метода заключаются в том, что сеть может восстанавливать искажённые и зашумленные изображения, но для более серьёзных целей он не подходит.

Рис. 1. Многослойная нейронная сеть для классификации изображений. Нейрон с максимальной активностью (здесь первый) указывает принадлежность к распознанному классу.

МНС так же используется для непосредственной классификации изображений – на вход подаётся или само изображение в каком-либо виде, или набор ранее извлечённых ключевых характеристик изображения, на выходе нейрон с максимальной активностью указывает принадлежность к распознанному классу (рис. 1). Если эта активность ниже некоторого порога, то считается, что поданный образ не относится ни к одному из известных классов. Процесс обучения устанавливает соответствие подаваемых на вход образов с принадлежностью к определённому классу. Это называется обучением с учителем. В применении к распознаванию человека по изображению лица, такой подход хорош для задач контроля доступа небольшой группы лиц. Такой подход обеспечивает непосредственное сравнение сетью самих образов, но с увеличением числа классов время обучения и работы сети возрастает экспоненциально. Поэтому для таких задач, как поиск похожего человека в большой базе данных, требует извлечения компактного набора ключевых характеристик, на основе которых можно производить поиск.

Подход к классификации с использованием частотных характеристик всего изображения, описан в [7]. Применялась однослойная НС, основанная на многозначных нейронах. Отмечено 100% распознавание на базе данных MIT, но при этом осуществлялось распознавание среди изображений, которым сеть была обучена.

Применение МНС для классификации изображений лиц на основе таких характеристик, как расстояния между некоторыми специфическими частями лица (нос, рот, глаза), описано в [8]. В этом случае на вход НС подавались эти расстояния. Использовались так же гибридные методы – в первом на вход НС подавались результаты обработки скрытой марковской моделью, а во втором – результат работы НС подавался на вход марковской модели. Во втором случае преимуществ не наблюдалось, что говорит о том, что результат классификации НС достаточен.

В [9] показано применение НС для классификации изображений, когда на вход сети поступают результаты декомпозиции изображения по методу главных компонент.

В классической МНС межслойные нейронные соединения полносвязны, и изображение представлено в виде одномерного вектора, хотя оно двумерно. Архитектура свёрточной НС [10] направлена на преодоление этих недостатков. В ней использовались локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов), общие веса (обеспечивают детектирование некоторых черт в любом месте изображения) и иерархическая организация с пространственными подвыборками (spatial subsampling). Свёрточная НС (СНС) обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, искажениям.

Архитектура СНС состоит из многих слоёв, каждый из которых имеет несколько плоскостей, причём нейроны следующего слоя связаны только с небольшим числом нейронов предыдущего слоя из окрестности локальной области (как в зрительной коре человека). Веса в каждой точке одной плоскости одинаковы (свёрточные слоя). За свёрточным слоем следует слой, уменьшающий его размерность путём локального усреднения. Затем опять свёрточный слой, и так далее. Таким образом, достигается иерархическая организация. Более поздние слои извлекают более общие характеристики, меньше зависящие от искажений изображения. Обучается СНС стандартным методом обратного распространения ошибки. Сравнение МНС и СНС [10] показало существенные преимущества последней как по скорости, так и по надёжности классификации. Полезным свойством СНС является и то, что характеристики, формируемые на выходах верхних слоёв иерархии, могут быть применимы для классификации по методу ближайшего соседа (например, вычисляя евклидово расстояние), причём СНС может успешно извлекать такие характеристики и для образов, отсутствующих в обучающем наборе. Для СНС характерны быстрая скорость обучения и работы. Тестировании СНС на базе данных ORL, содержащей изображения лиц с небольшими изменениями освещения, масштаба, пространственных поворотов, положения и различными эмоциями, показало приблизительно 98% точность распознавания, причём для известных лиц, предъявлялись варианты их изображений, отсутствующие в обучающем наборе. Такой результат делает эту архитектуру перспективной для дальнейших разработок в области распознавания изображений пространственных объектов.

МНС применяются и для обнаружения объектов определённого типа. Кроме того, что любая обученная МНС в некоторой мере может определять принадлежность образов к “своим” классам, её можно специально обучить надёжному детектированию определённых классов. В этом случае выходными классами будут классы принадлежащие и не принадлежащие к заданному типу образов. В [11] применялся нейросетевой детектор для обнаружения изображения лица во входном изображении. Изображение сканировалось окном 20х20 пикселей, которое подавалось на вход сети, решающей принадлежит ли данный участок к классу лиц. Обучение производилось как с использованием положительных примеров (различных изображений лиц), так и отрицательных (изображений, не являющихся лицами). Для повышения надёжности детектирования использовался коллектив НС, обученных с различными начальными весами, вследствие чего НС ошибались по разному, а окончательное решение принималось голосованием всего коллектива.

Рис. 2. Главные компоненты (собственные лица) и разложение изображения на главные компоненты.

НС применяется так же для извлечения ключевых характеристик изображения, которые затем используются для последующей классификации. В [1,6], показан способ нейросетевой реализации метода анализа главных компонент. Суть метода анализа главных компонент заключается в получении максимально декореллированных коэффициентов, характеризующих входные образы. Эти коэффициенты называются главными компонентами и используются для статистического сжатия изображений, в котором небольшое число коэффициентов используется для представления всего образа. НС с одним скрытым слоем содержащим N нейронов (которое много меньше чем размерность изображения), обученная по методу обратного распространения ошибки восстанавливать на выходе изображение, поданное на вход, формирует на выходе скрытых нейронов коэффициенты первых N главных компонент, которые и используются для сравнения. Обычно используется от 10 до 200 главных компонент. С увеличением номера компоненты её репрезентативность сильно понижается, и использовать компоненты с большими номерами не имеет смысла. При использовании нелинейных активационных функций нейронных элементов возможна нелинейная декомпозиция на главные компоненты. Нелинейность позволяет более точно отразить вариации входных данных. Применяя анализ главных компонент к декомпозиции изображений лиц, получим главные компоненты, называемые собственными лицами (holons в работе [6]), которым так же присуще полезное свойство – существуют компоненты, которые в основном отражают такие существенные характеристики лица как пол, раса, эмоции. При восстановлении компоненты имеют вид, похожий на лицо, причём первые отражают наиболее общую форму лица, последние – различные мелкие отличия между лицами (рис.

2). Такой метод хорошо применим для поиска похожих изображений лиц в больших базах данных. Показана так же возможность дальнейшего уменьшения размерности главных компонент при помощи НС [6]. Оценивая качество реконструкции входного изображения можно очень точно определять его принадлежность к классу лиц.


В курсе “Глубокое обучение на Python” мы научились обучать нейронные сети для распознавания рукописных цифр и объектов из набора данных CIFAR-10. Давайте посмотрим, как применять эти нейронные сети для анализа своих изображений.

Распознавание рукописных цифр

Начнем с распознавания рукописных цифр. Читатели прислали мне несколько отсканированных картинок с рукописными цифрами.

Вот одна из них:

Для распознавания рукописных цифр воспользуемся сверточной нейронной сетью.

Keras содержит специальный модуль для работы с изображениями, который называется . С его помощью можно быстро загрузить изображение из файла и преобразовать его в массив , который мы можем передать модели для распознавания:

Загружаем из файла обученную сверточную нейронную сеть:

Компилируем модель перед использованием

Теперь мы готовы к распознаванию цифры. Для распознавания вызываем метод модели :

Модель выдает массив из 10 значений в формате One Hot Encoding. Выбираем индекс максимального значения и печатаем его:

Распознавание объектов на изображениях

Давайте рассмотрим более сложную задачу — распознавание объектов на изображении. Будем использовать нейронную сеть, обученную на наборе данных CIFAR-10. Попробуем распознать картинку самолета, которую сеть не видела в процессе обучения:

Загружаем изображение в Keras:

В отличие от рукописных цифр, в этот раз изображение цветное и его размер 32х32, в соответствии с форматом CIFAR-10. Преобразуем картинку в массив :

Загружаем сеть, обученную на наборе данных CIFAR-10, и компилируем модель:

Запускаем распознавание объекта:

Для удобства вывода задаем список с названиями классов объектов:

Печатаем результат распознавания:

Как видим, нейронная сеть справилась с задачей, несмотря на то, что обучение проводилось на изображениях размером 32х32. Наше изображение пришлось уменьшить до этого размера, но сеть все равно распознала на картинке самолет.

Давайте попробуем дать нейронной сети более сложную задачу — распознать не фотографию объекта, а рисунок. Например, вот такой рисунок лошади:

Запускаем программу и получаем результат:

Нейронная сеть сумела распознать объект даже на рисунке, хотя мы обучали ее только на фотографиях!

Итоги

Мы научились применять нейронные сети для анализа любых изображений, а не только тех, которые входят в стандартные наборы данных для обучения. В Keras для этого есть класс из модуля .

Попробуйте провести эксперименты со своими изображениями и пишите в комментариях, что у вас получилось.

Полезные ссылки

  1. Курс “Глубокое обучение на Python”.
  2. Сверточная нейронная сеть для распознавания рукописных цифр.
  3. Сверточная нейронная сеть для распознавания объектов из набора данных CIFAR-10.
  4. Сохранение обученных нейронных сетей.

Добавить комментарий

Закрыть меню