-
Notifications
You must be signed in to change notification settings - Fork 6
extended_object_detection_node
Основной узел пакета, предоставляющий ROS интерфейс.
- camera/image_raw (sensor_msgs/Image) Входное RGB-изображение.
- camera/info (sensor_msgs/CameraInfo) Параметры RGB-камеры.
- depth/image_raw (sensor_msgs/Image) Входная карта глубины, подписка создается только если параметр subscribeDepth выставлен в true.
- depth/info (sensor_msgs/CameraInfo) Параметры камеры глубины, подписка создается только если параметр subscribeDepth выставлен в true.
- ~simple_objects (object_and_scene_detection/SimpleObjectArray) Информация о распознанных простых объектах.
- ~complex_objects (object_and_scene_detection/ComplexObjectArray) Информация о распознанных сложных объектах.
- ~detected_image (sensor_msgs/Image) Изображение с результатами распознавания. Публикуется только если параметр publish_image_output выставлен в true.
- ~simple_objects_markers (visualization_msgs/MarkerArray) Маркеры распознанных простых объектов для визуализации в rviz. Публикуются только если параметр publish_markers выставлен в true.
- ~complex_objects_markers (visualization_msgs/MarkerArray) Маркеры распознанных сложных объектов для визуализации в rviz. Публикуются только если параметр publish_markers выставлен в true.
- ~set_simple_objects (extended_object_detection/SetObjects) Позволяет по ходу работы узла убирать\добавлять простые объекты из списка распознаваемых.
- ~set_complex_objects (extended_object_detection/SetObjects) Позволяет по ходу работы узла убирать\добавлять сложные объекты из списка распознаваемых.
- ~object_base (string, default: none) Обязан быть указан. Путь к XML-файлу базы объектов (конфигурационный файл).
- ~publish_image_output (bool, default: false) Если выставлен в true, то изображение с результами распознавания будет публиковаться в топик ~detected_image.
- ~rate_limit_sec (double, default: 0.1) Ограничение частоты распознавания. Если между предыдущим распознаванием и новопришедшим кадром прошло менее rate_limit_sec то кадр будет пропущен
- _~allowed_lag_sec (double, default: 0.0) Если разница между временной меткой новопришедшего кадра и текущего времени превышает это значение, то кадр отбрасывается, при ==0 сохраняются все кадры.
- ~use_actual_time (bool, default: false) Если true то временная метка всем результатм распознавания будет выставлена в текущее время, если false то время кадра, на котором проводилось распознавание.
- ~subscribe_depth (bool, default: false) Если выставлен в true, то узел осуществит подписку на топики камеры глубины, изображения с которых можно передавать в признаки.
- ~publish_markers (bool, default: false) Если выставлен а true, то узел будет публиковать MarkerArray для визуализации в rviz.
- ~selected_on_start_simple_objects (list of ints, default: empty) Если пуст, то все простые объекты, указанные в базе, будут распознаваться. Если первый элемент -1, то ни один не будет распознаваться, иначе только простые объекты с указанными идентификаторами будут распознаваться.
- ~selected_on_start_complex_objects (list of ints, default: empty) Если пуст, то все сложные объекты, указанные в базе, будут распознаваться. Если первый элемент -1, то ни один не будет распознаваться, иначе только сложные объекты с указанными идентификаторами будут распознаваться.
- ~broadcast_tf (bool, default: false) Если true то публикует tf фреймы формата <Имя_объекта>_<номер_в_списке>.
Изображения ниже были получены на предыдущих версиях системы, текущая визуализация может несколько отличаться
Распознавание простых объектов:
Для распознаных простых объектов на изображении доступна следующая информация:
- Обрамляющий прямоугольник
- Текстовая информация (сверху вниз)
- ID объекта в базе, имя объекта в базе и суммарный коэффициент уверенности, указанный в квадратных скобках
- Список признаков, данного объекта, включающий: режим признака ("+" - распознавание, "-" - проверка, ">" - извлечение - см. раздел Распознавание простых объектов), имя признака, коэффициент уверенности признака в квадратных скобках, численная дополнительно извлекаемая информация в фигурных скобках*, текстовая дополнительно извлекаемая информация в круглых скобках*.
- Контур объекта, если хоть один из признаков поддерживает его извлечение.
Все элементы при этом зеленого цвета.
* - только для тех признаков, что предоставляют такую информацию.
Распознавание простых объектов с включенным трекингом:
Доступна следующая информация:
- При использовании трекинга в текст объекта после коэффициента уверенности добавляется в круглых скобках идентификатор трека.
- Когда объект распознается при помощи трекера, а не детектора, то цвет всех элементов меняется с зеленого на желтый. В момент потери объекта становится красным.
- Добавляется линия, указывающая историю перемещения данного объекта.
- В случае распознавания трекером не указываются признаки в режиме детектирования. Вместо них указан тип трекера и его коэффициент уверенности.
При распознавании сложных объектов:
Доступна следующая информация:
- Обрамляющий прямоугольник сложного объекта (может совпадать с одним из простых объектов)
- Основной текст сложного объекта, его ID и имя, помещенные над рамкой сложного объекта
- Для каждого простого объекта:
- Его обрамляющий прямоугольник
- Внутреннее имя простого объекта в сложном (см. раздел сложные объекты) и собственное имя простого объекта
Все элементы при этом отрисовываются голубым (cyan). Все элементы сложных объектов рисуются поверх простых.
Простые объекты также отрисовываются зеленым цветом, когда работает трекер то цвет меняется на желтый и красный соотвественно. Сложные объекты также рисуются голубым (cyan).
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка