-
Notifications
You must be signed in to change notification settings - Fork 6
extended_object_detection_node
Moscowsky Anton edited this page Nov 17, 2020
·
16 revisions
Основной узел пакета, предоставляющий 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) Изображение с результатами распознавания. Публикуется только если параметр publishImage выставлен в true.
- ~simple_objects_markers (visualization_msgs/MarkerArray) Маркеры распознанных объектов для визуализации в rviz. Публикуются только если параметр publishMarkers выставлен в true.
- ~set_simple_objects (extended_object_detection/SetSimpleObjects) Позволяет по ходу работы узла убирать\добавлять простые объекты из списка распознаваемых.
- ~set_complex_objects (extended_object_detection/SetSimpleObjects) Позволяет по ходу работы узла убирать\добавлять сложные объекты из списка распознаваемых.
- ~objectBasePath (string, default: none) Обязан быть указан. Путь к XML-файлу базы объектов (конфигурационный файл).
- ~screenOutput (bool, default: true) Если выставлен в true, то изображение с результатами распознавания будет демонстрироваться в отдельном окне.
- ~publishImage (bool, default: true) Если выставлен в true, то изображение с результами распознавания будет публиковаться в топик ~detected_image.
- ~videoProcessUpdateRate (double, default: 10) Желаемая скорость обработки поступающих изображений в герцах.
- ~subscribeDepth (bool, default: false) Если выставлен в true, то узел осуществит подписку на топики камеры глубины, изображения с которых можно передавать в признаки.
- ~publishMarkers (bool, default: false) Если выставлен а true, то узел будет публиковать MarkerArray для визуализации в rviz.
- ~visualizationTypes (list of strings, default: ["arrows", "rects", "axis", "main_text", "extracted_info", "contour"]) Типы маркеров, для добавления в топик ~simple_objects_markers. Подробнее о типах читайте ниже.
- ~maxContourPoints (int, defualt: 10) Если не равен -1, то контуры, с количеством точек, первышающим данный параметр не будут добавляться в сообщения, публикуемые узлом.
- ~selectedOnStartSimple (list of ints, default: empty) Если пуст, то все простые объекты, указанные в базе, будут распознаваться. Если первый элемент -1, то ни один не будет распознаваться, иначе только простые объекты с указанными идентификаторами будут распознаваться.
- ~selectedOnStartComplex (list of ints, default: empty) Если пуст, то все сложные объекты, указанные в базе, будут распознаваться. Если первый элемент -1, то ни один не будет распознаваться, иначе только сложные объекты с указанными идентификаторами будут распознаваться.
При обычном распознавании:
Для распознаных простых объектов на изображении доступна следующая информация:
- Обрамляющий прямоугольник
- Текстовая информация (сверху вниз)
- ID объекта в базе, имя объекта в базе и суммарный коэффициент уверенности, указанный в квадратных скобках
- Список признаков, данного объекта, включающий: режим признака ("+" - распознавание, "-" - проверка - см. раздел Распознавание простых объектов), имя признака, коэффициент уверенности признака в квадратных скобках, численная дополнительно извлекаемая информация в фигурных скобках*, текстовая дополнительно извлекаемая информация в круглых скобках*.
- Контур объекта, если хоть один из признаков поддерживает его извлечение.
* - только для тех признаков, что предоставляют такую информацию.
С включенным трекингом:
Доступна следующая информация:
- При использовании трекинга в текст объекта после коэффициента уверенности добавляется в круглых скобках идентификатор трека.
- Когда объект распознается при помощи трекера, а не детектора, то цвет всех элементов меняется с зеленого на желтый. В момент потери объекта становится красным.
- Добавляется линия, указывающая историю перемещения данного объекта.
- В случае распознавания трекером не указываются признаки в режиме детектирования. Вместо них указан тип трекера и его коэффициент уверенности.
Типы маркеров для отрисовки можно настроить параметром visualization_types.
- arrows - отрисовывает перенос в виде стрелки из фрейма камеры в центр обрамляющего прямоугольника объекта.
- rects - отрисовывает обрамляющий прямоугольник в трехмерных координатах.
- axis - в центре обрамляющего прямоугольника отрисовывает оси, указывающие поворот объекта.
- main_text - помещает основую информацию об объекте над обрамляющим прямоугольником. Содержит идентификатор, имя и коэффициент уверенности.
- extracted_info - Между основным текстом и обрамляющим прямоугольником помещает дополнительную информацию, например идентификаторы ArUco маркеров, лейблы нейронных сетей, информацию из QR кодов.
- contour - Рисует контур объекта, если таковой имеется и не превышает по количеству точек maxContourPoints.
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка