Abstract:
An image search method that is robust and fast (with computational complexity of logarithmic order relative to the number of models). The image search includes extracting a plurality of regions from one or more model images and normalizing the regions as standard regions; setting a specific region in each normalized standard region and classifying the plurality of standard regions under two or more subsets on the basis of a feature of the specific region; iteratively performing an operation of setting another specific region at a location different from that of the aforementioned specific region in each standard region classified in each subset and classifying the plurality of standard regions under still more subsets on the basis of a feature of the other specific region; and outputting the locations of the specific regions in the standard regions in the respective classifications and the features of the specific regions in the classifications.

Description:
FIELD OF THE INVENTION 
     The present invention relates to an image search method and apparatus for construction of a database permitting a fast image search, and for the fast search itself. 
     DISCUSSION OF THE BACKGROUND 
     Calculation of small regions in correspondence relationship between a plurality of images is a significant issue for various image processing applications such as object recognition, 3D information reconstruction, and image searching. An image recognition means configured to extract local regions in images in a normalized state invariant to affine transformation and rotation transformation (which will be referred to hereinafter as affine-invariant regions) and to use correspondence relationship between the affine-invariant regions has the advantage that a change of a viewpoint relative to a recognition object can be geometrically modeled. Since it utilizes the local affine-invariant regions, it also has the advantage of high adaptability for partial hiding of the recognition object.
     [Non-patent Document 1] D. G. Lowe “Distinctive image features from scale-invariant keypoints” Int. J. Compt. Vision, 60(2): 91-110, 2004   [Non-patent Document 2] J. Mates, O. Chum, M. Urban, and T. Pajdla “Robust Wide Baseline Stereo from Extremal Regions” BMVC02, 2002   

     These techniques are generally implemented by the following three-step processing (cf.  FIG. 8 ). (1) To extract affine-invariant regions from one or more model images and a search object image (sample image). (2) To calculate correspondences of the extracted affine-invariant regions on the basis of local information. (3) To examine the correspondences calculated in the above step (2), using global information. 
     SUMMARY OF THE INVENTION 
     Robustness and execution speed are also significant issues herein in the calculation of correspondences between the affine-invariant regions in the above step (2). For example, where a plurality of objects are recognized, and when a method adopted is to sequentially compare coincidence between affine-invariant regions extracted from a plurality of model images and affine-invariant regions extracted from a search object image as shown in  FIG. 9 , the computational load also linearly increases with increase in the number of model images (i.e., the number of affine-invariant regions extracted therefrom), and it is fatal to real-time applications. Therefore, an object of the present invention is to provide an image search method and apparatus being robust and fast (with computational complexity of logarithmic order relative to the number of models). 
     In [Non-patent Document 1] above, an image histogram is used as an index to find correspondences between the affine-invariant regions and thereby implement comparison between two images. However, since the comparison is made including the background part other than parts desired as search objects, it is infeasible to find accurate correspondences between affine-invariant regions, if the background part exists at a large ratio. 
     An image search method in one aspect includes: a normalization step of extracting a plurality of regions from one or more model images and normalizing the regions as standard regions; a classification step of setting a specific region in each normalized standard region and classifying the plurality of standard regions under two or more subsets on the basis of a feature of the specific region; a recursive classification step of iteratively performing an operation of setting an other specific region at a location different from that of the aforementioned specific region in each standard region classified in each subset and classifying the plurality of standard regions under still more subsets on the basis of a feature of the other specific region; and an output step of outputting the locations of the specific regions in the standard regions in the respective classifications and the features of the specific regions in the classifications. 
     The features of the specific regions used in the classifications may be luminance information about the specific regions. 
     The normalization step may include dividing a standard region into a background part and a search part. And when the location of the specific region in the classification step or in the recursive classification step is in the background part, the specific region may be included in all the subsets in the classification. 
     The normalization step may include normalizing a region possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as a standard region. 
     The normalization step may include normalizing a region possessing such a property that a shape can be normalized regardless of a rotation transformation thereof, as a standard region. 
     The image search method may further include: an input step of inputting a predetermined region resulting from normalization of a region extracted from a search object, as a detection object; and a search step of performing a search to determine to which terminal subset the predetermined region belongs, based on an output result in the output step, and thereby finding a correspondence between the predetermined region and a subset of the standard regions. 
     The search step may include finding the correspondence between the predetermined region and the subset of the standard regions, in consideration of a location deviation from the standard region in the normalization for the predetermined region in the input step. 
     An image search apparatus in one aspect includes: normalization means for extracting a plurality of regions from one or more model images and normalizing the regions as standard regions; classification means for setting a specific region in each normalized standard region and classifying the plurality of standard regions under two or more subsets on the basis of a feature of the specific region; recursive classification means for iteratively performing an operation of setting an other specific region at a location different from that of the aforementioned specific region in each standard region classified in each subset and classifying the plurality of standard regions under still more subsets on the basis of a feature of the other specific region; and output means for outputting the locations of the specific regions in the standard regions in the respective classifications and the features of the specific regions in the classifications. 
     The features of the specific regions used in the classifications may be luminance information about the specific regions. 
     The normalization means may include a standard region into a background part and a search part. And wherein when the location of the specific region in the classification by the classification means or in the recursive classification by the recursive classification means is in the background part, the specific region may be included in all the subsets in the classification. 
     In the normalization by the normalization means a region possessing such a property that a shape can be normalized regardless of an affine transformation thereof, may be normalized as a standard region. 
     In the normalization by the normalization means a region possessing such a property that a shape can be normalized regardless of a rotation transformation thereof, may be normalized as a standard region. 
     The image search apparatus may further include: input means for inputting a predetermined region resulting from normalization of a region extracted from a search object, as a detection object; and search means for performing a search to determine to which terminal subset the predetermined region belongs, based on an output result by the output means, and thereby finding a correspondence between the predetermined region and a subset of the standard regions. 
     In the search by the search means the correspondence between the predetermined region and the subset of the standard regions may be found in consideration of a location deviation from the standard region in the normalization for the predetermined region in the input step. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an explanatory drawing showing a schematic process of learning in an image search method and apparatus of the present invention. 
         FIG. 2  is an explanatory drawing showing a schematic process of searching in the image search method and apparatus of the present invention. 
         FIG. 3  is a flowchart showing an overall flow in the image search method and apparatus of the present invention. 
         FIG. 4  is an explanatory drawing schematically showing geometric deviation in extraction of an affine-invariant region. 
         FIG. 5  is an explanatory drawing schematically showing modeling of geometric deviation in extraction of an affine-invariant region. 
         FIG. 6  is a flowchart showing a learning subroutine in the image search method and apparatus of the present invention. 
         FIG. 7  is a flowchart showing a search in the image search method and apparatus of the present invention. 
         FIG. 8  is an explanatory drawing showing a state in which local regions in images are extracted in an invariant state to affine transformation and rotation transformation. 
         FIG. 9  is an explanatory drawing showing matching between extracted local images. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An image search apparatus of the present invention has an input unit for inputting an object image as a search object and model images to be used as a database for comparison with the object image; a calculation unit for carrying out calculation to determine an affine-invariant region and others for an input image, and comparison for a search; an output unit for outputting a constructed database or search result; a memory unit for storing programs necessary for the calculation, intermediate calculation result, the constructed database, etc.; and so on. 
     The input unit can be a camera, a scanner, or an input/output drive for inputting an image as data. The calculation unit can be a CPU or GPU•ROM•RAM, or the like. The output unit can be a monitor display, a printer, or an input/output drive. The memory unit can be a hard disk, a RAM, or one of other storage devices. 
     An image search method (database construction method) in the present embodiment will be summarized below. The following description will concern an example where road signs are dealt with as images. It is also noted that the following will describe the present invention as a correspondence calculation technique of affine-invariant regions but the scope of application of the invention is not limited to the affine-invariant regions. The present invention is widely applicable to correspondence calculations of images even in the other techniques, such as the raster scan, as long as the images dealt with are images normalized in fixed size. 
     First, let us consider a comparison technique of affine-invariant regions capable of eliminating influence of the background part. It is assumed herein that the background part is unknown for an affine-invariant region extracted from a sample image (search object image) (which will be referred to hereinafter as a sample affine-invariant region) and that the background part is known for a plurality of affine-invariant regions extracted from model images as a source of a search database (which will be referred to hereinafter as model affine-invariant regions). 
     Since the background part is different among the model affine-invariant regions, we cannot uniformly handle evaluation of similarity with the sample affine-invariant region for all the model affine-invariant regions. For this reason, it is necessary to perform one-to-one evaluation of similarity of the sample affine-invariant region with all the model affine-invariant regions. This operation linearly increases computational complexity against the number of models, and is thus fatal to real-time applications handling a large number of models. 
     Then the present embodiment uses pixel values of the affine-invariant regions as indices of comparison and alternately performs selection of an optimal interest pixel for refinement of a model affine-invariant region corresponding to the sample affine-invariant region, and actual refinement, while excluding a model whose selected pixel is in the background part, from targets of refinement in the operation, whereby the present embodiment realizes correspondence calculation fast and robust without influence of the background even in the case where the number of models is large.  FIGS. 1 and 2  show conceptual drawings of the present invention. 
       FIG. 1  shows construction of a database as a basis of comparison when an object image is given. In this example there are three model affine-invariant regions (affine-invariant regions normalized and extracted from model images) as a source of a database as shown on the upper left in the drawing. It is noted that a practical affine-invariant region is not always an entire sign, but, for convenience&#39; sake of description, the model affine-invariant regions in the drawing are the whole regions of a road sign indicating a level difference, a road sign indicating a signal, and a road sign of mark X. In this case, the background part except for the signs is preliminarily set as a background. First, a specific region (region indicated by □ in the table) is set for each model image (standard region) and three model images (standard regions) are classified under two or more subsets, based on luminance information of the specific region. 
     However, if the specific region falls in the background in a model image (standard region), the model image must be included in all the classified subsets. This classification step results in constructing two subsets as in the middle column in the drawing. Then another specific region is set at a location different from that of the foregoing, in each subset and the model images (standard regions) are further recursively classified into still more subsets, based on luminance information of the specific region. Finally, this recursive classification step results in constructing a total of four subsets each including one element, as in the right column in the drawing. 
     A tree-shaped database is constructed in this manner and, when a search object image is inputted based on this database, it is determined with which model image the search object image coincides.  FIG. 2  is a drawing showing an example of the search. The two images on the leftmost in  FIG. 2  are examples (two types) of sample affine-invariant regions extracted from a search object image (affine-invariant regions normalized and extracted from the object image). The search object image also contains the background in addition to the road signs. A specific region (region indicated by □ in the table) is set in each object image (standard region) according to the database and to which subset each object image belongs is sequentially determined (branching determination), based on luminance information of the specific region. 
     However, since the object image has the background as described above, when the specific region is in the background, the determination on belonging to which subset (branching determination) is made based on the luminance information of the background. Nevertheless, this poses no problem because the construction of the database was based on the following rule: if the specific region in the model image is in the background, the standard region must be included in all subordinate subsets. 
     The method will be described below based on a flowchart.  FIG. 3  is the flowchart showing the entire flow. The first step  300  is to extract regions possessing such a property that a shape can be normalized regardless of affine transformation (or rotation transformation), from a plurality of model images whose background region is known, and to normalize each region into a rectangle (or a circle or the like) of fixed size (referred to as a standard region). This processing can be implemented by a plurality of well-known techniques. The number of normalized regions extracted herein is defined as N, and the set thereof as S={s 1 , s 2 , . . . , s N }. If the feature region extraction and the normalization are carried out by combination of a plurality of techniques or parameters, the processing of step  305  and subsequent steps is carried out independently for each of the respective techniques or parameters. 
     The next step  305  is to examine a pixel value ν at a pixel location x for ∀AεS. The sample affine-invariant region corresponding to A contains some noise and does not perfectly coincide with A. For a robust correspondence search, it is necessary to model the pixel value ν at the pixel location x as a probability function p x,A (ν) in consideration of influence of the noise. Consideration is given herein to influence of geometric deviation on the occasion of extraction of the affine-invariant regions, and optical deviation. 
     The cause of the geometric deviation is error in an affine transformation matrix for normalization due to image quantization loss or other factors on the occasion of extraction of the affine-invariant regions. Supposing geometric deviation amounts for respective pixels follow a two-dimensional Gaussian distribution, a probability distribution thereof can be expressed as a covariance matrix and can be experimentally calculated by making use of a plurality of image pairs whose H matrix is known.  FIG. 4  schematically shows probability distributions of geometric deviation where an affine-invariant region is extracted by respective techniques in [Non-patent Document 2] described above. In the drawing (a) shows a case of the technique based on the region covariance matrix, (b) a case of the technique based on bi-tangent, and (c) a case of the technique based on concavity. Directions and magnitudes of ellipses indicate directions and magnitudes of deviations. 
     The probability p x,A (ν) of observing the pixel value ν at the pixel location x of A is represented by the following equation using l x  as a probability distribution of geometric deviation at the pixel location x and a region Ω ν,A  in A where the pixel value is ν.
 
 p   x,A (ν)=∫ Ω     ν,A     l   x   dΩ   [Mathematical Expression 1]
 
       FIG. 5  includes (a) and (b) schematically showing modeling of geometric deviation. In  FIGS. 5  ( a ) and ( b ) show distributions of probability p x,A (ν), wherein (a) shows the geometric deviation l x  estimated for the pixel location x and (b) the probability p x,A (ν) for the pixel value ν. In  FIG. 5  ( c ) shows a case further taking account of optical deviation in comparison with (b). 
     The optical deviation arises from the following factor: optical characteristics do not match between the model affine-invariant regions and the sample affine-invariant regions due to the difference of photographing conditions. When it is assumed that for an observed pixel value ν, experimental pixel values are uniformly distributed in [ν−ε, ν+ε], a probability of observing the pixel value ν at the pixel location x is given by p x,A (ν)/2ε, as shown in  FIG. 5  ( c ). 
     The next step  310  is to initialize a probability p A  that A exists in branches of the tree structure (repeated subset structure), to 1, for ∀A∈S. The next step  315  is to invoke a subroutine of  FIG. 6 , with input of S and p A . After step  315 , step  320  is to output the location of the selected interest pixel and threshold of the pixel value for branching determination, as a correspondence candidate refinement strategy. 
     Now let us describe the flowchart of the subroutine of  FIG. 6 . Learning is started with input of the set S of affine-invariant regions as learning objects and the existence probability p A  for AεS. First, when in step  600  the number of elements in S is not more than the threshold, it is determined that there is no need for further division and the flow goes to step  605 . In step  605 , it is impossible to implement further division into subsets, and thus the input set S of affine-invariant regions is determined to be distal segments of the tree structure as it is. 
     On the other hand, when step  600  is negated, i.e., when the number of elements in S exceeds the threshold, the flow goes to step  610  to note a pixel location x in S and consider division into two subsets S L , S R  by a threshold θ x  of pixel value. If θ x  is defined as a median of pixel value distribution at the pixel location x, the number of elements in S L  is equal to the number of elements in S R , and the depth of the tree structure becomes minimum. In this strategy, θ x  is given by the following equation (provided that the pixel values are 256 levels of 0-255). 
     
       
         
           
             
               
                 
                   
                     
                       ∑ 
                       
                         A 
                         ∈ 
                         
                           S 
                           input 
                         
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         p 
                         A 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           0 
                           
                             θ 
                             x 
                           
                         
                         ⁢ 
                         
                           
                             
                               p 
                               
                                 x 
                                 , 
                                 A 
                               
                             
                             ⁡ 
                             
                               ( 
                               v 
                               ) 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ⅆ 
                             v 
                           
                         
                       
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         A 
                         ∈ 
                         
                           S 
                           input 
                         
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         p 
                         A 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           
                             θ 
                             x 
                           
                           255 
                         
                         ⁢ 
                         
                           
                             
                               p 
                               
                                 x 
                                 , 
                                 A 
                               
                             
                             ⁡ 
                             
                               ( 
                               v 
                               ) 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ⅆ 
                             v 
                           
                         
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Mathematical 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Expression 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     2 
                   
                   ] 
                 
               
             
           
         
       
     
     Furthermore, a division degree d x  is adopted as an index for indicating whether division is good or bad in the case of the subgroup division at the pixel location x. The division degree d x  is calculated according to the equation below. The division degree d x  is 0 in the perfect division case, and is 0.5 in the worst case. 
     
       
         
           
             
               
                 
                   
                     d 
                     x 
                   
                   = 
                   
                     
                       ∑ 
                       
                         A 
                         ∈ 
                         S 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       min 
                       ⁡ 
                       
                         ( 
                         
                           
                             
                               
                                 
                                   
                                     p 
                                     A 
                                   
                                   ⁢ 
                                   
                                     
                                       ∫ 
                                       0 
                                       
                                         θ 
                                         x 
                                       
                                     
                                     ⁢ 
                                     
                                       
                                         
                                           p 
                                           
                                             x 
                                             , 
                                             A 
                                           
                                         
                                         ⁡ 
                                         
                                           ( 
                                           v 
                                           ) 
                                         
                                       
                                       ⁢ 
                                       
                                           
                                       
                                       ⁢ 
                                       
                                         ⅆ 
                                         v 
                                       
                                     
                                   
                                 
                                 , 
                               
                             
                           
                           
                             
                               
                                 
                                   p 
                                   A 
                                 
                                 ⁢ 
                                 
                                   
                                     ∫ 
                                     
                                       θ 
                                       x 
                                     
                                     255 
                                   
                                   ⁢ 
                                   
                                     
                                       
                                         p 
                                         
                                           x 
                                           , 
                                           A 
                                         
                                       
                                       ⁡ 
                                       
                                         ( 
                                         v 
                                         ) 
                                       
                                     
                                     ⁢ 
                                     
                                         
                                     
                                     ⁢ 
                                     
                                       ⅆ 
                                       v 
                                     
                                   
                                 
                               
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Mathematical 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Expression 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     3 
                   
                   ] 
                 
               
             
           
         
       
     
     Therefore, the pixel location x bar  giving the best division is given by the equation below. 
     
       
         
           
             
               
                 
                   
                     x 
                     _ 
                   
                   = 
                   
                     
                       
                         
                           arg 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           min 
                         
                         ⁢ 
                         
                             
                         
                       
                       
                         x 
                         _ 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       d 
                       x 
                     
                   
                 
               
               
                 
                   [ 
                   
                     Mathematical 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Expression 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     4 
                   
                   ] 
                 
               
             
           
         
       
     
     In step  615 , if d xbar  is not less than a threshold, the division into subsets S L , S R  is determined to be impossible and the flow goes to step  605 ; otherwise, the flow goes to step  620 . In step  605 , since it is impossible to implement further division into subsets S L , S R , the input set S of affine-invariant regions is determined to be distal segments of the tree structure as it is. In step  620 , steps  625 - 645  below are repeated for all AεS. 
     Step  625  is to determine probabilities p L , p R  of dividing A into respective subsets S L , S R , according to the following equations. It is apparent herein that p A =p L +p R . 
     
       
         
           
             
               
                 
                   
                     
                       p 
                       L 
                     
                     = 
                     
                       
                         p 
                         A 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           0 
                           
                             θ 
                             x 
                           
                         
                         ⁢ 
                         
                           
                             
                               p 
                               
                                 x 
                                 , 
                                 A 
                               
                             
                             ⁡ 
                             
                               ( 
                               v 
                               ) 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ⅆ 
                             
                               vd 
                               x 
                             
                           
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       p 
                       R 
                     
                     = 
                     
                       
                         p 
                         A 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           
                             θ 
                             x 
                           
                           255 
                         
                         ⁢ 
                         
                           
                             
                               p 
                               
                                 x 
                                 , 
                                 A 
                               
                             
                             ⁡ 
                             
                               ( 
                               v 
                               ) 
                             
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ⅆ 
                             
                               vd 
                               x 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Mathematical 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Expression 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     5 
                   
                   ] 
                 
               
             
           
         
       
     
     Step  630  is to determine whether p L  is not less than a predetermined threshold; if it is not less than the threshold, step  635  is performed to register A in the subset S L  (or to add the subgroup existence probability p L  corresponding to A, into the subset S L ). When step  630  is negated (or after step  635 ), step  640  is performed to determine whether p R  is not less than a predetermined threshold; if it is not less than the threshold, step  645  is performed to register A in the subset S R  (or to add the subgroup existence probability p R  corresponding to A, into the subset S R ). Step  620  implements the division into the subsets S L , S R  for all AεS. 
     Thereafter, when step  640  is negated (or after step  645 ), step  650  is performed to determine whether the number of elements in the subset S L  is nonzero. When the number of elements in the subset S L  is nonzero, step  655  is performed to recursively invoke the learning subroutine with input of the subset S L  and probability p L  (to perform subordinate branching). When step  650  is negated (or after step  655 ), step  660  is performed to determine whether the number of elements in the subset S R  is nonzero. When the number of elements in the subset S R  is nonzero, step  665  is performed to recursively invoke the learning subroutine with input of the subset S R  and probability p R  (to perform subordinate branching). 
     Next, let us describe the flow of implementing the actual refinement of correspondence candidates (collation between the search object image and the database constructed by learning) in step  705 , based on the flowchart of  FIG. 7 . Step  700  is to extract a plurality of affine-invariant regions (standard regions) from a sample image. This can be implemented by a technique equivalent to step  300  in the flowchart of  FIG. 3  for learning. The next step is to calculate correspondence candidates with the use of the learned refinement strategy (database), for each affine-invariant region (standard region) extracted from the search object image. In practice, the selection of the interest image (selection of the specific region) according to the refinement strategy and the branching selection using the comparison between pixel value and threshold are repeated down to the distal segments of the tree structure. This implements matching between the standard regions of the model images and the standard regions of the search object image. 
     Industrial Applicability 
     Since the image search method or image search apparatus of the present invention involves the repeated classifications of the model images into the subsets on the basis of the specific region in the standard regions, it is thus able to construct the image database permitting the robust and fast search. When an object image is given as a search object, the foregoing database is used to perform the robust and fast search, using the specific region in the standard region in the object image.