Algorithms for Smart Video Surveillance: Moving Object Detection, Tracking and Classification