Skip to content

Advanced Object Search

Advanced Object Search allows you set up complex queries to match use cases not covered by other query types.

Common use cases are covered by dedicated query types (such as Object Counting, Line Crossing, etc.) - It is recommended to use these specific query types whenever possible, as they are optimized for their respective scenarios and provide a simpler configuration experience.

If your requirements are not met by the available query types, Advanced Object Search can be used to create custom or complex queries tailored to your specific needs.

Warning

Advanced Object Search is a complex query type that requires a good understanding of the system and its capabilities. It is recommended to have prior experience with other query types before attempting to set up an Advanced Object Search query.

Prerequisites


Setup

  1. Select a video from your workspace Click +Set up New Query.

  2. Select Advanced Object Search from the list of query types.

1. Query Name

Give your query a name to better identify it. A description can also be added (optional).

2. Object Detection Filter

The filter used to detect objects in the scene, Person by default.

Videos

The thumbnail image of the previously chosen video is displayed here.

Time interval

Time interval

Select a time frame for the analytics to run, depending on the type of video selected:

  • Earliest: Run the query from the time shown (set during video registration as the beginning timestamp of the video).
  • Latest: Run the query until the time shown (set during video registration as the end timestamp of the video).
  • Given Date: You can select a custom start and end date and time to run the query on. Type the desired date and time or select them by clicking the calendar icon.
  • Live: Analysis is run live, continously.
  • Interval: You can select a custom start and end date and time to run the query on. Type the desired date and time or select them by clicking the calendar icon.
  • Set interval to: Choose from the presets below to run the query on a given time inmterval.

Object types

Object types

Select one or multiple object types you want to search for - Person is selected by default. Click the dropdown menu to see the list of available object types for the selected object category.

  • Minimum confidence (0.5 by default): The minimum confidence level required for an object to be detected. The higher the confidence level, the more certain the system is that the object is of the selected type. The confidence level ranges from 0 to 1, with 1 being the highest confidence level.

  • Maximum confidence (1 by default): The maximum confidence level required for an object to be detected.

  • Minimum height (in pixels, 80 by default): The minimum height of the object to be detected.

  • Maximum height (in pixels, 1000 by default): The maximum height of the object to be detected.

Add attribute (optional)

Object attributes

Some object types may have additional attributes available for filtering, such as helmet and gender for Person objects. You can select any number of them to further filter your results; For instance, adding the nohelmet attribute to Person objects will filter detections so that only people not wearing helmets will show up in the Query results.

  1. Click the +Attribute button.
  2. Select an attribute from the list.
  3. Tick the checkbox of the respective attribute to toggle filtering - i.e. whether to look for people with helmets or without them.
  4. You can keep adding additional attributes if the object type allows them. Click the X button to remove an attribute.
  • Attribute aggregation type:
    • Logical AND: The query will return results that match all selected attributes.
    • Logical OR: The query will return results that match any of the selected attributes.

Filter type

Takes samples from the video at the rate defined below, to produce results.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Produces an event whenever an object crosses a line. The line can be one-way or bidirectional.

Click the Edit line button Left-click on the camera thumbnail to begin drawing the line; left-click again to finish drawing. Select from the options below the canvas to select the facing direction.

Produces an event whenever an object starts moving after a configurable amount of time being stationary.

Max move pixels (in pixels, 70 by default): The number of pixels that must change for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the object needs to stay stationary before starting movement.

Produces an event whenever an object stops moving after a configurable amount of time of movement.

Max move pixels (in pixels, 70 by default): The number of pixels that must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the object has to stay stationary to be considered stopped.

Produces an event whenever an object appears on the scene for the first time.

Min track duration (in milliseconds, 2000 by default): The minimum time an object must be continuously tracked before it is considered to have appeared in the scene.

Filters detections to moving objects only. The minimum amount of movement required is configurable.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Min move (in percentages, 5 by default): What percentage of pixels, in relation to the object's height, must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Filters detections to stationary objects only.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Min move (in percentages, 5 by default): What percentage of pixels, in relation to the object's height, must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the object has to stay stationary.


ROI (Region of Interest)

Draw a region of interest (ROI) on the video frame (optional). The query will trigger an alert only for objects present in the zone, otherwise the entire video frame will be used.

Note that currently only one ROI can be drawn.

Left-click on the video frame to draw a polygon. Left-click again on the video frame to keep adding points to the polygon; double-click to finish drawing.

  • Sampling interval (in seconds, 5 by default): The rate at which tracks get sampled.

  • Maximum number of parallel tracks at the same time (50 by default): The maximum number of tracks that can be processed at the same time.

3. Optional Join

You may optionally apply a second filter to the query. This logic can be used in two ways:

  1. Detecting interactions between two objects (such as a Car not stopping before a Person near a pedestrian crossing)

  2. Applying two detection filters for the same tracked object (e.g. a Person entering a zone from a specific direction).

Object types

Object types

Select one or multiple object types you want to search for - Person is selected by default. Click the dropdown menu to see the list of available object types for the selected object category.

  • Minimum confidence (0.5 by default): The minimum confidence level required for an object to be detected. The higher the confidence level, the more certain the system is that the object is of the selected type. The confidence level ranges from 0 to 1, with 1 being the highest confidence level.

  • Maximum confidence (1 by default): The maximum confidence level required for an object to be detected.

Add attribute (optional)

Object attributes

Some object types may have additional attributes available for filtering, such as helmet and gender for Person objects. You can select any number of them to further filter your results; For instance, adding the nohelmet attribute to Person objects will filter detections so that only people not wearing helmets will show up in the Query results.

  1. Click the +Attribute button.
  2. Select an attribute from the list.
  3. Tick the checkbox of the respective attribute to toggle filtering - i.e. whether to look for people with helmets or without them.
  4. You can keep adding additional attributes if the object type allows them. Click the X button to remove an attribute.
  • Attribute aggregation type:
    • Logical AND: The query will return results that match all selected attributes.
    • Logical OR: The query will return results that match any of the selected attributes.

Filter type

Takes samples from the video at the rate defined below, to produce results.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Produces an event whenever a selected object crosses a line. The line can be one- or bidirectional.

Click the Edit line button Left-click on the camera thumbnail to begin drawing the line; left-click again to finish drawing. Select from the options below the canvas to select the facing direction.

Produces an event whenever an object starts moving after a configurable amount of time spent moving.

Max move pixels (in pixels, 70 by default): The number of pixels that must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the objects has to stay still to be considered stopped.

Produces an event whenever an object stops moving after a configurable amount of time spent staying still.

Max move pixels (in pixels, 70 by default): The number of pixels that must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the objects has to stay still to be considered stopped.

Produces an event whenever an object appears on the scene for the first time.

Min track duration (in milliseconds, 2000 by default)": The minimum amount of time the objects must be able to be tracked to be considered appearing.

Filters detections to moving objects only. The minimum movement required to consider an object to be moving is configurable.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Min move (in percentages, 5 by default): What percentage of pixels, in relation to the object's height, must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Filters detections to stationary objects only.

Sampling interval (in milliseconds, 5000 by default): The rate at which samples are taken from the video, to be analysed. Acts as a cooldown parameter.

Min move (in percentages, 5 by default): What percentage of pixels, in relation to the object's height, must be in motion for the object to be considered as moving. The higher this value, the less chance for false detections - note, however, that this might also result in some missed detections.

Min stopped duration (in milliseconds, 5000 by default): The minimum amount of time the objects has to stay still to be considered stopped.


Space join

Configure the maximum time and space between the two objects needed to trigger an alert.

  • Maximum time difference (in milliseconds, 1000 by default): The maximum time difference between the objects. If the time difference between the two objects appearing is less than equal then the value set here, the query will trigger an alert.

  • Max relative distance (in ratio, 1 by default): The maximum distance between the objects to trigger an alert. The distance is calculated as a ratio of the width of the larger object.

Ratio calculation

The ratio equals the width of the larger object multiplied by the value set here.

For example: if the width of the larger object is 100 pixels and the value set here is 1, the maximum distance between the two objects is 100 pixels.

  • Join order (free by default): The order in which the two filters are checked.

4. Alarm Integration (optional)

The query can optionally be integrated with third-party systems, such as Milestone XProtect or a webhook to trigger alarms.

  • Cooldown (in seconds, 10 by default): The minimum time between two alerts sent to the chosen integration.

Milestone XProtect Analytics Event Integration

The query can be configured to send detections to Milestone XProtect, appearing as Analytics Events.

  • Milestone XProtect host address: The IP address of the Milestone XProtect server.
  • Analytics event name: The name of the Milestone XProtect Analytics Event that triggers the query.
  • Event display name: The display name of the event that will be shown in the event list.
  • Description: The description of the event that will be shown in the event list.
  • Timestamp offset (in seconds): The time offset between the Milestone XProtect Analytics Event and the query trigger.

Webhook

The query can be configured to send detections to a Webhook URL.

  • URL: The URL of the Webhook.
  • Custom header key: The key of the custom header.
  • Custom header value: The value of the custom header.

Results

All done - Clicking Save & Run will immediately start the analysis and opens the Result screen of this query. Alternatively, clicking Save & Exit saves the query without running it.