WO2010053109A1 - 画像照合装置、画像照合方法および画像照合用プログラム - Google Patents

画像照合装置、画像照合方法および画像照合用プログラム Download PDF

Info

Publication number
WO2010053109A1
WO2010053109A1 PCT/JP2009/068877 JP2009068877W WO2010053109A1 WO 2010053109 A1 WO2010053109 A1 WO 2010053109A1 JP 2009068877 W JP2009068877 W JP 2009068877W WO 2010053109 A1 WO2010053109 A1 WO 2010053109A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
feature
partial region
geometric transformation
partial
Prior art date
Application number
PCT/JP2009/068877
Other languages
English (en)
French (fr)
Inventor
達勇 秋山
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to EP09824808A priority Critical patent/EP2387003A1/en
Priority to JP2010536779A priority patent/JP5569394B2/ja
Publication of WO2010053109A1 publication Critical patent/WO2010053109A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Definitions

  • the present invention relates to an image collation apparatus, an image collation method, and an image collation program, and in particular, image collation for collating (searching) an image corresponding to an image input for collation (search) from pre-registered images.
  • the present invention relates to an apparatus, an image collation method, and an image collation program.
  • Patent Document 1 and Patent Document 2 both calculate values that characterize a plurality of feature points in an image, specifically, invariants related to geometric transformation, and perform collation (search) of images using the values. Yes.
  • the search device stores a registration device, a document image registered by the registration device, and a reading unit that reads a captured image;
  • a picked-up image feature point extraction unit that extracts a plurality of feature points representing the arrangement of the image from the read captured image, and selects n feature points closest to the target feature point p for each of the extracted feature points
  • a captured image feature point selection unit, a voting processing unit, and a document ID specifying unit that specifies a document image ID corresponding to the captured image based on a vote result voted for each feature point.
  • the registration apparatus includes: an input unit that inputs a document image; an input image feature point extraction unit that extracts a plurality of feature points indicating an image arrangement from the input document image; and a target for each of the extracted feature points
  • An input image feature point selection unit for selecting n feature points closest to the feature point p to be selected, and all combinations for further selecting m (where m ⁇ n) from the selected n feature points
  • A) a process of obtaining feature quantities relating to d points for all combinations of selecting d feature points (d is a predetermined value less than or equal to m) from m feature points of interest;
  • an input image feature point registration unit that performs processing for registering the hash in association with the document ID of the document image ID and the feature point p is extracted.
  • the voting processing unit for all combinations that further select m (where m ⁇ n) from the n selected feature points, (d) d from m feature points (d is predetermined) (e) a process for obtaining a feature value for d points for all combinations for selecting (a value less than or equal to m)), (e) a process for obtaining a hash index by a predetermined calculation from the obtained feature quantity, and (f ) A process for obtaining each feature point registered in a hash relating to a document image inputted in advance using the obtained hash index, and a document whose feature quantity matches with the feature quantity obtained in (d) The process of voting for the ID is performed.
  • a general-purpose image collation apparatus having such a configuration operates as follows.
  • the input image feature point extraction unit of the registration device extracts feature points from the input image
  • the input image feature point selection unit selects n feature points for each extracted feature point
  • the input image feature The point registration unit performs the processes (a) to (c) described above.
  • the photographed image feature point extracting unit extracts feature points from the photographed image
  • the photographed image feature point selecting unit selects n feature points for each feature point
  • the voting processing unit selects (d) to (d)
  • a process is performed for voting for document IDs that have the same feature quantity compared to the feature quantity obtained in (d)
  • a photographed image is obtained based on the vote result voted for each feature point.
  • the document ID of the corresponding document image is specified.
  • an image collation device is an image that identifies a recognition target existing in an input image by comparing and collating an input image including a recognition target with a model image group including a target registered in advance.
  • An image input unit that inputs an input image; a model image storage unit that registers and stores a model image; a local region cutout unit that cuts out a characteristic local region from the input image and the model image;
  • the image information of the selected local area is projected onto a point set on the feature space, and the local area of the other image projected at the nearest position in the feature space is searched for each local area of one image.
  • a local region association unit that associates local regions with each other, and an input image and a model image based on the arrangement relationship between the local region of the associated one image and the local region of the other image.
  • a geometric transformation parameter estimation unit having a geometric transformation parameter calculation unit for estimating a geometric transformation parameter between the image information of the local region of the one image or the image information of the entire image using the estimated geometric transformation parameter
  • An image geometric transformation unit that performs geometric transformation on any of the position information of the local region in the image and a collation by evaluating the consistency between the local regions using the geometrically transformed local region. I have.
  • the image matching device disclosed in Patent Document 3 operates as follows. A face area image is cut out from the image. Based on each pixel value, a feature point is found by detecting a window (corner) including an object based on edge strength, and a local region (window) image around the feature point is cut out, KL expansion, wavelet transform, Fourier transform, Dimensional compression conversion is performed by DCT conversion or the like, model window data and input window data are compared and collated in the feature space, and the closest window data in the feature space are associated with each other. A plurality of combinations are selected from the corresponding window group, and a geometric transformation parameter representing a geometric difference between the two images is estimated based on position information in the image. The input image is corrected using the obtained geometric transformation parameters, and the degree of similarity of the image matching is calculated through the relative position voting process of the corresponding window.
  • Patent Document 1 and Patent Document 2 are high accuracy when the arrangement of feature points is similar, but is not similar as the original local region image from which the feature points are extracted. It is a point that cannot be recognized. This is because information other than feature points is not used as feature amounts.
  • Patent Document 3 The problem of the technique disclosed in Patent Document 3 is that it cannot be recognized with high accuracy in the case of projective transformation or affine transformation. This is because dimensional compression image transformation such as KL transformation calculated from model window data and input window data is independently calculated by a coordinate system specific to each image, and therefore, between two local region images related to the same object. If the deformation of the base of the coordinate system fluctuates, the result of the dimension compression conversion that should be originally calculated in the process of performing the dimension compression conversion process is different. This is because the process of matching is considered to be unsuccessful.
  • dimensional compression image transformation such as KL transformation calculated from model window data and input window data is independently calculated by a coordinate system specific to each image, and therefore, between two local region images related to the same object. If the deformation of the base of the coordinate system fluctuates, the result of the dimension compression conversion that should be originally calculated in the process of performing the dimension compression conversion process is different. This is because the process of matching is considered to be unsuccessful.
  • An object of the present invention is to provide an image collation apparatus capable of collating with high accuracy even when geometric transformation such as affine transformation occurs between two images related to the same object.
  • an image collation apparatus is an image collation apparatus that collates a first image and a second image, A partial region calculation module for calculating one or more partial regions in the image from the second image; A partial region feature amount calculation module for calculating a feature amount related to the partial region; A feature point extraction module for calculating a feature point of the image from each of the first image and the second image; A feature point arrangement calculation module for calculating the arrangement of feature points from the feature points of each image; An invariant calculation module that calculates a feature vector that is a geometric transformation invariant or a feature vector having a geometric transformation invariant as an element from the arrangement of feature points of each image; An invariant match determination module that determines whether the feature quantity or the feature vector calculated from the first image matches the feature quantity or the feature vector calculated from the second image; A parameter estimation module for estimating a geometric transformation parameter between the first image and the second image; A projected partial region determination module that calculates a partial region on the first image corresponding to the partial region
  • the present invention is constructed as an image collation device as hardware, but is not limited to this, and may be constructed as an image collation method and an image collation program.
  • the feature quantity is calculated using the feature quantity that characterizes the arrangement of the feature point by the geometric transformation invariant, the geometric transformation parameter is obtained with high accuracy using only the matched feature point arrangement, and the parameter is used. This is because collation is performed by projecting one image onto the other.
  • the variation between the original feature point arrangements for which the feature point arrangement was calculated is considered to be within a certain range of geometric transformation fluctuations determined according to the type of invariant, This is because it is considered that the feature point arrangement or at least the change in the vicinity thereof can be described with high accuracy by calculating the conversion parameter to the geometric change from only them.
  • Embodiment 1 of this invention It is a block diagram which shows the structure of Embodiment 1 of this invention.
  • 4 is a flowchart illustrating an operation of a registration process among the operations of the first embodiment.
  • 3 is a flowchart showing an operation of step SR1 in the operation of the first embodiment. It is a flowchart of operation
  • FIG. It is a flowchart of operation
  • FIG. 6 is a flowchart illustrating an operation of search processing in the operation of the first embodiment.
  • 3 is a flowchart showing an operation of step SQ1 in the operation of the first embodiment. It is a flowchart which shows operation
  • FIG. 3 is a flowchart showing an operation of step SQ2 in the operation of the first embodiment. It is a flowchart which shows operation
  • FIG. 3 is a flowchart showing an operation of step SQ3 in the operation of the first embodiment.
  • 4 is a flowchart showing an operation of step SQ4 in the operation of the first embodiment.
  • It is a flowchart which shows operation
  • FIG. 1 In order to explain the effect of Embodiment 1, in the background art, it is a figure showing an example in which the way of appearance of feature points is different.
  • it is a diagram showing that a partial region in a registered image is projected on a search image according to the first embodiment.
  • FIG. 10 is a flowchart illustrating an operation of search processing in the operation of the second embodiment. It is a flowchart which shows operation
  • FIG. 10 is a block diagram showing a configuration of Embodiment 3.
  • FIG. 14 is a flowchart illustrating an operation of search processing in the operation of the third embodiment. 14 is a flowchart showing the operation of step SQ8 in the operation of the third embodiment.
  • it is the figure which showed the example which projected the partial area
  • 10 is a flowchart showing the operation of step SQA3 in the operation of the first modification of the second embodiment.
  • 10 is a flowchart showing the operation of step SQA4 in the operation of the first modification of the second embodiment. It is a block diagram which shows the structure of the 2nd modification of Embodiment 2.
  • 10 is a flowchart showing the operation of step SQB2 in the second modification of the second embodiment. It is a flowchart which shows operation
  • FIG. 10 is a flowchart showing the operation of step SQB3 in the second modification of the second embodiment.
  • 14 is a flowchart showing the operation of step SQB315 in the second modification of the second embodiment. It is a flowchart which shows operation
  • FIG. It is a flowchart which shows operation
  • the image collation apparatus includes a projection parameter estimation module 250, a partial area projection module 262, and a projection image collation module 264.
  • affine transformation refers to a two-dimensional affine transformation unless otherwise specified
  • affine transformation refers to a two-dimensional affine transformation unless otherwise specified
  • examples of “geometric transformation invariants” include affine invariants, projective transformation invariants, similarity transformation invariants, and the like.
  • examples of “geometric transformation parameters” include affine parameters.
  • a parameter for associating coordinates in one plane with coordinates in another plane in the three-dimensional space is also a kind of geometric transformation parameter.
  • an affine invariant is used as an example of “geometric transformation invariant”
  • an affine parameter is used as an example of “geometric transformation parameter”.
  • FIG. 27 is a block diagram showing an example when the image collating apparatus according to Embodiment 1 of the present invention is configured by a personal computer.
  • the image collating apparatus 1 includes a CPU 2, a storage medium 3, a storage medium 4, an input module 5, and an output module 6 that are a part or an example of a control module serving as a control unit. It consists of and.
  • the CPU 2 executes the various software programs (computer programs) to control the overall operation of the image collating apparatus 1 and execute the functions of the various modules shown in FIG. This also applies to each embodiment (FIGS. 30 and 23) described below.
  • the storage medium 3 (computer-readable medium) is a storage medium for storing various software programs and data necessary for the execution.
  • the storage medium 4 is a storage medium for complementing the storage medium 3.
  • the storage medium 3 is a memory that operates at high speed, for example, a RAM.
  • the storage medium 4 is a storage medium having a somewhat large capacity, for example, a hard disk.
  • the storage medium 3 and the storage medium 4 are not limited to these examples.
  • a new storage medium having both the function of the storage medium 3 and the function of the storage medium 4 or a storage module (not shown) as storage means may be used.
  • the storage medium 3 and the storage medium 4 are not particularly distinguished, that is, a storage medium having both functions is described.
  • the input module 5 includes an image information input interface function input from an image information acquisition module as an image information acquisition unit such as a video camera, a digital camera, a scanner, and a CCD, and an operation input unit such as a keyboard, mouse, various buttons, and a touch panel.
  • An operation input interface function input from the operation input module may be provided.
  • the input module 5 may or may not include the above-described image information acquisition module and operation input module (only the interface function). Further, the input module 5 includes a first image input module for inputting a search image (first image), a second image input module for inputting a registered image (second image), and the like. Good.
  • What is input to the input module 5 may be a two-dimensional still image, a three-dimensional spatial data, a moving image, or a variety of speed fields and magnetic fields. It may be a high-dimensional representation of a physical quantity having a spatial and temporal spread, an image feature quantity obtained by various operations such as convolution with a specific function, and its temporal change.
  • the storage media 3 and 4 include an image storage area (an image information storage unit including a search image information storage unit and a registered image information storage unit) that stores images (search images and registered images) input from the input module 5; A temporary storage area (VRAM or the like) may be provided. Furthermore, the storage media 3 and 4 may include an image matching result storage area for storing image matching result information. Furthermore, the storage media 3 and 4 may include work areas such as a control module and a communication module.
  • the output module 6 is an image information output module as image information output means for outputting image information such as a computer display, a television monitor (display module as display means), a projector, a printer (image forming module as image forming means), etc.
  • An information output interface function for outputting various types of information may be provided.
  • the output module 6 may or may not include the above-described image information output module (only the interface function).
  • the image information output module may include a display control module that displays an image stored in the image storage area in accordance with a user instruction.
  • the image collating apparatus 1 may be provided in an information processing apparatus (computer) that can be used by the user, operates under program control, and may have a network-related communication function. Further, when the image collating apparatus 1 has a communication interface function, the image collating apparatus 1 may be configured without the input module 5 and the output module 6 described above.
  • the CPU 2 executes software programs such as various modules shown in FIG. 2 while referring to the storage media 3 and 4 as appropriate based on an image collation start request from a communication interface, an input interface, and the like.
  • Each process registration process, verification process, etc.
  • the image collation start request may be input operation input data or an operation input signal, or may be control data or a control signal for controlling various devices.
  • the program of these various modules may be an integral configuration or a separate configuration. For this reason, it may be configured by a registration processing program and a verification processing (search processing) program, or may be integrally configured as an image verification control program.
  • the storage medium stores a program for causing a computer to function as each means (each module) of the present embodiment (a program for causing a computer to execute processing of each module).
  • the image collation apparatus according to the embodiment of the present invention shown in FIG. 1 shows a configuration constructed as hardware, and the image collation apparatus according to the embodiment of the present invention includes a first image that makes a search query and (search A partial area calculation module 272 for calculating one or more partial areas in the image from the second image, and the part A partial region feature amount calculation module 274 that calculates a feature amount relating to a region, calculates feature points from the first image and the second image, obtains the arrangement of the feature points, and uses geometric transformation invariants to The feature amount or feature vector that characterizes the feature point arrangement of the image is calculated, and it is determined whether the feature vector calculated from the first image matches the feature amount or feature vector calculated from the second image A parameter estimation module 236 that obtains at least a geometric transformation parameter in the vicinity of the feature point belonging to the feature point arrangement with respect to the feature quantity pair or the feature vector pair determined to be coincident, and the second transformation using the geometric transformation parameter.
  • a projection partial area determination module 278 for calculating a partial area on the first image corresponding to the partial area of the first image, and a partial area of the second image obtained by the projection partial area determination module 278.
  • a projected image partial region feature amount calculation module 280 that calculates a feature amount related to a partial region on the first image, a feature amount calculated by the projection image partial region feature amount calculation module 280, and the partial region feature amount calculation
  • a partial region matching module 282 that determines whether or not the feature amount calculated by the module 274 matches. That.
  • one or more partial areas are obtained from the second image, and feature quantities related to the partial areas are calculated and stored from one or more partial areas obtained from the second image, Feature points are calculated from both the first image and the second image, one or more feature point arrangements are obtained for both images, and feature quantities or feature vectors are obtained from the feature point arrangements using geometric transformation invariants.
  • the projection parameter estimation module 250 estimates parameters relating to geometric transformation between the search image and the registered image.
  • the projection parameter estimation module 250 is represented as a projection affine parameter estimation module 250 on the drawing.
  • Parameters relating to the geometric transformation are expressed as affine parameters.
  • the affine parameter is, for example, a relationship represented by the following expression between a point (xq, yq) in the search image and a point (xr, yr) in the registered image. It is the value of a, b, c, d, e, f.
  • the projection parameter estimation module 250 includes a registered image feature point extraction module 212, a registered image feature point arrangement calculation module 214, and a registered image invariant calculation module 216. , Registered image feature point arrangement storage module 218a, registered image invariant storage module 218b, search image feature point extraction module 222, search for concave feature point arrangement calculation module 226, invariant match determination module 232, and individual parameters An estimation module 234, an individual parameter verification module 246, and a projection parameter determination module 260 are included.
  • the registered image feature point extraction module 212 extracts one or more feature points from the registered image.
  • the registered image feature point extraction module 212 extracts the feature points of the registered image by, for example, clustering pixel value distributions, and using the centroid of connected components of pixels having values belonging to the same cluster as the feature points. It may be extracted. Further, as disclosed in Patent Document 2, a method of extracting the center of gravity of the sum area of a plurality of connected areas as a feature point may be used. Further, a known feature point extraction method that extracts corner points, characteristic points in the pixel value distribution, and the like as feature points may be used.
  • the registered image feature point extraction module 212 to extract the feature points of the registered image, a method of extracting only the centroid of the connected region of the non-background region after binarizing the image as the feature point. The case where it is used will be described.
  • the feature point extraction method used in the following description is particularly suitable when a connected region that is not a background after binarizing an image is used as a partial region. This is because both of the information uses the connected area, and the information of the connected area already obtained by the partial area calculation module can be reused. The same applies not only to the connected region after binarization but also to the connected region of pixels having values belonging to the same cluster as a result of clustering the distribution of pixel values.
  • the registered image feature point arrangement calculation module 214 calculates one or more feature point arrangements from the registered image.
  • the feature point arrangement calculated by the registered image feature point arrangement module 214 is a coordinate sequence of ordered feature points.
  • the registered image invariant calculation module 216 performs geometric transformation invariant (for example, affine invariant, projective transformation invariant, similarity transformation invariant, etc.) for each of one or more feature point arrangements obtained from the registered image.
  • geometric transformation invariant for example, affine invariant, projective transformation invariant, similarity transformation invariant, etc.
  • the registered image feature point arrangement storage module 218a stores the feature point arrangement information calculated by the registered image feature point arrangement calculation module 214. In the following description, it is assumed that the registered image feature point arrangement storage module 218a stores an ordered feature point coordinate string. Further, when storing the feature point arrangement, the registered image feature point arrangement storage module 218a stores the feature point arrangement in association with an index that uniquely designates the feature point arrangement.
  • the registered image invariant storage module 218b stores the feature quantity or feature vector calculated by the registered image invariant calculation module 216. In the following description, it is assumed that the registered image invariant storage module 218b stores the feature vector calculated by the registered image invariant calculation module 216. Further, when storing the feature vector, the registered image invariant storage module 218b stores the feature vector in association with an index that uniquely specifies the feature vector.
  • the search image feature point extraction module 222 calculates one or more feature points from the search image. Normally, the method for extracting the feature points from the image by the search image feature point extraction module 222 uses the same method as the feature point extraction method by the registered image feature point extraction module 212. May be changed so as to extract feature points from the image after changing according to the difference in the conditions for imaging. Hereinafter, a case where the search image feature point extraction module 222 extracts feature points from the search image using the same method as the feature point extraction method by the registered image feature point extraction module 212 will be described.
  • the search image feature point arrangement calculation module 224 calculates one or more feature point arrangements from the search image.
  • the feature point arrangement calculated by the search image feature point arrangement module 224 is a coordinate sequence of ordered feature points.
  • the search image invariant calculation module 226 calculates a feature quantity that is a geometric transformation invariant (for example, an affine invariant) or a geometric transformation invariant for each of one or more feature point arrangements obtained from the search image.
  • a feature vector search image feature vector
  • the search image invariant calculation module 226 uses the same method as the method in which the registered image feature point arrangement calculation module 214 calculates the geometric transformation invariant, but as disclosed in Patent Document 1, A method of calculating a plurality of feature vectors by considering cyclic replacement from one feature point arrangement may be used.
  • the search image invariant calculation module 226 uses the same calculation as the geometric transformation invariant calculation by the registered image feature point arrangement calculation module 214 will be described.
  • the invariant match determination module 232 determines whether or not the feature vector calculated from the registered image matches the feature vector calculated from the search image.
  • the invariant match determination module 232 determines the feature vector match using an existing method, for example, a known method such as an urban area distance, an Euclidean distance, an inner product of vectors, or an angle formed by two vectors. Then, a method is used in which the calculated similarity is determined to match if the calculated similarity is within a predetermined range.
  • the individual parameter estimation module 234 obtains a parameter between the base feature point arrangement pair that generated the feature vector pair for the feature vector pair determined to be matched by the invariant match determination module 232.
  • the parameters obtained by the individual parameter estimation module 234 are referred to as individual affine parameters.
  • the individual parameter estimation module 234 is represented as the individual affine parameter estimation module 234 on the drawing. Further, the individual parameter is expressed as an individual affine parameter.
  • the individual affine parameter estimation module 234 obtains the individual affine parameters using the above formula, and the obtained estimated values aih, bih, cih, dih, eif, fih are used as the affine parameters ai, bi, ci, di, respectively. , Ei, and fi.
  • the individual parameter verification module 236 verifies whether the individual parameter calculated by the individual parameter estimation module 234 satisfies a setting condition.
  • the individual parameter verification module 236 since the affine transformation is used as the geometric transformation, the individual parameter verification module 236 is represented as an individual affine parameter verification module 236 on the drawing. Therefore, the individual affine parameter verification module 236 sets the values of the individual affine parameters ai, bi, ci, di, ei, fi calculated by the individual affine parameter module 234 or values calculated from these values. A process to verify whether the condition is satisfied is performed.
  • the individual affine parameter verification module 236 preliminarily sets a range for at least one of the values of the individual affine parameters ai, bi, ci, di, ei, fi, or values calculated from these values. It is determined (this is referred to as a setting condition), and only when all values are within these ranges, it is verified that the setting condition is satisfied, and the verification result when the setting condition is satisfied is the number of parameter space votes. Output to the storage module 246.
  • the parameter space voting number storage module 246 stores the number of voting points (number of feature point arrangements) for storing the number of feature point arrangement pairs determined to be identical by the individual affine parameter verification module 36 for each of approximately the same values. It is classified and stored for each set of affine parameters having an area and approximately the same value. How the number of votes is stored will be described in detail when the operation of the parameter space vote number storage module 246, which will be described later, is described. Although not necessarily required, it is convenient for calculation if storage areas (parameter value storage areas) relating to the parameters a, b, c, d, e, and f are provided in association with the respective vote count storage areas. In the present embodiment, a parameter value storage area is also assumed.
  • the projection affine parameter determination module 260 obtains representative affine parameters a, b, c, d, e, and f from the number of votes stored in the parameter space vote number storage module 246.
  • the projection affine parameter determination module 260 uses, for example, the affine parameters ai, bi, ci, di, ei, fi obtained from the feature point arrangement pair corresponding to the vote count storage area where the vote count is maximum, Representative affine parameters a, b, c, d, e, and f can be obtained. Specifically, this will be described in detail when the operation of the projection affine parameter determination module 260 described later is described.
  • the partial area projection module 262 includes a partial area calculation module 272, a partial area feature quantity calculation module 274, a partial area feature quantity storage module 276, and a projection partial area determination module 278.
  • the partial area calculation module 272 calculates one or more partial areas from the registered image (searched image).
  • the partial area calculation module 272 clusters, for example, the distribution of pixel values of registered images, and calculates a connected area of pixels having values belonging to the same cluster, or a circumscribed rectangle thereof as the partial area.
  • the connected area or the circumscribed rectangle may include a connected area of a figure area (non-background area) after the image is binarized or the circumscribed rectangle.
  • a method of calculating the partial region by the partial region calculation module 272 as disclosed in Patent Document 2, a method of calculating a sum region of a plurality of connected regions or a circumscribed rectangle thereof is used. May be.
  • the partial area calculation module 272 calculates a circumscribed rectangle of a connected area that is not a background after binarizing an image as the partial area will be described.
  • the partial region feature value calculation module 274 obtains a partial region feature value (hereinafter also referred to as a registered image partial region feature value) for each of the partial regions calculated by the partial region calculation module 272.
  • a partial feature amount an image of the partial area itself may be used, and pixels that are not backgrounds existing in the partial area (normally, non-background areas are represented in black in a character string image). If this is a feature quantity that can describe the characteristics of a partial region, such as the existence ratio of the pixel) and the sum of the pixel values in the partial region divided by the area of the region, etc. Any one may be used. It is also preferable to use a feature amount effective for character recognition such as a luminance gradient in the partial area. Of course, the feature quantity is not limited to a scalar value, but may be a vector value. In the following description, the existence ratio of black pixels existing in a partial area (circumscribed rectangle) is used.
  • the partial area feature quantity storage module 276 stores the partial area feature quantity calculated by the partial area feature quantity calculation module 274.
  • the partial region feature quantity storage module 276 stores the four corner coordinates of the partial area (circumscribed rectangle) together with the partial area feature quantity.
  • the projection partial region determination module 278 uses an affine parameter representing the degree of deformation between the registered image and the search image estimated by the projection affine parameter estimation module 250 to determine that the partial region on the registered image is Consider which partial region on the search image corresponds to. Specifically, the projection partial area determination module 278 projects an arbitrary pixel belonging to the registered image partial area on the search image using the [Equation 1] for a general registered image partial area. Thus, the partial area on the search image is obtained. Further, when the circumscribed rectangle of the connected area is adopted as the partial area of the registered image, the projection partial area determination module 278 obtains the area as follows.
  • the projection partial region determination module 278 sets (xq1, yq1), (xq2, yq2), (xq3, yq3), (xq4, yq4) as the coordinates of the four vertices of the quadrangle on the search image.
  • the projection partial region determination module 278 determines a region for projecting a region, and it is not necessary to obtain the value of the pixel belonging to the region as the value of the corresponding pixel in the equation 8. Keep it.
  • a region projected on the search image does not necessarily exist on the search image, such as a parameter with poor estimation accuracy or an image in which one image includes the other image. In that case, the projection is stopped. For this reason, not all registered image partial areas are projected onto the search image. In order to cope with this, the number of times the projection has not been stopped is counted and temporarily stored.
  • the partial area projection module 262 includes a projected image partial area feature amount calculation module 280 and a partial area verification module 282.
  • the projected image partial region feature amount calculation module 280 obtains a feature amount for the partial region projected on the search image.
  • the feature amount is usually a feature amount of the same type as the feature amount calculated by the partial region feature amount calculation module 274. To do so, the following may be done. That is, first, the projection image partial region feature quantity calculation module 280 obtains the correspondence between the coordinates (xr, yr) on the registered image and the search image (xq, yq) by transforming [Equation 1]. [Equation 9] By utilizing this, the partial area image projected on the search image is projected on the registered image.
  • the projection in this case is a projection as an image, and it is necessary to obtain the pixel value of the search image belonging to the partial area projected onto the search image as the pixel value on the corresponding registered image by the above formula.
  • the projected image partial region feature amount calculation module 280 calculates a feature amount (hereinafter also referred to as a search image partial region feature amount) from the image projected on the registered image.
  • the projection image partial region feature quantity calculation module 280 uses the circumscribed rectangle of the connected region as the partial region and the existence ratio of black pixels existing in the partial region (circumscribed rectangle) as the feature amount.
  • the feature amount of the search image partial area is obtained on the search image without projecting the image. This is because the black pixel existence ratio is affine invariant. Accordingly, the same applies to the case where other affine invariants are used as feature quantities.
  • the partial region collation module 282 collates the feature amount of the search image partial region corresponding to the registered image partial region for which the registered image partial region feature amount is obtained with the registered image partial region feature amount.
  • a method for the partial region matching module 282 to collate the feature amount for example, when the feature amount is a scalar value, if the difference or ratio of the feature amount is within a predetermined fixed range, It is possible to use a deemed method. If the feature value is a vector value, the city distance, the Euclidean distance (or its square), the inner product of the vectors, the angle formed by the two vectors, etc. are calculated and they are within a predetermined range. Alternatively, a method of matching may be used.
  • the image matching result calculation module 290 finally identifies a registered image corresponding to the search image by using at least the number of times (the number of partial regions) that the partial region matching module 282 determines to be identical for each registered image. Specifically, this will be described in detail when the operation of the image matching result calculation module 290, which will be described later, is described.
  • the overall operation of this embodiment is divided into a registration process and a search process.
  • the registration process is a process of calculating a registered image partial region feature amount, a registered image feature point arrangement, and a registered image feature vector from the input registered image. These calculation results are stored.
  • the search process is a process for identifying a registered image corresponding to the search image by referring to a registered image partial region feature amount, a registered image feature point arrangement, a registered image feature vector, etc., from the input search image. is there.
  • FIG. 2 is a flowchart of registration processing executed by the image collating apparatus according to the present embodiment.
  • the processes of steps SR1 and SR2 are performed.
  • the registered image feature point extraction module 212 extracts feature points from the registered image
  • the registered image feature point arrangement calculation module 214 calculates the feature point arrangement
  • the registered image invariant module 216 calculates the feature vector.
  • the partial area projection module 262 calculates a registered image partial area feature amount from the registered image.
  • one or more registered images are given, and the registration process including steps SR1 and SR2 is performed for all registered images.
  • the registration process for the registered image z will be described using the symbol z that uniquely indicates the registered image to be registered.
  • step SR101 the registered image feature point extraction module 212 performs a process of extracting feature points from the registered image z (step SR101).
  • FIG. 4 is a flowchart of the feature point extraction process according to this embodiment.
  • the registered image feature point extraction module 212 first binarizes the registered image z (step SR1011), obtains all connected regions of black pixels in the image (step SR1012), and relates to each connected region. The center of gravity is calculated and extracted as a feature point (step SR1013).
  • step SR1013 When extracting the feature point, it is possible to use a new point calculated from two or more centroids in addition to the centroid as described in Patent Document 2, but the explanation will be simplified. Therefore, it is not considered in the following description.
  • the registered image feature point arrangement calculation module 214 calculates a feature point arrangement based on the feature points calculated by the registered image feature point extraction module 212 (step SR102 in FIG. 3).
  • the method disclosed in Patent Document 1 or Patent Document 2 can be used.
  • FIG. 5 is a flowchart of the calculation / storage processing of the feature point arrangement. That is, the registered image feature point arrangement calculation module 214 sets, as one feature point of interest, a feature point rpid that has not yet been processed in step SR102 in FIG.
  • Step SR1021 in FIG. 5 selects m points closest to each other (Step SR1022 in FIG. 5), finds the feature point rpidn closest to the feature point rpid from the m points, and sets m points Are aligned so that the feature point rpidn is centered around rpid (step SR1023 in FIG. 5), and the coordinate sequence of the feature points is generated in the aligned order (step SR1024 in FIG. 5). Then, the registered image feature point arrangement calculation module 214 stores the generated coordinate sequence of feature points in the registered image feature point arrangement storage module 218a (step SR1025 in FIG. 5).
  • the registered image feature point arrangement calculation module 214 determines whether all feature points have been processed as the feature point of interest (step SR1026 in FIG. 5). If the determination result is YES, the registered image feature point arrangement calculation module 214 ends the process of step SR102 of FIG. 4, and if the determination result is NO, the registered image feature point arrangement calculation module 214 performs the process of step SR1021 of FIG. Thus, the feature point coordinate sequence is repeated for all feature points of the registered image z until the registered image feature point arrangement calculation module 214 obtains the feature point coordinate sequence.
  • the registered image invariant calculation module 216 calculates a feature vector based on the feature point arrangement calculated by the registered image feature point arrangement calculation module 214.
  • Information of the feature vector is stored in the registered image feature point arrangement storage module 218a by the registered image invariant calculation module 216 (step SR103 in FIG. 3).
  • FIG. 6 is a flowchart showing the process of step SR103 in the present embodiment.
  • the registered image invariant calculation module 216 first sets and sets one feature point arrangement to be noted (step SR1031). Next, the registered image invariant calculation module 216 performs a process of calculating a feature vector with respect to the feature point arrangement (step SR1032). As a method for the registered image invariant calculation module 216 to calculate a feature vector, for example, a process disclosed in Patent Document 2 may be performed. Next, the registered image invariant calculation module 216 stores the calculated feature vector in the registered image feature vector storage module 218b (step SR1033). Using the fact that the feature point arrangement and the feature vector have a one-to-one relationship, it is convenient for later processing to identify and uniquely store the feature point arrangement. Is good.
  • the registered image invariant calculation module 216 determines whether the processing for calculating the feature vector with all feature points as the feature point arrangement of interest has been completed (step SR1034). If the determination is YES, the registered image invariant calculation module 216 ends the process of step SR103 in FIG. 3, and if the determination result is NO, performs the process of step SR1031 in FIG. Thus, the process is repeated until feature vectors are obtained for all feature point arrangements of the registered image z.
  • step SR2 shown in FIG. 2 includes step SR21 and step SR22.
  • step SR21 one or more partial areas are calculated from the registered image.
  • step SR21 a description will be given with reference to the flowchart of FIG.
  • step SR211 shown in FIG. 8 the partial area calculation module 272 sets one registered image z in which the partial area is not calculated.
  • step SR212 the partial area calculation module 272 calculates the partial area of the set registered image z.
  • the partial area may be an arbitrary partial area, but in the present embodiment, one or more circumscribed rectangles of the black pixel connection area obtained from the registered image z are defined as the partial area.
  • the registered image feature point extraction module 212 obtains all the connected regions of the black pixels in the image in step SR1012, the connected region is calculated again by reusing the calculation result. There is an advantage that there is no need to do.
  • step SR213 the partial area calculation module 272 determines whether the process of calculating the partial area of the registered image z has been performed for all the registered images.
  • the partial area calculation module 272 ends the process of step SR21 if the determination result is YES, and performs the process of SR211 if the determination result is NO.
  • step SR22 of FIG. 7 the partial area feature quantity storage module 276 stores the partial area feature quantity and the four corner coordinates of the partial area (circumscribed rectangle) together.
  • FIG. 9 is a flowchart showing the operation of step SR22.
  • step SR222 the partial region feature amount calculation module 274 obtains a partial region feature amount (registered image partial region feature amount) for each of the partial regions calculated by the partial region calculation module 272.
  • the partial region feature amount storage module 276 stores the calculated partial region and partial region feature amount.
  • step SR223 the partial region calculation module 272 and the partial region feature amount calculation module 274 determine whether or not the partial region and the partial region feature amount have been calculated for all registered images. If the determination result is YES, the partial region calculation module 272 and the partial region feature amount calculation module 274 end the processing of step SR22, and if the determination result is NO, the partial region calculation module 272 and the partial region feature amount calculation module 274 respectively perform the processing of step SR221 and step SR222.
  • FIG. 10 is a flowchart of search processing executed by the image matching apparatus according to the present embodiment.
  • the search process includes processes of step SQ1, step SQ2, step SQ3, step SQ4, step SQ5, and step SQ6.
  • Step SQ1 is a process for setting one registered image z to be subjected to steps SQ2, SQ3, and SQ4.
  • step SQ2 a process for estimating an affine parameter between the search image and the registered image z set in step SQ1 is performed.
  • step SQ3 a process of projecting the registered image partial area obtained for the registered image set in step SQ1 onto the search image is performed.
  • step SQ4 a feature amount is calculated from the image in the partial area projected on the search image, and a process of matching with the corresponding registered image partial area feature amount is performed.
  • step SQ5 it is determined whether step SQ2, step SQ3, and step SQ4 have been performed on all registered images. If YES, the process in step SQ6 is performed. If NO, the process returns to step SQ1.
  • step SQ6 using at least the result obtained in step SQ4, a process for identifying a registered image corresponding to the finally given search image is performed.
  • the processing of each step will be specifically described.
  • step SQ1 specifically, the partial area calculation module 272 selects one registered image that has not been subjected to partial area coincidence calculation with the search image as a registered image to which attention is paid. Is set (step SQ11).
  • the registered image set here is defined as a registered image z.
  • the parameter space vote count storage module 246 performs initialization processing (step SQ12) regarding the vote count storage area. The operation of step SQ12 will be described with reference to FIG.
  • the parameter space vote count storage module 246 first determines the range of values that the parameters a, b, c, and d can take in advance, the point (xr, yr) on the registered image, and the point (xq, yq) on the search image. A range of possible values is determined (step SQ121). Regarding the range of values that a, b, c, and d can take, for example, the values of a, b, c, and d used when the individual affine parameter verification module 236 verifies can be used.
  • the possible values of a are amin ⁇ a ⁇ amax
  • the range of b can be bmin ⁇ b ⁇ bmax
  • the range of c can be cmin ⁇ c ⁇ cmax
  • the range of d can be dmin ⁇ d ⁇ dmax.
  • the parameter space vote count storage module 246 acquires xmax and ymax so that an image having an area defined by 1 ⁇ x ⁇ xmax and 1 ⁇ y ⁇ ymax is obtained.
  • the size (width or height) of the registered image z may be used.
  • the parameter space vote count storage module 246 also sets (xq, yq) an area defined by 1 ⁇ xq ⁇ xqmax and 1 ⁇ yq ⁇ yqmax from the size (width or height) of the search image. Xqmax and yqmax are acquired so as to have an image. Next, the parameter space vote count storage module 246 determines the range of values that e and f can take (step SQ122).
  • the parameter space vote count storage module 246 obtains the information
  • the point (x, y) on the registered image and the point (xq, yq) on the search image (assuming an image having an area defined by 1 ⁇ xq ⁇ xqmax, 1 ⁇ yq ⁇ yqmax)
  • min ( ⁇ ) represents a value that minimizes the expression in parentheses for all combinations of values that can be taken by all a, b, c, d, x, y, xq, and yq.
  • max ( ⁇ ) indicates a value that maximizes the mathematical expression in parentheses for all combinations of values that can be taken by all a, b, c, d, x, y, xq, and yq.
  • emin xqmax ⁇ (amax * xmax + bmax * ymax)
  • emax xqmin ⁇ (bmin * ymax)
  • fmin yqmin ⁇ (cmax * xmax + dmax * ymax)
  • fmax yqmax ⁇ (cmin * xmax)
  • the symbol * is a symbol that explicitly represents multiplication.
  • the range of values that e and f can take may be determined separately, or the range of values that e and f can take in advance may be determined. Then, the final range of possible values may be determined by combining the above two ranges.
  • the range of possible values determined for each parameter is divided (step SQ123). For example, a section formed by dividing the section of [amin, amax] into Na pieces is referred to as sections a1, a2,. Similarly, sections b1,..., BNb, sections c1,..., CNc, sections d1,..., DNd, sections e1,.
  • Na, Nb, Nc, Nd, Ne, and Nf may use predetermined values, or may be determined from properties required for the section (such as restrictions on the size of the section).
  • the numbers of Na, Nb, Nc, Nd, Ne, and Nf are predetermined.
  • the range of parameter values calculated for each divided section is calculated and stored in a storage area (not shown). Note that the number of vote count storage areas and the number of parameter value storage areas need to be sufficient to store all combinations of sections.
  • the term “combination of adjacent sections” may represent a combination of sections satisfying the following properties with respect to a combination of certain sections ad, bd, cd, dd, ed, and fd. That is, the combination of sections (section division) az, bz, cz, dz, ez, fz ad-1 ⁇ az ⁇ ad + 1 bd-1 ⁇ bz ⁇ bb + 1 cd-1 ⁇ cz ⁇ cd + 1 dd-1 ⁇ dz ⁇ dd + 1 ed-1 ⁇ ez ⁇ ed + 1 fd-1 ⁇ fz ⁇ fd + 1 It is a property that satisfies
  • the parameter space vote count storage module 246 initializes the vote count stored in the vote count storage area corresponding to each section combination with 0 (step SQ124).
  • the parameter space vote count storage module 246 also initializes a parameter storage area corresponding to the vote count storage area (substitutes 0 for a variable representing each parameter).
  • Step SQ2 includes step SQ21, step SQ22, and step SQ3.
  • Step SQ21 is a process of calculating the feature point arrangement and the feature vector from the search image, similarly to the registered image.
  • Step SQ22 is a process of calculating and storing the number of votes and parameter values stored in the vote number storage area and the parameter value storage area from the feature point arrangement and feature vector related to the registered image z and the feature vector related to the search image.
  • Step SQ23 is a process of determining an affine parameter between the registered image z and the search image using the vote count and parameter values stored in the vote count storage area and the parameter value storage area. Below, the process of step SQ21, SQ22, SQ23 is demonstrated.
  • Step SQ21 can be realized by, for example, the search image feature point extraction module 222, the search image feature point arrangement calculation module 224, and the search image invariant calculation module 226 performing the same processing as in step SR1. Therefore, the description is omitted.
  • one or more feature point arrangements and feature vectors related to the search image are usually calculated one by one. These may be temporarily stored in a storage area (not shown). (Of course, it is not always necessary to calculate the feature point arrangement and the feature vector related to the search image in the same manner as the registered image. For example, as shown in Patent Document 1 and Patent Document 2, a certain feature point is used. (New feature point placements and feature vectors may be calculated that correspond to one or more cyclic replacements for the placement.)
  • step SQ22 will be described with reference to the flowchart of FIG. 14 showing the operation of step SQ22.
  • the invariant match determination module 232 sets one registered image feature vector that has not yet undergone the processing of SQ22 (step SQ2201).
  • the invariant match determination module 232 sets one search image feature vector that has not been subjected to the processing of SQ22 yet (step SQ2202).
  • the invariant coincidence calculation module 232 calculates the similarity between the noticed registered image feature vector and the noticed search image feature vector (step SQ2203).
  • the similarity is assumed to be a square value of the Euclidean distance between two vectors (but not limited to this).
  • the invariant coincidence calculation module 232 determines, based on the similarity calculated in step SQ2203, whether both vectors match, according to whether the similarity is within a predetermined range (step SQ2204). ). For example, when the square value of the Euclidean distance between two vectors is the similarity, the invariant coincidence calculation module 232 sets a value of the square of the Euclidean distance between the two vectors in advance (usually, Both vectors can be regarded as matching if they are smaller (or less) than a positive value (which is relatively small). If they match, the process of step SQ2205 is performed, and if not, the process of step SQ2209 is performed.
  • the individual affine parameter estimation module 234 estimates the individual affine parameters (step SQ2205).
  • the estimation method in the present embodiment is as already described in the description of the functions related to the individual affine parameter estimation module 234.
  • the individual affine parameter verification module 236 verifies the individual affine parameters (step SQ2206).
  • the estimation method in the present embodiment is as already described in the description of the functions related to the individual affine parameter estimation module 234.
  • parameters ai, bi, ci, di are set to amin ⁇ ai ⁇ amax, bmin ⁇ bi ⁇ bmax, cmin ⁇ ci ⁇ cmax with respect to predetermined amin, amax, bmin, bmax, cmin, cmax, dmin, dmax , Dmin ⁇ di ⁇ dmax are all satisfied, verification OK, and otherwise, verification NG. If it is determined that the verification is OK, the process proceeds to step SQ2207. In the case of verification NG, the process proceeds to step SQ2209.
  • step S207 the parameter space vote count storage module 246 increases the vote count of the appropriate vote count storage area by 1 according to the value of the individual affine parameter, and sets the parameter value stored in the appropriate parameter value storage area. Update (step S2207).
  • step SQ2207 the operation of step SQ2207 will be described with reference to FIG.
  • the parameter space vote count storage module 246 includes a set of affine parameter values between the registered image feature point arrangement and the search image feature point arrangement estimated when the affine parameter verification unit 236 determines that they match.
  • the combination of the sections is obtained using the result of “calculated what parameter value range each divided section is” calculated in step S123 (step SQ22071).
  • the parameter space vote count storage module 246 increases the vote count stored in the vote count storage area corresponding to the combination of the corresponding sections by 1 (step SQ22072).
  • the symbol * is a symbol that explicitly represents multiplication.
  • the parameter value stored in the parameter value storage area is the average of the parameter values corresponding to the combination of the corresponding sections as a result.
  • step SQ2207 the operation is performed so that the number of votes and the parameter value corresponding to the combination of the corresponding sections are only updated.
  • it is not necessarily unique. For example, it is possible to update the number of votes and the parameter value corresponding to the combination of the sections adjacent to the combination of the corresponding sections.
  • step SQ2208 determines whether or not the processing of all the search image feature vectors has been completed for the registered image feature vector of interest. If YES, the process of step SQ2209 is performed, and if NO, the process of step SQ2202 is started again.
  • step SQ2209 the parameter space vote count storage module 246 determines whether or not the processing for the registered image feature vector of interest has been completed. If YES, the process of step SQ22 is terminated, and if NO, the process returns to step SQ2201.
  • step SQ23 the projection affine parameter determination module 260 detects the vote count storage area in which the maximum vote count is stored, and the parameter value stored in the parameter value storage area corresponding to the vote count storage area. Are determined as projection affine parameters.
  • the handling when there are two or more vote number storage areas storing the maximum number of votes will be described later. For the time being, there is only one vote number storage area storing the maximum number of votes. The case will be described.
  • step SQ3 the projection partial region determination module 278 determines a projection partial region on the search image for the registered image z.
  • a description will be given with reference to a flowchart of FIG. 16 showing the operation of step SQ3.
  • step SQ31 the projection partial area determination module 278 sets one partial area for which the projection partial area has not been calculated.
  • the projection partial area determination module 278 calculates the projection partial area.
  • the partial area is a rectangular area
  • the four corner coordinates of the rectangular area may be obtained.
  • the calculation method is as described above in the description of the function of the projection partial area determination module 278.
  • the projection partial area determination module 278 determines whether or not the calculated projection partial area is an effective area on the search image.
  • the effective area is an area where pixel values exist in the search image, for example.
  • the partial area is a rectangular area, it is only necessary that the four corner coordinates of the rectangular area exist on the search image.
  • the calculation method is as described above in the description of the function of the projection partial area determination module 278. If all the four corner coordinates are present in the effective area, the process of step SQ34 is performed, and if not, the process of SQ35 is performed.
  • step SQ34 the projection partial area determination module 278 temporarily stores the projection partial area existing in the effective area. This is for use in subsequent processing of the search processing. At this time, it is convenient to store together information that can uniquely identify the base partial area from which the projected partial area is calculated.
  • step SQ35 the projection partial area determination module 278 determines whether the calculation of the projection partial area has been completed for all partial images. If YES, the projection partial area determination module 278 performs the process of step SQ36. If NO, the process of step SQ31 is performed. Finally, in step SQ36, the projection partial area determination module 278 calculates the number of projection partial areas existing in the effective area. Then, this result is temporarily stored for subsequent processing of search processing.
  • step SQ4 the search image partial region feature quantity is obtained and collated with the corresponding registered image partial feature quantity.
  • FIG. 17 shows the operation of step SQ4.
  • the projection image partial region feature quantity calculation module 280 initializes a variable for storing the number of partial region matches between the registered image z and the search image with 0 (step SQ40).
  • the projected image partial region feature value calculation module 280 selects one of the search image partial regions that have not been subjected to the partial region matching determination process in step SQ43, which will be described later, as a target search image partial region. (Step SQ41).
  • the projection image partial region feature amount calculation module 280 calculates a search image partial region feature amount for one of the target search image partial regions (step SQ42).
  • the feature amount of the image is calculated. Ask for.
  • the existence ratio of the black pixels in the partial area is used as the feature amount, it is sufficient to obtain the feature amount for the search image partial region on the search image.
  • the partial area collation module 282 collates the registered image partial area feature amount calculated from the registered image partial area corresponding to the search image partial area of interest with the search image partial feature quantity (step SQ43).
  • the collation is determined to match if the value obtained by subtracting the value of the search image partial area from the value of the registered image partial area feature value is a value within a predetermined range.
  • the predetermined range is usually a set of values including 0 and relatively close to 0. If they match, the process of step SQ44 is performed. If they do not match, the process of step SQ45 is performed.
  • step SQ44 the partial area matching module 282 increases the variable for storing the number of partial area matches between the registered image z and the search image by one.
  • step SQ45 the partial region matching module 282 determines whether or not the partial region matching determination (step SQ43) has been completed for all the search image partial regions. If YES, the process ends. If NO, the process of step SQ41 is performed.
  • the number of partial area matches between the registered image z and the search image (the number of times that the partial areas are determined to match) is calculated in the above steps SQ1, SQ2, SQ3, and SQ4.
  • step SQ5 the partial region matching module 282 determines whether or not the partial region matching number has been calculated for all registered images. If YES, the process of SQ6 is performed. If NO, the process of SQ1 is performed.
  • step SQ6 the image collation result calculation module 290 identifies a registered image corresponding to the finally given search image.
  • a description will be given with reference to a flowchart of FIG. 18 showing the operation of step SQ6.
  • the image matching result calculation module 290 calculates the degree of coincidence, which is a measure for matching each registered image with the search image.
  • the degree of coincidence is a value obtained by dividing the number of partial area matches for each registered image by the number of projected partial areas (number of effective areas) existing in an effective area (calculated in step SQ36). And, it is not limited to this.
  • the image matching result calculation module 290 determines a registered image to be output as a registered image corresponding to the search image. This is usually a registered image for which the maximum degree of coincidence has been calculated. If there are two or more registered images having the highest degree of coincidence, all of them may be output. In that case, it is preferable to output a matching degree or a numerical value representing the goodness of fit between the registered image calculated using the matching degree and the search image. In this embodiment, in such a case, the result is rejected (in this case, it means that the registered image corresponding to the search image could not be detected).
  • step SQ63 the image matching result calculation module 290 outputs information that can uniquely specify the registered image.
  • the information output as a result is either information that can uniquely specify the search image or information that means that the registered image corresponding to the search image could not be detected.
  • step SQ62 outputs a plurality of pieces of information that can uniquely specify a registered image
  • step SQ62 outputs a numerical value representing the degree of matching between the registered image calculated using the matching degree or the matching degree and the search image
  • the numerical value may also be output in step SQ63.
  • the information (information that can uniquely identify the registered image and the matching degree corresponding to the registered image, or a numerical value that indicates goodness of fit) is used as the user of the image collation apparatus of the present invention (from another computer). (Including references).
  • the user can use the image collation apparatus of the present invention as a means to perform an image search suitable for the user's purpose.
  • step SQ23 the above description has been made on the assumption that there is one affine parameter used for projection.
  • a plurality of affine parameter candidates are calculated, and the calculation of steps SQ3, SQ4, SQ5, and SQ61 is performed independently for each affine parameter.
  • the registered image to be output can be determined. For example, when there are two registered images, two affine parameters are calculated from the first registered image and one affine parameter is calculated from the second registered image.
  • the degree of coincidence relating to the affine parameter, the degree of coincidence relating to the second affine parameter of the first registered image, and the degree of coincidence relating to the second registered image may be used. For example, a registered image for which the maximum matching degree among these three matching degrees is calculated may be determined as a registered image to be finally output.
  • the feature quantity is calculated using the feature quantity that characterizes the arrangement of the feature point by the geometric transformation invariant, and the geometric transformation parameter is obtained with high accuracy using only the matched feature point arrangement, and the parameter is used to calculate the feature quantity in one image.
  • feature quantities are calculated from the obtained projected partial areas, and collation is performed using the feature quantities. Therefore, although the arrangement of feature points is similar, high-precision collation is possible even when the feature points are not similar to the original local region image extracted.
  • an image is identified using the number of correct correspondences between feature vectors as disclosed in Patent Document 1 and Patent Document 2, even if the registered image and the search image are similar, the effect of noise or the like If the connected regions are found differently, the number of correct correspondences decreases, and accurate identification may be difficult.
  • An example is shown in FIG. In FIG. 20, an image R represents a registered image, and an image Q represents a search image. In such a case, there is a possibility that the corresponding feature point arrangement can be detected on the right side of the image. However, on the left side, the appearance of the feature points is different, so it is theoretically impossible to detect the corresponding feature point arrangement. Is possible.
  • step SQ7 in the first embodiment, operations corresponding to step SQ3 and step SQ4 are replaced by step SQ7. Details of step SQ7 in the second embodiment will be described with reference to FIG.
  • the image matching result calculation module 290 initializes the number of partial area matches and the number of valid areas. Specifically, 0 is substituted (step SQ700).
  • the projection partial area determination module 278 sets one partial area for which no projection partial area has been calculated.
  • step SQ702 the projection partial area determination module 278 calculates a projection partial area.
  • the difference from step SQ32 is that, with respect to the projection partial area calculated by the projection partial area determination module 278, the projection partial area determination module 278 calculates a result obtained by varying the predetermined partial range. This is a point to be an area candidate.
  • a plurality of variation amount candidates are prepared for each of the parameters a, b, c, d, e, and f, and one of the combinations is set as the variation amount for each parameter. .
  • processing is performed for one of the combinations of fluctuation amounts that have not yet been processed for the partial area.
  • step SQ707 By doing in this way, it becomes YES by determination of step SQ707 mentioned later about one or more of the combination of the some variation amount candidate with respect to each parameter by cooperation operation
  • e and f are considered to be a small variation.
  • e1, et2,..., Te f value candidates be ft1, ft2,.
  • the variation amount for e is et and the variation amount for f is ftf
  • the projected partial region is translated by eth in the xq direction and by ftf in the yq direction.
  • the partial area is a rectangular area, it is sufficient to perform this operation for the four corner coordinates of the rectangular area.
  • step SQ703 the projection partial area determination module 278 determines whether the partial area candidate calculated by the projection partial area determination module 278 is an effective area on the search image.
  • the calculation method is as described above in the description of the function of the projection partial area determination module 278. If all the four corner coordinates are present in the effective area, the process of step SQ704 is performed, and if not, the process of step SQ709 is performed.
  • step SQ704 the projection partial area determination module 278 determines whether or not the process of step SQ704 is performed for the first time for the currently set partial area. This is because, even if a repetitive operation is performed for the currently set partial area by the cooperation of step SQ703 and step SQ709 (even if the partial area candidate is calculated a plurality of times), the effective area for each partial area This is a determination process for guaranteeing that the maximum value of the number increase is 1. If YES, the process of step SQ705 is performed. If NO, the process of step SQ706 is performed.
  • step SQ705 the projection partial area determination module 278 increases the number of effective areas by one.
  • the projection image partial region feature amount calculation module 280 performs a feature amount (this is a search image partial region candidate feature) on the partial region candidate on the search image that is obtained in the same process as in step SQ42. Called a quantity).
  • the projection image partial area feature amount calculation module 280 is described to calculate the search image partial area feature amount from the search image partial area. If used, it is obvious that the feature amount can be calculated for the search image partial region candidate.
  • step SQ707 similar to step SQ43, the projected image partial region feature amount calculation module 280 calculates the registered image partial region feature amount calculated from the registered image partial region corresponding to the target search image partial region candidate.
  • the search image partial region candidate feature amount is collated. If they match, the process of step SQ708 is performed. If they do not match, the process of step SQ709 is performed.
  • step SQ708 the projection image partial area feature amount calculation module 280 increases the variable for storing the number of partial area matches between the registered image z and the search image by one.
  • step SQ709 it is determined whether or not the processing has been completed for all combinations of variation amount candidates described in the description of step SQ702. If YES, the process of step SQ710 is performed. If NO, the process of step SQ702 is performed.
  • step SQ710 the projection image partial area feature amount calculation module 280 determines whether or not the partial area collation determination has been completed for all the registered image partial areas. If YES, the process ends. If NO, the process of step SQ701 is performed.
  • the projection partial area is calculated in step SQ702.
  • the difference from the first embodiment is that the projection partial area calculated by the projection partial area determination module 278 is calculated by changing the result within a predetermined range to obtain the final projection partial area. It is a point that is configured.
  • the projected area image matches with higher accuracy. Therefore, more accurate collation can be realized.
  • the operation is different in steps SQ23, SQ3, and SQ4 in the first embodiment.
  • the steps corresponding to these steps are SQA23, SQA3, and SQA4, respectively.
  • the process of step SQA 23 is an extension of the method of using a plurality of affine parameter candidates described in paragraph [0111] above, when one affine parameter candidate is not necessarily determined. That is, in the process of step SQ23, a voting number storage area in which the maximum number of votes is stored (in many cases, a single) is detected and stored in the parameter value storage area corresponding to the voting number storage area. In the process of step SQA23, (in many cases, a plurality of) voting number storage areas satisfying a predetermined condition are detected, and those parameters are determined as affine parameters for voting. The value of the parameter stored in the parameter value storage area corresponding to the vote count storage area is set as the projection affine parameter.
  • the predetermined conditions include, for example, the following conditions.
  • the number of votes related to the vote number storage area is equal to or greater than a predetermined value.
  • the number of votes related to the vote number storage area is equal to or more than the number obtained by subtracting a predetermined value from the maximum number of votes.
  • the number of votes related to the vote count storage area is equal to or greater than a predetermined value obtained by dividing the vote count by the maximum vote count. Two or more of these conditions may be combined.
  • step SQA3 when the projection affine parameters calculated in step SQA23 (in many cases, a plurality of projection affine parameters) are used, the projection partial area determination module 278 performs a projection partial area on the search image with respect to the registered image z. It is a process to determine. This is a process corresponding to step SQ3 in the first embodiment.
  • FIG. 28 is a flowchart for explaining step SQA3 in the first modification of the second embodiment.
  • step SQA3 will be described with reference to FIG.
  • the process of step SQA3 is the same as the process of step SQ3 except that the processes of steps SQA315 and SQA345 are performed as compared with the process of step SQ3.
  • step SQA315 the projection partial area determination module 228 uses the affine parameters for which the projection partial area has not yet been calculated for the target partial area from the projection affine parameters related to the vote count storage area detected in step SQA23. Get one of them.
  • step SQA345 the partial region matching module 282 determines whether the calculation of the projected partial region for all of the vote count storage regions detected in step SQA23 has been completed for the partial region of interest. If YES, the process of step SQ5 is performed. If NO, the process of step SQA15 is performed.
  • step SQ34 in the first modification of the second embodiment the partial area (in the registered image) that is the basis for calculating the projection partial area and the affine parameters used for the projection are calculated for the calculated projection partial area. It is convenient to store together information that can be uniquely identified.
  • step SQA4 is a process of obtaining a search image partial area using the projection partial area calculated in step SQA3 and collating with the corresponding registered image partial feature quantity.
  • FIG. 29 is a flowchart for explaining the process of step SQA4 in the first modification of the second embodiment.
  • step SQA4 will be described with reference to FIG.
  • Steps SQ40, SQ43, and SQ44 are the same as steps SQ4.
  • steps SQA41, SQA42, SQA43, SQA435, and SQA45, which are different from the process of step SQ4, will be described.
  • step SQA41 the projected image partial region feature quantity calculation module 280 selects one registered image partial region from registered image partial regions that are not yet collated.
  • step SQA415 the projection image partial region feature quantity calculation module 280 selects one affine parameter that has not yet been collated with respect to the registered image partial region of interest.
  • step SQA42 the projection image partial region feature amount calculation module 280 calculates the search image partial region feature amount with reference to the search image partial region already calculated in step SQA3 with respect to the registered image partial region and affine parameters of interest. To do.
  • the calculation method is the same as the calculation method for performing the process of step SQ42.
  • step SQA43 is the same process as the process of step SQ43, except that the process of step SQA435 is performed when the determination result is NO.
  • step SQA435 the projection image partial region feature quantity calculation module 280 determines whether or not a search image partial region using all affine parameters has been calculated for the registered image partial region of interest. If YES, the process of step SQA45 is performed, and if NO, the process of step SQA415 is performed.
  • step SQA45 the projection image partial area feature amount calculation module 280 determines whether the processing has been completed for all the registered image partial areas. If YES, the process of step SQ4 is terminated, and if NO, the process of step SQ41 is performed.
  • first modification of the second embodiment of the present invention for each registered image partial region, (in many cases) separate search image partial regions are obtained using each of a plurality of affine parameters, and those search images are obtained. This is a process of increasing the number of partial matches by 1 when one of the search image partial region feature values calculated from the partial region matches the registered image partial region feature value.
  • the projected region image is more in comparison with the first embodiment. Matches with high accuracy. Therefore, more accurate collation can be realized.
  • the second embodiment it is necessary to set a large fluctuation range. In this case, since the possibility of all fluctuations must be considered brute force, a series of processing takes time.
  • a plurality of affine parameters corresponding to each ballot box can be used instead of such brute force consideration.
  • at least one of the plurality of affine parameters is an affine parameter that is at least locally accurate. Therefore, collation with the same accuracy as in the second embodiment can be realized at high speed.
  • the number of vote count storage areas becomes relatively large. Therefore, when the number of different individual affine parameters obtained is relatively small, in order to project the partial area corresponding to the feature point for each feature point, rather than preparing the vote count storage area in advance. In some cases, storing the affine parameter candidates to be used requires a smaller storage capacity.
  • the second modification of the second embodiment is an embodiment proposed based on such a concept.
  • the method used when the first modification of the second embodiment is described that is, A method of using only the affine parameters voted for a certain section is also used.
  • the above (Condition 1) can be simply read as follows.
  • (Condition 2) Individual affine parameters obtained from feature point arrangement including the feature points
  • FIG. 30 is a block diagram showing a configuration of a second modification of the second embodiment of the present invention.
  • the configuration of the second modification of the second embodiment is the same as that of the first embodiment except for a part. Therefore, only different parts will be described.
  • the individual affine parameter storage module 446 converts the individual affine parameters a, b, c, d, e, and f verified by the individual affine parameter verification module 236 into the individual affine parameters a, b, c, d. , E, and f are stored together with information that can uniquely identify the feature points in the registered image used in the calculation.
  • the individual affine parameter storage module 446 uses, for example, affine parameters a, b, c, d, e, and f calculated from the feature point arrangement (cp1, cp2, cp3, cp4, cp5, cp6) in the registered image as features.
  • the individual affine parameters relating to the point cp1 may be stored, the individual affine parameters relating to the feature point cp2 may be stored, and the individual affine parameters relating to the feature point cp3 to the feature point cp6 may be stored. Details of the operation will be described in detail when the subsequent operation is described.
  • the projection affine parameter determination module 460 outputs a set of individual affine parameters a, b, c, d, e, and f regarding the feature point of interest of the registered image of interest. Details of the operation will be described in detail when the subsequent operation is described.
  • the operation differs in each process in steps SQ2, SQ22, SQA3, and SQA4 in the second embodiment.
  • the processes corresponding to these steps are the processes of steps SQB2, SQB22, SQB3, and SQB4, respectively.
  • FIG. 31 is a flowchart showing the operation of step SQB2 in the second modification of the second embodiment.
  • the process of step SQB2 includes a process of step SQ21 and a process of step SQB22. Note that the process corresponding to step SQA23 has been deleted from the process of step SQB2.
  • Step SQ21 is the same process as that of the first modification of the second embodiment.
  • FIG. 32 is a flowchart showing the process of step SQB22 in the second modification of the second embodiment.
  • a description will be given with reference to FIG. Note that the description of the steps performing the same processing as in the first embodiment is omitted, and only the processing of steps SQB2207 and SQB2209, which are different steps, will be described.
  • step SQB2207 is a process in which the individual affine parameter storage module 446 stores the individual affine parameters verified in step SQ2206.
  • the method of storing the individual affine parameter storage module 446 is as described in the description of the configuration of the individual affine parameter storage module 446.
  • step SQB 2209 is the same except for the fact that the subject of the process of step SQ 2209 is changed from the parameter space vote count storage module 246 to the individual affine parameter storage module 446.
  • step SQB3 is different from the process of step SQA3 in the first modification of the second embodiment in that the process of step SQA315 is replaced with the process of step SQB315.
  • step SQB315 is a flowchart showing the process of step SQB315.
  • the projection affine parameter determination module 460 outputs a set of individual affine parameters a, b, c, d, e, and f that have not been output yet for the feature point of interest of the registered image of interest. It is processing. An example of details of the processing will be described.
  • the projection affine parameter determination module 460 determines whether or not one or more individual affine parameters are obtained for a registered image of interest (step SQB3151). If NO, the process of step SQ35 is performed.
  • the projection affine parameter determination module 460 determines whether or not individual affine parameters are registered for the feature point of interest of the registered image of interest (step SQB3152).
  • the projection affine parameter determination module 460 selects a set of stored individual affine parameters that have not been output yet for the feature point of interest of the registered image of interest (step SQB3153), and step SQ32 processing is performed.
  • the projection affine parameter determination module 460 selects a set of individual affine parameters stored for the neighboring feature points that have not been output yet (step SQB3154), and performs the process of step SQ32. .
  • the processing in step SQB3154 has not yet been output, for example, among the individual affine parameters relating to the feature point present at the nearest position on the image from the feature point of interest at the feature point on the registered image of interest. Select a set.
  • step SQB4 is a flowchart showing the process of step SQB4.
  • the process of step SQB4 differs from the process of step SQA4 in the first modification of the second embodiment in that the process of step SQA415 is replaced with the process of step SQB415.
  • step SQB415 it is first determined whether or not the projection area is calculated for the feature point of interest of the registered image of interest (step SQB4151).
  • step SQB4152 one of the projection partial areas stored regarding the feature point of interest in the registered image of interest is selected (step SQB4152), and the processing of SQB42 is performed. If NO, the process of step SQA45 is performed.
  • the second modification of the second embodiment is a method of calculating a search image partial region using all the calculated individual affine parameters.
  • This is a particularly high-precision affine parameter for the vicinity of the feature point from which the individual affine parameter is calculated, so that the affine parameter calculated from the individual affine parameter corresponding to the same vote count storage area is used in the second embodiment.
  • high-accuracy collation can be realized.
  • FIG. 23 is a diagram for explaining the configuration of the third embodiment of the present invention.
  • the image matching result calculation module 290 not only calculates the degree of coincidence, but also calculates the degree of inconsistency, which is a measure related to inconsistency.
  • the registration image corresponding to the search image is identified. This is referred to as an image matching result calculation module 390.
  • the degree of mismatch is, for example, the following value. First, it can be calculated for each registered image z, (number of partial areas ⁇ number of effective areas) ⁇ number of partial areas Is a measure of the degree of inconsistency (degree of inconsistency 1).
  • inconsistency 2 can be considered. That is, after the inside of the search image partial area that is the basis for calculating the matched search image partial area feature amount is filled with white pixels, the black pixel connection area is again obtained in the search image, and a certain condition (size of a certain size, The number of connected regions having the number of pixels) is set as the mismatch degree.
  • inconsistency 3 is also conceivable. That is, it is possible to use a connection area of search images obtained as a result of the search image feature point extraction module 222 operating. For example, a common area (hereinafter referred to as both areas) of each connected area and a search image partial area for which a search image partial area feature amount that matches a certain registered image partial area feature quantity is constant. Count the number that is the above area or ratio (for example, (area of common area of both areas) ⁇ (area of sum area of both areas)) (this value is assumed to be S). S ⁇ (Number of search image connected areas) Is used as the degree of inconsistency.
  • a registered image to be output may be determined according to the procedure described in step SQ62 from among registered images that satisfy these conditions regarding the degree of inconsistency (for example, the degree of inconsistency takes a certain value or less).
  • a function having the degree of coincidence and the degree of inconsistency as variables, for example, a value of linear sum may be used.
  • the value of can be considered. If this is a new degree of coincidence, it is possible to determine a registered image to be output by the procedure of the conventional step SQ62.
  • ⁇ , ⁇ , and ⁇ are usually positive values and are preset values.
  • step SQ6 is replaced with step SQ8 with reference to FIG. 24 and FIG.
  • step SQ81 the image collation result calculation module 390 performs the same process as that in step SQ63, and thus the description thereof is omitted.
  • step SQ82 the image matching result calculation module 390 calculates one or more of the mismatches described above after the matching score calculation process, and uses the matching score and the mismatch score to search the search image as described above. A registered image to be output as a registered image corresponding to is determined.
  • step SQ83 the image collation result calculation module 390 performs processing for outputting information that can uniquely specify the registered image. Although it differs from step SQ63 only in that it can output the degree of mismatch or the value calculated from the degree of mismatch, the same processing as step SQ63 may be performed otherwise.
  • Embodiment 1 of the present invention the degree of coincidence increases when the black pixel area of the registered image is a part of the black pixel area of the search image. As a result, there may be a disadvantage that collation regarding the white pixel area of the registered image is not performed.
  • FIG. 26 shows an example in which partial areas of two registered images are projected on the search image with respect to the same search image.
  • the rectangle in the left image shows the registered image partial area
  • the rectangle of the image represents the search image partial area (note that it is not a connected area of black pixels calculated from the search image).
  • feature amounts are calculated from a registered image partial region and a search image partial region that is a region obtained by projecting the registered image partial region on the search image, and these are collated. The degree of coincidence is calculated. According to this, both the registered image 1 and the registered image 2 in FIG. 26 should have a matching degree of 1.
  • the registered image 1 is originally an image different from the search image, this is not a desirable result. Absent. By adding a measure such as a mismatch degree 2 or a mismatch degree 3, such inconvenience can be reduced. Moreover, when a partial match between the registered image and the search image is not allowed due to an application requirement, the request can be realized with higher accuracy by adding a scale such as a mismatch degree of 1. There is expected.
  • each of the first to fifth embodiments described above can be used for general image verification or document image collation.
  • collation is performed using information obtained from connected regions, an image that is difficult to collate with the method according to Patent Document 1 in which collation is performed using information obtained from a word centroid, for example, about several lines
  • a character string image composed of the above character strings for example, an address character string image (including recipient information) described in a postal matter.
  • a procedure for integrating a feature point and obtaining a new feature point (integrated feature point) as disclosed in Patent Document 2 is described. Not done. However, it should be noted that such procedures can be easily incorporated.
  • each of the above-described embodiments are merely examples, and any one or more of the configuration and operation procedures can be rearranged without departing from the principle of the present invention.
  • the loop related to the registered image in step SR21 and the loop related to the registered image in step SR22 can be easily integrated into one.
  • the present invention is constructed as hardware has been described.
  • the present invention is not limited to this.
  • the embodiment of the present invention may be constructed as software.
  • the program according to the embodiment of the present invention is constructed as a configuration for causing a computer to execute the functions of the modules shown in FIGS. 1 and 23.
  • the computer program supplied to the device may be stored in a readable / writable memory or a storage device (storage medium) such as a hard disk device.
  • a storage device such as a hard disk device.
  • the present invention is constituted by the code of the computer program or a storage medium.
  • the program according to the embodiment of the present invention may be constructed as a program that controls the overall configuration of FIGS. 1 and 23 in an integrated manner. Furthermore, the program according to the embodiment of the present invention may be constructed as a program for controlling a configuration in which individual modules in FIG. 1 and FIG.
  • the present invention is applicable to the computer industry and other similar information processing industries. More specifically, the present invention can be applied to a general image or document, particularly a search or identification of an image of a character string such as an address described in a postal matter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

【課題】連結領域の重心を特徴点として、それらの配置を利用した画像照合方法において、高精度の照合を実行する。 【解決手段】先ず、最初に一方の画像から他方の画像へ変換するのに必要な幾何変換パラメータを求める。次に、前記求めた幾何変換パラメータを利用することにより、一方の画像上の部分領域を他方の画像上へ投影して得られる投影部分領域を求め、その投影部分領域において他方の画像から特徴量を計算し、一方の画像から計算された特徴量との照合を行う。

Description

画像照合装置、画像照合方法および画像照合用プログラム
 本発明は画像照合装置、画像照合方法および画像照合用プログラムに関し、特にあらかじめ登録された画像の中から照合(検索)用に入力された画像に対応する画像を照合(検索)するための画像照合装置、画像照合方法および画像照合用プログラムに関する。
 汎用の画像照合方法、装置の一例が、特許文献1、特許文献2に記載されている。特許文献1、特許文献2は、共に画像中の複数の特徴点を特徴付ける値、具体的には幾何変換に関する不変量を計算して、その値を利用して画像の照合(検索)を行っている。
 例えば、特許文献1に記載の文書・画像登録装置および検索装置によれば、前記検索装置は、登録装置と、前記登録装置により登録された文書画像を格納し、撮影画像を読み取る読取部と、読み取った撮影画像から画像の配置を表す複数の特徴点を抽出する撮像画像特徴点抽出部と、前記抽出した各特徴点について対象とする特徴点pに最も距離の近いn個の特徴点を選択する撮像画像特徴点選択部と、投票処理部と、各特徴点について投票された投票結果に基づいて撮影画像に対応する文書画像IDを特定する文書ID特定部とから構成されている。
 前記登録装置は、文書画像を入力する入力部と、前記入力された文書画像から画像の配置を示す複数の特徴点を抽出する入力画像特徴点抽出部と、前記抽出した各特徴点について対象とする特徴点pに最も距離の近いn個の特徴点を選択する入力画像特徴点選択部と、前記選択されたn個の特徴点からm個(ただしm<n)をさらに選択する全ての組み合わせについて、(a)対象とするm個の特徴点からd個(dはあらかじめ定めたm以下の値)を選択する全ての組み合わせについてd個の点に係る特徴量を求める処理、(b)前記求められた特徴量からあらかじめ定められた計算によりハッシュのインデックスを求める処理、(c)前記求められたハッシュのインデックスを用いて(a)で求めた特徴量と特徴点pにかかるIDである点IDと特徴点pが抽出された文書画像の文書IDとを対応付けてハッシュに登録する処理を行う入力画像特徴点登録部とを備えている。
 前記投票処理部は、前記選択されたn個の特徴点からm個(ただしm<n)をさらに選択する全ての組み合わせについて、(d)m個の特徴点からd個(dは予め定めたm以下の値)を選択する全ての組み合わせについてd個の点に係る特徴量を求める処理と、(e)前記求めた特徴量から予め定められた計算によりハッシュのインデックスを求める処理と、(f)前記求められたハッシュのインデックスを用いて予め入力された文書画像に係るハッシュに登録された各特徴点を得る処理と、(d)で求めた特徴量と比較して特徴量が一致する文書IDに投票する処理を行うものである。
 このような構成を有する汎用の画像照合装置は次のように動作する。前記登録装置の入力画像特徴点抽出部が入力された画像から特徴点を抽出し、前記入力画像特徴点選択部は抽出された各特徴点についてn個の特徴点を選択し、前記入力画像特徴点登録部は上述の(a)~(c)の処理を行う。
 次に、前記撮影画像特徴点抽出部が撮影画像から特徴点を抽出し、前記撮影画像特徴点選択部が各特徴点についてn個の特徴点を選択し、前記投票処理部が(d)~(f)の処理を行った後に(d)で求めた特徴量と比較して特徴量が一致する文書IDに投票する処理を行い、各特徴点について投票された投票結果に基づいて撮影画像に対応する文書画像の文書IDを特定する。
 また、画像照合装置の別の技術として、特許文献3がある。特許文献3によれば、画像照合装置は、認識対象が含まれる入力画像と、あらかじめ登録済みの対象を含むモデル画像群を比較照合することにより、入力画像中に存在する認識対象を同定する画像照合装置であって、入力画像を入力する画像入力部と、モデル画像を登録し格納するモデル画像格納部と、前記入力画像および前記モデル画像から特徴的な局所領域を切り出す局所領域切り出し部と、選択した局所領域の画像情報を特徴空間上の点集合に投影し、一方の画像の局所領域ごとに、前記特徴空間内において最も近傍の位置に投影されている他方の画像の局所領域を探索して局所領域同士を対応付ける局所領域対応付け部と、前記対応付けられた一方の画像の局所領域と他方の画像の局所領域の配置関係に基づいて入力画像とモデル画像間の幾何変換パラメータを推定する幾何変換パラメータ計算部を備えた幾何変換パラメータ推定部と、前記推定した幾何変換パラメータを用いて前記一方の画像の局所領域の画像情報か画像全体の画像情報か画像内の局所領域の位置情報のいずれかに対して幾何変換を施す画像幾何変換部と、前記幾何変換した局所領域を用いて局所領域相互間の整合性を評価して照合するが画像照合部を備えている。
 特許文献3に開示されている画像照合装置は次のように動作する。画像中から顔領域の画像を切り出す。各画素値に基づいてエッジ強度を基に対象が含まれる窓(コーナー)を検出するなどにより特徴点を見つけ出し、その周辺の局所領域(窓)画像を切り出し、KL展開、ウェーブレット変換、フーリエ変換、DCT変換等により次元圧縮変換を行い、モデル窓データと入力窓データとを特徴空間内で比較照合し、特徴空間内で最も近い窓データ同士を対応付ける。前記対応窓群の中から複数の組み合わせを選び出し、画像内での位置情報を基に両画像間の幾何的差異をあらわす幾何変換パラメータを推定する。前記求めた幾何変換パラメータにより入力画像の補正処理を行い、対応窓の相対位置投票処理を経て、画像照合の類似度を計算する。
 これらの例は、いずれも、画像中から得られる局所的な情報を利用して、画像の照合を行う点で共通している。
WO/2006/092957公報 WO/2008/066152公報 特開2001-92963公報
 特許文献1及び特許文献2に開示される技術の問題点は、特徴点の配置が類似しているが、その特徴点が抽出された元の局所領域画像としては類似していない場合に高精度な認識ができない点である。それは、特徴点以外の情報を特徴量として用いていないためである。
 特許文献3に開示される技術の問題点は、射影変換やアフィン変換の場合に高精度な認識ができないことである。それは、モデル窓データと入力窓データとから計算されるKL変換などの次元圧縮画像変換は、各画像に固有の座標系により独立に計算されるため、同一の対象に関する2枚の局所領域画像間で座標系の基底が変動するような変形が起こる場合には、前記次元圧縮変換処理を行う過程で計算される本来対応すべき次元圧縮変換の結果が異なることとなり、結果として最も近い窓同士を対応付けるプロセスがうまくいかないと考えられるためである。
 本発明の目的は、同一の対象に関する2枚の画像の間にアフィン変換などの幾何変換が起こっていても精度良く照合できる画像照合装置を提供することにある。
 前記目的を達成するため、本発明に係る画像照合装置は、第1の画像と第2の画像とを照合する画像照合装置であって、
 第2の画像から画像中の部分的な領域を1つ以上計算する部分領域計算モジュールと、
 前記部分領域に関する特徴量を計算する部分領域特徴量計算モジュールと、
 第1の画像と第2の画像のそれぞれから画像の特徴点を計算する特徴点抽出モジュールと、
 前記各画像の特徴点から特徴点の配置を計算する特徴点配置計算モジュールと、
 前記各画像の特徴点の配置から幾何変換不変量である特徴量あるいは幾何変換不変量を要素とする特徴ベクトルを計算する不変量計算モジュールと、
 第1の画像から計算された前記特徴量あるいは前記特徴ベクトルと第2の画像から計算された前記特徴量あるいは前記特徴ベクトルとが一致するかどうかを判定する不変量一致判定モジュールと、
 第1の画像と第2の画像との間の幾何変換パラメータを推定するパラメータ推定モジュールと、
 前記幾何変換パラメータを利用して、前記第2の画像の部分領域に相当する第1の画像上の部分領域を計算する投影部分領域決定モジュールと、
 前記投影部分領域決定モジュールで求められた、前記第2の画像の部分領域に相当する第1の画像上の部分領域に関する特徴量を計算する投影画像部分領域特徴量計算モジュールと、
 前記投影画像部分領域特徴量計算モジュールで計算された特徴量と、前記部分領域特徴量計算モジュールで計算された特徴量とが一致するかを判定する部分領域照合モジュールとを含むことを特徴とする。
 また、本発明はハードウェアとしての画像照合装置として構築したが、これに限られるものではなく画像照合方法及び画像照合プログラムとして構築してもよいものである。
 本発明によれば、同一の対象に関する2枚の画像の間にアフィン変換などの幾何変換で記述できる変動が起こっていても精度良く照合できることにある。その理由は、幾何変換不変量により特徴点の配置を特徴付ける特徴量を用いて特徴量を計算し、一致した特徴点配置のみを用いて幾何変換パラメータを高精度に求め、そのパラメータを利用して一方の画像を他方に投影することにより照合しているためである。特徴点配置が一致する場合に、特徴点配置が計算された元の特徴点配置間の変動は、不変量の種類に応じて定まるある種の幾何変換変動の範囲内であると考えられるため、それらのみから幾何変換変動に変換パラメータを計算することにより、特徴点配置もしくは少なくともその近傍付近の変動を精度良く記述できると考えられるからである。
本発明の実施形態1の構成を示すブロック図である。 実施形態1の動作のうち登録処理の動作を示すフローチャートである。 実施形態1の動作におけるステップSR1の動作を示すフローチャートである。 実施形態1の動作におけるステップSR101の動作のフローチャートである。 実施形態1の動作におけるステップSR102の動作のフローチャートである。 実施形態1の動作におけるステップSR103の動作のフローチャートである。 実施形態1の動作におけるステップSR2の動作のフローチャートである。 実施形態1の動作におけるステップSR21の動作のフローチャートである。 実施形態1の動作におけるステップSR22の動作のフローチャートである。 実施形態1の動作における検索処理の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ1の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ12の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ2の動作を示すフローチャートである。 実施形態1の形態の動作におけるステップSQ22の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ2207の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ3の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ4の動作を示すフローチャートである。 実施形態1の動作におけるステップSQ6の動作を示すフローチャートである。 実施形態1の効果を説明するために、背景技術において、特徴点の出現の仕方が異なる例を示した図である。 実施形態1の効果を説明するために、実施形態1により、登録画像中の部分領域が検索画像に投影されていることを示した図である。 実施形態2の動作における検索処理の動作を示すフローチャートである。 実施形態2の動作におけるステップSQ7の動作を示すフローチャートである。 実施形態3の構成を示すブロック図である。 実施形態3の動作における検索処理の動作を示すフローチャートである。 実施形態3の動作におけるステップSQ8の動作を示すフローチャートである。 実施形態3の効果を説明するために、同一の検索画像に対して、2つの登録画像の部分領域を検索画像上に投影した例を示した図である。 本発明の実施形態1に係る画像照合装置をパーソナルコンピュータにて構築した例を示すブロック図である。 実施形態2の第1の変形例の動作におけるステップSQA3の動作を示すフローチャートである。 実施形態2の第1の変形例の動作におけるステップSQA4の動作を示すフローチャートである。 実施形態2の第2の変形例の構成を示すブロック図である。 実施形態2の第2の変形例におけるステップSQB2の動作を示すフローチャートである。 実施形態2の第2の変形例におけるステップSQB22の動作を示すフローチャートである。 実施形態2の第2の変形例におけるステップSQB3の動作を示すフローチャートである。 実施形態2の第2の変形例におけるステップSQB315の動作を示すフローチャートである。 実施形態2の第2の変形例におけるステップSQB4の動作を示すフローチャートである。 実施形態2の第2の変形例におけるステップSQB415の動作を示すフローチャートである。
 以下、本発明の実施形態を図に基づいて詳細に説明する。
(実施形態1)
 図1に示す本発明の実施形態1に係る画像照合装置は、投影用パラメータ推定モジュール250と、部分領域投影モジュール262と、投影画像照合モジュール264とを有している。
 以下では、幾何変換の一例として、2次元アフィン変換(以下、断りの無い限り、アフィン変換とは2次元アフィン変換のことを指すものとする)を想定する。それは、第1の画像と第2の画像の変形が、アフィン変換によって、正確にあるいは近似的に記述できるとの仮定に基づいているためである。
 また、「幾何変換不変量」の例としては、アフィン不変量、射影変換の不変量、相似変換の不変量などがある。また、「幾何変換パラメータ」の例としては、アフィンパラメータなどがあげられる。3次元空間中のある平面における座標と別の平面における座標とを対応付けるパラメータも幾何変換パラメータの一種である。
 以下では、「幾何変換不変量」の例としてアフィン不変量を、「幾何変換パラメータ」の例としてアフィンパラメータを用いるものとして、説明する。
 (画像照合装置のハードウェア構成)
 先ず、本実施形態の画像照合装置の具体的構成について、前提となるハードウェア構成から説明し、続いて各モジュールの詳細構成について説明することとする。図27は、本発明の実施形態1による画像照合装置をパーソナルコンピュータで構成した場合の一例を示すブロック図である。
 図27を参照すると、実施形態1における画像照合装置1は、制御手段としての制御モジュールの一部又は一例であるCPU2と、記憶媒体3と、記憶媒体4と、入力モジュール5と、出力モジュール6とから構成されている。
 CPU2は、各種ソフトウェアプログラム(コンピュータ・プログラム)を実行することにより、画像照合装置1の全体的な動作を司り、図1に示す各種のモジュールの機能を実行させる。これは、以下で述べる各実施形態(図30、図23)でも同様である。
 記憶媒体3(コンピュータに読み取り可能な媒体)は、各種ソフトウェアプログラムとその実行に必要なデータを格納するための記憶媒体である。記憶媒体4は、記憶媒体3を補完するための記憶媒体である。好適な例としては、記憶媒体3は高速に動作するメモリ、例えばRAMである。記憶媒体4は、ある程度大きい容量を持つ記憶媒体、例えば、ハードディスクである。ただし、記憶媒体3、記憶媒体4とも、これらの例に限られない。
 また、記憶媒体3が持つ機能と記憶媒体4が持つ機能を併せ持つ新たな記憶媒体ないしは記憶手段としての記憶モジュール(図示しない)を用いても良い。以下の実施の形態では、記憶媒体3、記憶媒体4を特に区別しない、すなわち、双方の機能を併せ持つ記憶媒体を用いるものとして説明する。
 入力モジュール5は、ビデオカメラやデジタルカメラ、スキャナ、CCD等の画像情報取得手段としての画像情報取得モジュールから入力される画像情報入力インターフェイス機能や、キーボードやマウス、各種ボタン、タッチパネル等の操作入力手段としての操作入力モジュールから入力される操作入力インターフェイス機能などを備えてよい。又、入力モジュール5は、前述の画像情報取得モジュール、操作入力モジュールを含んでもよいし、含まなくても(インターフェイス機能のみ)よい。更に、入力モジュール5は、検索画像(第1の画像)を入力するための第1の画像入力モジュール、登録画像(第2の画像)を入力するための第2の画像入力モジュールなどを備えてよい。
 入力モジュール5に入力されるものは、2次元の静止画像であってもよいし、3次元の空間データであってもよいし、動画であってもよいし、速度場や磁場などの様々な空間的時間的広がりを持つ物理量や、特定関数による畳み込みなど各種演算により得られた画像特徴量やその時間変化を高次元で表したものであってもよい。
 又、記憶媒体3、4は、入力モジュール5から入力された画像(検索画像、登録画像)を記憶する画像記憶領域(検索画像情報格納部や登録画像情報格納部を含む画像情報格納部)や一時記憶領域(VRAMなど)を備えてよい。更に、記憶媒体3、4は、画像照合結果情報を記憶する画像照合結果記憶領域を備えてよい。更に、記憶媒体3、4は、制御モジュールや通信モジュールなどのワーク領域を備えてよい。
 出力モジュール6は、コンピュータディスプレイやテレビモニタ(表示手段としての表示モジュール)、プロジェクタ、プリンタ(画像形成手段としての画像形成モジュール)等の画像情報を出力する画像情報出力手段としての画像情報出力モジュールへ各種の情報を出力する情報出力インターフェイス機能を備えてよい。又、出力モジュール6は、前述の画像情報出力モジュールを含んでもよいし、含まなくても(インターフェイス機能のみ)よい。更に、画像情報出力モジュールは、前記画像記憶領域に保存された画像をユーザの指示に従って表示させる表示制御モジュールを含んでよい。
 又、画像照合装置1は、ユーザが利用可能な情報処理装置(コンピュータ)に備えてよく、プログラム制御により動作するものであり、ネットワーク関連の通信機能を有してよい。更に、画像照合装置1は、通信インターフェイス機能を有する場合、前述の入力モジュール5、出力モジュール6のない構成であってもよい。
 本実施形態において、CPU2は、通信インターフェイス、入力インターフェイスなどからの画像照合開始要求に基づいて、記憶媒体3、4を適宜参照しながら、図2に示される各種モジュール等のソフトウェアプログラムを実行し、各処理(登録処理、照合処理など)を行う。画像照合開始要求は、入力された操作入力データないしは操作入力信号であってもよいし、各種の装置など制御する制御データないしは制御信号であってもよい。
 この各種モジュールのプログラムは、一体構成、別体構成は問わない。このため、登録処理用プログラムと照合処理(検索処理)用プログラムとにより構成してもよいし、画像照合制御プログラムとして一体的に構成してもよい。このように、記憶媒体には、本実施形態の各手段(各モジュ-ル)としてコンピュータを機能させるためのプログラム(各モジュールの処理をコンピュータに実行させるためのプログラム)が記憶される。
 図1に示す本発明の実施形態に係る画像照合装置はハードウェアとして構築した構成を示すものであり、本発明の実施形態に係る画像照合装置は、検索質問を行う第1の画像と(検索される対象である)他の第2の画像とを照合する画像照合装置であって、第2の画像から画像中の部分的な領域を1つ以上計算する部分領域計算モジュール272と、前記部分領域に関する特徴量を計算する部分領域特徴量計算モジュール274と、第1の画像と第2の画像からそれぞれ特徴点を計算し、前記特徴点の配置を求め、幾何変換不変量を利用してこれらの特徴点配置を特徴付ける特徴量あるいは特徴ベクトルを計算し、第1の画像から計算された特徴ベクトルと第2の画像から計算された特徴量あるいは特徴ベクトルとが一致しているかを判定し、一致と判定された特徴量対あるいは特徴ベクトル対に対して少なくとも当該特徴点配置に属する特徴点付近の幾何変換パラメータを求めるパラメータ推定モジュール236と、前記幾何変換パラメータを利用して、前記第2の画像の部分領域に相当する第1の画像上の部分領域を計算する投影部分領域決定モジュール278と、前記投影部分領域決定モジュール278により求められた、前記第2の画像の部分領域に相当する第1の画像上の部分領域、に関する特徴量を計算する投影画像部分領域特徴量計算モジュール280と、前記投影画像部分領域特徴量計算モジュール280で計算された特徴量と、前記部分領域特徴量計算モジュール274で計算された特徴量とが一致するかを判定する部分領域照合モジュール282とを含んでいる。
 このような構成によれば、第2の画像から1つ以上の部分領域を求め、第2の画像から求められた1つ以上の部分領域から部分領域に関連する特徴量を計算および格納し、第1の画像と第2の画像の双方から特徴点を計算し、双方の画像について特徴点の配置を1つ以上求め、特徴点の配置から幾何変換不変量を利用して特徴量あるいは特徴ベクトルを計算し、第1の画像から計算された特徴量あるいは特徴ベクトルと第2の画像から計算された特徴量あるいは特徴ベクトルとが一致しているかを判定し、一致していると判定された特徴量対あるいは特徴ベクトル対を計算する基となった特徴点配置対から第1の画像と第2の画像の間の幾何変換パラメータを求め、第2の画像から計算されている1つ以上の部分領域が第1の画像でどの部分領域に相当するかを幾何変換パラメータを用いて計算し、計算された第1の画像上の部分領域における特徴量を計算し、第2の画像から計算された部分領域から計算された特徴量と第2の画像から計算された部分領域に対応する第1上の画像の部分領域から計算された特徴量が一致しているかを判定し、この判定結果を利用して一致度を求め、その一致度を利用して最終的な画像照合結果を求めるように動作する。
 更に、本発明の実施形態を具体例を用いて詳細に説明する。前記投影用パラメータ推定モジュール250は、検索画像と登録画像との間の幾何変換に関するパラメータを推定する。なお、実施形態では、幾何変換としてアフィン変換を用いているため、前記投影用パラメータ推定モジュール250を図面上で投影用アフィンパラメータ推定モジュール250として表記する。前記幾何変換に関するパラメータをアフィンパラメータとして表記する。前記アフィンパラメータとは、例えば、検索画像中の点(xq,yq)と、登録画像中の点(xr,yr)との間に、次の式で表される関係があるとした場合の、a,b,c,d,e,fの値である。
Figure JPOXMLDOC01-appb-M000001
 前記投影用パラメータ推定モジュール250を具体的に説明すると、前記投影用パラメータ推定モジュール250は、登録画像特徴点抽出モジュール212と、登録画像特徴点配置計算モジュール214と、登録画像不変量計算モジュール216と、登録画像特徴点配置格納モジュール218aと、登録画像不変量格納モジュール218bと、検索画像特徴点抽出モジュール222と、検索が凹特徴点配置計算モジュール226と、不変量一致判定モジュール232と、個別パラメータ推定モジュール234と、個別パラメータ検証モジュール246と、投影用パラメータ決定モジュール260とを有している。
 前記登録画像特徴点抽出モジュール212は、登録画像から1つ以上の特徴点を抽出する。前記登録画像特徴点抽出モジュール212が登録画像の特徴点を抽出する方法としては、例えば、画素値の分布をクラスタリングした結果、同一のクラスタに属す値を持つ画素の連結成分の重心を特徴点として抽出してもよい。また、特許文献2に開示されているように、複数の連結領域の和領域の重心を特徴点として抽出する方法を用いてもよい。また、コーナー検出、画素値分布における特徴的な点などを特徴点として抽出する既知の特徴点抽出法を用いてもよい。
 以下の説明では、前記登録画像特徴点抽出モジュール212が登録画像の特徴点を抽出する方法として、画像を二値化した後の背景でない領域の連結領域の重心のみを特徴点として抽出する方法を用いた場合について説明する。以下の説明で用いる特徴点の抽出方法では、特に、部分領域として画像を二値化した後の背景でない連結領域を用いる場合に、好適である。それは、どちらも連結領域を利用した情報であるため、部分領域計算モジュールにより既に求められている連結領域の情報を再利用することができるからである。同様のことは、二値化後の連結領域の場合だけでなく、画素値の分布をクラスタリングした結果、同一のクラスタに属す値を持つ画素の連結領域についても成立する。
 前記登録画像特徴点配置計算モジュール214は、登録画像から1つ以上の特徴点配置を計算する。以下の説明では、前記登録画像特徴点配置モジュール214が計算する特徴点配置は、順序つきの特徴点の座標列である。
 前記登録画像不変量計算モジュール216は、登録画像から求められた1つ以上の特徴点配置のそれぞれについて、幾何変換不変量(例えば、アフィン不変量、射影変換の不変量、相似変換の不変量など。以下では、アフィン不変量を例として説明する。)である特徴量、あるいは幾何変換不変量を要素とする特徴ベクトル(登録画像特徴ベクトル)を計算する。
 前記登録画像特徴点配置格納モジュール218aは、前記登録画像特徴点配置計算モジュール214で計算された特徴点配置情報を格納する。以下の説明では、前記登録画像特徴点配置格納モジュール218aは、順序つきの特徴点の座標列を格納するものとする。さらに、前記登録画像特徴点配置格納モジュール218aは、前記特徴点配置を格納する際、前記特徴点配置と、これを一意に指定するインデックスとを対応させて格納する。
 前記登録画像不変量格納モジュール218bは、前記登録画像不変量計算モジュール216で計算された特徴量または特徴ベクトルを格納する。以下の説明では、前記登録画像不変量格納モジュール218bは、前記登録画像不変量計算モジュール216で計算された特徴ベクトルを格納するものとする。さらに、前記登録画像不変量格納モジュール218bは、前記特徴ベクトルを格納する際、前記特徴ベクトルと、これを一意に指定するインデックスとを対応させて格納する。
 前記検索画像特徴点抽出モジュール222は、検索画像から1つ以上の特徴点を計算する。通常、前記検索画像特徴点抽出モジュール222が画像から特徴点を抽出する方法は前記登録画像特徴点抽出モジュール212による特徴点の抽出方法と同一のものを用いるが、画像の前処理等を、画像を撮像する条件の違いに応じて変更した上で画像から特徴点を抽出するように変更してもよい。以下では、前記検索画像特徴点抽出モジュール222が、前記登録画像特徴点抽出モジュール212による特徴点の抽出方法と同一のものを用いて検索画像から特徴点を抽出する場合を説明する。
 前記検索画像特徴点配置計算モジュール224は、検索画像から1つ以上の特徴点配置を計算する。以下の説明では、前記検索画像特徴点配置モジュール224が計算する特徴点配置は、順序つきの特徴点の座標列である。
 前記検索画像不変量計算モジュール226は、検索画像から求められた1つ以上の特徴点配置のそれぞれについて、幾何変換不変量(例えば、アフィン不変量)である特徴量、あるいは幾何変換不変量を要素とする特徴ベクトル(検索画像特徴ベクトル)を計算する。通常、前記検索画像不変量計算モジュール226は、前記登録画像特徴点配置計算モジュール214が幾何変換不変量を計算する方法と同一の方法を用いるが、特許文献1に開示されているように、1つの特徴点配置から、巡回置き換えなどを考慮することにより、複数の特徴ベクトルを計算する方法を用いてもよい。以下では、前記検索画像不変量計算モジュール226は、前記登録画像特徴点配置計算モジュール214による幾何変換不変量の計算と同一のものを用いる場合について説明する。
 前記不変量一致判定モジュール232は、登録画像から計算された特徴ベクトルと、検索画像から計算された特徴ベクトルとが一致するかどうかを判定する。前記不変量一致判定モジュール232が特徴ベクトルの一致を判定する方法は、既存の方法、例えば、市街地距離、ユークリッド距離、ベクトルの内積、2つのベクトルがなす角度などの既知の方法で類似度を計算し、その計算された類似度を予め定められた一定の範囲内にある場合に一致すると判定する方法を用いる。
 前記個別パラメータ推定モジュール234は、不変量一致判定モジュール232によって一致したと判定された特徴ベクトル対について、前記特徴ベクトル対を生成した基の特徴点配置対の間のパラメータを求める。前記個別パラメータ推定モジュール234が求めた前記パラメータを個別アフィンパラメータと呼ぶ。なお、以下の説明では、幾何変換としてアフィン変換を用いるため、前記個別パラメータ推定モジュール234を図面上で個別アフィンパラメータ推定モジュール234として表記する。また、前記個別パラメータを個別アフィンパラメータとして表記する。
 幾何変換としてアフィン変換を用いた場合、前記個別アフィンパラメータ推定モジュール234が個別アフィンパラメータを求める方法の一例を説明する。すなわち、登録画像側の特徴ベクトルを生成する基となった特徴点配置に属す特徴点を(xk,yk)(k=1,…,m、mは特徴点配置に属す特徴点の個数である。)、検索画像側の特徴ベクトルを生成する基となった特徴点配置に属す特徴点を(xdk,ydk)(k=1,…,m)として、前記[数1]に従うと、
Figure JPOXMLDOC01-appb-M000002
なる関係があると考えられる。これを変形すると、下記の式が得られる。すなわち、α、X、βを、
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
とすると、α=Xβiとなる。これから、βを最小二乗法により推定すると、その推定値βih、
Figure JPOXMLDOC01-appb-M000006
は、
Figure JPOXMLDOC01-appb-M000007
のように求められる。これにより、前記個別アフィンパラメータ推定モジュール234は前記式を使って個別アフィンパラメータを求め、その求めた推定値aih、bih、cih、dih、eif、fihを、それぞれアフィンパラメータai、bi、ci、di、ei、fiの値であるとして求める。
 前記個別パラメータ検証モジュール236は、前記個別パラメータ推定モジュール234で計算された個別パラメータが設定条件を満たすか否かを検証する。なお、以下の説明では、幾何変換としてアフィン変換を用いるため、前記個別パラメータ検証モジュール236を図面上で個別アフィンパラメータ検証モジュール236として表記する。したがって、前記個別アフィンパラメータ検証モジュール236は、前記個別アフィンパラメータモジュール234で計算された個別アフィンパラメータai、bi、ci、di、ei、fiの値、もしくは、これらの値から計算される値が設定条件を満たしているかどうかを検証する処理を行う。前記個別アフィンパラメータ検証モジュール236は、例えば個別アフィンパラメータai、bi、ci、di、ei、fiの値、もしくは、これらの値から計算される値のなかから少なくとも1つ以上の値について予め範囲を定めておき(これを設定条件という)、すべての値がこれらの範囲内にある場合のみ、設定条件が満足されたものとして検証し、設定条件を満たした場合の検証結果を前記パラメータ空間投票数格納モジュール246に出力する。
 前記パラメータ空間投票数格納モジュール246は、前記個別アフィンパラメータ検証モジュール36にて一致すると判定された特徴点配置対の個数を、おおよそ同様の値ごとに格納する投票数(特徴点配置の個数)格納領域を持ち、おおよそ同様の値をもつアフィンパラメータの組ごとに分類して格納する。具体的にどのように投票数が格納されるかは、後述する、前記パラメータ空間投票数格納モジュール246の動作を説明する際に詳述する。また、必ずしも必要ではないが、各投票数格納領域に対応付けてパラメータa、b、c、d、e、fに関する格納領域(パラメータ値格納領域)を設けておくと、計算上都合がよい。本実施形態においては、パラメータ値格納領域をも持つものとする。
 前記投影用アフィンパラメータ決定モジュール260は、前記パラメータ空間投票数格納モジュール246に格納された投票数から、代表的なアフィンパラメータa、b、c、d、e、fを求める。前記投影用アフィンパラメータ決定モジュール260は、例えば投票数が最大となる投票数格納領域に相当する特徴点配置対から求められたアフィンパラメータai、bi、ci、di、ei、fiを利用して、代表的なアフィンパラメータa、b、c、d、e、fを求めることができる。具体的には、後述する前記投影用アフィンパラメータ決定モジュール260の動作を説明する際に詳述する。
 前記部分領域投影モジュール262は、部分領域計算モジュール272と、部分領域特徴量計算モジュール274と、部分領域特徴量格納モジュール276と、投影部分領域決定モジュール278とを有している。
 前記部分領域計算モジュール272は、登録画像(被検索画像)から1つ以上の部分的な領域を計算する。前記部分領域計算モジュール272は、例えば登録画像の画素値の分布をクラスタリングして、同一のクラスタに属す値を持つ画素の連結領域、あるいはその外接矩形を前記部分的な領域として計算する。なお、前記連結領域或いは前記外接矩形には、画像を二値化した後の図領域(背景でない領域)の連結領域、あるいはその外接矩形も含めてよい。また、前記部分領域計算モジュール272が前記部分的な領域を計算する方法としては、特許文献2に開示されているように、複数の連結領域の和領域、あるいはその外接矩形を計算する方法を用いてもよい。以下では、前記部分領域計算モジュール272が、前記部分的な領域として、画像を二値化した後の背景でない連結領域の外接矩形を計算する場合を説明する。
 前記部分領域特徴量計算モジュール274は、前記部分領域計算モジュール272で計算された部分領域のそれぞれに対して、部分領域特徴量(以下、登録画像部分領域特徴量と呼ぶことがある。)を求める。なお、前記部分特徴量としては、前記部分領域の画像そのものを利用してもよいし、前記部分領域中に存在する背景ではない画素(通常、文字列画像においては背景でない領域は黒で表現されることが多いので、以下、これを黒画素と呼ぶ。)の存在比率、部分領域中の画素値の和の値を領域面積で割った値など、部分領域の特徴を記述できる特徴量ならばいずれのものであってもよい。また、前記部分領域中の輝度勾配など、文字認識に有効とされる特徴量を用いるのも好適である。もちろん、特徴量はスカラー値に限らず、ベクトル値であってもよい。以下の説明では、部分領域(外接矩形)内に存在する黒画素の存在比率を用いることとする。
 前記部分領域特徴量格納モジュール276は、前記部分領域特徴量計算モジュール274で計算された前記部分領域特徴量を格納する。以下では、前記部分領域特徴量格納モジュール276が、前記部分領域特徴量と共に、部分領域(外接矩形)の四隅座標を合わせて格納する場合について説明する。
 前記投影部分領域決定モジュール278は、前記投影用アフィンパラメータ推定モジュール250にて推定された登録画像と検索画像との間の変形の度合いを表すアフィンパラメータを用いて、登録画像上の部分領域が、検索画像上のどの部分領域に相当するかを検討する。具体体的には、前記投影部分領域決定モジュール278は、一般の登録画像部分領域に対しては、登録画像部分領域に属す任意の画素を前記[数1]を用いて検索画像上に投影することにより、検索画像上の部分領域を求める。また、前記投影部分領域決定モジュール278は、登録画像の部分領域として連結領域の外接矩形を採用している場合は、次のように領域を求める。すなわち、登録画像部分領域を表す外接矩形の四隅座標を(xr1,yr1)、(xr2,yr2)、(xr3,yr3)、(xr4,yr4)とすると、求める検索画像上の部分領域は四角形となる。前記投影部分領域決定モジュール278は、検索画像上の四角形の4つの頂点の座標を(xq1,yq1)、(xq2,yq2)、(xq3,yq3)、(xq4,yq4)として、(xqi,yqi)(i=1,2,3,4)を、(xri,yri)(i=1,2,3,4)と、a、b、c、d、e、fを用いて、次式[数8]に基づいて求める。
Figure JPOXMLDOC01-appb-M000008
 部分領域に属する任意の画素について投影する必要がないので、一般的(部分領域の画素数が5以上の場合)には、効率的に検索画像上の部分画像を求められる利点がある。
 なお、一般の登録画像部分領域に対しては、登録画像部分領域に属す任意の画素を前記数8を用いて検索画像上に投影することにより、検索画像上の部分領域を求めることができる。また、前記投影部分領域決定モジュール278は、領域を投影する領域を決定するものであって、その領域内に属する画素の値を前記数8で対応する画素の値として求める必要はないことを述べておく。
 また、推定精度の悪いパラメータ、一方の画像が他方の画像を包含しているような画像の場合など、検索画像上に投影した領域が、必ずしも検索画像上に存在するとは限らない。その場合は、投影を中止することとする。このため、すべての登録画像部分領域が、検索画像上に投影されるとは限らない。これに対処するため、投影が中止されなかった回数を計数し、一時的に格納することとする。
 前記部分領域投影モジュール262は、投影画像部分領域特徴量計算モジュール280と、部分領域照合モジュール282とを有している。
 前記投影画像部分領域特徴量計算モジュール280は、検索画像上に投影された部分領域について、特徴量を求める。前記特徴量とは、通常、部分領域特徴量計算モジュール274で計算した特徴量と同じ種類の特徴量である。そのためには、次のようにすればよい。すなわち、先ず、前記投影画像部分領域特徴量計算モジュール280は、登録画像上の座標(xr,yr)と検索画像(xq,yq)との対応が、[数1]を変形して得られる、
[数9]、すなわち、
Figure JPOXMLDOC01-appb-M000009
であることを利用して、検索画像上に投影された部分領域画像を、登録画像上に投影する。この場合の投影は、画像としての投影であり、検索画像上に投影された部分領域に属する検索画像の画素の値を上の式で対応する登録画像上の画素の値として求める必要がある。次に、前記投影画像部分領域特徴量計算モジュール280は、登録画像上に投影された画像から、特徴量(以下、検索画像部分領域特徴量と呼ぶことがある。)を計算する。
 また、前記投影画像部分領域特徴量計算モジュール280は、部分領域として連結領域の外接矩形、特徴量として部分領域(外接矩形)内に存在する黒画素の存在比率を用いる場合には、登録画像上に投影することなく、検索画像上で検索画像部分領域特徴量を求める。これは、この黒画素存在比率がアフィン不変であることによる。従って、そのほかのアフィン不変量を特徴量として用いた場合でも同様である。
 前記部分領域照合モジュール282は、登録画像部分領域特徴量を求めた登録画像部分領域に相当する検索画像部分領域の特徴量と、当該登録画像部分領域特徴量とを照合する。前記部分領域照合モジュール282が前記特徴量を照合する方法としては、例えば、特徴量がスカラー値の場合は、特徴量の差や比が予め定められた一定範囲内にある場合に、一致したとしてみなす方法を用いることが可能である。また、特徴量がベクトル値の場合は、市街地距離、ユークリッド距離(、あるいはその二乗)、ベクトルの内積、2つのベクトルのなす角などを計算し、それらが予め定められた一定範囲内にある場合に、一致したとする方法を用いてもよい。
 前記画像照合結果計算モジュール290は、少なくとも、各登録画像毎に部分領域照合モジュール282が一致と判定した回数(部分領域数)を利用して、最終的に検索画像に対応する登録画像を同定する。具体的には、後述する、画像照合結果計算モジュール290の動作を説明する際に詳述する。
 次に、本実施形態の全体の動作について詳細に説明する。本実施形態の全体の動作は、登録処理と検索処理とに分けられる。前記登録処理は、入力した登録画像から、登録画像部分領域特徴量、登録画像特徴点配置、登録画像特徴ベクトルをそれぞれ計算する処理である。これらの計算結果は格納される。前記検索処理は、入力した検索画像から、計算済みの登録画像部分領域特徴量、登録画像特徴点配置、登録画像特徴ベクトル等を参照して、前記検索画像に対応する登録画像を同定する処理である。
<登録処理>
 図2は、本実施形態の画像照合装置が実行する登録処理のフローチャートである。図2を参照すると、登録処理では、ステップSR1とステップSR2の処理が行われる。ステップSR1では、登録画像特徴点抽出モジュール212が登録画像から特徴点を抽出し、登録画像特徴点配置計算モジュール214が特徴点配置を計算し、登録画像不変量モジュール216が特徴ベクトルを計算する。ステップSR2では、部分領域投影モジュール262が登録画像から登録画像部分領域特徴量を計算する。
 本実施形態の全体の動作では、1つ以上の登録画像が与えられるものとし、すべての登録画像について、ステップSR1およびSR2からなる登録処理を行うこととする。以下の説明では、登録処理の対象となる登録画像を一意に示す記号zを用いることとし、登録画像zに対する登録処理を説明する。
 まず、ステップSR1の処理について、説明する。図3を参照すると、まず、登録画像特徴点抽出モジュール212が、登録画像zから特徴点を抽出する処理を行う(ステップSR101)。図4は、本実施形態における特徴点の抽出処理のフローチャートである。図4を参照すると、登録画像特徴点抽出モジュール212は、先ず、登録画像zを二値化し(ステップSR1011)、画像内の黒画素の連結領域をすべて求め(ステップSR1012)、それぞれの連結領域に関する重心を計算して特徴点として抽出する(ステップSR1013)。前記特徴点を抽出する際、特許文献2に記載されているように重心以外に、2つ以上の重心から計算される新たな点を特徴点とすることも可能であるが、説明を簡単にするため、以下の説明では考慮しないこととする。
 次に、登録画像特徴点配置計算モジュール214は、前記登録画像特徴点抽出モジュール212で計算された特徴点に基づいて、特徴点配置を計算する(図3のステップSR102)。登録画像特徴点配置計算モジュール214が特徴点配置を計算する方法としては、特許文献1もしくは特許文献2に開示されている方法を利用することができる。しかしながら、説明を簡単にするため、本実施形態では、特徴点配置の計算・格納処理のフローチャートである図5を参照しながら、次のように処理を行うものとすることを説明する。すなわち、前記登録画像特徴点配置計算モジュール214は、登録画像zから求められた特徴点のうち図4のステップSR102による処理がまだ行われていない特徴点rpidを一つの注目特徴点として設定し(図5のステップSR1021)、最も近傍にあるm個の点を選択し(図5のステップSR1022)、m個の点の中から最も特徴点rpidに近い特徴点rpidnを求めるとともに、m個の点をrpidを中心として特徴点rpidnを先頭として時計回りに並べるように整列し(図5のステップSR1023)、整列された順番の通りに特徴点の座標列を生成する(図5のステップSR1024)。そして、前記登録画像特徴点配置計算モジュール214は、生成した特徴点の座標列を登録画像特徴点配置格納モジュール218aに格納する(図5のステップSR1025)。前記特徴点の座標列を登録画像特徴点配置格納モジュール218aに格納する際、前記特徴点の座標列と、これを一意に識別できる識別子情報とを対応させて格納しておくと、後の処理のために都合がよい。最後に、前記登録画像特徴点配置計算モジュール214は、すべての特徴点を注目特徴点として処理したかが判定する(図5のステップSR1026)。前記登録画像特徴点配置計算モジュール214は、判定結果がYESならば、図4のステップSR102の処理を終了させ、判定結果がNOならば図5のステップSR1021の処理を行う。これにより、登録画像zのすべての特徴点について特徴点の座標列が前記登録画像特徴点配置計算モジュール214で求められるまで反復される。
 次に、登録画像不変量計算モジュール216は、前記前記登録画像特徴点配置計算モジュール214で計算された特徴点配置に基づいて特徴ベクトルを計算する。その特徴ベクトルの情報は登録画像不変量計算モジュール216によって登録画像特徴点配置格納モジュール218aに格納される(図3のステップSR103)。図6は、本実施形態におけるステップSR103の処理を示すフローチャートである。
 図6を参照すると、登録画像不変量計算モジュール216は、まず、ある一つの特徴点配置を注目する特徴点配置をして設定する(ステップSR1031)。次に、前記登録画像不変量計算モジュール216は、その特徴点配置に関して特徴ベクトルを計算する処理を行う(ステップSR1032)。前記登録画像不変量計算モジュール216が特徴ベクトルを計算する方法としては、例えば、特許文献2に開示されている処理を行えばよい。次に、前記登録画像不変量計算モジュール216は、計算された特徴ベクトルを、登録画像特徴ベクトル格納モジュール218bに格納する(ステップSR1033)。前記特徴点配置と前記特徴ベクトルとは1対1の関係にあることを利用して、特徴点配置を一意に識別する識別し情報を合わせて格納しておくと、後の処理のために都合がよい。最後に、前記登録画像不変量計算モジュール216は、すべての特徴点を注目特徴点配置として特徴ベクトルを計算する処理が終了したかを判定する(ステップSR1034)。前記登録画像不変量計算モジュール216は、判定がYESならば図3のステップSR103の処理を終了し、判定結果がNOならば図6のステップSR1031の処理を行う。これにより、登録画像zのすべての特徴点配置について特徴ベクトルが求められるまで反復される。
 次に、図2に示すステップSR2の処理、すなわち、部分領域投影モジュール262が登録画像から登録画像部分領域特徴量を計算する処理について説明する。図7は、図2に示すステップSR2の動作を示すフローチャートである。図7を参照すると、図2に示すステップSR2は、ステップSR21とステップSR22とから構成される。
 まず、ステップSR21では、登録画像から1つ以上の部分領域が計算される。以下、ステップSR21の動作を示すフローチャート図8を参照して、説明する。
 図8に示すステップSR211において、部分領域計算モジュール272は、部分領域の計算が行われていない登録画像zを一つ設定する。次に、ステップSR212において、前記部分領域計算モジュール272は、前記設定した登録画像zの部分領域について計算する。前記部分領域は任意の部分領域とすることができるが、本実施形態では、登録画像zから得られる黒画素の連結領域の外接矩形の1つ以上を前記部分領域とする。この場合は、図4のステップSR1012において、前記登録画像特徴点抽出モジュール212が画像内の黒画素の連結領域をすべて求めているため、その計算結果を再利用すれば、改めて連結領域の計算を行う必要がないという利点がある。
 次に、ステップSR213において、前記部分領域計算モジュール272は、すべての登録画像について、登録画像zの部分領域を計算する処理が行われたかを判定する。前記部分領域計算モジュール272は、判定結果がYESならステップSR21の処理を終了し、判定結果がNOならSR211の処理を行う。
 次に、図7のステップSR22において、部分領域特徴量格納モジュール276は、部分領域特徴量と部分領域(外接矩形)の四隅座標を合わせて格納する。以下、ステップSR22の動作を示すフローチャートである図9を参照して、説明する。
 図9のステップSR222において、前記部分領域特徴量計算モジュール274は、前記部分領域計算モジュール272で計算された部分領域のそれぞれに対して、部分領域特徴量(登録画像部分領域特徴量)を求める。
 また、図9のステップSR221では、前記部分領域特徴量格納モジュール276は、前記計算された部分領域と部分領域特徴量を格納する。
 次に、ステップSR223で、前記部分領域計算モジュール272及び前記部分領域特徴量計算モジュール274は、すべての登録画像について、部分領域と部分領域特徴量の計算が行われたかを判定する。前記部分領域計算モジュール272及び前記部分領域特徴量計算モジュール274は、判定結果がYESならステップSR22の処理を終了し、判定結果がNOならば、それぞれステップSR221及びステップSR222の処理を行う。
<検索処理>
 次に検索処理について説明する。図10は、本実施形態の画像照合装置が実行する検索処理のフローチャートである。図10を参照すると、検索処理には、ステップSQ1、ステップSQ2、ステップSQ3、ステップSQ4、ステップSQ5、ステップSQ6のそれぞれの処理が含まれる。ステップSQ1は、ステップSQ2、SQ3、SQ4を行う対象となる登録画像zを一つ設定する処理である。ステップSQ2では、検索画像とステップSQ1で設定された登録画像zとの間のアフィンパラメータを推定する処理を行う。ステップSQ3では、ステップSQ1で設定された登録画像に対して求められた登録画像部分領域を検索画像に投影する処理を行う。ステップSQ4では、検索画像上に投影された部分領域内の画像から特徴量を計算し、対応する登録画像部分領域特徴量との照合する処理を行う。ステップSQ5では、すべての登録画像に対してステップSQ2、ステップSQ3、ステップSQ4が行われたかどうかを判定し、YESならばステップSQ6の処理を行い、NOならばステップSQ1へ戻る処理を行う。ステップSQ6では、少なくともステップSQ4で得られた結果を利用して、最終的に与えられた検索画像に対応する登録画像を同定する処理を行う。以下、各ステップの処理を具体的に説明する。
 ステップSQ1の動作を示す図11を参照すると、具体的には、部分領域計算のジュール272は、検索画像との部分領域一致数計算が行われていない登録画像の一つを、注目する登録画像として設定する処理を行う(ステップSQ11)。ここで設定された登録画像を登録画像zとする。次に、パラメータ空間投票数格納モジュール246は、投票数格納領域に関する初期化処理(ステップSQ12)を行う。ステップSQ12の動作を、図12を参照して、説明する。
 前記パラメータ空間投票数格納モジュール246は、まず、あらかじめパラメータa、b、c、dが取り得る値の範囲と、登録画像上の点(xr,yr)、検索画像上の点(xq,yq)のとりうる値の範囲を定める(ステップSQ121)。前記a、b、c、dが取り得る値の範囲については、例えば、個別アフィンパラメータ検証モジュール236が検証する際に利用するa、b、c、dの値を利用することができる。例えば、aの取り得る値は、amin≦a≦amax、bの取り得る範囲をbmin≦b≦bmax、cの取り得る範囲をcmin≦c≦cmax、dの取り得る範囲をdmin≦d≦dmaxであるとする。
 また、前記パラメータ空間投票数格納モジュール246は、1≦x≦xmax、1≦y≦ymaxで定義される領域を持つ画像となるような、xmax、ymaxを取得する。これは、登録画像zのサイズ(幅もしくは高さ)を用いればよい。同様に、前記パラメータ空間投票数格納モジュール246は、(xq,yq)についても、検索画像のサイズ(幅もしくは高さ)から、1≦xq≦xqmax、1≦yq≦yqmaxで定義される領域を持つ画像となるようにxqmax、yqmaxを取得する。次に、前記パラメータ空間投票数格納モジュール246は、e、fの取り得る値の範囲を定める(ステップSQ122)。
 前記パラメータ空間投票数格納モジュール246が前記情報を取得する方法の一例としては、例えば、次のような方法がある。登録画像上の点(x,y)と検索画像上の点(xq,yq)(1≦xq≦xqmax、1≦yq≦yqmaxで定義される領域を持つ画像とする。)とは、[数1]からわかるように、
 xq=ax+by+e
 yq=cx+dy+f
なる関係がある。これは、
 e=xq-(ax+by)
 f=yq-(cx+dy)
と書き換えられる。
 従って、eの取り得る値の範囲をemin≦e≦emax、fmin≦f≦fmaxとすると、
 emin=min(xq-(ax+by))
 emax=max(xq-(ax+by))
 fmin=min(yq-(cx+dy))
 fmax=max(yq-(cx+dy))
となる。ここで、min(・)は、すべてのa、b、c、d、x、y、xq、yqがとりうるすべての値の組み合わせについて、カッコ内の数式を最小にする値を示している。同様に、max(・)は、すべてのa、b、c、d、x、y、xq、yqがとりうるすべての値の組み合わせについて、カッコ内の数式を最大にする値を示している。
 なお、a≒1、b≒0、c≒0、d≒1であるような場合には、a、dは正の値のみを、b、cは正の値も負の値もとりうると考えるのが自然である。言い換えれば、amin、amax、bmax、cmax、dmin、dmaxは正の値、bmin、cminは負の値をとることが自然である。
 emin=xqmax-(amax*xmax+bmax*ymax)
 emax=xqmin-(bmin*ymax)
 fmin=yqmin-(cmax*xmax+dmax*ymax)
 fmax=yqmax-(cmin*xmax)
と定めることができる。ここで*の記号は乗算を明示的に表す記号である。
 もちろん、あらかじめ得られている他の条件を考えて、e、fが取り得る値の範囲を別途定めてもよいし、あらかじめ定めておいたe、fの取り得る値の範囲を定めてもよいし、上記2つの範囲を組み合わせて最終的な取り得る値の範囲を定めてもよい。
 次に、パラメータごとに定められた取り得る値の範囲を分割する(ステップSQ123)。
 例えば、[amin,amax]の区間をNa個に分割してできた区間を、区間a1、a2、、、aNaとする。同様に、区間b1、、、bNb、区間c1、、、cNc、区間d1、、、dNd、区間e1、、、eNe、区間f1、、、fNfを求める。ここで、Na、Nb、Nc、Nd、Ne、Nfはあらかじめ定めておいた値を用いてもよいし、区間に要求される性質(区間の大きさに関する制約など)などから定めてもよい。以下では、Na、Nb、Nc、Nd、Ne、Nfの数はあらかじめ定められているものとする。この場合は、各パラメータに関して、分割された各区間がどのようなパラメータ値の範囲の区間なのかを計算し、図示しない格納領域に蓄えておく。なお、投票数格納領域、およびパラメータ値格納領域の数は、区間の組み合わせのすべてを格納するのに十分な量である必要がある。また、隣接する区間の組み合わせ、という言葉で、ある区間の組み合わせad、bd、cd、dd、ed、fdに対して、次のような性質を満たす区間の組み合わせのことを表すことがある。その性質とは、すなわち、区間の組み合わせ(区間の分割)az、bz、cz、dz、ez、fzが、
 ad-1≦az≦ad+1
 bd-1≦bz≦bb+1
 cd-1≦cz≦cd+1
 dd-1≦dz≦dd+1
 ed-1≦ez≦ed+1
 fd-1≦fz≦fd+1
を満たすような性質である。
 次に、前記パラメータ空間投票数格納モジュール246は、各区間の組み合わせに対応する投票数格納領域に格納されている投票数を0で初期化する(ステップSQ124)。
また、前記パラメータ空間投票数格納モジュール246は、投票数格納領域に対応するパラメータ格納領域についても初期化する(各パラメータを表す変数に0を代入する)。
 次に、ステップSQ2について、ステップSQ2の動作を示す図13を参照して、説明する。ステップSQ2は、ステップSQ21とステップSQ22とステップSQ3から構成される。ステップSQ21は、登録画像と同様に、検索画像から特徴点配置と特徴ベクトルを計算する処理である。ステップSQ22は、登録画像zに関する特徴点配置と特徴ベクトル、検索画像に関する特徴ベクトルから、投票数格納領域とパラメータ値格納領域に格納される投票数とパラメータ値を計算し、格納する処理である。ステップSQ23は、投票数格納領域とパラメータ値格納領域に格納される投票数とパラメータ値を利用して、登録画像zと検索画像との間のアフィンパラメータを決定する処理である。以下で、ステップSQ21、SQ22、SQ23の処理について説明する。
 ステップSQ21は、例えば、検索画像特徴点抽出モジュール222、検索画像特徴点配置計算モジュール224、検索画像不変量計算モジュール226が、ステップSR1と同様の処理を行うことにより実現可能である。従って、説明を省略する。結果として、検索画像に関する特徴点配置と特徴ベクトルとが、通常、1つずつ以上計算される。これらは、図示しない格納領域に一時的に格納しておけばよい。(もちろん、必ずしも登録画像と同一の方法で検索画像に関する特徴点配置と特徴ベクトルとを計算する必要は無い。例えば、特許文献1および特許文献2に示されているように、ある一つの特徴点配置についての1つ以上の巡回置き換えに対応する、新たな特徴点配置と特徴ベクトルとを計算してもよい。)
 次に、ステップSQ22の動作を、ステップSQ22の動作を示すプローチャート図14を参照して、説明する。
 まず、不変量一致判定モジュール232は、まだSQ22の処理が行われていない登録画像特徴ベクトルを一つ設定する(ステップSQ2201)。次に、不変量一致判定モジュール232は、まだSQ22の処理が行われていない検索画像特徴ベクトルを一つ設定する(ステップSQ2202)。次に、不変量一致計算モジュール232は、注目する登録画像特徴ベクトルと注目する検索画像特徴ベクトルとの間の類似度を計算する(ステップSQ2203)。以下の説明では、類似度は、2つのベクトル間のユークリッド距離の2乗の値であるとする(ただし、これに限られない)。
 次に、不変量一致計算モジュール232は、ステップSQ2203で計算した類似度を基に、両ベクトルが一致しているかを、類似度が予め定められた範囲であるかどうかによって、判定する(ステップSQ2204)。不変量一致計算モジュール232は、例えば、2つのベクトル間のユークリッド距離の2乗の値が類似度の場合は、2つのベクトル間のユークリッド距離の2乗の値の値が予め設定した(通常、比較的小さな)正の値よりも小さい(、あるいは以下)の場合に両ベクトルが一致したとみなすようにすることができる。一致した場合にはステップSQ2205の処理が行われ、そうでない場合にはステップSQ2209の処理が行われる。
 次に、個別アフィンパラメータ推定モジュール234が、個別アフィンパラメータを推定する(ステップSQ2205)。本実施の形態における推定方法は、個別アフィンパラメータ推定モジュール234に関する機能の説明の中で、すでに述べたとおりである。
 次に、個別アフィンパラメータ検証モジュール236が、個別アフィンパラメータを検証する(ステップSQ2206)。本実施形態における推定方法は、個別アフィンパラメータ推定モジュール234に関する機能の説明の中で、すでに述べたとおりである。例えば、パラメータai、bi、ci、diが、予め定められたamin、amax、bmin、bmax、cmin、cmax、dmin、dmaxに関して、amin≦ai≦amax、bmin≦bi≦bmax、cmin≦ci≦cmax、dmin≦di≦dmaxをすべて満足する場合を検証OK、そうでない場合を検証NGとすればよい。検証OKと判定された場合はステップSQ2207へ進む。検証NGの場合はステップSQ2209へ進む。
 次に、パラメータ空間投票数格納モジュール246が、個別アフィンパラメータの値に応じて、適切な投票数格納領域の投票数を1増加させるとともに、適切なパラメータ値格納領域に格納されているパラメータ値を更新する(ステップS2207)。以下、ステップSQ2207の動作を示す図15を参照して説明する。
 まず、パラメータ空間投票数格納モジュール246は、アフィンパラメータ検証部236により一致したと判定された際に推定された登録画像特徴点配置と検索画像特徴点配置との間のアフィンパラメータの値の組と、ステップS123で計算されている「分割された各区間がどのようなパラメータ値の範囲の区間なのかを計算した」結果を利用して、区間の組み合わせを求める(ステップSQ22071)。
 次に、パラメータ空間投票数格納モジュール246は、該当する区間の組み合わせに対応する投票数格納領域に格納されている投票数を1増加させる(ステップSQ22072)。次に、該当する区間の組み合わせに対応するパラメータ値格納領域に格納されているパラメータ値を更新する(ステップSQ22073)。例えば、次のように更新する。すなわち、パラメータaに関して、投票数を1増加させる前の投票数をan、更新前のパラメータaの値をavb、個別アフィンパラメータの値をaiとして、更新後のパラメータaの値avaは、
 ava=((avb*an)+ai)÷(an+1)
で求めることができる。ここで*の記号は乗算を明示的に表す記号である。他のパラメータ、b、c、d、e、fについても同様に計算できる。このように計算すると、パラメータ値格納領域に格納されているパラメータ値は、結果として、該当する区間の組み合わせに対応するパラメータ値の平均となる。
 以上で説明した、ステップSQ2207の動作では、該当する区間の組み合わせに対応する投票数、パラメータ値が唯一更新されるように動作している。しかし、必ずしも唯一である必要は無く、例えば、該当する区間の組み合わせに隣接する区間の組み合わせに対応する投票数、パラメータ値をもあわせて更新するようにすることも可能である。
 次に、不変量一致判定モジュール232は、注目している登録画像特徴ベクトルに対して、全ての検索画像特徴ベクトルとの処理が終わったかどうかを判定する(ステップSQ2208)。YESならば、ステップSQ2209の処理が行われ、NOならば、ステップSQ2202の処理が再び開始される。
 次に、パラメータ空間投票数格納モジュール246は、注目している登録画像特徴ベクトルに対しての処理が終わったかどうかを判定する(ステップSQ2209)。YESならステップSQ22の処理を終了し、NOならステップSQ2201へ戻る。
 次に、ステップSQ23の処理について説明する。ステップSQ23では、投影用アフィンパラメータ決定モジュール260が、最大の投票数が格納されている投票数格納領域を検出し、その投票数格納領域に対応するパラメータ値格納領域に格納されているパラメータの値を投影用アフィンパラメータとして決定する。最大の投票数が格納されている投票数格納領域が2個以上存在する場合の取り扱いは、後述することとして、当面は、最大の投票数が格納されている投票数格納領域は1個である場合について説明する。
 次に、ステップSQ3では、投影部分領域決定モジュール278が、登録画像zに対して検索画像上の投影部分領域を決定する。以下、ステップSQ3の動作を示すプローチャート図16を参照して、説明する。
 まず、ステップSQ31で、投影部分領域決定モジュール278が、投影部分領域が計算されていない部分領域を一つ設定する。
 次に、ステップSQ32で、投影部分領域決定モジュール278が、投影部分領域を計算する。本実施の形態では、部分領域は矩形領域なので、矩形領域の四隅座標を求めればよい。求め方は、投影部分領域決定モジュール278の機能の説明で上述したとおりである。
 次に、ステップSQ33で、投影部分領域決定モジュール278が、計算された投影部分領域が、検索画像上で有効領域であるかどうかを判定する。有効領域とは、例えば、検索画像で画素値が存在する領域である。本実施の形態では、部分領域は矩形領域なので、矩形領域の四隅座標が検索画像上に存在していればよい。求め方は、投影部分領域決定モジュール278の機能の説明で上述したとおりである。四隅座標のすべてが有効領域に存在していればステップSQ34の処理を行い、そうでなければSQ35の処理を行う。
 次に、ステップSQ34で、投影部分領域決定モジュール278が、有効な領域に存在する投影部分領域を、一時的に格納する。これは、検索処理の後段の処理に用いるためである。このとき、投影部分領域を計算した基の部分領域を一意に識別できる情報を合わせて格納しておくと都合がよい。
 次に、ステップSQ35で、投影部分領域決定モジュール278が、すべての部分画像について投影部分領域の計算が終了したかどうかを判定する。投影部分領域決定モジュール278は、YESなら、ステップSQ36の処理を行う。NOなら、ステップSQ31の処理を行う。最後に、ステップSQ36で、投影部分領域決定モジュール278が、有効な領域に存在する投影部分領域数を計算する。そして、この結果を、検索処理の後段の処理のために一時的に格納する。
 次に、ステップSQ4では、検索画像部分領域特徴量を求め、対応する登録画像部分特徴量と照合を行う。以下、ステップSQ4の動作を示すプローチャート図17を参照して、説明する。
 まず、投影画像部分領域特徴量計算モジュール280が、登録画像zと検索画像との部分領域一致数を格納する変数を0で初期化する(ステップSQ40)。次に、投影画像部分領域特徴量計算モジュール280が、後述するステップSQ43における部分領域の照合判定処理が行われていない検索画像部分領域のうちの一つを、注目する検索画像部分領域として、選択する(ステップSQ41)。次に、投影画像部分領域特徴量計算モジュール280が、注目する検索画像部分領域の一つについて、検索画像部分領域特徴量を計算する(ステップSQ42)。投影画像部分領域特徴量計算モジュール280の機能の説明で述べたように、一般の検索画像部分領域に対しては、登録画像上に検索画像部分領域の画像を投影した後に、その画像について特徴量を求める。ただし、本実施の形態では、部分領域内の黒画素の存在比率を特徴量としているので、検索画像上において、検索画像部分領域について特徴量を求めれば十分である。
 次に、部分領域照合モジュール282が、注目する検索画像部分領域に対応する登録画像部分領域から計算された登録画像部分領域特徴量と、検索画像部分特徴量とを照合する(ステップSQ43)。本実施形態では、照合は、登録画像部分領域特徴量の値から検索画像部分領域の値を減じた値が、予め定められた範囲の値であれば、一致したと判定する。予め定められている範囲は、通常、0を含み、かつ、比較的0に近い値の集合である。一致した場合はステップSQ44の処理を行う。一致しない場合は、ステップSQ45の処理を行う。
 ステップSQ44では、部分領域照合モジュール282が、登録画像zと検索画像との部分領域一致数を格納する変数を1だけ増加させる。次に、ステップSQ45で、部分領域照合モジュール282が、すべての検索画像部分領域に対して、部分領域の照合判定(ステップSQ43)が終了したかどうかを判定する。YESなら処理を終了する。NOならステップSQ41の処理を行う。
 以上のステップSQ1、SQ2、SQ3、SQ4の処理で、結果として登録画像zと検索画像との間の部分領域一致数(部分領域が一致したと判定された回数)が計算されたことになる。
 ステップSQ5では、部分領域照合モジュール282が、全ての登録画像について部分領域一致数を計算したかどうかを判定する。YESならばSQ6の処理を行う。NOならばSQ1の処理を行う。
 以上のステップSQ1、SQ2、SQ3、SQ4、SQ5の処理で、結果としてすべての登録画像と検索画像との間の部分領域一致数が計算されたことになる。
 次に、ステップSQ6で、画像照合結果計算モジュール290が、最終的な最終的に与えられた検索画像に対応する登録画像を同定する。以下、ステップSQ6の動作を示すプローチャート図18を参照して、説明する。
 まず、ステップSQ61で、画像照合結果計算モジュール290が、各登録画像と検索画像との一致性を図る尺度である一致度を計算する。本実施の形態において、一致度は、各登録画像に対して、部分領域一致数を、(ステップSQ36で計算された)有効な領域に存在する投影部分領域数(有効領域数)で割った値とする。ただし、これに限られない。
 次に、ステップSQ62で、画像照合結果計算モジュール290が、検索画像に対応する登録画像として出力する登録画像を決定する。これは、通常、最大の一致度が計算された登録画像であるとする。最大の一致度を持つ登録画像が2つ以上存在する場合には、それらをすべて出力してもよい。その場合には、一致度もしくは一致度を利用して計算される登録画像と検索画像との当てはまりのよさを表す数値を合わせて出力すると好適である。本実施の形態では、そのような場合には、結果を棄却することとする(この場合、検索画像に対応する登録画像は検出できなかったことを意味する。)。
 次に、ステップSQ63で、画像照合結果計算モジュール290が、登録画像を一意に指定できる情報を出力する。本実施の形態において、結果として出力される情報は、検索画像を一意に指定できる情報、もしくは、検索画像に対応する登録画像は検出できなかったことを意味する情報、のいずれかである。なお、ステップSQ62が登録画像を一意に指定できる情報を複数出力した場合には、ステップSQ63にて出力される登録画像を一意に指定できる情報は、複数であってよい。ステップSQ62が、あわせて一致度もしくは一致度を利用して計算される登録画像と検索画像との当てはまりのよさを表す数値を出力する場合は、ステップSQ63においても当該数値を出力してもよい。この場合は、当該情報(登録画像を一意に識別できる情報と、その登録画像に対応する一致度、もしくは当てはまりのよさを表す数値)を、本発明の画像照合装置の利用者(他コンピュータからの参照も含む)に提示することができる。これにより、利用者は本発明の画像照合装置を手段として利用して、利用者の目的に適合する画像検索を行うことが可能である。
 なお、ステップSQ23において、投影に用いるアフィンパラメータは1つであるものとして、上記の説明を行ってきた。しかし、必ずしも1つに決まらない場合は、複数のアフィンパラメータ候補を計算しておき、それぞれのアフィンパラメータについて、それぞれステップSQ3、SQ4、SQ5、SQ61の計算を独立に行けば、ステップSQ62において、最終的に出力する登録画像を決定することができる。例えば、登録画像が2枚の場合、第1の登録画像からアフィンパラメータが2個、第2の登録画像からアフィンパラメータが1つ計算されている場合には、第1の登録画像の第1のアフィンパラメータに関する一致度、第1の登録画像の第2のアフィンパラメータに関する一致度、第2の登録画像に関する一致度を用いればよい。例えば、これらの3つの一致度のうち最大の一致度が計算された登録画像を、最終的に出力する登録画像として決定すればよい。
 次に、本実施の形態の効果について説明する。
 幾何変換不変量により特徴点の配置を特徴付ける特徴量を用いて特徴量を計算し、一致した特徴点配置のみを用いて幾何変換パラメータを高精度に求め、そのパラメータを利用して一方の画像中の部分領域を他方の画像上に投影し、求められた投影部分領域から特徴量を計算し、その特徴量を利用して照合している。従って、特徴点の配置は類似しているが、その特徴点が抽出された元の局所領域画像としては類似していない場合でも、高精度な照合が可能である。
 合わせて、次のような効果も得られる。特許文献1および特許文献2で開示されているような、特徴ベクトル間の正しい対応の数を利用して画像を同定する場合、登録画像と検索画像が類似していても、ノイズ等の影響でたまたま連結領域が異なって求められてしまうと、正しい対応の数が少なくなり、精度のよい同定が難しい場合がある。図19に、その一例を示す。図20中で、画像Rは登録画像を、画像Qは検索画像を表す。このような場合、画像の右側では対応する特徴点配置が検出できる可能性があるが、左側では、特徴点の出現の仕方が異なるため、対応する特徴点配置を検出するのは原理的に不可能である。そのような場合でも、例えば、正しく対応がとれば特徴点配置が存在すれば、登録画像と検索画像との間の変形が(画像の座標に関して)一定なアフィンパラメータを持つ場合、もしくは、そのように近似できるとの仮定のもとでは、投影された領域画像はほぼ一致する(図20参照)。従って、結果として高精度な画像の照合が可能になる。
(実施形態2)
 次に、本発明の実施形態について図面を参照して詳細に説明する。本発明の実施形態2の構成は、実施形態1の構成と同一であるので、説明を省略する。
 次に、本実施の形態の動作について説明する。登録処理に関しては、実施形態1と同一であるので、説明を省略する。検索処理に関して、実施形態1と異なる部分のみ説明する。
 図21を参照すると、実施形態1において、ステップSQ3およびステップSQ4に相当する動作が、ステップSQ7で置き換えられている。実施形態2におけるステップSQ7の詳細について、図22を参照して、説明する。
 まず、画像照合結果計算モジュール290は、部分領域一致数と、有効領域数を初期化する。具体的には、0を代入する(ステップSQ700)。次に、ステップSQ701で、投影部分領域決定モジュール278は、投影部分領域が計算されていない部分領域を一つ設定する。
 次に、ステップSQ702では、投影部分領域決定モジュール278は、投影部分領域を計算する。ステップSQ32との相違点は、投影部分領域決定モジュール278により計算された投影部分領域に対して、投影部分領域決定モジュール278は、予め定められた範囲の中で変動させた結果を計算し、部分領域候補とする点である。変動は、例えば、パラメータa、b、c、d、e、fに対してそれぞれ複数の変動量候補を用意しておき、それらのうちの組み合わせのうちの一つを各パラメータに対する変動量とする。このとき、当該部分領域に関して、まだ処理の行われていない変動量の組み合わせの一つについての処理を行うものとする。このようにすることにより、後述するステップSQ709との連携動作により、各パラメータに対する複数の変動量候補の組み合わせの1つ以上について、後述するステップSQ707の判定でYESとなるか、すべての変動量組み合わせについて処理が終了するまで反復的に動作されうる。本実施の形態では、eとfのみ微小な変動を考慮するものとする。例えば、eの値の候補をet1、et2、…、ete、fの値の候補をft1、ft2、…、ftfとする。例えば、eに対する変動量としてete、fに対する変動量としてftfであるとすると、投影部分領域はxq方向にete、yq方向にftfだけ平行移動される。部分領域が矩形領域の場合は、矩形領域の四隅座標についてこの操作を行えば十分である。
 次に、ステップSQ703で、投影部分領域決定モジュール278が、投影部分領域決定モジュール278によって計算された部分領域候補が、検索画像上で有効領域であるかどうかを判定する。求め方は、投影部分領域決定モジュール278の機能の説明で上述したとおりである。四隅座標のすべてが有効領域に存在していればステップSQ704の処理を行い、そうでなければステップSQ709の処理を行う。
 次に、ステップSQ704で、投影部分領域決定モジュール278は、現在設定されている部分領域について、初めてステップSQ704の処理が行われるのかどうかを判定する。これは、現在、設定されている部分領域について、ステップSQ703とステップSQ709の連携による反復動作が行われた場合でも(部分領域候補が複数回計算されたとしても)、部分領域のおのおのに関して有効領域数増加の最大値が1であることを保証するための判定処理である。YESならステップSQ705の処理を行う。NOならステップSQ706の処理を行う。
 ステップSQ705では、投影部分領域決定モジュール278が、有効領域数を1増加させる。
 次に、ステップSQ706では、投影画像部分領域特徴量計算モジュール280が、ステップSQ42と同様の処理で、求められている検索画像上の部分領域候補について、特徴量(これを検索画像部分領域候補特徴量と呼ぶ)を計算する。投影画像部分領域特徴量計算モジュール280の機能の説明において、投影画像部分領域特徴量計算モジュール280は検索画像部分領域から検索画像部分領域特徴量を計算するように説明されているが、この機能を用いれば、検索画像部分領域候補について特徴量が計算できることは自明である。
 次に、ステップSQ707では、ステップSQ43と同様に、投影画像部分領域特徴量計算モジュール280が、注目する検索画像部分領域候補に対応する登録画像部分領域から計算された登録画像部分領域特徴量と、検索画像部分領域候補特徴量とを照合する。一致した場合はステップSQ708の処理を行う。一致しない場合は、ステップSQ709の処理を行う。
 ステップSQ708では、投影画像部分領域特徴量計算モジュール280が、登録画像zと検索画像との部分領域一致数を格納する変数を1だけ増加させる。
 ステップSQ709では、ステップSQ702の説明で述べた変動量候補の組み合わせの全てについて、処理が終了したかを判定する。YESならステップSQ710の処理を行う。NOならばステップSQ702の処理を行う。
 ステップSQ710では、投影画像部分領域特徴量計算モジュール280が、すべての登録画像部分領域に対して、部分領域の照合判定が終了したかどうかを判定する。YESなら処理を終了する。NOならステップSQ701の処理を行う。
 次に、本発明の実施形態2の効果について説明する。
 本発明の実施形態2では、ステップSQ702において、投影部分領域が計算されるように構成される。実施形態1と異なるのは、投影部分領域決定モジュール278により計算された投影部分領域に対して、予め定められた範囲の中で変動させた結果を計算し、最終的な投影部分領域とするように構成されている点である。
 これにより、登録画像と検索画像との間の変形が(画像の座標に関して)アフィンパラメータとの仮定もしくは近似が成り立たないような場合、すなわち、局所的に無視することがない変形が生じている場合でも、実施形態1に比べて、投影された領域画像はより高精度に一致するようになる。従って、より精度のよい照合が実現できる。
 次に、実施形態2の第1の変形例について図面を参照して詳細に説明する。本発明の実施形態2の第1の変形例の構成は、実施形態1と同一であるため、説明を省略する。
 次に、本実施の形態の動作について説明する。登録処理に関しては実施形態1と同一であるので、説明を省略する。検索処理に関して、実施形態1と異なる部分のみ説明する。
 動作が異なるのは、実施形態1におけるステップSQ23、SQ3、SQ4の各ステップである。実施形態2の第1の変形例において、これらのステップに相当する処理を行うステップをそれぞれ、SQA23、SQA3、SQA4とする。
 ステップSQA23の処理は、上述した段落[0111]において説明した、必ずしもアフィンパラメータ候補が1つ決まらない場合に、複数のアフィンパラメータ候補を利用する方法を拡張したものである。すなわち、ステップSQ23の処理においては、最大の投票数が格納されている(多くの場合、単一の)投票数格納領域を検出し、その投票数格納領域に対応するパラメータ値格納領域に格納されているパラメータの値を投票用アフィンパラメータとして決定しているのに対し、ステップSQA23の処理では、あらかじめ定められた条件を満たす(多くの場合、複数の)投票数格納領域を検出し、それらの投票数格納領域に対応するパラメータ値格納領域に格納されているパラメータの値を投影用アフィンパラメータとする。
 ここで、予め定められた条件とは、例えば次のような条件がある。
(1) その投票数格納領域に関する投票数は、予め定められた値以上である、
(2) その投票数格納領域に関する投票数は、最大の投票数から予め定められた値を減じた数以上の投票数である、
(3) その投票数格納領域に関する投票数は、その投票数を最大の投票数で割った比の値があらかじめ定められた値以上である、
これらの条件二つ以上を組み合わせてもよい。
 ステップSQA3の処理は、ステップSQA23で計算された(多くの場合、複数の)投影用アフィンパラメータを用いる場合に、投影部分領域決定モジュール278が、登録画像zに対して検索画像上の投影部分領域を決定する処理である。これは、実施形態1におけるステップSQ3に相当する処理である。
 図28は、実施形態2の第1の変形例におけるステップSQA3を説明するためのフローチャートである。以下、図28を参照して、ステップSQA3での処理を説明する。ステップSQA3の処理は、ステップSQ3の処理と比較して、ステップSQA315、SQA345の処理を行う点を除いて、ステップSQ3の処理と同一である。
 ステップSQA315では、投影部分領域決定モジュール228が、ステップSQA23にて検出された投票数格納領域に関する投影用アフィンパラメータから、注目する部分領域に対して投影部分領域がまだ計算されていないアフィンパラメータのうちの一つを取得する。
 ステップSQA345では、部分領域照合モジュール282が、注目する部分領域について、ステップSQA23にて検出された投票数格納領域のすべてに対する投影部分領域の計算が終了したかを判定する。YESなら、ステップSQ5の処理を行う。NOなら、ステップSQA15の処理を行う。
 なお、実施形態2の第1の変形例におけるステップSQ34では、計算される投影部分領域に対して、投影部分領域を計算する基となる(登録画像中の)部分領域および投影に用いたアフィンパラメータを一意に同定できる情報を合わせて格納しておくと都合がよい。
 ステップSQA4の処理は、ステップSQA3で計算された投影部分領域を用いて、検索画像部分領域を求め、対応する登録画像部分特徴量と照合を行う処理である。
 図29は、実施形態2の第1の変形例におけるステップSQA4の処理を説明するためのフローチャートである。以下、図29を参照して、ステップSQA4の処理を説明する。ステップSQ40、ステップSQ43、ステップSQ44の処理は、ステップSQ4の処理と同一である。以下、ステップSQ4の処理と異なる、ステップSQA41、SQA42、SQA43、SQA435、SQA45の処理についてのみ説明する。
 ステップSQA41では、投影画像部分領域特徴量計算モジュール280が、まだ照合対象となっていない登録画像部分領域から、一つの登録画像部分領域を選択する。
 ステップSQA415では、投影画像部分領域特徴量計算モジュール280が、注目する登録画像部分領域に関して、まだ照合対象となっていないアフィンパラメータを一つ選択する。
 ステップSQA42では、投影画像部分領域特徴量計算モジュール280が、注目する登録画像部分領域とアフィンパラメータに関して、すでにステップSQA3で計算された検索画像部分領域を参照して、検索画像部分領域特徴量を計算する。前記計算方法は、ステップSQ42の処理を行う計算方法と同一である。
 ステップSQA43の処理は、判定結果がNOのときにステップSQA435の処理を行うことを除いては、ステップSQ43の処理と同一の処理である。
 ステップSQA435では、投影画像部分領域特徴量計算モジュール280が、注目する登録画像部分領域に対して、すべてのアフィンパラメータを利用した検索画像部分領域が計算されたか否かを判定する。YESの場合は、ステップSQA45の処理を行い、NOの場合はステップSQA415の処理を行う。
 ステップSQA45では、投影画像部分領域特徴量計算モジュール280が、すべての登録画像部分領域について処理が終了したかを判定する。YESならばステップSQ4の処理を終了し、NOならばステップSQ41の処理を行う。
 以上の説明においては、実施形態2における説明中、上述した段落[118]で説明したような、複数の変動量候補を用いたアフィンパラメータの候補を求めることはしていない。しかしながら、そのような処理は、実施形態2の第1の変形例においても容易に付加することが可能であることを申し述べておく。
 また、以上の説明においては、どの特徴点配置から計算されたアフィンパラメータが、どの投票数格納領域に投票されたか、という情報は使用されていない。この情報を用いれば、ステップSQA23の処理により検出されたすべての投票数格納領域に関するアフィンパラメータを利用する必要がなくなる。例えば、登録画像のある部分領域に注目している場合、その部分領域に相当する特徴点を取得し、その特徴点が以下の条件を満たすアフィンパラメータのみを利用するようにすればよい。
(条件1)当該特徴点を含む特徴点配置から求められた個別アフィンパラメータによって投票数が1以上増加させられた投票数格納領域に対応するアフィンパラメータ
 このようにすることにより、より高速な照合を実現することもできる。
 次に、本発明の実施形態2の第1の変形例の効果について説明する。実施形態2の第1の変形例では、ある一つの登録画像部分領域に対して、(多くの場合)複数のアフィンパラメータのそれぞれを利用して別々の検索画像部分領域を求め、それらの検索画像部分領域から計算された検索画像部分領域特徴量のうち一つでも登録画像部分領域特徴量と一致することをもって、部分一致数を1増加する処理となっている。
 これにより、登録画像と検索画像との間の変形が、(画像の座標に関して)一定なアフィンパラメータを持つもしくはそのように近似できない場合でも、実施形態1に比べて、投影された領域画像はより高精度に一致するようになる。従って、より精度のよい照合が実現できる。
 また、例えば、アフィンパラメータが局所的に異なる値を持つような変形が生じていて、そのばらつきが大きいとき、実施形態2によれば変動の幅を大きく設定する必要がある。この場合は、すべての変動の可能性を総当り的に考慮しなければならないため、一連の処理に時間がかかる。実施形態2の第1の変形例では、そのような総当り的な考慮の変わりに、各投票箱に対応する(区間の幅に応じて一定程度値の異なる)アフィンパラメータを複数用いることができる。複数のアフィンパラメータの少なくとも一つは、少なくとも局所的に精度の良いアフィンパラメータであることが期待できる。従って、実施形態2と同じくらい精度のよい照合が高速に実現できる。
 次に、実施形態2の第2の変形例を説明する。実施形態2の第2の変形例では、上述した段落[0078]で説明したような、実施形態1もしくは実施形態2の第1の変形例における、区間を限りなく細かくして、異なるアフィンパラメータについてはかならず1区間が割り当てられるような場合を考える。
 実施形態2の第1の変形例をそのまま利用すると、投票数格納領域の数が比較的大きくなる。従って、求められた異なる個別アフィンパラメータの数が比較的少ない場合は、投票数格納領域を予め用意しておくより、各特徴点に対して、その特徴点に対応する部分領域を投影するために用いるアフィンパラメータの候補を記憶させておくほうが、記憶容量が小さくすむ場合がある。
 実施形態2の第2の変形例は、そのような考え方のもとに提案する実施形態である。なお、異なるアフィンパラメータの数が膨大となるため、照合に時間がかかることが予想されるが、その課題に関しては、実施形態2の第1の変形例を説明した際に用いた方法、すなわち、或る区間に投票したアフィンパラメータのみを利用する方法を合わせて利用することとする。異なるアフィンパラメータについては必ず1区間が割り当てられるような場合について、上述の(条件1)は、単に次のように読み替えることができる。
(条件2)当該特徴点を含む特徴点配置から求められた個別アフィンパラメータ
 次に、本発明の実施形態2の第2の変形例について詳細に説明する。まず、本発明の実施形態2の第2の変形例の構成について説明する。図30は、本発明の実施形態2の第2の変形例の構成を示すブロック図である。
 図30を参照すると、実施形態2の第2の変形例の構成は、一部を除いて実施形態1と同一である。従って、異なる箇所のみ説明する。
 図30において、個別アフィンパラメータ格納モジュール446は、個別アフィンパラメータ検証モジュール236により検証された個別アフィンパラメータa、b、c、d、e、fを、それらの個別アフィンパラメータa、b、c、d、e、fを計算する際に使われた登録画像中の特徴点を一意に特定できる情報と共に格納する。個別アフィンパラメータ格納モジュール446は、例えば、登録画像中の特徴点配置(cp1、cp2、cp3、cp4、cp5、cp6)から計算されたアフィンパラメータa、b、c、d、e、fを、特徴点cp1に関する個別アフィンパラメータとして格納し、特徴点cp2に関する個別アフィンパラメータとしても格納し、特徴点cp3から特徴点cp6に関する個別アフィンパラメータとしても各々を格納するようにすればよい。動作の詳細は後段の動作を説明する際に詳述する。
 図30において、投影用アフィンパラメータ決定モジュール460は、注目する登録画像の注目する特徴点に関して、個別アフィンパラメータa、b、c、d、e、fを一組出力する。動作の詳細は後段の動作を説明する際に詳述する。
 次に、本発明の実施形態2の第2の変形例の動作について説明する。登録処理に関しては、実施形態1と同一であるので説明を省略する。検索処理に関して、実施形態1と異なる部分のみ説明する。
 動作が異なるのは、実施形態2におけるステップSQ2、SQ22、SQA3、SQA4での各処理である。実施形態2の第1の変形例において、これらのステップに相当する処理を、それぞれ、ステップSQB2、SQB22、SQB3、SQB4の処理とする。
 図31は、実施形態2の第2の変形例におけるステップSQB2の動作を示すフローチャートである。図31を参照すると、ステップSQB2の処理は、ステップSQ21の処理と、ステップSQB22の処理とで構成されている。なお、ステップSQA23に相当する処理は、ステップSQB2の処理からは削除されている。
 ステップSQ21は、実施形態2の第1の変形例と同一の処理である。
 次に、ステップSQB22の処理について説明する。図32は、実施形態2の第2の変形例におけるステップSQB22の処理を示すフローチャートである。以下、図32を参照して説明する。なお、実施形態1と同一の処理を行っているステップに関しては説明を省略し、異なるステップである、ステップSQB2207、SQB2209の各処理についてのみ説明する。
 ステップSQB2207の処理は、個別アフィンパラメータ格納モジュール446が、ステップSQ2206において検証された個別アフィンパラメータを格納する処理である。個別アフィンパラメータ格納モジュール446が格納する方式は、個別アフィンパラメータ格納モジュール446の構成の説明で述べたとおりである。
 ステップSQB2209の処理は、ステップSQ2209の処理の主体が、パラメータ空間投票数格納モジュール246から、個別アフィンパラメータ格納モジュール446に変わることのみが相違点で、そのほかの内容については同一である。
 次に、ステップSQB3の処理を説明するためのフローチャートである図33を用いて、ステップSQB3の処理について説明する。ステップSQB3の処理が、実施形態2の第1の変形例におけるステップSQA3の処理と異なるのは、ステップSQA315の処理が、ステップSQB315の処理に置き換わっている点である。
 次に、ステップSQB315の処理を示すフローチャートである図34を参照しながら、ステップSQB315の処理について説明する。ステップSQB315の処理は、投影用アフィンパラメータ決定モジュール460が、注目する登録画像の注目する特徴点に関して、まだ出力されていない個別アフィンパラメータa、b、c、d、e、fを一組出力する処理である。その処理の詳細の一例について説明する。
 まず、注目する登録画像に対して、投影用アフィンパラメータ決定モジュール460が、個別アフィンパラメータが1つ以上求められているかどうかを判定する(ステップSQB3151)。NOの場合には、ステップSQ35の処理を行う。
 YESの場合には、投影用アフィンパラメータ決定モジュール460が、注目する登録画像の注目する特徴点に関して、個別アフィンパラメータが登録されているかどうかを判定する(ステップSQB3152)。
 YESの場合には、投影用アフィンパラメータ決定モジュール460が、注目する登録画像の注目する特徴点に関して、格納された個別アフィンパラメータのうちまだ出力していない一組を選択し(ステップSQB3153)、ステップSQ32の処理を行う。
 NOの場合には、投影用アフィンパラメータ決定モジュール460が、近傍の特徴点に関して格納されている個別アフィンパラメータのうちまだ出力していない一組を選択し(ステップSQB3154)、ステップSQ32の処理を行う。ステップSQB3154の処理は、例えば、注目する登録画像上の特徴点で、現在注目している特徴点から、画像上で最近傍の位置に存在する特徴点に関する個別アフィンパラメータのうちまだ出力していない一組を選択する。
 これらの個別アフィンパラメータの情報は、後段の処理で、投影部分領域決定モジュール278によって利用される。
 次に、ステップSQB4の処理を示すフローチャートである図35を参照しながら、ステップステップSQB4の処理について説明する。ステップSQB4の処理が、実施形態2の第1の変形例におけるステップSQA4の処理と異なるのは、ステップSQA415の処理が、ステップSQB415の処理に置き換わっている点である。
 次に、ステップSQB415の処理を示すフローチャートである図36を参照しながら、ステップステップSQB415の処理について説明する。ステップSQB415では、まず注目する登録画像の注目する特徴点に関して、投影領域が計算されているかどうかを判定する(ステップSQB4151)。
 YESの場合は、注目する登録画像における注目する特徴点に関して格納されている投影部分領域のうち、まだ選択されていない一つを選択して(ステップSQB4152)、SQB42の処理を行う。NOの場合は、ステップSQA45の処理を行う。
 次に、本発明の実施形態2の第2の変形例の効果について説明する。実施形態2の第2の変形例は、計算されたすべての個別アフィンパラメータを利用して検索画像部分領域の計算を行う手法である。これは、個別アフィンパラメータを計算する基となった特徴点付近については特に高精度なアフィンパラメータであるから、同じ投票数格納領域に対応する個別アフィンパラメータから計算されたアフィンパラメータを用いる実施形態2の第1の変形例より、高精度な照合が実現できる。
 また、実施形態2の第1の変形例のように、あらかじめ膨大な容量の投票数格納領域を用意する必要が無いため、低記憶容量で照合が実現できる場合もある。実施形態2の第2の変形例では、説明の都合上、区間を限りなく細かくして、異なるアフィンパラメータについてはかならず1区間が割り当てられるような場合を想定した。しかしながら、実施形態2の第2の変形例が有効な状況は、必ずしもこの場合だけに限られないことを申し述べておく。
(実施形態3)
 次に、本発明の実施形態3について図面を参照して詳細に説明する。
 本発明の実施形態3は、実施形態1と比較して、一部が置き換えられたものであるので、その相違点のみ説明する。
 図23は、本発明の実施形態3の構成を説明するための図である。まず、本発明の実施形態3の構成と、実施形態1の構成との相違点は、画像照合結果計算モジュール290が一致度を計算するだけでなく、不一致に関する尺度である不一致度をも計算し、最終的に検索画像に対応する登録画像を同定するように構成されている点である。これを、画像照合結果計算モジュール390とする。
 不一致度は、例えば、次のような値である。
 まず、各登録画像zに対して計算できる、(部分領域数-有効領域数)÷部分領域数、
を不一致度の尺度とすることである(不一致度1)。
 また、次のような不一致度(不一致度2)も考えられる。すなわち、一致した検索画像部分領域特徴量を計算する基となった検索画像部分領域内を白画素で塗りつぶした後、再度検索画像において黒画素の連結領域を求め、一定条件(一定以上のサイズ、画素数など)を持つ連結領域の個数を不一致度とすることである。
 また、次のような不一致度(不一致度3)も考えられる。すなわち、検索画像特徴点抽出モジュール222が動作する結果として求められる検索画像の連結領域を利用することができる。例えば、それら各連結領域と、ある登録画像部分領域特徴量と一致した検索画像部分領域特徴量を計算するとなった検索画像部分領域と、の共通領域(以下、両領域と呼ぶ。)が、一定以上の面積もしくは割合(例えば、(両領域の共通領域の面積)÷(両領域の和領域の面積))である数を計数し(この値をSとする。)、
 S÷(検索画像の連結領域数)
を不一致度として用いることである。
 ここで説明したような不一致度と、一致度を用いて最終的に登録画像を同定するには、様々な手法が考えられる。例えば、これら不一致度に関する条件(例えば、不一致度がある一定以下の値をとる、など。)を満たした登録画像の中から、ステップSQ62で述べた手順により出力すべき登録画像を決定すればよい。
 また、一致度と不一致度を変数とする関数、例えば、線形和の値を利用してもよい。例えば、補正一致度の値を
  (補正一致度)=(一致度)-(γ*(不一致度1)+δ*(不一致度2)+η*(不一致度3))
の値などが考えられる。これを新たな一致度とすれば、従来のステップSQ62の手順により、出力すべき登録画像の決定が可能である。ここで、γ、δ、ηは、通常、正の値であり、予め設定する値である。
 まず、本発明の実施形態3の動作と、実施形態1の動作との相違点は、図24と図10を参照すると、ステップSQ6の処理がステップSQ8に置き換えられている点である。
 ステップSQ8の処理を示す図2を用いて、動作について説明する。
 ステップSQ81は、画像照合結果計算モジュール390が、ステップSQ63のものと同一の処理を行うので、その説明を省略する。
 ステップSQ82では、画像照合結果計算モジュール390は、一致度計算処理の後に、上記で説明した不一致度のうち1つ以上を計算し、一致度と不一致度を用いて、上記のように、検索画像に対応する登録画像として出力する登録画像を決定する。ステップSQ83では、画像照合結果計算モジュール390が、登録画像を一意に指定できる情報を出力する処理を行う。不一致度もしくは不一致度から計算される値を出力することができる点においてのみステップSQ63と異なるが、それ以外はステップSQ63と同一の処理を行えばよい。
 次に、本発明の実施形態3の効果について説明する。本発明の実施形態1においては、登録画像の黒画素領域が、検索画像の黒画素領域の一部である場合に、一致度が高くなる。これにより、登録画像の白画素領域に関する照合が行われていない不都合が生じる場合がある。図26は、同一の検索画像に対して、2つの登録画像の部分領域を検索画像上に投影した例である。(これらは、都市名がAAA、街路名がBBB、受取人がCCCCCとすれば、住所文字列画像の例とも解釈できる。)図中、左の画像の矩形は登録画像部分領域を、右の画像の矩形は検索画像部分領域を表している(検索画像から計算される黒画素の連結領域ではないことに注意する必要がある)。本発明の実施形態1においては、登録画像部分領域と、登録画像部分領域を検索画像上に投影した領域である検索画像部分領域とから、それぞれ特徴量を計算し、それらを照合されることにより、一致度が計算される。これに従えば、図26の登録画像1と登録画像2とはいずれも、一致度が1となるはずであるが、本来、登録画像1は検索画像と異なる画像であるので、それは望ましい結果ではない。不一致度2あるいは不一致度3のような尺度を加えることにより、このような不都合を軽減される。また、応用上の要求により、登録画像と検索画像との間の部分的な一致を許容しないような場合には、不一致度1のような尺度を加えることにより、より高い精度で要求が実現できることが期待される。
 以上、説明した実施形態1から実施形態5までの各実施形態は、画像一般、あるいは文書画像の照合に用いることができる。特に、連結領域から得られる情報を用いて照合を行っているため、単語重心から得られる情報を用いて照合を行っている特許文献1による方法では照合することが難しい画像、例えば、数行程度の文字列から構成される文字列画像(例えば、郵便物に記載される(受取人情報を含む)住所文字列の画像)に対しても、精度のよい同定および検索が可能である。
 また、説明した実施形態1から実施形態5までの各形態は、説明の都合上、特許文献2に開示されるような、特徴点を統合してあらたな特徴点(統合特徴点)を得る手続きを行っていない。しかしながら、そのような手続きは容易に組み込めることを申し述べておく。
 上述した各実施形態の構成および動作はあくまでも一例であり、本発明の原理を損なわない範囲で、構成もしくは動作の手順の何れか一方以上を組み替えることが可能である。例えば、第1の実施の形態の動作において、ステップSR21内の登録画像に関するループと、ステップSR22内の登録画像に関するループは一つに容易に統合できる。上述した実施形態では、本発明をハードウェアとして構築した場合を説明したが、これに限られるものではない。本発明の実施形態は、本発明をソフトウェアとして構築してもよいものである。ソフトウェアとして構築した場合、本発明の実施形態に係るプログラムは、コンピュータに図1及び図23に示した各モジュールの機能を実行させる構成として構築する。
 また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能なメモリまたはハードディスク装置等の記憶デバイス(記憶媒体)に格納すれば良い。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
 また、本発明の実施形態に係るプログラムでは、図1及び図23の全体構成を統合して制御するプログラムとして構築してもよい。さらには、本発明の実施形態に係るプログラムでは、図1及び図23での各モジュールの個別或いはいくつかのモジュールを統合した構成を制御するプログラムとして構築してもよいものである。
 以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は2008年11月10日に出願された日本出願特願2008-288260及び2009年4月21日に出願された日本出願特願2009-103116を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、コンピュータ産業、その他これに類する情報処理産業に適用可能である。より詳細には、一般の画像や文書、特に、郵便物に記載される住所等の文字列の画像の検索もしくは同定といった用途に適用できる。
201 画像照合モジュール
212 登録画像特徴点抽出モジュール
214 登録画像特徴点配置計算モジュール
216 登録画像不変量計算モジュール
218a 登録画像特徴点配置格納モジュール
218b 登録画像不変量格納モジュール
222 検索画像特徴点格納モジュール
224 検索画像特徴点配置計算モジュール
226 検索画像不変量計算モジュール
232 不変量一致判定モジュール
234 個別アフィンパラメータ推定モジュール
236 個別アフィンパラメータ検証モジュール
246 パラメータ空間投票数格納モジュール
250 投影用アフィンパラメータ推定モジュール
260,460 投影用アフィンパラメータ決定モジュール
262 部分領域投影モジュール
264 投影画像照合モジュール
272 部分領域計算モジュール
274 部分領域特徴量計算モジュール
278 投影部分領域決定モジュール
280 投影画像部分領域特徴量計算モジュール
282 部分領域照合モジュール
290,390 画像照合結果計算モジュール
446 個別アフィンパラメータ格納モジュール

Claims (24)

  1.  第1の画像と第2の画像とを照合する画像照合装置であって、
     第2の画像から画像中の部分的な領域を1つ以上計算する部分領域計算モジュールと、
     前記部分領域に関する特徴量を計算する部分領域特徴量計算モジュールと、
     第1の画像と第2の画像のそれぞれから画像の特徴点を計算する特徴点抽出モジュールと、
     前記各画像の特徴点から特徴点の配置を計算する特徴点配置計算モジュールと、
     前記各画像の特徴点の配置から幾何変換不変量である特徴量あるいは幾何変換不変量を要素とする特徴ベクトルを計算する不変量計算モジュールと、
     第1の画像から計算された前記特徴量あるいは前記特徴ベクトルと第2の画像から計算された前記特徴量あるいは前記特徴ベクトルとが一致するかどうかを判定する不変量一致判定モジュールと、
     第1の画像と第2の画像との間の幾何変換パラメータを推定するパラメータ推定モジュールと、
     前記幾何変換パラメータを利用して、前記第2の画像の部分領域に相当する第1の画像上の部分領域を計算する投影部分領域決定モジュールと、
     前記投影部分領域決定モジュールで求められた、前記第2の画像の部分領域に相当する第1の画像上の部分領域に関する特徴量を計算する投影画像部分領域特徴量計算モジュールと、
     前記投影画像部分領域特徴量計算モジュールで計算された特徴量と、前記部分領域特徴量計算モジュールで計算された特徴量とが一致するかを判定する部分領域照合モジュールとを含むことを特徴とする画像照合装置。
  2.  前記パラメータ推定モジュールで推定される前記幾何変換パラメータは、画像上の位置によらずに一定の値であり、
     前記投影部分領域決定モジュールは、前記推定された画像上の位置によらずに一定の値をとる幾何変換パラメータを利用する請求項1に記載の画像照合装置。
  3.  前記投影部分領域決定モジュールは、前記幾何変換パラメータに加えて、前記幾何変換に関して予め与えられた範囲の中で変動させた結果を用いて、1つ以上の部分領域候補を計算するものであり、前記予め与えられた範囲の中で変動させた結果の少なくとも1つを用いて計算された前記部分領域候補が一致したことをもって、部分領域が一致したと判定する請求項1に記載の画像照合装置。
  4.  前記部分領域特徴量計算モジュールは、前記部分領域において第2の幾何変換不変量を特徴量として用い、
     前記投影画像部分領域特徴量計算モジュールは、前記第2の画像の部分領域に相当する第1の画像上の部分領域において、前記幾何変換不変量を特徴量として用いる請求項1に記載の画像照合装置。
  5.  前記特徴点抽出モジュールは、画像中の図領域に関する連結領域の重心を特徴量として抽出する請求項1に記載の画像照合装置。
  6.  前記部分領域照合モジュールは、前記第1の画像の部分領域特徴量と前記第2の画像の部分領域特徴量とが一致した数を計算するものである請求項1に記載の画像照合装置。
  7.  前記パラメータ推定モジュールで推定される前記幾何変換パラメータは1つ以上であり、
     前記投影部分領域決定モジュールは、前記推定された1つ以上の幾何変換パラメータの1つ以上を利用する請求項1に記載の画像照合装置。
  8.  前記パラメータ推定モジュールで推定される前記幾何変換パラメータは、前記各画像の特徴点の配置内の特徴点に関連付けられ、
    前記投影部分領域決定モジュールは、前記特徴点に関連付けられた幾何変換パラメータを利用する請求項1に記載の画像照合装置。
  9.  第1の画像と第2の画像とを照合する画像照合方法であって、
     第2の画像から画像中の部分的な領域を1つ以上計算する処理と、
     前記部分領域に関する部分領域の特徴量を計算する処理と、
     第1の画像と第2の画像のそれぞれから画像の特徴点を計算する処理と、
     前記各画像の特徴点から特徴点の配置を計算する処理と、
     前記各画像の特徴点の配置から幾何変換不変量である特徴量あるいは幾何変換不変量を要素とする特徴ベクトルを計算する処理と、
     第1の画像から計算された前記特徴量あるいは前記特徴ベクトルと第2の画像から計算された前記特徴量あるいは前記特徴ベクトルとが一致するかどうかを判定する処理と、
     第1の画像と第2の画像との間の幾何変換パラメータを推定する処理と、
     前記幾何変換パラメータを利用して、前記第2の画像の部分領域に相当する第1の画像上の部分領域を計算する処理と、
     前記求められた前記第2の画像の部分領域に相当する第1の画像上の部分領域に関する投影画像の部分領域の特徴量を計算する処理と、
     前記投影画像の部分領域の特徴量と、前記部分領域の特徴量とが一致するかを判定する処理を実行することを特徴とする画像照合方法。
  10.  前記推定される前記幾何変換パラメータが、画像上の位置によらずに一定の値であり、
    前記推定された画像上の位置によらずに一定の値をとる幾何変換パラメータを利用する請求項9に記載の画像照合方法。
  11.  前記幾何変換パラメータに加えて、前記幾何変換に関して予め与えられたパラメータ値の1つ以上を用いて、1つ以上の部分領域候補を計算し、前記1つ以上の予め与えられたパラメータ値の少なくとも1つを用いて計算された前記部分領域候補が一致したことをもって、部分領域が一致したと判定する請求項9に記載の画像照合方法。
  12.  前記部分領域において第2の幾何変換不変量を特徴量として用い、
     前記第2の画像の部分領域に相当する第1の画像上の部分領域において、前記幾何変換不変量を特徴量として用いる請求項9に記載の画像照合方法。
  13.  画像中の図領域に関する連結領域の重心を特徴量として抽出する請求項9に記載の画像照合方法。
  14.  前記第1の画像の部分領域特徴量と前記第2の画像の部分領域特徴量とが一致した数を計算する請求項9に記載の画像照合方法。
  15.  前記推定される幾何変換パラメータとして、1つ以上の幾何変換パラメータを利用する請求項9に記載の画像照合方法。
  16.  前記推定される前記幾何変換パラメータを前記各画像の特徴点の配置内の特徴点に関連付け、前記特徴点に関連付けられた幾何変換パラメータを利用する請求項9に記載の画像照合方法。
  17.  第1の画像と第2の画像とを照合する制御を行う画像照合プログラムであって、
     コンピュータに、
     第2の画像から画像中の部分的な領域を1つ以上計算する機能と、
     前記部分領域に関する部分領域の特徴量を計算する機能と、
     第1の画像と第2の画像のそれぞれから画像の特徴点を計算する機能と、
     前記各画像の特徴点から特徴点の配置を計算する機能と、
     前記各画像の特徴点の配置から幾何変換不変量である特徴量あるいは幾何変換不変量を要素とする特徴ベクトルを計算する機能と、
     第1の画像から計算された前記特徴量あるいは前記特徴ベクトルと第2の画像から計算された前記特徴量あるいは前記特徴ベクトルとが一致するかどうかを判定する機能と、
     第1の画像と第2の画像との間の幾何変換パラメータを推定する機能と、
     前記幾何変換パラメータを利用して、前記第2の画像の部分領域に相当する第1の画像上の部分領域を計算する機能と、
     前記求められた前記第2の画像の部分領域に相当する第1の画像上の部分領域に関する投影画像の部分領域の特徴量を計算する機能と、
     前記投影画像の部分領域の特徴量と、前記部分領域の特徴量とが一致するかを判定する機能とを実行させることを特徴とする画像照合プログラム。
  18.  前記推定される前記幾何変換パラメータが、画像上の位置によらずに一定の値であり、
    前記推定された画像上の位置によらずに一定の値をとる幾何変換パラメータを利用する請求項17に記載の画像照合プログラム。
  19.  前記コンピュータに、
     前記幾何変換パラメータに加えて、前記幾何変換に関して予め与えられたパラメータ値の1つ以上を用いて、1つ以上の部分領域候補を計算し、前記1つ以上の予め与えられたパラメータ値の少なくとも1つを用いて計算された前記部分領域候補が一致したことをもって、部分領域が一致したと判定する機能を実行させる請求項17に記載の画像照合プログラム。
  20.  前記部分領域において第2の幾何変換不変量を特徴量として用い、
     前記第2の画像の部分領域に相当する第1の画像上の部分領域において、前記幾何変換不変量を特徴量として用いる請求項17に記載の画像照合プログラム。
  21.  前記コンピュータに、
     画像中の図領域に関する連結領域の重心を特徴量として抽出する機能を実行させる請求項17に記載の画像照合プログラム。
  22.  前記コンピュータに、
     前記第1の画像の部分領域特徴量と前記第2の画像の部分領域特徴量とが一致した数を計算する機能を実行させる請求項17に記載の画像照合プログラム。
  23.  前記推定される幾何変換パラメータとして、1つ以上の幾何変換パラメータを利用する請求項17に記載の画像照合プログラム。
  24.  前記推定される前記幾何変換パラメータを前記各画像の特徴点の配置内の特徴点に関連付け、前記特徴点に関連付けられた幾何変換パラメータを利用する請求項17に記載の画像照合プログラム。
PCT/JP2009/068877 2008-11-10 2009-11-05 画像照合装置、画像照合方法および画像照合用プログラム WO2010053109A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP09824808A EP2387003A1 (en) 2008-11-10 2009-11-05 Image matching device, image matching method, and image matching program
JP2010536779A JP5569394B2 (ja) 2008-11-10 2009-11-05 画像照合装置、画像照合方法および画像照合用プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008288260 2008-11-10
JP2008-288260 2008-11-10
JP2009103116 2009-04-21
JP2009-103116 2009-04-21

Publications (1)

Publication Number Publication Date
WO2010053109A1 true WO2010053109A1 (ja) 2010-05-14

Family

ID=42152917

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/068877 WO2010053109A1 (ja) 2008-11-10 2009-11-05 画像照合装置、画像照合方法および画像照合用プログラム

Country Status (3)

Country Link
EP (1) EP2387003A1 (ja)
JP (1) JP5569394B2 (ja)
WO (1) WO2010053109A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114401A1 (ja) 2011-02-23 2012-08-30 日本電気株式会社 特徴点照合装置、特徴点照合方法、および特徴点照合プログラムが格納された非一時的なコンピュータ可読媒体
WO2013125494A1 (ja) * 2012-02-24 2013-08-29 日本電気株式会社 画像照合装置、画像照合方法とプログラム
WO2014061221A1 (ja) * 2012-10-18 2014-04-24 日本電気株式会社 画像部分領域抽出装置、画像部分領域抽出方法および画像部分領域抽出用プログラム
JP2016157268A (ja) * 2015-02-24 2016-09-01 日本電信電話株式会社 画像照合装置、及び方法
US9830336B2 (en) 2012-10-18 2017-11-28 Nec Corporation Information processing device, information processing method and information processing program
CN113052260A (zh) * 2021-04-21 2021-06-29 合肥中科类脑智能技术有限公司 基于图像配准和目标检测的变电站异物识别方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116668719A (zh) * 2018-09-06 2023-08-29 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092963A (ja) 1999-09-27 2001-04-06 Fujitsu Ltd 画像照合方法および装置
JP2005049212A (ja) * 2003-07-28 2005-02-24 Fuji Xerox Co Ltd 印刷品質検査装置及び方法
WO2006092957A1 (ja) 2005-03-01 2006-09-08 Osaka Prefecture University Public Corporation 文書・画像検索方法とそのプログラム、文書・画像登録装置および検索装置
WO2008066152A1 (fr) 2006-11-30 2008-06-05 Nec Corporation Dispositif, procédé et programme de génération de valeur caractéristique d'image de document
JP2008288260A (ja) 2007-05-15 2008-11-27 Elpida Memory Inc 半導体装置及びその製造方法
JP2009103116A (ja) 2007-10-03 2009-05-14 Tgk Co Ltd 可変容量圧縮機用制御弁

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092963A (ja) 1999-09-27 2001-04-06 Fujitsu Ltd 画像照合方法および装置
JP2005049212A (ja) * 2003-07-28 2005-02-24 Fuji Xerox Co Ltd 印刷品質検査装置及び方法
WO2006092957A1 (ja) 2005-03-01 2006-09-08 Osaka Prefecture University Public Corporation 文書・画像検索方法とそのプログラム、文書・画像登録装置および検索装置
WO2008066152A1 (fr) 2006-11-30 2008-06-05 Nec Corporation Dispositif, procédé et programme de génération de valeur caractéristique d'image de document
JP2008288260A (ja) 2007-05-15 2008-11-27 Elpida Memory Inc 半導体装置及びその製造方法
JP2009103116A (ja) 2007-10-03 2009-05-14 Tgk Co Ltd 可変容量圧縮機用制御弁

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOMOHIRO NAKAI ET AL.: "Tokuchoten no Kyokushoteki Haichi ni Motozuku Real Time Bunsho Gazo Kensaku to sono Kakucho Genjitsu eno Oyo", IPSJ SIG NOTES CVIM, vol. 2006, no. 93, 9 September 2006 (2006-09-09), pages 41 - 48, XP008141120 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114401A1 (ja) 2011-02-23 2012-08-30 日本電気株式会社 特徴点照合装置、特徴点照合方法、および特徴点照合プログラムが格納された非一時的なコンピュータ可読媒体
US20130315490A1 (en) * 2011-02-23 2013-11-28 Tatsuo Akiyama Feature point matching device, feature point matching method, and non-transitory computer readable medium storing feature matching program
JP5958460B2 (ja) * 2011-02-23 2016-08-02 日本電気株式会社 特徴点照合装置、特徴点照合方法、および特徴点照合プログラム
US9430711B2 (en) 2011-02-23 2016-08-30 Nec Corporation Feature point matching device, feature point matching method, and non-transitory computer readable medium storing feature matching program
WO2013125494A1 (ja) * 2012-02-24 2013-08-29 日本電気株式会社 画像照合装置、画像照合方法とプログラム
WO2014061221A1 (ja) * 2012-10-18 2014-04-24 日本電気株式会社 画像部分領域抽出装置、画像部分領域抽出方法および画像部分領域抽出用プログラム
US9830336B2 (en) 2012-10-18 2017-11-28 Nec Corporation Information processing device, information processing method and information processing program
JP2016157268A (ja) * 2015-02-24 2016-09-01 日本電信電話株式会社 画像照合装置、及び方法
CN113052260A (zh) * 2021-04-21 2021-06-29 合肥中科类脑智能技术有限公司 基于图像配准和目标检测的变电站异物识别方法及系统

Also Published As

Publication number Publication date
JP5569394B2 (ja) 2014-08-13
EP2387003A1 (en) 2011-11-16
JPWO2010053109A1 (ja) 2012-04-05

Similar Documents

Publication Publication Date Title
JP5569394B2 (ja) 画像照合装置、画像照合方法および画像照合用プログラム
JP5487970B2 (ja) 特徴点配置照合装置及び画像照合装置、その方法及びプログラム
US7995805B2 (en) Image matching apparatus, image matching method, computer program and computer-readable storage medium
US7200270B2 (en) Pattern recognition apparatus and method using distributed model representation of partial images
JP4303410B2 (ja) 紋様中心決定装置および紋様方向決定装置並びに紋様位置合わせ装置および紋様照合装置
Zhang et al. 3D face authentication and recognition based on bilateral symmetry analysis
CN102902959B (zh) 基于二代身份证存储证件照的人脸识别方法及系统
US9412164B2 (en) Apparatus and methods for imaging system calibration
JPWO2014103297A1 (ja) 物体識別装置、方法及びプログラム
JP2003323622A (ja) 画像認識システム及びその認識方法並びにプログラム
ter Haar et al. Expression modeling for expression-invariant face recognition
JP5958460B2 (ja) 特徴点照合装置、特徴点照合方法、および特徴点照合プログラム
WO1994023390A1 (en) Apparatus for identifying person
CN109961082B (zh) 物体识别处理装置、物体识别处理方法以及存储介质
JP3914864B2 (ja) パターン認識装置及びその方法
JP4946878B2 (ja) 画像識別装置及びプログラム
CN109858433B (zh) 一种基于三维人脸模型识别二维人脸图片的方法及装置
US8861803B2 (en) Image recognition apparatus, image recognition method, and program
JP3577908B2 (ja) 顔画像認識システム
JP2013218605A (ja) 画像認識装置、画像認識方法及びプログラム
US6968501B2 (en) Document format identification apparatus and method
JP2008065651A (ja) 顔画像認証方法、顔画像認証装置、および、プログラム
WO2023028947A1 (zh) 掌静脉非接触式三维建模方法、装置及认证方法
JP4683238B2 (ja) オブジェクト認識装置、オブジェクト認識方法、およびオブジェクト認識プログラム
WO2017179728A1 (ja) 画像認識装置、画像認識方法および画像認識プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09824808

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2010536779

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2009824808

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE