Tracking Interacting Objects in Complex Situations by using Contextual Reasoning