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

Программное обеспечение для работы с модулем TrackingCam v3 встроено в сам модуль и не требует отдельной загрузки. Для доступа к интерфейсу ПО необходимо подключить модуль к компьютеру с помощью USB Mini-B HighSpeed кабеля. Дождавшись поочередного мигания зеленого и красного светодиодов, необходимо открыть браузер и перейти по ссылке: http://trackingcam3.local. В открывшемся окне будет доступно 6 вкладок: Blob Detector, Aruco Marker, Calibration, Position, Line Detector, Circle Detector (Рис. 4.1).

Распознавание областей

Настройка модуля технического зрения для распознавания одноцветной области сводится к заданию ее цветовых и морфологических признаков. Зная цветовые признаки распознаваемой области, можно легко выявить ее на исходном изображении, путем сравнения цветовых параметров каждого пикселя изображения с признаками распознаваемой области Для того чтобы выбрать объект, который нужно распознать, необходимо нажать кнопку «Pick color» и указать курсором на объект, который нужно распознать (Рис. 4.2). После выполнения этого действия программное обеспечение модуля TrackingCam v3 автоматически подберет набор цветовых оттенков для распознавания выбранного объекта

Рис. 4.1. Графический интерфейс модуля TrackingCam v3

Рис. 4.2. Пример работы инструмента «Blob Detector»

Ползунки «Enable» у полей «Camera» и «Blob Detector» отвечают за включение или отключение отображения исходного видео и распознанного объекта. Также имеются следующие информационные поля:

  • Поле «Resolution» показывает текущее разрешение модуля.
  • Поле «Frames» показывает количество кадров, полученных модулем TrackingCam v3.
  • Поле «Size, bytes» показывает размер изображения в байтах.

Также имеется ряд вспомогательных кнопок. Кнопка «Load» загружает настройки для модуля TrackingCam v3 из файла. Кнопка «Save» сохраняет выставленные настройки модуля, при этом данные настройки останутся после перезагрузки модуля. Модуль технического зрения TrackingCam v3 способен распознавать 5 комплексных объектов одновременно, для этого необходимо выставить ползунок в верхнем левом углу в позицию от 0 до 4.

В нижней части окна находятся поля «Binarization» и «Morphology». Поле «Binarization» отвечает за параметры цветовой области, которую мы хотим распознать. В этом поле можно вручную задать параметры цветовой области, не используя инструмент «Pick color». Здесь используется цветовая модель HSV.

  • Поле «Value» - яркость.
  • Поле «Ncb» - синяя цветоразность.
  • Поле «Ncr» - красная цветоразность.

Поле «Morphology» отвечает за следующие параметры:

  • Area - площадь распознаваемой области в пикселях (например, значение «100» означает площадь в 100 пикселей).
  • Circularity – округлость [«0» – угловатая фигура, многоугольник, «100» – круг].
  • Inertia – вытянутость [«0» – длинная узкая фигура, «100» – круг].
  • Convexity – выпуклость [«0» – внутри габаритного периметра пятна много полостей, «100» – выпуклый многоугольник].
  • Space – площадь фигуры, ограниченной габаритным многоугольником.
  • ROI - размер и параметры окна, в котором будет происходить распознавание.

Распознавание Aruco-маркеров

Данная вкладка отвечает за распознавание Aruco-маркеров. Маркер Aruco — это фидуциальный маркер, который размещается на изображаемом объекте или сцене. Он представляет собой чёрный квадрат с ярко выраженными границами, внутри которого располагается белый узор, однозначно его идентифицирующий. Черная граница облегчает его обнаружение.

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

  1. Приведение изображения в градацию серого.
  2. Бинаризация изображения по порогу серого.
  3. Определение замкнутых областей на полученном бинаризованном изображении.
  4. Выделение замкнутых контуров.
  5. Поиск и выделение углов полученных замкнутых контуров.
  6. Проекционные преобразования для определения расстояния и углов ориентации маркера.

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

Интерфейс для настройки распознавания Aruco-маркеров выглядит следующим образом (Рис. 4.3).

Рис. 4.3. Пример работы инструмента «Aruco Marker»

Для настройки распознавания Aruco-маркеров в данном случае необходимы следующие конфигурационные параметры:

  • Поля «Enable» и «Draw» отвечают за отображение кадра («Enable») и Aruco-маркеров на этом кадре («Draw»).
  • Поле «Marker size» отвечает за размер детектируемого Aruco-маркера (например, Marker size=7 означает, что длина стороны Aruco-маркера равна 7 см). Данный параметр позволяет использовать маркеры различных размеров, что увеличивает возможности применения модуля технического зрения.
  • Поле «Translation» отвечает за смещение Aruco-маркера по каждой из осей.
  • Поле «Rotation» отвечает за поворот Aruco-маркера вокруг каждой из осей (углы Эйлера).
  • Поле «Estimation» показывает текущее положение маркера.

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

Калибровка модуля технического зрения

Эта вкладка используется при калибровке камеры модуля технического зрения TrackingCam v3. Процесс калибровки камеры состоит в оценке ее параметров. А точнее, в нахождении точных параметров для определения взаимосвязи 3D - точки в реальном мире и соответствующим 2D - изображением. Целью калибровки камеры является получение двух видов параметров:

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

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

Для того чтобы начать процесс калибровки, нужно перевести ползунки «Camera» и «Calibration» во включенное состояние и нажать кнопку «Start».

Перед этим, необходимо распечатать лист с калибровочными метка- ми. Скачать данный лист можно по данной ссылке:

https://raw.githubusercontent.com/fdcl-gwu/aruco-markers/master/images/board.jpg

Рис. 4.4. Пример работы инструмента «Calibration»

Далее, необходимо нажать кнопку «Show» и сделать несколько ка- дров с разных позиций с помощью кнопки «Capture». Достаточно 4 - 6 снимков для качественной калибровки. Во время процесса калибровки минимальные показатели таких полей, как «Size, «Skew», «X» и «Y» должны стремиться к 0, а максимальные - к 1 (Рис. 4.4).

После того, как будет сделано несколько снимков, нужно нажать кноп- ку «Save», а затем кнопку «Calibrate». После выполнения всех этих действий, модуль технического зрения TrackingCam v3 будет откалиброван.

Распознавание линий

Инструмент «Line Detector» предназначен для реализации движения мобильной платформы по линии. С помощью Line Detector модуль тех- нического зрения находит на изображении фигуры, похожие на линии. Метод поиска линий основан на поиске границ - поиск кривых на изображении, вдоль которых происходит изменение цвета и яркости. В модуле TrackingCam v3 последовательно используются два метода выделения границ на изображении. Самый популярный алгоритм по выделению границ - это алгоритм Канни. Данный алгоритм состоит из нескольких шагов:

  1. Устранение шума в исходном изображении с помощью фильтра Га- усса.
  2. Нахождение краев, путем взятия градиента изображения.

Рис. 4.5. Пример работы инструмента «Line Detector»

  1. Подавление не-максимумов для полученных границ (дает тонкую линию в конечном изображении).

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

Поля «Enable» и «Draw» отвечают за отображение кадра и распознанных линий.

Для настройки модуля TrackingCam v3 на распознавание линий есть следующие параметры:

  • Параметр «Rho» отвечает за разрешение линии в пикселях, если разрешение будет меньше, чем значение этого параметра, то линия отображаться не будет.
  • Параметр «Theta» отвечает за максимально допустимый уклон линии, если разрешение будет меньше, чем значение этого параметра, то линия отображаться не будет.
  • Параметр «Min length» отвечает за минимальную длину распознанной линии, если длина линии будет меньше этого показателя, модуль TrackingCam v3 не будет отображать ее.
  • Параметр «Threshold» отвечает за минимальное количество точек пересечения для обнаружения линии, если разрешение будет меньше, чем значение этого параметра, то линия отображаться не будет.
  • Параметр «Max gap» отвечает за максимальный угол для проверки наличия линий.

Распознавание окружностей

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

В данном случае, также, как и в детектировании прямых линий, используется алгоритм Хаффа в комбинации с детектором Канни. Он по- строен на принципе обнаружения окружности неизвестного радиуса в бинарном точечном множестве методом голосования. Для этого в ходе выполнения алгоритма к контуру, для которого определяется геометрический класс, в наборе точек проводятся касательные. Точки пересечения касательных образуют некоторую область (Рис. 4.6). Если полученная область достаточна мала, то центр данной области принимается за центр окружности.

Для работы алгоритмов поиска окружностей на изображении необходимо задать ряд параметров (рис. 4.7.):

Рис. 4.6. Визуализация метода голосования

  • Параметр «Radius» отвечает за величину радиуса распознаваемой окружности (задается максимальное и минимальное значения радиусов распознаваемых окружностей в пикселях).
  • Параметр «Canny» позволяет настроить детектор линий на изображении.
  • Параметр «Distance» за расстояние, на котором необходимо распознавать объект.

Рис. 4.7. Пример работы инструмента «Circle Detector»

Настройка модуля технического зрения TrackingCam v3

Данная вкладка отвечает за переключение режимов передачи данных на дополнительные платы. Необходимо выбрать нужный режим работы модуля технического зрения TrackingCam v3 (Рис. 4.8). Поддерживаемые режимы:

  • Blob detector
  • Aruco detector
  • Line detecor
  • Circle detector
  • CNN

Также данная вкладка отвечает за способ передачи данных на стороннюю плату:

  • Dxl
  • UART

Рис. 4.8. Окно настройки модуля TrackingCam v3

Кроме этого, данная вкладка позволяет настраивать автоэкспонирование нижнего и верхнего предела, а также перезагружать модуль TrackingCam v3.

Решение проблем при неработоспособности модуля TrackingCam v3

Отсутствие подключения к ПК при подключении USB кабелем

При корректной инициализации соединения при подключении модуля TrackingCam v3 к компьютеру должно появиться дополнительное сетевое устройство – Remote NDIS Compatible Device (Рис. 4.9). В случае отсутствия такого устройства, с модулем нельзя будет взаимодействовать. Для исправления данной ситуации попробуйте использовать другой USB кабель, подключить модуль к другому USB порту компьютера и подключить к модулю внешнее питание, например, 12В через 3х пиновые разъемы – модулю может не хватать напряжения или тока для корректной работы.

Рис. 4.9. Корректная инициализация модуля TrackingCam v3 в системе на примере Win10

Нестабильное поведение модуля

Под нестабильным поведением модуля подразумеваются переподключения к ПК и вылеты из интерфейса. Подобные проблемы могут быть так же связаны с нехваткой питания модулю (см. предыдущие рекомендации). Также можно перезагрузить службу TrackingCam Motorcortex (рис. 4.10).

Перегрев

Рис. 4.10. Служба TrackingCam Motorcortex

Рис. 4.11. Поведение интерфейса при перегреве модуля TrackingCam v3


Center-nav

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