next up previous
Next: The proposed architecture Up: A Software Architecture for Previous: Introduction

Previous work

Previous researchers identified many useful design patterns and ideas for building DVT systems. Multiple viewpoints have been employed because they allow: disambiguating occlusions [6]; monitoring structured scenes (e.g. corridors) [3,4]; determining exact 3D position of the tracked object [7,1]; solving difficulties tied to the limited field of view [10,6,5,1]; fault tolerance [2]. In order to ensure the flexibility and openness of the system, it has been assumed that the observers are not mutually synchronized and that they have different processing performance [3,2,1]. Consequently, a special protocol has been needed to synchronize the clock of each observer to the referent time. Active vision [1] and panoramic cameras [2] have been used in order to enlarge the visible portion of the scene from each viewpoint. The most significant DVT architectures are outlined in the following list, in the decreasing order of centralization:

  1. Monolithic system: raw images from all cameras are processed within the same program, there is no per-view autonomous processing [4,11].
  2. Hierarchical division of responsibility: each observer node is assigned a dedicated computer system, while the observations are gathered and processed in a centralized fashion within a higher level program [2,6].
  3. Decentralized common view: observers communicate the tracking results to all peers, so that each observer stores a copy of the common view [3].
  4. Society of independent watchers: observers independently localize the objects within the visible portion of the navigation area; the tracking is performed within per-object agents by combining evidence from relevant observers [10].
  5. Society of cooperative agents: each observer tracks a single object and adjusts the viewing direction accordingly [1]; observers dynamically form groups tracking a common object, and may be unaware of other objects' movement.

Different architectures suite different configurations with respect to the parameters such as count of observers $n_{obs}$, count of tracked objects $n_{to}$ and whether active cameras are available [1]. In general, the decentralized approaches are more flexible with respect to scalability and fault tolerance. However, the intelligent behaviour of the system tends to be more complicated to express through control protocol between peer components, than within a single component of the hierarchical structure. Thus, architectures 4) and 5) have been employed in systems for which $n_{obs}\gg n_{to}$, in which suboptimal resource allocation is affordable. The architecture proposed in this paper aims at many realistic applications for which $n_{obs}\le n_{to}$ and consequently combines the effectiveness of the hierarchical structure with the flexibility of autonomous observers.

Multiagent organization [13] has recently become an often proposed software architecture paradigm. Building systems in terms of intelligent anthropomorphic components is appropriate when the communication between the large parts of a system becomes complex enough, so that it becomes useful to model it after the human interaction. A good description of the multiagent paradigm has been articulated as the agenthood test [14], which states that a system containing one or more reputed agents should change substantively if another reputed agent is introduced to the system. The test stresses that the operation of a multiagent system depends on mutual awareness of its components.


next up previous
Next: The proposed architecture Up: A Software Architecture for Previous: Introduction
Sinisa Segvic 2003-02-25