Авторы: Филинов Н. Ю., профессор, к.т.н. Суков С. Ф.
Источник: Автоматизация технологических объектов и процессов. Поиск молодых
/ Сборник научных работ ХVI научно-технической конференции аспирантов и студентов в г. Донецке 25-26
мая 2017 г. - Донецк, ДонНТУ, 2017. – 341 с.
На сегодняшний день существует большое разнообразие систем слежения и распознавания, а также информационно-измерительных систем, которые имеют широкий спектр применения. Их функции используются в системах охраны, распознавания автомобильных номеров и штрих-кодов, идентификации лиц и системах трекинга различных объектов. Для выполнения задач распознавания доступен широкий выбор современных видеокамер с многообразием функциональных возможностей, позволяющих получить качественное изображение или видеопоток для дальнейшей обработки. Саму же обработку можно произвести в таких программах, как: SDK, библиотека OpenCV, PCL, SimpleCV, JMyron, подключаемые модули пакета Matlab: Image Processing Toolbox, Image Acqusition Toolbox и другие.
Одной из распространенных задач распознавания является трекинг динамических объектов. Алгоритм анализирует кадры видео и выдает данные о положении движущихся целевых объектов относительно кадра. Обратный маятник с двумя степенями свободы и определение угла его отклонения от вертикали является наиболее наглядным примером для демонстрации данной задачи.
При сопровождении объектов на видео необходимо обрабатывать большое количество потоковых данных, что затратно с вычислительной точки зрения, а значит и с точки зрения затрачиваемого на обработку времени. Особенно это справедливо, если распределение положений отслеживаемого объекта произвольной природы и не поддается точному прогнозированию. Основная проблема трекинга заключается в определении объекта в последовательных кадрах. Более того, она может быть усложнена, за счет быстрого движения тела относительно частоты кадров.
Известны следующие методы работы с изображением, позволяющие получить данные о положении маятника:
Каждый из вышеперчисленных методов можно использовать как отдельно, так и объединяя их для решения сложных задач и создания комплексных систем.
Рассмотрим решение задачи трекинга обратного маятника с двумя степенями свободы с помощью метода фильтрации. На рис. 2а изображен кадр с маятником красного цвета. Посредством обработки пикселей, соответствующих цвету маятника, выделяется необходимый объект (рис. 2б). Данный способ называется бинаризацией изображения по цвету. Он позволяет радикально уменьшить количество информации в изображении, с которой необходимо работать, что позволяет добиться более высокого быстродействия. Результатом является изображение, состоящее из двух элементов: фона и выделенного объекта – маятника.
Для решения задачи, необходимо также отслеживать положение маятника в реальном времени. Программа Matlab, которая имеет подходящие подключаемые модули Image Processing Toolbox и Image Acqusition Toolbox, является оптимальным выбором, так как данные модули включают в себя все необходимые функции для реализации требуемого решения поставленной задачи. Также продукт, созданный с помощью вышеперечисленных модулей, может быть интегрирован в систему стабилизации обратного маятника, разработанную в среде Matlab, что, в свою очередь, позволит добиться большего быстродействия всей системы в целом. Учитывая то, что маятник имеет две степени свободы, необходимо использовать две видеокамеры, расположенные строго перпендикулярно друг к другу (рис. 3). Для корректной работы системы характеристики выбранных видеокамер должны быть одинаковыми. Особое внимание стоит обратить на их разрешающую способность и максимально возможную частоту съемки видео.
Разработка алгоритма определения угла наклона маятника для двух видеокамер является важной и основной частью решения задачи трекинга. Один из вариантов алгоритмов, который позволяет решить поставленную задачу с минимальными затратами ресурсов вычислительной техники и обладает высокой точностью определения угла отклонения маятника от вертикали, представлен на рис. 4.
Данный алгоритм позволяет получить видеопоток с веб-камеры, подключенной к ПК, и производить обработку каждого полученного кадра. Обработка кадра происходит следующим образом:
После использования вышеперечисленной последовательности действий можно верно определить угол отклонения маятника от вертикального положения. Также необходимо отметить то, что данный алгоритм был описан для одной веб-камеры, следовательно, требуется применять его к каждой веб-камере, подключенной к ПК для трекинга положения маятника с двумя степенями свободы.
Для подтверждения работоспособности данного алгоритма и всей системы компьютерного зрения, разработанных в среде 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