This paper presents a system to detect and track multiple moving objects in the presence of mutual occlusion and shadow. A novel change detection algorithm based on Cauchy distribution is proposed. The ratio of pixel's intensities between two images is used as the feature to model and subtract background. The distribution of the ratio of background pixel's intensities between a current image and a reference image can obeys Cauchy distribution, assumed that some observed temporal intensity variation of each pixel in a background image is caused by white noise. By hypothesis testing whose decision thresholds are related to the false alarm rate, robust change detection can be carried out. We exploit spectral and geometrical properties of shadows to recognize and eliminate them in video sequences. Intensity, hue and saturation in the YCbCr color space is employed to this end. In order to solve ambiguity due to occlusion and recover from intermittent tracking failure, we propose a method to implement tracking of multiple moving objects. The method is based on multi-cue and dynamic templates matching in consecutive frames and motion estimation by Kalman filter. In our system, a fast accurate clustering algorithm based on k-nearest neighbor search is employed and the feature space is constructed by extracting the position, color, shape and velocity information of moving objects. In this paper, occlusions are addressed in two classes, i.e. static occlusion and dynamic occlusion. Depend on the prior knowledge of the background scene and the feedback from objects detection and tracking, the distribution of static occlusion region in the scene can be acquired and updated. The bounding box around a static occlusion region is used as an alarm sign to start the process of static occlusion. Dynamic occlusion event can be detected and processed in terms of the proposed tracking scheme and multi-cue and dynamic templates matching approach. Experiment results demonstrate that the proposed approach is feasible and effective.