WO2020158382A1 - 映像処理装置、映像処理方法、及び映像処理プログラム - Google Patents

映像処理装置、映像処理方法、及び映像処理プログラム Download PDF

Info

Publication number
WO2020158382A1
WO2020158382A1 PCT/JP2020/001000 JP2020001000W WO2020158382A1 WO 2020158382 A1 WO2020158382 A1 WO 2020158382A1 JP 2020001000 W JP2020001000 W JP 2020001000W WO 2020158382 A1 WO2020158382 A1 WO 2020158382A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving image
motion vector
camera
angular velocity
spatial frequency
Prior art date
Application number
PCT/JP2020/001000
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 US17/310,237 priority Critical patent/US11756215B2/en
Publication of WO2020158382A1 publication Critical patent/WO2020158382A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/262Analysis of motion using transform domain methods, e.g. Fourier domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • 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
    • 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/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • This disclosure relates to a video processing device, a video processing method, and a video processing program capable of estimating the motion of a camera that captured the moving image from the moving image.
  • Non-Patent Documents 1 to 3 disclose estimation of the translational velocity/angular velocity of a camera by epipolar geometry. By using these techniques, the technique can be used for research on visual motion and correction of camera shake. As a result, it is possible to provide the viewer with a video that is easy to see.
  • Non-Patent Documents 1 to 3 since the epipolar geometry is used for estimating the translational velocity and the angular velocity of the camera, there is a problem that the calculation load for detecting corresponding points between frames is large.
  • a method of estimating a motion vector from an image using a brightness gradient method as in Non-Patent Document 4 and estimating the translational velocity and angular velocity of the camera based on the estimation result can be considered.
  • the estimation accuracy of the translational velocity and the angular velocity of the camera is deteriorated because the motion vector unrelated to the translational velocity and the angular velocity of the camera is strongly influenced.
  • an object of the present disclosure made in view of such a point is video processing capable of relatively accurately estimating the movement of a camera that captures a moving image from the moving image with a lighter calculation load than the method using epipolar geometry.
  • a device, a video processing method, and a video processing program are examples of video processing program.
  • a spatial frequency filter unit that extracts low spatial frequency components of a moving image
  • An angular velocity calculation unit that calculates an angular velocity of a camera that captured the moving image based on the moving image that has passed through the spatial frequency filter unit.
  • the video processing method is Extracting low spatial frequency components of the moving image, Calculating the angular velocity of the camera that captured the moving image based on the moving image in which low spatial frequency components were extracted.
  • the video processing program according to the present disclosure is a program that causes a computer to function as the above-described video processing device.
  • a video processing device capable of relatively accurately estimating the movement of a camera that captured a moving image from the moving image with a light calculation load. it can.
  • FIG. 1 is a block diagram showing a configuration of a video processing device according to an embodiment of the present disclosure. It is a block diagram which shows the structure of the spatial frequency filter part of FIG. 9 is a flowchart showing a processing procedure of a video processing method according to an embodiment of the present disclosure.
  • FIG. 11 is a block diagram showing a method of confirming a correlation between an average motion vector of a moving image estimated by the video processing device according to an embodiment of the present disclosure and an angular velocity of a camera by a gyro sensor. It is a figure which shows the correlation confirmation result of the average motion vector of a moving image and the camera angular velocity by a gyro sensor by the method shown in FIG.
  • a video processing device 100 according to an embodiment of the present disclosure will be described below with reference to the drawings.
  • the video processing device 100 includes a spatial frequency filter unit 10 that extracts a low spatial frequency component of luminance of an input moving image, and a moving image that has passed through the spatial frequency filter unit 10.
  • a motion vector estimation unit 30 that estimates a motion vector of a moving image by the brightness gradient method
  • an average motion vector calculation unit 50 that averages the motion vectors of a plurality of regions in the moving image to calculate an average motion vector.
  • an angular velocity calculation unit 70 that calculates the angular velocity of the camera from the average motion vector.
  • Each of the above functional units may be configured to be controlled by a control unit (not shown in FIG. 1).
  • each pixel value of each frame image is described as I(x,y).
  • x and y are the pixel indices in the horizontal and vertical directions of the image, respectively.
  • the moving image is a time series of each frame image
  • the pixel value in the frame t is described as I(x,y,t) with t as a time index.
  • the pixel value symbol may be used to represent "image I(x,y)", but this refers to all pixel values of the image.
  • the spatial frequency filter unit 10 performs a Fourier transform on the input of each frame image I(x,y) forming the moving image I(x,y,t).
  • Frequency data (Hereinafter, referred to as I ⁇ (f x ,f y ) in the text) and the frequency weighting F(f defined in advance for frequency data I ⁇ (f x ,f y ).
  • a low spatial frequency filter unit 14 that passes low spatial frequency components by weighting
  • filtered frequency data (Hereinafter, referred to as I ⁇ '(f x ,f y ) in the text) and an inverse Fourier transform unit 16 that outputs a filtered image I'(x,y) by performing an inverse Fourier transform.
  • I have it.
  • the filtered image I′(x,y) is an image obtained by extracting the low spatial frequency component of the original image I(x,y).
  • I ⁇ (f x ,f y ) is the value of the (f x ,f y ) element of the frequency data
  • F(f x ,f y ) is the weight corresponding to the (f x ,f y ) element.
  • the frequency data I 1 to (f x ,f y ) generated by Fourier transforming the image I(x,y) by the Fourier transform unit 12 is obtained by the following mathematical expression (1).
  • Equation (1) the right side of equation (1) is Is a parallel filtering process that applies a fixed weight w(x, y) to each set of spatial frequencies f x and f y .
  • the frequency data I ⁇ '(f x , f y ) filtered by the low spatial frequency filter unit 14 is obtained by the following mathematical expression (2).
  • F(f x ,f y ) is a frequency weight corresponding to a set of spatial frequencies f x ,f y defined in advance.
  • Equation (3) a filtered image I′(x,y) generated by performing an inverse Fourier transform on the frequency data I ⁇ '(f x ,f y ) filtered by the inverse Fourier transform unit 16 is Equation (3) is obtained.
  • Equation (3) is Is a parallel filtering process in which a fixed weight w′(f x , f y ) is applied to each set of pixel positions x and y.
  • the process in the spatial frequency filter unit 10 is a multi-stage filter process executed in the order of Formulas (1) to (3), and Formulas (1) and (3) are parallel filter processes capable of parallel processing. .. That is, the process in the spatial frequency filter unit 10 is a multi-stage parallel filter process that does not include a conditional branch, and the calculation load is light. Further, the processing in the equations (1) and (3) can further reduce the calculation load by using the Fast Fourier Transform.
  • the optimum cutoff spatial frequency f x cut [cycle/deg.] in the filter processing by the low spatial frequency filter unit 14 is the frame rate f t [frame/s] of the camera that captured the moving image and the maximum angular velocity of the camera. Based on v max [deg./s], it can be determined as shown in the following mathematical expression (4).
  • Mathematical formula (4) can be transformed into the following mathematical formula (5).
  • Expression (5) means the sampling theorem regarding the time frequency.
  • f x cut [cycle/deg.] that moves at the maximum angular velocity v max [deg./s]
  • v max *f x cut [frame/s] double the value of v max *f x cut [frame/s].
  • the above frame rate is required.
  • the frame rate is f t [frame/s]
  • the spatial frequency is f t /2v max [cycle/deg.] or less
  • the image motion generated when the camera rotates can be reliably expressed. doing. Therefore, the optimum cutoff frequency can be determined as shown in equation (4).
  • the spatial frequency filter unit 10 is configured to function as a low-pass filter in the present embodiment, the present invention is not limited to this mode and may be configured as a band-pass filter that mainly passes low spatial frequency components. .. Further, in the present embodiment, the spatial frequency filter unit 10 is configured to be realized in the spatial frequency domain by using the Fourier transform, but the present invention is not limited to this mode, and the frequency weighting F(f x , f y ) is inversely Fourier transformed by using a filter G(x,y) to realize as a convolution operation of the image I(x,y) and the filter G(x,y) in the real space domain. Good.
  • the motion vector estimation unit 30 estimates a motion vector from the moving image I′(x,y) in which the low spatial frequency component is extracted.
  • the estimation of the motion vector can be performed by, for example, the Lucas-Kanade method which estimates the motion vector from the brightness gradient in the moving image shown in Non-Patent Document 4.
  • the present invention is not limited to this aspect, and various methods such as the generalized gradient method shown in Reference 1 can be used.
  • Reference 1 Reference 1
  • Miike, Cho, Miura, Sugimura "Optical Flow Detection by Generalized Gradient Method: Measurement of Object Motion under Nonuniform Illumination", IPSJ Journal: Computer Vision and Image Media (CVIM) (2008)
  • the Lucas-Kanade method used for estimating a motion vector in the present embodiment is a method for estimating a motion vector at each pixel position from a local brightness gradient in a moving image, and is similar to the process in the spatial frequency filter unit 10. It is a multi-stage parallel processing that does not include conditional branch in the calculation process. Therefore, it is possible to significantly reduce the calculation load as compared with the camera motion estimation based on the epipolar geometry.
  • the average motion vector calculation unit 50 averages the motion vectors generated by the motion vector estimation unit 30 to generate an average motion vector.
  • the average value may be calculated in the entire region of the moving image, or the average value may be calculated in a partial region of the moving image.
  • an area that includes a lot of noise because light does not hit much is excluded from the calculation target, or an area where a moving object exists as described below. May be excluded from the calculation target.
  • a motion vector self-evaluation method as in Reference 2 can be used.
  • the object tracking technique may be used to track a moving target object, and the motion vector may be calculated from an image of an area excluding the target object and its vicinity.
  • the motion vector of the area excluding the object and its vicinity may be output.
  • the angular velocity calculation unit 70 calculates the angular velocity of the camera that captured the moving image from the average motion vector generated by the average motion vector calculation unit 50.
  • Motion of the camera includes motion in the rotational direction and motion in the translational direction, but motion (blur) of the moving image due to the motion of the camera is mainly due to motion in the rotational direction of the camera. Therefore, the angular velocity calculation unit 70 calculates the angular velocity of the camera on the assumption that the vertical and horizontal motion vectors of the moving image correspond to the movement of the camera in the rotational direction.
  • each processing in the spatial frequency filter unit 10, the motion vector estimation unit 30, the average motion vector calculation unit 50, and the angular velocity calculation unit 70 is, for example, a CPU (Central Processing Unit) provided with a predetermined program in the video processing device 100. ), a GPU (Graphics Processing Unit), and a DSP (Digital Signal Processor).
  • the processing in each functional unit is realized as hardware processing by, for example, an ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), or FPGA (Field Programmable Gate Array). You may comprise.
  • the above predetermined program is stored in a storage unit (not shown) inside or outside the video processing device 100.
  • the storage unit includes a readable non-transitory storage medium, and the storage medium includes a magnetic disk storage medium, a magnetic cassette, a magnetic tape, and other magnetic and optical storage devices (for example, a CD (Compact Disk), Rewritable and programmable ROM or information such as laser disc (registered trademark), DVD (registered trademark) (Digital Versatile Disc), floppy (registered trademark) disc and Blu-ray disc (registered trademark), EPROM, EEPROM or flash memory Other tangible storage media capable of storing or any combination thereof.
  • CD Compact Disk
  • Rewritable and programmable ROM or information such as laser disc (registered trademark), DVD (registered trademark) (Digital Versatile Disc), floppy (registered trademark) disc and Blu-ray disc (registered trademark), EPROM, EEPROM or flash memory
  • Other tangible storage media capable of storing or
  • the video processing device 100 causes the spatial frequency filter unit 10 to perform low spatial frequency filter processing on the input moving image I(x,y,t) (step S101).
  • the spatial frequency filter unit 10 performs a Fourier transform on the input of the image I(x,y) of each frame forming the moving image I(x,y,t) by the Fourier transform unit 12 to obtain frequency data I ⁇ ( output f x ,f y ).
  • the video processing device 100 weights the frequency data I 1 to (f x ,f y ) with the frequency weight F(f x ,f y ) defined in advance by the low spatial frequency filter unit 14 to reduce the weight. Passes spatial frequency components.
  • the video processing device 100 performs an inverse Fourier transform on the filtered frequency data I ⁇ '(f x ,f y ) by the inverse Fourier transform unit 16 to obtain a filtered image I'(x, output y).
  • the video processing device 100 calculates a motion vector by the motion vector estimation unit 30 from the time series (moving image) of the image I′(x,y) in which the low spatial frequency component is extracted in step S101 (step S103). ).
  • the calculation of the motion vector may be performed on the entire region of the moving image, or may be performed by selecting a region suitable for estimating the movement of the camera.
  • the video processing device 100 estimates the average motion vector from the motion vector of the moving image estimated in step S103 by the average motion vector calculation unit 50 (step S105).
  • the average motion vector may be calculated for the entire area of the moving image, or the motion vector of an area suitable for estimating the motion of the camera may be selected and averaged.
  • the video processing device 100 calculates the angular velocity of the camera that captured the moving image by the angular velocity calculation unit 70 from the average motion vector calculated in step S105 (step S107).
  • the angular velocity calculation unit 70 is configured to include the learned model for angular velocity estimation.
  • learning data including a set of an average motion vector and angular velocity data is given to a model (neural network or the like) in which an appropriate initial value is set, and learning is performed in advance.
  • a learning method a well-known machine learning method may be used.
  • the average motion vector calculated in step S105 is input to the learned model for angular velocity estimation, and the result output from the model is used as the calculation result of the camera angular velocity (estimated value of angular velocity). ..
  • the average motion vector calculation unit 50 can be replaced by machine learning. That is, the model is learned so that the motion vector is input and the average motion vector is output, and the average motion vector calculation unit 50 converts the input motion vector into the average motion vector using this learned model. Output. In this case, not only the motion vector but also the moving image (or the feature amount of the moving image) is input as the input of the model to learn the model. It is possible to output the average motion vector as an input. As a result, it can be expected that the estimation result of the average motion vector considering the estimation error of the motion vector caused by the optical aberration of the camera lens and the like is obtained.
  • the motion vector estimation unit 30 The motion vector calculation unit 50 and the angular velocity calculation unit 70 can be replaced with one processing block that directly obtains the estimation result of the angular velocity of the camera from the moving image based on the learned model.
  • the video processing device 100 generates a moving image based on the spatial frequency filter unit 10 that extracts low spatial frequency components of the moving image and the moving image that has passed through the spatial frequency filter unit 10. It is configured to include an angular velocity calculation unit 70 that calculates the angular velocity of the captured camera. By adopting such a configuration, it is possible to accurately estimate the angular velocity of the camera by extracting a motion vector having a high correlation with the angular velocity of the camera from the moving image as described below.
  • the motion vector included in the video may be a motion vector caused by the camera motion or a motion vector caused by a physically moving object.
  • a motion vector caused by camera motion is likely to be expressed as a global luminance component change (global luminance change), and a motion vector caused by a physically moving object is a local luminance component change. It tends to be expressed as (local brightness change). In other words, it can be said that the global luminance change has a high correlation with the camera movement (camera angular velocity).
  • a motion vector estimation method based on a brightness gradient such as the Lucas-Kanade method, does not distinguish the cause of the motion vector. If the luminance gradient method is applied to the original image before applying the spatial frequency filter, in addition to the motion vector highly correlated with the camera motion, many motion vectors highly correlated with physically moving objects will be calculated. Since these cannot be distinguished, it becomes difficult to accurately estimate the camera motion.
  • a moving image that has passed through the spatial frequency filter unit 10 contains a large amount of global luminance change, but local luminance changes are suppressed, so that a global correlation with a high angular velocity of the camera is high. It becomes easy to calculate a motion vector based on a change in brightness.
  • the angular velocity of the camera can be estimated more accurately than when inputting the original video without changing the method itself used for motion vector estimation. Is possible.
  • the present invention includes the spatial frequency filter unit 10 that extracts low spatial frequency components of a moving image, and determines the angular velocity of the camera based on the image in which the low spatial frequency components are extracted by the spatial frequency filter unit 10. It is characterized by estimating.
  • a motion vector estimation unit 30 that estimates a motion vector for the moving image that has passed through the spatial frequency filter unit 10 by the brightness gradient method is further provided, and the angular velocity calculation unit 70 uses the moving image from the motion vector. It was configured to calculate the angular velocity of the camera that took the image.
  • the motion vector is estimated from the moving image by the brightness gradient method, the motion vector based on the global brightness change having a high correlation with the angular speed of the camera is easily calculated, and thus the angular speed of the camera is calculated. It can be estimated more accurately.
  • the angular velocity of the camera is estimated by using the motion vector estimated by the brightness gradient method with a light calculation load, the calculation load can be reduced as compared with the case of using the prior art.
  • an average motion vector calculation unit 50 that averages the motion vectors of the regions in the moving image to calculate the average motion vector is further provided, and the angular velocity calculation unit 70 captures the moving image from the average motion vector. It was configured to calculate the angular velocity of the camera. By adopting such a configuration, even when a moving object such as a moving object that interferes with the estimation of the angular velocity of the camera is reflected in the moving image, the average value of the motion vector of the whole area or a part of the moving image is calculated. By using it, the estimation accuracy of the angular velocity of the camera can be improved.
  • the cutoff frequency of the spatial frequency filter unit 10 is configured to be determined based on the frame rate of the camera capturing the moving image and the maximum angular velocity of the camera.
  • the cutoff frequency of the spatial frequency filter unit 10 is configured to be determined based on at least one of the size and speed of the moving object included in the moving image, as described in the examples described later. Good.
  • the Lucas-Kanade method is used as the brightness gradient method used in the motion vector estimation unit 30 for estimating the motion vector.
  • low spatial frequency filter processing and motion vector estimation can be performed by multi-stage parallel processing that does not include conditional branching and corresponding point search in the calculation process.
  • the calculation load for estimating the camera movement (angular velocity) can be suppressed.
  • the image processing method calculates a low spatial frequency component of a moving image, and calculates an angular velocity of a camera that captured the moving image based on the moving image having the low spatial frequency component extracted. And a step.
  • one video processing device 100 is configured to include the spatial frequency filter unit 10, the motion vector estimation unit 30, the average motion vector calculation unit 50, and the angular velocity calculation unit 70.
  • the processing by the spatial frequency filter unit 10 and the motion vector estimation unit 30 is performed on the server, and the processing by the average motion vector calculation unit 50 and the angular velocity calculation unit 70 is performed in a PC (Personal Computer), smartphone, or tablet PC. You may comprise.
  • PC Personal Computer
  • verification of the estimation accuracy of the angular velocity of the camera is performed by mounting a gyro sensor on the head of the person in addition to the camera for capturing a moving image, and measuring the head of the person obtained from the gyro sensor. It was performed by comparing the angular velocity around the axis with the average motion vector estimated from the moving image captured by the camera (shown in the upper left of FIG. 4).
  • an average motion vector estimated from the moving image of a moving image of a person wearing a camera on the head of a person and playing a ball is arranged adjacent to the camera.
  • the result of comparison with the angular velocity output from the gyro sensor is shown.
  • the band limitation is not applied (Comparative Example 1)
  • the correlation coefficients between the average motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor are 0.51 and 0.49, respectively.
  • the correlation coefficient between the average motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor was improved to 0.69 and 0.73, respectively. This indicates that the motion vector caused by the head rotation (camera motion) can be estimated more accurately by extracting the spatial frequency component of 0.1 cpd or less of the moving image.
  • the image passed through the low spatial frequency filter of 0.1 cpd or less contains many (sufficient) global luminance changes due to head rotation (camera movement), and was caused by ball movement. It is considered that the rotational movement of the camera could be estimated more accurately because the local luminance change was suppressed. Therefore, a filter having a cutoff frequency for suppressing the influence of a moving object such as a ball may be determined according to the moving image, for example, according to the size of the moving object or the speed of the object.
  • Example 2 when a bandpass filter of 0.1 to 0.4 cpd is adopted (Example 2), the phase relationship between the motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor.
  • the numbers were 0.39 and 0.56, respectively, and almost no improvement in the correlation coefficient was observed as compared with the case without band limitation (Comparative Example 1).
  • This is equivalent to a moving image in which the image information including the local luminance gradient due to the movement of the ball, which is a moving object, passes through a band-pass filter of 0.1 to 0.4 cpd in the moving image of the ball play.
  • the result of having compared with the angular velocity output from the gyro sensor which was carried out is shown.
  • the band limitation is not applied (Comparative Example 1), the correlation coefficients between the average motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor are 0.32 and 0.42, respectively.
  • the correlation coefficient between the motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor is: Improved to 0.61 and 0.67 respectively.
  • the motion vector is calculated from the moving image, by extracting the spatial frequency component of 0.1 cpd or less of the moving image, the global rotation caused by the head rotation (camera movement) It is considered that this is because it is possible to extract a larger amount of image information including a different brightness gradient.
  • the correlation coefficient between the motion vector in the x-axis direction and the y-axis direction and the gyro sensor is 0.81 respectively. And improved to 0.78.
  • the spatial frequency component of 0.1 cpd or less of the moving image when estimating the motion vector from the moving image, the global region caused by the head rotation (camera motion) is extracted. It is considered that this is because more image information including the brightness gradient can be extracted.
  • the result of comparison with the angular velocity output from the gyro sensor is shown.
  • the band limitation is not applied (Comparative Example 1)
  • the correlation coefficients between the average motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor are 0.55 and 0.25, respectively.
  • the correlation coefficient between the average motion vector in the x-axis direction and the y-axis direction and the value of each gyro sensor is Improved to 0.72 and 0.58 respectively. Similar to the previous example, this is because when the motion vector is estimated from the moving image, the spatial frequency component of 0.1 cpd or less of the moving image is extracted to detect the motion vector caused by the head rotation (camera movement). It is considered that this is because the image information including the global brightness gradient necessary for the calculation can be selectively extracted.
  • spatial frequency filter unit 12 Fourier transform unit 14 spatial frequency filter unit 16 inverse Fourier transform unit 30 motion vector estimation unit 50 average motion vector calculation unit 70 angular velocity calculation unit 100 video processing device

Landscapes

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

Abstract

軽い計算負荷で動画像から当該動画像を撮影したカメラの動きを比較的精度良く推定することが可能な映像処理装置、映像処理方法、及び映像処理プログラムを実現するために、本開示に係る映像処理装置(100)は、動画像の低空間周波数成分を抽出する空間周波数フィルタ部(10)と、空間周波数フィルタ部(10)を通過した動画像に基づいて動画像を撮影したカメラの角速度を算出する角速度算出部(70)とを備えることを特徴とする。

Description

映像処理装置、映像処理方法、及び映像処理プログラム
 この開示は、動画像から当該動画像を撮影したカメラの動きを推定することが可能な映像処理装置、映像処理方法、及び映像処理プログラムに関する。
 近年、動画像から、当該動画像を撮影したカメラの角速度等を計算する技術の開発が進められている。例えば、非特許文献1~3には、エピポーラ幾何によるカメラの並進速度・角速度の推定について開示されており、これらの技術を用いることで、視覚運動に関する研究に利用したり、カメラの手ぶれを補正して視聴者に見易い映像を提供することが可能となる。
″エピポーラ幾何″、[online]、平成30年、[平成30年11月22日検索]、インターネット〈URL:http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.html〉 佐藤淳、"コンピュータビジョン―視覚の幾何学"、コロナ社 Gary Bradski & Adrian Kaehler 著,松田晃一 訳、"詳解 OpenCV -コンピュータビジョンライブラリを使った画像処理・認識"、オライリージャパン B. D. Lucas & T. Kanade、"An Iterative Image Registration Technique with an Application to Stereo Vision"、Proceedings of Imaging Understanding Workshop (1981) 、p.121-130
 しかし、非特許文献1~3では、カメラの並進速度および角速度の推定にエピポーラ幾何を用いているために、フレーム間対応点検出等の為の計算負荷が大きいという問題がある。
 計算負荷を少なくする方法としては、非特許文献4のような輝度勾配法を用いて映像から動きベクトルを推定し、その推定結果に基づいてカメラの並進速度および角速度を推定する方法も考えられる。だがこの場合、カメラの並進速度や角速度とは無関係な動きベクトルの影響を強く受けるため、カメラの並進速度及び角速度の推定精度が低下してしまう問題がある。
 従って、かかる点に鑑みてなされた本開示の目的は、エピポーラ幾何による方法よりも軽い計算負荷で動画像から当該動画像を撮影したカメラの動きを比較的精度良く推定することが可能な映像処理装置、映像処理方法、及び映像処理プログラムを実現することにある。
 上記課題を解決するため、本開示に係る映像処理装置は、
 動画像の低空間周波数成分を抽出する空間周波数フィルタ部と、
 前記空間周波数フィルタ部を通過した前記動画像に基づいて前記動画像を撮影したカメラの角速度を算出する角速度算出部と
を備えることを特徴とする。
 また、上記課題を解決するため、本開示に係る映像処理方法は、
 動画像の低空間周波数成分を抽出するステップと、
 低空間周波数成分を抽出した前記動画像に基づいて前記動画像を撮影したカメラの角速度を算出するステップと
を含むことを特徴とする。
 また、上記課題を解決するため、本開示に係る映像処理プログラムは、コンピュータを上述の映像処理装置として機能させるプログラムであることを特徴とする。
 本開示によれば、軽い計算負荷で動画像から当該動画像を撮影したカメラの動きを比較的精度良く推定することが可能な映像処理装置、映像処理方法、及び映像処理プログラムを実現することができる。
本開示の一実施形態に係る映像処理装置の構成を示すブロック図である。 図1の空間周波数フィルタ部の構成を示すブロック図である。 本開示の一実施形態に係る映像処理方法の処理手順を示すフローチャートである。 本開示の一実施形態に係る映像処理装置により推定された動画像の平均動きベクトルとジャイロセンサによるカメラの角速度との相関を確認する手法を示すブロック図である。 図4に示す手法による、動画像の平均動きベクトルとジャイロセンサによるカメラ角速度との相関確認結果を示す図である。 図4に示す手法による、動画像の平均動きベクトルとジャイロセンサによるカメラ角速度との相関確認結果を示す図である。 図4に示す手法による、動画像の平均動きベクトルとジャイロセンサによるカメラ角速度との相関確認結果を示す図である。
 以下、本開示の一実施形態に係る映像処理装置100について、図面を参照して説明する。
 図1に示すように、本実施形態に係る映像処理装置100は、入力された動画像の輝度の低空間周波数成分を抽出する空間周波数フィルタ部10と、空間周波数フィルタ部10を通過した動画像に対して、輝度勾配法によって動画像の動きベクトルを推定する動きベクトル推定部30と、動画像内の複数の領域の動きベクトルを平均化して平均動きベクトルを算出する平均動きベクトル算出部50と、平均動きベクトルからカメラの角速度を算出する角速度算出部70とを備えている。なお、上述の各機能部は、図1に図示しない制御部により制御されるように構成してもよい。
 以下では、各フレーム画像の各画素値をI(x,y)と表記する。ここで、x,yはそれぞれ画像の横方向および縦方向の画素インデックスである。動画像は各フレーム画像の時系列であり、tを時間インデックスとしてフレームtにおける画素値をI(x,y,t)と表記する。なお、以下では、画素値の記号を用いて「画像I(x,y)」と表現することもあるが、これは画像の全ての画素値を指すものとする。本実施形態に係る空間周波数フィルタ部10は、図2に示すように、動画像I(x,y,t)を構成する各フレーム画像I(x,y)の入力に対してフーリエ変換を行って周波数データ
Figure JPOXMLDOC01-appb-M000001
(以降、文中ではI~(fx,fy)と記載する)を出力するフーリエ変換部12と、周波数データI~(fx,fy)に対して事前に定義した周波数重みF(fx,fy)で重み付けして低空間周波数成分を通過させる低空間周波数フィルタ部14と、フィルタ処理された周波数データ
Figure JPOXMLDOC01-appb-M000002
(以降、文中ではI~'(fx,fy)と記載する)に対して逆フーリエ変換を行ってフィルタ処理された画像I'(x,y)を出力する逆フーリエ変換部16とを備えている。フィルタ処理された画像I'(x,y)は、元の画像I(x,y)の低空間周波数成分を抽出した画像である。ここで、I~(fx,fy)は周波数データの(fx,fy)要素の値であり、F(fx,fy)は(fx,fy)要素に対応する重みである。なお、上記I~(fx,fy)、I~'(fx,fy)及びI'(x,y)の算出は、以下の数式により行うことができる。
 まず、フーリエ変換部12により画像I(x,y)をフーリエ変換することで生成される周波数データI~(fx,fy)は、以下の数式(1)で求められる。
Figure JPOXMLDOC01-appb-M000003
 ここで、
Figure JPOXMLDOC01-appb-M000004
とおけば、数式(1)の右辺は
Figure JPOXMLDOC01-appb-M000005
となり、空間周波数fx,fyの組ごとに固定の重みw(x,y)を適用する並列フィルタ処理である。
 次に、低空間周波数フィルタ部14によりフィルタ処理された周波数データI~'(fx,fy)は、以下の数式(2)で求められる。
Figure JPOXMLDOC01-appb-M000006
 ここで、F(fx,fy)は、事前に定義した空間周波数fx,fyの組に対応する周波数重みである。
 次に、逆フーリエ変換部16によりフィルタ処理された周波数データI~'(fx,fy)を逆フーリエ変換することで生成されるフィルタ処理された画像I'(x,y)は、以下の数式(3)で求められる。
Figure JPOXMLDOC01-appb-M000007
 数式(1)のフーリエ変換と同様に、
Figure JPOXMLDOC01-appb-M000008
とおけば、数式(3)の右辺は
Figure JPOXMLDOC01-appb-M000009
となり、画素位置x,yの組ごとに固定の重みw'(fx,fy)を適用する並列フィルタ処理である。
 このように、空間周波数フィルタ部10における処理は、数式(1)~(3)の順に実行する多段フィルタ処理であり、数式(1),(3)は並列処理が可能な並列フィルタ処理である。すなわち、空間周波数フィルタ部10における処理は、条件分岐を含まない多段並列フィルタ処理であり、計算負荷が軽い。また、数式(1)、(3)における処理は、高速フーリエ変換(Fast Fourier Transform)を用いることで更に計算負荷を抑制することが可能である。
 なお、低空間周波数フィルタ部14によるフィルタ処理における最適カットオフ空間周波数fx cut[cycle/deg.]は、動画像を撮影したカメラのフレームレートft[frame/s]と、カメラの最大角速度vmax[deg./s]に基づいて、以下の数式(4)に示すように定めることができる。
Figure JPOXMLDOC01-appb-M000010
 また、数式(4)は、以下の数式(5)のように変形することができる。
Figure JPOXMLDOC01-appb-M000011
 数式(5)は、時間周波数に関するサンプリング定理を意味している。最大角速度vmax[deg./s]で動く空間周波数fx cut[cycle/deg.]の縞の動きを確実に記録するためには、vmax*fx cut[frame/s]の2倍以上のフレームレートが必要である。逆に、フレームレートがft[frame/s]の場合にはft/2vmax[cycle/deg.]以下の空間周波数であれば、カメラが回転したときに生じた映像動きを確実に表現している。従って、最適カットオフ周波数は数式(4)に示すように定めることができる。
 なお、本実施形態において空間周波数フィルタ部10は、ローパスフィルタとして機能するように構成したが、この態様には限定されず、主に低空間周波数成分を通過させるバンドパスフィルタとして構成してもよい。また、本実施形態において空間周波数フィルタ部10は、フーリエ変換を用いて空間周波数領域で実現するように構成したが、この態様には限定されず、フーリエ変換の性質より、周波数重みF(fx,fy)を逆フーリエ変換したフィルタG(x,y)を用いて実空間領域で画像I(x,y)とフィルタG(x,y)との畳み込み演算として実現するように構成してもよい。
 本実施形態に係る動きベクトル推定部30は、低空間周波数成分を抽出した動画像I'(x,y)から動きベクトルを推定する。この動きベクトルの推定は、例えば非特許文献4に示す動画像中の輝度勾配から動きベクトルを推定するLucas-Kanade法によって行うことができる。しかし、この態様には限定されず、参考文献1に示す一般化勾配法など様々な手法を用いることができる。
(参考文献1)三池、長、三浦、杉村、“一般化勾配法によるオプティカルフローの検出:不均一照明下での物体運動の計測”、情報処理学会論文誌:コンピュータビジョンとイメージメディア(CVIM)(2008)
 本実施形態で動きベクトルの推定に用いているLucas-Kanade法は、動画像中の局所的な輝度勾配から各画素位置の動きベクトルを推定する手法であり、空間周波数フィルタ部10における処理と同様に計算過程に条件分岐を含まない多段並列処理である。従って、エピポーラ幾何によるカメラの動き推定などと比較して計算負荷を大幅に抑制することができる。
 平均動きベクトル算出部50は、動きベクトル推定部30で生成された動きベクトルを平均化して平均動きベクトルを生成する。平均動きベクトルを生成するに際しては、動画像の全領域で平均値を算出してもよいし、動画像の一部の領域で平均値を算出してもよい。動画像の一部の領域の動きベクトルを用いる場合には、例えば光があまり当たらないためにノイズを多く含むような領域を計算対象から除外したり、後述するように動く対象物が存在する領域を計算対象から除外してもよい。除外すべき領域の特定に際しては、例えば、参考文献2のような動きベクトルの自己評価手法を用いることができる。
(参考文献2)安藤繁、“画像の時空間微分算法を用いた速度ベクトル分布計測システム”、 計測自動制御学会論文集(1986) 22(12)、p.1330-1336、インターネット〈URL:https://doi.org/10.9746/sicetr1965.22.1330〉
 上述の動きベクトルの計算に際しては、物体追跡技術を用いて動画像内の動く対象物を追跡し、当該対象物及びその近傍を除いた領域の画像から動きベクトルを計算するよう構成しても良いし、動きベクトルを出力する際に当該対象物及びその近傍を除いた領域の動きベクトルを出力するように構成してもよい。動画像から当該動画像を撮影したカメラの角速度を推定するに際しては、実際に動いている対象物を動きベクトルの計算対象から除外した方が、計算された動きベクトルがカメラの動きに起因した動きベクトルのみになるため、角速度の推定精度が高くなるものと考えられる。
 角速度算出部70は、平均動きベクトル算出部50で生成された平均動きベクトルから、動画像を撮影したカメラの角速度を算出する。カメラの動きには、回転方向の動きと並進方向の動きが存在するが、カメラの動きに起因する動画像の動き(ぶれ)は、主にカメラの回転方向の動きに起因している。従って、角速度算出部70は、動画像の上下方向及び左右方向の動きベクトルがカメラの回転方向の動きに対応していると仮定してカメラの角速度を算出する。
 図1において、空間周波数フィルタ部10、動きベクトル推定部30、平均動きベクトル算出部50、及び角速度算出部70における各処理は、例えば、所定のプログラムを映像処理装置100が備えるCPU(Central Processing Unit)やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)で実行させることによって、ソフトウエア処理として実現することができる。しかし、この態様には限定されず、各機能部における処理は、例えばASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、又はFPGA(Field Programmable Gate Array)等によってハードウエア処理として実現するように構成してもよい。
 上記所定のプログラムは、映像処理装置100内又は外部の図示しない記憶部に格納される。記憶部は、読取り可能な非一過性の記憶媒体を含み、当該記憶媒体には、磁気ディスク記憶媒体、磁気カセット、磁気テープ、その他の磁気及び光学記憶装置(例えば、CD(Compact Disk)、レーザーディスク(登録商標)、DVD(登録商標)(Digital Versatile Disc)、フロッピー(登録商標)ディスク及びブルーレイディスク(登録商標))、EPROM、EEPROM若しくはフラッシュメモリ等の書換え可能でプログラム可能なROM若しくは情報を格納可能な他の有形の記憶媒体又はこれらいずれかの組合せが含まれる。
 次に、本実施形態に係る映像処理方法の手順について図3を用いて説明する。
 まず、映像処理装置100は、空間周波数フィルタ部10により、入力された動画像I(x,y,t)に対して低空間周波数フィルタ処理を行う(ステップS101)。空間周波数フィルタ部10は、動画像I(x,y,t)を構成する各フレームの画像I(x,y)の入力に対してフーリエ変換部12によりフーリエ変換を行って周波数データI~(fx,fy)を出力する。次に、映像処理装置100は、当該周波数データI~(fx,fy)に対して低空間周波数フィルタ部14により事前に定義した周波数重みF(fx,fy)で重み付けして低空間周波数成分を通過させる。最後に、映像処理装置100は、フィルタ処理された周波数データI~'(fx,fy)に対して逆フーリエ変換部16により逆フーリエ変換を行ってフィルタ処理された画像I'(x,y)を出力する。
 次に、映像処理装置100は、ステップS101において低空間周波数成分を抽出した画像I'(x,y)の時系列(動画像)から、動きベクトル推定部30により動きベクトルを計算する(ステップS103)。動きベクトルの計算は、動画像の全領域に対して行ってもよいし、カメラの動きを推定するのに適した領域を選択して行うようにしてもよい。
 次に、映像処理装置100は、平均動きベクトル算出部50によりステップS103で推定した動画像の動きベクトルから平均動きベクトルを推定する(ステップS105)。平均動きベクトルの算出は、動画像の全領域に対して行ってもよいし、カメラの動きを推定するのに適した領域の動きベクトルを選択して平均化するようにしてもよい。
 次に、映像処理装置100は、ステップS105で算出された平均動きベクトルから、角速度算出部70により動画像を撮影したカメラの角速度を算出する(ステップS107)。
 以上の実施形態では、解析的な手法に基づいて、低空間周波数成分を抽出した動画像からカメラの角速度を算出する例を説明したが、解析的な手法に限らず、機械学習等を用いても良い。
 一例として、角速度算出部70を機械学習で代替させる場合について説明する。この場合、角速度算出部70が角速度推定用学習済みモデルを備えるように構成する。角速度推定用学習済みモデルは、適当な初期値を設定したモデル(ニューラルネットワーク等)に平均動きベクトルと角速度データとの組からなる学習用データを与え、予め学習させておく。学習方法については周知の機械学習法を用いれば良い。そして、角速度算出部70では、角速度推定用学習済みモデルにステップS105で算出された平均動きベクトルを入力することで、モデルから出力される結果をカメラ角速度の算出結果(角速度の推定値)として用いる。
 解析的手法で動きベクトルから角速度を求める場合においても、カメラレンズの光学収差等に起因する動きベクトルの推定誤差等をあらかじめ補正係数として与えるようにしておくことで、同様に動きベクトルの推定誤差等の補正が可能である。
 同様に、平均動きベクトル算出部50を機械学習で代替させることも可能である。つまり、動きベクトルを入力とし、平均動きベクトルを出力するようにモデルを学習させておき、平均動きベクトル算出部50は、この学習済みモデルを用いて入力された動きベクトルを平均動きベクトルに変換して出力する。この場合において、モデルの入力として、動きベクトルだけでなく動画像(または動画像の特徴量)も入力として加えてモデルを学習させることで、平均動きベクトル算出部50において、動画像と動きベクトルを入力として、平均動きベクトルを出力させることが可能である。これにより、カメラレンズの光学収差等に起因する動きベクトルの推定誤差等を考慮した平均動きベクトルの推定結果を得ることが期待できる。
 また、学習用データとして、動画像とカメラの角速度との組の集合を用意し、動画像を入力としてカメラの角速度を出力するようなモデルを学習させておけば、動きベクトル推定部30、平均動きベクトル算出部50、角速度算出部70を、学習済みモデルに基づいて動画像から直接カメラの角速度の推定結果を得るような1つの処理ブロックで代替させることも可能である。
 以上述べたように、本実施形態に係る映像処理装置100は、動画像の低空間周波数成分を抽出する空間周波数フィルタ部10と、空間周波数フィルタ部10を通過した動画像に基づいて動画像を撮影したカメラの角速度を算出する角速度算出部70とを備えるように構成した。このような構成の採用によって、以下に述べるように動画像からカメラの角速度と相関が高い動きベクトルを抽出してカメラの角速度を精度よく推定することができる。
 映像(動画像)中に含まれる動きベクトルは、カメラ運動に起因した動きベクトルもあれば、物理的に動く物体に起因した動きベクトルも存在する。一般的に、カメラ運動に起因した動きベクトルは大域的な輝度成分の変化(大域的な輝度変化)として表出されやすく、物理的に動く物体に起因した動きベクトルは局所的な輝度成分の変化(局所的な輝度変化)として表出されやすい傾向がある。言い換えれば、大域的な輝度変化はカメラ運動(カメラの角速度)との相関性が高いといえる。
 Lucas-Kanade法のような輝度勾配に基づく動きベクトル推定手法は、その動きベクトルがどのような要因で生じたかを区別しない。空間周波数フィルタを適用する前の原映像に輝度勾配法を適用すると、カメラ運動と相関の高い動きベクトルのほかに、物理的に動く物体等と相関の高い動きベクトルも多く算出されることになり、これらの区別ができないため、カメラ運動を精度よく推定することが難しくなる。
 これに対して、空間周波数フィルタ部10を通過した動画像には大域的な輝度変化が多く含まれる一方で、局所的な輝度変化が抑えられるので、カメラの角速度との相関が高い大域的な輝度変化に基づく動きベクトルが算出されやすくなる。事前に入力する映像から高空間周波数成分をカットしておくことで、動きベクトル推定に用いる手法自体は変更することなく、原映像を入力とする場合よりも精度よく、カメラの角速度を推定することが可能となるのである。
 なお、上述したように、映像からカメラの角速度を求めるに際しては、周知の輝度勾配法を用いる他、機械学習等を用いることも可能である。この場合も、映像を入力としてカメラの角速度を出力するモデルの入力として、低空間周波数成分のみを含む画像を用いることで、カメラの角速度と相関の高い特徴が抽出されやすくなるので、出力されるカメラ角速度の推定精度向上が期待できる。
 以上説明したように、本発明は、動画像の低空間周波数成分を抽出する空間周波数フィルタ部10を備え、空間周波数フィルタ部10により低空間周波数成分を抽出した画像に基づいて、カメラの角速度を推定することを特徴とする。
 また、本実施形態では、空間周波数フィルタ部10を通過した動画像に対して、輝度勾配法によって動きベクトルを推定する動きベクトル推定部30をさらに備え、角速度算出部70は、動きベクトルから動画像を撮影したカメラの角速度を算出するように構成した。このような構成の採用によって、動画像から輝度勾配法によって動きベクトルを推定する際に、カメラの角速度と相関が高い大域的な輝度変化に基づく動きベクトルが算出され易くなるため、カメラの角速度をより精度良く推定することができる。また、計算負荷の軽い輝度勾配法によって推定した動きベクトルを用いてカメラの角速度を推定するため、先行技術を用いた場合と比較して計算負荷を低減することができる。
 また、本実施形態では、動画像内の領域の動きベクトルを平均化して平均動きベクトルを算出する平均動きベクトル算出部50を更に備え、角速度算出部70は、平均動きベクトルから動画像を撮影したカメラの角速度を算出するように構成した。このような構成の採用によって、動画像内に動く対象物などカメラの角速度推定を阻害する物が写り込んでいる場合にも、動画像の全領域又は一部の領域の動きベクトルの平均値を用いることで、カメラの角速度の推定精度を高めることができる。
 また、本実施形態では、空間周波数フィルタ部10のカットオフ周波数は、動画像を撮影したカメラのフレームレートと、カメラの最大角速度に基づいて定められるように構成した。このような構成の採用によって、時間方向のエイリアシングを抑えることができ、カメラが回転したときの輝度勾配を確実に検出することができる。
 また、空間周波数フィルタ部10のカットオフ周波数は、後述する実施例に記載のように、動画像に含まれる動く対象物の大きさもしくは速度の少なくとも何れかに基づいて定められるように構成してもよい。
 また、本実施形態では、動きベクトル推定部30において動きベクトルの推定に用いる輝度勾配法として、Lucas-Kanade法を利用するように構成した。このような構成の採用によって、低空間周波数フィルタ処理と動きベクトル推定を、計算過程に条件分岐や対応点探索を含まない多段並列処理で行うことができるため、動画像から当該動画像を撮影したカメラの動き(角速度)を推定するための計算負荷を抑制することができる。
 また、本実施形態に係る映像処理方法は、動画像の低空間周波数成分を抽出するステップと、低空間周波数成分を抽出した前記動画像に基づいて前記動画像を撮影したカメラの角速度を算出するステップとを含むように構成した。このような構成の採用によって、動画像からカメラの角速度との相関が高い動きを抽出してカメラの角速度を精度よく推定することができる。
 本開示を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各構成部、各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の構成部やステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
 例えば、本実施形態では、1つの映像処理装置100が、空間周波数フィルタ部10、動きベクトル推定部30、平均動きベクトル算出部50、角速度算出部70を備えるように構成したが、この態様には限定されない。例えば、空間周波数フィルタ部10及び動きベクトル推定部30による処理をサーバ上で行い、平均動きベクトル算出部50及び角速度算出部70による処理をPC(Personal Computer)、スマートフォン又はタブレットPC内で行うように構成してもよい。
 次に、本実施形態に係る映像処理装置100によって動画像から推定された、当該動画像を撮影したカメラの角速度の推定精度の検証を行った。カメラの角速度の推定精度の検証は、図4の右上に示すように、人物の頭部に動画像撮影用のカメラに加えてジャイロセンサを搭載し、ジャイロセンサから取得した人物の頭部の各軸周りの角速度を、カメラで撮影された動画像(図4の左上に示す)から推定された平均動きベクトルと比較することにより行った。なお、ジャイロセンサの出力と動画像の平均動きベクトルとの比較に際しては、頭部のy軸周りの回転により動画像上にx軸方向の動きが発生し、頭部のx軸周りの回転により動画像上にy軸方向の動きが発生することから、動画像のx軸方向の動きベクトル
Figure JPOXMLDOC01-appb-M000012
(以降、文中ではv~ x(t)と記載する)を頭部(ジャイロセンサ)のy軸周りの角速度ωy(t) と比較し、動画像のy軸方向の動きベクトルv~ y(t)を頭部(ジャイロセンサ)のx軸周りの角速度ωx(t)と比較した。図5A~図5Cに比較結果を示す。
 図5Aの上段には、人物の頭部にカメラを装着してボール遊びを行っている様子を撮影した動画像について、当該動画像から推定される平均動きベクトルと、カメラに隣接して配置されたジャイロセンサから出力される角速度とを比較した結果を示している。帯域制限をかけていない場合(比較例1)、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.51と0.49であったのに対して、空間周波数が0.1cpd(cycle per degree)(本実施例においては、画角82°に対し映像640pixelのため,1cpd=82/640(cycle/pixel)である)の低空間周波数フィルタをかけた場合(実施例1)には、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.69と0.73へと向上した。これは、動画像の0.1cpd以下の空間周波数成分を抽出することにより、より精度よく頭部回転(カメラ運動)に起因した動きベクトルが推定できることを示している。言い換えれば、0.1cpd以下の低空間周波数フィルタを通過させた画像には、頭部回転(カメラ運動)に起因した大域的な輝度変化が多く(十分に)含まれ、ボールの動きに起因した局所的な輝度変化は抑制されるため、カメラの回転運動をより精度よく推定できたと考えられる。従って、ボールなど動く対象物の影響を抑制するための、例えば動く対象物の大きさや対象物の速さに応じたカットオフ周波数のフィルタを動画像に応じて定めるように構成してもよい。
 このボール遊びの例では、0.1~0.4cpdのバンドパスフィルタを採用した場合(実施例2)には、x軸方向及びy軸方向の動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.39と0.56であり、帯域制限無し(比較例1)と比較して殆ど相関係数の改善は見られなかった。これは、ボール遊びの動画像では、動く対象物であるボールの動きに起因した局所的な輝度勾配を含む画像情報が0.1~0.4cpdのバンドパスフィルタを通過した動画像にも相当程度含まれているが、ボールはカメラとは無関係に動いているため、カメラの動きとは相関性の低い動きが動きベクトルとして抽出されやすくなってしまうと考えられる。0.4cpd以上のハイパスフィルタを採用した場合(比較例2)には、x軸方向及びy軸方向の動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.16と0.13であり、頭部回転(カメラ運動)に起因した動きベクトルの計算に必要な大域的な輝度勾配を含む画像情報が殆ど含まれていないと考えられる。
 図5Aの下段には、人物の頭部にカメラを装着して屋外で散歩を行っている様子を撮影した動画像について、当該動画像から推定される平均動きベクトルと、カメラに隣接して配置されたジャイロセンサから出力される角速度とを比較した結果を示している。帯域制限をかけていない場合(比較例1)、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.32と0.42であったのに対して、カットオフ周波数が0.1cpdの低空間周波数フィルタをかけた場合(実施例1)には、x軸方向及びy軸方向の動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.61と0.67へと向上した。これは、ボール遊びの場合と同様に、動画像から動きベクトルを計算する際に、動画像の0.1cpd以下の空間周波数成分を抽出することにより頭部回転(カメラ運動)に起因した大域的な輝度勾配を含む画像情報をより多く抽出することができるからであると考えられる。
 図5Bの上段には、人物の頭部にカメラを装着して学会のポスター発表を傾聴している様子を撮影した動画像について、当該動画像から推定される平均動きベクトルと、カメラに隣接して配置されたジャイロセンサから出力される角速度とを比較した結果を示している。帯域制限をかけていない場合(比較例1)、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.53と0.64であったのに対して、空間周波数が0.1cpdの低空間周波数フィルタをかけた場合(実施例1)には、x軸方向及びy軸方向の動きベクトルとジャイロセンサとの相関係数は、それぞれ0.81と0.78へと向上した。これは、先の例と同様に、動画像から動きベクトルを推定する際に、動画像の0.1cpd以下の空間周波数成分を抽出することにより頭部回転(カメラ運動)に起因した大域的な輝度勾配を含む画像情報をより多く抽出することができるからであると考えられる。但し、この学会ポスターの例では、0.1~0.4cpdのバンドパスフィルタを採用した場合(実施例2)においても、特にx軸方向の動きベクトルとジャイロセンサの値との相関係数が、0.82へと改善が見られている。これは、学会ポスター発表の傾聴においては、動画像に写り込む対象物の大部分が動かないため、局所的な輝度勾配による動きであっても比較的カメラの角速度との相関が得られ易いためと考えられる。従って、0.1~0.4cpdというボール遊びの例では動きベクトルとカメラの角速度との相関が取りづらかった帯域の動画像であっても、比較的高い相関が得られるものと考えられる。
 図5Bの下段には、人物の頭部にカメラを装着して廊下でジョギングしている状態を撮影した動画像について、当該動画像から推定される平均動きベクトルと、カメラに隣接して配置されたジャイロセンサから出力される角速度とを比較した結果を示している。帯域制限をかけていない場合(比較例1)、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.55と0.25であったのに対して、空間周波数が0.1cpdの低空間周波数フィルタをかけた場合(実施例1)には、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.72と0.58へと向上した。これは、先の例と同様に、動画像から動きベクトルを推定する際に、動画像の0.1cpd以下の空間周波数成分を抽出することにより頭部回転(カメラ運動)に起因した動きベクトルの計算に必要な大域的な輝度勾配を含む画像情報を選択的に抽出することができるからであると考えられる。但し、このジョギングの例では、0.1~0.4cpdのバンドパスフィルタを採用した場合(実施例2)においても、特にy軸方向の動きベクトルとジャイロセンサの値との相関係数が、0.50へと改善が見られている。これは、ジョギングしている状態を撮影した動画像では、y軸方向への撮影者の移動速度が速いために高空間周波数成分における時間方向のエイリアシングが生じy軸方向の動き推定誤差が大きくなっているところ、0.1~0.4cpdのバンドパスフィルタを通過させることでエイリアシングの影響が減り、y軸方向の動き推定精度が向上したと考えられる。
 図5Cの上段には、人物の頭部にカメラを装着し、キャッチボールしている状態を撮影した動画像について、当該動画像から推定される平均動きベクトルと、カメラに隣接して配置されたジャイロセンサから出力される角速度とを比較した結果を示している。帯域制限をかけていない場合(比較例1)、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.28と0.13であったのに対して、空間周波数が0.1cpdの低空間周波数フィルタをかけた場合(実施例1)には、x軸方向及びy軸方向の平均動きベクトルと各ジャイロセンサの値との相関係数は、それぞれ0.42と0.72へと向上した。これは、先の例と同様に、動画像から動きベクトルを推定する際に、動画像の0.1cpd以下の空間周波数成分を抽出することにより頭部回転(カメラ運動)に起因した大域的な輝度勾配を含む画像情報を選択的に抽出することができるからであると考えられる。但し、このキャッチボールの例では、0.1~0.4cpdのバンドパスフィルタを採用した場合(実施例2)においても、特にy軸方向の平均動きベクトルとジャイロセンサの値との相関係数が、0.54へと改善が見られている。これは、キャッチボールしている状態を撮影した動画像では、動く対象物であるボールの動きが速く、ボールの動きに起因する局所的な輝度勾配を含む画像情報がカメラの角速度と動画像上のy軸方向の動きとの相関を悪化させる要因となっているところ、0.1~0.4cpdのバンドパスフィルタによって、ボールの動きに起因する局所的な輝度勾配を含む画像情報が抑えられ、y軸方向の動きベクトルとカメラの角速度との相関を向上させているものと考えられる。これは、図5Cの下段のゴロの捕球についても同様である。
 10   空間周波数フィルタ部
 12   フーリエ変換部
 14   空間周波数フィルタ部
 16   逆フーリエ変換部
 30   動きベクトル推定部
 50   平均動きベクトル算出部
 70   角速度算出部
 100  映像処理装置

Claims (7)

  1.  動画像の低空間周波数成分を抽出する空間周波数フィルタ部と、
     前記空間周波数フィルタ部を通過した前記動画像に基づいて前記動画像を撮影したカメラの角速度を算出する角速度算出部と
    を備えることを特徴とする映像処理装置。
  2.  前記空間周波数フィルタ部を通過した前記動画像に対して、勾配法によって動きベクトルを推定する動きベクトル推定部をさらに備え、
     前記角速度算出部は、前記動きベクトルから前記動画像を撮影したカメラの角速度を算出することを特徴とする請求項1に記載の映像処理装置。
  3.  前記動画像内の領域の前記動きベクトルを平均化して平均動きベクトルを算出する平均動きベクトル算出部を更に備え、
     前記角速度算出部は、該平均動きベクトルから前記動画像を撮影したカメラの角速度を算出する、請求項2に記載の映像処理装置。
  4.  前記空間周波数フィルタ部のカットオフ周波数は、前記動画像を撮影したカメラのフレームレートと、該カメラの最大角速度に基づいて定められる、請求項1から3の何れか一項に記載の映像処理装置。
  5.  前記空間周波数フィルタ部のカットオフ周波数は、前記動画像に含まれる動く対象物の大きさもしくは速度の少なくとも何れかに基づいて定められる、請求項1から4のいずれか一項に記載の映像処理装置。
  6.  動画像の低空間周波数成分を抽出するステップと、
     低空間周波数成分を抽出した前記動画像に基づいて前記動画像を撮影したカメラの角速度を算出するステップと
    を含むことを特徴とする映像処理方法。
  7.  コンピュータを、請求項1から5のいずれか一項に記載の映像処理装置として機能させるための映像処理プログラム。
PCT/JP2020/001000 2019-01-28 2020-01-15 映像処理装置、映像処理方法、及び映像処理プログラム WO2020158382A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/310,237 US11756215B2 (en) 2019-01-28 2020-01-15 Image processing device, image processing method, and image processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-012524 2019-01-28
JP2019012524A JP7197785B2 (ja) 2019-01-28 2019-01-28 映像処理装置、映像処理方法、及び映像処理プログラム

Publications (1)

Publication Number Publication Date
WO2020158382A1 true WO2020158382A1 (ja) 2020-08-06

Family

ID=71842163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001000 WO2020158382A1 (ja) 2019-01-28 2020-01-15 映像処理装置、映像処理方法、及び映像処理プログラム

Country Status (3)

Country Link
US (1) US11756215B2 (ja)
JP (1) JP7197785B2 (ja)
WO (1) WO2020158382A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838630B2 (en) * 2020-06-04 2023-12-05 Canon Kabushiki Kaisha Image capturing apparatus, control method therefor, and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117077A (ja) * 1989-10-17 1992-04-17 Mitsubishi Electric Corp 動きベクトル検出装置
JPH05233815A (ja) * 1992-02-21 1993-09-10 Canon Inc 動きベクトル検出装置
JP2006098541A (ja) * 2004-09-28 2006-04-13 Nikon Corp カメラ
JP2015105975A (ja) * 2013-11-28 2015-06-08 キヤノン株式会社 像振れ補正装置及びその制御方法、プログラム、記憶媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2239575B (en) 1989-10-17 1994-07-27 Mitsubishi Electric Corp Motion vector detecting apparatus and image blur correcting apparatus, and video camera including such apparatus
US6741652B1 (en) 1992-02-21 2004-05-25 Canon Kabushiki Kaisha Movement vector detecting device
US5617166A (en) * 1994-02-03 1997-04-01 Nikon Corporation Camera capable of reducing image blur
US6734901B1 (en) * 1997-05-20 2004-05-11 Canon Kabushiki Kaisha Vibration correction apparatus
JP3697471B2 (ja) * 1998-04-28 2005-09-21 コニカミノルタフォトイメージング株式会社 振れ補正装置
EP1577705B1 (en) * 2002-12-25 2018-08-01 Nikon Corporation Blur correction camera system
WO2009011105A1 (ja) * 2007-07-13 2009-01-22 Panasonic Corporation 撮像装置
CN101884213B (zh) * 2007-12-03 2012-09-05 松下电器产业株式会社 图像处理装置及方法、摄影装置、再生装置、集成电路
US8494225B2 (en) * 2010-02-19 2013-07-23 Julian L. Center Navigation method and aparatus
JP5583992B2 (ja) * 2010-03-09 2014-09-03 パナソニック株式会社 信号処理装置
WO2015145858A1 (ja) * 2014-03-25 2015-10-01 富士フイルム株式会社 手ぶれ補正装置、撮像装置
JP6448218B2 (ja) * 2014-05-12 2019-01-09 キヤノン株式会社 撮像装置、その制御方法および情報処理システム
US9210306B1 (en) * 2014-05-31 2015-12-08 Apple Inc. Method and system for a single frame camera module active alignment tilt correction
KR102149391B1 (ko) * 2015-02-23 2020-08-28 삼성전기주식회사 손떨림 보정 장치 및 이를 포함하는 카메라 모듈
WO2017014071A1 (ja) * 2015-07-22 2017-01-26 ソニー株式会社 カメラモジュール、固体撮像素子、電子機器、および撮像方法
JP6727791B2 (ja) * 2015-11-05 2020-07-22 キヤノン株式会社 追尾制御装置および追尾制御方法、撮像装置
WO2017090458A1 (ja) * 2015-11-26 2017-06-01 ソニー株式会社 撮影装置、および撮影方法、並びにプログラム
JP2017116840A (ja) * 2015-12-25 2017-06-29 オリンパス株式会社 撮像装置
JP6674264B2 (ja) * 2016-01-26 2020-04-01 キヤノン株式会社 像振れ検出装置及び方法、及び撮像装置
JP6604908B2 (ja) * 2016-06-10 2019-11-13 キヤノン株式会社 画像処理装置、その制御方法、および制御プログラム
WO2018025659A1 (ja) * 2016-08-05 2018-02-08 ソニー株式会社 撮像装置、固体撮像素子、カメラモジュール、駆動制御部、および撮像方法
US10911675B2 (en) * 2017-12-28 2021-02-02 Samsung Electronics Co., Ltd. Method for providing shake correction, signal processing device performing the method, and imaging device including the signal processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117077A (ja) * 1989-10-17 1992-04-17 Mitsubishi Electric Corp 動きベクトル検出装置
JPH05233815A (ja) * 1992-02-21 1993-09-10 Canon Inc 動きベクトル検出装置
JP2006098541A (ja) * 2004-09-28 2006-04-13 Nikon Corp カメラ
JP2015105975A (ja) * 2013-11-28 2015-06-08 キヤノン株式会社 像振れ補正装置及びその制御方法、プログラム、記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HORN, B. K. P. ET AL.: "Determining optical flow", ARTIFICIAL INTELLIGENCE, vol. 17, 1981, pages 185 - 203, XP000195787, DOI: 10.1016/0004-3702(81)90024-2 *

Also Published As

Publication number Publication date
US11756215B2 (en) 2023-09-12
JP7197785B2 (ja) 2022-12-28
US20220130057A1 (en) 2022-04-28
JP2020120363A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
US10404917B2 (en) One-pass video stabilization
KR102006043B1 (ko) 깊이 카메라를 이용한 머리 포즈 추적 기법
US8290212B2 (en) Super-resolving moving vehicles in an unregistered set of video frames
TWI536318B (zh) 深度測量之品質提升
CN104469139B (zh) 图像捕获装置和图像捕获方法
Lee et al. Simultaneous localization, mapping and deblurring
EP2901236B1 (en) Video-assisted target location
CN109711241B (zh) 物体检测方法、装置与电子设备
KR20150037369A (ko) 영상의 노이즈를 저감하는 방법 및 이를 이용한 영상 처리 장치
WO2012138828A2 (en) Kalman filter approach to augment object tracking
JP6254938B2 (ja) 画像ノイズ除去装置、および画像ノイズ除去方法
KR101051389B1 (ko) 적응적 배경 기반의 객체 검출 및 추적 장치 및 방법
WO2018098862A1 (zh) 用于虚拟现实设备的手势识别方法、装置及虚拟现实设备
US10860891B2 (en) Memory-guide simulated pattern recognition method
JP2015524946A (ja) 画像解像度が改善された超解像画像を形成するための方法及び測定装置
KR101202642B1 (ko) 배경의 특징점을 이용한 전역 움직임 추정 방법 및 장치
WO2020158382A1 (ja) 映像処理装置、映像処理方法、及び映像処理プログラム
JP5709255B2 (ja) 画像処理方法および監視装置
JP6154759B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法及びカメラパラメータ推定プログラム
Rajakaruna et al. Image deblurring for navigation systems of vision impaired people using sensor fusion data
KR101350460B1 (ko) 영상의 모션 블러를 제거하는 방법 및 장치
Muthuswamy et al. Salient motion detection through state controllability
JP5874996B2 (ja) 物体運動推定装置、物体運動推定方法及びプログラム
KR101200747B1 (ko) 이동 표적 탐지 장치 및 그 방법
Florez et al. Video stabilization taken with a snake robot

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20749074

Country of ref document: EP

Kind code of ref document: A1