Назад в библиотеку

Использование пакетов matlab image processing toolbox и image acquisition toolbox для трекинга положения обратного маятника с двумя степенями свободы

Авторы: Филинов Н. Ю., профессор, к.т.н. Суков С. Ф.
Источник: Автоматизация технологических объектов и процессов. Поиск молодых / Сборник научных работ ХVI научно-технической конференции аспирантов и студентов в г. Донецке 25-26 мая 2017 г. - Донецк, ДонНТУ, 2017. – 341 с.

На сегодняшний день существует большое разнообразие систем слежения и распознавания, а также информационно-измерительных систем, которые имеют широкий спектр применения. Их функции используются в системах охраны, распознавания автомобильных номеров и штрих-кодов, идентификации лиц и системах трекинга различных объектов. Для выполнения задач распознавания доступен широкий выбор современных видеокамер с многообразием функциональных возможностей, позволяющих получить качественное изображение или видеопоток для дальнейшей обработки. Саму же обработку можно произвести в таких программах, как: SDK, библиотека OpenCV, PCL, SimpleCV, JMyron, подключаемые модули пакета Matlab: Image Processing Toolbox, Image Acqusition Toolbox и другие.

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

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

Form 1

Рисунок 1 – Пример использования метода фильтрации.

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

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

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

Form 2

Рисунок 2 -Изображение обратного маятника: а) фотография маятника; б) применение метода бинаризации

Для решения задачи, необходимо также отслеживать положение маятника в реальном времени. Программа Matlab, которая имеет подходящие подключаемые модули Image Processing Toolbox и Image Acqusition Toolbox, является оптимальным выбором, так как данные модули включают в себя все необходимые функции для реализации требуемого решения поставленной задачи. Также продукт, созданный с помощью вышеперечисленных модулей, может быть интегрирован в систему стабилизации обратного маятника, разработанную в среде Matlab, что, в свою очередь, позволит добиться большего быстродействия всей системы в целом. Учитывая то, что маятник имеет две степени свободы, необходимо использовать две видеокамеры, расположенные строго перпендикулярно друг к другу (рис. 3). Для корректной работы системы характеристики выбранных видеокамер должны быть одинаковыми. Особое внимание стоит обратить на их разрешающую способность и максимально возможную частоту съемки видео.

Form 3

Рисунок 3 -Трекинг обратного маятника с помощью двух видеокамер

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

Form 4

Рисунок 4 - Блок-схема алгоритма трекинга

Данный алгоритм позволяет получить видеопоток с веб-камеры, подключенной к ПК, и производить обработку каждого полученного кадра. Обработка кадра происходит следующим образом:

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

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

Для подтверждения работоспособности данного алгоритма и всей системы компьютерного зрения, разработанных в среде Matlab с помощью пакетов Image Processing Toolbox и Image Acqusition Toolbox, были проведены экспериментальные испытания, которые показали, что на ПК с рабочей частотой двухядерного процессора 2.7 ГГц, количеством оперативной памяти 6 ГБ и двумя веб-камерами, позволяющей снимать видео с частотой 30 кадров в секунду, данный алгоритм требует 0.02-0.03с на обработку изображений и получение угла отклонения. Такие показатели подтверждают применимость и возможность интеграции данного алгоритма в системы для стабилизации обратного маятника.

Список использованной литературы

1. J. Conradt, M. Cook, R. Berner, P. Lichtsteiner, RJ. Douglas, T. Delbruck. A Pencil Balancing Robotusing a Pair of AER Dynamic Vision Sensors //Proc. of the International Conference on Circuits and Systems (ISCAS), Taipeh, Taiwan, accepted (2009) – 7 c.
2. Золотухин Н., Хорхордин А.В. Трекинг шара на горизонтальной проскости с помощью видеокамеры средствами JMyron. Материалы XVI международной научно-технической конференции «Автоматизация технологических объектов и процессов. поиск молодых», 24-26 мая 2016 г. – 3 c.
3. Баранов Б.М., Суков С.Ф. Анализ и оценка существубщих методов стабилизации конструкции в виде перевернутого маятника. Материалы XVI международной научно-технической конференции «Автоматизация технологических объектов и процессов. поиск молодых», 24-26 мая 2016 г. – 5 c.
4. Нижибицкий Е.А. Трекинг объектов на видео при помощи фильтра частиц. Дипломная работа. МГУ им. М.В.Ломоносова, М. – 2014.-[Электронный ресурс] http://www.machinelearning.ru/wiki/ Режим доступа 21.04.2017
5. U.Blad. Matlab Object Detection Tracking. – 2013.-[Электронный ресурс] https://www.youtube.com Режим доступа 21.04.2017