Исследование и разработка методов распознавания образов для синхронного перевода жестов
Понятие машинного зрения и распознавания образов, существующие разработки в области распознавания жестов глухонемых, основные требования и ограничения. Методы и этапы распознавания образов применительно к задаче распознавания языка жестов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.09.2018 |
Размер файла | 3,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
распознавание жест образ глухонемой
В настоящее время, время глобализации и быстрого развития методов коммуникации между людьми невозможно оставить в стороне проблему коммуникации с внешним миром и социальной интеграции людей с ограниченными возможностями. Все более доступной и удобной становится городская среда, что улучшает возможности передвижения людей с ограниченными возможностями.
Однако создание так называемой безбарьерной среды не должно ограничиваться физической доступностью объектов инфраструктуры. Необходимо также ломать барьеры на пути общения между людьми, в том числе с людьми, имеющими проблемы со слухом.
В большинстве случаев, общение между глухонемым человеком и людьми не обладающими знанием языка жестов возможно только посредством специального переводчика. Частично проблема может быть решена посредством умения большинства глухонемых читать по губам. Но как понять, что хочет нам сказать глухонемой человек при встрече в магазине, метро, ресторане?
Для решения проблем коммуникации глухонемых людей возможно использование современных технологий по распознаванию образов. В данной работе будет исследовано использование методов распознавания образов для распознавания жестовой речи на примере азбуки глухонемых.
Для решения поставленной цели необходимо:
? провести анализ предметной области, проанализировать существующие разработки в области распознавания жестов, определить существующие требования и ограничения;
? исследовать существующие методы распознавания образов, определить методы, подходящие для решения задачи распознавания жестов языка глухонемых, адаптировать их с учетом существующих требований и ограничений, определить основные этапы при разработке системы распознавания жестов.
? рассмотреть возможность применения существующих инструментов для реализации поставленной задачи, провести тестирование и анализ полученных результатов.
Исследования, проведенные в рамках данной работы закладывают основы для разработки системы / приложения для распознавания языка жестов глухонемых.
1. Анализ предметной области
В данной главе будет описана постановка задачи, рассмотрена предметная область в частности: существующие на данный момент разработки в данной области, цели и области применения машинного зрения, рассмотрены существующие методы и основные этапы распознавания образов, определены требования и ограничения разрабатываемой системы.
1.1 Постановка задачи
Целью данной работой является исследование методов распознавания образов с целью разработки синхронного переводчика с языка жестов. Система синхронного перевода с языка жестов должна позволять в режиме реального времени распознавать жесты, показываемые на камеру и переводить их в буквы и слова.
В рамках данной работы использование методов распознавания будет рассмотрено на примере распознавания русской ручной дактильной азбуки глухих, то есть, распознавания кириллических букв с языка жестов. Распознавание дактильной азбуки глухих является первым и основным этапом при решении задачи распознавания языка жестов глухонемых.
Тогда как в языке жестов, жест означает понятие или комплекс понятий, в азбуке глухонемых жест (знак) соответствует букве алфавита. Многие из этих знаков похожи на соответствующие им буквы русского алфавита. Пальцы как бы повторяют начертание буквы. На рисунке 1 приведены жесты русской дактильной азбуки.
Рис. 1. Жесты русской дактильной азбуки
На практике дактильная азбука используется для проговаривания слов, у которых отсутствует жестовое представление, в том числе личных имен, названий географических объектов, а также вспомогательных слов, междометий, союзов.
При этом движение производится плавно и слитно кистью правой руки, согнутой в локте. Слова должны быть разделены паузой, а фразы остановкой. Кисть при этом перемещается влево.
Жесты некоторых из букв, например, м-ш-щ имеют общую конфигурацию, а различаются лишь направлением пальцев и движением кисти руки.
Таким образом, в данной работе будут рассмотрены методы применимые для создания системы, позволяющей осуществлять распознавание жестов дактильной азбуки глухонемых и их синхронный перевод в разговорную и / или письменную речь.
1.2 Обзор аналогов
Рассмотрим существующие на данный момент разработки в области синхронного перевода с языка жестов.
К сожалению, отечественных разработок по данной теме не достаточно. Существует ряд мобильных приложений посвященных языку жестов, например:
«Сурдофон» [1]:
- распознает речь и переводит её на русский жестовый язык;
- озвучивает написанный глухим пользователем текст;
- обеспечивает видеосвязь с диспетчерским центром «живого» сурдоперевода.
«Язык жестов - Азбука» и «Язык жестов (обучение дактилю)»:
- позволяют обучать русской дактильной азбуке глухих.
Однако, ни одно из данных приложений не позволяет распознавать жесты языка глухих.
Зарубежные разработки в данной области более разнообразны и интересны.
Часть разработок, как и российский «Сурдофон» предназначены в для одностороннего перевода с разговорного или письменного языка на язык жестов. Например, приложение ProDeaf [2], позволяющее переводить текст и голос на португальский язык жестов (Libras). Проект начался в 2010 году. В настоящее время существует бета-версия для американского языка жестов (ASL), которая очень ограничена. Последнее обновление приложения было в июне 2016 года. Основной недостаток - отсутствие обратной связи от глухого человека - приложение не может распознавать язык жестов и переводить его в текст или речь.
Далее будем рассматривать только разработки связанные с возможностью перевода с языка жестов на письменный или разговорный язык.
Одно из направлений по переводу с языка жестов связано с развитием робототехники. Машинный перевод с языка жестов стал возможен с 1977 года, когда была создана роботизированная рука. Позже, использование киберперчаток с датчиками движения стало основным, и появились такие проекты, как CyberGlove и VPL Data Glove.
Использование киберперчаток - это один из способов позволяющего компьютеру отслеживать движения человека и переводить его на разговорный или письменный язык.
В 2002 году Райаном Паттерсоном (США) была разработана упрощенная перчатка. Устройство позволяло отслеживать жесты азбуки глухих, а затем осуществлять беспроводную передачу данных на портативное устройство, которое отображало текст на экране. Перчатку необходимо было обучать для рук конкретного человека.
Более полезными являются перчатки, которые могут захватывать целые знаки. Например, CyberGlove имеет 18-22 датчика и подключается к главному компьютеру через последовательный кабель (CyberGlove, n.d.). У VPL Data Glove, есть датчики, которые являются оптоволоконными преобразователями и измеряют углы изгиба пальца.
Практическим примером использования данных технологий является проект SignAloud выполненный группой студентов из Университете Вашингтона. С помощью двух перчаток оснащенных датчиками, отслеживающими движение и передающими данные в компьютерную систему через Bluetooth, разработчики смогли осуществить перевод с американского языка жестов (ASL) на английский язык [3].
Несмотря на высокую точность данные технологии накладывают определенные ограничения для пользователей: необходимость использования специальных технических устройств, отсутствие возможности учитывать артикуляцию.
Другое направление по оцифровке жестов заключается в использовании компьютеров и камер для захвата движений рук.
В 1992 году исследователи разработали камеру, которая могла бы сфокусироваться на руке человека, на которой была одета перчатка с отметками на кончике каждого пальца, а затем, в 1994 году с цветными кольцами вокруг каждого сустава руки. В 1995 году Старнер начал разработку системы, которая первоначально включала в себя человека в двух разных цветных перчатках. Позднее была разработана система, которая может функционировать как ограниченный переводчик (Brashear, Starner, Lukowicz, & Junker, 2003). С этой целью использовалась система видеонаблюдения вместе с беспроводными акселерометрами, установленными в браслете или часах измеряющими вращение и движение руки [4].
Kinect Sign Language Translator - переводчик, разработанный в 2012 году китайской командой в сотрудничестве с командой Microsoft Research Asian [5]. Переводчик состоит из двух режимов: режима перевода и режим общения. Режим перевода способен переводить отдельные жесты в письменный текст (слова) и наоборот. Режим переводчика также может определять позы и формы рук, а также траекторию движения, используя технологии машинного обучения, распознавания образов и компьютерного зрения. Режим общения может переводить полные предложения, и разговор может быть автоматически переведен с использованием 3D-аватара. Для считывания жестов используется периферийное устройство Kinect к игровой приставке Хbox360 от Microsoft.
SignAll - это автоматическая система перевода американского языка жестов (ASL), венгерской компании Dolphio Technologies [6]. Исследования ведутся с 2015 года. Данное решение основано на компьютерном зрении и обработке естественного языка (NLP), использует Kinect от Microsoft и веб-камеры с датчиками глубины (датчик глубины и 3 веб камеры), подключенные к компьютеру. Технология компьютерного зрения считывает жесты и мимику глухого человека, а система обработки естественного языка преобразует собранные данные в простую английскую фразу. Недостатком является то, что для считывания языка жестов должна быть установлена сложная конструкция из трех камер, сенсора и компьютера. Кроме того, есть требования к расположению данного оборудования относительно глухого человека. Датчик глубины должен быть напротив груди, веб-камеры по бокам и спереди.
MotionSavvy - устройство для озвучивания американского языка жестов и наоборот [7]. Разработано в 2012 году группой из Рочестерского технологического института / Национального технического института для глухих. Команда использовала планшет с датчиком движения Leap Motion. Контроллер Leap Motion 3D распознает движения руками, осуществляемые пользователем над поверхностью планшета. В результате на экране отображается изображение жеста и осуществляется его перевод в текст или озвучивается. Функция SighBuilder позволяет записывать и редактировать движения владельца. Возможно создание собственного словаря. В 2014 году устройство распознавало порядка 100 слов. Устройство продается за 198 долларов.
Система Sign2 Conversion System была разработана для преобразования американского языка жестов (ASL) на письменный и разговорный английский. Хотя текущая система включает только жестикуляцию пальцев в контролируемой среде с использованием компьютерного зрения, долгосрочной целью является перевод полных предложений в естественных средах, включая интеграцию с персональными цифровыми помощниками (PDA) и смартфонами. Недостатком считается отсутствие возможности учитывать артикуляцию.
На основе обзора аналогов можно заключить что существует два подхода к решению задачи распознавания жестов. Одной из таких технологий является использование киберперчаток, позволяющих компьютеру отслеживать движения человека и переводить их на разговорный или письменный язык. Несмотря на высокую точность данные технологии накладывают определенные ограничения для пользователей: необходимость использования специальных технических устройств, отсутствие возможности учитывать артикуляцию.
Другое направление это использовании систем машинного зрения. Способ распознавания жестов посредством обработки изображения является более перспективным поскольку в данном методе нет необходимости в использовании сложных систем из датчиков и не требует от пользователя сложных действий по настройки. Кроме того, технологии обработки изображений могут быть интегрированы с постоянно развивающимися технологиями, такими как карманные компьютеры, смартфоны, видеотелефоны, высокотехнологичные киоски и т.д.
В связи с этим, создание продукта, позволяющего с использованием современных средств коммуникации, таких как смартфон, осуществлять распознавание языка жестов и его перевод в письменную или разговорную речь является весьма актуальным.
1.3 Машинное зрение
Распознавание образов посредством обработки изображения тесно связано с понятием - машинное или компьютерное зрение.
Система машинного зрения - система, получающая изображение от камеры или нескольких камер и осуществляющая цифровую обработку полученных изображений для поставленных целей. Условием хорошей работы машинного зрения является устойчивая среда: предсказуемое расположение объектов распознавания и камеры относительно них, подходящее освещение и др.
Машинное зрение применяется в разнообразных областях и охватывает различные сферы деятельности, включая, но не ограничиваясь следующими:
- промышленное производство;
- медицина;
- системы безопасности;
- ритейл;
- контроль качества;
- исследование допущенных ошибок;
- системы визуального контроля и управления;
_ учет;
_ считывание штрих-кодов;
- контроль автоматизированных транспортных средств.
Перечисленные выше области на данный момент являются традиционными областями для применения машинного зрения.
В связи с постоянно растущим числом использования мобильных устройств в последнее время растет число задач, использующих компьютерное зрение для персональных мобильных устройств, таких как смартфоны, планшеты и др.
Большое количество приложений для мобильных устройств связано с разнообразными задачами дополненной реальности. Это не только игровые приложения, но например приложения для туризма позволяющие распознавать достопримечательности и выводить выводить информацию о них, а также приложения, связанные с распознаванием надписей на иностранных языках и их перевода и многое другое.
Многие передовые компании занимаются развитием технологий, видя перспективы компьютерного зрения.
Одним из последних примеров востребованности данного направления, является инициатива Google, которая запустила конкурс разработок в области улучшения технологий компьютерного зрения на смартфонах [8].
1.4 Распознавание образов
Распознавание образов связано с множеством различных областей исследований, в том числе с такой важной задачей как искусственный интеллект.
Каждый человек в процессе его жизнедеятельности постоянно и непрерывно осуществляет распознавание различных объектов. Для создания устройств, которые смогли бы повторить функции распознавания осуществляемые человеком, необходимо понимание главных особенностей и принципов распознавания, заложенных природой в человеке.
Распознавание образов по сути является задачей идентификации объекта и отнесения его к определенному классу посредством определения и выделения его признаков.
При цифровой обработке изображений, существуют стандартные этапы распознавания образов [9]. Они могут быть объединены в две большие категории: этапы, в результате которых осуществляется обработка поступившего изображения, результатом данных этапов является обработанное изображение, и этапы, осуществляющие обработку изображения с целью выделения, описания и классификации объектов распознавания, собственно само распознавание. Результатом этих этапов являются атрибуты изображения.
К первой категории относятся следующие этапы:
- получение и масштабирование (при необходимости) изображения;
- фильтрация и улучшение изображения;
- обработка цветных изображений;
- вейвлеты и крупномасштабная обработка изображений;
- сжатие изображения;
- морфологическая обработка;
Данные этапы создают предпосылки для перехода к этапам по выделению, классификации объектов и их распознавания:
- сегментация изображения;
- анализ;
- выбор признаков / атрибутов для классификации;
- распознавание образов;
- обучение.
Как было сказано ранее, одним из основных этапов при распознавании образов является описание объектов, выявление характерных признаков и их классификация. Объектом распознавания могут являться как физические объекты так и математические, нематериальные модели. По причине большого количества и разнообразия объектов и групп объектов распознавания на данный момент существует большое количество методов распознавания.
По характеру информации о признаках распознаваемых объектов среди методов распознавания образов можно выделить следующие основные группы [10]:
- детерминированные методы;
- вероятностные методы;
- логические методы;
- структурные методы.
Детерминированные методы - методы, использующие для распознавания геометрические меры близости, и основанные на определении расстояний между объектом распознавания и эталоном.
Вероятностные или статистические методы - методы, основанные на теории статистических решений и использующие для распознавания наличие вероятностных зависимостей между признаками объекта распознавания и классами, к которым эти объекты относятся.
Логические методы - методы, основанные на дискретном анализе и базирующемся на нем исчислении высказываний. Данные методы предусматривают наличие логических связей, выраженных через систему булевых уравнений.
Структурные или лингвистические методы - методы использующие аппарат математической лингвистики для описания структуры изображения, т.е. описание образов в виде иерархической структуры подобразов, аналогичной синтаксической структуре языка. Применяется в случаях когда объект не может быть описаны числовыми измерениями, или настолько сложен, что локальные признаки идентифицировать не удается.
Нередко при разработке системы распознавания использует несколько методов.
Также отдельно выделяют группы методов с использованием нейронных сетей. Нейросетевые методы - это методы, базирующиеся на применении различных типов нейронных сетей. Методы основываются на нейросетевых технологиях обучения понятиям, распознавания сложных образов и принятия решений с помощью средств поиска логического вывода.
1.5 Особенности, требования и ограничения разрабатываемой системы
Главными особенностями разрабатываемой системы являются:
- Предметом распознавания являются жесты одной руки, в связи с этим разница между символами не большая.
- Точность распознавания критична т.к. ошибка в одном символе может поменять смысл слова.
- Некоторые символы представлены в языке жестов в виде жеста в движении, в связи с этим такие жесты (символы) могут быть представлены в виде набора жестов.
- Последовательность символов обычно представляет слово или фразу (обычно сложные слова или имена собственные). В связи с этим, целесообразно после распознавания законченной последовательности символов проводить синтаксический и грамматический анализ.
- Жесты отличаются в зависимости от человека который их показывает. В связи с этим, целесообразно предусмотреть возможность обучения системы под определённого диктора.
Исходя из вышеперечисленных особенностей объекта распознавания и с целью обеспечения высокой точности распознавания, система должна обеспечивать решение следующих частных задач:
- определять начала и конца символа;
- определять начало и конец слова (фразы);
- обеспечивать настройку под определённого диктора.
Исходя из перечисленных выше особенностей при разработке системы должны быть учтены следующие требования и ограничения:
- угол поворота исходного жеста не должен превышать 450;
- размер жеста в кадре должен составлять не менее 15% и не выходить за пределы кадра;
- устройство обработки изображения (т.е. устройство на котором находиться система) должно обладать достаточной производительностью для работы в режиме реального времени и для обработки не менее 15 кадров в секунду;
- должна быть обеспечена максимальная стационарность камеры.
2. Выбор методов и алгоритмов решения поставленной задачи
В данной главе будет рассмотрены методы и этапы работы системы распознавания образов применительно к поставленной задаче распознавания жестов.
2.1 Основные этапы работы системы
Прежде чем приступить к выбору методов обработки, описания и классификации жестов необходимо описать алгоритм работы системы. Необходимо заметить, что результатом работы системы является слово, полученное в результате распознавания ряда символов, поэтому при распознавании языка жестов необходимо решать две последовательные задачи:
Задача 1: распознавание жеста и поиск его текстового значения;
Задача 2: распознавание слова или предложения, составляемых из полученных ранее символов и корректировка паттернов.
Для выполнения первой задачи изначально осуществляются стандартные этапы, включающие в себя: захват видео и извлечение изображения.
Затем, исходя из особенностей стоящей задачи и требований к системе, полученные изображения должны быть проанализированы на наличие ключевых кадров. Система должна фильтровать поступающие изображения с целью определения кадров, которые содержат жест и отсеивания остальных кадров.
Далее следуют стандартные этапы по обработке полученных ключевых кадров: предварительная обработка, обработка изображения для выделения признаков, затем классификация и принятие решения. [9]
В результате выполнения первой задачи мы получаем символ - букву и / или последовательность символов - букв.
Следующей задачей является составление из полученных букв слова, в том числе: определение завершенности слова, анализ слова на грамматические ошибки. На основании полученных результатов осуществляется корректировка существующих или добавление новых паттернов для распознавания символов. На рисунке 2 схематично изображена последовательность выполнения действий.
Рис. 2. Основные этапы работы системы
2.2 Захват видео и извлечение изображений
Во избежание проблем с последующими этапами, необходимо чтобы уже на моменте захвата видео происходила его предварительная обработка, а именно видео приводилось к определённому формату это позволит решить проблему с «независимостью от устройств».
Далее необходимо извлечь изображение из потокового видео. С учётом того, что количество кадров в секунду которое поступает в нашу систему может быть достаточно большим и это может замедлить работу системы, необходимо будет определить оптимальное количество кадров в секунду которое наша система должна извлекать из потокового видео. Эта величина зависит от производительности устройства на котором установлена система, сложности алгоритма выбранного для распознавания жеста, и качества изображения (количества пикселей на изображении).
2.3 Предварительный поиск ключевых кадров
Как было сказано ранее, процесс жестовой коммуникации предполагает быструю демонстрацию символов, поэтому возникает задача определения начала и конца символа, т.е. выделения ключевых кадров, содержащих собственно сам символ и «отсеивания» ненужных кадров.
Для решения задачи поиска ключевых кадров можно использовать ряд методов. Одним из таких методов является определение уровня изменений в кадре по отношению к предыдущему. Определение данного уровня является отдельной задачей, которую можно решать в том числе экспериментальным методом. При правильном подборе значения с помощью этого метода можно «отсеивать» большое количество кадров между жестами по которым невозможно достоверно определить жест. Минусом данного метода является то, что низкий уровень изменений не всегда означает, что мы сможем точно определить ключевой кадр, по которому можно будет распознать жест, например в случае отсутствия жеста в кадре.
Правильный подбор пороговых значений изменения, при котором кадр считается ключевым является важнейшей задачей на данном этапе. Исходя из того, что кисть руки демонстрирующая жест может находится на разном расстоянии от камеры, уровень изменений целесообразно вычислять в процентном соотношении площади изменений к площади жеста. Так как нахождение площади жеста каждый раз является достаточно ресурсоемким процессом предлагается использовать площадь жеста на предыдущем ключевом кадре. В большинстве случаев, при движении руки в кадре без изменения расстояния между камерой и рукой соотношение площади изменений к площади жеста будет больше или равным единице т.е. площадь изменений будет больше площади жеста. При этом важно заметить, что речь идет не о количестве пикселей, цвет которых изменился, а именно о площади изменений т.к. часть пикселей изображения руки при движении не будет менять цвет. При отдалении руки от камеры без перемещения её в плоскости соотношение будет равно единице а при приближении будет больше единицы. Таким образом, если соотношение площади изменения к площади жеста больше единицы кадры можно отфильтровывать. Более точно пороговое значение необходимо выяснить экспериментальным путем в процессе тестирования.
Также нужно заметить, что с помощью площади предыдущего кадра и степени изменений можно узнать приблизительный размер текущего жеста что в дальнейшем может быть использовано при фильтрации контуров.
распознавание жест образ глухонемой
2.4 Выбор метода распознавания
Разнообразие решаемых задач распознавания при которых необходимо осуществлять классификацию, подразумевает использование огромного количества разнообразных методов и алгоритмов. Универсальные методы для решения задач распознавания отсутствуют, поэтому с каждым днем, и с каждой новой задачей растет число методов и алгоритмов классификации и распознавания.
Системы распознавания образов создаются для решения задач распознавания конкретных объектов. Соответственно, метод распознавания выбирается исходя из поставленной задачи. При этом нередко используются несколько, последовательно выполняемых методов.
В рамках работы нашей системы будет распознаваться жест руки, захваченный камерой. Необходимо выбрать метод распознавания наиболее подходящий для решения именно нашей задачи.
Возможность распознавания основана на схожести однотипных объектов. Между объектами распознавания всегда можно найти сходство по ряду признаков. Поэтому одним из основных понятий при решении задач распознавания - это понятие классификации объектов. И, как мы же писали в разделе 1.4, задача распознавания заключается в отнесении вновь поступающих объектов по их описанию и признакам к определенным классам.
Таким образом, для решения поставленной задачи необходимо выделить признаки и свойства присущие изображениям, содержащим жест руки.
Для того чтобы понять, какими признаками можно описать жест для дальнейшей классификации, нужно проанализировать по каким чертам можно различить жесты. Рассмотрим изображения с жестами азбуки глухонемых, представленных на рисунке 3.
Рис. 3. Жесты азбуки глухонемых
Проанализировав изображение с набором жестов и проведя над ним различные преобразования можно заметить, что контуры жестов достаточно отличаются друг от друга (рис. 4).
Рис. 4. Контуры жестов
Как мы видим, контуры жестов являются весьма информативными для целей идентификации жеста.
Среди детерминированных методов распознавания широкое распространение получил контурный анализ, который является совокупностью методов определения, описания и преобразования контуров изображений с целью их распознавания.
Так как контурный анализ является одним из самых простых и быстрых методов распознавания образа, возьмем его как основной метод для поставленной задачи. [11,12,13]
Один из недостатков контурного анализа - чувствительность к шуму, необходимо минимизировать путем предварительной обработки, которая описана в следующем разделе.
2.5 Предварительная обработка изображений
Для того чтобы увеличить точность нахождения контура перед выделением контуров, изображение обычно подвергается предварительной обработке [14]. При предварительной обработке в зависимости от того какой метод выделения контуров будет использоваться могут применятся следующие методы предварительной обработки изображения:
- сглаживание, фильтрация шума, повышение контраста;
- перевод изображение в полутоновое;
- удаление фона;
- бинаризация изображения;
- сегментация изображения.
Сглаживание. Размытие изображения для удаления шума. Один из самых важных этапов при выделении контуров, так как большинство методов при высоком уровне шума на изображений оказываются неработоспособными и приводят к появлению ложных контуров, чёрных пятен и разрывов как при бинаризации изображения так и на других этапах.
Перевод изображение в полутоновое. Так как при распознавания жеста цвет не несет значительной информации и цветное изображение не будет использоваться при анализе и при сравнении образов не будут использоваться цветовые критерии, а также в связи с тем, что цветное изображение тяжело сегментировать и анализировать, то для дальнейшего анализа изображение, необходимо перевести в полутоновое, а затем осуществить бинаризацию.
При переводе изображения из цветного в полутоновое серое используется схема RGB to YUV. Для этого будет будет получена интенсивность (яркость) по формуле:
где R, G, B - красный, зеленый и синий каналы соответственно.
Данная формула использует коэффициенты чувствительности человеческого глаза к RGB цветам и позволяет вычислить монохромную яркость каждого отдельного пикселя.
Так как работать с полутоновым изображением не на много легче, чем на цветном, потому что оно содержит много лишней информации, то следующим шагом необходимо полутоновое изображение перевести в бинарное.
Бинаризация. Это операция порогового разделения, результатом которой является нарисованное изображение. Бинаризация нужна для уменьшения количества информации, которое содержится на изображении. Обычно исходным изображением при бинаризации является полутоновое изображение с некоторым количеством уровней яркости. Итогом бинаризации является черно-белое изображение, пиксели которого имеют только значения 0 и 1. Бинаризация обычно происходит по определенному порогу и может происходить разными способами и с разными пороговыми значениями [15, 16, 17].
Выделяют следующие виды методов бинаризации:
Обработка с постоянным порогом - данные методы используют постоянный для всего изображения порог (а некоторые и вообще постоянные, не зависящие от изображения пороговые значения). Такие методы также называют глобальными или с глобальным пороговым значением. Среди методов с пороговым значением выделяют:
1. Бинаризация с нижним порогом - наиболее простой метод пороговой бинаризации с одним глобальным пороговым значением:
Суть данного метода заключается в том что значения меньше порогового становятся равны единице (т.е. белым цветом), а значения выше порога нулю (т.е. черным цветом). Минусом данного метода является сложность в нахождении этого порогового значения.
2. Бинаризация с верхним порогом - аналогично бинаризации с нижним порогом но результатом является негатив изображения, полученного в процессе бинаризации:
3. Бинаризация с двойным ограничением - данный метод используется для выделения областей, в которых у требуемых пикселей значения яркости меняется в заданном диапазоне:
4. Неполная пороговая обработка - данный метод используется для отделения фона от основного изображения оставляя при этом все детали, что упрощает дальнейший анализ.
5. Многоуровневое пороговое преобразование - данный вид порогового изображения не является бинаризацией т.к. в результате его работы мы получаем изображение не являющееся бинарным, а состоящие из сегментов с различной яркостью:
.
На рисунке 5 представлен пример обработки изображения посредством бинаризации с постоянным двойным ограничением.
Рис. 5. Пример обработки изображения посредством бинаризации с постоянным порогом
Адаптивная бинаризация. Данные методы, в отличие от бинаризации с постоянным порогом вычисляют порог для каждой выбранной области (способ вычисления порога и выбора области зависит от метода) [18]. Такие методы также называют локальными или с локальным пороговым значением. Наиболее популярными и часто используемыми адаптивными методами бинаризации изображений являются:
1. Метод Ниблэка - суть метода заключается в подборе порогового значения для каждого пикселя на основе локального и среднеквадратичного отклонения. Порог для точки с координатами (x, y) вычисляется по формуле:
Где - среднее квадратичное отклонение, - среднее квадратичное отклонение окрестности точки, а значение k определяет, какую именно часть границы объекта необходимо взять в качестве объекта.
Данный метод позволяет достичь наиболее высокой скорости бинаризации изображений за счет своей простоты. Метод хорошо подходит для быстрой обработки контрастных изображений с малым уровнем шума и отсутствием участков с плавным переходом яркости. На рисунке 6 представлен пример обработки изображения с использованием метода Ниблэка.
Рис. 6. Пример обработки изображения с использованием метода Ниблэка
2. Метод Бернсена - метод предполагает определение порогового значения для каждого пикселя изображения с помощью деления изображения на квадраты размером rЧr вокруг целевого пикселя (m, n). Каждый пиксель имеет порог в пределах квадрата, вычисляемый по следующей формуле:
где jhigh - наибольший уровень яркости квадрата, jlow - наименьший уровень яркости квадрата.
Если текущий пиксель меньше константы заданной пользователем, то пиксель будет относится только к одному из видов: черному или белому. Если среднее отклонение меньше порога контраста-то рассматриваемый пиксель становится того цвета, который задавался параметром «цвет сомнительного пикселя».
Метод Бернсена имеет ряд недостатков главным из которые является то, что в полученном изображении при обработке однородных областей формируются достаточно сильные помехи, что в ряде случаев приводит к появлению ложных черных пятен.
3. Метод Эйквеля - данный метод основывается на обработке изображений с помощью двух концентрических окон: маленького - S, и большого L. Обычно форма окна имеют квадратную форму. Оба окна последовательно слева-направо сверху-вниз накладываются на изображение с шагом равным стороне маленького окна S. Для окна L рассчитывается порог B так, чтобы поделить пиксели на два кластера. Если математические ожидания уровня яркости в двух кластерах имеют разницу, превышающую некоторый заданный пользователем уровень /м1-м2/?l, то все пиксели внутри окна S бинаризуются в соответствии с порогом T. В противном случае, яркость пикселей из окна S заменяется некоторым близким значением.
4. Данный метод является одним из самых производительных и часто применяется для обработки четких и контрастных изображений. Но в связи с тем, что в местах низкой контрастности появляются разрывы и ложные черные области метод плохо подходит для обработки тонких пересекающихся линий и зачастую требует постобработки полученного им бинарного изображения.
5. Метод Кристиана - метод предполагает определение местного порогового значения нормализуя контраст и шум изображения следующим образом:
где k = 0.5, M - глобальное минимальное серое значение т.е. значение всего изображения, R - максимальное среднеквадратичное отклонение серого значения из локального окна, которые вычисляемы из гистограммы.
Этот подход достигает одни из лучших результатов бинаризации среди методов локального значения, описанных выше. Однако, производительность метода Кристина значительно ухудшается, если имеются заметные изменения серого фоновых значений по всему изображению.
Методы бинаризации на основе гистограмм. Данные методы основываются на нахождении значений яркости с помощью построения гистограммы содержащей функцию яркости от количества точек с соответствующей яркостью.
Одним из таких методов является Метод «Мод», который обычно используется для изображений с хорошо отделимым фоном и объектом, так как на гистограмме будет видно два хорошо различимых пика.
Порог в данном случае можно найти на впадине между двумя этими пиками, соответствующие значение интенсивности этого минимума будет являться порогом для бинаризации.
Данный метод плохо работает на изображениях с низкой яркостью, так как при этом возникают значительные погрешности.
Некоторые из методов такие как Метод Бернсена, Метод Эйквеля, Метод Ниблэка требуют выполнение постпроцессинга (дополнительной обработки) для удаления шума, разрывов и ложных чёрных пятен.
2.6 Контурный анализ
Под контуром объекта обычно понимают пространственно протяженный перепад или резкое изменение значения яркости. Обычно контуром считаются те перепады яркости значения высоты и угла наклона которого превосходят некоторые пороговые значения.
При выделении контура зачастую возникает ряд проблем:
- разрыв контура в местах, недостаточно быстрого изменения яркости;
- ложные контуры, вызванные наличием шума на изображении;
- широкие контурные линии, вызванные размытостью изображения, наличием шума или недостатками используемого алгоритма;
- неточность в позиционировании, вызванные тем, что контуры линии ненулевой ширины.
На данный момент существует большое количество алгоритмов выделения и фильтрации контуров, которые с той или иной степенью успешности решают эти проблемы. Ниже описаны самые популярные из них.
Оператор Собеля
Дискретный дифференциальный оператор применяемый для выделения границ, основывающийся на вычислении приближённого значения градиента яркости изображения [19]. Часто применяется как один из шагов в более сложных и многоступенчатых алгоритмах, таких как оператор Кенни.
В процессе работы, оператор Собеля находит вектор градиента яркости или его норму для каждой из точек изображения. Данный оператор используется для обнаружения двух видов рёбер вертикальных и горизонтальных.
В процессе работы оператора используются значения интенсивности в окрестности 3Ч3 каждого пиксела изображения для нахождения локального градиента изображения в этой окрестности. Оператор использует для описания весовых коэффициентов яркости только целочисленные значения.
Матрицы свёртывания оператора Собеля горизонтальная и вертикальная, соответственно:
Результат рассчитывается из формулы:
и
где А - исходное изображение, * - двумерная операция свертки, и - два изображения, на которых каждая точка содержит приближенные производные по x и по y.
Приближённое значение величины градиента в каждой точке изображения вычисляется путем использования полученных приближенных значений производных:
На основании величины градиента можно вычислить направление градиента:
На рисунке 7 представлен пример обработки изображения с использованием оператора Собеля.
Рис. 7. Пример обработки изображения с использованием оператора Собеля
Из рисунка видно, что даже при однородном фоне появляется много шума, хотя контура весьма четкие и нет пропадания участков контура.
Оператор Лапласа
Метод выделения контуров по Лапласу отличается от других тем, что не зависит от направления границы, так как оператор Лапласа использует производные второго порядка. Предположим что функция яркости f (x, y) является функцией непрерывных аргументов, в таком случае оператор Лапласа можно выразить следующим образом:
Применение Лапласиана для выделения границ основывается на том, что он принимает максимальное значение на участках перегибов функции яркости.
Оператор Лапласа обычно реализуют в виде процедуры локальной линейной обработки с областью 3х3, и свёртывания горизонтальных вертикальных и диагональных рёбер, ниже изображены матрицы (ядра) свертывания по горизонтали, вертикали и диагонали соответственно:
Главным недостатком данного оператора является в том что в случае недостаточно резкой границы (функция яркости содержит участки постоянного наклона) может произойти раздваивание границы. В этом случае для получения результата необходимо применить дополнительную обработку полученного изображения. На рисунке 8 представлен пример обработки изображения с использованием оператора Лапласа.
Рис. 8. Пример обработки изображения с использованием оператора Лапласа
Из рисунка видно, что даже при однородном фоне появляется много шума и на одном из пальцев пропадает участок контура.
Оператор Прюитт
Оператор Прюитт вычисляет градиент интенсивности изображения у каждого пикселя изображения, давая направление наибольшего возможного увеличения от света к темноте и скорости изменения в этом направлении. Результат работы оператора показывает насколько резко или плавно изображение изменяется в этой точке, а следовательно насколько вероятно, что эта часть изображения представляет собой край контура, а также то, как этот край может быть ориентирован [19].
В целом данный оператор схож с оператором Собеля и отличается в основном матрицами свертывания:
Оператор Кэнни
Наиболее популярный оператор обнаружения границ изображения разработанный австрийским специалист в области информатики Джоном Кэнни в 1986 году использует многоступенчатый алгоритм для обнаружения большого спектра границ на изображениях [20, 21, 22, 23].
Несмотря на то что данный метод был разработан 32 года назад, он актуален на данный момент и является одним из лучших детекторов границ и применяется в большинстве случаев.
Детектор границ Canny опирается на три основных критерия:
- повышение отношения сигнал/шум;
- правильное определение положения границы;
- единственный отклик на одну границу.
На основе этих критериев строится целевая функция стоимости ошибок, благодаря минимизации которой, находится наиболее оптимальный линейный оператор для свертки с изображением.
В алгоритме работы оператора Кенни можно выделить 5 основных этапов:
Сглаживание - размытие изображения для удаления шума.
Так как результаты обнаружения края влияют на шум изображения, для предотвращения вызванного шумом ложного обнаружения, необходимо отфильтровать шум. Для сглаживания изображения применяется фильтр Гаусса для свертки с изображением. В результате данного этапа изображение слегка сглаживается для уменьшения эффекта очевидного шума на краевом детекторе. Уравнение для гауссовского фильтра размера (2k + 1) Ч (2k + 1) задается формулой:
Пример гауссовского фильтра 5 Ч 5, для создания смежного изображения, с
При этом, на работу детектора влияет выбор размера гауссовского ядра. Чувствительность детектора к шуму уменьшается при увеличении размера ядра. В то же время того, увеличение размера ядра гауссовского фильтра приводит к незначительному увеличению ошибки локализации для обнаружения края. Фильтр 5 Ч 5 подходит для большинства случаев.
Поиск интенсивности градиентов изображения - поиск участков где градиент изображения приобретает максимальное значение. На данном этапе вычисляется величина градиента, аналогичная оператору Собела.
Ребро в изображении может указывать на различные направления, поэтому алгоритм Кэнни использует четыре фильтра для обнаружения горизонтального, вертикального и диагонального краев в размытом изображении. Определив значение для первой производной в горизонтальном направлении (Gx) и в вертикальном направлении (Gy) определяется граничный градиент и направление:
где G - можно вычислить с помощью функции определения гипотенузы, а равна тангенсу двух аргументов.
Угол наклона кромки округляется до одного из четырех углов (0°, 45°, 90° и 135°). Направление кромки, падающее в каждой области цвета, будет установлено на определенные значения угла.
Подавление немаксимумов. Введенное Кэнни понятие подавление немаксимумов (Non-Maximum Suppression) означает, что пикселями границ объявляются только те точки, в которых достигнут локальный максимум градиента в направлении вектора градиента. Данный этап позволяет уменьшить количество точек границы отсеяв те, в которых не достигнут локальный максимум градиента. Данный процесс также связан с «утончением» краев контура.
Необходимость данного этапа обусловлена тем, что край, извлеченный из значения градиента после применения градиентного расчета, все еще довольно размыт. А также тем, что согласно 3-ему критерию, на котором основывается оператор Кэнни, должен быть только один точный ответ на край. Таким образом, не максимальное подавление может помочь подавить все значения градиента (путем установки их на 0), кроме локальных максимумов, которые указывают местоположения с самым резким изменением значения интенсивности. На этом этапе для каждого пикселя в градиентном изображении:
1. Сравнивается прочность края текущего пикселя с силой края пикселя в направлениях положительного и отрицательного градиентов.
2. Значение сохраняется если прочность края текущего пикселя наибольшая по сравнению с другими пикселями в маске с тем же направлением. Иначе значение подавляется.
Реализации алгоритмов бывают разными, так например в некоторых реализациях алгоритм классифицирует направления непрерывного градиента на небольшой набор дискретных направлений, а затем перемещает фильтр 3x3 по выходному результату предыдущего шага (то есть направления и направления градиента). На каждом пикселе он подавляет силу края центрального пикселя (устанавливая его значение на 0), если его величина не превышает величину двух соседних в направлении градиента. Например:
- если угол округлого градиента равен 0° т.е. край находится в направлении север-юг, то точка будет считаться находящейся на краю, если ее градиентная величина больше, чем величины в пикселях в восточном и западном направлениях;
- если угол округлого градиента равен 90° т.е. край находится в направлении восток-запад, точка будет считаться находящейся на краю, если ее градиентная величина больше, чем величины в пикселях в северном и южном направлениях;
- если угол закругленного градиента равен 135° т.е. край находится в направлении северо-восток-юго-запад, точка будет считаться находящейся на краю, если ее градиентная величина больше, чем величины в пикселях в северо-западном и юго-восточном направлениях;
- если угол закругленного градиента равен 45° т.е. край находится в направлении северо-запад-юго-восток, точка будет считаться находящейся на краю, если ее градиентная величина больше, чем величины в пикселях на северо-востоке и юго-западе направления.
В более точных реализациях линейная интерполяция используется между двумя соседними пикселями, которые располагаются вдоль направления градиента. Например, если угол градиента находится между 45° и 90°, интерполяция между градиентами на северном и северо-восточном пикселях даст одно интерполированное значение, а интерполяция между южными и юго-западными пикселями даст другой. Величина градиента в центральном пикселе должна быть больше, чем одна из них, чтобы она была отмечена как край.
Важно заметить, что знак направления не имеет значения, т.е. север-юг - это то же самое, что и юг-север и т.д.
На рисунке 9 проиллюстрирован принцип подавления.
Рис. 9. Пример подавления не максимумов
Большинство пикселей на рисунке «имеют ориентацию вверх», в таких случаях значение градиента в них сравнивается с ниже- и вышерасположенными пикселями, после чего пиксели, обведенные белым контуром останутся в финальном изображении, а остальные - будут подавлены.
Двойная пороговая фильтрация. На данном этапе определяются потенциальные границы.
После применения не максимального подавления оставшиеся пиксели обеспечивают более точное представление реальных ребер в изображении. Однако некоторые пиксели ребер остаются ложными, вызванными шумом и изменением цвета. Чтобы учесть эти ложные ответы, важно отфильтровать крайние пиксели со слабым значением градиента и сохранить краевые пиксели с высоким значением градиента. Это достигается путем фильтрации с помощью двух пороговых значений. Значения краевого пикселя разделяются на сильные и слабые по следующим правилам:
- если значение градиента краевого пикселя выше, чем высокое пороговое значение, оно отмечено как сильный пиксель края;
- если значение градиента краевого пикселя меньше высокого порогового значения и больше, чем низкое пороговое значение, оно отмечено как слабый пиксель края;
- если значение краевого пикселя меньше порогового значения, оно будет подавлено.
Два пороговых значения обычно определяются эмпирически, и их определение будет зависеть от содержания данного входного изображения.
Важно заметить, что чем меньше порог, тем больше границ будет найдено, но при этом результат станет более восприимчивым к шуму, выделяя ложные контура на изображении. А высокий порог может проигнорировать слабые края и получить часть границы или получив её фрагментами.
Трассировка области неоднозначности. Получение итоговых границ происходит путем подавления не связанных с определенными (сильными) границами краёв.
Итогом работы оператора является изображение с найденными сильными контурами. На рисунке 10 изображен результат работы оператора Кэнни.
Рис. 10. Результат работы оператора Кэнни
Как видно, на рисунке 10 почти отсутствует шум, тем не менее выделено достаточно много контуров. В случае изображения, приведенного на рисунке все контура, кроме контура жеста будут отфильтрованы как внутренние. Однако в случае, если на фоне присутствуют различные, достаточно отчетливые и большие объекты то их контуры будет тяжело фильтровать. Поэтому, целесообразно предварительно удалять фон изображения и сегментировать изображение. Это можно сделать с помощью выделения участков изображения с кожей. Реализовать такое выделение можно с помощью фильтров цвета. При данной операции все пиксели не входящие в заданный диапазон цветов удаляются (заменяются белым цветом), что позволяет, при правильном подборе диапазона удалить почти все элементы не относящиеся к жесту. Задачу подбора диапазона можно решить с помощью предварительной настройки системы, например предложив пользователю расположить кисть руки по центру захватываемой камерой области.
Однако и при правильном подборе диапазона не удастся избежать случаев, когда по причине неравномерного освещения отдельные участки изображения жеста могут быть потеряны, потому что не вошли в диапазон. В связи с этим, полученное данным методом изображение не подходит для дальнейшей обработки и выделения контуров, при этом хорошо подходит для создания маски для сегментации исходного изображения. Для этого необходимо бинаризовать изображение и найти на нём наибольшие контура на основании которых определить область нахождения жеста. При этом изображение может иметь отдельные пиксели которые не являются частью жеста но их цвет вошел в заданный диапазон, а также области разрыва контура жеста. В связи с этим было принято решение, что полученное после фильтрации цветов и бинаризации изображение необходимо последовательно подвергнуть операциям «эрозии» и «дилатации».
...Подобные документы
Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Методы распознавания образов (классификаторы): байесовский, линейный, метод потенциальных функций. Разработка программы распознавания человека по его фотографиям. Примеры работы классификаторов, экспериментальные результаты о точности работы методов.
курсовая работа [2,7 M], добавлен 15.08.2011Понятие системы распознавания образов. Классификация систем распознавания. Разработка системы распознавания формы микрообъектов. Алгоритм для создания системы распознавания микрообъектов на кристаллограмме, особенности его реализации в программной среде.
курсовая работа [16,2 M], добавлен 21.06.2014Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Обзор задач, возникающих при разработке систем распознавания образов. Обучаемые классификаторы образов. Алгоритм персептрона и его модификации. Создание программы, предназначенной для классификации образов методом наименьшей среднеквадратической ошибки.
курсовая работа [645,2 K], добавлен 05.04.2015Появление технических систем автоматического распознавания. Человек как элемент или звено сложных автоматических систем. Возможности автоматических распознающих устройств. Этапы создания системы распознавания образов. Процессы измерения и кодирования.
презентация [523,7 K], добавлен 14.08.2013Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Понятие и особенности построения алгоритмов распознавания образов. Различные подходы к типологии методов распознавания. Изучение основных способов представления знаний. Характеристика интенсиональных и экстенсиональных методов, оценка их качества.
презентация [31,6 K], добавлен 06.01.2014Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Распознавание образов - задача идентификации объекта или определения его свойств по его изображению или аудиозаписи. История теоретических и технических изменений в данной области. Методы и принципы, применяемые в вычислительной технике для распознавания.
реферат [413,6 K], добавлен 10.04.2010Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.
дипломная работа [332,2 K], добавлен 30.11.2012Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Необходимость в системах распознавания символов. Виды сканеров и их характеристики. Оптимальное разрешение при сканировании. Программы распознавания текста. Получение электронного документа. FineReader - система оптического распознавания текстов.
презентация [469,2 K], добавлен 15.03.2015Словесный, графический, табличный, программный способы представления алгоритма. Основные конструкции в любом алгоритмическом языке. Теория обнаружения, различения и оценивания сигналов. Радиолокационные системы обнаружения. Система распознавания образов.
презентация [4,8 M], добавлен 09.06.2015Анализ основных аспектов технологии компьютерного зрения, необходимых для выполнения работы. Изучение характеристик библиотеки OpenCV, оценка актуальности работы по распознаванию жестов рук. Поэтапный отчет о работе над программным обеспечением.
курсовая работа [669,9 K], добавлен 20.05.2017Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Строение артикуляционного аппарата человека с точки зрения возможности распознавания речи по артикуляции. Комплекс параметров артикуляции на основе контура внутренней области губ. Реализация модуля распознавания фонем русской речи по изображениям губ.
дипломная работа [3,1 M], добавлен 19.08.2012Методы предобработки изображений текстовых символов. Статистические распределения точек. Интегральные преобразования и структурный анализ. Реализация алгоритма распознавания букв. Анализ алгоритмов оптического распознавания символов. Сравнение с эталоном.
курсовая работа [2,1 M], добавлен 20.09.2014Отображение на плоскости точек из многомерного пространства, интерактивное распознавание отдельных классов образов в качестве объекта разработки программного продукта. Концептуальная модель предметной области. Классы и объекты интерфейса пользователя.
дипломная работа [1,5 M], добавлен 10.06.2013