In this paper we present a real-time tracking algorithm that is able to deal with complex occlusions involving a plurality of moving objects simultaneously. The rationale is grounded on a suitable representation and exploitation of the recent history of each single moving object being tracked. The object history is encoded using a state, and the transitions among the states are described through a Finite State Automata (FSA). In presence of complex situations the tracking is properly solved by making the FSA’s of the involved objects interact with each other. This is the way for basing the tracking decisions not only on the information present in the current frame, but also on conditions that have been observed more stably over a longer time span. The object history can be used to reliably discern the occurrence of the most common problems affecting object detection, making this method particularly robust in complex scenarios. An experimental evaluation of the proposed approach has been made on two publicly available datasets, the ISSIA Soccer Dataset and the PETS 2010 database. 
A real time algorithm for people tracking using contextual reasoning