K. Lertniphonphan 1, S. Aramvith 1, T. Chalidabhongse 2 of Electrical Engineering, Chulalongkorn University Bangkok 10330 Thailand, Supavadee.A@chula.ac.

th 2 Department of Computer Engineering, Chulalongkorn University Bangkok 10330 Thailand, thanarat@cp.eng.chula.ac.th
1 Department

While most existing background subtraction methods need video of static scene for initializing the background model; this is not applicable in some applications such as in traffic monitoring and surveillance systems. This work presents an algorithm to construct a background model from non-empty scene video. We classify blobs of pixels into four classes: moving foreground objects, stationary foreground objects, uncovered background regions, and real background regions using a fusion of detected blobs from background subtraction, optical flow, and histogram matching. Only real and uncovered background regions will be used in model updating. Our experiments showed the proposed method works well for non-empty scene background construction.

Background subtraction
Background subtraction is done to detect blobs in a current frame that are different from the background model. Let Ii be an input ith frame and Bi be a current background model. The background subtraction result is defined as

Motion detection
While one thread of the process performs background subtraction mentioned above, the other thread runs optical flow computation using Lucas-Kanade (LK) algorithm [5] on consecutive frames. Let be magnitude of motion flow vector at the pixel (x,y).

Where (dx, dy) are motion flow vector in row and column directions respectively

Intensity histogram matching
First we extract a bounding box of the blob, then we compare the intensity histograms of the blob region and its complement inside the bounding box using Bhattacharyya distance [6]. Let and be the intensity of inside and outside the blob consequently. The Bhattacharyya distance can be computed as

If the distance exceeds a threshold, that means the inside and outside areas of the blob are different. Thus, the blob is classified as a stationary foreground region. Otherwise, the blob is classified as an uncovered background region and is used in background model updating




Sign up to vote on this title
UsefulNot useful