The proliferation of video surveillance cameras, which account for the vast majority of cameras worldwide, has resulted in the need to find methods and algorithms for dealing with the huge amount of information that is gathered every second. This encompasses processing tasks, such as raising an alarm or detouring moving objects, as well as some semantic tasks like event monitoring, trajectory or flow analysis, counting people, etc.