Skip to content

test_bag_launch

Moscowsky Anton edited this page Oct 5, 2021 · 27 revisions

Тестовый запуск на bag-файлах

Для проверки работоспособности методов используется набор bag-файлов, на которых можно запускать узел распознавания. Bag-файлы, а также готовые для запуска launch-файлы лежат в репозитории.

1. Установка тестов

Клонируйте репозиторий с тестами в свое рабочее окружение ROS и соберите его.

cd ~/catkin_ws/src
git clone https://github.com/Extended-Object-Detection-ROS/example_data
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash

Естественно для запуска тестов должен быть установлен основной репозиторий.

2. Запуск тестов

Описания объектов, распознавание которых запускается в тестах, находятся в примере базы объектов основного репозитория. Для каждого из перечисленных ниже launch-файлов можно указать скорость воспроизведения параметром rate, например: roslaunch eod_bags stickers.launch rate:=0.5 - это запустит проигрывание видео со скоростью, замедленной вдвое. Для каждого теста запускается rviz, где демонстрируется изображение с результатами распознавания и маркеры.

В случае ошибок сверяйтесь с листом ошибок и предупреждений.

3. Простые объекты

3.1. Детекторы цвета и некоторые признаки проверки

roslaunch eod_bags stickers.launch

Детектирует простые объекты 1, 2 и 4, которые являются цветными стикерами с разными настройками. Используется признак гистограммной цветовой фильтрации.

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

3.2. Детектор Хаара

roslaunch eod_bags haar.launch

Детектирует простой объект 10, который является лицом человека, распознаваемым каскадом Хаара, обученным Сатья Малликом (Satya Mallick). Этот каскад лучше, чем тот, что прилагается самой OpenCV.

3.3. Детектор движения

roslaunch eod_bags motion.launch

Детектирует области, где происходит движение (простой объект 30).

3.4. Объединение признаков на примере лица и движения

roslaunch eod_bags face_in_motion.launch

Детектирует лицо в движении (простой объект 31), по совокупности признаков из предыдущих двух примеров.

3.5. Детектирование ArUco

roslaunch eod_bags aruco.launch

Детектирует простые объекты 40 и 41. Объект 40 является конкретным маркером из словаря 4х4, поэтому распознается только один из представленных в тесте маркеров 4х4. Обратите внимание, что в rviz отрисовывается полное трехмерное положение маркеров.

3.6. Детектирование модулем DNN

Только с установленной OpenCV 4.2.0 (ROS Noetic)

roslaunch eod_bags dnn.launch

Распознается простой объект 60, который является всеми вариантами выхода сети Tensorflow SSD MobileNet COCO, импортированную для использования через dnn модуль. В данном случае распознается человек и чашка.

3.7. Объединение признаков примере красной чашки

Только с установленной OpenCV 4.2.0 (ROS Noetic)

roslaunch eod_bags red_cup.launch

Распознается простой объект 61, который является комбинацией признаков цвета и образа, распознаваемого DNN.

3.8. Распознавание методом ключевых точек

Только с установленной OpenCV Contrib

roslaunch eod_bags feature.launch

Распознавание книги "Социальные сообщества роботов" (простой объект 50) методом ключевых точек (в данном случае SIFT).

3.9. Трекинг на примере ArUco

Только с установленной OpenCV 4.2.0 (ROS Noetic)

roslaunch eod_bags aruco_track.launch

Распознается простой объект 43, являющийся аруко-маркером 6х6 с подключенным к нему трекером Mosse. Аруко-маркер не может быть распознан, если не видим целиком, что и происходит, когда его загораживают пальцем, однако трекер позволяет сопроводить маркер, но, к сожалению, без трехмерной локализации, что можно наблюдать в rviz.

3.10. Трекинг в мягком режиме

Только с установленной OpenCV 4.2.0 (ROS Noetic)

roslaunch eod_bags simple_soft_tracking.launch

Распознается красный шарик, состоящий из атрибутов цвета и формы, при пропадании атрибута формы производится слежение за объектом только по атрибуту цвета.

4. Сложные объекты

Только с установленной библиотекой igraph

4.1. Сложный объект на примере комбинации двух ArUco

roslaunch eod_bags aruco_space.launch

Распознаются сложные объекты 6-9, которые являются разными вариантами расположения двух объектов по квадрантам. В зависмости от положения маленького (4х4) аруко маркера относительно большого (6х6) меняется распознаваемый сложный объект. Каждый квадрант задается при помощи логического И связывающего два пространственных отношения (комбинации НАД, ПОД, СЛЕВА, СПРАВА).

4.2. Сложный объект на примере комбинации ArUco, образующих треугольник

roslaunch eod_bags aruco_triangle.launch

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

4.3. Сложный объект на примере человека

Только с установленной OpenCV 4.2.0 (ROS Noetic)

roslaunch eod_bags faced_person.launch

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

Clone this wiki locally