• No results found

4.2 Module 1 – Pre-Processor

4.2.3 Atomic Event Calculation

0 refers to the set of non-negative real numbers that can be represented by the computer.

Variable Fluent Constraints

Object o is visible in the scene.

visible(o) o ∈ Objects Object’s x position posx(o, x) o ∈ Objects,

x ∈N0 Object’s y position posy(o, y) o ∈ Objects,

y ∈N0

Table 4.3: A list of the variables used to represent the state of a frame of system input.

4.2.3 Atomic Event Calculation

The atomic event types denote the change of a state between two consecutive frames. Table 4.4 lists the event type fluents and their meaning. The definition of each event type is based upon the frame-state variables and is listed in Appendix A. There are no constraints as to the mutual exclusivity or otherwise of these event types past the event type definitions themselves. This implies that it is possible for an object to move left and up at the same time, but can’t move left and right at the same time due to the atomic event type definitions making this a mathematical impossibility.

The processing takes place using sequential pairs of frame-states. One frame-state is designated as the current frame-state and the other as the pre-vious frame-state. In this way, the current frame-state becomes the prepre-vious frame-state when the next frame-state is processed. The pairs of frame-states are compared against the atomic event type definitions and the atomic event types that match the frame-states are generated as instances and are passed to the recognition module.

The event types that are detected are based on those described by dos Santos et al. (2009) but have a number of significant extensions. The

remain-Fluent Meaning

lost(o) Object o is no longer visible.

found(o) Object o has become visible.

moveLeft(o) Object o has moved left.

moveRight(o) Object o has moved right.

moveUp(o) Object o has moved up.

moveDown(o) Object o has moved down.

approaching(o1, o2) Object o1 and Object o2approached each other.

receding(o1, o2) Object o1 and Object o2 receded from each other.

mergeRight(o1, o2) Object o1’s track box has merged with Ob-ject o2’s track box on the right of Object o2

mergeLeft(o1, o2) Object o1’s track box has merged with Ob-ject o2’s track box on the left of Object o2 mergeTop(o1, o2) Object o1’s track box has merged with

Ob-ject o2’s track box on the top of Object o2 mergeBottom(o1, o2) Object o1’s track box has merged with

Ob-ject o2’s track box on the bottom of Object o2 emergeRight(o1, o2) Object o1’s track box has emerged from

Ob-ject o2’s track box on the right of Object o2

emergeLeft(o1, o2) Object o1’s track box has emerged from Ob-ject o2’s track box on the left of Object o2 emergeTop(o1, o2) Object o1’s track box has emerged from

Ob-ject o2’s track box on the top of Object o2 emergeBottom(o1, o2) Object o1’s track box has emerged from

Ob-ject o2’s track box on the bottom of Object o2 makeContactRight(o1, o2) Object o1 has made contact with Object o2 on

the right of Object o2

makeContactLeft(o1, o2) Object o1 has made contact with Object o2 on the left of Object o2

makeContactTop(o1, o2) Object o1 has made contact with Object o2 on the top of Object o2

makeContactBottom(o1, o2) Object o1 has made contact with Object o2 on the bottom of Object o2

breakContactRight(o1, o2) Object o1 has broken contact with Object o2 on the right of Object o2

breakContactLeft(o1, o2) Object o1 has broken contact with Object o2 on the left of Object o2

breakContactTop(o1, o2) Object o1 has broken contact with Object o2 on the top of Object o2

breakContactBottom(o1, o2) Object o1 has broken contact with Object o2 on the bottom of Object o2

Table 4.4: A list of the fluents used to represent atomic event types along with their meaning.

der of this section will look at these differences. The first difference is that dos Santos et al. (2009) did not directly record the time of an event instance or frame-state; instead a new connective was defined, called serial conjunc-tion. The serial conjunction connective, ⊗ connects two predicate logic state-ments ρ1 and ρ2 such that the resultant statement ρ2⊗ ρ2 means “ρ1 happens immediately before ρ2”.

In contrast the system described in this chapter uses a more general re-lationship than serial conjunction, in that it allows for serial, parallel and overlapping conjunction. This is achieved by pairing events hierarchically, and will be described in section 4.3.

The remaining changes between the two systems are additions or subtrac-tions of atomic event types. These are listed below:

• dos Santos et al. (2009) only defined event types along the horizontal axis. The system described by this thesis defines the relevant event types in terms of both the horizontal and vertical axes.

• Event types were added that represent objects entering and leaving the observed scene. These additions were influenced by Ivanov & Bo-bick (2000).

• The system also has an addition of event types to represent the absolute movement of objects. These were included as it was deemed that only using relative movement (as was done by dos Santos et al. (2009)) is insufficient – for instance, the event type approaching can be satisfied both by a mobile object moving towards a static object and a chase scenario where the chasing object is gaining on the chased object. It may be desirable to allow for these situations to be differentiable and this can be done through representing absolute movement. These issues are discussed further by Van de Weghe et al. (2005).

• Event types that represent objects making and breaking contact were added. The merge and emerge event types are transitions to and from a coalescent state. The addition of event types representing objects making and breaking contact allow for the transitions to and from an externally connected state. The definitions of these event types recognise that for two objects to transition between being disconnected to being coalescent, the objects need to pass through an externally connected state and so, the make or break contact event types are generated even if the transition between the disconnected and coalescent states occurs over less than one frame.

• dos Santos et al. (2009) provided an event type to represent a static relationship between two objects. This has been removed as it represents no change of state.

• dos Santos et al. (2009) also provided a set of three event types to repre-sent an object’s relationship to the camera (approaching, receding and

stasis). These were removed as they were calculated based upon the change in the size of an object. This makes the assumption that an object’s absolute size is constant, which is not necessarily true. These event types could only be correctly defined in a system that employs stereo cameras (even in this case, the event types may be better imple-mented by introducing an observer object into the scene and using the existing approaching and receding event types).