Organize Events with Episodes
This section is about the Episodes tab.
See also
An episode is a set of identification events that feature objects of the same origin (face and body images of the same person and images of the same car) detected within a specific period. As events on the Events tab show up in an arbitrary order, a large number of miscellaneous events can make the work difficult and unproductive. With the episodes, the system uses AI to organize incoming events based on the objects’ similarity and detection time. This allows for easy processing of diverse events, even in large numbers.
In this chapter:
About Episodes
There are two stages of an episode lifecycle:
LIVE: an episode is currently active, with more events to be possibly added.
Closed: an episode is closed, no events can be added.
Episodes are classified as people episodes and car episodes. People episodes feature face and body images of people, detected within a specific period, while car episodes contain car images.
Grant Rights for Episodes
A user receives a notification of a new episode if they have rights for the first event. Viewing new events in the episode also requires proper rights.
The right for an event consists of the rights for a corresponding camera and watch list.
Note
To see unmatched events, you only need the rights for a camera.
To manage rights of a role for the entire Episode
entity, open permissions for this role and adjust the following permissions:
humanepisode
: people episodescarepisode
: car episodes
Tip
See User Management.
View Episodes
You can find the list of episodes with filters and statistics on the Episodes tab. Episodes are sorted subject to the object’s origin: there are people episodes and car episodes.
Once an object is detected, it is either added to an existing LIVE episode or used as a starting point for a new episode. Each episode is assigned an identifier which can be later used to filter events and episodes.
When working with the episodes, the following default filters may come in handy:
Note
Some filters from the list below may be hidden, subject to enabled recognition features.
Card: display episodes only for a selected card.
Watch lists: display episodes only for a selected watch list.
Matches: display episodes only with/without matches, or all episodes.
Acknowledged: display only acknowledged/unacknowledged episodes, or all episodes.
Cameras: display only episodes from a selected camera.
Camera groups: display only episodes from a selected group of cameras.
Start, End: display only episodes that occurred within a certain period.
Count from: display only episodes with a given number of events.
Video Archive ID: display episodes related to the video archive with a given ID.
Episode ID: display an episode with a given ID.
Specific filters for people episodes
Age: display episodes with people of a given age.
Gender: display episodes with people of a given gender.
Emotions: display episodes with given emotions.
Glasses: filter episodes by the fact of wearing glasses.
Beard: filter episodes by the fact of having a beard.
Liveness: filter episodes by face liveness.
Face mask: filter episodes by the fact of wearing a face mask.
Headwear: display only episodes with a person wearing headgear of a given type: hat/cap, hood/headscarf, none.
Upper body clothes: display only episodes with a person wearing upper body wear of a given generalized category: long sleeves, short sleeves, no sleeve.
Upper clothes type: display only episodes with a person wearing upper body wear of a given specific type: jacket, coat, sleeveless vest, sweatshirt, T-shirt, shirt, dress.
Upper clothes color: display only episodes with a person wearing a top of a given color.
Lower body clothes: display only episodes with a person wearing lower body wear of a given type: pants, skirt, shorts, obscured.
Lower clothes color: display only episodes with a person wearing a bottom of a given color.
Specific filters for car episodes
Car body style: display only episodes with cars of a given body style.
Car color: display only episodes with cars of a given color.
Country of the license plate: display only episodes with cars registered in a given country.
Number plate: display an episode with a given plate number.
Region of the license plate: display only episodes with cars registered in a given region.
Make: filter car episodes by car make.
Model: filter car episodes by car model.
Special vehicle: display only episodes with vehicles belonging to a given type: police, ambulance, rescue service, taxi, other.
To view episode events, click the episode on the list. You will be redirected to the Events tab with the corresponding episode ID set in the Episode filter:
Work with the Events tab as described in Work with Events.
Event and Episode Acknowledging
To acknowledge an entire episode, click Not accepted for this episode on the list. As a result, all events in the episode will be automatically acknowledged, including those that are yet-to-appear (in the case of a LIVE episode).
An episode is also automatically acknowledged after acknowledging all its events one by one.
Filter Events by Episode ID
To display events by episode ID, either use the id filter on the Episodes tab or the Episode ID filter on the Events tab.
Episode Settings
To configure the episodes, use the /etc/findface-security/config.py
configuration file. Find the following parameters in the FFSECURITY
section:
FACE_EPISODES_THRESHOLD
,BODY_EPISODES_THRESHOLD
,CAR_EPISODES_THRESHOLD
: Similarity thresholds that the system are using when searching for recent events in order to construct an episode. The default values are set to the optimum. If necessary, you can change them. Be sure to consult with our technical experts prior (support@ntechlab.com).FACE_EPISODE_SEARCH_INTERVAL
,BODY_EPISODE_SEARCH_INTERVAL
,CAR_EPISODE_SEARCH_INTERVAL
: The period preceding an event, for which the system searches the feature vector database for already existing events with similar objects. If no such event is found, the system creates a new episode. Otherwise, it sorts out the 100 most recent similar objects and picks up the most relevant event from a LIVE episode.EPISODE_MAX_DURATION
: The maximum episode duration in seconds. After this time, an episode automatically closes.EPISODE_EVENT_TIMEOUT
: The maximum time in seconds since the last event has been added to an episode. After this time, an episode automatically closes.EPISODE_KEEP_ONLY_BEST_EVENT
: When closing an episode, delete all events in it, except the one with the best object. Use this option to save disk space.
sudo vi /etc/findface-security/config.py
...
FFSECURITY = {
...
# episodes specific matching threshold that is used to join faces in an episode
'FACE_EPISODES_THRESHOLD': 0.688, # FAR = 1.00E-06 # model: [kiwi_320]
'BODY_EPISODES_THRESHOLD': 0.61, # model: [andariel]
'CAR_EPISODES_THRESHOLD': 0.61, # model: [alonso]
...
'EPISODE_KEEP_ONLY_BEST_EVENT': True,
...
# maximum event age in seconds than could be added to an episode.
'FACE_EPISODE_SEARCH_INTERVAL': 60,
'BODY_EPISODE_SEARCH_INTERVAL': 60,
'CAR_EPISODE_SEARCH_INTERVAL': 60,
# maximum episode duration (episode is closed after)
'EPISODE_MAX_DURATION': 300,
# if no new event added to an episode during this timeout, episode will be closed.
'EPISODE_EVENT_TIMEOUT': 30,
...
}
...