There are several improvements for bipartite network flows [2]. However they require the network to be unbalanced in order to substantially speed up the algorithms, . either |U | |V | or |U | |V |, which is not the case in our context. The complexity of finding an optimal (minimum or maximum weight) matching might be reduced if the cost label is also a metric on the node set of the underlying graph. For example if the nodes of the graph are points in the plane and the cost label is the L1 (manhattan), L2 (Euclidean) or L∞ metric. | Tracking Multiple Moving Objects in Populated Public Environments 33 There are several improvements for bipartite network flows 2 . However they require the network to be unbalanced in order to substantially speed up the algorithms . either U C V or U V which is not the case in our context. The complexity of finding an optimal minimum or maximum weight matching might be reduced if the cost label is also a metric on the node set of the underlying graph. For example if the nodes of the graph are points in the plane and the cost label is the L1 manhattan L2 Euclidean or L metric there are lower time complexity bounds for the problem of finding a minimum weight perfect matching 15 than in the general case. However it is not obvious if and if so how this can be applied to the given object correspondence problem. 4 Applications Fast and robust tracking of moving objects is a versatile ability which we use in two applications detection of obstructions and motion coordination with a guiding person. In these examples the motion of the robot is controlled by a reactive system that enables it to avoid collisions with static and dynamic obstacles. More details on this system and the underlying velocity obstacle paradigm can be found in 3 9 11 . Obstruction Detection A goal beyond the scope of this paper is to enable a mobile system to recognize certain situations in its environment. As a first situation we address deliberate obstructions by humans people who attempt to stop or bother the mobile system. This situation has a certain importance to real world applications of mobile robots since systems like these may attract passers-by to experiment on how the system reacts and controls its motion. Our detection of obstructions is based on the definition of a supervised area in front of the robot and three counters assigned to each tracked ob ject. The supervised area represents the space that the robot needs for its next motion steps. We call an object blocking if it is .