An Efficient Moving Object Detection and Description: Abstract - in This Paper, A New Algorithm of Moving Objects
An Efficient Moving Object Detection and Description: Abstract - in This Paper, A New Algorithm of Moving Objects
Abstract In this paper, a new algorithm of moving objects detection and description is proposed. Based on the analysis of projection of the 3D motion of objects, the information of motion eld is exploited to make moving object detection more efcient. The discontinuities of motion vector eld on the boundaries of moving objects enable us to detect the moving objects blocks in which the potential boundaries of the moving objects locate. A further renement of the boundary of moving objects and efcient descriptor for moving objects are proposed as well. The simulation results show that each moving object is successfully identied. Index Terms Moving object detection, motion vector eld, perspective projection.
Fig. 1.
motion eld study and the other is object detection method, which will introduced in following sections. III. M OTION V ECTOR F IELD OF R IGID O BJECTS As the ideal imaging model, perspective projection model is adopted in this paper. Under this model, motion vector corresponding the 3-D motion of rigid objects have following properties. Proposition 1: Dene f (P) = mP /Pz , where mP and Pz are the 3-D motion and the z coordinate of point P respectively, if for three points P1 , P2 , P3 locating in a surface of an object, 1) P3 = P1 + (1 )P2 and, 2) The surface containing P1 , P2 and P3 is a plane surface. and, 3) f (P1 ) = f (P2 ) = f (P3 ), then vP3 = vP1 + (1 )vP2 (1) where vP is the motion vector in image plane associated with 3-D point P. This proposition shows that for any three points in a line, if condition 2) and 3) are satised. Then their associated motion vectors are linear interpolated as well. The condition 3) means the motion of all along the z-direction should be same. These two conditions almost hold for arbitrary 3-D objects. It is reasonable to assume the motion in same objects should be same. In addition, it is also convenient considering the connected objects with same motion as one moving object. The equation (1) shows that under these constraints, the motion vector associated with the points in one moving object should be linear interpolated. That will introduce the following algorithms.
I. I NTRODUCTION
Oving object detection techniques have been studied extensively for such purposes as video content analysis as well as remote surveillance. There are many ways to track the moving object [1]-[6]. Most of them use the frame differences to analysis the moving object and obtain object boundary, which may be quite time consuming. In order to reduce the computation cost, a more efcient way is expected. From this point of view, a new moving object detection algorithm is proposed to exploit information of motion eld. As motion vectors introduce the discontinuities on the boundaries of moving objects, basic idea here is to use the discontinuous points in the motion eld as the boundary of the moving objects. II. M OVING O BJECT D ETECTION A LGORITHM The process of proposed moving object detection algorithm is presented in Figure. 1. At the rst stage, block-based motion estimation is used to obtain the coarse motion vectors, the vectors for each block, where the central pixel of the block is regarded as the key point. These motion vectors are used to detect the boundary blocks, which contain the boundary of the object. Later on, the linear interpolation is used to make the coarse motion eld a dense motion eld, by this way to remove the block artifacts. This property can also be used to detect whether the motion eld is continuous or not. This rened dense motion eld is used to dene detail boundaries in each boundary block. At last, moving object is detected and coded. This algorithm could be divided into two parts, one is the
IV. M OVING O BJECT D ETECTION A LGORITHMS In this section, object detection algorithms are introduced step by step as detecting boundary blocks, writing chain codes, and detecting boundaries in the boundary blocks, where the boundary block is dened as a block containing boundary of a certain moving object. To simplify the moving object boundary detection, some assumptions are drawn: 1) At most two objects boundaries in one block; 2) Any object cannot be hold in one block; 3) The boundary of moving object is a simple closed curve. The idea of proposed moving objects detection is to exploit the motion vector detected in video compression as the clue for the moving objects and then rene the moving objects boundaries. This scheme will speed up the moving object detection signicant. A. Boundary Block Detection At rst, we will detect the blocks containing moving object boundaries by using the information of the motion vector eld generated by video compression. The motion vector derived by motion estimation is the common motion vector for all pixels in one block. However, we can assume it is the motion vector of the critical points locating in the centroid of each block. As mentioned above, pixels in the same object should satisfy the condition of linear interpolation. Hence the critical points in one moving objects should satisfy this condition. When this condition is violated, the discontinuity of motion vector eld exist and imply the existence of the boundary in associated block. Then the algorithm detecting blocks containing moving objectsboundaries is as follows: Algorithm 1: moving object block detection 1) Scan along horizontal direction, for three consecutive critical points P1 , P2 , P3 , which are central points of each block and satisfying 2P2 = P1 + P3 , if 2vP2 = vP1 + vP3 , then P2 might be a boundary block. 2) Scan along vertical direction, for three consecutive critical points P1 , P2 , P3 , which are central points of each block and satisfying 2P2 = P1 + P3 , if 2vP2 = vP1 + vP3 , then P2 might be a boundary block. Now the possible boundary blocks are selected, for further verication, another condition is provided. 3) For six consecutive critical points P1 , P2 , P3 , P4 , P5 , P6 , which are in a same line, and P3 , P4 , P5 are possible boundary blocks, while P1 , P2 , P6 are not. The central block P4 is the boundary block. The above algorithm does not guarantee the moving objects boundary of closed simple curve. Thus we the following algorithm to nd the simple closed curve corresponding the boundary of moving objects. Then we describe the boundary blocks by chain code. 8-neighboring connectivity is used here. The number 0 to 7 denotes neighboring blocks. Initial search starts from block 0,
then round the target block, from block 1 to block 7. During the search, once a neighboring block is found as a boundary block, then the search will stop and the neighboring block will be regarded as current target block to start 8 neighboring blocks search iteratively. The searching algorithm applied to blocks is as follows: Algorithm 2: Forming the closed curve of boundary blocks 1) Let m = 0, Scanning from the left top corner block of the blocks in image to nd the rst boundary block 2) The rst boundary block of mth object is denoted by B = B0 = (i, j), initialize the current direction as horizontal right c = 4; The boundary blocks of moving object m, is denoted by Sm = {(i, j), c} 3) Dene the 8-neighboring blocks of B as {Bct } where ct = (c 3 + t) mod 8, t = 0, ..., 7, and Bct denotes the block searching from B along direction ct . 4) Searching the next boundary block of B in the set {Bct |t = 0, , 7} to nd the next boundary block. Once it is found, it is dened as B1 and c = ct is the current chain code. 5) If B1 = B0 , then B = B1 , Sm {ct } Sm , and ct c; go to the step 3) 6) m + 1 m, searching the rst boundary block for the mth object in remain blocks. If it is successful, then go to the step 2); 7) End. The chain code of mth moving object is Sm = {(i, j), c1 , c2 , c3 , ..., cj }, where (i, j) means the rst boundary block is (i, j)th block in the image. B. Detection of the detail boundaries of moving objects To simplify, we use the line segment in one block to approximate the actual boundary of moving objects in that block. In the other words, we use polygon to approximate the moving objects boundary. Therefore, each boundary block obtained in algorithm 2 is replaced by a line segment. That will be the algorithm of detecting detail boundary of moving objects. Assume there are M moving objects = {i |i = 1...M }. Please pay attention here, in the following contents, the subscript i, j of Bi,j does not denote the position of block B, instead, i denotes the ith moving object and j denotes the jth boundary block of ith moving object. As mentioned above, each moving object can be represented by a sequence i = (Bi,0 , di,1 , di,2 , ..., di,Li ), where Bi,0 is the index of the initial boundary block and Bi,0 (x, y) is used to denote its location, di,j is the chain code from block Bi,j1 to block Bi,i , i.e., Bi,j = Nb (Bi,j1 , di,j ), j = 1, ..., Li , and the chain code is dened clockwise in the 8-connected. The intensity function of the frame k is fk and an indicator function will be generated for every boundary block. Algorithm 3: Fine moving objects boundary detection
1) i = 1, = . 2) i = , j = 1. 3) Bi,j = Nb (Bi,j1 , di,j 1),suppose Pi,j Qi,j is the common edge of Bi,j and Bi,j . 4) If motion vector v(Bi,j ) = v(Bi,j ) g(P) = |fk (P + v(Bi,j )) fk1 (P)| |fk (P + v(Bi,j )) fk1 (P)|, P Bi,j else g(P) = |fk (P + v(Bi,j )) fk1 (P)| T0 , P Bi,j where T0 is predetermined threshold. 5) Generate indicator function I(P) = . 6) If I(Pi,j )I(Qi,j ) = 1, go to step 9). 7) Pi,j , if I(Pi,j ) = 0 P0 = i,j Qi,j , if otherwise 8) Regarding P0 as the initial point, to nd the rst pixel i,j whose indicator is nonzero at the boundaries of Bi,j along the counter clockwise direction to replace Pi,j , and nd the rst pixel whose indicator is nonzero at the boundaries of Bi,j along the clockwise direction to replace Qi,j . 9) i = i {(di,j , Pi,j , Qi,j )} 10) If j < Li , j = j + 1 then go to step 3. 11) i = i {i } 12) if i < M, i = i + 1 then go to step 2. 13) End. Remarks: 1) is the set for the detail boundaries of all moving objects. 2) i is a closed detail boundary of ith moving object. 3) The outside neighbor of boundary block Bi,j is block Bi,j (as depicted in Figure. 2). 4) In indicator function I for block, in which 1 denotes the pixel in moving objects and 0 denotes pixel in outside region. 5) The position of endpoints Pi,j , Qi,j in step 9) can be represented by arc length coordinate which require 4 bits only. V. S IMULATION R ESULTS The simulation results are presented as shown in Figure. 3, Figure. 4 and Figure. 5. As shown in Figure. 3, the connected outline is the object boundary in the motion eld, which is also the chain code. The short white lines are the motion vectors for each block, while the grey short line surrounded by short white lines denotes for the block which is not boundary block. As shown in Figure. 4 and Figure. 5, the results are moving objects in previous frame and current frame separately. As displayed in the gures, the moving object can be tracked and the vision effect is good.
Fig. 2. Outside block Bi,j
1, 0,
Fig. 3.
VI. C ONCLUSION In short, a more efcient moving object detection algorithm is suggested for video compression. First of all, the coarse motion vectors are obtained through block-based motion estimation. Then these motion vectors are used to detect the boundary blocks. Later on, a dense motion eld is formed by linear interpolation to dene detail boundaries in each boundary block. At last, moving object is detected and coded. Simulation results show that moving object could be identied correctly with good vision effect.
ACKNOWLEDGMENT The authors would like to thank DSTA funding for support of the programme Wavelets and Information Processing.
R EFERENCES
[1] H.Y. Zhang and B.Z. Yuan, A multi-resolution image matching algorithm for moving object detection by wavelets, ISSIPNN Proceedings, vol. 1, pp. 276-279, April, 1994. [2] D. Li, Moving objects detection by block comparison, Electronics, Circuits and Systems, vol. 1, pp. 341-344, Dec, 2000. [3] R. Cucchiara, C. Grana, M. Piccardi and A. Prati, Statistic and knowledge-based moving object detection in trafc scenes, IEEE Proceedings. Intelligent Transportation Systems, pp. 27-32, Oct, 2000.
Fig. 4.
Fig. 5.
[4] J.M. Odebez and P. Bouthemy, Detection of multiple moving objects using multiscale MRF with camera motion compensation, ICIP 1994, vol. 2 , pp. 257-261, Nov, 1994. [5] Y.K. Jung, K.W. Lee and Y.S. Ho, Content-based event retrieval using semantic scene interpretation for automated trafc surveillance, IEEE Transactions on Intelligent Transportation Systems, vol. 2, pp. 151-163, Sep, 2001. [6] R. Montoliu and F. Pla, Multiple parametric motion model estimation and segmentation, ICIP 2001, vol. 2, pp. 933-936, Oct, 2001. [7] T. Xia, Wavelets-based colour image sequence compression, PHD Thesis, School of Mathematical Science, Peking University, 1997.