Статья:

ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА ОБНАРУЖЕНИЯ И АНАЛИЗА ОБЪЕКТОВ ДЛЯ АВТОМАТИЧЕСКОГО МАНИПУЛЯТОРА

Конференция: XXXIII Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»

Секция: 3. Информационные технологии

Выходные данные
Куделькин М.В. ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА ОБНАРУЖЕНИЯ И АНАЛИЗА ОБЪЕКТОВ ДЛЯ АВТОМАТИЧЕСКОГО МАНИПУЛЯТОРА // Молодежный научный форум: Технические и математические науки: электр. сб. ст. по мат. XXXIII междунар. студ. науч.-практ. конф. № 4(33). URL: https://nauchforum.ru/archive/MNF_tech/4(33).pdf (дата обращения: 28.12.2024)
Лауреаты определены. Конференция завершена
Эта статья набрала 1 голос
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА ОБНАРУЖЕНИЯ И АНАЛИЗА ОБЪЕКТОВ ДЛЯ АВТОМАТИЧЕСКОГО МАНИПУЛЯТОРА

Куделькин Михаил Владимирович
магистрант 2 курса группы 14ФИИТ(м)ИС Оренбургского государственного университета, кафедра геометрии и компьютерных наук, РФ, г. Оренбург
Дженжер Вадим Олегович
научный руководитель, доц. кафедры геометрии и компьютерных наук Оренбургского государственного университета, РФ, г. Оренбург

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

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

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

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

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

Если в исследуемом пространстве появляется более одного объекта, то возникают дополнительные трудности, поскольку объекты могут перекрывать друг друга, что критично для анализа двумерной сцены [3].

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

 

Рисунок 1. Схема аппаратной платформы и манипулятора

 

Чтобы обнаружить объект и исследовать его в реальном времени, необходимо обрабатывать потоковые кадры с видеокамеры. В работе используется одна видеокамера, что позволяет провести качественный анализ изображения. Для исследовательских целей не обязательно выбирать дорогостоящее оборудование. Можно обойтись обычной веб-камерой среднего качества. Для проекта была выбрана камера Logitech C310 c разрешением матрицы 5МП и максимальным размером кадров 1280 x 720 пикселей. Тип фокусировки у этой веб-камеры фиксированный. Это означает, что рядом с линзой фокус может быть размытым. Для данной камеры фокус будет размытым на расстоянии, меньшем 40 см от линзы. Об этом следует помнить, поскольку при работе алгоритмов машинного зрения будет увеличиваться погрешность анализа объекта, если последний будет расположен очень близко к линзе камеры. При использовании камеры с автофокусом подобной проблемы быть не должно. Также следует учитывать, что объект, не умещающийся полностью в размеры кадра, не может быть корректно проанализирован алгоритмами.

В качестве метода обнаружения объекта был выбран эффективный алгоритм поиска области по заданному цвету. Метод устойчив к переменной сцене, быстро реагирует на изменения окружающей среды и находит объект [5]. Алгоритм использует цветовую модель HSV, которая считается наиболее удобной для поиска объектов по цвету. Цветное изображение разбивается на три канала H, S и V. К каждому канальному изображению применяется пороговое преобразование с учётом интересующего цвета. Получившиеся изображения объединяются логической операцией И. На выходе получается чёрно-белое изображение, где белым цветом будет найденный объект. Поскольку объект в кадре всегда только один, найденный предмет будет представлять собой белый прямоугольник в чёрном фоне кадра [2].

Следует учитывать, что цвет объекта сильно зависит от его освещения. В результате, если освещение меняется, то объект можно вообще не обнаружить. Если объект освещён неравномерно, то и распознаваться будет только часть объекта. Подобная проблема решается искусственным освещением сцены ярким рассеянным светом. Ясно, что нужно заранее знать цвет исследуемого объекта.

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

1.  находятся координаты центра белой области (распознанного объекта), которые сравниваются с центром кадра относительно координаты X;

2.  камера поворачивается в нужном направлении, пока координаты центров не совпадут.

Обязательно требуется знать точное расстояние до объекта, чтобы, во-первых, понять, возможно ли будет до него дотянуться манипулятором, а во-вторых, вычислить реальные размеры объекта – его высоту и ширину [4]. Найти расстояние проще всего при помощи датчика расстояний. Камера и датчик должны быть закреплены соосно и ориентированы в одном направлении. При повороте камеры объект оказывается в центре кадра и дальномер может получить точное расстояние до него.

На следующем шаге находятся реальные размеры детали по формулам (1) и (2).

                                                         (1)

                                                      (2)

Здесь h и w – истинный размер объекта (высота и ширина), f – фокусное расстояние камеры, d – расстояние от линзы до объекта, H и W – размер объекта на матрице камеры в миллиметрах (высота и ширина). Размер объекта на матрице камеры можно узнать, зная размер матрицы в миллиметрах и составив пропорции (3) и (4):

                                                            (3)

                                                          (4)

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

Информацию о фокусном расстоянии камеры удалось выяснить в технической поддержке на сайте Logitech. Информацию о точных размерах матрицы получилось выяснить опытным путём, выразив их из формул и зная точно все остальные величины заранее.

Таким образом размеры исследуемого объекта можно установить с погрешностью в несколько миллиметров.

Для управления всей электроникой аппаратной платформы в работе использовался микроконтроллер на плате Arduino UNO.

Для обеспечения движения веб-камеры применялся сервопривод. Учитывая небольшой вес веб-камеры, для её поворота подойдёт маломощный сервопривод. Нами был выбран качественный и недорогой экземпляр “Micro Servo SG90”. Он способен поворачиваться на заданный угол в диапазоне от 0 до 180 градусов, чего в данном случае более чем достаточно. Кроме того, сервопривод предоставляет информацию о текущем угле поворота, что также необходимо при позиционировании манипулятора.

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

Внешний вид аппаратной платформы показан на рис. 2.

 

Рисунок 2. Аппаратная платформа: (а) вид сзади; (б) вид спереди

 

В качестве среды разработки была выбрана Visual Studio 2013. Основной язык программирования — С++. Для работы с видео и изображениями использовалась библиотека OpenCV [2]. Вывод информации об объекте осуществляется рядом с его изображением в реальном времени.

Алгоритмы управления датчиками и сервомоторами работают на микроконтроллере и написаны на C-подобном языке контроллеров Arduino. Для программирования микроконтроллера использовалась бесплатная среда Arduino IDE [1].

Получившийся программно-аппаратный комплекс представлен графически на рис. 3.

 

Рисунок 3. Архитектура программно-аппаратного комплекса

 

На качество определения размера объекта могут повлиять такие параметры, как размер кадра и предмета, освещение, расстояние до предмета и использованные фильтры изображения (рис. 4).

 

Рисунок 4. Результаты работы алгоритма: (а) основной кадр, (б) найденный объект после объединения цветовых уровней HSV, (в) вывод данных об объекте

 

Влияние разрешения видеосъёмки на работу алгоритма

Мы рассмотрели пять различных пропорциональных размеров кадров. Оказалось, что разрешение кадра действительно может влиять на точность определения размеров. В таб. 1 приведены результаты исследований. При достаточно малом разрешении алгоритм начинает сильно ошибаться. Из таблицы видно, что отличные результаты начинаются при разрешении 320 x 180 пикселей и более. Плохие результаты можно объяснить тем, что при малом разрешении размер объекта в пикселях будет тоже небольшим. В итоге составляется недостаточно точная пропорция и вырастает ошибка.

Таблица 1.

Результат работы алгоритма при разных размерах кадра

Размер кадра (в пикселях)

Расстояние до предмета в мм

Реальные размеры предмета в мм

Найденные размеры предмета в мм

1280 x 720

600

60 x 120

60 x 122

640 x 360

61 x 122

320 x 180

60 x 122

160 x 90

67 x 135

128 x 72

93 x 178

 

Изменение расстояния до объекта

Не следует также забывать, что на результат влияет ещё и расстояние до предмета. Чем дальше предмет от объектива камеры, тем больше будет ошибаться алгоритм. Причина та же, объект при большом удалении, представляется малым числом пикселей, что влияет на точность определения размеров. В таб. 2 видно, что при разрешении 640 x 360 пикселей на расстоянии 900 и более миллиметров точность найденных размеров уменьшается. В итоге, если требуется определять размеры предметов на расстояниях больших 900 мм, разрешение камеры тоже требуется увеличить. Поскольку выбранная веб-камера фокусирует изображение на расстоянии от 40 см и более, всё что на изображении находится ближе, будет размытым. По результатам из таб. 2 заметно, что на расстояниях меньших 400 мм алгоритм начинает ошибаться. Следует отметить, что в 100 мм от камеры объект по высоте вышел за пределы кадра.

Таблица 2.

Результат работы алгоритма при изменении расстояния до предмета

Размер кадра (в пикселях)

Расстояние до предмета в мм

Реальные размеры предмета в мм

Найденные размеры предмета в мм

640 x 360

1000

50 x 80

49 x 88

900

49 x 86

800

49 x 81

700

50 x 81

600

50 x 81

500

50 x 82

400

50 x 83

300

51 x 85

200

54 x 91

100

 

Анализ предметов с разными размерами

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

Таблица 3.

Результаты исследований при распознавании предметов разных размеров

Предмет №

Реальные размеры предмета в мм

Размер кадра (в пикселях)

Реальное расстояние до предмета в мм

Найденное расстояние до предмета в мм

Найденные размеры предмета в мм

1

80 x 120

640 x 360

600

600 ± 2

80 x 122

2

60 x 120

600 ± 2

58 x 120

3

60 x 100

600 ± 2

59 x 103

4

50 x 80

600 ± 2

50 x 83

5

35 x 50

600 ± 2

35 x 51

6

16 x 80

615 ± 2

15 x 83

 

Изменение освещения сцены

Цветовые оттенки объекта могут отличаться из-за изменения освещения сцены. Это может повлиять на результат работы алгоритма. Чтобы снизить ошибку при определении размеров, нужно изначально настраивать цветовые уровни HSV с учётом разницы в освещении.

Были проведены эксперименты, в которых алгоритм определял размеры предмета с учётом изменений его освещения. При этом цветовые уровни HSV были предварительно откалиброваны. Измерялись размеры неосвещённого предмета, после чего объект освещался ярким рассеянным светом от лампы. Результаты работы алгоритма приведены в таб. 4. Видно, что в обоих случаях алгоритм практически не ошибался, если не учитывать больших и малых расстояний.

Таблица 4.

Влияние освещения на результаты работы алгоритма

Размер кадра (в пикселях)

Реальное расстояние до предмета в мм

Реальные размеры предмета в мм

Найденные размеры предмета в мм при включенной лампе

Найденные размеры предмета в мм при выключенной лампе

640 x 360

1000

50 x 83

45 x 82

45 x 82

900

48 x 82

47 x 82

800

47 x 79

47 x 79

700

49 x 83

48 x 83

600

50 x 85

48 x 84

500

49 x 84

49 x 84

400

50 x 84

50 x 85

300

52 x 90

52 x 89

200

54 x 92

54 x 92

100

 

Использование фильтров

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

Заключение

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

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

 

Список литературы:

1. Arduino and C++ (for Windows). – [Электронный ресурс] – Режим доступа. –URL: http://playground.arduino.cc/Interfacing/CPPWindows#VisualStudio2008 (Дата обращения 18.03.2016).

2. OpenCV шаг за шагом. – [Электронный ресурс] – Режим доступа. – URL: http://robocraft.ru/page/opencv/ (Дата обращения 20.03.2016).

3. Romea A.C., Berenson D., Srinivasa S., Ferguson D.I. Object Recognition and Full Pose Registration from a Single Image for Robotic Manipulation / A.C. Romea // “Carnegie Mellon University, Proceedings of the IEEE International Conference on Robotics and Automation (ICRA)”. – 2009. № 5. – P. 48–55.

4. Гейдаров П.Ш. Алгоритм определения расположения и размеров объектов на основе анализа изображений объектов / П.Ш. Гейдаров // Институт кибернетики НАН Азербайджана, «Компьютерная оптика». – 2011. – Т. 35, №2. – С. 275–280.

5. Пару слов о распознавании образов. – [Электронный ресурс] – Режим доступа. – URL: https://habrahabr.ru/post/208090/ (Дата обращения 15.03.2016).