Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Дополнительные условия подходят ко всем видам запросов. Условия всегда объединяются логическим «И». Например запрос «объект высотой не более четверти кадра находящийся в центре поля зрения камеры в течении 5 секунд» выглядит так:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "size": {
      "height": [0, 0.25]
    }
  },
  "conditions": {
    "duration": 5
  }
}

Тип объекта (objectProperties/category)

...

Поиск оставленных объектов в любой точке кадра:

Code Block
{
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0, 0],
        [1, 0],
        [1, 1],
        [0, 1]
      ]
    }
  ],
  "objectProperties": {
    "category": ["abandoned"],
  }
}

Поиск одиночных или небольших групп людей, пересекших заданную линию:

Code Block
 {
  "queryType": "line",
  "figures": [
    {
      "shape": [
        [0.5, 0.8],
        [0.5, 0.2]
      ]
    }
  ]
  "objectProperties": {
    "category": ["human", "group"],
  }
}

Размер объекта (objectProperties/size)

...

Например, чтобы найти объекты не больше четверти кадра в высоту можно использовать такой запрос:

Code Block
{
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "size": {
      "width": [0, 1],
      "height": [0, 0.25]
    }
  }
}

Так как не обязательно указывать оба габарита, этот запрос будет эквивалентен предыдущему:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "size": {
      "height": [0, 0.25]
    }
  }
}

Цвет объекта (objectProperties/color)

...

Запрос на получение ярко зеленых объектов в зоне:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "color": {
      "hue": [75, 135],
      "saturation": [0.5, 1],
      "brightness": [0.5, 1]
    }
  }
}

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

Code Block
{
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "color": {
      "hue": [0, 360],
      "saturation": [0, 1],
      "brightness": [0, 0.2]
    }
  }
}

Аналогичный запрос для белых объектов:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "objectProperties": {
    "color": {
      "hue": [0, 360],
      "saturation": [0, 0.1],
      "brightness": [0.8, 1]
    }
  }
}

Скорость (conditions/velocity)

Задает минимальную и максимальную скорость объекта.
Измеряется в долях кадра в секунду. То есть скорость объекта переместившегося от левой границы кадра к правой за одну секунду равна 1.

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "conditions": {
    "velocity": [0.25, 1]
  }
}

Направление движения (conditions/directions)

...

Таким образом запрос на получение объектов двигавшихся вправо ±45° выглядит так:

Code Block
{
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "conditions": {
    "directions": [
      [315, 45]
    ]
  }
}

Обратите внимание, что угол 45° -- 315° захватывает все направления кроме «вправо».

Если необходимо найти объекты двигавшиеся преимущественно в горизонтальном направлении понадобиться задать уже два угла:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "conditions": {
    "directions": [
      [315, 45],
      [135, 225]
    ]
  }
}

Длительность (conditions/duration)

...

С помощью этого условия может быть выражен запрос «длительное пребывание в зоне»:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "conditions": {
    "duration": 5
  }
}

Количество объектов (condtions/count)

...

Обычно применяется для поиска большого количества объектов в зоне, например:

Code Block
 {
  "queryType": "zone",
  "figures": [
    {
      "shape": [
        [0.3, 0.3],
        [0.7, 0.3],
        [0.7, 0.7],
        [0.3, 0.7]
      ]
    }
  ],
  "conditions": {
    "count": 3
  }
}