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 method including: extracting a plurality of specific regions possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as affine-invariant regions from one or more learning images; calculating, with respect to a reference affine-invariant region, other neighboring affine-invariant regions as a set; deforming the neighboring affine-invariant regions by a transformation to normalize the shape of the reference affine-invariant region; and outputting the deformed shapes of the neighboring affine-invariant regions, together with combination of the reference affine-invariant region and the neighboring affine-invariant regions.

Description:
FIELD OF THE INVENTION 
     The present invention relates to an image search method and apparatus capable of performing a reliable image search even in an image with changing brightness or the like. 
     BACKGROUND OF THE INVENTION 
     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] W. M. Wells, P. Viola, H. Atsumi, S. Nakajima, and R. Kikins, “Multi-Modal Volume Registration Maximization of Mutual Information” Medical Image Analysis, 1996 
     [Non-patent Document 2] D. G. Lowe “Distinctive image features from scale-invariant keypoints” Int. J. Compt. Vision, 60(2): 91-110, 2004 
     [Non-patent Document 3] 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. 6 ). (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, 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). 
     The aforementioned [Non-patent Document 1] proposes the correspondence search robust even to light intensity change being not a monotonic function, by calculating similarity between two images using mutual information as an index. When this technique is applied to the correspondence search between affine-invariant regions, it is necessary to calculate the similarity for all combinations of affine-invariant regions, and the computational load increases with the number of affine-invariant regions. 
     An image search method in one aspect includes: an extraction step of extracting a plurality of specific regions possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as affine-invariant regions from one or more learning images; a calculation step of calculating, with respect to a reference affine-invariant region, other neighboring affine-invariant regions as a set; a deformation step of deforming the neighboring affine-invariant regions by a transformation to normalize the shape of the reference affine-invariant region; and an output step of outputting the deformed shapes of the neighboring affine-invariant regions, together with a combination of the reference affine-invariant region and the neighboring affine-invariant regions. 
     The affine-invariant regions may be set as local coordinate systems. 
     The image search method may further include: an input step of inputting an object image as a search object; an object deformation step of extracting a plurality of specific regions possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as affine-invariant regions from the object image, calculating, with respect to a reference affine-invariant region, other neighboring affine-invariant regions as a set, and deforming the neighboring affine-invariant regions by a transformation to normalize the shape of the reference affine-invariant region; and a search step of finding correspondence between the affine-invariant regions extracted from the learning images and the affine-invariant regions extracted from the object image, based on a combination of the reference affine-invariant region and the neighboring affine-invariant regions in the object image, the deformed shapes of the neighboring affine-invariant regions, and an output result outputting by the output step. 
     An image search apparatus in one aspect includes: extraction means for extracting a plurality of specific regions possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as affine-invariant regions from one or more learning images; calculation means for calculating, with respect to a reference affine-invariant region, other neighboring affine-invariant regions as a set; deformation means for deforming the neighboring affine-invariant regions by a transformation to normalize the shape of the reference affine-invariant region; and output means for outputting the deformed shapes of the neighboring affine-invariant regions, together with a combination of the reference affine-invariant region and the neighboring affine-invariant regions. 
     The affine-invariant regions may be set as local coordinate systems. 
     The image search apparatus may further include: input means for inputting an object image as a search object; object deformation means for extracting a plurality of specific regions possessing such a property that a shape can be normalized regardless of an affine transformation thereof, as affine-invariant regions from the object image, calculating, with respect to a reference affine-invariant region, other neighboring affine-invariant regions as a set, and deforming the neighboring affine-invariant regions by a transformation to normalize the shape of the reference affine-invariant region; and search means for finding correspondence between the affine-invariant regions extracted from the learning image sand the affine-invariant regions extracted from the object image, based on a combination of the reference affine-invariant region and the neighboring affine-invariant regions in the object image, the deformed shapes of the neighboring affine-invariant regions, and an output result outputted by the output means. 
    
    
     
       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 a flowchart showing a flow of learning in the image search method and apparatus of the present invention. 
         FIG. 3  is an explanatory drawing schematically showing a limitation of a neighborhood search region using subregions. 
         FIG. 4  is an explanatory drawing showing feature quantities outputted to a correspondence table (discretized table). 
         FIG. 5  is a flowchart showing a flow of recognition (search) in the image search method and apparatus of the present invention. 
         FIG. 6  is an explanatory drawing showing a state in which local regions in images are extracted in a normalized state to affine transformation and rotation transformation. 
     
    
    
     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 learning 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 outline of an image search method (database construction method) in the present embodiment will be described. With vehicles of the same kind but different colors, the taillights of a white vehicle appear darker relative to the body color, whereas the taillights of a black vehicle appear brighter relative to the body color. Windows look darker in the daytime than the other portions of buildings, whereas they look brighter in the night by virtue of influence of electric lights. For recognition of such objects, it is necessary to calculate correspondences between objects with their optical attribute varying nonmonotonically. The present embodiment uses local coordinate systems defined by affine-invariant regions, as indices to implement a correspondence search fast and robust even to nonmonotonic light intensity change. The concept as a base of the present invention will be explained below. 
     Let us define a set of affine-invariant regions extracted from image A, as S A ={s 1   A , s 2   A , . . . , s N   A }. It is assumed herein that each affine-invariant region is uniquely expressed by an affine transformation matrix and is defined as a local coordinate system on an image. In the subsequent formula computation, s i   A  is treated as an affine transformation matrix. An expression using an affine transformation matrix is an index for geometric transformation and does not explicitly contain optical characteristics. Therefore, as long as the extraction of affine-invariant region itself is not affected by light intensity change, the affine transformation matrix is not affected by light intensity change, either. The extraction of affine-invariant region free of influence of light intensity change can be implemented, for example, by handling MSER+ (region brighter than the surroundings) and MSER− (region darker than the surroundings) with no distinction in [Non-patent Document 3] described above. It is assumed hereinafter that affine-invariant regions as objects of discussion are extracted in the form free of influence of light intensity change. 
     Let us define a set of affine-transformed regions extracted similarly from image B taken from another viewpoint for the same object as the image A, as S B ={s 1   B , s 2   B , . . . S N   B }. For simplicity, s i   B  and s i   A  are assumed to be corresponding affine-invariant regions, for all i satisfying 1≦i≦N. Furthermore, the object is assumed to be a planar object, and an affine transformation matrix from the object in image A to the object in image B is defined as P. In this case, it is apparent that the following equation holds for all i satisfying 1≦i≦N.
 
 s   i   B   =Ps   i   A  
 
     Therefore, the following relation holds for all combinations of i and j satisfying 1≦i≦N and 1≦j≦N.
 
( s   j   B ) −1   s   i   B =( Ps   j   A ) −1   Ps   i   A =( s   j   A ) −1   P   −1   Ps   i   A =( s   j   A ) −1   s   i   A  
 
     Namely, s i   A  geometrically normalized on the basis of affine-invariant region s j   A  coincides with s i   B  normalized on the basis of s j   B  (cf.  FIG. 1 ). In other words, a coincidence degree between images of coordinate systems of normalized neighboring affine-invariant regions (surrounding affine-invariant regions) can be used as an index for evaluation of a correspondence degree between affine-invariant regions used as the bases of normalization. For example, when coordinate systems of a pair of surrounding affine-invariant regions coincide, a vote is cast for a correspondence of an affine-invariant region pair as a basis of normalization (possibly, for a correspondence between the coincident surrounding affine-invariant regions), and, for example, correspondences can be determined from final numbers of votes. The above discussion was based on the limitation of the object to the planar object, but any other object can also be regarded as an approximate plane with focus on a local region; therefore, the above discussion can also apply thereto as it is. Furthermore, by discretizing the coordinate systems of the normalized affine-invariant regions, it is feasible to implement a fast correspondence search with the computational complexity of O(log N) (N: the number of affine-invariant regions) while applying the principle of database search. 
     An embodiment will be described below. An implementation method of the present invention will be explained below using an example to calculate correspondences between a plurality of affine-invariant regions extracted from a set A={a 1 , a 2 , . . . , a N } including one or more images, and a plurality of affine-invariant regions extracted from an image b. Each image a {1≦i≦N} in set A corresponds to each model as a recognition object in an example of object recognition. A correspondence search between stereo images can be regarded as a special case with N=1 of the object recognition, and the fundamental processing flow is the same as in the object recognition. According to the practice in the object recognition, to extract affine-invariant regions from set A and describe them in the form enabling an efficient correspondence search will be called learning, and to extract affine-invariant features from image b and calculate affine-invariant features extracted from corresponding set A will be called recognition. 
     In the example of recognition of multiple objects, a change in computational complexity is important for the number N of models. Since the number of affine-invariant regions extracted from set A is proportional to the number of models, a change in computational complexity for it is important. If the image size is constant, the number of affine-invariant regions extracted from image b can be regarded as almost constant in the object recognition and poses no problem. A procedure in learning will be described below with reference to the flowchart of  FIG. 2 . 
     Step  200  is to extract a plurality of affine-invariant regions from each image in set A={a 1 , a 2 , . . . , a N } and extract affine transformation matrices as geometric features independent of light intensity change. Since the present invention comprises performing the subsequent processing for affine transformation matrices, it is guaranteed that the entire processing is free of influence of light intensity change as long as this matrix extraction step is implemented in the form free of the influence of light intensity change. The extraction of affine-invariant regions independent of light intensity change can be implemented by handling MSER+ (region brighter than the surroundings in qualitative representation) and MSER− (region darker than the surroundings in the same representation) with no distinction in the example of [Non-patent Document 3] described above. The set of affine-invariant regions (transformation matrices) calculated herein is defined as S={s 1 , s 2 , . . . , s N }. 
     Step  205  is to initialize i to 1 where 1≦i≦N. Next, step  210  is to calculate a set of affine-invariant regions near s i  in the images, S i ={s 1   i , s 2   i , . . . , s N   i } Step  215  is to initialize j first to 1 where 1≦j≦N. When d si   sj  is defined as a distance between an origin of an s i  coordinate system resulting from geometric transformation of sj by transformation matrix s j   −1  to geometrically normalize s i , and an origin of s j , d si   sj  is obtained by the following equation.
 
 d   s     i     s     j   =√{square root over ( x   2   +y   2 )}  [Mathematical Expression 1]
 
     In this equation, x and y satisfy the following equation. 
     
       
         
           
             
               
                 
                   
                     t 
                     ⁡ 
                     
                       [ 
                       
                         
                           
                             x 
                           
                         
                         
                           
                             y 
                           
                         
                         
                           
                             1 
                           
                         
                       
                       ] 
                     
                   
                   = 
                   
                     
                       s 
                       i 
                       
                         - 
                         1 
                       
                     
                     ⁢ 
                     
                       
                         s 
                         j 
                       
                       ⁡ 
                       
                         [ 
                         
                           
                             
                               0 
                             
                           
                           
                             
                               0 
                             
                           
                           
                             
                               1 
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               
                 
                   [ 
                   
                     Mathematical 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Expression 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     2 
                   
                   ] 
                 
               
             
           
         
       
     
     S i  is a set of affine-invariant regions sj the distance d si   sj  of which to s i  is not more than a threshold, and can generally be calculated by computing the distance d si   si  with all s j  extracted from the same image a k  as s i . The computational load of this processing is O(NP 2 ) using the number P of affine-invariant regions extracted from the same image. In the object recognition this step is carried out off-line (learning stage) and the computational load is not a significant problem. In a stereo correspondence search (N=1), this step is processed online and is an object of evaluation of computational complexity, but the computational load is O(1) and poses no problem because P can be regarded as constant as long as images of fixed size are handled. This processing can be further efficiently computed by dividing an image into a plurality of subregions and limiting a search region of sj for the distance d si   sj  to be calculated, to some subregions around s i , as shown in  FIG. 3 . The number of neighboring affine-invariant regions for each s i  can be regarded as a constant by controlling the threshold of the distance d si   −1 . Conversely, the extraction of neighboring affine-invariant regions by the constant number is to extract clues necessary for correspondence point search by the constant number, and is thus rational supposition. 
     Step  220  is to transform s j  by transformation matrix s i   −1  to geometrically normalize s i , as shown in  FIG. 4 . Step  225  is simultaneously output a discretized coordinate system of s i , s i   −1  and i, j to a learning table as shown in [Table 1] below. [Table 1] shows an example in which the table is created by directly using x-y coordinates of three points in the coordinate system spanned by s i , s i   −1 , and the scope of application is not limited to it; the processing can be performed with various coordinate systems such as polar coordinates. 
     
       
         
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 x 0   
                 y 0   
                 x a   
                 y a   
                 x b   
                 y b   
                 i 
                 j 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 3 
                 −2 
                 109 
                 214 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 3 
                 4 
                 48 
                 241 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 3 
                 5 
                 89 
                 289 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 4 
                 −1 
                 456 
                 13 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 4 
                 1 
                 12 
                 345 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 4 
                 2 
                 847 
                 645 
               
               
                   
                 −5 
                 −5 
                 4 
                 3 
                 4 
                 5 
                 748 
                 23 
               
               
                   
                 5 
                 5 
                 5 
                 5 
                 5 
                 4 
                 244 
                 23 
               
               
                   
                 5 
                 5 
                 5 
                 4 
                 4 
                 5 
                 37 
                 424 
               
               
                   
                   
               
             
          
         
       
     
     Steps  230 ,  235  are to sequentially increment j with i fixed, and repeat steps  220 ,  225 . Steps  240 ,  245  are to increment i and repeat steps  210 - 235 . During this repetition the processing is performed while j is sequentially incremented with i=i+1. 
     Step  250  is to sort the rows in the learning table in a certain order on the basis of the coordinate values except for i and j. For example, a sorting standard can be the following strategy: x 0  is given the highest priority, y 0  the second highest priority, . . . , y b  the lowest priority; comparison is started from the highest; and if superordinate values are identical, subordinate values are compared. It is also possible to select any evaluation standard that can determine a unique order. One of the existing techniques such as quick sort can be used for the sorting. The sorted learning table created in this step is the final learning result. 
     The processing during recognition will be described below with focus on portions different from the processing in the learning, with reference to the flowchart of  FIG. 5 . Steps  500 - 520  are processes equivalent to steps  200 - 220  in the flowchart of  FIG. 2  and the computational complexity of these processes is independent of the number N of recognition objects. 
     Step  525  is to select an entry with a match of the discretized s i   −1 s j  coordinate system from the learning table, with respect to the affine-invariant region extracted from image b. This processing can be implemented by a simple search technique and in the computational complexity of O(log N). This supports a match between the affine-invariant region i extracted from image b, and an affine-invariant region with ID of item i (column) of the learning table entry (row) matched among the affine-invariant regions extracted from the image set A. Therefore, a vote table as shown in [Table 2] below is created and a vote is cast for the match of these. 
     
       
         
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 IDS OF AFFINE- 
               
               
                   
                 INVARIANT REGIONS 
               
               
                   
                 EXTRACTED FROM SET A 
               
               
                   
                 (MODEL IMAGE GROUP) 
               
             
          
           
               
                   
                   
                 1 
                 2 
                 3 
                 4 
                 . . . 
                 . . . 
                 P 
               
               
                   
               
             
          
           
               
                 IDS OF AFFINE-INVARIANT 
                 1 
                 12 
                 0 
                 0 
                 6 
                   
                   
                 2 
               
               
                 REGIONS EXTRACTED 
                 2 
                 1 
                 0 
                 2 
                 4 
                   
                   
                 18 
               
               
                 FROM IMAGE b 
                 3 
                 0 
                 0 
                 0 
                 0 
                   
                   
                 3 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 . . . 
               
               
                   
                 Q 
                 0 
                 0 
                 3 
                 0 
                   
                   
                 4 
               
               
                   
               
             
          
         
       
     
     Since a match of an entry also similarly supports a match between the affine-invariant region j extracted from image b, and an affine-invariant region with ID of item j (column) of the learning table entry (row) matched among the affine-invariant regions extracted from the image set A, it is also possible to cast a vote for the match of these. Steps  530 ,  535  are to sequentially increment j with i fixed, and repeat steps  520 ,  525 . Steps  540 ,  545  are to increment i and repeat steps  510 - 535 . During this repetition the processing is performed while j is sequentially incremented with i=i+1. 
     Step  550  is to calculate correspondences between the affine-invariant regions extracted from set A and the affine-invariant regions extracted from image b, by making use of the created vote table. On that occasion, the correspondence calculation can be implemented with various indices based on desired properties for applications, e.g., the highest vote in each row, or the number of votes not less than a threshold. A technique of examining all the entries in the vote table after the voting increases the computational complexity in proportion to the number N of affine-invariant regions extracted from set A (the number of models in object recognition). However, efficient computation independent of the number of models can be implemented by such a device that ID with the highest number of votes in each row (column) is sequentially updated and stored during the creation of the vote table. 
     INDUSTRIAL APPLICABILITY 
     The image search method or image search apparatus of the present invention involves classifying the deformed shapes of neighboring affine-invariant regions, together with combination of the reference affine-invariant region and the neighboring affine-invariant regions, and is thus able thereby to construct the image database permitting the robust and fast search. When the object image as a search object is provided, the foregoing database is used to perform the robust and fast search, using the deformed shapes of neighboring affine-invariant regions, together with combination of the reference affine-invariant region and the neighboring affine-invariant regions in the object image.