WO2014073288A1 - 画像処理装置、画像処理方法および画像処理プログラム - Google Patents

画像処理装置、画像処理方法および画像処理プログラム Download PDF

Info

Publication number
WO2014073288A1
WO2014073288A1 PCT/JP2013/076640 JP2013076640W WO2014073288A1 WO 2014073288 A1 WO2014073288 A1 WO 2014073288A1 JP 2013076640 W JP2013076640 W JP 2013076640W WO 2014073288 A1 WO2014073288 A1 WO 2014073288A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
amplitude component
unit
image processing
rectangular
Prior art date
Application number
PCT/JP2013/076640
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 US14/437,621 priority Critical patent/US20150262028A1/en
Priority to JP2013555693A priority patent/JP5500328B1/ja
Priority to EP13852732.0A priority patent/EP2919196A4/en
Publication of WO2014073288A1 publication Critical patent/WO2014073288A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/431Frequency domain transformation; Autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • 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/37Determination of transform parameters for the alignment of images, i.e. image registration using transform domain methods
    • 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/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, and an image processing program for estimating an image rotation amount.
  • RIPOC is a technique that focuses on the characteristics of the amplitude component. That is, in RIPOC, an image is frequency-converted and its amplitude component is polar-coordinate converted to create a polar coordinate image having an angle ⁇ in the X direction and a radius r in the Y direction. Then, matching is performed between polar coordinate images.
  • the deviation in the X direction corresponds to the angular deviation in the actual image. Therefore, the rotation amount can be estimated from the matching result.
  • the shapes of the reference image (template) and the other images to be compared are both limited to squares. That is, in the conventional RIPOC, when a square image having the same size (number of pixels) in the X direction and the Y direction is targeted, and the image is rotated, the amplitude component when the frequency is converted is also rotated by the same amount. was the premise.
  • the conventional RPOC does not consider the case where the shape of the image is not square, and has a problem that the shape of the template is limited to a square, for example. That is, there has been a problem that the rotation amount estimation process cannot be performed for images having different vertical and horizontal sizes.
  • the present invention has been made in view of such problems, and provides an image processing apparatus, an image processing method, and an image processing program capable of estimating a rotation amount even when the vertical and horizontal sizes of an image are different. It is intended to provide.
  • an image processing apparatus is an image processing apparatus that estimates a rotation amount between a first image and a second image, at least one of which is rectangular.
  • the frequency conversion of the first image and the second image with respect to the rectangular space of the derivation unit for deriving the respective amplitude components and the first image and the second image is performed on the frequency space.
  • An adjustment unit for performing an adjustment so that the short side size matches the long side size, and the amplitude component of the first image and the amplitude component of the second image adjusted by the adjustment unit The first image is calculated by calculating a position shift amount between the polar coordinate converted image of the amplitude component of the first image and the polar coordinate converted image of the amplitude component of the second image. To output the amount of rotation between the image and the second image And a matching unit.
  • an image processing method is a method for estimating a rotation amount between a first image and a second image, at least one of which is rectangular, wherein the first image and the second image For the rectangular image of the first image and the second image, the size of the short side in the frequency space matches the size of the long side.
  • a step of performing an adjustment to extend the image a step of performing a polar coordinate conversion between the amplitude component of the first image and the amplitude component of the second image after the adjustment, and a polar coordinate conversion image of the amplitude component of the first image And outputting a rotation amount between the first image and the second image by calculating a positional shift amount between the first image and the polar coordinate conversion image of the amplitude component of the second image.
  • an image processing program is a program that causes a computer to execute a process of estimating a rotation amount between a first image and a second image, at least one of which is rectangular.
  • the frequency conversion of the first image and the second image, the respective amplitude components being derived, and the rectangular size of the first image and the second image, the size of the short side in the frequency space Adjusting for expansion so that the length of the first image coincides with the size of the long side, converting the amplitude component of the first image and the amplitude component of the second image after the adjustment, and the first image
  • a step of outputting a rotation amount between the first image and the second image by calculating a positional shift amount between the polar coordinate converted image of the amplitude component of the second image and the polar coordinate converted image of the amplitude component of the second image.
  • the present invention it is possible to estimate the rotation amount between the first image and the second image even when the vertical and horizontal sizes of the images are different.
  • FIGS. 7A and 7B are diagrams for explaining polar coordinate conversion, in which FIG.
  • FIG. 7A shows an image before conversion
  • FIG. 7B shows an image after conversion
  • 3 is a block diagram illustrating a specific example of a functional configuration of the image processing apparatus according to the first embodiment.
  • FIG. It is a flowchart showing the flow of corresponding point search operation
  • FIG. 15 is a diagram for explaining the rotation when the image is rectangular.
  • a rectangular area of 256 pixels (X direction) ⁇ 128 pixels (Y direction) has a stripe pattern of 1/64 (period / pixel) in real space in the X direction.
  • the size serving as a base for calculating the spatial frequency is also different.
  • the spatial frequency in the real space has been described, but there is a similar problem when the image is subjected to frequency conversion.
  • the frequency distribution shape is distorted depending on the amount of rotation.
  • FIG. 1 is a block diagram illustrating a specific example of the configuration of the image processing apparatus 100 according to the embodiment.
  • FIG. 1 an example in which the image processing apparatus 100 according to the present embodiment is realized by a general personal computer is shown.
  • an image processing apparatus 100 is mainly mounted on a computer having a general-purpose architecture.
  • an image processing apparatus 100 includes, as main components, a CPU (Central Processing Unit) 102, a RAM (Random Access Memory) 104, a ROM (Read Only Memory) 106, and a network interface (I / F). ) 108, auxiliary storage device 110, display unit 120, input unit 122, and memory card interface (I / F) 124. Each component is communicably connected to each other via a bus 130.
  • the CPU 102 controls the entire image processing apparatus 100 by executing various programs such as an operating system (OS) and an image processing program stored in the ROM 106, the auxiliary storage device 110, and the like.
  • OS operating system
  • image processing program stored in the ROM 106, the auxiliary storage device 110, and the like.
  • the RAM 104 functions as a working memory for executing a program by the CPU 102, and temporarily stores various data necessary for executing the program.
  • the ROM 106 stores an initial program (boot program) that is executed when the image processing apparatus 100 is started up.
  • the network I / F 108 exchanges data with other devices (such as server devices) via various communication media. More specifically, the network I / F 108 is connected via a wired line such as Ethernet (registered trademark) (LAN (Local Area Network) or WAN (Wide Area Network)) and / or a wireless line such as a wireless LAN. Data communication.
  • a wired line such as Ethernet (registered trademark) (LAN (Local Area Network) or WAN (Wide Area Network)) and / or a wireless line such as a wireless LAN.
  • Ethernet registered trademark
  • LAN Local Area Network
  • WAN Wide Area Network
  • the auxiliary storage device 110 typically includes a large-capacity magnetic storage medium such as a hard disk, and the like.
  • the image processing program 112 for realizing various types according to the present embodiment, the search image 114 to be processed, the template image 300, and the like. Is stored. Further, the auxiliary storage device 110 may store a program such as an operating system.
  • the search image 114 and the template image 300 are stored in order to search for a position on the search image 114 (second image) corresponding to the template image 300 (first image) registered in advance, for example.
  • the main body of the image processing apparatus 100 does not have to have a function of capturing a subject.
  • the image processing apparatus 100 acquires these images using a mechanism similar to a digital camera as will be described later, and uses these images in an arbitrary manner. You may make it input into. More specifically, these images are input to the image processing apparatus 100 via the network I / F 108 and the memory card I / F 124 described above.
  • the display unit 120 displays a GUI (Graphical User Interface) screen provided by the operating system, an image generated by executing the image processing program 112, and the like.
  • GUI Graphic User Interface
  • the input unit 122 typically includes a keyboard, a mouse, a touch panel, and the like, and outputs the content of the instruction received from the user to the CPU 102 or the like.
  • the memory card I / F 124 reads / writes data from / to various memory cards (nonvolatile storage media) 126 such as an SD (Secure Digital) card and a CF (Compact Flash (registered trademark)) card.
  • various memory cards nonvolatile storage media
  • SD Secure Digital
  • CF Compact Flash
  • the memory card I / F 124 is loaded with a memory card 126 storing an input image acquired by some device, and the input image read from the memory card 126 is stored (copied) in the auxiliary storage device 110.
  • the image processing program 112 stored in the auxiliary storage device 110 is stored in a storage medium such as a CD-ROM (Compact Disk-Read Only Memory) and distributed, or distributed from a server device or the like via a network.
  • the image processing program 112 calls a necessary module among program modules provided as part of an operating system executed by the image processing apparatus 100 (personal computer) at a predetermined timing and in order to realize the processing. May be.
  • the image processing program 112 itself does not include a module provided by the operating system, and image processing is realized in cooperation with the operating system.
  • the image processing program 112 may be provided by being incorporated in a part of some program instead of a single program.
  • the image processing program 112 itself does not include a module that is commonly used in the program, and image processing is realized in cooperation with the program. Even such an image processing program 112 that does not include some modules does not depart from the spirit of the image processing apparatus 100 according to the present embodiment.
  • image processing program 112 may be realized by dedicated hardware.
  • the image processing apparatus 100 is not limited to that realized by a general personal computer as illustrated in FIG. 1, and other configurations similar to a digital camera or a terminal such as a mobile phone It may be realized by a device or the like. Further, it may be in the form of a so-called cloud service in which at least one server device realizes processing according to the present embodiment.
  • the user transmits the search image 114 and the template image 300 to the server device (cloud side) using his / her terminal (such as a personal computer or a smartphone), and the transmitted search image 114 and template image 300 are transmitted.
  • the server device side performs image processing according to the present embodiment is assumed.
  • it is not necessary for the server device side to perform all functions (processing), and the user side terminal and the server device may cooperate to realize the image processing according to the present embodiment.
  • a corresponding point search operation involving rotation amount estimation is performed. That is, in the corresponding point search operation, the image processing apparatus 100 detects how much another image (hereinafter referred to as a search image) to be compared is rotated with respect to a reference image (hereinafter referred to as a template image). The rotation amount estimation process is executed.
  • the angle estimation process In the rotation amount estimation process, generally, when using a template matching method such as SAD (Sum of Absolute Differences) or SSD (Sum of Squared Differences), the angle is estimated by rotating and matching the template image. To do. However, in this method, if the angle is estimated with an accuracy of 1 °, for example, the template has to be rotated 360 times each of 0 ° to 359 ° and matching is performed, so that the processing time becomes long. For this reason, the image processing apparatus 100 according to the present embodiment employs an angle estimation method based on the RIPOC (Rotation Invariant Phase Only Correlation) method to estimate the rotation amount and perform a corresponding point search operation. . In the RIPOC method, the amount of rotation between a plurality of images is estimated by frequency-converting an image and performing polar coordinate conversion of the amplitude component and collating them.
  • RIPOC Ratation Invariant Phase Only Correlation
  • FIG. 2 is a schematic diagram showing a rotation amount estimation processing algorithm according to the first embodiment.
  • the algorithm of the rotation amount estimation process according to the first embodiment includes amplitude component derivation processes 202 and 212, adjustment processes 203 and 213, compression processes 204 and 214, polar coordinate conversion process 206, 216 and a matching process 208.
  • the amplitude component derivation processes 202 and 212 obtain the amplitude component by converting the search image and the template image into frequency components (amplitude component and phase component), respectively.
  • frequency components amplitude component and phase component
  • Fourier transform is used, but Laplace transform or the like may be used.
  • the phase component is not necessarily required, and thus may not be calculated.
  • the search image and the template image are rectangles, and at least one of them is a rectangle having different vertical and horizontal sizes.
  • the adjustment processes 203 and 213 are processes for aligning the one with fewer frequency components (hereinafter referred to as the short side) in the frequency space to the one with more frequency components (hereinafter referred to as the long side). To do. That is, processing for matching the vertical and horizontal sizes in the frequency space is performed. This processing is equivalent to matching the unit frequency, that is, the size (number of pixels) at which the frequency is 1 in the vertical and horizontal directions of the same image without changing the period per pixel in real space. Since the period per pixel is not changed, information on the frequency component (amplitude component) is maintained before and after the adjustment process.
  • 3 and 4 are diagrams showing specific examples of amplitude component images before and after adjustment according to the first embodiment.
  • the vertical axis and the horizontal axis indicate frequency components (amplitude components) in the XY direction. As shown in FIG. 3 and FIG. 4, these are matched by extending the smaller frequency component (short side) to the same size (long side) and the same size (long side).
  • the interpolation method for the portion without information at the time of expansion is performed using the average value of the peripheral coordinate values, but other methods may be used. By this adjustment, the frequency component is maintained even when the rotation is performed, and the angle can be estimated.
  • the adjustment processes 203 and 213 may be executed on at least one of the template image and the search image. That is, if the template image is a rectangle having different vertical and horizontal sizes and the search image is a square, adjustment processing only needs to be performed for the template image.
  • 5 and 6 are diagrams for explaining the influence of rotation in matching between the case where the search image is rectangular and the case where the search image is square.
  • the image processing apparatus 100 rotates the template image and then performs a matching process with the search image to thereby position the template image on the search image. Is estimated.
  • a case where a rectangular image (region indicated by a frame in the drawing) including both eyes of a person is set as a template image will be described. If the search image is a rectangle of the same size, and the image is not rotated, it is possible to set the same area as the template image in the right diagram of FIG. 5 and perform matching with the template image. Can do. On the other hand, when the image is rotated, the area including both eyes cannot be set as the search image as shown in the left diagram of FIG. Matching with will not go well.
  • the search image when the search image is a square, it is possible to suppress the possibility that the subject is completely closed as shown in FIG. That is, not only when the image is not rotated (right diagram in FIG. 6) but also when the image is rotated (right diagram in FIG. 6), a region including both eyes can be set as the search image. it can. That is, in this case, the template image is rectangular and the search image is square. In this way, even if the template image and the search image have different shapes, the rotation amount can be estimated by adjusting the template image using the adjustment processes 203 and 213. For this reason, for example, by using a square search image for a rectangular template image, it is possible to perform a search because the object is not seen when the rotation amount is large while suppressing the use of unnecessary objects in the template image. You can avoid the situation of disappearing.
  • Compression processing 204, 214 compresses the amplitude component of the search image and the template image, respectively.
  • Examples of the compression method include a logarithmization method, a square root calculation method, and a N-th power with a predetermined value N less than 1.
  • Polar coordinate conversion processes 206 and 216 convert the compressed amplitude components of the search image and the template image into polar coordinate components, respectively. By this conversion, the rotation angle is expressed as a coordinate point on two-dimensional coordinates.
  • FIGS. 7A and 7B are diagrams for explaining polar coordinate conversion, in which FIG. 7A shows an image before conversion, and FIG. 7B shows an image after conversion.
  • the polar component conversion processing 206 and 216 converts the amplitude component of the image into a polar coordinate component represented by an angle theta in the X direction and a radius r in the Y direction.
  • FIG. 7 shows polar coordinate conversion of an image in real space for easy understanding.
  • the matching processing 208 associates the results of the polar coordinate conversion output from the polar coordinate conversion processing 206 and 216, respectively, and obtains a positional deviation amount.
  • one axis represents the angle theta and the other axis represents the radius r, so that the shift amount on the theta side represents the rotation amount.
  • the matching processing 208 detects a deviation amount by calculating a POC value (similarity) distribution having the same size as the image size and specifying a peak position of the distribution in one processing. . That is, the matching processing 208 specifies the position where the similarity is the highest among the results of the polar coordinate conversion, and outputs the rotation amount corresponding to the estimated rotation angle.
  • POC value similarity
  • the adjustment processes 203 and 213 are performed before the compression processes 204 and 214.
  • the adjustment can be performed based on finer amplitude components, and the accuracy can be improved.
  • these processing orders are not limited to the order illustrated in FIG. That is, the adjustment processes 203 and 213 may be performed after the compression processes 204 and 214, or may be performed after the polar coordinate conversion processes 206 and 216. Since the data before the compression processes 204 and 214 are easily affected by illumination changes and shading, the adjustment processes 203 and 213 are performed after the compression processes 204 and 214, so that fluctuation due to such noise can be suppressed. Therefore, preferably, the processing order is switched according to the subject and the environment.
  • FIG. 8 is a block diagram showing a specific example of a functional configuration of the image processing apparatus 100 according to the first embodiment for performing the corresponding point search operation with the rotation amount estimation.
  • Each function in FIG. 8 is a function mainly formed on the CPU 102 when the CPU 102 of the image processing apparatus 100 reads out the program stored in the ROM 106 or the auxiliary storage device 110 to the RAM 104 and executes the program.
  • At least a part may be realized by the hardware configuration shown in FIG.
  • the auxiliary storage device 110 is provided with an image storage unit 111 that is a storage area for storing the search image 114 and the template image 300.
  • image processing apparatus 100 includes an angle estimation unit 10, an image reading unit 11, a position estimation unit 17, and an output unit 18 as its main functional configuration.
  • the image reading unit 11 reads the search image 114 and the template image 300 from the image storage unit 111 and inputs them to the angle estimation unit 10.
  • the angle estimation unit 10 includes an amplitude component deriving unit 12 for performing amplitude component deriving processes 202 and 212, an adjusting unit 13 for performing adjustment processes 203 and 213, and a compressing unit 14 for performing compression processes 204 and 214. And a conversion unit 15 for performing polar coordinate conversion processing 206 and 216 and a matching unit 16 for performing matching processing 208.
  • the position estimation unit 17 specifies the rotation angle between the search image 114 and the template image 300 based on the result of the matching process in the matching unit 16 and corrects the angle so that the template image 300 is rotated by the angle.
  • the position of the search image on the template image 300 is estimated, and the position information is input to the output unit 18.
  • the output unit 18 may output the position information by, for example, displaying the position information on the display unit 120, or may output the position information to another device from the network I / F 108 via various communication media.
  • FIG. 9 is a flowchart showing the flow of the corresponding point search operation in the image processing apparatus 100 according to the first embodiment. The operation shown in the flowchart of FIG. 9 is performed by causing the CPU 102 of the image processing apparatus 100 to read out and execute a program stored in the ROM 106, the auxiliary storage device 110, and the like to the RAM 104, and exhibit each function of FIG. Realized.
  • a template image and a search image are acquired (steps S101 and S103). At least one of the template image and the search image is a rectangular image.
  • each image is frequency-converted to derive its amplitude component (step S105), and at least one image (rectangular image) is adjusted by adjusting the vertical and horizontal sizes in the frequency space (step S105). S107).
  • step S109 the amplitude components of the search image and the template image are compressed (step S109), and the compressed amplitude components of the search image and the template image are converted into polar coordinate components (step S111). By matching these polar coordinate images, the displacement amount of these image positions is calculated (step S113).
  • the rotation amount (rotation angle) between the template image and the search image is specified from the shift amount obtained in step S113 (step S115).
  • one image for example, a template image
  • the rotation angle for example, a template image
  • the search image for example, a template image
  • Position information representing the position of the template image on the search image estimated by the matching process is output as information representing the corresponding point (step S121).
  • FIG. 10 is a schematic diagram showing an algorithm of the rotation amount estimation process according to the second embodiment.
  • the algorithm of the rotation amount estimation process according to the second embodiment includes adjustment processes 201 and 211, amplitude component derivation processes 202 and 212, compression processes 204 and 214, polar coordinate conversion process 206, 216 and a matching process 208.
  • the adjustment processing 201 and 211 when the vertical and horizontal sizes of the images are different in real space, the adjustment processing 201 and 211 has a unit frequency, that is, a frequency, without changing the period per pixel. Match the size (number of pixels) of 1 vertically and horizontally. That is, the processing for adding image information is performed so that the size of the short side matches the size of the long side without changing the cycle per pixel in the real space. Then, the amplitude component derivation processes 202 and 212 frequency-convert the adjusted image and derive the amplitude component.
  • FIG. 11 is a diagram illustrating a specific example of a real space image before and after adjustment according to the second embodiment.
  • the side having the smaller number of pixels hereinafter referred to as the short side
  • the long side is made the same size as the one having the larger number (hereinafter referred to as the long side).
  • a method is mentioned.
  • the image is regarded as a periodic image in which the image end is connected to the opposite end, and the size is enlarged by adding the image at the opposite end to the image end.
  • the amplitude component after frequency conversion is expanded so that the size of the short side matches the size of the long side in the frequency space, as in FIG. .
  • extension method in the adjustment process is not limited to the method illustrated in FIG. 11, and may be another method.
  • 12 and 13 are diagrams showing specific examples of real space images before and after adjustment by another method.
  • FIG. 12 there is a method of enlarging the size by folding the image (adding the inverted image).
  • FIG. 13 there is a method of expanding the size by filling with a predetermined value (for example, 0) (adding a predetermined value (for example, 0)).
  • the signal component is calculated as a periodic function. For example, since an image whose edge portion is a predetermined value (for example, 0) as shown in FIG. 13B has a signal that changes rapidly, a frequency component that does not originally exist is observed during frequency conversion. Problems can occur. However, since the influence can be reduced by applying a window function such as a Hanning window before Fourier transform, as an enlargement method in the adjustment process, enlargement by adding a predetermined value as shown in FIG. The method can be adopted.
  • a window function such as a Hanning window before Fourier transform
  • the functional configuration of the image processing apparatus 100 according to the second embodiment is substantially the same as the functional configuration of the image processing apparatus 100 according to the first embodiment shown in FIG.
  • the adjustment unit 13 performs adjustment processing 201 and 211, and inputs the result to the amplitude component deriving unit 12.
  • the amplitude component calculated by the amplitude component deriving unit 12 is input to the compression unit 14.
  • FIG. 14 is a flowchart showing the flow of the corresponding point search operation in the image processing apparatus 100 according to the second embodiment. 14 also causes the CPU 102 of the image processing apparatus 100 to read out the program stored in the ROM 106, the auxiliary storage device 110, and the like to the RAM 104 and execute the program, thereby exercising the functions shown in FIG. It is realized by.
  • step S104 when the processing of steps S101 to S103 is performed and the template image and the search image are acquired, at least one image (rectangular shape) is obtained.
  • the above-described adjustment is performed on the real image in the real space (step S104).
  • the frequency of the adjusted image is converted, and the amplitude component is derived (step S105).
  • step S105 Thereafter, the same processing as that of the image processing apparatus 100 according to the first embodiment after S109 is performed, so that the position information is output.
  • this adjustment may be performed in the frequency space or in the real space.
  • the amount of calculation can be reduced as compared with the case of performing in the real space.
  • the interpolation can be performed with higher accuracy than the interpolation at the time of adjustment in the frequency space, the accuracy can be improved.

Landscapes

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

Abstract

 画像処理装置は少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する画像処理装置であって、CPU(102)に角度推定部(10)を有し、角度推定部(10)は、第1の画像と第2の画像とを周波数変換し、それぞれの振幅成分を導出するための振幅成分導出部(12)と、長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうための調整部(13)と、調整された、第1の画像の振幅成分と第2の画像の振幅成分とを極座標変換するための変換部(15)と、両極座標変換画像の位置のずれ量を算出することで、第1の画像と第2の画像との間の回転量を出力するためのマッチング部(16)とを含む。

Description

画像処理装置、画像処理方法および画像処理プログラム
 この発明は、画像の回転量推定を行なう画像処理装置、画像処理方法および画像処理プログラムに関する。
 基準となる画像(テンプレート)に対して比較対象となる他の画像がどの程度回転しているかを検出するための回転量推定処理として、従来、SAD(Sum of Absolute Differences)やSSD(Sum of Squared Differences)に代表されるテンプレートマッチング手法を用いテンプレートを回転させる手法が採られることが多い。
 しかしながら、上記の方法では処理時間が長くなるなどの問題がある。
 上記問題を解決する方法の一例として、特開平10-124667号公報(以下、特許文献1)に開示されているような、RIPOC(Rotation Invariant Phase Only Correlation:回転不変位相限定相関)などと呼ばれる、画像を周波数変換し、その振幅成分を極座標変換して回転量を推定する手法が提案されている。
 画像が回転すると画像の周波数成分も変化する。周波数成分のうちの位相成分の変化は非常に複雑であるが、振幅成分については画像の回転に応じた回転であり、さらにその変化は回転中心の位置に依存しない。RIPOCはこの振幅成分の特性に着目した手法である。すなわち、RIPOCでは、画像を周波数変換し、その振幅成分が極座標変換されて、X方向が角度θ、Y方向が半径rとなるような極座標画像が作成される。そして、極座標画像間でマッチングが行なわれる。
 極座標画像間でのマッチングでは、X方向のずれが実際の画像での角度ずれに相当する。そのため、マッチング結果から回転量を推定することができる。
特開平10-124667号公報
 しかしながら、従来のRIPOCでは、基準となる画像(テンプレート)および比較対象となる他の画像の形状が共に正方形に限定されていた。すなわち、従来のRIPOCでは、X方向およびY方向のサイズ(画素数)が同じである正方形の画像を対象とし、画像が回転した場合に、その周波数変換した際の振幅成分も同量回転することが前提であった。
 このように、従来のRIPOCでは、画像の形状が正方形でない場合について考慮されておらず、たとえばテンプレートの形状が正方形に制限されてしまう、という問題があった。すなわち、縦と横とのサイズが異なる画像について回転量の推定処理を行なうことができない、という問題があった。
 本発明はこのような問題に鑑みてなされたものであって、画像の縦と横とのサイズが異なる場合であっても回転量推定が可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的としている。
 上記目的を達成するために、本発明のある局面に従うと、画像処理装置は少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する画像処理装置であって、第1の画像と第2の画像とを周波数変換し、それぞれの振幅成分を導出するための導出部と、第1の画像と第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうための調整部と、調整部によって調整された、第1の画像の振幅成分と第2の画像の振幅成分とを極座標変換するための変換部と、第1の画像の振幅成分の極座標変換画像と第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、第1の画像と第2の画像との間の回転量を出力するためのマッチング部とを備える。
 本発明の他の局面に従うと、画像処理方法は少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する方法であって、第1の画像と第2の画像とを周波数変換し、それぞれの振幅成分を導出するステップと、第1の画像と第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうステップと、調整後に、第1の画像の振幅成分と第2の画像の振幅成分とを極座標変換するステップと、第1の画像の振幅成分の極座標変換画像と第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、第1の画像と第2の画像との間の回転量を出力するステップとを備える。
 本発明のさらに他の局面に従うと、画像処理プログラムは少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する処理をコンピューターに実行させるプログラムであって、第1の画像と第2の画像とを周波数変換し、それぞれの振幅成分を導出するステップと、第1の画像と第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうステップと、調整後に、第1の画像の振幅成分と第2の画像の振幅成分とを極座標変換するステップと、第1の画像の振幅成分の極座標変換画像と第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、第1の画像と第2の画像との間の回転量を出力するステップとをコンピューターに実行させる。
 この発明によると、画像の縦と横とのサイズが異なる場合であっても、第1の画像と第2の画像との間の回転量を推定することが可能となる。
実施の形態にかかる画像処理装置の構成の具体例を示すブロック図である。 第1の実施の形態に従う回転量推定処理のアルゴリズムを示す模式図である。 第1の実施の形態に従う調整前後の振幅成分画像の具体例を表わした図である。 第1の実施の形態に従う調整前後の振幅成分画像の具体例を表わした図である。 探索画像が長方形の場合のマッチングにおける回転の影響を説明するための図である。 探索画像が正方形の場合のマッチングにおける回転の影響を説明するための図である。 極座標変換を説明するための図であって、図7(A)が変換前の画像を表わした図、図7(B)が変換後の画像を表わした図である。 第1の実施の形態にかかる画像処理装置の機能構成の具体例を示すブロック図である。 第1の実施の形態にかかる画像処理装置での対応点探索動作の流れを表わすフローチャートである。 第2の実施の形態に従う回転量推定処理のアルゴリズムを示す模式図である。 第2の実施の形態に従う調整前後の実空間画像の具体例を表わした図である。 他の方法での調整前後の実空間画像の具体例を表わした図である。 他の方法での調整前後の実空間画像の具体例を表わした図である。 第2の実施の形態にかかる画像処理装置での対応点探索動作の流れを表わすフローチャートである。 画像が長方形である場合の回転を説明するための図である。
 <回転の説明>
 まず、本発明の実施の形態の説明の前に、画像が長方形である場合の回転について説明する。
 図15は、画像が長方形である場合の回転を説明するための図である。図15(A)に示されたように、256画素(X方向)×128画素(Y方向)の長方形の領域に、X方向に実空間での1/64(周期/画素)の縞模様が描かれた画像を想定する。この画像のX方向の周波数は256画素/64画素=4(周期/256画素)となる。この縞模様の画像が90°回転すると、図15(B)に示されたように、縞模様は1/64(周期/画素)のままであるが、Y方向の周波数は128画素/64画素=2(周期/128画素)となる。すなわち、X方向とY方向とでサイズ(画素数)が異なるため、空間周波数を算出する際のベースとなるサイズも異なることになる。ここでは実空間での空間周波数について説明したが、画像を周波数変換した際にも同様の課題がある。
 このように画像が長方形の場合、回転しても1画素当たりの周期は維持されるが、空間周波数の分解能、すなわち空間周波数を算出する際のベースとなるサイズがX方向とY方向とで異なるため、同じ被写体でも回転量によってその周波数分布形状が歪んでしまうこととなる。
 先述のようにRIPOCでは周波数成分の変化を角度変化として捉えるため、同じ周波数成分がどう変化しているかを見る必要がある。回転により周波数が変わってしまうと、同じ周波数成分どうしの比較が不可能になり、結果的に角度推定は不可能になってしまう。
 以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
 <装置構成>
 図1は、実施の形態にかかる画像処理装置100の構成の具体例を示すブロック図である。図1の例では、本実施の形態にかかる画像処理装置100を一般的なパーソナルコンピューターにより実現した場合の例が示されている。
 すなわち、図1を参照して、画像処理装置100は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。図1を参照して、画像処理装置100は、主たるコンポーネントとして、CPU(Central Processing Unit)102と、RAM(Random Access Memory)104と、ROM(Read Only Memory)106と、ネットワークインターフェイス(I/F)108と、補助記憶装置110と、表示部120と、入力部122と、メモリーカードインターフェイス(I/F)124とを含む。各コンポーネントは、バス130を介して、互いに通信可能に接続されている。
 CPU102は、ROM106や補助記憶装置110などに格納された、オペレーティングシステム(OS:Operating System)や画像処理プログラムなどの各種プログラムを実行することで、画像処理装置100の全体を制御する。
 RAM104は、CPU102でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。
 ROM106は、画像処理装置100において起動時に実行される初期プログラム(ブートプログラム)などを格納する。
 ネットワークI/F108は、各種の通信媒体を介して、他の装置(サーバー装置など)とデータをやり取りする。より具体的には、ネットワークI/F108は、イーサネット(登録商標)などの有線回線(LAN(Local Area Network)やWAN(Wide Area Network)など)、および/または、無線LANなどの無線回線を介してデータ通信を行なう。
 補助記憶装置110は、典型的には、ハードディスクなどの大容量磁気記憶媒体などからなり、本実施の形態に従う各種を実現するための画像処理プログラム112および処理対象の探索画像114ならびにテンプレート画像300などを格納する。さらに、補助記憶装置110には、オペレーティングシステムなどのプログラムが格納されてもよい。
 探索画像114およびテンプレート画像300は、例えば、予め登録されたテンプレート画像300(第1の画像)に対応する探索画像114(第2の画像)上の位置を探索するために記憶される。画像処理装置100本体は被写体を撮像する機能を有していなくてもよく、後述するようなデジタルカメラに類似した機構を用いてこれら画像を取得し、これら画像を任意の方法で画像処理装置100へ入力するようにしてもよい。より具体的には、上述のネットワークI/F108やメモリーカードI/F124を介して、これら画像が画像処理装置100へ入力される。
 表示部120は、オペレーティングシステムが提供するGUI(Graphical User Interface)画面や画像処理プログラム112の実行によって生成される画像などを表示する。
 入力部122は、典型的には、キーボード、マウス、タッチパネルなどからなり、ユーザーから受付けた指示の内容をCPU102などへ出力する。
 メモリーカードI/F124は、SD(Secure Digital)カードやCF(Compact Flash(登録商標))カードなどの各種メモリーカード(不揮発性記憶媒体)126との間で、データの読み書きを行なう。典型的には、メモリーカードI/F124には、何らかの装置で取得した入力画像を格納したメモリーカード126が装着され、そのメモリーカード126から読み出された入力画像が補助記憶装置110へ格納(コピー)される。
 補助記憶装置110に格納される画像処理プログラム112は、CD-ROM(Compact Disk-Read Only Memory)などの記憶媒体に格納されて流通し、あるいは、ネットワークを介してサーバー装置などから配信される。画像処理プログラム112は、画像処理装置100(パーソナルコンピューター)で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、画像処理プログラム112自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。また、画像処理プログラム112は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、画像処理プログラム112自体には、当該何らかのプログラムにおいて共通に利用されるようなモジュールは含まれず、当該何らかのプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない画像処理プログラム112であっても、本実施の形態に従う画像処理装置100の趣旨を逸脱するものではない。
 さらに、画像処理プログラム112によって提供される機能の一部または全部を専用のハードウェアによって実現してもよい。
 なお、本実施の形態にかかる画像処理装置100は図1に例示されたように一般的なパーソナルコンピューターにより実現されるものに限定されず、その他、デジタルカメラ類似の構成や、携帯電話などの端末装置などによって実現されてもよい。さらに、少なくとも1つのサーバー装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーは、自身の端末(パーソナルコンピューターやスマートフォンなど)を用いて探索画像114およびテンプレート画像300をサーバー装置(クラウド側)へ送信し、当該送信された探索画像114およびテンプレート画像300に対して、サーバー装置側が本実施の形態に従う画像処理を行なうような構成が想定される。さらに、サーバー装置側がすべての機能(処理)を行なう必要はなく、ユーザー側の端末とサーバー装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
 <動作概要>
 本実施の形態にかかる画像処理装置100では、回転量推定を伴う対応点探索動作を行なう。すなわち、画像処理装置100では、対応点探索動作において、基準となる画像(以下、テンプレート画像)に対し、比較対象となる他の画像(以下、探索画像)がどの程度回転しているかを検出する、回転量推定処理を実行する。
 回転量推定処理においては、一般的にSAD(Sum of Absolute Differences)やSSD(Sum of Squared Differences)のテンプレートマッチング手法を用いた場合には、テンプレート画像を回転させてマッチングを行なうことで角度を推定する。しかしながら、この手法では、たとえば1°の精度で角度を推定するとすると、0°~359°のそれぞれ360回テンプレートを回転させ、マッチングを行なわないといけないため処理時間が長くなる。このため、本実施の形態の画像処理装置100では、RIPOC(Rotation Invariant Phase Only Correlation:回転不変位相限定相関)法での角度推定方法を採用して回転量を推定し、対応点探索動作を行なう。RIPOC法では、画像を周波数変換し、その振幅成分を極座標変換して照合することにより、複数の画像間の回転量を推定する。
 [第1の実施の形態]
 図2は、第1の実施の形態に従う回転量推定処理のアルゴリズムを示す模式図である。図2を参照して、第1の実施の形態に従う回転量推定処理のアルゴリズムは、振幅成分導出処理202,212と、調整処理203,213と、圧縮処理204,214と、極座標変換処理206,216と、マッチング処理208とを含む。
 振幅成分導出処理202,212は、それぞれ探索画像およびテンプレート画像を周波数成分(振幅成分および位相成分)に変換することで振幅成分を得る。この変換にはフーリエ変換を用いるが、ラプラス変換などを用いてもよい。なお、RIPOC法においては、位相成分は必ずしも必要ではないので、算出しなくてもよい。探索画像およびテンプレート画像は、矩形であって、少なくとも一方は縦横のサイズが異なる長方形である。
 第1の実施の形態に従う回転量推定処理において、調整処理203,213は、周波数空間上で周波数成分が少ない方(以下、短辺)を周波数成分が多い方(以下、長辺)に揃える処理を行なう。すなわち、周波数空間上で、縦横のサイズを一致する処理がなされる。この処理は、実空間上においては、1画素当たりの周期は変えずに、単位周波数、すなわち周波数が1となるサイズ(画素数)を同一の画像の縦横で合わせることに等しい。1画素当たりの周期は変えないため、周波数成分(振幅成分)の情報は調整処理の前後において維持される。
 図3および図4は、第1の実施の形態に従う調整前後の振幅成分画像の具体例を表わした図である。図3および図4において、縦軸および横軸は、X-Y方向の周波数成分(振幅成分)を示している。図3および図4に表わされたように、周波数成分が少ない方(短辺)を多い方(長辺)と同サイズに伸長することでこれらを合わせる。伸長の際の情報が無い部分の補間の方法は、周辺の座標値の平均値を用いて行なっているが、他の方法であっても構わない。この調整により、回転した場合であっても周波数成分が維持され、角度推定が可能となる。
 なお、回転量推定処理のアルゴリズムでは、調整処理203,213は、テンプレート画像と探索画像とのうちの少なくとも一方の画像について実行されればよい。すなわち、テンプレート画像が縦横のサイズが異なる長方形であって、探索画像が正方形の場合であれば、テンプレート画像についてのみ調整処理を行なえばよい。
 図5および図6は、探索画像が長方形の場合と正方形の場合とのマッチングにおける回転の影響を説明するための図である。後述するように、画像処理装置100は、回転量推定処理において回転量が推定されると、テンプレート画像を回転させた上で探索画像とマッチング処理を行なうことで、探索画像上のテンプレート画像の位置を推定する。
 図5の右図に示されているように、テンプレート画像として、人物の両目を含む長方形の画像(図中、枠で示す領域)を設定した場合について説明する。探索画像が同じ大きさの長方形である場合、画像が回転していない場合には、図5の右図におけるテンプレート画像と同じ領域を設定することが可能であり、テンプレート画像とのマッチングを行なうことができる。一方、画像が回転している場合には、図5の左図のように、探索画像として両目を含む領域を設定することができず、被写体(両目)が見切れてしまうことになり、テンプレート画像とのマッチングがうまくいかないことになる。
 それに対して、図6に表わされたように、探索画像が正方形である場合、図5のように被写体が見切れる可能性を抑えることができる。すなわち、画像が回転していない場合(図6の右図)だけでなく、画像が回転している場合(図6の右図)であっても探索画像として両目を含む領域を設定することができる。つまり、この場合、テンプレート画像は長方形で、探索画像は正方形である。このようにテンプレート画像と探索画像とで形状が異なっていても、調整処理203,213でテンプレート画像を調整することで、回転量推定を行なうことができる。そのため、たとえば長方形のテンプレート画像に対して、正方形の探索画像を用いることで、テンプレート画像に無用な物体が含まれてしまうことを抑えつつ、回転量が大きいときに被写体が見切れてしまい探索ができなくなるような事態を避けることができる。
 圧縮処理204,214は、それぞれ、探索画像およびテンプレート画像の振幅成分を圧縮する。圧縮の方法としては、対数化する方法や平方根を算出する方法や、1未満の所定の値NでN乗する、などの方法が挙げられる。振幅成分を圧縮することで多少のノイズや明暗変化による影響を低減することができる。
 極座標変換処理206,216は、それぞれ、圧縮された、探索画像およびテンプレート画像の振幅成分を極座標成分に変換する。この変換によって、回転角度が2次元座標上の座標点として表現される。
 図7は、極座標変換を説明するための図であって、図7(A)が変換前の画像を表わした図、図7(B)が変換後の画像を表わした図である。図7(A),7(B)に表わされたように、極座標変換処理206,216によって、画像の振幅成分はX方向が角度theta、Y方向が半径rで表わされる極座標成分に変換される。なお、図7では分かりやすさのために実空間での画像の極座標変換を示している。
 マッチング処理208は、極座標変換処理206,216からそれぞれ出力される極座標変換された結果の対応付けを行ない、位置のずれ量を求める。極座標成分は一軸が角度theta、他方軸が半径rを表わすので、theta側のずれ量が回転量を表わすことになる。
 上記対応付け方法としては、位相限定相関法(Phase Only Correlation:POC)が挙げられるが、その他、SADやSSDといったマッチング手法が採用されてもよい。POC法が採用される場合、マッチング処理208は1回の処理で画像サイズと同サイズのPOC値(類似度)分布を算出してその分布のピーク位置を特定することで、ずれ量を検出する。すなわち、マッチング処理208は、極座標変換された結果同士で類似度が最も高くなる位置を特定し、それに対応する回転角度が推定された回転量として出力される。
 なお、図2の例では、調整処理203,213が圧縮処理204,214の前に行なわれる例が示されている。圧縮処理204,214よりも以前に調整処理203,213が行なわれることで、より粒度の細かい振幅成分を基に調整を行なうことができ、精度を向上させることができる。しかしながら、これら処理順は図2に例示された順に限定されない。すなわち、調整処理203,213は圧縮処理204,214の後に行なわれてもよいし、極座標変換処理206,216の後に行なわれてもよい。圧縮処理204,214の前のデータは照明変化やシェーディングの影響を受けやすいところ、圧縮処理204,214の後に調整処理203,213が行なわれることで、そうしたノイズによる変動を抑えることができる。従って、好ましくは、これら処理順は被写体や環境に応じて切り替えられる。
 <機能構成>
 図8は、上記回転量推定を伴う対応点探索動作を行なうための、第1の実施の形態にかかる画像処理装置100の機能構成の具体例を示すブロック図である。図8の各機能は、画像処理装置100のCPU102がROM106や補助記憶装置110などに記憶されているプログラムをRAM104に読み出して実行することで、主に、CPU102上に形成される機能であるが、少なくとも一部が、図1に示されたハードウェア構成によって実現されてもよい。
 図8を参照して、補助記憶装置110には、探索画像114およびテンプレート画像300を記憶するための記憶領域である画像記憶部111が設けられる。
 さらに図8を参照して、画像処理装置100は、その主たる機能構成として、角度推定部10と、画像読出部11と、位置推定部17と、出力部18とを含む。
 画像読出部11は画像記憶部111から探索画像114およびテンプレート画像300を読み出して角度推定部10に入力する。
 角度推定部10は、振幅成分導出処理202,212を行なうための振幅成分導出部12と、調整処理203,213を行なうための調整部13と、圧縮処理204,214を行なうための圧縮部14と、極座標変換処理206,216を行なうための変換部15と、マッチング処理208を行なうためのマッチング部16とを含む。
 位置推定部17は、マッチング部16でのマッチング処理の結果より探索画像114とテンプレート画像300との間の回転角度を特定し、テンプレート画像300をその角度回転させるように角度を補正した上で探索画像114とテンプレート画像300とをマッチングすることで、テンプレート画像300上の探索画像の位置を推定し、位置情報を出力部18に入力する。
 出力部18は、その位置情報をたとえば表示部120に表示させることで出力してもよいし、ネットワークI/F108から各種の通信媒体を介して、他の装置に対して出力してもよい。
 <動作フロー>
 図9は、第1の実施の形態にかかる画像処理装置100での対応点探索動作の流れを表わすフローチャートである。図9のフローチャートに表わされた動作は、画像処理装置100のCPU102がROM106や補助記憶装置110などに記憶されているプログラムをRAM104に読み出して実行し、図8の各機能を発揮させることによって実現される。
 図9を参照して、はじめに、テンプレート画像と探索画像とが取得される(ステップS101,S103)。テンプレート画像および探索画像の少なくとも一方は、長方形の画像である。次に、それぞれの画像を周波数変換してその振幅成分が導出され(ステップS105)、少なくとも一方の画像(長方形の画像)について周波数空間上で縦横のサイズを合わせる、上述の調整が行なわれる(ステップS107)。
 その後、探索画像およびテンプレート画像の振幅成分が圧縮され(ステップS109)、圧縮された探索画像およびテンプレート画像の振幅成分が極座標成分に変換される(ステップS111)。これら極座標画像がマッチングされることでこれら画像の位置のずれ量が算出される(ステップS113)。
 theta側のずれ量は回転量を表わすものであるため、上記ステップS113で得られたずれ量からテンプレート画像と探索画像との間の回転量(回転角度)が特定される(ステップS115)。
 回転量が推定されると、一方の画像(たとえば、テンプレート画像)が上記回転角度分、回転補正され(ステップS117)、探索画像とマッチング処理される(ステップS119)。マッチング処理によって推定された探索画像上のテンプレート画像の位置を表わす位置情報が、対応点を表わす情報として出力される(ステップS121)。
 [第2の実施の形態]
 図10は、第2の実施の形態に従う回転量推定処理のアルゴリズムを示す模式図である。図10を参照して、第2の実施の形態に従う回転量推定処理のアルゴリズムは、調整処理201,211と、振幅成分導出処理202,212と、圧縮処理204,214と、極座標変換処理206,216と、マッチング処理208とを含む。
 第2の実施の形態に従う回転量推定処理において、調整処理201,211は、実空間上で画像の縦横のサイズが異なる場合、1画素当たりの周期を変更することなく、単位周波数、すなわち周波数が1となるサイズ(画素数)を縦横で合わせる。すなわち、実空間上で、1画素当たりの周期を変更することなく、短辺のサイズが長辺のサイズに一致するように、画像情報を追加する処理を行なう。そして、振幅成分導出処理202,212は、調整後の画像を周波数変換し、その振幅成分を導出する。
 図11は、第2の実施の形態に従う調整前後の実空間画像の具体例を表わした図である。図11に表わされたように、調整処理の方法の一例として、画像の画素数が少ない側(以下、短辺)を多い方(以下、長辺)と同サイズにすることでこれらを合わせる方法が挙げられる。その際、画像を拡大処理すると1画素当たりの周期が変動してしまう。そのため、画像を画像端が反対端に繋がっている周期画像と捉え、画像端に反対端の画像を追記することでサイズを拡大する。この調整により、周波数変換した後の振幅成分は、図4と同様に、周波数空間上で、短辺のサイズが長辺のサイズと一致するように伸長され、縦横のサイズが一致することになる。
 なお、調整処理での伸長の方法は、図11に例示された方法に限定されず、他の方法であってもよい。図12および図13は、他の方法での調整前後の実空間画像の具体例を表わした図である。調整処理での伸長の他の例として、図12に表わされたように、画像を折り返す(反転させた画像を追記する)ことでサイズを拡大する方法も挙げられる。さらに他の例として、図13に表わされたように、所定の値(たとえば0)で埋める(所定の値(たとえば0)を追記する)ことでサイズを拡大する方法も挙げられる。
 振幅成分導出処理202,212での変換方法の1つであるフーリエ変換では、信号成分は周期関数であるものとして計算される。たとえば図13(B)に表わされたような画像端部が所定の値(たとえば0)である画像は信号が急速に変化するため、周波数変換時に本来は存在しない周波数成分が観測されるなど問題がおこることもある。しかし、フーリエ変換前にハニング窓などの窓関数をかけることによりその影響を低減することができるため、調整処理での拡大方法として、図13に表わされたように所定の値を追記する拡大方法を採用することができる。
 <機能構成>
 第2の実施の形態にかかる画像処理装置100の機能構成は、図8に示された第1の実施の形態にかかる画像処理装置100の機能構成と概ね同じものである。第2の実施の形態にかかる画像処理装置100では、角度推定部10において、調整部13は調整処理201,211を行ない、その結果を振幅成分導出部12に入力する。振幅成分導出部12で算出された振幅成分は、圧縮部14に入力される。
 <動作フロー>
 図14は、第2の実施の形態にかかる画像処理装置100での対応点探索動作の流れを表わすフローチャートである。図14のフローチャートに表わされた動作もまた、画像処理装置100のCPU102がROM106や補助記憶装置110などに記憶されているプログラムをRAM104に読み出して実行し、図8の各機能を発揮させることによって実現される。
 図14を参照して、第2の実施の形態にかかる画像処理装置100では、上記ステップS101~S103の処理がなされてテンプレート画像と探索画像とが取得されると、少なくとも一方の画像(長方形の画像)について実空間上で上述の調整が行なわれる(ステップS104)。調整後の画像を周波数変換し、その振幅成分が導出される(ステップS105)。以降、上記S109以下の第1の実施の形態にかかる画像処理装置100と同様の処理が行なわれることで、位置情報が出力される。
 <実施の形態の効果>
 本実施の形態にかかる画像処理装置100では、対応点探索動作の際の回転量推定において、探索画像およびテンプレート画像のうちの少なくとも一方の画像として縦横のサイズが異なる長方形の画像を用い、その画像について、空間周波数の解像度、すなわち空間周波数を算出する際のベースとなるサイズを縦辺と横辺とで同じ値となるよう調整する。これにより、画像を周波数変換した際の振幅成分を用いた回転量推定においてテンプレート画像または探索画像の形状に関わらずにこれら画像間での角度推定が可能となる。
 なお、この調整は、周波数空間上で行なわれてもよいし、実空間上で行なわれてもよい。前者の場合、実空間上で行なう場合よりも計算量を少なくすることができる。また、後者の場合、周波数空間上での調整の際の補間よりも高精度の補間を行なうことができるため、精度を向上させることができる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 10 角度推定部、11 画像読出部、12 振幅成分導出部、13 調整部、14 圧縮部、15 変換部、16 マッチング部、17 位置推定部、18 出力部、100 画像処理装置、102 CPU、104 RAM、106 ROM、108 ネットワークI/F、110 補助記憶装置、111 画像記憶部、112 画像処理プログラム、114 探索画像、120 表示部、122 入力部、126 メモリーカードI/F、130 バス、201,211,203,213 調整処理、202,212 振幅成分導出処理、204,214 圧縮処理、206,216 極座標変換処理、208 マッチング処理、300 テンプレート画像。

Claims (8)

  1.  少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する画像処理装置であって、
     前記第1の画像と前記第2の画像とを周波数変換し、それぞれの振幅成分を導出するための導出部と、
     前記第1の画像と前記第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうための調整部と、
     前記調整部によって調整された、前記第1の画像の振幅成分と前記第2の画像の振幅成分とを極座標変換するための変換部と、
     前記第1の画像の振幅成分の極座標変換画像と前記第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、前記第1の画像と前記第2の画像との間の回転量を出力するためのマッチング部とを備える、画像処理装置。
  2.  前記調整部は、前記長方形の画像が前記導出部によって周波数変換された後に、周波数空間上で、短辺を長辺と一致するように補間することによって伸長する、請求項1に記載の画像処理装置。
  3.  前記調整部は、前記長方形の画像が前記導出部によって周波数変換される前に、実空間上で、1画素当たりの周期を変更することなく、短辺のサイズが長辺のサイズに一致するように、画像情報を追加する、請求項1に記載の画像処理装置。
  4.  前記第1の画像の振幅成分と前記第2の画像の振幅成分とを圧縮するための圧縮部をさらに備える、請求項1~3のいずれか1項に記載の画像処理装置。
  5.  前記圧縮部は、前記調整部によって調整された後に、前記第1の画像の振幅成分と前記第2の画像の振幅成分とを圧縮する、請求項4に記載の画像処理装置。
  6.  前記第1の画像の振幅成分と前記第2の画像の振幅成分とを圧縮するための圧縮部をさらに備え、
     前記調整部は、前記長方形の画像が圧縮された後に、周波数空間上で前記調整を行なう、請求項2に記載の画像処理装置。
  7.  少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する方法であって、
     前記第1の画像と前記第2の画像とを周波数変換し、それぞれの振幅成分を導出するステップと、
     前記第1の画像と前記第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうステップと、
     前記調整後に、前記第1の画像の振幅成分と前記第2の画像の振幅成分とを極座標変換するステップと、
     前記第1の画像の振幅成分の極座標変換画像と前記第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、前記第1の画像と前記第2の画像との間の回転量を出力するステップとを備える、画像処理方法。
  8.  少なくとも一方が長方形である第1の画像と第2の画像との間の回転量を推定する処理をコンピューターに実行させるプログラムであって、
     前記第1の画像と前記第2の画像とを周波数変換し、それぞれの振幅成分を導出するステップと、
     前記第1の画像と前記第2の画像とのうちの長方形の画像について、周波数空間上における短辺のサイズが長辺のサイズと一致するように伸長するための調整を行なうステップと、
     前記調整後に、前記第1の画像の振幅成分と前記第2の画像の振幅成分とを極座標変換するステップと、
     前記第1の画像の振幅成分の極座標変換画像と前記第2の画像の振幅成分の極座標変換画像との位置のずれ量を算出することで、前記第1の画像と前記第2の画像との間の回転量を出力するステップとを前記コンピューターに実行させる、画像処理プログラム。
PCT/JP2013/076640 2012-11-07 2013-10-01 画像処理装置、画像処理方法および画像処理プログラム WO2014073288A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/437,621 US20150262028A1 (en) 2012-11-07 2013-10-01 Image processing apparatus, image processing method and image processing program
JP2013555693A JP5500328B1 (ja) 2012-11-07 2013-10-01 画像処理装置、画像処理方法および画像処理プログラム
EP13852732.0A EP2919196A4 (en) 2012-11-07 2013-10-01 IMAGE PROCESSING DEVICE, METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012245222 2012-11-07
JP2012-245222 2012-11-07

Publications (1)

Publication Number Publication Date
WO2014073288A1 true WO2014073288A1 (ja) 2014-05-15

Family

ID=50684405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/076640 WO2014073288A1 (ja) 2012-11-07 2013-10-01 画像処理装置、画像処理方法および画像処理プログラム

Country Status (4)

Country Link
US (1) US20150262028A1 (ja)
EP (1) EP2919196A4 (ja)
JP (1) JP5500328B1 (ja)
WO (1) WO2014073288A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133492B (zh) * 2016-12-01 2022-04-26 京东方科技集团股份有限公司 图像匹配方法、装置和系统
CN113496476A (zh) * 2020-04-02 2021-10-12 北京东舟技术股份有限公司 花屏图像判断方法、设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124667A (ja) 1996-08-26 1998-05-15 Yamatake Honeywell Co Ltd パターン照合装置
JP2002063581A (ja) * 2000-08-23 2002-02-28 Nippon Telegr & Teleph Corp <Ntt> 画像の回転角度検出方法および回転角度補正方法
JP2004192633A (ja) * 2002-11-25 2004-07-08 Yamatake Corp パターン照合装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942512B2 (en) * 2011-12-24 2015-01-27 Ecole De Technologie Superieure Methods and systems for processing a first image with reference to a second image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124667A (ja) 1996-08-26 1998-05-15 Yamatake Honeywell Co Ltd パターン照合装置
JP2002063581A (ja) * 2000-08-23 2002-02-28 Nippon Telegr & Teleph Corp <Ntt> 画像の回転角度検出方法および回転角度補正方法
JP2004192633A (ja) * 2002-11-25 2004-07-08 Yamatake Corp パターン照合装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2919196A4

Also Published As

Publication number Publication date
JP5500328B1 (ja) 2014-05-21
US20150262028A1 (en) 2015-09-17
EP2919196A1 (en) 2015-09-16
EP2919196A4 (en) 2016-06-22
JPWO2014073288A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
US11164323B2 (en) Method for obtaining image tracking points and device and storage medium thereof
JP6784704B2 (ja) 画像処理方法及び装置
US10123024B2 (en) Image processing methods and image processing apparatuses
JP5294343B2 (ja) 画像位置合わせ処理装置、領域拡張処理装置及び画質改善処理装置
KR102268878B1 (ko) 카메라 교정
CN106560840B (zh) 一种图像信息识别处理方法及装置
JP6512100B2 (ja) 画像処理を実行する情報処理装置及び画像処理方法
US9613404B2 (en) Image processing method, image processing apparatus and electronic device
US20180247430A1 (en) Display control method and display control apparatus
JP5500328B1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6102938B2 (ja) 画像処理装置、及び、画像処理方法
US20150345936A1 (en) Image Processing Apparatus, Image Processing Method And Image Processing Program
WO2013089261A1 (ja) 画像処理システム及び画像処理方法
JP2017049686A (ja) 画像処理装置
CN113763233B (zh) 一种图像处理方法、服务器及拍照设备
JP2019220032A (ja) 原画像を目標画像に基づいて変形した表示画像を生成するプログラム、装置及び方法
CN113167568B (zh) 坐标计算装置、坐标计算方法和计算机可读记录介质
JP6056354B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2018010359A (ja) 情報処理装置、情報処理方法、およびプログラム
CN106296800B (zh) 信息处理方法及电子设备
JP2014029677A (ja) 画像処理装置、画像処理方法および画像処理プログラム
TWI779922B (zh) 擴增實境處理裝置以及方法
CN115564644B (zh) 图像数据的处理方法、相关设备以及计算机存储介质
CN107808411B (zh) 多视角运动法三维重建方法
JP2012169735A (ja) 画像処理装置、画像処理方法及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013555693

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 13852732

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14437621

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2013852732

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE