Field of the Invention
The present invention relates to a technique for calculating feature amounts from an image.
Description of the Related Art
A method for searching for a similar image using local feature amounts (local feature amount) of an image has been proposed. In this method, first, a characteristic point (a local feature point) is extracted from an image (for example, refer to C. Harris and M. J. Stephens, “A combined corner and edge detector,” In Alvey Vision Conference, pages 147-152, 1988). Next, based on that local feature point and image information of a periphery thereof, a feature amount (a local feature amount) corresponding to that local feature point is calculated (for example, refer to David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints,” International Journal of Computer Vision, 60, 2 (2004), pp. 91-110).
In a method using local feature amounts, a local feature amount is defined as information comprised by a plurality of elements that are rotationally invariant and magnification/reduction invariant in a plane. With this, a search is made to be possible even in a case where an image is rotated, magnified or reduced in a plane. Generally, a local feature amount is represented as a vector.
In David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints,” International Journal of Computer Vision, 60, 2 (2004), pp. 91-110, for example, to extract a local feature amount that is rotationally invariant in a plane, a main direction is calculated from a pixel pattern of a local region of a local feature point periphery, and a direction normalization is performed by rotating the local region in the plane based on the main direction when calculating the local feature amount. Also, in order to calculate a magnification/reduction invariant local feature amount, an image of a different scale is generated internally, and from each image scale, local feature point extraction and local feature amount calculation are performed. Here, an image collection of a sequence of differing scales generated internally is generally called a scale space.
By the foregoing method, a plurality of local feature points are extracted from one image. In an image search using local feature amounts, matching is performed by performing a comparison of local feature amounts calculated from respective local feature points with each other. In a voting method (for example, refer to Japanese Patent Laid-Open No. 2000-57377), which is often used, if there exists in a registered image (hereinafter referred to as a comparison target image) a feature point having a feature amount similar to the local feature amount of a feature point that is extracted from a comparison source image, a vote is made for the comparison target registered image. Configuration is such that the greater the number of votes for a registered image, the more similar it is to the comparison source image.
There was a problem in that upon performance of a search of an image subjected to an out-of-plane rotation using local feature amounts as recited in David G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints,” International Journal of Computer Vision, 60, 2 (2004), pp. 91-110, while a search of an image subjected to an out-of-plane rotation of up to 30 degrees is possible, the search accuracy for an image subjected to an out-of-plane rotation greater than that would become low.
FIGS. 1A-1D are views for explaining an example of a pixel range used for calculating a local feature amount. An explanation is given for the cause of lower search accuracy of an image which is subjected to an out-of-plane rotation using FIGS. 1A-1D. FIG. 1A is a schematic diagram of the image captured from a front surface of an object, and FIG. 1B is a schematic diagram of the image captured from the same location after causing the object to rotate 60 degrees counterclockwise from the state of FIG. 1A. Here, reference numeral 101, whose center point is one of local feature points extracted from the image of FIG. 1A, illustrates an example of a pixel range used for calculating a local feature amount from the local feature point. Similarly, reference numeral 102, whose center point is one of local feature points extracted from the image of FIG. 1B, is illustrating an example of a pixel range used for calculating a local feature amount from the local feature point. Also, FIG. 1C is a figure magnifying a periphery of the pixel range 101 in FIG. 1A and FIG. 1D is a figure magnifying a periphery of the pixel range 102 in FIG. 1B.
Here, 103 and 104 are local feature amount calculation regions whose center is a local feature point extracted from a bottom-left corner of a character “B”. The left side of the local feature amount calculation region 103 is slightly overlapping the character “A” and the right side is substantially in the middle of the character “B”. On the other hand, the left side of the local feature amount calculation region 104 is overlapping more than the half of the character “A” and the right side is the same as the right side of “B”. In spite of the fact that the local feature points are extracted from almost the same location in the local feature amount calculation region 103 and the local feature amount calculation region 104, it can be seen that the pixels used for calculating the local feature amounts are significantly different. With this, the local feature amount changes and the precision of an image search is degraded. In this way, it was conventionally difficult to search an image subjected to an out-of-plane rotation with a high precision with local feature amounts that are rotationally invariant in a plane.