Abstract:
An obstacle tracking apparatus includes an image input unit which acquires image sequences; an obstacle detector which detects candidate areas of an obstacle at a current time from the image sequences; a state hypothesis storage which stores a state hypothesis group including at least one state hypothesis of the obstacle at a previous time; an measurement hypothesis generator which generates a measurement hypothesis group including at least one measurement hypothesis obtained by combining measurement hypotheses for the respective positions of candidate areas of the obstacle and a measurement hypothesis in case the obstacle is not detected; a likelihood calculator which calculates likelihoods of respective combinations of the respective state hypotheses included in the state hypothesis group and the respective measurement hypotheses included in the measurement hypothesis group; a state hypothesis updater which obtains a highest likelihood from the likelihoods of the respective combinations and updates the state hypotheses at the previous time stored in the state hypothesis storage using the state hypothesis group at the current time as the state hypothesis group having the highest likelihood; and a hypothesis selector which selects the state hypothesis having the highest likelihood from the state hypothesis group at the current time as a state in which the obstacle is detected.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2006-68402, filed on Mar. 13, 2006; the entire contents of which are incorporated herein by reference. 
       TECHNICAL FIELD 
       [0002]    The present invention relates to an obstacle tracking apparatus for detecting and tracking an obstacle such as a vehicle using an image which can be acquired from a TV camera mounted to a moving object represented by a vehicle such as a motor vehicle and a method thereof. 
       BACKGROUND OF THE INVENTION 
       [0003]    In the related art, a method of tracking an obstacle such as a vehicle is proposed in Japanese Application Kokai No. 8-94320. In this method, an area having a number of edge positions on an image is detected as a vehicle and the position of a vehicle tail in an actual space is tracked using a Kalman filter. 
         [0004]    There is also a method of tracking non-rigid objects on the basis of a particle filter, which is disclosed in “Multiple non-rigid objects tracking using particle filter (Report from Institute of Electronics, Information and Communication Engineers (IEICE), Abe et al, PRMU2003-241, pp 63-66). In this method, a tracking area is split into small areas, and an object such as a vehicle is tracked using a particle filter assuming hypotheses of small areas moving as particles. 
         [0005]    However, in the technology disclosed in above-described Japanese Application Kokai No. 8-94320 and “Report from IEICE, PRMU2003-241”, there is a problem in simultaneous tracking of the plurality of obstacles. 
         [0006]    In other words, in the method disclosed in Japanese Application Kokai No. 8-94320, there are problems such that when the obstacle is not detected because of changing lighting conditions, hiding out of the obstacle, or the like, a significant error is generated in a tracking position by being replaced by another detected obstacle, or wrong obstacle might be tracked. 
         [0007]    On the other hand, with the method described in “Report from IEICE, PRMU2003-241, although a robust tracking is possible, it is necessary to use a number of particles for a several discrete measured positions. Therefore, there is a problem that the time of calculation is large. 
         [0008]    In view of such circumstances, it is an object of the invention to provide an apparatus and a method of detecting the position of an obstacle accurately and tracking the obstacle. 
       BRIEF SUMMARY OF THE INVENTION 
       [0009]    According to embodiment of the present invention, there is provided an obstacle tracking apparatus including: an image acquiring unit mounted to a moving object and configured to acquire image sequences including an obstacle; an obstacle detecting unit configured to detect candidate areas of the obstacle at the current time from the image sequences; a state hypothesis storing unit configured to store a state hypothesis group including one or a plurality of state hypothesis or hypotheses of the obstacle at a previous time, the each state hypothesis relating to a motion of the obstacle; a measurement hypothesis generating unit configured to generate a measurement hypothesis group including one or a plurality of the measurement hypothesis or hypotheses obtained by combining measurement hypotheses for the respective positions of the candidate areas of the obstacle and an measurement hypothesis in case the obstacle is not detected; a likelihood calculating unit configured to calculate likelihoods of respective combinations of the respective state hypotheses included in the state hypothesis group and the respective measurement hypotheses included in the measurement hypothesis group; a state hypothesis updating unit configured to obtain a highest likelihood from the likelihoods of the respective combinations of the respective state hypotheses included in the state hypothesis group and the respective measurement hypotheses included in the measurement hypothesis group and update the state hypotheses at the previous time stored in the state hypothesis storing unit using the state hypothesis group at the current time as the state hypothesis group having the highest likelihood; and a hypothesis selecting unit configured to select the state hypothesis having likelihood is the highest from the state hypothesis group at the current time as a state in which the obstacle is detected 
         [0010]    According to an aspect of the present invention, the position of the obstacle can be detected and tracked stably from the image sequences acquired by the image input unit mounted to the vehicle. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]      FIG. 1  is a flowchart which also serves as a block diagram of an obstacle tracking apparatus according to an embodiment of the invention; 
           [0012]      FIG. 2  is an explanatory drawing of a coordinate system in this embodiment; 
           [0013]      FIG. 3  is an explanatory drawing of a case in which a plurality of measured positions exist; and 
           [0014]      FIG. 4  is an explanatory drawing of a procedure for selecting a hypothesis. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    Referring now to  FIG. 1  to  FIG. 4 , an obstacle tracking apparatus according to embodiments of the present invention will be described. 
         [0016]    In the obstacle tracking apparatus in this embodiment, a plurality of state hypotheses are set using a plurality of measured positions for a detected obstacle considering ambiguity of obstacle tracking, and select the state hypothesis whose likelihood is the highest among the state hypothesis group at the current time as a state of the obstacle. 
       (1) Configuration of the Obstacle Tracking Apparatus 
       [0017]      FIG. 1  is a flowchart which also serves as a block diagram of an obstacle tracking apparatus in this embodiment. 
         [0018]    As shown in  FIG. 1 , the obstacle tracking apparatus includes an image input unit  1 , an obstacle detecting unit  2 , a measured position setting unit  3 , a hypothesis generating unit  4 , a likelihood calculating unit  5 , the hypothesis selecting unit  6 , and a reliability evaluating unit  7 . 
         [0019]    The obstacle tracking apparatus can be realized by using, for example, a multi-purpose computer apparatus as a basic hardware. In other words, the obstacle detecting unit  2 , the measureed position setting unit  3 , the hypothesis generating unit  4 , the likelihood calculating unit  5 , the hypothesis selecting unit  6  and the reliability evaluating unit  7  can be realized by causing a processor mounted to the computer to execute a program. 
       (2) Image Input Unit  1   
       [0020]    The image input unit  1  has stereo TV cameras that can acquire images of a front area of a vehicle to which the stereo TV cameras is mounted. 
         [0021]      FIG. 2  shows a coordinate system in this embodiment, in which X represents the horizontal direction, Z represents the depth direction of a world coordinate system, and x represents the horizontal direction and y represents the vertical direction of an image coordinate system. The time t is equal the number of frames of the image sequences. 
       (3) Obstacle Detecting Unit  2   
       [0022]    The obstacle detecting unit  2  determines candidate areas of the obstacle from the image sequences acquired by the image input unit  1 . 
         [0023]    The obstacle detecting unit  2  detects the candidate areas of the obstacle of the vehicle or the like using images of stereo cameras. At this time, as shown in  FIG. 2 , the position in the image coordinate system (x, y) and the position in the world coordinate system (X, Z) is obtained from a disparity between the image of the left camera and the right camera. 
         [0024]    As a method of stereo vision, there is a method described in “Stereo image recognition system for drive assist” IEICE, PRMU97-30, 1997, pp 39-46. 
       (4) Measured Position Setting Unit  3   
       [0025]    The measured position setting unit  3  sets the measured position of the obstacle at a current time t. The setting method is as follows. 
         [0026]    Firstly, an estimated position of an obstacle that is currently tracked at a previous time t- 1  is calculated from the hypothesis generating unit  4 . This estimated position is the estimated position at the previous time t- 1  obtained according to the same method of obtaining an estimated position at the current time t, which will be described later. 
         [0027]    Subsequently, as shown in  FIG. 3 , the obtained estimated position and a detected position at a current time t obtained by the obstacle detecting unit  2  are compared, and when the distance between the estimated position and the detected position is equal to or smaller than a threshold value, the detected position is determined as a “measured position”. The number of the measured position may not be only one, and all the detected positions which have the distance described above equal to or smaller than the threshold value are recognized as the measured positions. For example, in the expression 1 shown below, M-units of measured positions exist. 
         [0028]    The measured position is represented by a distance Z in the depth direction and a distance X in the horizontal direction. However, the measured position is only represented by the distance Z in the depth direction in the following description. A measurement distribution of the M-units of measured positions obtained at this time is; 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       p 
                       measure 
                       
                         ( 
                         j 
                         ) 
                       
                     
                      
                     
                       ( 
                       Z 
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                         
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           σ 
                           R 
                         
                       
                     
                      
                     
                       
                          
                         
                           
                             
                               - 
                               1 
                             
                             
                               2 
                                
                               
                                 σ 
                                 R 
                                 2 
                               
                             
                           
                            
                           
                             
                               ( 
                               
                                 Z 
                                 - 
                                 
                                   Z 
                                   m 
                                   
                                     ( 
                                     j 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                             2 
                           
                         
                       
                        
                       
                         ( 
                         
                           j 
                           = 
                           
                             1 
                              
                             
                                 
                             
                              
                             ⋯ 
                              
                             
                                 
                             
                              
                             M 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Expression 
                      
                     
                         
                     
                      
                     1 
                   
                   ] 
                 
               
             
           
         
       
     
         [0000]    , and is represented by using Gaussian distribution. Reference sign Zm designates a measured position and σR designates a standard deviation of the measurement distribution. 
         [0029]    The measurement distribution of the measured positions that means that there is no measured position will be represented by; 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       p 
                       measure 
                       
                         ( 
                         j 
                         ) 
                       
                     
                      
                     
                       ( 
                       Z 
                       ) 
                     
                   
                   = 
                   
                     α 
                      
                     
                         
                     
                      
                     
                       ( 
                       
                         j 
                         = 
                         0 
                       
                       ) 
                     
                   
                 
               
               
                 
                   [ 
                   
                     Expression 
                      
                     
                         
                     
                      
                     2 
                   
                   ] 
                 
               
             
           
         
       
     
         [0000]    , and is represented by using a uniform distribution. The magnitude is adjusted by coefficient α. 
         [0030]    In this manner, by setting the measured distribution adequately, the measured position obtained by various detecting methods can also be handled. 
       (5) Hypothesis Generating Unit  4   
       [0031]    The hypothesis generating unit  4  generates measurement hypotheses for the M-units of measured positions set by the measured position setting unit  3  for the respective obstacles. The 0th measurement hypothesis is a hypothesis that there is no measured position. The 1st measurement hypothesis is set to the 1st measured position, and the Mth measurement hypothesis is set to the Mth measured position. (where j=1, 2 . . . M). 
         [0032]    The hypothesis generating unit  4  holds N-units of state hypotheses, that is, a state hypothesis group described later. The term “state” in this description represents kinetic information of the obstacle such as the position or the speed of the obstacle, and the term “state hypothesis” represents a hypothesis relating to these states. The held state hypothesis group will be described further in detail. 
         [0033]    x t  represents a state vector, P t  represents a covariance matrix of the state vector, Z t  represents a distance, and R represents an error covariance matrix (standard deviation σ R ) of the measured position in a state space at the time of. Reference sign A represents a state transition matrix, and Q represents a process noise. Since linear motion of acceleration model is assumed, the following expression is established. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                       t 
                     
                     = 
                     
                       
                         AX 
                         
                           t 
                           - 
                           1 
                         
                       
                       + 
                       
                         w 
                         
                           t 
                           - 
                           1 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       Z 
                       m 
                     
                     = 
                     
                       
                         HX 
                         t 
                       
                       + 
                       
                         v 
                         t 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       X 
                       t 
                     
                     = 
                     
                       
                         [ 
                         
                           
                             Z 
                             t 
                           
                            
                           
                             
                               Z 
                               . 
                             
                             t 
                           
                            
                           
                             
                               Z 
                               ¨ 
                             
                             t 
                           
                         
                         ] 
                       
                       T 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     A 
                     = 
                     
                       ( 
                       
                         
                           
                             1 
                           
                           
                             1 
                           
                           
                             0.5 
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             1 
                           
                         
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                         
                       
                       ) 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     H 
                     = 
                     
                       ( 
                       
                         1 
                          
                         
                             
                         
                          
                         0 
                          
                         
                             
                         
                          
                         0 
                       
                       ) 
                     
                   
                 
               
               
                 
                   [ 
                   
                     Expression 
                      
                     
                         
                     
                      
                     3 
                   
                   ] 
                 
               
             
           
         
       
     
         [0000]    where, H designates a measurement matrix, Z m  designates the measured position in distance in the depth direction. It is assumed here that a state hypothesis group {(vector X t-1   (i) ; π t-1   (i) )} (where i=0, 1, . . . N−1) in which the vector x t   (i)  and the likelihood corresponding thereto is π t   (i)  in the state space has N state hypotheses. However, since the vector cannot be expressed in a bold letter, it is expressed as “vector x” in this specification. The “vector x” represents the position or the speed of the obstacle in the world coordinate system, the subscripts of x and π represent the time, and superscripts also represent the number of the state hypothesis. The term “likelihood” means the extent of reliability, and the higher the likelihood is, the higher the reliability becomes. 
       (6) Likelihood Calculating Unit  5   
       [0034]    The likelihood calculating unit  5  updates the state hypothesis group held in the hypothesis generating unit  4  through steps of prediction, measurement and estimation described below, and then calculates the likelihood. 
       (6-1) Prediction 
       [0035]    Predicted positions and prior distribution P priori  (Z) are calculated with Expression 4 and Expression 6 using the Kalman filter, respectively for the state hypothesis group {(vector x t(i) ; π t   (i) )} (wherein i=0, 1, . . . N−1) estimated at the time t- 1 . P 0   (i)  represents a component of a first raw and a first column of P t   −(i) . &lt;vector x t/t-1 &gt; represents a predicted position in the current state, &lt;vector x t-1/t-1 &gt;represents the estimated position in the past state, P t/t-1  represents the error-covariance matrix in the predicted state, and P t-1/t-1  represents a error-covariance matrix in the past state. However, since “vector x” with a sign ̂ cannot be expressed in the description, it is expressed as “vector x” 
         [0000]      {circumflex over (x)} t/t-1   (i) =A{circumflex over (x)} t-1/t-1   (i)    
         [0000]        P   t/t-1   (t)   =AP   t-1/t-1   (i)   A   T   +Q    [Expression 4] 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       p 
                       priori 
                       
                         ( 
                         i 
                         ) 
                       
                     
                      
                     
                       ( 
                       Z 
                       ) 
                     
                   
                   = 
                   
                     
                       1 
                       
                         
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           P 
                           0 
                           
                             ( 
                             i 
                             ) 
                           
                         
                       
                     
                      
                     
                        
                       
                         
                           
                             - 
                             1 
                           
                           
                             2 
                              
                             
                               P 
                               0 
                               
                                 
                                   ( 
                                   i 
                                   ) 
                                 
                                 2 
                               
                             
                           
                         
                          
                         
                           
                             ( 
                             
                               Z 
                               - 
                               
                                 H 
                                  
                                 
                                   
                                     x 
                                     ^ 
                                   
                                   
                                     
                                       t 
                                       / 
                                       t 
                                     
                                     - 
                                     1 
                                   
                                   
                                     ( 
                                     i 
                                     ) 
                                   
                                 
                               
                             
                             ) 
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Expression 
                      
                     
                         
                     
                      
                     5 
                   
                   ] 
                 
               
             
           
         
       
     
       (6-2) Measurement 
       [0036]    The measurement distribution is determined with Expression 1 and Expression 2 from the M-units of measured positions obtained at the time t. A Kalman gain K t   (i,j)  is calculated using Expression 6. 
         [0000]        K   t   (i,j)   =P   t/t-1   H   T ( HP   t/t-1   H   T   +R ) −1    [Expression 6] 
       (6-3) Estimation 
       [0037]    N×M-units of estimated positions and posterior distributions are calculated with Expression 7 using the Kalman filter from a combination of the N-units of state hypotheses estimated at the time of t- 1  {(vector X t-1   (i) ; π t-1   (i) )} (where i=0, 1, . . . N−1) and the M-units of measurement hypotheses. 
         [0000]        {circumflex over (x)}   t/t   (i,j)   ={circumflex over (x)}   t/t-1   (i)   +K   (i,j) ( Z   m   (j)   −H{circumflex over (x)}   t/t-1   (i) ) 
         [0000]        P   t/t   (i,j) =( I−K   (i,j)   H ) P   t/t-1   (i)    [Expression 7] 
         [0038]    Assuming that the probability of the prior distribution at the estimated position is a prior probability, and the probability of the measurement distribution at the estimated position is a measurement probability, a posterior probability is calculated as a product of the prior probability and the measurement probability using Expression 8 by Bayes rule. 
         [0000]        p   (i,j)   posteriori ( H{circumflex over (x)}   t/t   (i,j) )= p   (i)   priori ( H{circumflex over (x)}   t/t   (i,j) )× p   (j)   measure ( H{circumflex over (x)}   t/t   (i,j) )   [Expression 8] 
         [0039]    The posterior probability is set to the likelihood of the new state hypothesis. The posterior probability is calculated by Expression 9 with a weighting coefficient w of the combination of the measurement hypothesis and the state hypothesis. [Expression  9 ] 
         [0000]      π t   (i,j)   =w   (i,j) ×π t   (i)   ×p   (i,j)   posteriori ( H{circumflex over (x)}   t/t   (i,j) )   [Expression 9] 
         [0040]    The weighting coefficient w of the combination of the measurement hypothesis and the state hypothesis is using when additional information exists. 
       (7) Hypothesis Selecting Unit  6   
       [0041]    The hypothesis selecting unit  6  selects combinations whereby a highest likelihood is achieved for each of M-units of measurement hypotheses from a new state hypothesis with Expression 10. 
         [0000]      π t   (j) =max(π t   (i,j) )   [Expression 10] 
         [0042]    A new state hypothesis group is updated as {(vector x t   (j) ; π t   (j) )} (where, j=0, 1, . . . M−1). π t   (j)  is normalized so that the total of the likelihoods in all the state hypotheses becomes “1”. 
         [0043]    In the M-units of the new state hypotheses, the one whereby the value of π t   (j)  is maximum is selected as the state hypothesis of the obstacle at the current time t. 
       (8) Reliability Evaluating Unit  7   
       [0044]    The reliability evaluating unit  7  acquires the kinetic information such as the position, speed and acceleration of the obstacle from the state hypothesis selected by the hypothesis selecting unit  6 . 
         [0045]    The reliability is evaluated from an extent of error of a kinetic state, and tracking of the obstacle whose reliability is low is stopped. 
         [0046]    In addition, when the candidate areas of the obstacle obtained from the obstacle detecting unit  2  is new, tracking of the new candidate area is started. 
         [0047]    The process as described above is performed for the image sequences, and the obstacle such as the vehicle is tracked to detect the accurate position thereof. 
       (9) Contents of Process 
       [0048]    Referring now to  FIG. 4 , contents of the process of the obstacle tracking apparatus will be described. 
         [0049]    It is assumed that the 2nd state hypothesis is selected on the basis of the 2nd measured position at the time t- 2 . 
         [0050]    Since the accurate measured position could not be obtained at the time t- 1 , the likelihoods of the combination of the state hypothesis and the measurement hypothesis from the time t- 2  to the time t- 1  is calculated. Then, the likelihood of the 2nd state hypothesis and the 0th measurement hypothesis is the maximum, and the 0th state hypothesis on the basis of the 0th measurement hypothesis which means that the measured position does not exist in the state at the time t- 1  is selected. 
         [0051]    In the state at the time t, since the result from the obstacle detecting unit  2  is preferable, the likelihood of the combination of the state hypothesis and the measurement hypothesis from the time t- 1  to the time t is calculated. Then, the likelihood of the combination of the 0th state hypothesis and the 2nd measurement hypothesis become is the maximum, and the 2nd state hypothesis on the basis of the 2nd measurement hypothesis as the result of the stereo vision is selected. 
         [0052]    In all possible combinations between the state hypotheses at the previous time t- 1  and the measurement hypotheses at the current time t, the highest likelihood of the combination is considered as an accurate correspondence. 
       (10) Effects 
       [0053]    According to the obstacle tracking apparatus of this embodiment, the apparatus tracks obstacles using multi hypotheses and can detect the position ob the obstacle by selecting the state hypothesis whose likelihood is the highest. Accordingly, a phenomenon of erroneous tracking of another obstacle when the candidate areas of the obstacle are not detected is reduced, and even when erroneous tracking occurs temporarily, the correct obstacle can be tracked again. In addition, since the hypothesis is generated adequately according to the detected candidate areas of the obstacle, the processing time can be reduced. 
       (11) Modification 
       [0054]    The invention is not limited to the above-described embodiment, and may be modified variously without departing from the scope of the invention. 
         [0055]    For example, the obstacle detecting unit  2  can detect the obstacle by an active sensor such as an extremely high frequency wave radar (MMW).