Перейти к содержанию

ГЛАВА 3. Программное обеспечение TrackingCam

Программное обеспечение для работы с модулем на текущий момент предлагается для 2х операционных систем — Windows и Ubuntu и представляет собой интерфейс для задания распознаваемых образов, настройки телекамеры и портов ввода-вывода, захвата изображения и иллюстрации работы алгоритмов (рис. 3.1).

Рис. 3.1 Общий вид интерфейса TrackingCamApp

Рассмотрим каждый из элементов интерфейса подробнее:

Окно с видеопотоком (рис. 3.2.). В него выводится то изображение, которое видит камера модуля. Данное окно не только позволяет наводить модуль на объект, выполняя роль видоискателя, но, и самое главное, при клике с зажатым ctrl на область модуль сам настраивается с базовыми параметрами на отслеживание этой области. Если кликнуть на этом изображении на оранжевый мяч, то модуль и будет его отслеживать. Сам процесс отслеживание наблюдается на следующих окнах:

Рис. 3.2 Окно Image приложения TrackingCamApp

Рис. 3.3 Окно Line Blobs приложения TrackingCamApp

В окне Line blobs (рис. 3.3) отображается бинаризация картинки по заданным порогам цвета, т.е. если в зоне видимости камеры будет несколько различных цветовых областей, соответствующих заданным цветовым настройкам, то в этом окне отобразятся все эти области. Но чаще всего нам необходимо распознавать строго одну область, или область, обладающую определенными признаками — для этого нам необходимо дотянуть настройки системы распознавания и посмотреть на итоговый результат в окне Blobs (рис. 3.4).

Рис. 3.4 Окно Blobs приложения TrackingCamApp

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

Для настроек модуля существует отдельное окно (рис. 3.5). В нем: Number of patterns to process — количество цветовых шаблонов, которые модуль будет отслеживать. Модуль способен отслеживать одновременно до 10 различных объектов, обладающих различающимися друг от друга характеристиками — цветом, формой, размером.

Pattern selected for setting up — выбор шаблона для настройки. Какой шаблон выбран (светится) тот в данный момент доступен для настройки.

Рис. 3.5 Окно настройки TrackingCam приложения TrackingCamApp

Параметры для настройки распознавания области следующие:

Настройки цвета для бинаризации.

Value — яркость. Ncb — синяя цветоразность. Ncr — красная цветоразность

Настройки морфологии.

Area — площадь пятна в пикселах. Например, 10^2 — означает площадь 100 пикс Circularity — округлость, [0 — угловатая фигура, многоугольник, 100 — круг] Inertia — вытянутость, [0 — длинная узкая фигура, 100 — круг] Convexity — выпуклость [0 — внутри габаритного периметра пятна много полостей, 100 — выпуклый многоугольник] Space — площадь фигуры, ограниченной габаритным многоугольником Size — минимальная ширина (W) и высота (H) Gaps — максимальные разрывы по X и Y между пикселями при объединении в пятна

Рис. 3.6 Окно Sync приложения TrackingCamApp

Кнопки вверху.

Connect — кнопка подключения к модулю Need->> — под ней скрывается кнопка записи настроек в модуль, но она становится активной после синхронизации настроек в приложении и в модуле кнопкой Sync (рис. 3.6)

При выборе режима синхронизации возможны следующие операции:

  • Можно загрузить сохраненные настройки из модуля
  • Можно загрузить текущие настройки приложения в модуль
  • Загрузить настройки из файла
  • Сохранить настройки в файл
  • Выход из диалогового окна

В случае выбора режима — загрузить текущие настройки в модуль, в главном окне настроек станет активная кнопка Save вместо кнопки Need. Кнопка Setup IO — позволяет выполнить настройку интерфейса модуля для обмена данными (рис. 3.7).

Рис. 3.7 Окно Interface Setup приложения TrackingCamApp

Для настройки доступны такие параметры как режим работы UART, скорость обмена данными, адрес (ID) под которым модуль будет видеться в сети устройств Dynamixel, API которым будут выдаваться результаты обработки наружу и напряжение на портах — 3.3 или 5В.

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

Рис. 3.8 Окно Object Detector приложения TrackingCamApp

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

Основные элементы окна.

Type (number of nodes) — число узлов, из которых может состоять объект Size measure — мера размера базового узла Node 0 указывает, что будет пониматься под размером узла при описании структуры. Нужна, чтобы задавать относительный размер связей. Max axis — большая диагональ габаритного многоугольника пятна. Width — габаритная ширина пятна. Height — габаритная высота. Area — площадь пятна. Convex area — площадь габаритного многоугольника пятна. Print — вывести информацию обо всех найденных объектах в консоль. Output — настройка вывода данных через порт Dynamixel. Sorting criteria — критерий, по которому объекты сортируются в выходной таблице: Similarity — по степени соответствия шаблону, наиболее похожие объекты первыми. Type, similarity — сначала по типу (объекты, соответствующие шаблону 0 первыми), а объекты одинакового типа уже по соответствию. Output size measure — мера размера всего объекта, которая выводится в таблицу. Close — выход из окна.

Объект может состоять из 3х пятен с обозначенными между собой связями. Настройки параметров пятен осуществляются путем выбора соответствующего узла объекта (рис. 3.9), а параметры самого объекта задаются во окне Object setup (рис. 3.10).

Рис. 3.9 Окно Node setup приложения TrackingCamApp

Рис. 3.10 Окно Object setup приложения TrackingCamApp

Все параметры узлов и связей настраиваются с помощью нескольких бегунков:

Goal — целевое значение, при совпадении с которым считается, что степень соответствия объекта шаблону максимальна (100% или 255). Min и max используются не только как пороговое значение, но и при расчете степени соответствия. Например, если Goal = 90, Max = 200, а реальное значение 150, то степень соответствия параметру:

\(S_(parameter) : (150-90) / (200-90) = 55\)

Weight — весовой коэффициент при расчете общей степени соответствия узла или связи шаблону. Если вес параметра равен 0, то параметр не учитывается в подсчете соответствия, но все равно проверяются его min и max. Общий коэффициент соответствия узла S_node рассчитывается как взвешенное среднее коэффициентов соответствия всех активных параметров:

\(S_(node) =S_(parameter1) Weight_1 + ... + S_(parameterN) WeightN 255\)

Параметры базового узла Node 0.

Type — допустимый номер шаблона одноцветной области.

Например, [0, 2] будет означать, что узлом могут становиться пятна типов 0, 1 или 2.

Cx и Cy положение объекта.

Size (мера размера) — абсолютная величина размера базового узла в соответствии с выбранной мерой. Например, Size (Area) — площадь области.

Circularity, Inertia и Convexity аналогичны морфологическим признакам шаблонов одноцветных областей, а здесь задаются, если их необходимо учесть при расчете степени похожести или сортировке. Min и Max дополнительно не проверяются, т.к. отсеяны при обнаружении пятен, но используются как границы при расчете соответствия.

Angle — абсолютный угол поворота узла Node 0. Угол поворота пятна рассчитывается как угол наклона его большей диагонали к горизонту в диапазоне [0°, 180°], т.к. у диагонали нет направления.

Параметры вторичных узлов.

Type, Circularity, Inertia и Convexity — аналогичны базовому узлу.

8 ../.. (второй бегунок) — задает отношение размера узла к размеру базового узла, а его название меняется в соответствии с заданной мерой размера. Например 8 AX1/AX0

— отношение больших диагоналей 1-го и базового узла. Цифра 8 означает, что модулю задается отношение, умноженное на 8.

Ang1-Ang01 — угол поворота узла Node 1 относительно связи Link01.

L abs — абсолютная длина связи в пикс. в квадрате. Квадрат остается потому, что модуль не извлекает квадратный корень при расчете длины гипотенузы по теореме Пифагора. (8 x L/N0size)^2 — характеризует отношение длины связи к размеру базового узла (в соответствии с заданной мерой). Если мерой узла являются величины с размерностью первой степени: ширина, высота, диагональ и т. д., то они при расчете возводятся в квадрат.

Ang — абсолютный угол поворота связи [0 — слева направо, 360° — справа налево].

Ang to node — относительный угол между связью и большей диагональю базового узла.

Параметры вторичных связей.

L abs, ang — аналогично базовой связи.

(8 x L/L01)^2 — относительная длина связи в сравнении с длиной базовой связи.

Ang from base — относительный угол наклона связи к базовой связи.

Что касается параметров настройки объекта, то они следующие:

Node 0, 1, 2 — минимальная допустимая степень соответствия каждого узла.

Link 01, 02, 12 — минимальная допустимая степень соответствия каждой связи.

Overall — минимальная допустимая общая степень соответствия.

Общая степень соответствия объекта S_overall рассчитывается в свою очередь как среднее взвешенное коэффициентов соответствия всех узлов S_node и связей S_link:

\(S_overall =S_node0Weight_0 + ... + Slink_12Weight_12\)
255ч

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

Рис. 3.11 Окно Palette приложения TrackingCamApp

В дополнению ко всему вышеуказанному имеется терминал (рис. 3.12), в который выводится:

  • Информация об однотонной области при клике на нее в окне Blobs.
  • Информация обо всех объектах при нажатии кнопки Print в меню объектов.
  • Системная информация.

Рис. 3.12 Окно терминала приложения TrackingCamApp

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


Center-nav

← Назад | Оглавление | Вперёд →