Areas and tripwires¶
Overview¶
Areas and tripwires are the two main primitives that can be used to trigger events. An area is defined by a polygon made up of three or more points. A tripwire is defined by two endpoints that make up a line segment. These can be added through the Analytics setup
window
There are multiple area templates available:
- Occupancy: Triggers when a Relevant Object enters/exits the area
- Loitering: Triggers when a Relevant Object stays within the area for a long period
- Movement: Triggers when a Relevant Object moves inside the area
- Intrusion: Triggers when a Relevant Object enters the area
- Crowding: Triggers when the number of Relevant Object inside the area exceeds a threshold
- Object left/removed: Triggers when an object is left in or removed from the area
There are multiple tripwire templates available:
- Counting: Triggers when a Relevant Object crosses the tripwire, and reports the total count
- Crossing: Triggers when a Relevant Object crosses the tripwire
- Tailgating: Triggers when two Relevant Object cross in quick succession
In addition, you can use Area (advanced)
and Tripwire (advanced)
to create highly configurable areas and tripwires with all settings available.
Adding Areas and Tripwires¶
To add an area or a tripwire, expand the relevant section and follow the instructions by hovering over the information icon:
Configuring Areas and Tripwires¶
Each area/tripwire can be further configured by clicking the gear icon
Please refer to Common Settings to know more about the settings you can change on both areas and tripwires, and to Areas and Tripwires to know more about how them in specific.
Removing Areas and Tripwires¶
To remove an area/tripwire, click on the "delete" button
Common settings¶
Anchor point¶
All areas and tripwires check for individual points to determine if an object is inside the area or has crossed the tripwire.
These are the available options
It's worth noting the importance of this setting, since, depending on the viewing angle, it can have a significant impact on the accuracy of the events. As an example, the following two images showcase the point (white dot) that will be used to check if the person is inside an area.
Here the anchor point is set to Bottom Center
, and the person would be considered to be inside the area since the white dot is inside the polygon defining the area.
Here the anchor point is set to Center
, and since the white dot is outside the polygon defining the area, the person would be considered to be outside of it, which is not what you would expect from this viewing angle.
Relevant objects¶
One of the main things to consider when configuring areas/tripwires is what constitutes a "relevant object". If we want a tripwire to trigger only when a person crosses, we can deactivate the other classes in the tripwire/area configuration. Any new area/tripwire is configured by default to trigger on people, vehicles, and animals.
In addition to those three classes, we can also configure the area/tripwire to trigger on "unidentified objects" caused by motion.
Areas¶
Area occupancy¶
Defines an area that triggers when a Relevant Object enters or exits the area.
You can further configure it with the following settings
In addition to the class settings described above, you can also configure if an event should be triggered when a Relevant Object enters or exits the area. You can also specify the anchor point that will be used to determine if an object is inside the area. Please refer to this section for more information.
Area intrusion¶
This area template behaves similarly to Area occupancy but triggers events only when a non-stationary object is found inside it.
You can see it in action by starting the person_area_intrusion
instance.
You can find more about the other settings available in Common Settings
Area Crowding¶
This area template triggers an event when the number of relevant objects inside exceeds a configurable threshold.
You can see it in action by starting the person_area_crowding
instance.
You can find more about the other settings available in Common Settings
Area Loitering¶
This area template triggers an event when one or more relevant objects stay inside the area for more than a configurable amount of time.
The Minimum stay time (sec)
controls how long, in seconds, an object needs to be inside the area to be considered loitering.
You can find more about the other settings available in Common Settings
You can see it in action by starting the person_area_loitering
instance.
Area Movement¶
You can use this area template to trigger an event when a Relevant Object moves inside it.
You can find more about the settings available in Common Settings
You can see it in action by starting the person_area_loitering
instance.
Tripwires¶
Tripwire crossing¶
Triggers whenever a Relevant Object crosses the tripwire.
There are 3 general tripwire settings (in addition to area settings) that can be set.
Direction: Defines filter for crossing direction.
Tripwires Directionality
To change the directionality of a tripwire, select the tripwire you want to configure, and press C on the keyboard to loop through the different direction combinations.
Cross Bandwidth: Defines a bandwidth around the line that needs to be crossed to trigger the crossing event.
Cooldown Bandwidth: Defines a bandwidth around the line that the tracked object needs to leave to reset the system, thus enabling the triggering of a new event upon crossing the tripwire once again.
For more information about the direction and bandwidth see: Tripwires Advanced information
Find more about the common settings for both areas and tripwires in Common Settings
To test the tripwires functionality, you can try the following demos:
- Person/Tripwire Crossing
- Person/Tailgating Detection
- Vehicle/Tripwire Crossing
- Vehicle/Tailgating Detection
Tripwire counting¶
This is essentially the same as Tripwire crossing
Tripwire tailgating¶
Triggers when two Relevant Objects cross in quick succession. For instance, if object A crosses the tripwire and then object B crosses it within a given time interval, the tripwire will trigger a tailgating event.
You can control the Maximum elapsed time (sec) between consecutive crossings
by moving the respective slider. Defaults to 1 second
You can see it in action by starting the person_tripwire_tailgating
instance.
Tripwires Advanced information¶
Direction¶
This defines in which direction the tracked object must cross the tripwire to trigger the crossing event. You can see the direction interpretation in the following picture. A is the first point selected, and B is the second point selected.
Cross Bandwidth¶
This defines a bandwidth around the line that needs to be crossed to trigger the crossing event.
If you set the Cross Bandwidth to 0, it acts just like a single tripwire. So, in this scenario, the tracked object needs to cross from one side to the other for the event to happen.
However, if you set the Cross Bandwidth to be larger than 0, you're essentially setting up two parallel tripwires a certain distance apart. For the event to be triggered in this case, the tracked object needs to cross both lines in a specific order.
See the following figure as an example:
Cooldown Bandwidth¶
This refers to the specified range around the tripwire that a tracked object must exit to reset the system, thus enabling the triggering of a new event upon crossing the tripwire once again.
The following figure illustrates the bandwidth representation in UI.