Skip to content

MergingPolicySimpleObjects

Moscowsky Anton edited this page Nov 16, 2020 · 1 revision

Политика слияния признаков простых объектов

Напомним, что простой объект является набором признаков, а признакам соотвествуют програмные детекторы. Эти детекторы работают независимо и возвращают различный выход, который, однако, должен быть унифицирован в рамках одного объекта. Это касается обрамляющих прямогольников, контуров и положений в трехмерном пространстве. Обрамляющие прямоугольники и контуры могут быть слиты разными способами. Наиболее распространенными вариантами являются пересечение и объединение, поэтому добавлены соответствующие политики в описании простого объекта (параметр MergingPolicy в теге SimpleObject):

  • Intersection (Пересечение) Базовая политика слияния, используется по-умолчанию.
  • Union (Объединение)
 <SimpleObject Name="Aruco6Black" ID="42" MergingPolicy="Union">              
        <Attribute Type="Detect">Aruco6</Attribute>
        <Attribute Type="Detect">HSVColorBlack</Attribute>            
 </SimpleObject>

1. Обрамляющие прямоугольники

Политика слияния прямоугольников используется в IOU Matcher (см. раздел 2).

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

merging policy rect example

2. Контуры

Для контуров используется пересечение и объединение в классическом понимании. В текущей реализации используется функционал OpenCV, который нельзя назвать быстрым. Если вы не хотите тратить на это процессорное время, то отключите у признаков экспорт контура параметром Contour="false".

merging policy rect example

3. Положения в пространстве

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

Clone this wiki locally