Movie S1. Clustering, Lane formation and Jamming in bi-disperse crowds
Bi-disperse crowds consist of two groups of agents, where each agent has an intrinsic direction of motion. Interactions with other agents (which depends on the number of agents in each group and their speeds) results in a wide variety of collective phenomena from clustering (where the agents get agglomerated to an absorbing state), laning (where agents of each group takes up a distinct lane(s)) to jamming (where the movement is no longer counter-current).
Movie S2: Comparison between the simple and neighbourhood observer
The simple observer classifies agents based on their observed horizontal velocities, and as a result, misclassifies agents whenever they are pushed in a direction opposite to their desired direction. The neighbourhood observer estimates the effect the local neighbourhood has on an agent’s motion, and can generally achieve better classification results.