1. A method for target tracking, comprising: tracking a state of each target in a video through multiple frames of said video, each state indicating a visibility condition of a target; maintaining connection data for each target, said connection data indicating one or more relationships between said target and at least one other target, said connection data being based at least on a state of each target; and tracking at least one target in said video based on said tracking a state of each target and on said maintaining connection data for each target; wherein said tracking at least one target includes managing a visible target; wherein said managing a visible target comprises: predicting a location of at least one blob; matching at least one existing target, if one exists, to said at least one blob, to thus generate at least one matched target; updating said at least one matched target, if one exists; and creating a new target corresponding to a remaining blob for which there is no corresponding matched target; and wherein a computer performs said tracking a state of each target, said maintaining connection data for each target, and said tracking at least one target.