# Patent

## Title
System and method for detection and tracking of moving objects

## Abstract

A method implemented using a processor based device is disclosed. The method includes receiving a video stream comprising a plurality of image frames having at least one moving object, determining a difference between at least two image frames among the plurality of image frames and generating a difference image comprising a plurality of image blobs corresponding to the at least one moving object. The method further includes generating a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs, and determining a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy technique based on a perceptual characterization of the subset of bounding boxes. The method also includes merging the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.

## Background
BACKGROUND
The subject matter disclosed herein generally relates to visual monitoring and video surveillance. More specifically, the subject matter relate to methods and systems for detection and tracking of moving objects in a video stream.
Video detection and tracking is an integral part of many state of the art systems such as Surveillance and Reconnaissance systems. ISR (Intelligence, Surveillance and Reconnaissance) systems encompass collection, processing, and utilization of data for supporting military operations, for example. ISR systems typically include unmanned aerial vehicles (UAVs) and ground, air, sea, or space-based equipments. Such video processing systems are used for detecting moving objects and may also be useful in areas such as traffic management, augmented reality, communication and compression.
Typically, a sequence of images extracted from a video stream, is processed to detect and track moving objects using the video processing systems. Manual method of identification and tracking of moving targets in a video stream is slow, intensive and in many cases not practical. Automated solutions have been proposed in recent years towards tackling problems associated with video surveillance. Techniques related to automatic processing of video streams has limitations with respect to recognizing individual targets in fields of views of the video cameras. In airborne surveillance systems, moving cameras pose additional noise due to parallax. Conventional algorithms that are being used to identify moving targets in an image sequence may not provide satisfactory subjective quality. Many of these algorithms are not capable of processing the data optimally because of inherent uncertainties of the real world data.
Superior techniques of video processing capable of optimally processing the real time images to reliably detect moving targets are needed.
BRIEF DESCRIPTION
In accordance with one aspect of the present technique, a method implemented using a processor based device is disclosed. The method includes receiving a video stream comprising a plurality of image frames having at least one moving object, determining a difference between at least two image frames among the plurality of image frames and generating a difference image comprising a plurality of image blobs corresponding to the at least one moving object. The method further includes generating a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs, and determining a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy technique based on a perceptual characterization of the subset of bounding boxes. The method also includes merging the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.
In accordance with one aspect of the present systems, a system is disclosed. The system includes a processor based device configured to receive from a video camera, a video stream comprising a plurality of image frames having at least one moving object, and determine a difference between at least two image frames among the plurality of image frames to generate a difference image comprising a plurality of image blobs. The processor based device is further configured to generate a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs, and to determine a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy technique based on a perceptual characterization of the subset of bounding boxes. Finally, the processor based device is configured to merge the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.
In accordance with another aspect of the present technique, a non-transitory computer readable medium encoded with a program to instruct a processor based device is disclosed. The program instructs the processor based device to receive a video stream comprising a plurality of image frames having at least one moving object, and to determine a difference between at least two image frames among the plurality of image frames to generate a difference image comprising a plurality of image blobs corresponding to the at least one moving object. The program further instructs the processor based device to generate a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs, and to determine a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy technique based on a perceptual characterization of the subset of bounding boxes. The program also instructs the processor based device to merge the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.



DRAWINGS
These and other features and aspects of embodiments of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
FIG. 1 is a diagrammatic illustration of a fuzzy logic based system for moving object detection and tracking, in accordance with an exemplary embodiment;
FIG. 2 is a flow chart illustrating the steps involved in determining moving objects from a video sequence in accordance with an exemplary embodiment;
FIGS. 3a and 3b illustrate two image frames with moving objects, FIG. 3c illustrate a difference image having a plurality of blobs, and FIG. 3d illustrate an image frame superimposed with a plurality of bounding boxes enclosing the image blobs in accordance with an exemplary embodiment;
FIG. 4 illustrates an example of an agglomerative clustering algorithm in accordance with an exemplary embodiment;
FIG. 5 illustrates a bounding box as defined in an exemplary embodiment;
FIG. 6 illustrates a merged bounding box generated from a pair of smaller bounding boxes in accordance with an exemplary embodiment;
FIG. 7 is a flow chart illustrating the steps involved in a fuzzy technique in accordance with an exemplary embodiment;
FIG. 8 illustrates membership functions used in fuzzy parameters employed in accordance with an exemplary embodiment;
FIGS. 9a-9c illustrate the performance of an exemplary embodiment of the fuzzy technique compared with the conventional product fusion method in overcoming an over merged failure mode; and
FIGS. 10a-10c illustrates the performance of an exemplary embodiment of the fuzzy technique compared with the conventional product fusion method in overcoming an under merged failure mode.



DETAILED DESCRIPTION
Embodiments of the present techniques relate to a system and method for detecting moving objects in a video stream using a fuzzy technique. A difference between at least two image frames of the video stream is determined to generate a difference image having a plurality of image blobs. As used herein, an image blob refers to the pixels or groups of pixels having non-zero values that show a difference from respective image frames. A plurality of bounding boxes are generated, each bounding box surrounding at least one corresponding image blob. A clustering technique involving a fuzzy framework is used to accurately group the bounding boxes to form a unique merged bounding box. The fuzzy framework employs fuzzy parameters associated with the bounding boxes and fuzzy rules associated with the fuzzy parameters, to generate robust decisions to merge a subset of bounding boxes to detect the moving object. Robust and accurate moving object detection in accordance with the embodiments of the present technique, reduces unnecessary computation time for later visual processing and enhances overall visual analytic performance.
FIG. 1 is a diagrammatic illustration of an ISR (Intelligence, Surveillance and Reconnaissance) system 100 which employs a fuzzy system to detect moving objects in a video stream. In the illustrated embodiment, the ISR system 100 includes an airborne vehicle 102 capturing a video stream of a scene within a field of view 125 with moving objects 120, 122 using an onboard video camera 116. The airborne vehicle 102 may be an unmanned aerial vehicle (UAV) or a manned military surveillance aircraft. The airborne vehicle 102 in one example has a communication link with a communication satellite 104. A ground station include a plurality of communication antennas 106 and 107 configured to receive communication signals from the airborne vehicle 102 and/or the communication satellite 104 respectively. The antennas 106 and 107 may also be used to transmit signals from the ground station to the airborne vehicle 102 or to the communication satellite 104. According to one embodiment, the video stream signals captured by the camera 116 of the airborne vehicle 102 are received by the antenna 106. A central base station 108 coordinates communication between the airborne vehicle 102, the communication satellite 104, and the antennas 106, 107. The central station 108 may have access to a processor-based device 110 to provide computational resources for control and coordination activities of ISR system. The processor-based device 110 may be general purpose processor or a controller and in one embodiment is a multiple processor computing device. The processor-based device 110 has the capability to process the video stream signals received by the antenna 106. Alternatively, the processor-based device 110 may be communicatively coupled with a video processor module 114. The video processor 114 performs the task of detection of video stream objects using a fuzzy technique.
In one example, the processor based device 110 uses software instructions from a disk or from memory to process the video stream signals. The software can be encoded in any language, including, but not limited to, assembly language, VHDL (Verilog Hardware Description Language), High level languages like Fortran, Pascal, C, C++, and Java, ALGOL (algorithmic language), and any combination or derivative of at least one of the foregoing. The results of the video stream processing is stored, transmitted for further processing and/or displayed on a display 112 coupled to the video processor 114.
FIG. 2 illustrates a flow chart 200 that illustrates techniques involved in determining moving objects from a video sequence in accordance with an exemplary embodiment. A plurality of image frames from a video stream is received by the video processing module 114 of FIG. 1 as shown in 202. The plurality of image frames includes at least one moving object to be detected. The image frames are usually pre-processed such as by techniques for noise removal and image stabilization 204. The pre-processing depends upon the quality of the image frames and the desired application.
A difference between at least two image frames among the plurality of image frames is computed to generate a difference image. The difference image refers to the changes in the pixels or groups of pixels between two image frames. The difference image is generated from successive image frames having moving objects which are at slightly different locations. Fast moving objects produce more number of non-zero pixels in the difference image and such pixels are spread in a relatively larger area. Similarly, occlusion of objects across images of a scene may produce image blobs in the difference image. A plurality of blobs corresponding to the at least one moving object are detected from the difference image 206. The blobs represent the pixels that are different among respective frames which are grouped together based on certain characteristics.
A plurality of bounding boxes is generated, wherein each bounding box surrounding at least one corresponding image blob among the plurality of image blobs. A clustering technique involving a fuzzy framework is used to group the bounding boxes to form a unique merged bounding box 208 as further detailed herein.
The fuzzy clustering technique detects moving objects 210 using an agglomerative clustering algorithm in a fuzzy framework. It should be noted herein that the agglomerative clustering algorithm determines a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object using a fuzzy technique. The subset of bounding boxes is merged to generate a merged bounding box enclosing the subset of bounding boxes. The merged bounding box enclosing the subset of bounding boxes is used to determine a moving object of the video stream. The fuzzy technique is based on a perceptual characterization of the subset of bounding boxes. The perceptual characterization of the subset of bounding boxes is defined in terms of “geometrical”, “motion” and “appearance” properties of the subset of bounding boxes. The fuzzy technique uses perceptual characteristics to define fuzzy parameters in terms of fuzzy sets defined using suitable membership functions. A fuzzy decision rule is formulated based on the plurality of fuzzy parameters to determine the subset of bounding boxes for merging. The steps discussed herein are discussed in greater details with reference to subsequent figures.
FIGS. 3a-3d illustrates an example of a plurality of image frames 300 in a video stream, having moving objects that are used for generating a plurality of bounding boxes. In the illustrated embodiment of FIGS. 3a-3b, two image frames of the video stream 302 and 304 are considered. Two blobs between the image frames 302 and 304 are illustrated in a difference image 306 shown in FIG. 3c. The blobs include a plurality of frame differences contributed by moving objects, parallax and noise. The blobs due to moving objects exhibit similar pattern across consecutive difference images. Blobs due to noise and parallax may not show such a similar pattern. A plurality of image blobs 310 detected from the difference image 306 are considered for further processing in order to detect moving objects. It should be noted herein that the frame difference images associated with parallax and noise are not typically distinguished from the frame differences associated with moving objects. It should further be noted herein that the processing of the blobs corresponding to the moving objects, parallax and noise are performed using an exemplary algorithm discussed in further detail below. The area around the blobs represents pixels of the consecutive image frames with no differences. According to one embodiment, the identification of the image blobs within a bounding box takes into account properties in addition to the mere proximity location of the differing pixels. For example, the differences between image frames may include separate moving objects in close proximity and the pixels are distinguished according to features such as color.
In FIG. 3d, a plurality of bounding boxes 314 enclosing one or more image blobs 310 is superimposed on the image frames 302. In an alternate embodiment, the bounding boxes 314 may also be superimposed on the entire image frame 304 or a portion of the image frame 304 such as half of the frame. A single blob or a plurality of blobs 310 in close proximity are enclosed in each the bounding box 314. The size of the bounding box 314 may vary depending upon the number and size of the blobs. Each moving object on the image frame occupies same area as that of a subset of blobs in the difference image. The subset of bounding boxes 314 enclosing the image blobs 310 are merged by employing a clustering technique to generate a merged bounding box 312 enclosing the subset of bounding boxes. The clustering technique is explained in greater detail below. Thus, the moving objects are thus identified in the image frame and defined within the bounding box.
FIG. 4 illustrates an agglomerative clustering algorithm used for generating the merged bounding box 312. The agglomerative clustering algorithm is initiated by considering an initial set of bounding boxes in an image frame 350. At each step of the processing, a measure of dissimilarity (denoted by D) between every pair of bounding boxes is determined. As previously noted, the bounding boxes from FIG. 3a-3d identify the groups of pixels with certain characteristics. The measure of “dissimilarity” may be based on a characterization of the pair of bounding boxes. The characterization of the pair of bounding boxes may be defined based on at least one property associated with the pair of bounding boxes. For example, in one embodiment, the characterization of a pair of bounding boxes may be based on the geometrical properties of the pair of bounding boxes such as a size or proximity of the pair of bounding boxes. In another embodiment, the characterization may be based on the motion properties of the pair of bounding boxes in the video stream such as speed and cohesion of the movement of the pair of bounding boxes. In yet another embodiment, the characterization of a pair of bounding boxes may be based on similarity of contents of the pair of bounding boxes such as texture, color, or the like of the pair of bounding boxes. The characterization of a pair of bounding boxes may be based on a deterministic function or a fuzzy function or a combination of both the functions. In certain embodiments, a plurality of characterization techniques of a pair of bounding boxes may be used and such characterizations may be fused to characterize the pair of bounding boxes. It should be noted herein that the characterization techniques of the present system is capable of capturing perceptual factors aiding superior clustering of the bounding boxes. In more particular detail the perceptual factors include features such as geometrical, motion and/or appearance properties.
In the illustrated embodiment, the pair of bounding boxes with least value of D (denoted as “Dmin”) is selected. For example, in a first iteration, bounding boxes 352 and 354 with least distance between them are identified. If the minimum distance Dmin is lesser than a threshold T, the nearest bounding boxes are merged. For example, as shown in image frame 353, the bounding boxes 352 and 354 are merged into a single merged bounding box 356 when the minimum distance between them is less than the threshold. The total number of bounding boxes in the next iteration of the clustering is one less than the number of bounding boxes in the previous iteration. In the illustrated embodiment shown in image frame 355, the bounding boxes 358 and 360 are merged into a merged bounding box 362 in the second iteration of the clustering. Similarly, the bounding boxes 364 and 366 are merged into a merged bounding box 368 in the third iteration as depicted in image frame 357. As shown in the example, the least measure of dissimilarity among the bounding boxes Dmin in the next iteration for image frame 370 is greater than the threshold τ and hence the clustering algorithm is terminated.
FIG. 5 illustrates a bounding box 400 in accordance with an exemplary embodiment of the present technique. A bounding box B is defined as:

B={W,H,x,y,dx,dy,f.T}, 

where W is the width of the box, H is the height of the box, the point (x, y) is the coordinates of a center of the box, (dx,dy,f) represents the motion properties of the box in XY plane with (dx,dy) representing the motion vector with a motion confidence measure f. T represents the texture of the image patch within the bounding box B. Texture is referred to as a pattern of pixels and provides a measure of variation in intensity of a surface. The area of the bounding box denoted as A is the product of box width W and box height H. The parameters W, H, x, y are related to geometrical properties of the bounding box. Similarly, the parameters dx, dy and f are related to motion properties of the bounding box. The parameter T is related to appearance properties of the bounding box.

FIG. 6 illustrates an exemplary merging operation of a pair of bounding boxes B1 and B2, indicated by 502, 504 respectively, generating a merged bounding box Bm indicated by 506. The merged bounding box Bm, indicated by 506, is defined as:

Bm={Wm,Hm,xm,ym,dxm,dym,fm,Tm}

where, Wm is the width, Hm is the height, (xm, ym) is the center, (dxm, dym, fm) represents the motion properties and Tm is the texture of the merged bounding box. The parameters of the bounding box Bm may be defined in terms of the parameters defining the bounding boxes B1 and B2 . . . . The bounding boxes B1 and B2 are denoted as:

B1={W1,H1,x1,y1,dx1,dy1,f1.T1} and

B2={W2,H2,x2,y2,dx2,dy2,f2.T2}

where, W1, W2 representing widths of the bounding boxes, H1, H2 representing the heights of the bounding boxes, (x1,y1), (x2, y2) representing the center points of the bounding boxes, (dx1,dy1,f1), (dx2,dy2,f2) representing the motion properties of the bounding boxes and T1, T2 representing textures of bounding boxes B1, B2 respectively. The coordinates corresponding to extreme left 508, right 510, top 512 and bottom 514 coordinates of merged bonding box Bm based on parameters corresponding to bounding boxes B1 and B2, denoted by terms xm, xrm, ytm, ybm, are defined as:

xlm=min{x1−W1/2,x2−W2/2}

xrm=max{x1+W1/2,x2+W2/2}

ytm=max{y1+H1/2,y2+H2/2}

ybm=min{y1−H1/2,y2−H2/2}

With the above notions, the parameters of the merged bounding box are defined as,

Wm=xrm−xlm 

Hm=ytm−ybm 

xm=(xrm+xlm)/2

ym=(ybm+ytm)/2

dxm=(f1A1fdx1+f2A2fdx2)/(f1A1f+f2A2f)

dym=(f1A1fdy1+f2A2fdy2)/(f1A1f+f2A2f)

fm=f1A1ff2A2f 

Tm=I(ytm:ybm,xlm:xrm)

with the notations,

A1f=A1/(A1+A2)

A2f=A2/(A1+A2)

Here, the notations A1f and A2f are fraction of the area of bounding boxes B1 and B2 respectively. A pair of bounding boxes may be characterized in terms of shared property of the bounding boxes. For example, a pair of bounding boxes may be characterized in terms of geometrical, motion and appearance properties of the pair of bounding boxes. Such properties are suitable for characterizing a pair of bounding boxes since such properties are closely associated to the perceptual characteristics of the associated images.
In one embodiment of the technique, a characteristic parameter may be defined for a pair of bounding boxes in terms of geometric properties of the pair of bounding boxes. A geometric property that may be considered, is representative of a geometrical affinity of a pair of bounding boxes B1 and B2 and is defined as:




  
    
      AF
      ⁡
      
        (
        
          
            B
            1
          
          ,
          
            B
            2
          
        
        )
      
    
    =
    
      
        
          A
          ⁡
          
            (
            
              
                B
                1
              
              ⋃
              
                B
                2
              
            
            )
          
        
        
          A
          m
        
      
      ∈
      
        [
        
          0
          ,
          1
        
        ]
      
    
  
  ,




Where, Am, is the area of the merged bounding box Bm enclosing the bounding boxes B1 and B2. The area Am is the product of merged box width Wm and merged box height Hm. When a pair of bounding boxes is very near, affinity AF is approximately equal to one. For a pair of bounding boxes that are too far apart, the affinity AF is approximately equal to zero. In another embodiment, a characteristic parameter may be defined in terms of motion properties of the pair of bounding boxes. A motion property that may be considered is representative of a motion cohesion of a pair of bounding boxes B1 and B2 and is defined as:





  
    MC
    ⁡
    
      (
      
        
          B
          1
        
        ,
        
          B
          2
        
      
      )
    
  
  =
  
    
      
        
          V
          1
          T
        
        ⁢
        
          V
          2
        
      
      
        
          
          
            V
            1
          
          
        
        ⁢
        
          
          
            V
            2
          
          
        
      
    
    ∈
    
      [
      
        
          -
          1
        
        ,
        1
      
      ]
    
  




where, V1=(dx1, dy1) and V2=(dx2, dy2) are the motion vectors of box B1 and B2 respectively. When the pair of bounding boxes B1 and B2 moving along a same direction, a motion cohesion value “MC” will be approximately plus one (+1). Similarly, when the pair of bounding boxes is moving in opposite directions, the motion cohesion “MC” is approximately equal to minus one (−1). In another embodiment, a characteristic parameter may be defined in terms of appearance properties of the bounding boxes. An appearance property that may be considered, is representative of an appearance similarity of the pair of bounding boxes B1 and B2 and is defined as:





  
    AS
    ⁡
    
      (
      
        
          B
          1
        
        ,
        
          B
          2
        
      
      )
    
  
  =
  
    
      
        1
        MN
      
      ⁢
      
        
          ∑
          
            i
            =
            1
          
          M
        
        ⁢
        
          
        
        ⁢
        
          
            ∑
            
              j
              =
              0
            
            N
          
          ⁢
          
            
          
          ⁢
          
            e
            
              
                
                
                  
                    
                      u
                      i
                    
                    -
                    
                      v
                      j
                    
                  
                  σ
                
                
              
              2
            
          
        
      
    
    ∈
    
      [
      
        0
        ,
        1
      
      ]
    
  




where the box B1 has a texture T1={ui}i=1 to N and the box B2 has a texture T2={vj}j=1 to M with {ui}i=1 to N and {vj}j=1 to M indicating N and M dimensional texture values. The parameter a controls contribution of similarity measure of pixel intensities to the appearance similarity of the bounding boxes B1 and B2. An empirical value σ=10 may be used in determining appearance similarity of the pair of bounding boxes. When the textures T1 and T2 are similar, the appearance similarity “AS” is approximately equal to one. When there is no similarity between the textures T1 and T2, the appearance similarity “AS” is approximately to zero.

FIG. 7 is a flow chart 600 illustrating the exemplary steps involved in the fuzzy technique in accordance with an exemplary embodiment of the present process. The processing commences with a plurality of image blobs detected as mentioned in 206 of FIG. 2, and is considered for generating a set of bounding boxes. The set of bounding boxes is used as an input for the agglomerative clustering algorithm. In each iteration of the agglomerative clustering algorithm, each pair of the set of bounding boxes 604 is characterized by a plurality of fuzzy parameters. The fuzzy parameter may be based on a characteristic parameter related to a property associated with the corresponding pair of bounding boxes.
The fuzzy parameter is a fuzzy variable (alternatively, a linguistic variable) defined as a set of linguistic variables referred to as “fuzzy sets”. A linguistic variable is defined based on a characteristic parameter in association with a membership function. A particular value for a fuzzy variable may be associated to a plurality of fuzzy sets. The degree of membership of the value of the fuzzy variable is determined based on the membership function. For example, a box affinity fuzzy parameter 606 is defined as:

[LOWAFFINITY] ClAF={x,Γ(x;0,0.2)|xε[0,1]}

[MEDIUMAFFINITY] CmAF={x,Γ(x;0.5,0.2)|xε[0,1]}

[HIGHAFFINITY] ChAF={x,Γ(x;1,0.2)|xε[0,1]}

where the terms [LOW Affinity], [MEDIUM Affinity] and [HIGH Affinity] indicated by ClAF, CmAF and ChAF respectively are linguistic terms of the fuzzy set corresponding to the box affinity fuzzy parameter, x=AF (B1, B2) is representative of the box affinity for B1 and B2 and Γ(x;μ,σ) is a Gaussian membership function with a mean “μ” and a standard deviation “σ”. The membership function Γ is used to fuzzify a deterministic variable into a fuzzy variable. As another example, a motion cohesion fuzzy parameter 608 is defined as:

[LOWCohesion] ClMC={x,Γ(x;−1,0.5)|xε[−1,1]}

[MEDIUMCohesion] CmMC={x,Γ(x;0,0.5)|xε[−1,1]}

[HIGHCohesion] ChMC={x,Γ(x;1,0.5)|xε[−1,1]}

where x=MC (B1, B2) is the motion cohesion for bounding boxes B1 and B2. The terms [Low Cohesion], [MEDIUM Cohesion] and [HIGH Cohesion] indicated by ClMC, CmMC and ChMC respectively are linguistic terms of fuzzy parameter defined based on motion cohesion. Γ(x,μ,σ) is a Gaussian membership function with the mean “μ” and the standard deviation “σ”. As yet another example, an appearance similarity fuzzy parameter 610 is defined as,

[SimilarityLOW] ClAS={x,Γ(x;−1,0.5)|xε[0,1]}

[SimilarityMEDIUM] CmAS={x,Γ(x;0,0.5)|xε[0,1]}

[SimilarityHIGH] ChAS={x,Γ(x;1,0.5)|xε[0,1]}

where x=AS (B1, B2) is the motion cohesion for bounding boxes B1 and B2. The terms [Similarity Low], [Similarity MEDIUM] and [Similarity HIGH] indicated by ClAS, CmAS and ChAS respectively are linguistic terms of similarity appearance fuzzy parameter. Γ(x,μ,σ) is a Gaussian membership function with the mean “μ” and the standard deviation “σ”. The steps 612, 614 and 210 are discussed further with reference to FIG. 8.

FIG. 8 illustrates membership functions used in fuzzy parameters employed in accordance with an exemplary embodiment. The value of box affinity characteristic parameter is represented by the X-axis and the degree of membership is represented by the Y-axis. The curves 702, 704, and 706 are representative of membership functions of the geometric affinity fuzzy parameter. The curve 702 is representative of the membership function of the linguistic term [LOW Affinity]. The curve 704 is representative of membership function associated with the linguistic term [MEDIUM Affinity]. The curve 706 is representative of the membership function associated with the linguistic term [HIGH Affinity].
The decision rule employed by the agglomerative clustering algorithm outlined in FIG. 7 is outlined herein. The decision rule 612 operates based on at least one of fuzzy parameters. The decision rule receives at least one input variable and generates at least one decision variable. The input and output variables may be deterministic or fuzzy in nature. A fuzzy rule may receive at least one of an input linguistic variable and generates an output which may also be a linguistic variable. A fuzzy decision rule, in accordance with an embodiment of the present technique, may accept one or more fuzzy parameters viz box affinity fuzzy parameter, motion cohesion fuzzy parameter and appearance similarity fuzzy parameter to generate a fuzzy decision. The fuzzy decision variable, referred to as a box merge, is defined in a look up table given below based on the input fuzzy parameters.











TABLE 1







Low Cohesion
Median Cohesion
High Cohesion



















Similarity low





Low Affinity
No
No
No


Median Affinity
No
No
No


High Affinity
No
Maybe
Maybe


Similarity median


Low Affinity
No
No
No


Median Affinity
No
No
Maybe


High Affinity
Maybe
Maybe
Merge


Similarity high


Low Affinity
No
No
No


Median Affinity
Maybe
Maybe
Merge


High Affinity
Maybe
Merge
Merge









The fuzzy rules of the Table-1 considers cohesion, affinity and similarity measures to determine the box merge decision variable. Each of these measures takes one of the three values—“low”, “median” and “high”. As an example, when the value of the affinity measure between the bounding boxes to be merged is “low”, the box merge parameter is set to “No” prohibiting merging of the bounding boxes. In another example, when the value of the affinity measure and the value of the cohesion measure are “high”, the box merge parameter is set to “Merge” allowing merging of the bounding boxes provided the value of the similarity measure is not low. Other entries of the table are interpreted in a similar manner. The fuzzy box merging decision is defined by a linguistic variable defined by:

[No] CnoM={x,Γ(x;0,0.1)|xε[−1,1]}

[Maybe] CmaybeM={x,Γ(x;0.5,0.1)|xε[−1,1]}

[Yes] CyesM={x,Γ(x;1,0.1)|xε[−1,1]}

where x=Merge(B1,B2) is a box merging decision based on geometric affinity, motion cohesion and appearance similarity of a pair of bounding boxes. The terms [No], [Maybe] and [Yes] indicated by CnoM, CmaybeM and CyesM respectively are linguistic terms of fuzzy parameter defined based on box merging decision. Γ(x,μ,σ) is a Gaussian membership function with the mean “μ” and the standard deviation “σ”. The fuzzy rule of Table-1 is based on an intuitive logic. When the affinity between a pair of bounding boxes is low, the boxes are not merged. Boxes are merged when box affinity is high unless both the motion cohesion and appearance similarity are very low.

A measure of distance between two bounding boxes may be defined based on the output linguistic variable as:

d(Bi,Bj)=1−Merge(Bi,Bj),i,j=1,2, . . . ,n 

assuming that set of bounding boxes B={B1, B2, . . . , Bn) has n bounding boxes. Here, d(Bi,Bj) is the distance measure, and the “Merge” is derived from the fuzzy decision rule of Table-1. The agglomerative clustering algorithm determines the distance d between all possible combinations of bounding boxes, and selects a particular pair of bounding boxes to be merged when the distance “d” between the particular pair of bounding boxes is smaller than a threshold “τ”. When the distance between the particular pair of bounding boxes is smaller than the threshold “τ”, as determined in 614, another iteration of the agglomerative clustering algorithm is initiated. Again, another pair of bounding boxes with least distance measure Dmin is identified and merged into a merged bounding box. When the minimum distance “Dmin” is greater than the threshold value “τ”, the agglomerative clustering algorithm is terminated. After the termination, the remaining merged bounding boxes in 210 are considered as detected moving objects. The agglomerative clustering method is summarized as follows:













Let • C|B| = {B | B ⊂ B}


for • i =| B | −1,...1 • do


•••Compute • pair - wise • dis tan ce • set • D = {d(Bj , Bk ) | Bj, Bk ⊂


Ci+1 }


•••if • Dmin > τ • then


••••••return • Ci+1


•••endif


•••Merge • Bp, Bq ⊂ Ci+1 • with • d (Bp, Bq ) = Dmin • to • Bm


•••Ci = {Bm, Ci+1 − {Bp, Bq}}


endfor


return • C1









C|B| represents the set of bounding boxes represented by a plurality of bounding boxes “B” with initial number of bounding boxes indicated by |B|. The agglomerative algorithm is performed iteratively with maximum number of iterations equal to the initial number of bounding boxes of the set C|B|. A distance D is used to evaluate the similarity of all pairs of bounding boxes Bj and Bk. The pair of bounding boxes with minimum distance measure Dmin is merged reducing the dimensionality of the set C|B| by one. The iteration terminates if the minimum distance between a particular pair of bounding boxes is greater than a pre-determined threshold τ. The number of remaining bounding boxes at the termination of the iterative loop is the output of the clustering algorithm.

In one embodiment of the present technique, sizes of the bounding boxes may be considered while determining the boxes to be merged. A pair of bounding boxes is merged if the resultant merged bounding box is relatively smaller in size. Alternatively, a pair of bounding boxes is not merged if the resulting merged bounding box is too large, A linguistic variable based on merged bounding box size is defined as:

[Box·large] ClSZ={x,Z(x;2,20)|xε[0,40]}

[Box·normal] CmSZ={x,Γ2(x;10,4,20,2)|xε[0,40]}

[Box·small] CsSZ={x,Γ(x;0,6)|xε[0,40]}

where, x=SZ(B1,B2)=(A(Bm))1/2 is the square root of the area of the merged bounding box Bm. The terms [Box large], [Box normal] and [Box small] indicated by ClSZ, CmSZ and CsSZ respectively are linguistic terms of fuzzy parameter defined based on box merging decision. Z(x:a,c) is a sigmoid membership function 1/(1+e−a(x−c)), and Γ2(x,μ1,σ1,μ2,σ2) is a Gaussian combination membership function whose left shape is defined by Gaussian function Γ(x,μ1,σ1), and whose right most shape is defined by Gaussian function Γ2(x,μ2,σ2). The terms “μ1” and “μ2” are mean values and σ1 and σ2 are corresponding standard deviations. When the merged bounding box size “SZ” is normal, agglomerative clustering algorithm is used with fuzzy rules of Table-1. Otherwise, following two rules are considered along with the rules outlined in Table-1 while identifying a pair of bounding boxes.

IF SZ is large, NO Merge;

IF SZ is small, AND IF AF is NOT Low Affinity, Merge is OK

In some embodiments, the performance of the fuzzy based agglomerative algorithm may be compared with a non-fuzzy based technique. A heuristic product fusion rule may be used in an embodiment of non-fuzzy box merging method. The distance metric may be defined as:

d(Bi,Bj)=1−(AF(Bi,Bj)·MC(Bi,Bj)·AS(Bi,Bj))1/2,i,j=1,2, . . . ,n, 

with the condition that d(Bi, Bj)=1, when SZ>25. Here, AF, MC and AS represent geometric affinity, motion cohesion and appearance similarity of bonding boxes Bi and Bj. SZ represents the size of the merged bounding box. The performance of fuzzy based method with the non-fuzzy method may be compared with respect to failures modes of the box merging algorithm. Two failure modes are generally considered for a box merging algorithm.

    
    
        1. Under merge: The moving object is covered by multiple initial bounding boxes. The algorithm fails to merge them into one merged bounding box.
        2. Over merge: The initial bounding boxes of two or more moving objects are merged into a merged bounding box.

For each of the clustering algorithm, the number of moving objects whose initial bounding boxes are under merged are counted. Similarly, the number of moving objects whose initial bounding boxes are over merged are counted. The percentage of under-merge and over-merge failures with respect to the total number of moving objects for the two bounding box merging methods are summarized in the table below:

    
    












TABLE 2





%
Under merge
Over merge
Correct merge


















Product fusion metric
44.8
16.7
38.5


Fuzzy distance metric
5.2
2.1
92.7









The entries of the Table-2 confirm the superior performance of the Fuzzy distance metric compared to the product fusion metric. The proposed algorithm of the present embodiment exhibits significant reduction in under merge failures (from 44.8% to 5.2%), over merge failures (16.7% to 2.1%). Fuzzy distance metric performs increased percentage of correct merges (from 38.5% to 92.7%).
FIGS. 9a-9c illustrate the performance of an exemplary embodiment of the fuzzy technique compared with the conventional product fusion method. The initial set of bounding boxes used for both the methods are shown in FIG. 9a. The moving object detection results by box merging with heuristic distance metric are shown in FIG. 9b. The figure shows that there are two moving objects 802 and 804 in the scene that have been detected as a single bounding box 806. The moving object detection results by fuzzy box merging distance metric are shown in FIG. 9c. The same moving objects that were detected as a single bounding box in FIG. 9b are detected as two bounding boxes 808 and 810. The value of “τ” used in both the algorithm is 0.3. The results show the superior performance of the fuzzy method in overcoming the over merged failure mode.
FIGS. 10a-10c illustrate the performance of an exemplary embodiment of the fuzzy technique compared with the conventional product fusion method. The initial set of bounding boxes used for both the methods are shown in FIG. 10a. The moving object detection results by box merging with heuristic distance metric are shown in FIG. 10b. The figure shows that one moving object 902 in the scene has been detected as a multiple bounding boxes 904. The moving object detection results by fuzzy box merging distance metric are shown in FIG. 10c. The moving object 902 that was detected as a plurality of bounding boxes in FIG. 10b is detected as a single bounding box 906. The value of “τ” used in both the algorithm is 0.3. The results show the superior performance of the fuzzy method in overcoming the under merged failure mode.
Results of FIGS. 9a-9c and FIGS. 10a-10c indicate that heuristic distance metric by product fusion is not a good metric to differentiate the boxes that belongs to the same moving object and that belongs to the different moving objects. Reliable moving bounding box detection cannot be achieved using the heuristic distance metric irrespective of the tuning of distance threshold τ. Results further confirms that fuzzy logic based distance metric merges all bounding boxes that belong to the same moving object correctly into a vehicle bounding box. The box merging method based on fuzzy logic formulation integrates human heuristics which cannot be defined with explicit mathematical model in a meaningful way.
In accordance with the embodiments discussed herein, the fuzzy based agglomerative clustering algorithm identifies appropriate boxes for merging in a noisy environment. The uncertainty in the data is accurately modeled by the proposed embodiments. The bounding boxes produced by detection of frame differences can be very noisy. Hence it is not an easy task to determine machine learning strategies to automatically learn the optimal box merging criteria. The process of merging boxes, in an optimal way, is complicated due to the uncertainty inherent in the data techniques. The embodiments of the present technique accurately models the uncertainties associated with the data and with the decision rule. Fuzzy logic based bounding box merging technique enhances moving object detection performance
It is to be understood that not necessarily all such objects or advantages described above may be achieved in accordance with any particular embodiment. Thus, for example, those skilled in the art will recognize that the systems and techniques described herein may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.

## Claims

1. A method implemented using a processor based device, comprising:
receiving a video stream comprising a plurality of image frames having at least one moving object;
determining a difference between at least two image frames among the plurality of image frames and generating a difference image comprising a plurality of image blobs corresponding to the at least one moving object;
generating a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs;
determining a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy decision variable determined based on a motion cohesion fuzzy parameter, an appearance similarity fuzzy parameter, and a box affinity fuzzy parameter corresponding to each pair of bounding boxes among the subset of bounding boxes; and
merging the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.

2. The method of claim 1, wherein the box affinity fuzzy parameter for a pair of bounding boxes is based on a geometrical affinity of the pair of bounding boxes.

3. The method of claim 1, wherein the motion cohesion fuzzy parameter for a pair of bounding boxes is based on a motion cohesion between the pair of bounding boxes.

4. The method of claim 1, wherein the appearance similarity fuzzy parameter for a pair of bounding boxes is based on an appearance similarity between the pair of bounding boxes.

5. The method of claim 1, wherein each of the motion cohesion fuzzy parameter, the appearance similarity fuzzy parameter, the box affinity fuzzy parameter, and merge fuzzy parameter comprises a corresponding linguistic variable determined based on a corresponding characterizing parameter and a corresponding membership function.

6. The method of claim 5, wherein the corresponding membership function comprises a Gaussian function, or a sigmoid function.

7. The method of claim 1, wherein merging the subset of bounding boxes is based on an agglomerative clustering algorithm.

8. The method of claim 7, wherein merging the subset of bounding boxes comprises merging a pair of bounding boxes to generate the merged bounding box enclosing the pair of bounding boxes.

9. The method of claim 8, further comprising determining an area of the merged bounding box, wherein merging the pair of bounding boxes is based on the determined area of the merged bounding box.

10. A system comprising:
a processor based device configured to:
receive from a video camera a video stream comprising a plurality of image frames having at least one moving object;
determine a difference between at least two image frames among the plurality of image frames to generate a difference image comprising a plurality of image blobs;
generate a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs;
determine a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy decision variable determined based on a motion cohesion fuzzy parameter, an appearance similarity fuzzy parameter and a box affinity fuzzy parameter corresponding to each pair of bounding boxes among the subset of bounding boxes; and
merge the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.

11. The system of claim 10, wherein the processor based device is further configured to determine at least one of a geometric affinity, a motion cohesion and an appearance similarity corresponding to a pair of bounding boxes.

12. The system of claim 10, wherein the processor based device is further configured to determine the fuzzy parameter comprising a linguistic variable determined based on a characterizing parameter and a membership function for each of the motion cohesion fuzzy parameter, the appearance similarity fuzzy parameter, the box affinity fuzzy parameter, and merge fuzzy parameter.

13. The system of claim 10, wherein the processor based device is configured to merge a pair of bounding boxes among the subset of bounding boxes to generate a merged bounding box enclosing the pair of bounding boxes.

14. The system of claim 13, wherein the processor based device is configured to determine an area of the merged bounding box, wherein the pair of bounding boxes is merged based on the determined area of the merged bounding box.

15. A non-transitory computer readable medium encoded with a program to instruct a processor based device to:
receive a video stream comprising a plurality of image frames having at least one moving object;
determine a difference between at least two image frames among the plurality of image frames to generate a difference image comprising a plurality of image blobs corresponding to the at least one moving object;
generate a plurality of bounding boxes, each bounding box surrounding at least one corresponding image blob among the plurality of image blobs;
determine a subset of bounding boxes among the plurality of bounding boxes, associated with the corresponding moving object, using a fuzzy decision variable determined based on a motion cohesion fuzzy parameter, an appearance similarity fuzzy parameter and a box affinity fuzzy parameter corresponding to each pair of bounding boxes among the subset of bounding boxes; and
merge the subset of bounding boxes to generate a merged bounding box enclosing the subset of bounding boxes to detect the moving object.