WO2009154294A1 - 移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体 - Google Patents

移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体 Download PDF

Info

Publication number
WO2009154294A1
WO2009154294A1 PCT/JP2009/061329 JP2009061329W WO2009154294A1 WO 2009154294 A1 WO2009154294 A1 WO 2009154294A1 JP 2009061329 W JP2009061329 W JP 2009061329W WO 2009154294 A1 WO2009154294 A1 WO 2009154294A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
frame
frame image
error function
unit
Prior art date
Application number
PCT/JP2009/061329
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 JP2010518003A priority Critical patent/JP4771186B2/ja
Priority to US12/999,828 priority patent/US20110135206A1/en
Publication of WO2009154294A1 publication Critical patent/WO2009154294A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • 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/10016Video; Image sequence
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Definitions

  • the present invention relates to a movement amount extraction device and program, an image correction device and program, and a recording medium.
  • video cameras have become more popular due to their downsizing and lower prices, and are being used in various places.
  • small video cameras have recently been used for remote control, such as robots that search for victims in places where humans cannot enter and unmanned helicopters that check disaster situations from the sky, in order to gather information quickly in the event of a disaster. It is also installed in other rescue robots.
  • GPU Graphics Processing Unit
  • the GPU is also mounted on a general PC and can perform high-speed computation by parallel processing.
  • the processing performance of the GPU, particularly the floating point arithmetic performance, may be 10 times or more that of the CPU.
  • Non-Patent Document 1 As a blur correction technique using a GPU by the inventors of the present application, “stabilization of video images using a GPU” is disclosed (see Non-Patent Document 1).
  • the technique described in Non-Patent Document 1 uses the BFGS (quasi-Newton) algorithm to estimate video motion based on the estimated global motion when estimating global motion using affine transformation.
  • BFGS quadsi-Newton
  • Non-Patent Document 1 requires a long time for global motion, that is, an estimation of the amount of change because the convergence time is long and the number of calculations of the BFGS method increases. For this reason, since the technique disclosed in Patent Document 1 can perform blur correction processing for only 4 to 5 frames on 30 frame images per second, the motion image blur correction is performed substantially in real time. I could't.
  • the present invention has been proposed to solve the above-described problems.
  • An image change amount extraction apparatus is an affine transformation parameter including a parallel movement amount and a rotational movement amount with respect to a first frame image of a plurality of frame images constituting a moving image.
  • An image conversion unit that performs an image conversion process using the image conversion unit to generate a first converted frame image, and the image conversion unit sets predetermined values for the parallel movement amount and the rotational movement amount, respectively.
  • a converted frame image is generated, a second converted frame image generated by the image converting unit and a second frame image different from the first frame image among the plurality of frame images constituting the moving image.
  • the square value of the difference between the pixel values of the same coordinate with the frame image of the first frame image is calculated, and the first converted frame image and the second frame image at least overlap all the same coordinates.
  • the image change amount extraction device generates a first converted frame image and a second frame image each time a predetermined value is set for each of the parallel movement amount and the rotational movement amount and the first converted frame image is generated.
  • the error function is derived by integrating the square values of at least all the same coordinates that overlap and the error function value becomes the minimum value using the BFGS method, and the error function value becomes the minimum value Are extracted as the amount of change of the first frame image with respect to the second frame image. Therefore, it is possible to extract the change amount of the first frame image with respect to the second frame image in real time with a very short search time.
  • An image correction apparatus includes: the first frame image based on the image change amount extraction device; the first frame image; and the change amount extracted by the image change amount extraction device.
  • a correction unit that performs correction processing on the first frame image so as to reduce a deviation from the second frame image.
  • an image correction device comprising: a first frame based on the image change amount extraction device; a second frame image; and a change amount extracted by the image change amount extraction device.
  • a correction unit configured to perform a correction process on the second frame image so as to reduce a shift between the image and the second frame image.
  • Each of the image correction devices can correct an image in accordance with the change amount in real time using the change amount of the image extracted in real time.
  • the image change amount extraction apparatus and program derive an error function by integrating square values of all the same coordinates at least overlapping the first converted frame image and the second frame image,
  • the case where the value of the error function is the minimum value is searched using the BFGS method, and the affine transformation parameter when the value of the error function is the minimum value is used as the amount of change of the first frame image with respect to the second frame image. Extract.
  • the search time when the value of the error function becomes the minimum value can be shortened, and the change amount of the image constituting the moving image can be extracted in real time.
  • the image correction apparatus and program according to one embodiment of the present invention can perform real-time image correction according to the amount of change by extracting the amount of change in the image constituting the moving image in real time.
  • FIG. 1 It is a block diagram which shows the structure of the image correction apparatus which concerns on embodiment of this invention. It is a figure for demonstrating estimation of global motion. It is a figure which shows the movement amount with respect to the number of frames before correction
  • FIG. 1 is a block diagram showing a configuration of an image correction apparatus according to an embodiment of the present invention.
  • the image correction apparatus includes a camera 10 that captures an image of a subject and generates an image, and an image processing apparatus 20 that performs image processing so as to eliminate blurring of the image generated by the camera 10.
  • the image processing apparatus 20 includes an input / output port 21 that exchanges signals with the camera 10, a CPU (Central Processing Unit) 22 that performs arithmetic processing, a hard disk drive 23 that stores images and other data, and a CPU 22 ROM (Read Only Memory) 24 for storing the control program, RAM (Random Access Memory) 25 as a data work area, and GPU 26 (Graphics Processing Unit) for performing predetermined arithmetic processing for image processing, I have.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • GPU 26 Graphics Processing Unit
  • the CPU 22 When the CPU 22 receives a moving image from the camera 10 via the input / output port 21, the CPU 22 sequentially transfers the moving image to the GPU 26, causes the GPU 26 to perform predetermined arithmetic processing, and from each frame image constituting the moving image.
  • the amount of movement of the camera 10 is obtained for each frame (estimation of global motion). In the present embodiment, it is assumed that the movement of the camera 10 from which vibration has been removed is gentle and smooth. Then, the CPU 22 performs vibration correction on each frame image based on the obtained movement amount of the camera 10.
  • Equation (2) represents how the camera 10 has moved from an arbitrary frame. Affine transformation parameters
  • Equation (3) is a value obtained by summing the squares of the differences between the luminance values of the two frame images.
  • Equation (3) is the sum of the squares of the differences between frames, and represents a difference from the difference image. That is, even if the equation (3) is calculated, only an image that does not show what is captured even when viewed by a human can be obtained.
  • Non-Patent Document 1 Originally, global motion is the whole movement that humans can see. Therefore, as described in Non-Patent Document 1, it is most natural to think that the error function is an integrated value of the difference between pixel values when images are simply superimposed.
  • the expression (3) of the present embodiment is a simple square expression, and strictly speaking, the same solution as that of the error function of Non-Patent Document 1 is not always obtained, and is considered to be special.
  • vibration correction can be performed without problems using the solution of equation (3). That is, it was found that the same result can be obtained although the definition of the error function is different between Non-Patent Document 1 and this embodiment. Therefore, formula (3) in this embodiment is a simple square formula, so that the calculation is speeded up because there is no route calculation, the difference becomes large, and the convergence to the minimum value is accelerated. There is an advantage that the failure of global motion correction is reduced. Therefore, the CPU 22 and the GPU 26 of the image processing apparatus 20 illustrated in FIG. 1 perform the following calculation.
  • FIG. 2 is a diagram for explaining estimation of global motion.
  • Shake amount of the camera, the image shift amount of the frame image I n + 1 in the case of the reference frame image I n (rotation angle theta, respectively the amount of movement of the xy-directions b1, b2) become. Therefore, CPU 22 shown in FIG. 1 is transmitted, as a candidate of the image moving amount of the frame image I n + 1, it stores a plurality of affine transformation parameters prepared in advance, a plurality of affine transformation parameters together with the frame image I n + 1 to GPU26 To do.
  • the frame image In + 1 is preferably the latest frame image among the moving images generated by the camera 10.
  • the CPU 22 causes the GPU 26 to calculate the error value E when each affine transformation parameter is used, and extracts the affine transformation parameter when the error value E is minimized as the movement amount of the camera 10.
  • the CPU 22 calculates sin ⁇ and cos ⁇ from ⁇ , and sends b1, b2, sin ⁇ , and cos ⁇ to the GPU 26 as affine transformation parameters. May be.
  • the GPU 26 when the GPU 26 receives the affine transformation parameter transmitted from the CPU 22, the GPU 26 performs a deformation process on the frame image In + 1 using the affine transformation parameter described above.
  • the GPU 26 calculates the square of the difference in pixel values for the same coordinates of each frame image I n + 1 which is deformed frame image I n (luminance value). Note that the calculation of the square of the difference between the luminance values is performed on all coordinates (for example, at least all coordinates in the overlapping region of the frame images I n and I n + 1 ). Note that the GPU 26 calculates the square value of the difference between the luminance values in parallel and independently at each same coordinate in the overlapping region. Thereby, since GPU26 can be calculated independently by each coordinate, it can perform a parallel calculation process and can perform a high-speed process.
  • the GPU 26 integrates the squares of the differences in luminance values at all coordinates in parallel, and obtains the integrated value as an error value.
  • the GPU 26 may accumulate the squares of the luminance value differences to some extent in parallel, and the CPU 22 may accumulate the squares of the remaining luminance value differences sequentially to sum these accumulated values. Every time the affine transformation parameter is changed, the error value described above is calculated.
  • the CPU 22 next selects the affine transformation parameter when the error value becomes the smallest among all the error values. Then, the selected affine transformation parameter is extracted as the movement between frames, that is, the movement amount of the camera.
  • the CPU 22 When referring to an area where the luminance value is not defined (undefined area: an area where the frame images I n and I n + 1 do not overlap), the CPU 22 excludes the pixel from the calculation of the error value. The difference in luminance value of the pixel is set to zero. Then, the CPU 22 corrects the error value E as follows by using the number of pixels ⁇ e finally effective for all the pixels ⁇ .
  • the CPU 22 calculates the error value by regarding the difference in luminance value of pixels in the undefined area as 0, and the error value is I intentionally make it bigger. Note that the difference in luminance value is regarded as 0 as long as ⁇ is sufficiently smaller than 1, and is not limited to a case where ⁇ is less than 1 ⁇ 4.
  • the NUMGSAL RECIPES BFGS method (quasi-Newton method) algorithm is used to search for the minimum value of the error function.
  • the algorithm of the BFGS (Broyden, Fletcher, Goldfarb, Shanno) method performs a search in the minimum direction using a function and a derivative, so that the number of calculations is small and the convergence time is short. Since the BFGS method requires a derivative, the equation (3) is transformed into the following equations (4) and (5) to obtain the derivative. *
  • the affine transformation parameters to be obtained are three ( ⁇ , b 1 , b 2 ), and the affine matrix T is expressed by Equation (16). ).
  • the CPU 22 of the image processing apparatus 20 shown in FIG. 1 defines the error function of Expression (3) using the affine transformation matrix of Expression (16), and searches for the minimum value of this error function using the quasi-Newton method.
  • the BFGS method which is one of the methods is used.
  • the BFGS method requires a derivative. Therefore, the CPU 22 searches for the minimum value of the error function of Expression (3) using the derivatives of Expressions (17) to (19) (including Expressions (20) to (23)), and becomes the minimum value.
  • Parameters ( ⁇ , b 1 , b 2 ) are obtained and extracted as the amount of image movement, that is, the amount of camera shake.
  • Is a Gaussian kernel.
  • the CPU 22 of the image processing apparatus 20 shown in FIG. 1 performs the calculation of the following equation (25) using the obtained conversion matrix, so that the frame to be processed is reduced so that the shift between the frame images is reduced. Vibration correction can be performed on the image.
  • n and m are continuous natural numbers, but when performing vibration correction of a predetermined frame image with respect to a reference frame image, n, m may not be a continuous natural number.
  • the present inventors calculated the number of times of applying the BFGS method per frame, the following results were obtained.
  • the average is 42.87 when the GPU calculates, and 11.43 when the CPU calculates.
  • the average is 7.707 times when the GPU is calculated, and the average is 6.481 times when the CPU is calculated. That is, using the error function of Expression (3) reduces the number of calculations and enables calculation in a short time.
  • FIG. 3A and 3B are diagrams showing the movement amount with respect to the number of frames before correction and after correction (corrected by the image correction apparatus), where FIG. 3A shows the movement amount in the X-axis direction, and FIG. 3B shows the movement amount in the Y-axis direction. It is. As shown in the figure, the movement amount became very smooth by the correction.
  • the CPU 22 of the image processing apparatus 20 may sequentially synthesize frame images in which one of the rotational movement amount and the parallel movement amount is corrected to generate a composite image including a plurality of frames.
  • FIG. 4 is a diagram showing a composite image generated by combining the first to third frame images.
  • the CPU 22 sequentially superimposes the corrected latest frame images so as to be horizontal with respect to the center position.
  • a composite image larger than the frame image is generated, which is composed of a new frame image near the center and an old frame image near the edge.
  • the GPU 26 sets a determination flag as to whether an image exists at each coordinate, and calculates the error function E only at the coordinate where the image exists.
  • the estimation error of the moving amount of the frame image is reduced, and global motion estimation is possible even if there is almost no overlapping portion between the latest frame image and the previous frame image.
  • the GPU 26 may discard the frame images before a predetermined frame from the latest frame image, and sequentially discard them.
  • the GPU 26, the previous frame image I n, the synthesized image is the synthesis of I n-1, I n- 2 ⁇ and the frame image I n, using the following latest frame image I n + 1, the error
  • the function E may be calculated. Accordingly, even when the shake amount of the camera 10 is large, the overlapping range of the frame image I n, which are combined with the next latest frame image I n + 1 is larger, the blur amount of the camera is reliably detected.
  • the image correction apparatus searches for the minimum value of the error function of Equation (3) by applying the BFGS method, so that an error can be achieved in a very short time compared to the conventional case.
  • An affine transformation parameter when the function becomes the minimum value is obtained, and blurring of a moving image can be corrected in real time using the affine transformation parameter.
  • the minimum value search using the BFGS method the minimum value is searched by repeating a plurality of calculations, so even a slight difference in the calculation speed of individual calculation formulas greatly affects the final calculation speed.
  • the image correction apparatus according to the present embodiment performs calculation for each pixel of the image, this difference is significant.
  • the image correction apparatus according to the present embodiment can search for the minimum value of the error function at high speed without using the square root calculation by devising the error function. It has also been found that by using an error function, the number of iterations of the minimum value search using the BFGS method itself can be reduced.
  • the image correction apparatus can generate a combined image having a size larger than that of the frame image by sequentially combining the corrected frame images. Then, the image correction device extracts the movement amount of the latest frame image with respect to the large-sized composite image, so that even when the camera 10 has a large amount of shake, the amount of shake is reliably extracted and the shake is corrected. can do.
  • the image correction apparatus can correct subject shake of a moving image in real time using the above-described equation (3) not only when the camera 10 is shaken but also when the subject is shaken. .
  • affine transformation parameters ( ⁇ , b 1 , b 2 ) that are three variables are used, but in the second embodiment, affine transformation parameters ( ⁇ , b 1 , b 2 , z) that are four variables are used. ) Is used. Note that z is a parameter in the zoom direction and indicates the magnification of the image.
  • the error function is expressed as the following equation (26).
  • Equation (26) ⁇ is a set of all coordinate values on the screen plane.
  • I (x) is the luminance value of the pixel x.
  • the CPU 22 of the image processing apparatus 20 shown in FIG. 1 uses the equations (28) to (31) (equation (32) for the error function using the four variable affine transformation parameters described above. ) To (38).) To apply the BFGS method. Thereby, the CPU 22 searches for the minimum value of the error value in a short time, and extracts the affine transformation parameter at this time as the movement between frames, that is, the movement amount of the camera. And CPU22 can correct
  • the image correction apparatus can extract the movement amount using the affine transformation parameters including the zoom direction parameter, the camera 10 changes as the size of the subject appearing in the image changes. Even if the camera vibrates, the moving image can be corrected so as to suppress the vibration in real time.
  • the present invention is not limited to the above-described embodiment, and it is needless to say that the present invention can also be applied to a design modified within the scope of the claims.
  • the frame image to be converted may not be adjacent to the frame image I n.
  • a predetermined frame image several frames away from the reference frame image can be represented by an affine transformation parameter.
  • the image processing apparatus 20 corrects the moving image generated by the camera 10 in real time, but can also correct the moving image stored in advance in the hard disk drive 23 in the same manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

 画像補正装置は、平行移動量及び回転移動量にそれぞれ所定の値が設定されて第1の変換フレーム画像が生成される毎に、変換されたフレーム画像In+1とフレーム画像Iとの同一座標の各画素値の差分の自乗値を演算し、変換されたフレーム画像In+1及びフレーム画像Iが少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出し、BFGS法を用いて導出されたエラー関数の値が最小値となる場合を探索し、エラー関数の値が最小値となる場合のアフィン変換パラメータをフレーム画像Iに対するフレーム画像In+1の変化量として抽出するCPU(22)を備えている。

Description

移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体
 本発明は、移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体に関する。
 近年集積化技術の進歩により、ビデオカメラは、小型化・低価格化が進んで一般に普及するようになり、様々な場所で使用されている。特に、小型のビデオカメラは、近年、災害時に素早く情報収集を行うために、人間が立ち入れない場所で被災者の探索を行うロボットや、上空から災害状況を確認する無人ヘリコプターなど、遠隔操作用のレスキューロボットなどにも搭載されている。
 しかし、ビデオカメラが搭載されたロボットは、自身が振動したり、荒れた路面上や地震で障害物が散在する状況下で走行したりする。このため、ロボットに搭載されたカメラから送られてくる映像にはゆれが生じてしまう。
 そのため、オペレータは、即座に状況判断をすることが困難になり、画面酔いして操作に影響が出る可能性がある。したがって、このような映像のゆれによる影響を抑えるためは、リアルタイムで動画像処理が行われ、映像のゆれが軽減される必要がある。 
 現在、デジタルカメラのために開発・研究されているゆれを軽減する手法は、電子式、 光学式、イメージセンサーシフト式、レンズユニットスイング式などの手ぶれ補正機能があげられる。しかし、これらの補正機能は、カメラに搭載されるものであり、そのカメラで撮影した映像だけしか補正することができない。このため、必然的にカメラの大型化、高価格化を招いてしまう。
 近年では、デジタルカメラの普及やパーソナルコンピュータ(PC)の発達により、一般の家庭用PCでも動画像の処理などが簡単に行われ、汎用性を高めるために、PCを利用した安定化処理が望まれる。しかしながら、動画像はデータ量が多く、それらを処理するにはCPU(Central Processing Unit)では負荷が大きいため、リアルタイムでの処理は難しい。 
 そこで、高速なグラフィック処理を目的としたグラフィックスハードウェアであるGPU(Graphics Processing Unit)を用いることが考えられる。GPUは、一般的なPCにも搭載され、並列処理による高速演算が可能である。GPUの処理性能、特に浮動小数点演算性能は、CPUに比べて10倍以上の性能を示すものもある。
 本願発明者らによる、GPUを用いたぶれ補正技術として「GPUを用いたビデオ映像の安定化」が開示されている(非特許文献1参照)。非特許文献1に記載された技術は、アフィン変換を用いてグローバルモーションを推定する際に、BFGS法(準ニュートン法)のアルゴリズムを使用し、推定したグローバルモーションに基づいてビデオ映像の振動を補正する。
藤澤、他2名、「GPUを用いたビデオ映像の安定化」、社団法人情報処理学会、情報処理学会論文誌Vol.49、No.2、p.1-8
 しかし、非特許文献1に記載された技術は、収束時間が長く、BFGS法の計算回数が多くなってしまうため、グローバルモーション、すなわち、変化量の推定に時間がかかってしまう。このため、特許文献1の技術は、1秒当たり30枚のフレーム画像に対して4~5枚分しかぶれ補正処理をすることができないため、実質的にはリアルタイムで動画像のぶれ補正を行うことができなかった。
 本発明は、上述した課題を解決するために提案されたものである。
 本発明の第1の態様の画像変化量抽出装置は、動画像を構成する複数のフレーム画像のうちの第1のフレーム画像に対して、平行移動量と回転移動量とを含んだアフィン変換パラメータを用いて画像変換処理を行って、第1の変換フレーム画像を生成する画像変換部と、前記画像変換部により前記平行移動量及び前記回転移動量にそれぞれ所定の値が設定されて前記第1の変換フレーム画像が生成される毎に、前記画像変換部により生成された第1の変換フレーム画像と、前記動画像を構成する複数のフレーム画像のうちの前記第1のフレーム画像と異なる第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算し、前記第1の変換フレーム画像及び前記第2のフレーム画像が少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出するエラー関数導出部と、BFGS法を用いて前記エラー関数導出部により導出されたエラー関数の値が最小値となる場合を探索し、前記エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する前記第1のフレーム画像の変化量として抽出する変化量抽出部と、を備えている。
 上記画像変化量抽出装置は、平行移動量及び回転移動量にそれぞれ所定の値が設定されて第1の変換フレーム画像が生成される毎に、第1の変換フレーム画像及び第2のフレーム画像が少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出し、BFGS法を用いてエラー関数の値が最小値となる場合を探索し、エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する前記第1のフレーム画像の変化量として抽出する。よって、探索時間を非常に短くして、第2のフレーム画像に対する前記第1のフレーム画像の変化量をリアルタイムで抽出できる。
 本発明の第2の態様の画像補正装置は、上記画像変化量抽出装置と、第1のフレーム画像と前記画像変化量抽出装置により抽出された変化量とに基づいて、第1のフレーム画像と前記第2のフレーム画像とのずれが少なくなるように、前記第1のフレーム画像に対して補正処理を行う補正部と、を備えている。
 また、本発明の第3の態様の画像補正装置は、上記画像変化量抽出装置と、第2のフレーム画像と前記画像変化量抽出装置により抽出された変化量とに基づいて、第1のフレーム画像と前記第2のフレーム画像とのずれが少なくなるように、前記第2のフレーム画像に対して補正処理を行う補正部と、を備えている。
 上記各画像補正装置は、リアルタイムで抽出された画像の変化量を用いて、その変化量に応じた画像の補正をリアルタイムで行うことができる。
 本発明の一態様である画像変化量抽出装置及びプログラムは、第1の変換フレーム画像及び第2のフレーム画像が少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出し、BFGS法を用いてエラー関数の値が最小値となる場合を探索して、エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する第1のフレーム画像の変化量として抽出する。これにより、エラー関数の値が最小値となる場合の探索時間を短くすることができ、動画像を構成する画像の変化量をリアルタイムで抽出することができる。
 本発明の一態様である画像補正装置及びプログラムは、動画像を構成する画像の変化量をリアルタイムで抽出することにより、その変化量に応じた画像の補正をリアルタイムで行うことができる。
本発明の実施の形態に係る画像補正装置の構成を示すブロック図である。 グローバルモーションの推定を説明するための図である。 補正前と補正後(画像補正装置による補正済み)のフレーム数に対する移動量を示す図であり、(A)はX軸方向の移動量、(B)はY軸方向の移動量である。 第1から第3のフレーム画像の合成により生成された合成画像を示す図である。
 以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
 [第1の実施形態:画像補正装置の構成]
 図1は、本発明の実施の形態に係る画像補正装置の構成を示すブロック図である。画像補正装置は、被写体を撮像して画像を生成するカメラ10と、カメラ10で生成された画像のぶれをなくすように画像処理を行う画像処理装置20と、を備えている。
 画像処理装置20は、カメラ10との間で信号のやりとりを行う入出力ポート21と、演算処理を行うCPU(Central Processing Unit)22と、画像やその他のデータを記憶するハードディスクドライブ23と、CPU22の制御プログラムを記憶するROM(Read Only Memory)24と、データのワークエリアであるRAM(Random Access Memory)25と、画像処理のための所定の演算処理を行うGPU26(Graphics Processing Unit)と、を備えている。
 CPU22は、入出力ポート21を介して、カメラ10からの動画像を受信すると、動画像をGPU26に逐次転送し、GPU26に所定の演算処理を行わせて、動画像を構成する各フレーム画像から1フレーム毎にカメラ10の移動量を求める(グローバルモーションの推定)。なお、本実施形態では、振動の除去されたカメラ10の動きは緩やかで滑らかなものであると仮定する。そして、CPU22は、求めたカメラ10の移動量に基づいて、各フレーム画像に対して振動補正を行う。
 [グローバルモーションの推定]
 映像の安定化行うためにはグローバルモーションを知る必要がある。連続したフレーム間において、隣接したフレーム間での動きを求められれば、カメラ10がどのように動いたか知ることができる。
 隣接したフレーム画像IとIn+1の間の変換をアフィン変換であると仮定すると、ピクセル座標x=(x,y)の変化は式(1)によって表すことができる。
Figure JPOXMLDOC01-appb-M000003
 また、式(1)を変形すると式(2)となる。
Figure JPOXMLDOC01-appb-M000004
 式(2)は、任意のフレームからカメラ10がどのように動いたかを表す。アフィン変換パラメータ
Figure JPOXMLDOC01-appb-M000005
 は、次の式(3)のエラー関数の最小値Eminを求めることによって得られる。 
Figure JPOXMLDOC01-appb-M000006
 χは画面平面上全ての座標値を表す。式(3)は2枚のフレーム画像の輝度値の差の2乗を合計した値である。ここで、非特許文献1に記載されたエラー関数
Figure JPOXMLDOC01-appb-M000007
と比較する。上記のエラー関数は、フレーム間の差分計算においてフレーム間の輝度差の絶対値を取得するために用いられる。
 仮に、上記式の絶対値を求めた場合(β→0)、合計計算をする前の式は厳密にフレーム間の差分画像の絶対値を得る。しかし、この式はルートを含んでおり、計算の上では非常に遅くなる。
 そこで、本実施形態の式(3)は、ルート計算及びβを除いている。式(3)は、フレーム間の差分の2乗を合計したものであり、差分画像とは異なるものを表している。すなわち、式(3)が演算されても、人間が見ても何が写っているかわからない画像しか得られない。
 本来、グローバルモーションは人間も見える全体の動きである。よって、非特許文献1に記載されているように、エラー関数は素直に画像を重ね合わせた場合の画素値の差分の積算値である、と考えるのが最も自然である。
 これに対して、本実施形態の式(3)は、単なる2乗式であり、厳密には非特許文献1のエラー関数と同じ解が出るとは限らず、特殊であると考えられる。一方で、式(3)の解を用いて問題なく振動補正を行うことができる。すなわち、非特許文献1と本実施形態とでエラー関数の定義が異なるが、同じ結果を得ることができることがわかった。したがって、本実施形態の式(3) は、単なる2乗式にすることによって、ルートの計算がなくなる分計算が高速化することに加え、差分が大きくなり、 最小値への収束が速くなること、グローバルモーション補正の失敗が少なくなる、という利点がある。そこで、図1に示す画像処理装置20のCPU22及びGPU26は、次のような演算を行う。
 図2は、グローバルモーションの推定を説明するための図である。カメラのぶれ量は、フレーム画像Iを基準にした場合のフレーム画像In+1の画像移動量(回転角θ、xy方向のそれぞれ移動量であるb1、b2)となる。そこで、図1に示すCPU22は、フレーム画像In+1の画像移動量の候補として、予め用意された複数のアフィン変換パラメータを記憶しており、フレーム画像In+1と共に複数のアフィン変換パラメータをGPU26に送信する。なお、フレーム画像In+1は、カメラ10で生成された動画像のうちの最新のフレーム画像であるのが好ましい。
そして、CPU22は、GPU26に各アフィン変換パラメータが用いられた場合のエラー値Eを演算させて、エラー値Eが最小となる場合のアフィン変換パラメータをカメラ10の移動量として抽出する。なお、CPU22は、アフィン変換パラメータ(θ、b1、b2)を単にGPU26に送信する代わりに、θからsinθ及びcosθを計算し、アフィン変換パラメータとして、b1、b2、sinθ及びcosθをGPU26に送信してもよい。
 一方、GPU26は、CPU22から送信されたアフィン変換パラメータを受信すると、フレーム画像In+1に対して上述のアフィン変換パラメータを用いて変形処理を行う。
 具体的には、GPU26は、フレーム画像Iと変形されたフレーム画像In+1との各々の同一座標についての画素値(輝度値)の差の2乗を演算する。なお、輝度値の差の2乗の演算は、すべての座標(例えば、少なくともフレーム画像I、In+1の重複する領域のすべての座標)で行われる。なお、GPU26は、重複する領域での各同一座標において、輝度値の差の2乗値を並列かつ独立に演算する。これにより、GPU26は、各座標で独立に演算できるので、並列演算処理を行って高速処理を実行できる。そして、GPU26は、すべての座標における輝度値の差の2乗を並列積算し、積算値をエラー値として求める。ここでは、GPU26が、ある程度、輝度値の差の2乗を並列積算し、CPU22が、残りの輝度値の差の2乗を順次積算してこれらの積算値を合計するとよい。アフィン変換パラメータが変更される毎に上述したエラー値を演算する。
 ところで、フレーム画像In+1を変形させたときの座標(x′,y′)のピクセルとフレーム画像Iの座標(x,y)のピクセルが対応している場合、その輝度値の差は0になり、エラー値は小さくなる。エラー値が小さい程フレーム間において対応するピクセルが多いということになり、そのときのパラメータ(A、b)がフレーム間の動きとなる。
 そこで、GPU26が、予め用意されたすべてのアフィン変換パラメータについて上述したエラー値を演算すると、次に、CPU22が、すべてのエラー値の中で最小のエラー値になったときのアフィン変換パラメータを選択し、選択したアフィン変換パラメータをフレーム間の動き、すなわちカメラの移動量として抽出する。
 なお、ピクセル座標値のアフィン変換
Figure JPOXMLDOC01-appb-M000008
によって、輝度値が定義されていない領域(未定義域:フレーム画像I、In+1の重複していない領域)を参照する場合、CPU22は、そのピクセルについてはエラー値の計算から除外するために、そのピクセルの輝度値の差を0とする。そして、CPU22は、全ピクセルχに対し最終的に有効であったピクセル数χを用いて、次のようにエラー値Eを補正する。
Figure JPOXMLDOC01-appb-M000009
 ただし、α=χ/χが小さい場合(例えば1/4)に正しい結果が出ない可能性がある。例えば、実際のカメラ10の動きが小さくても、最小化手法の反復の初期において変形量が大きく、αの値が小さくなることがある。そこで、本実施形態では、CPU22は、αが1/4未満(α<1/4)の場合、未定義域のピクセルの輝度値の差を0とみなしてエラー値を計算し、エラー値が意図的に大きくなるようにしている。なお、輝度値の差を0とみなすのは、αが1に比べて十分小さければよく、αが1/4未満の場合に限定されるものではない。
 また、エラー関数の最小値の探索にはNUMERICAL RECIPESのBFGS法(準ニュートン法)のアルゴリズムが使用される。BFGS(Broyden,Fletcher,Goldfarb,Shanno)法のアルゴリズムは関数と導関数を用いて最小方向の探索を行うので、計算回数が少なく、収束時間が短い。BFGS法では導関数を必要とするので、導関数を求めるには式(3)を次の式(4)及び(5)のように変形する。 
Figure JPOXMLDOC01-appb-M000010
 ここから導関数を求めると、式(6)となる。
Figure JPOXMLDOC01-appb-M000011
 また、次の式(7)も成り立つ。
Figure JPOXMLDOC01-appb-M000012
 よって、すべての導関数は次の式(8)~(13)のようになる。 
Figure JPOXMLDOC01-appb-M000013
 ここで、式(8)~(10)においては式(14)が成立し、式(11)~(13)においては(15)が成立する。
Figure JPOXMLDOC01-appb-M000014
 本実施形態では、高速化のため画像の動きを平行移動と回転移動のみと仮定して、求めるアフィン変換パラメータを(θ、b、b)の3つとし、アフィン行列Tは式(16)とする。
Figure JPOXMLDOC01-appb-M000015
 また、導関数は、次の式(17)~(19)とする。
Figure JPOXMLDOC01-appb-M000016
 ここで、式(*)と定義したとき式(20)~(23)とする。
Figure JPOXMLDOC01-appb-M000017
 すなわち、図1に示す画像処理装置20のCPU22は、式(16)のアフィン変換行列を用いて式(3)のエラー関数を定義し、このエラー関数の最小値を探索するために準ニュートン法の手法の1つであるBFGS法を用いる。ここで、BFGS法では導関数が必要となる。そこで、CPU22は、式(17)~(19)(式(20)~(23)を含む。)の導関数を用いて式(3)のエラー関数の最小値を探索し、最小値となったときのパラメータ(θ、b、b)を求め、これを画像移動量、すなわちカメラ10のぶれ量として抽出する。
 なお、複数回のエラー関数の導出においては、1つのエラー関数が導出されると、新たなアフィン変換パラメータ(θ、b、bの少なくとも1つが所定量変化したもの)を用いて再びエラー関数が導出される。なお、これらのパラメータの変更の仕方は特に限定されるものではない。また、BFGS法については、Teukolsky, S.A., Vetterling, W.T. and Flannery, B.P.: Numerical Recipes in C++: The Art of Scientific Computing, Cambridge University Press (2002)に記載された手法を用いることができる。
 [振動補正]
 画面の動きを滑らかにするために、推定したグローバルモーションに基づく修正のための変換行列を求める必要がある。補正前のフレームから補正後のフレームまでの変換行列Sは、補正の対象となるフレームの前後kフレームまでのアフィン変換を用いて次の式(24)によって表される。 
Figure JPOXMLDOC01-appb-M000018
 ここで、
Figure JPOXMLDOC01-appb-M000019
はフレームnからmまでのアフィン変換行列である。また、
Figure JPOXMLDOC01-appb-M000020
はガウス・カーネルである。式(24)の星印は畳み込み演算子を表す。また√k=σである。
 そこで、図1に示す画像処理装置20のCPU22は、得られた変換行列を用いて次の式(25)の演算を行うことで、フレーム画像間のずれが少なくなるように、対象となるフレーム画像に対して振動補正を行うことができる。
Figure JPOXMLDOC01-appb-M000021
 ここで、隣り合うフレーム画像間の振動補正を行う場合は上述したn、mは連続した自然数となるが、基準となるフレーム画像に対して所定のフレーム画像の振動補正を行う場合は、n、mは連続した自然数でなくてもよい。
 なお、本願発明者らが1フレームあたりのBFGS法の適用回数を計算したところ次の結果が得られた。非特許文献1に記載されたエラー関数を用いると、GPUが演算した場合は平均で42.87回、CPUが演算した場合は平均で11.43回となった。これに対して、本実施形態の式(3)のエラー関数を用いると、GPUが演算した場合は平均で7.707回、CPUが演算した場合は平均で6.481回となった。すなわち、式(3)のエラー関数を用いた方が、演算回数が少なくなり、短時間で演算することが可能になる。
 図3は、補正前と補正後(画像補正装置による補正済み)のフレーム数に対する移動量を示す図であり、(A)はX軸方向の移動量、(B)はY軸方向の移動量である。同図に示すように、補正により移動量は非常に滑らかになった。
 また、画像処理装置20のCPU22は、回転移動量及び平行移動量の少なく1つが補正されたフレーム画像を順次合成して、複数のフレームからなる合成画像を生成してもよい。
 図4は、第1から第3のフレーム画像の合成により生成された合成画像を示す図である。ここでは、CPU22は、補正された最新のフレーム画像を、中心位置に対して水平になるように順次上に重ねる。これにより、中心付近は新しいフレーム画像で構成され、縁付近は古いフレーム画像で構成された、フレーム画像よりも大きい合成画像が生成される。
この場合、GPU26は、各座標において画像が存在するかの判定フラグを立てて、画像がある座標においてのみエラー関数Eを演算すればよい。この結果、フレーム画像の移動量の推定誤差が小さくなり、仮に、最新のフレーム画像とその1つ前のフレーム画像との重なる部分がほとんどなくても、グローバルモーション推定が可能になる。なお、GPU26は、累積誤差を防止するため、最新のフレーム画像よりも所定フレーム以前のフレーム画像については合成せず、順次破棄するとよい。
さらに、GPU26は、過去のフレーム画像I、In-1、In-2・・・の合成である合成画像をフレーム画像Iとし、次の最新のフレーム画像In+1を用いて、エラー関数Eを演算してもよい。これにより、カメラ10のぶれ量が大きい場合でも、合成されたフレーム画像Iと次の最新のフレーム画像In+1との重複範囲が大きくなるので、カメラのぶれ量が確実に検出される。
 以上のように、本発明の実施形態に係る画像補正装置は、BFGS法を適用して式(3)のエラー関数の最小値を探索することにより、従来に比べて、非常に短時間でエラー関数が最小値となるときのアフィン変換パラメータを求め、このアフィン変換パラメータを用いて、リアルタイムで動画像のぶれを補正することができる。
 BFGS法を用いた最小値探索では複数回の演算を繰り返して最小値を探索するので、個々の演算式の演算速度のわずかな違いでも、最終的な演算速度に大きく響いてくる。特に、本実施形態に係る画像補正装置は、画像の各画素についての演算を行うため、この違いは顕著である。非特許文献1では、個々の演算式に平方根が含まれているため、どうしても演算速度が遅くなってしまう。これに対して、本実施形態に係る画像補正装置は、エラー関数を工夫することにより、平方根の演算を用いることなく高速にエラー関数の最小値を探索することが可能となった。また、エラー関数を用いることにより、BFGS法を用いた最小値探索の繰り返し演算回数そのものを少なくできることも見出した。
さらに、上記画像補正装置は、補正されたフレーム画像を順次合成することで、フレーム画像よりもサイズの大きい合成画像を生成することができる。そして、上記画像補正装置は、サイズの大きい合成画像に対する最新のフレーム画像の移動量を抽出することで、カメラ10のぶれ量が大きい場合でも、そのぶれ量を確実に抽出して、ぶれを補正することができる。
 なお、上記画像補正装置は、カメラ10がぶれた場合だけでなく、被写体がぶれた場合であっても、上述した式(3)を用いてリアルタイムで動画像の被写体ぶれを補正することができる。
 [第2の実施形態:他のアフィン変換パラメータを用いた場合]
 つぎに、本発明の第2の実施形態について説明する。なお、第1の実施形態と同一の部位には同一の符号を付し、重複する説明は省略する。
 第1の実施形態では3変数であるアフィン変換パラメータ(θ、b、b)を用いたが、第2の実施形態では4変数であるアフィン変換パラメータ(θ、b、b、z)を用いる。なお、zはズーム方向のパラメータであり、画像の倍率を示している。ここで、エラー関数は、次の式(26)のように表される。
Figure JPOXMLDOC01-appb-M000022
 式(26)においてχは画面平面上全ての座標値の集合である。I(x)はピクセルxの輝度値である。そして、4変数のアフィン変換パラメータを用いると、アフィン変換は、次の式(27)のように表される。
Figure JPOXMLDOC01-appb-M000023
 このとき、導関数は、式(28)~(31)のようになる。
Figure JPOXMLDOC01-appb-M000024
 但し、導関数は、式(32)~(38)を満たす。
Figure JPOXMLDOC01-appb-M000025
 そこで、第2の実施形態では、図1に示す画像処理装置20のCPU22は、上述した4変数のアフィン変換パラメータを用いたエラー関数に対して、式(28)~(31)(式(32)~(38)を含む。)を用いてBFGS法を適用する。これにより、CPU22は、エラー値の最小値を短時間で探索し、このときのアフィン変換パラメータをフレーム間の動き、すなわちカメラの移動量として抽出する。そして、CPU22は、このアフィン変換パラメータを用いて第1の実施形態と同様にして画像を補正することができる。
 以上のように、第2の実施形態に係る画像補正装置は、ズーム方向のパラメータを含んだアフィン変換パラメータを用いて移動量を抽出できるので、画像に現れる被写体の大きさが変化するほどカメラ10が振動しても、リアルタイムでその振動を抑制するように動画像を補正することができる。
 また、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。例えば、上述した実施形態では、フレーム画像Iに隣接したフレーム画像In+1の変換をアフィン変換パラメータで表したが、変換されるフレーム画像はフレーム画像Iに隣接していなくてもよい。例えば、基準フレーム画像に対して数フレーム離れた所定のフレーム画像をアフィン変換パラメータで表すことも可能である。
 また、上述した実施形態では、画像処理装置20は、カメラ10で生成された動画像をリアルタイムで補正したが、ハードディスクドライブ23に予め記憶されている動画像についても同様に補正することができる。
10 カメラ
20 画像処理装置
22 CPU
26 GPU

Claims (15)

  1.  動画像を構成する複数のフレーム画像のうちの第1のフレーム画像に対して、平行移動量と回転移動量とを含んだアフィン変換パラメータを用いて画像変換処理を行って、第1の変換フレーム画像を生成する画像変換部と、
     前記画像変換部により前記平行移動量及び前記回転移動量にそれぞれ所定の値が設定されて前記第1の変換フレーム画像が生成される毎に、前記画像変換部により生成された第1の変換フレーム画像と、前記動画像を構成する複数のフレーム画像のうちの前記第1のフレーム画像と異なる第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算し、前記第1の変換フレーム画像及び前記第2のフレーム画像が少なくとも重複するすべての同一座標についての前記自乗値を積算してエラー関数を導出するエラー関数導出部と、
     BFGS法を用いて前記エラー関数導出部により導出されたエラー関数の値が最小値となる場合を探索し、前記エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する前記第1のフレーム画像の変化量として抽出する変化量抽出部と、
     を備えた画像変化量抽出装置。
  2.  前記画像変換部は、前記平行移動量である第1方向への移動量x及び前記第1方向に直交する第2方向への移動量yと、前記回転移動量θと、を含んだアフィン変換パラメータを用いて画像変換処理を行い、
     前記変化量抽出部は、前記エラー関数の最小値の探索の際にBFGS法で使用する導関数として、
    Figure JPOXMLDOC01-appb-M000001
    を用いる
     請求項1に記載の画像変化量抽出装置。
  3.  前記画像変換部は、前記第1のフレーム画像に対して、画像の倍率を更に含んだアフィン変換パラメータを用いて、画像変換処理を行う
     請求項1に記載の画像変化量抽出装置。
  4.  前記画像変換部は、前記平行移動量である第1方向への移動量x及び前記第1方向に直交する第2方向への移動量yと、前記回転移動量θと、ズーム方向の倍率zを含んだアフィン変換パラメータを用いて画像変換処理を行い、
     前記変化量抽出部は、前記エラー関数の最小値の探索の際にBFGS法で使用する導関数として、
    Figure JPOXMLDOC01-appb-M000002
    を用いる
     請求項3に記載の画像変化量抽出装置。
  5.  前記エラー関数導出部は、前記第1の変換フレーム画像と、前記第1のフレーム画像に隣接する第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算する
     請求項1に記載の画像変化量抽出装置。
  6.  前記エラー関数導出部は、前記第1の変換フレーム画像と前記第2のフレーム画像との各々の同一座標について、各画素値の差分の自乗値をそれぞれ独立して並列演算する
     請求項1に記載の画像変化量抽出装置。
  7.  前記画像変換部は、動画像を構成する複数のフレーム画像のうちの最新の第1のフレーム画像に対して、前記画像変換処理を行って第1の変換フレーム画像を逐次生成し、
    前記エラー関数導出部は、前記画像変換部により逐次生成された第1の変換フレーム画像と、前記第1のフレーム画像の直前のフレームである第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算する
    請求項1に記載の画像変化量抽出装置。
  8.  請求項1に記載の画像変化量抽出装置と、
     前記第1のフレーム画像と前記画像変化量抽出装置により抽出された変化量とに基づいて、第1のフレーム画像と前記第2のフレーム画像とのずれが少なくなるように、前記第1のフレーム画像に対して補正処理を行う補正部と、
     を備えた画像補正装置。
  9.  前記第2のフレーム画像に対して、前記補正部により補正処理された前記第1のフレーム画像を合成する画像合成部を更に備えた
     請求項8に記載の画像補正装置。
  10.  請求項8に記載の画像変化量抽出装置と、
    前記第1のフレーム画像と前記画像変化量抽出装置により抽出された変化量とに基づいて、第1のフレーム画像と前記第2のフレーム画像とのずれが少なくなるように、前記第1のフレーム画像に対して補正処理を行う補正部と、
     前記第2のフレーム画像に対して、前記補正部により補正処理された前記第1のフレーム画像を合成する画像合成部と、を備え、
    前記画像変化量抽出装置は、次の第1のフレーム画像に対して、前記画像合成部により合成された画像を前記第2のフレーム画像として、前記次の第1のフレーム画像の変化量を抽出する
    画像補正装置。
  11.  請求項1に記載の画像変化量抽出装置と、
     前記第2のフレーム画像と前記画像変化量抽出装置により抽出された変化量とに基づいて、第1のフレーム画像と前記第2のフレーム画像とのずれが少なくなるように、前記第2のフレーム画像に対して補正処理を行う補正部と、
     を備えた画像補正装置。
  12.  前記第1のフレーム画像に対して、前記補正部により補正処理された前記第2のフレーム画像を合成する画像合成部を更に備えた
     請求項11に記載の画像補正装置。
  13.  コンピュータを、請求項8または請求項11に記載の画像補正装置の各部として機能させるための画像補正プログラム。
  14.  コンピュータを、
     動画像を構成する複数のフレーム画像のうちの第1のフレーム画像に対して、平行移動量と回転移動量とを含んだアフィン変換パラメータを用いて画像変換処理を行って、第1の変換フレーム画像を生成する画像変換手段、
     前記画像変換手段より前記平行移動量及び前記回転移動量にそれぞれ所定の値が設定されて前記第1の変換フレーム画像が生成される毎に、前記画像変換手段により生成された第1の変換フレーム画像と、前記動画像を構成する複数のフレーム画像のうちの前記第1のフレーム画像と異なる第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算し、前記第1の変換フレーム画像及び前記第2のフレーム画像が少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出するエラー関数導出手段、及び、
     BFGS法を用いて前記エラー関数導出手段により導出されたエラー関数の値が最小値となる場合を探索し、前記エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する前記第1のフレーム画像の変化量として抽出する変化量抽出手段、
     として機能させるための画像変化量抽出プログラム。
  15.  コンピュータを、
     動画像を構成する複数のフレーム画像のうちの第1のフレーム画像に対して、平行移動量と回転移動量とを含んだアフィン変換パラメータを用いて画像変換処理を行って、第1の変換フレーム画像を生成する画像変換部、
     前記画像変換部より前記平行移動量及び前記回転移動量にそれぞれ所定の値が設定されて前記第1の変換フレーム画像が生成される毎に、前記画像変換部により生成された第1の変換フレーム画像と、前記動画像を構成する複数のフレーム画像のうちの前記第1のフレーム画像と異なる第2のフレーム画像と、の同一座標の各画素値の差分の自乗値を演算し、前記第1の変換フレーム画像及び前記第2のフレーム画像が少なくとも重複するすべての同一座標についての自乗値を積算してエラー関数を導出するエラー関数導出部、及び、
     BFGS法を用いて前記エラー関数導出部により導出されたエラー関数の値が最小値となる場合を探索し、前記エラー関数の値が最小値となる場合のアフィン変換パラメータを第2のフレーム画像に対する前記第1のフレーム画像の変化量として抽出する変化量抽出部、
     として機能させるための画像変化量抽出プログラムが記録された記録媒体。
PCT/JP2009/061329 2008-06-20 2009-06-22 移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体 WO2009154294A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010518003A JP4771186B2 (ja) 2008-06-20 2009-06-22 移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体
US12/999,828 US20110135206A1 (en) 2008-06-20 2009-06-22 Motion Extraction Device and Program, Image Correction Device and Program, and Recording Medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-162477 2008-06-20
JP2008162477 2008-06-20

Publications (1)

Publication Number Publication Date
WO2009154294A1 true WO2009154294A1 (ja) 2009-12-23

Family

ID=41434205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/061329 WO2009154294A1 (ja) 2008-06-20 2009-06-22 移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体

Country Status (3)

Country Link
US (1) US20110135206A1 (ja)
JP (1) JP4771186B2 (ja)
WO (1) WO2009154294A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620100B2 (en) 2009-02-13 2013-12-31 National University Corporation Shizuoka University Motion blur device, method and program
JP6423566B1 (ja) * 2018-06-21 2018-11-14 株式会社 ディー・エヌ・エー 画像処理装置、画像処理プログラム、及び、画像処理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886552B2 (en) 2011-08-12 2018-02-06 Help Lighting, Inc. System and method for image registration of multiple video streams
JP5412692B2 (ja) * 2011-10-04 2014-02-12 株式会社モルフォ 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
US9020203B2 (en) 2012-05-21 2015-04-28 Vipaar, Llc System and method for managing spatiotemporal uncertainty
CN103020711A (zh) * 2012-12-25 2013-04-03 中国科学院深圳先进技术研究院 分类器训练方法及其系统
US9940750B2 (en) 2013-06-27 2018-04-10 Help Lighting, Inc. System and method for role negotiation in multi-reality environments
WO2016203282A1 (en) 2015-06-18 2016-12-22 The Nielsen Company (Us), Llc Methods and apparatus to capture photographs using mobile devices
KR20180057564A (ko) * 2016-11-22 2018-05-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11361407B2 (en) 2017-04-09 2022-06-14 Indiana University Research And Technology Corporation Motion correction systems and methods for improving medical image data
CN109191489B (zh) * 2018-08-16 2022-05-20 株洲斯凯航空科技有限公司 一种飞行器着陆标志的检测跟踪方法与系统
EP3933760A4 (en) * 2019-06-07 2022-12-07 Mayekawa Mfg. Co., Ltd. IMAGE PROCESSING DEVICE, IMAGE PROCESSING PROGRAM AND IMAGE PROCESSING METHOD

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309558A (ja) * 2004-04-19 2005-11-04 Sony Corp 画像処理方法および装置、並びにプログラム
JP2006520042A (ja) * 2003-03-07 2006-08-31 キネティック リミテッド スキャニング装置及び方法
JP2007035020A (ja) * 2005-06-22 2007-02-08 Konica Minolta Medical & Graphic Inc 領域抽出装置、領域抽出方法及びプログラム
JP2007041752A (ja) * 2005-08-02 2007-02-15 Casio Comput Co Ltd 画像処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4344849B2 (ja) * 2004-05-21 2009-10-14 国立大学法人東京工業大学 光位相分布測定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520042A (ja) * 2003-03-07 2006-08-31 キネティック リミテッド スキャニング装置及び方法
JP2005309558A (ja) * 2004-04-19 2005-11-04 Sony Corp 画像処理方法および装置、並びにプログラム
JP2007035020A (ja) * 2005-06-22 2007-02-08 Konica Minolta Medical & Graphic Inc 領域抽出装置、領域抽出方法及びプログラム
JP2007041752A (ja) * 2005-08-02 2007-02-15 Casio Comput Co Ltd 画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAKOTO FUJISAWA ET AL. ET AL.: "GPU o Mochiita Video Eizo no Anteika", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 49, no. 2, 15 February 2008 (2008-02-15), pages 1022 - 1030 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620100B2 (en) 2009-02-13 2013-12-31 National University Corporation Shizuoka University Motion blur device, method and program
JP6423566B1 (ja) * 2018-06-21 2018-11-14 株式会社 ディー・エヌ・エー 画像処理装置、画像処理プログラム、及び、画像処理方法
JP2019219985A (ja) * 2018-06-21 2019-12-26 株式会社 ディー・エヌ・エー 画像処理装置、画像処理プログラム、及び、画像処理方法

Also Published As

Publication number Publication date
JP4771186B2 (ja) 2011-09-14
JPWO2009154294A1 (ja) 2011-12-01
US20110135206A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP4771186B2 (ja) 移動量抽出装置及びプログラム、画像補正装置及びプログラム並びに記録媒体
US10755428B2 (en) Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
KR102006043B1 (ko) 깊이 카메라를 이용한 머리 포즈 추적 기법
US9609181B2 (en) Image signal processor and method for synthesizing super-resolution images from non-linear distorted images
US8872817B2 (en) Real-time three-dimensional real environment reconstruction apparatus and method
US11222409B2 (en) Image/video deblurring using convolutional neural networks with applications to SFM/SLAM with blurred images/videos
JP4582174B2 (ja) 追跡処理装置、追跡処理方法、プログラム
WO2012063468A1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2009134509A (ja) モザイク画像生成装置及びモザイク画像生成方法
JP7082713B2 (ja) ローリングシャッター画像/ビデオのsfm/slamに対するアプリケーションで畳み込みニューラルネットワークを用いる画像/ビデオにおけるローリングシャッター補正
CN116917949A (zh) 根据单目相机输出来对对象进行建模
US20230334636A1 (en) Temporal filtering weight computation
CN117456124B (zh) 一种基于背靠背双目鱼眼相机的稠密slam的方法
CN111712857A (zh) 图像处理方法、装置、云台和存储介质
JP4017578B2 (ja) 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体
JP7164873B2 (ja) 画像処理装置及びプログラム
US11954801B2 (en) Concurrent human pose estimates for virtual representation
JP6154759B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法及びカメラパラメータ推定プログラム
JP2011242134A (ja) 画像処理装置、画像処理方法、プログラム、及び電子装置
Florez et al. Video stabilization taken with a snake robot
JP7074694B2 (ja) 情報端末装置及びプログラム
WO2023248732A1 (ja) 信号処理装置、信号処理方法
JP4286301B2 (ja) 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体
WO2023095667A1 (ja) データ処理装置およびデータ処理方法、並びにプログラム
JP2006172026A (ja) カメラ運動と3次元情報の復元装置、復元方法、およびプログラム

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: 09766742

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010518003

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12999828

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 09766742

Country of ref document: EP

Kind code of ref document: A1