Fetch your data

1. Fetch your data


Setting

In this setting, people move around and interact in a public space and we want to identify complex activities, such as people walking together, fighting or meeting. The aim is to support security procedures in a public space, by identifying problematic events, such as a fight.

Data

The data on which we build our identification is a set of recognized elementary (short-term) behaviors, such as a person running, moving abruptly or a person standing still.

The data were provided from the benchmark CAVIAR dataset.

Example

For our scenario we gather data about two persons (George and Alex) for specific moments in time, indicated by numeric timestamps. For each timestamp we hold the current person action status and the position in the space. Below we describe the gathered data both in everyday language and in the corresponding formal representation.


Plain Representation
Formal Representation
For the first timestamp (400) George's action in an abrupt motion
happensAt(abrupt(George), 400)
and we have located him in position (262, 285) of the camera picture co-ordinates.
holdsAt(coord(George)=(262, 285))
For the same timestamp (400) Alex's action in an abrupt motion
happensAt(abrupt(Alex), 400)
and we have located him in position (260, 288) of the camera picture co-ordinates.
holdsAt(coord(Alex)=(260, 288))
In the next timestamp (440) George keeps move abruptly
happensAt(abrupt(George), 440)
and we have located him in position (262, 286) of the camera picture co-ordinates.
holdsAt(coord(George)=(262, 286))
In the timestamp (440) Alex's action change in an active motion
happensAt(active(Alex), 440)
and we have located him in position (262, 285) of the camera picture co-ordinates.
holdsAt(coord(Alex)=(262, 285))
In the next timestamp (480) George's action change in an active motion
happensAt(active(George), 480)
and we have located him in position (262, 285) of the camera picture co-ordinates.
holdsAt(coord(George)=(262, 285))
In the same timestamp (480) Alex's action change again in an abrupt motion
happensAt(active(Alex), 480)
and we have located him in new position (267, 285) of the camera picture co-ordinates.
holdsAt(coord(Alex)=(267, 285))
Finally in timestamp (520) George's action change again in an active motion
happensAt(active(George), 520)
and we have located him in same position (262, 285) of the camera picture co-ordinates.
holdsAt(coord(George)=(262, 285))
In the timestamp (520) Alex's action stay in an active motion
happensAt(active(Alex), 520)
and we have located him in new position (262, 284) of the camera picture co-ordinates.
holdsAt(coord(Alex)=(262, 284))

Embed your knowledge

2. Embed your knowledge


Description

In this step embed your knowledge rule in the system. That rules reflecting on the different actions.

Example

For example we provide formal descriptions of what constitutes that two persons fighting, they are close or move abruptly.


Plain Representation
Formal Representation
Person1 and Person2 are considered to be fighting
holdsFor(fighting(Person1,Person2), FightingInterval) :-
when at least one of them moves abruptly
holdsFor(abrupt(Person1), AbruptPerson1Interval), holdsFor(abrupt(Person2), AbruptPerson2Interval),
during the same time
union([AbruptPerson1Interval,AbruptPerson2Interval],AbruptInterval),
and they are close.
holdsFor(close(Person1,Person2), CloseInterval), intersection([AbruptInterval,CloseInterval], FightingInterval)

Recognise events in realtime

3. Recognise events in realtime


Generic placeholder image

4. Get value out of the data


The output of the process allows a quick glimpse over a huge amount of data gathered within the day, summarizing the main events and problems that help you make decisions.

Now, you can provide this analysis as a service to others, or use the findings within your organization to do things, such as optimizing procedures, improving customer experience or minimizing risks.


Generic placeholder image

Generic placeholder image