Научная статья на тему 'К вопросу о классификации подвижных объектов на основе анализа кортежа точек'

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

CC BY
350
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАССИФИКАЦИЯ ПОДВИЖНЫХ ОБЪЕКТОВ / АНАЛИЗ КОРТЕЖЕЙ / НЕЙРОННЫЕ СЕТИ / КОНТУРНЫЙ АНАЛИЗ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Селиванов Д. И., Довгаль В.М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «К вопросу о классификации подвижных объектов на основе анализа кортежа точек»

УДК 004.51

К ВОПРОСУ О КЛАССИФИКАЦИИ ПОДВИЖНЫХ ОБЪЕКТОВ НА ОСНОВЕ АНАЛИЗА КОРТЕЖА ТОЧЕК © 2017 Д. И. Селиванов1, В.М. Довгаль2

1 аспирант кафедры программного обеспечения и администрирования информационных систем e-mail:diselivanov@gmail.com 2докт. техн. наук, профессор кафедры программного обеспечения и администрирования информационных систем e-mail: dovgalvm.profa, yandex. ru

Курский государственный университет

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

Ключевые слова: классификация подвижных объектов, анализ кортежей, нейронные сети, контурный анализ.

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

В настоящее время развиваются и находят свое практическое приложение два основных направления теории: распознавание статических объектов и распознавание подвижных объектов. Предметом исследования данной статьи являются алгоритмы распознавания подвижных объектов.

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

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

При сегментации происходит отделение интересующего нас объекта от других предметов снимка путем выделения компонент связности.

Далее рассматривается этап извлечения признаков, на котором для выделенного объекта формируется набор критериев (свойств), по которым с определенной долей вероятности можно максимально полно его характеризовать. Другими словами, задается некоторая функция f: X ^ D, которая каждому элементу из Х ставит в соответствие множество значений признака из D. Если для некоторого элемента множества Х определен кортеж (f1, f2, ..., fn) признаков, то говорят, что задано его признаковое описание. Построение признакового описания называют извлечением признаков.

По выделенным признакам строится классификатор, способный определить класс принадлежности объекта. Другими словами, для множества рассматриваемых объектов и конечного множества В строится функция ф: А ^ В такая, что на конечном наборе au а2, ..., an элементов из А значения ф(а;), ф(а2), ..., ф(а,) известны. Необходимо построить функцию, которая по выделенным признакам определяет класс принадлежности. Построенную функцию называют классификатором.

Заключительный этап - обработка результатов по итогам классификации.

Остановимся на некоторых подходах к извлечению признаков и классификации.

В настоящее время для решения задачи распознавания как статических, так и подвижных объектов часто применяется контурный анализ с различными его модификациями. «Контурный анализ - это метод распознавания объектов, основанный на работе с границами, называемыми также силуэтными линиями объекта, которые разделяют разные области, имеющие равномерную яркость» [Лагунов 2016: 17]. Применение контурного анализа сильно ограничено и возможно главным образом лишь в том случае, если контур несет полную информацию о данном объекте. В работе Я. А. Фурмана рассмотрены различные направления применения алгоритмов контурного анализа [Фурман 2003].

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

В работе И. А. Лагунова [2016] доказана возможность применения контурного анализа при распознавании не только статических образов двумерного пространства, но и подвижных объектов в трехмерном пространстве. По мнению автора, контур любого трехмерного объекта по своей природе является замкнутым, что позволяет рассмотреть возможность использования контурного анализа. Кроме того, автором обосновывается необходимость перехода от векторного представления контура к комплексификации - заданию точек границы комплексными числами. Такая возможность представления является очевидной при рассмотрении изоморфизма векторного двумерного пространства и поля комплексных чисел.

В работе «Обработка и анализ изображений в задачах машинного зрения» [Визильтер, Желтов и др. 2010] представлено доказательство возможности перехода от двумерных изображений к контурному анализу и его применение к распознаванию объектов в реальном времени.

В литературе описаны различные модификации контурного анализа, применяемые для распознавания подвижных объектов. Исследователями представлен обзор основных подходов контурного анализа, успешно реализующих задачу распознавания подвижных объектов[Сакович, Белов 2014]. В частности, авторами описаны и проанализированы следующие методы контурного анализа: метод активных контуров, метод активных контуров без предварительного выделения границ, детектор границ Кэнни, метод прослеживания контуров, метод кластеризации, метод локальной обработки, метод контурного анализа с помощью графов. Ю.С. Белов и И.О. Сакович обращают внимание на широкое распространение этих методов, выделяя их существенные недостатки. В частности, характеризуя метод активных контуров, отмечают невозможность с его помощью корректного решения задачи распознавания, «если объект не имеет четких границ или площадь неоднородна и содержит плавные градиенты» [Сакович, Белов 2014: 3], а для метода контурного анализа с помощью

графов - «сложность реализации и большая ресурсоемкость» [Там же: 6] при слабой чувствительности к шумам.

Рассмотрим возможность использования дискретизации для распознавания подвижных трехмерных объектов. Это обусловлено изучением изображения отдельно стоящего трехмерного объекта. Инвариантность методов контурного анализа к повороту, масштабированию и параллельному переносу позволяет использовать его идею для решения поставленной задачи [Вершинина, Паламарь 2002].

В статье А. Розенброком [ЯовеЬгоск] описан алгоритм распознавания плоских фигур, основанный на их геометрических свойствах. Учет числа угловых точек позволяет успешно решать задачу классификации для плоских фигур и диктует необходимость изменения алгоритма уже при рассмотрении трехмерных объектов и их двумерных проекций. Рассмотрение данного алгоритма позволило выдвинуть гипотезу о возможности классификации некоторых объектов на основании анализа кортежа точек пересечения с заданными осями (под осями мы понимаем не оси координат, а совокупность лучей, исходящих из одной точки). В данном случае симметричность системы осей (в дальнейшем «системы координат») не имеет значения.

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

Следует заметить, что поставленная задача может быть рассмотрена как совокупность трех последовательно решаемых:

- задачи генерации изображений подвижных объектов (этапы предварительной обработки и сегментации);

- задачи описания контура (этап извлечения признаков);

- задачи распознавания объекта по описанному контуру (этапы классификации и обработки результатов).

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

Генератор изображений реализован на РуШопЗ с использованием графической библиотеки ОрепСУ. Он способен представлять изображения движущихся фигур.

На рисунке 1 представлен пример работы генератора при имитации съемки вращающегося конуса. _

Рис. 1. Имитация съемки вращающегося конуса

Для анализа конкретного изображения используются реализации известных алгоритмов в открытой библиотеке компьютерного зрения ОрепСУ. В частности,

средствами ОрепСУ определен контур объекта, который оптимизируется путем удаления точек, расстояние между которыми не превышает заранее заданного значения. Данная оптимизация может быть опущена, что приведет к увеличению времени работы алгоритма.

Следующий этап связан с определением кортежа, соответствующего данному объекту. Поместим изображение некоторого трехмерного тела на двумерную плоскость с заданными осями. На каждой оси зафиксируем точки, определяющие единичные значения таким образом, чтобы пересечение изображений всех исследуемых объектов с осями не выходило за пределы отрезка [0, 1]. Это позволяет утверждать, что полученные значения элементов кортежей являются неотрицательными числами, не превосходящими 1. Полученный кортеж сохраняется в базу данных. На данный момент используется БОЬЦе. В принципе, можно рассматривать элементы кортежей как расстояния от начала «системы координат» до точки пересечения контура изображения с осями. Желание представлять элементы кортежей числами в отрезке от 0 до 1 обусловлено возможностью дальнейшей обработки результатов с применением элементов нечеткой логики. Данное направление не является предметом исследования этой статьи.

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

Рис. 2. Изображение цилиндра

Для реализации алгоритма классификации рассмотрим 8 осей, расположенных так, как показано на рисунке 2: центр «системы координат» - в центре квадрата снимка изображения. Очевидно, что реализованная нами нейронная сеть должна быть обучена таким образом, чтобы по данному кортежу можно было утверждать, что мы имеем изображение, относящееся к классу «цилиндр».

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

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

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

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

В этом случае рассматривают сверточные нейронные сети. Особенность работы этих сетей можно определить следующим образом. Обработка изображения происходит в виде некоторых слоев, каждый из которых выделяет наиболее важные признаки, абстрагируясь от предшествующих. Результатом работы этих сетей являются карты признаков. Эти карты содержат инварианты и характерные признаки. Основная идея сверточной нейронной сети заключается в чередовании С и Г слоев (¿'-слои -субдискретизирующие, С-слои - сверточные и Г-слои - выходные) [Веп§ю 2009].

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

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

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

Следует заметить, что для трех классов (куб, пирамида, цилиндр) использовалась нейронная сеть с одним скрытым слоем, в которой входной слой имеет 8 нейронов, скрытый - 256, выходной - 1. Входной и выходной слои используются с линейной функцией активации, скрытый слой - с сигмоидной.

Результаты работы алгоритма представлены в таблицах 1-3.

В таблице 1 представлен результат классификации куба, пирамиды и сферы. Алгоритм проверялся с применением вектора (3, 1, 1) вращения фигур.

Таблица 1

Зезультат работы нейросети, обученной разделять куб, пирамиду и сферу

Ошибки распознавания

Куб Пирамида Сфера

0 из 200 0 из 200 0 из 200

В таблице 2 представлен результат классификации куба, пирамиды, конуса и сферы. Алгоритм проверялся с применением вектора (3, 1, 1) вращения фигур.

Таблица 2

Ошибки распознавания

Куб Пирамида Сфера Конус

0 из 200 0 из 200 0 из 200 0 из 200

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

В таблице З представлен результат классификации куба, пирамиды, конуса, цилиндра и сферы. Алгоритм проверялся с применением вектора (3, 1, 1) вращения фигур.

Результат работы нейросети, обученной разделять

Таблица 3

Ошибки распознавания

Куб Пирамида Сфера Конус Цилиндр

19 из 200 38 из 200 0 из 200 50 из 200 67 из 200

Анализируя результат эксперимента, представленный в таблице 3, можно заметить, что добавление еще одного класса («цилиндр») привело к тому, что нейросеть перестала отвечать требованиям к точности определения.

Нами были предложены вариации ее модификации с целью уменьшения числа ошибок:

- увеличение времени обучения;

- увеличение количества нейронов скрытого слоя.

Предложенные модификации позволили лишь незначительно увеличить точность распознавания (в первом случае ошибки определения цилиндра снизились с 67 до 64, а во втором - с 67 до 60).

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

Проводя сравнительный анализ предложенного метода и метода, описанного в работе А. Розенброка [ЯоБеЬгоск], рассмотрим преимущества предложенного.

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

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

Первый класс объектов, которые не могут быть проанализированы в рамках имеющейся на данный момент реализации, - это «плоские» фигуры. К плоским фигурам относятся те, чьи проекции под одним из углов дают прямую толщиной в 1 пиксель (например, диск).

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

критерий (число точек пересечения с заданной осью) в текущий момент не используется из-за особенности хранения кортежа точек пересечения.

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

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

Библиографический список

Bengio Y. Learning deep architectures for AI // Foundations aоскnd Trends in Machine Learning. 2009. Vol. 2. P. 1-127. URL: http://www.stat.wvu.edu/~jharner/courses/dsci503/docs/ftml.pdf (дата обращения: 10.11.2017)

Rosebrock A. OpenCV shape detection. [Сайт]. URL:

https://www.pyimagesearch.com/2016/02/08/opencv-shape-detection/ (дата обращения: 10.10.2017)

Вершинина В. В., Паламарь И. Н. Организация базы знаний семантической сети на основе XML-формата. //Тез. докл. IV ВНТК «Информационные технологии в науке, проектировании и производстве». Н. Новгород: МВВО АТН РФ, 2002. C. 23.

Визильтер Ю. В. Обработка и анализ изображений в задачах машинного зрения / Ю. В. Визильтер, С. Ю. Желтов, А. В. Бондаренко, М. В. Ососков, А. В. Моржин. М.: Физматкнига, 2010. 672 с.

Лагунов Н. А. Нейросетевое моделирование распознавания

многопараметрических объектов: дис. ... канд. техн. наук. Ставрополь, 2016. 207 с.

Сакович И. О., Белов Ю. С. Обзор основных методов контурного анализа для выделения контуров движущихся объектов // Инженерный журнал: наука и инновации. 2014. Вып. 12. URL: http://engjournal.ru/catalog/it/hidden/1280.html (дата обращения: 10.11.2017)

Фурман Я. А. Введение в контурный анализ. Приложения к обработке изображений и сигналов. М.: Физматлит, 2003. 592 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.