WO2019077850A1 - オプティカルフロー計算装置、計算方法およびプログラム記録媒体 - Google Patents

オプティカルフロー計算装置、計算方法およびプログラム記録媒体 Download PDF

Info

Publication number
WO2019077850A1
WO2019077850A1 PCT/JP2018/029226 JP2018029226W WO2019077850A1 WO 2019077850 A1 WO2019077850 A1 WO 2019077850A1 JP 2018029226 W JP2018029226 W JP 2018029226W WO 2019077850 A1 WO2019077850 A1 WO 2019077850A1
Authority
WO
WIPO (PCT)
Prior art keywords
optical flow
average value
derivation
component
unit
Prior art date
Application number
PCT/JP2018/029226
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 日本電気株式会社
Publication of WO2019077850A1 publication Critical patent/WO2019077850A1/ja

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to an optical flow calculation device, calculation method and program storage medium.
  • the optical flow is a motion vector representing the motion of an object in a moving image.
  • Optical flow is widely used for object detection and tracking.
  • the optical flow can be derived by a block matching method or a gradient method.
  • the block matching method requires a full search within a moving image, which requires a large amount of computation.
  • the gradient method with less calculation amount is used.
  • Non-Patent Document 1 describes the HornSchunck method.
  • Non-Patent Document 2 describes the Brox method.
  • optical flow the flow is repeatedly updated while the image is deformed. Moreover, in the simultaneous equation solver, an iterative method is used. Therefore, since the optical flow calculation process requires many iterations, it is possible to accelerate the flow calculation by converging the solution with a smaller number of iterations.
  • Non-Patent Document 3 describes an optical flow evaluation method.
  • an Endpoint Error indicating the distance between the correct solution vector and the output vector and an Angular Error indicating the angle which is the angle between the correct solution vector and the output vector are generally used.
  • Angular Error converges while the number of iterations is small compared to Endpoint Error.
  • it is assumed that the change in the angle (declination) of the vector is small and the change in the length (radius) is large in the subsequent iterations after the Angular Error converges.
  • Non-Patent Document 4 describes an optical flow calculation method using polar coordinate representation.
  • the flow is expressed by cos ⁇ , sin ⁇ and r in polar coordinates and updated.
  • Patent documents as described below are also known.
  • Patent Document 1 discloses a motion estimation unit that generates a motion vector corresponding to a block of pixels of an image.
  • the motion estimation unit disclosed in Patent Document 1 includes a block matcher, an optical flow analyzer, and a selector.
  • the block matcher calculates the start motion vector by minimizing a predetermined cost function.
  • the optical flow analyzer is adapted to calculate the updated motion vector based on the starting motion vector, and to solve the set of equations having the first optical flow equation and the second optical flow equation, respectively, from the block of pixels It is configured to select the first pixel and the second pixel. This selection is based on the first gradient vector of the first optical flow equation and the second gradient vector of the second optical flow equation.
  • the selector selects the starting motion vector or the updating motion vector as the motion vector by comparing the first value of the matching criterion of the starting motion vector with the second value of the matching criterion of the updating motion vector.
  • Patent Document 2 discloses an image processing apparatus that enables efficient tracking of feature points by considering ease of convergence of displacement according to an image pattern in the hierarchical gradient method. ing.
  • the gradient method using the gradient of an image signal is repeatedly performed in a feature point and tracking point vicinity. Then, the value of the displacement amount between the tracking point detected in the i-th displacement calculation and the tracking point detected in the (i-1) -th displacement calculation is monitored. If these values become smaller than a predetermined value, it is determined that the position of the tracking point has converged sufficiently, and repetitive detection of the tracking point is ended.
  • the displacement calculating unit compares the displacement with the first threshold, and performs convergence determination of the displacement according to a predetermined condition.
  • Non-Patent Document 4 has the following problems.
  • the first problem is that it does not take into consideration the difference between the above-mentioned radius of curvature and the convergence speed of the deflection angle. That is, the technique described in Non-Patent Document 4 calculates both the radius and the declination of polar coordinate components simultaneously. Therefore, in Non-Patent Document 4, it is impossible to fix one of the radius and the declination to promote convergence of the other. Therefore, even if polar coordinate representation is used, the number of iterations for optical flow calculation does not change.
  • the second problem is that simultaneous equations that are two variables become three variables. This increases the computational complexity from O (2N) to O (3N). As described above, although the number of iterations for optical flow calculation does not change, the amount of calculation for one iteration increases, and the total calculation time for optical flow calculation increases.
  • Patent Documents 1 and 2 described above have the following problems, respectively.
  • Patent Document 1 merely discloses a technique for selecting a motion vector by comparing the start motion vector with the update motion vector.
  • Patent Document 2 merely describes performing the gradient method iteratively, or comparing displacement with a threshold to perform convergence determination of displacement.
  • An object of the present invention is to provide an optical flow calculation device, calculation method and program recording medium which solve the above problems.
  • An optical flow calculation device is an optical flow calculation device that calculates an optical flow representing the motion of an object in a moving image as a motion vector, and includes a plurality of derivation units that calculate the optical flow from the moving image. And a control device for switching a lead-out unit to be used in the lead-out device, the lead-out device including: a radial diameter derivation unit for obtaining a radial diameter component of the optical flow; And an argument deriving unit for obtaining a component.
  • An optical flow calculation method is an optical flow calculation method for calculating an optical flow representing the motion of an object in a moving image as a motion vector, and the polar coordinate deriving unit is a radial component of the optical flow.
  • the argument angle component; the radius vector derivation unit determines the radius vector component of the optical flow; the argument angle derivation module determines the argument angle component of the optical flow; Switching one of a polar coordinate deriving unit, the radius deriving unit, and the deflection angle deriving unit as a deriving unit to be used;
  • An optical flow calculation method is an optical flow calculation method for calculating an optical flow representing the motion of an object in a moving image as a motion vector, and the orthogonal coordinate deriving unit calculates the optical flow x Determining both the component and the y component; determining a radial component of the optical flow by the radial derivation unit; determining an angular component of the optical flow by the declination deriving unit; controlling the orthogonal coordinates by the control device Switching one of the derivation unit, the radius derivation unit, and the deflection angle derivation unit as a derivation unit to be used;
  • An optical flow calculation program recording medium is a recording medium recording an optical flow calculation program that causes a computer to calculate an optical flow representing the motion of an object in a moving image as a motion vector
  • the flow calculation program is a polar coordinate derivation procedure for obtaining both a radial component and an argument component of the optical flow; a radial derivation procedure for obtaining the radial component of the optical flow; and the argument angle among the optical flow
  • the computer is caused to execute the argument derivation procedure for obtaining the component; and the control procedure for switching one of the polar coordinate derivation procedure, the radius derivation procedure, and the argument derivation procedure as a derivation procedure to be used.
  • An optical flow calculation program recording medium is a recording medium recording an optical flow calculation program that causes a computer to calculate an optical flow representing the motion of an object in a moving image as a motion vector
  • the optical flow calculation program comprises: orthogonal coordinate derivation procedure for obtaining both x component and y component of the optical flow; radial derivation procedure for obtaining a radial component of the optical flow; and declination component of the optical flow
  • the control program causes the computer to execute one of the derived argument derivation procedure, the orthogonal coordinate derivation procedure, the radius derivation procedure, and the derived argument derivation procedure as a derivation procedure to be used.
  • examples of the gradient method include the HornSchunck method described in Non-Patent Document 1 and the Brox method described in Non-Patent Document 2.
  • the gradient method an energy constraint equation in which each pixel component is simultaneously established with respect to a space-time differential component of a moving image is established, and a solution with minimum energy is obtained by a linear simultaneous equation solver.
  • the simultaneous equation solver the calculation range is large. From this, in the gradient method, not a direct method for obtaining an exact solution but an iterative method in which a solution is converged by repeated calculation is often used.
  • FIG. 1 is a block diagram showing an optical flow calculation apparatus according to a first related art, including the HornSchunck method and the Brox method.
  • An optical flow calculation apparatus 100 includes a preprocessing unit 110, an orthogonal coordinate simultaneous equation creating unit 120, a 2N ⁇ 2N simultaneous equation solver 130, and an end determination unit 140.
  • the preprocessing unit 110 performs image processing.
  • the orthogonal coordinate simultaneous equation creation unit 120 generates orthogonal coordinate simultaneous equations.
  • the 2N ⁇ 2N simultaneous equation solver 130 solves a simultaneous equation on a 2N ⁇ 2N matrix, where N is the number of pixels.
  • the end determination unit 140 determines the end of the repetition.
  • the preprocessing unit 110 performs processing such as generation of a differential image, deformation of an image, and conversion of resolution (step S101).
  • Differential images are used in simultaneous equations.
  • the optical flow of each pixel is assumed to be sufficiently small to form a constraint equation, so a large movement can not be captured.
  • a large flow can be derived by deforming the image using the flow derived therefrom, updating the flow, and iteratively calculating it.
  • resolution conversion can be performed in order of CoarseToFine using low to high resolution image pyramids, and the result of low resolution can be reflected on high resolution, thereby reducing the number of operations involved in flow calculation in one layer.
  • the orthogonal coordinate simultaneous equation creation unit 120 creates orthogonal coordinate simultaneous equations based on the optical flow calculation method (step S102). For example, in the HornShunck method described in Non-Patent Document 1, the orthogonal coordinate simultaneous equation is Equation 1 below.
  • u and v represent the x component and y component of the optical flow, respectively
  • du and dv represent the x component and y component of the flow difference in the flow update, respectively.
  • I x , I y and I t respectively represent the x-direction, y-direction and time-direction differential images of the moving image, and ⁇ represents a constant term.
  • the solver the iterative method is often used as described above.
  • PCG Preconditioning Conjugated Gradients
  • SOR Successessive Over-Relaxation
  • the variable x to be solved is composed of du and dv, and each of them exists for the number of pixels. Therefore, assuming that the number of pixels is N, the amount of calculation of O (2N) is required.
  • the end determination unit 140 checks the end condition and determines whether to end or continue the repetition (step S104). If it is determined that the process is ended, the optical flow calculation process is ended and the flow is output. On the other hand, if it is determined to continue, the process returns to step S101 to continue the iterative process. As the determination condition, the number of iterations or the difference between the output flow of the current iteration and the output flow of the previous iteration is used.
  • the flow is repeatedly updated while the image is deformed.
  • an iterative method is used.
  • the optical flow calculation process requires many iterations. Therefore, it is possible to speed up the flow calculation by converging the solution with a smaller number of iterations.
  • FIG. 3 is a diagram showing the relationship between the number of iterations and the accuracy when the optical flow of the test sequence Dimetrodon in Non-Patent Document 3 is determined using the Brox method described in Non-Patent Document 2.
  • FIG. 4 is a view showing the configuration of an optical flow calculation apparatus 200 using polar coordinate representation according to the second related art described in Non-Patent Document 4. As shown in FIG.
  • the illustrated optical flow calculation apparatus 200 includes a pre-processing unit 210, a polar coordinate simultaneous equation generating unit 220, a 3N ⁇ 3 N simultaneous equation solver 230, and an end determination unit 240.
  • the optical flow calculation apparatus 200 using the polar coordinate representation shown in FIG. 4 is compared with the optical flow calculation apparatus 100 using the general orthogonal coordinate representation shown in FIG. The difference is that the 2N ⁇ 2N simultaneous equation solver 130 is replaced with a 3N ⁇ 3N simultaneous equation solver 230 in the creating unit 220.
  • the polar coordinate simultaneous equation creation unit 220 has a function of setting up an optical flow constraint expression expressed in polar coordinates.
  • the preprocessing unit 210 performs preprocessing (step S201).
  • the process performed here is the same as the process of step S101 of FIG.
  • the polar coordinate simultaneous equation creation unit 220 creates a polar coordinate simultaneous equation when the output flow is expressed in polar coordinates (step S202).
  • the polar coordinate simultaneous equation to be established here and the solution x pol to be obtained are expressed by the following equation 2.
  • Non-Patent Document 4 The details of A pol and b pol are described in Non-Patent Document 4 and will not be described. Further, the relationship between u, v and ⁇ , r is expressed by the following equation 3.
  • the 3N ⁇ 3N simultaneous equation solver 230 solves the simultaneous equations on the 3N ⁇ 3N matrix shown in Equation 2 (step S203).
  • the 3N ⁇ 3N simultaneous equation solver 230 it is necessary to solve the simultaneous equations on the 3N ⁇ 3N matrix, so the amount of calculation of O (3N) is required.
  • termination determination unit 240 performs termination determination (step S204).
  • the process performed here is the same as the process of step S104 in FIG.
  • FIG. 6 is a block diagram showing an optical flow calculation apparatus 300 according to the first embodiment of the present invention.
  • the illustrated optical flow calculation apparatus 300 includes a pre-processing unit 310, a polar coordinate simultaneous equation generating unit 322, a radial simultaneous equation generating unit 324, an argument simultaneous equation generating unit 326, and a 2N ⁇ 2 N simultaneous equation solver 332.
  • the combination of the polar coordinate simultaneous equation creating unit 322 and the 2N ⁇ 2N simultaneous equation solver 332 functions as a polar coordinate deriving unit that obtains both the radial component and the argument component of the optical flow.
  • the combination of the radial simultaneous equation generation unit 324 and the first N ⁇ N simultaneous equation solver 334 functions as a radial derivation unit that obtains a radial component in the optical flow.
  • the combination of the argument simultaneous system equation generation unit 326 and the second N ⁇ N system simultaneous equation solver 336 functions as a deflection angle derivation unit for obtaining a deflection angle component in the optical flow.
  • leading-out apparatus is comprised by the combination of a polar coordinate derivation
  • the optical flow calculation apparatus 300 of the first embodiment differs from the optical flow calculation apparatus 200 using the second related technology shown in FIG. 4 in the following points.
  • the polar coordinate simultaneous equation generating unit 220 is replaced with a polar coordinate simultaneous equation generating unit 322, a radial simultaneous equation generating unit 324, and an argument simultaneous equation generating unit 326.
  • the 3N ⁇ 3N simultaneous equation solver 230 is replaced with a 2N ⁇ 2N simultaneous equation solver 332 and first and second N ⁇ N simultaneous equation solvers 334 and 336.
  • the end determination unit 240 is replaced by the solver control unit 340, and the demultiplexer 350 is added.
  • N ⁇ N simultaneous equation solvers are added for radial simultaneous equations and for argument simultaneous equations
  • the present invention is not limited to this.
  • the preprocessing unit 310 and the 2N ⁇ 2N simultaneous equation solver 332 are similar to the preprocessing unit 110 and the 2N ⁇ 2N simultaneous equation solver 130 of the first related art optical flow calculation apparatus 100 shown in FIG. 1.
  • the polar coordinate simultaneous equation creating unit 220 using the second related technology shown in FIG. 4 establishes a simultaneous equation regarding three variables of cos ⁇ , sin ⁇ , and r.
  • the difference is that the system has a function to generate simultaneous equations with two variables ⁇ and r.
  • the radial simultaneous equations creation unit 324 has a function of setting simultaneous equations to solve for the radial component in the flow expressed in polar coordinates.
  • the argument simultaneous system equation creation unit 326 has a function of creating a simultaneous equation to solve for the argument component in the flow expressed in polar coordinates.
  • Each of the first and second N ⁇ N simultaneous equation solvers 334 and 336 has a function of solving a simultaneous equation on an N ⁇ N matrix.
  • the solver control unit 340 has a function of selecting the solver of the next iteration and determining the end using the output flow as an input.
  • the demultiplexer 350 has a function of selecting a solver to be used with the control signal output from the solver control unit 340 as an input.
  • the preprocessing unit 310 performs preprocessing (step S301).
  • the processing performed here is the same as the processing of step S101 of FIG. 1 and step S201 of FIG.
  • the demultiplexer 350 selects a solver to be used (step S302).
  • the determination of the solver to be used will be described later because it is processed by the solver control unit 340. If it is determined to be polar coordinates, the process proceeds to step S303. If it is determined to be a moving radius, the process proceeds to step S305. If it is determined to be a declination, the process proceeds to step S307.
  • the polar coordinate simultaneous equation creating unit 322 creates a polar coordinate simultaneous equation when the output flow is expressed in polar coordinates (step S303).
  • the polar coordinate simultaneous equation to be established here and the solution x ′ pol to be obtained are expressed by the following Equation 4.
  • the polar coordinate simultaneous equation of the first embodiment is different from the polar coordinate simultaneous equation of the second related art shown in the equation 3 in that the variable to be obtained is reduced from 3 variables to 2 variables .
  • An example of derivation of A ′ pol ′ and b ′ pol will be described later.
  • the process proceeds to step S304.
  • the 2N ⁇ 2N simultaneous equation solver 332 solves a simultaneous equation of 2N ⁇ 2N matrix shown in Equation 4 (step S304).
  • the solution to be solved at this time is two variables, a calculation amount of O (2N) is required.
  • the radial simultaneous equations creation unit 324 creates simultaneous equations to solve for the radial component (step S305).
  • the radial simultaneous equations and the solution x r to be obtained here are expressed by the following Equation 5.
  • the first N ⁇ N simultaneous equation solver 334 solves the N ⁇ N matrix simultaneous equations shown in Equation 5 (step S306).
  • the solution to be solved is one variable, if the number of pixels is N, the necessary amount of operation is O (N).
  • the first N ⁇ N simultaneous equation solver 334 is realized by an iterative method such as the PCG method or the SOR method, similarly to the 2N ⁇ 2N simultaneous equation solver or the 3N ⁇ 3N simultaneous equation solver.
  • the argument simultaneous system equation creation unit 326 creates a simultaneous equation to solve for the argument component (step S307).
  • the radial simultaneous equation and the solution x ⁇ to be obtained here are expressed by the following Equation 6.
  • the second N ⁇ N simultaneous equation solver 336 solves the N ⁇ N matrix simultaneous equations shown in Equation 6 (S308).
  • the solution to be solved is one variable, if the number of pixels is N, the necessary amount of operation is O (N).
  • solver control unit 340 performs solver determination (S309).
  • solver determination S309
  • the operation of the solver control unit 340 will be described later.
  • step S301 step S310.
  • the solver control unit 340 compares the first average value d ⁇ avg of the displacement d ⁇ of the declination component with the first threshold value TH ⁇ 1 and determines the second average value dr avg of the displacement dr of the radial component and the The threshold value TH r1 of 2 is compared (step S401). If the first average value d ⁇ avg and the second average value dr avg are respectively smaller than the first and second threshold values (yes in step S401), it is determined that the convergence is sufficient, and the step is performed. It progresses to S402.
  • step S401 when the first average value d ⁇ avg and the second average value dr avg are respectively equal to or greater than the first and second threshold values (no in step S401), it is determined that convergence has not yet occurred sufficiently. Then, the process proceeds to step S407.
  • step S401 when the first average value d ⁇ avg and the second average value dr avg are sufficiently small (yes in step S401), the solver control unit 340 determines the first average value d ⁇ avg and the third threshold value TH. The value is compared with ⁇ 2 (step S402). If the first average value d ⁇ avg is smaller than the third threshold TH ⁇ 2 (yes in step S402), the process proceeds to step S403. If the first average value d ⁇ avg is greater than or equal to the third threshold value TH ⁇ 2 (no in step S402), the process proceeds to step S406.
  • step S403 the solver control unit 340 compares the second average value dr avg with the fourth threshold value TH r2 (step S403). . If the second average value dr avg is smaller than the fourth threshold value TH r2 (yes in step S403), the process proceeds to step S404. If the second average value dr avg is greater than or equal to the fourth threshold value TH r2 (no in step S403), the process proceeds to step S405.
  • step S403 If the first average value d ⁇ avg and the second average value dr avg are sufficiently small (yes in step S403), the solver control unit 340 selects termination of the iterative process and performs the solver control process. The process ends (step S404).
  • step S403 If the first average value d ⁇ avg is sufficiently small but the second average value dr avg is large (no in step S403), the solver control unit 340 selects the radial equation as a simultaneous equation of the next iterative process. Then (step S405), the solver control process is ended.
  • the solver control unit 340 Selects the argument equation as a simultaneous equation of the next iterative process (step S406), and ends the solver control process.
  • step S401 If the first average value d ⁇ avg and the second average value dr avg are not sufficiently converged (step S401: no), the solver control unit 340 selects the polar coordinate equation as a simultaneous equation of the next iteration. (Step S407), the solver control process ends.
  • the polar coordinate equation is used. Therefore, the first average value d ⁇ avg and the second average value dr avg converge at the same speed (polar coordinate equation in FIG. 9).
  • the solver control unit 340 selects the deflection simultaneous equation or the radial simultaneous equation, and focuses on one convergence.
  • the declination equation is selected and utilizes the declination equation. Therefore, the convergence speed of the first average value d ⁇ avg is increased (using the deflection angle equation in FIG. 9).
  • the solver control unit 340 selects a radial equation. At this time, the convergence speed of the second average value dr avg is increased (using the radial equation in FIG. 9).
  • the solver control unit 340 determines the end, and the optical flow calculation process ends.
  • ⁇ u i and ⁇ v i represent the difference between orthogonal coordinate representations of the output vector to be updated
  • ⁇ r i and ⁇ i represent the difference between polar coordinate representations of the output vector to be updated.
  • the linear approximation of the addition theorem is used in Equation 7, and the second-order term ⁇ r i ⁇ i is ignored as a small amount.
  • Equation 9 The energy constraint equation of the optical flow in the HornShuncnk method described in Non-Patent Document 1 is Equation 9 below.
  • represents a constant and is given as a parameter. Substituting the equation 8 into the equation 9, the following equation 10 is obtained.
  • Equation 10 ⁇ and ⁇ are constants and are given as parameters.
  • substitutes zero or a fixed value.
  • the energy constraint equation becomes the following equation 13 considering the partial derivative of ⁇ .
  • ⁇ r substitutes zero or a fixed value.
  • the optical flow calculation apparatus 300 can use the solver used by the solver control unit 340 according to the convergence status of the output flow, the number of iterations related to convergence can be reduced, and the optical flow calculation processing can be performed. It can speed up. Therefore, the first embodiment relates to the technical problems (the increase in the number of iterations, the increase in the complexity of one iteration, and the optical flow calculation) in the second related technology (FIG. 4) described in Non-Patent Document 4. Solves the increase in total calculation time) and provides the inventive concept. In other words, the second related technique described in Non-Patent Document 4 (FIG.
  • the first embodiment is not directed to an abstract idea and is patent-eligible, since it can solve the above-mentioned technical problems in the above.
  • the optical flow calculation apparatus 300 according to the first embodiment can be solved by the calculation amount of O (2N) in the polar coordinate equation and O (N) in the argument angle equation or the radial equation.
  • the optical flow calculation apparatus 200 (FIG. 4) according to the second related art the calculation time for one iteration can be reduced, and the optical flow calculation process can be accelerated.
  • FIG. 10 is a block diagram showing the configuration of an optical flow calculation apparatus 300A according to the second embodiment of the present invention.
  • the optical flow calculation device 300A of the second embodiment of FIG. 10 is different from the optical flow calculation device 300 of the first embodiment shown in FIG. 6 in the following points.
  • the polar coordinate simultaneous equation creating unit 322 is replaced with the orthogonal coordinate simultaneous equation creating unit 322A. Further, the difference is that the polar coordinate equation can not be selected in the solver control unit 340A and the orthogonal coordinate equation can be selected.
  • the other configuration of the optical flow calculation device 300A according to the second embodiment is the same as the configuration of the optical flow calculation device 300 of the first embodiment shown in FIG.
  • the orthogonal coordinate simultaneous equation creating unit 322A of the second embodiment is the same as the orthogonal coordinate simultaneous equation creating unit 120 of the optical flow calculation apparatus 100 of the first related art shown in FIG. 1.
  • optical flow calculation apparatus 300A The operation of the optical flow calculation apparatus 300A according to the second embodiment will be described below with reference to FIG.
  • steps S501, S504 to S508, and S510 are similar to the processes of steps S301, S304 to S308, and S310 in FIG. 7, and the process of step S503 is similar to the process of step S102 of FIG. is there.
  • the demultiplexer 350 of the second embodiment selects a simultaneous equation to be used from the Cartesian coordinate equation, the radial equation, and the argument equation according to the control signal (step S502). ).
  • the solver control unit 340A of the second embodiment receives the output flow as an input, and ends the iteration, the orthogonal coordinate equation, and the radial equation according to the displacement. Or select a declination equation and output a control signal (step S509).
  • the detailed operation of the solver control unit 340A will be described later.
  • steps S602 to S606 in FIG. 12 are the same as the processes of steps S402 to S406 shown in FIG.
  • the first to fourth threshold values TH ⁇ 1 , TH r1 , TH ⁇ 2 , and TH r2 are used as the threshold values in FIG. 8, the first to third threshold values TH ⁇ 1 , Only TH ⁇ 2 and TH r2 are used. In other words, in FIG. 12, the second threshold TH r1 of FIG. 8 is omitted, and the third and fourth thresholds TH ⁇ 2 and TH r2 of FIG. 8 are used as the second and third thresholds, respectively. doing.
  • the solver control unit 340A compares the first average value d ⁇ avg of the displacement d ⁇ of the deflection angle component with the first threshold value TH ⁇ 1 (step S601). If the first average value d ⁇ avg is smaller than the first threshold value TH ⁇ 1 (yes in step S601), it is determined that convergence is sufficient, and the process proceeds to step S602. If the first average value d ⁇ avg is greater than or equal to the first threshold value TH ⁇ 1 (no in step S601), it is determined that convergence has not yet occurred sufficiently, and the process proceeds to step S607.
  • step S601 If it is determined in step S601 that the first average value d ⁇ avg is not sufficiently converged (no in step S601), the solver control unit 340A selects the orthogonal coordinate equation as a simultaneous equation to be used in the next iteration. (Step 607), and the solver control ends.
  • step S601 when it is confirmed that the first average value d ⁇ avg is close to 0, polar coordinate expression such as a declination or radius is used, and otherwise, orthogonal coordinates are used.
  • the solver to be used can be selected in consideration of the condition that the approximation formula in polar coordinate expression holds, the flow update of one iteration becomes more accurate, and convergence is achieved. The number of such iterations can be reduced. Therefore, also in the second embodiment, the technical problem (the increase in the number of iterations, the increase in the complexity of one iteration, and the optical flow calculation) in the second related technology (FIG. 4) described in Non-Patent Document 4 Solves the increase in total calculation time) and provides the inventive concept. In other words, the second related technology described in Non-Patent Document 4 (FIG.
  • the second embodiment is not directed to an abstract idea and is patent-eligible, since it can solve the above-mentioned technical problems in the above.
  • the information processing apparatus 400 illustrated in FIG. 13 includes a processor 410, a program memory 420, and a storage medium 430 for storing input moving images and parameters, and output flows.
  • the program memory 420 stores a program for realizing the function of each block shown in FIG. 6 or FIG. Then, the processor 420 executes the processing according to the program stored in the program memory 420 to realize the function of the optical flow calculation apparatus 300, 300A shown in FIG. 6 or FIG.
  • a combination of polar coordinates, radius, and declination is used
  • a combination of orthogonal coordinates, radius, and declination is used.
  • the present invention may use a combination of Cartesian coordinates, polar coordinates, radius, and declination.
  • An optical flow calculation device that calculates an optical flow in which the motion of an object in a moving image is represented by a motion vector, A derivation device including a plurality of derivation units that calculate the optical flow from the moving image; And a control unit for switching a lead-out unit used in the lead-out unit, The derivation device is A radial derivation unit for determining a radial component of the optical flow; A declination deriving unit for obtaining a declination component of the optical flow; An optical flow calculation apparatus comprising:
  • the derivation device further includes a polar coordinate derivation unit which obtains both of a radial component and a declination component of the optical flow.
  • the optical flow calculation device according to appendix 1.
  • the derivation device further includes an orthogonal coordinate derivation unit for obtaining both the x component and the y component of the optical flow,
  • the optical flow calculation device according to appendix 1 or 2.
  • the polar coordinate deriving unit obtains both the radial component and the declination component of the optical flow,
  • a radial derivation unit obtains the radial component of the optical flow;
  • An argument deriving unit obtains the argument component of the optical flow;
  • the control device switches one of the polar coordinate derivation unit, the radius derivation unit, and the deflection angle derivation unit as a derivation unit to be used.
  • Optical flow calculation method including.
  • the control device When the first average value of the displacement of the declination component is greater than or equal to a first threshold and the second average value of the displacement of the radial component is greater than or equal to a second threshold, the derivation unit used Switch to the polar coordinate deriving unit, The use when the first average value and the second average value are respectively smaller than the first threshold value and the second threshold value, but the first average value is greater than or equal to a third threshold value Switch to the argument derivation unit, The use when the first average value and the second average value are respectively smaller than the third threshold value and the second threshold value, but the second average value is greater than or equal to a fourth threshold value Switching to the radial derivation unit, The process is ended when the first average value and the second average value are smaller than the third threshold and the fourth threshold, respectively.
  • the optical flow calculation method according to appendix 4.
  • Optical flow calculation method including.
  • the control device When the first average value of the displacement of the declination component is equal to or more than a first threshold value, the deriving unit to be used is switched to the orthogonal coordinate deriving unit When the first average value is smaller than the first threshold but equal to or greater than the second threshold, the derivation unit to be used is switched to the argument derivation unit; When the first average value is smaller than the second threshold value but the second average value of displacements of the radial component is equal to or more than a third threshold value, the derivation unit to be used is the radius vector derivation unit switching, The processing is ended when the first average value and the second average value are smaller than the second threshold value and the third threshold value, respectively.
  • the optical flow calculation method according to appendix 6.
  • a recording medium storing an optical flow calculation program for causing a computer to calculate an optical flow representing the motion of an object in a moving image as a motion vector, the optical flow calculation program comprising Polar coordinate derivation procedure for obtaining both the radial component and the declination component of the optical flow; A radial derivation procedure for determining the radial component of the optical flow; A declination deriving procedure for determining the declination component of the optical flow; A control procedure for switching one of the polar coordinate derivation procedure, the radius derivation procedure, and the argument derivation procedure as a derivation procedure to be used; An optical flow calculation program recording medium that causes the computer to execute the program.
  • the control procedure is The derivation procedure to be used when the first average value of the displacement of the declination component is greater than or equal to the first threshold and the second average value of the displacement of the radial component is greater than or equal to the second threshold Switch to the polar coordinate derivation procedure, The use when the first average value and the second average value are respectively smaller than the first threshold value and the second threshold value, but the first average value is greater than or equal to a third threshold value Switch to the above-mentioned argument derivation procedure, The use when the first average value and the second average value are respectively smaller than the third threshold value and the second threshold value, but the second average value is greater than or equal to a fourth threshold value Switch to the above-mentioned radius derivation procedure, The process is ended when the first average value and the second average value are smaller than the third threshold and the fourth threshold, respectively.
  • a recording medium storing an optical flow calculation program for causing a computer to calculate an optical flow representing the motion of an object in a moving image as a motion vector, the optical flow calculation program comprising Cartesian coordinate derivation procedure for obtaining both the x component and the y component of the optical flow; A radial derivation procedure for determining a radial component of the optical flow; An argument deriving procedure for obtaining an argument component of the optical flow; A control procedure for switching one of the orthogonal coordinate derivation procedure, the radius derivation procedure, and the argument derivation procedure as a derivation procedure to be used; An optical flow calculation program recording medium that causes the computer to execute the program.
  • the control procedure is When the first average value of displacements of the declination components is equal to or greater than a first threshold value, the derivation procedure to be used is switched to the orthogonal coordinate derivation procedure When the first average value is smaller than the first threshold but not less than the second threshold, the derivation procedure to be used is switched to the argument derivation procedure. When the first average value is smaller than the second threshold but the second average value of displacements of the radial component is equal to or more than a third threshold, the derivation procedure to be used is the radius derivation procedure switching, The processing is ended when the first average value and the second average value are smaller than the second threshold value and the third threshold value, respectively.
  • the optical flow calculation program recording medium according to appendix 10.
  • high-speed optical flow calculation becomes possible by reduction of the number of iterations involved in processing, so on-vehicle computer vision system requiring real-time property, pattern recognition processing using high resolution moving image, etc. Can be suitably applied to the optical flow calculation process included in
  • Optical flow calculation device 310 Pre-processing unit 322 Polar coordinate simultaneous equation preparing unit 322 A Orthogonal coordinate simultaneous equation preparing unit 324 Radial simultaneous equation preparing unit 326 Deflection simultaneous equation preparing unit 332 2N ⁇ 2 N simultaneous equation solver 334 1st N ⁇ N simultaneous equation solver 336 second N ⁇ N simultaneous equation solver 340, 340 A solver control unit 350 demultiplexer 400 information processor 410 processor 420 program memory 430 storage medium

Landscapes

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

Abstract

オプティカルフローの反復処理において1反復の処理時間と収束に係る反復回数が少ない、高速なオプティカルフロー計算装置を提供する。オプティカルフロー計算装置は、オプティカルフローを極座標表現した際の偏角成分を解く偏角導出部と、オプティカルフローを極座標表現した際の動径成分を解く動径導出部と、オプティカルフローを極座標表現して偏角と動径の両方について解く極座標導出部と、これら導出部を切り替える制御装置とを備える。オプティカルフロー計算装置は、制御装置によって複数の導出法を切り替えつつオプティカルフローを計算する。

Description

オプティカルフロー計算装置、計算方法およびプログラム記録媒体
 本発明は、オプティカルフロー計算装置、計算方法およびプログラム記録媒体に関する。
 オプティカルフローとは、動画像中の物体の動きを、動きベクトルで表現したものである。オプティカルフローは、物体の検出や追跡等に幅広く利用されている。
 オプティカルフローは、ブロックマッチング法や勾配法などによって導出することができる。ブロックマッチング法では、動画像内の全探索が必要となるので、演算量が膨大になる。動画像内の特徴点に限らず動画像全体の密なオプティカルフローを求めるような場合、より計算量の少ない勾配法が利用される。
 勾配法の例として種々の方法が提案されている。例えば、非特許文献1はHornSchunck法を記載している。また、非特許文献2は、Brox法を記載している。
 一般的に、勾配法では、動画像の時空間微分成分に対して各画素成分を連立させたエネルギー拘束式を立て、エネルギー最小となる解を線形連立方程式ソルバによって求めている。ここで連立方程式ソルバに関しては、計算範囲が大規模であることから、厳密解が求まる直接法ではなく、繰り返し計算することで解を収束させる反復法が多く用いられる。
 オプティカルフローでは、画像を変形しつつフローを反復して更新する。また、連立方程式ソルバにおいては、反復法が用いられる。従って、オプティカルフロー計算処理は多くの反復処理を要するため、より少ない反復回数で解を収束させることでフローの計算を高速化できる。
 非特許文献3は、オプティカルフローの評価方法について記載している。オプティカルフローの精度評価では、正解ベクトルと出力ベクトルとの間の距離を表すEndpoint Errorと、正解ベクトルと出力ベクトルとの間のなす角である角度を示すAngular Errorとが一般的に用いられる。後で図3を参照して説明する記載から明らかになるように、Angular ErrorはEndpoint Errorと比較して反復回数が小さいうちに収束する。この場合、Angular Errorが収束して以降の反復では、ベクトルの角度(偏角)の変化は小さく、長さ(動径)に変化が大きいことが推測される。
 非特許文献4は、極座標表現を用いたオプティカルフロー計算方法を記載している。この非特許文献4に開示されたオプティカルフロー計算方法では、フローを極座標におけるcosθとsinθとrとで表現し、更新する。
 また、次に述べるような特許文献も知られている。
 例えば、特許文献1は、画像の画素のブロックに対応する動きベクトルを生成する動き推定ユニットを開示している。特許文献1に開示された動き推定ユニットは、ブロックマッチング器と、オプティカルフロー解析器と、選択器とを有する。ブロックマッチング器は、所定のコスト関数を最小化することにより開始動きベクトルを算出する。オプティカルフロー解析器は、開始動きベクトルに基づいて更新動きベクトルを算出するための、及びそれぞれ第1のオプティカルフロー方程式及び第2のオプティカルフロー方程式を有する方程式のセットを解くために、画素のブロックから第1の画素及び第2の画素を選択するように構成される。この選択は、第1のオプティカルフロー方程式の第1の勾配ベクトル及び第2のオプティカルフロー方程式の第2の勾配ベクトルを基づく。選択器は、開始動きベクトルのマッチング基準の第1の値を、更新動きベクトルのマッチング基準の第2の値と比較することにより、動きベクトルとして開始動きベクトル又は更新動きベクトルを選択する。
 特許文献2は、階層型の勾配法において、画像パターンに応じた変位量の収束の容易さを考慮することにより、特徴点の追跡を効率的に行うことを可能にした画像処理装置を開示している。特許文献2では、特徴点と追跡点近傍において画像信号の勾配を用いた勾配法を反復的に行う。そして、i回目の変位算出において検出された追跡点と、(i-1)回目の変位算出において検出された追跡点との間の変位量の値を監視しておく。これらの値が所定値よりも小さくなった場合に、追跡点の位置が十分収束していると判断し、追跡点の反復検出を終了する。特許文献2において、変位算出部は、変位と第1の閾値とを比較し、所定の条件に従って変位の収束判定を行う。
特表2005-506626号公報 特開2010-009375号公報
B. Horn, and B. Schunck, "Determining Optical Flow", Artificial Intelligence, vol. 17, pp. 185-203, 1981. T. Brox, A. Bruhn, N. Papenberg, and J. Weickert, "High Accuracy Optical Flow Estimation Based on a Theory for Warping", in Proc. European Conference on Computer Vision, vol. 4, pp. 25-36, 2004. S. Baker, D. Scharstein, J. P. Lewis, S. Roth, M. J. Black, and R. Szeliski, "A Database and Evaluation Methodology for Optical Flow", in Proc. International Conference on Computer Vision, pp. 1-8, 2007. Y. Adato, T. Zickler, and O. Ben-Shahar, "A Polar Representation of Motion and Implications for Optical Flow", in Proc. International Conference on Computer Vision and Pattern Recognition, pp. 1145-1152. 2011.
 非特許文献4に記載の技術には、次に述べるような問題がある。
 第1の問題は、前述した動径と偏角の収束速度の違いを考慮していない点である。すなわち、非特許文献4に記載の技術は、極座標成分の動径と偏角の両方を同時に計算する。そのため、非特許文献4では、動径と偏角のうち一方を固定して他方の収束を促すような使い方は不可能である。従って、極座標表現を用いたとしても、オプティカルフロー計算に係る反復回数は変わらない。
 第2の問題は、2変数だった連立方程式が3変数になる点である。これにより計算量がO(2N)からO(3N)に増加する。前述の通り、オプティカルフロー計算に係る反復回数は変わらないものの、一反復の計算量が増加し、オプティカルフロー計算に係る合計計算時間は増加する。
 一方、上述した特許文献1、2に開示された技術には、それぞれ、次に述べるような問題がある。
 特許文献1は、単に、開始動きベクトルを更新動きベクトルと比較することにより、動きベクトルを選択する技術を開示しているに過ぎない。
 特許文献2は、単に、勾配法を反復的に行うことや、変位と閾値とを比較して、変位の収束判定を行うことを記載しているに過ぎない。
 本発明の目的は、上記問題を解決するオプティカルフロー計算装置、計算方法およびプログラム記録媒体を提供することにある。
 本発明によるオプティカルフロー計算装置は、動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算装置であって、前記動画像から前記オプティカルフローを計算する複数の導出部を含む導出装置と;該導出装置中の使用する導出部を切り替える制御装置とを備え、前記導出装置は、前記オプティカルフローのうち動径成分を求める動径導出部と;前記オプティカルフローのうち偏角成分を求める偏角導出部と;を含むことを特徴とする。
 本発明の一形態によるオプティカルフロー計算方法は、動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、極座標導出部が、前記オプティカルフローの動径成分と偏角成分の両方を求め;動径導出部が、前記オプティカルフローのうち前記動径成分を求め;偏角導出部が、前記オプティカルフローのうち前記偏角成分を求め;制御装置が、前記極座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える;ことを含む。
 本発明の他の形態によるオプティカルフロー計算方法は、動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、直交座標導出部が、前記オプティカルフローのx成分とy成分の両方を求め;動径導出部が、前記オプティカルフローのうち動径成分を求め;偏角導出部が、前記オプティカルフローのうち偏角成分を求め;制御装置が、前記直交座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える;ことを含む。
 本発明の一形態によるオプティカルフロー計算プログラム記録媒体は、動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、前記オプティカルフローの動径成分と偏角成分の両方を求める極座標導出手順と;前記オプティカルフローのうち前記動径成分を求める動径導出手順と;前記オプティカルフローのうち前記偏角成分を求める偏角導出手順と;前記極座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と;を前記コンピュータに実行させる。
 本発明の他の形態によるオプティカルフロー計算プログラム記録媒体は、動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、前記オプティカルフローのx成分とy成分の両方を求める直交座標導出手順と;前記オプティカルフローのうち動径成分を求める動径導出手順と;前記オプティカルフローのうち偏角成分を求める偏角導出手順と;前記直交座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と;を前記コンピュータに実行させる。
 本発明によれば、オプティカルフロー計算を高速化できる。
非特許文献1及び非特許文献2に記載の一般的な技術を用いた際のオプティカルフロー計算装置を示すブロック図である。 非特許文献1及び非特許文献2に記載の一般的な技術を用いた際のオプティカルフロー計算装置の動作を示す流れ図である。 非特許文献2に記載の技術を用いたオプティカルフロー計算装置を用いて非特許文献3に記載のテストデータを評価したときの反復回数と精度を表す説明図である。 非特許文献4に記載の技術を用いた際のオプティカルフロー計算装置を示すブロック図である。 非特許文献4に記載の技術を用いた際のオプティカルフロー計算装置の動作を示す流れ図である。 本発明の第1の発明を実施するための形態の構成を示すプロック図である。 第1の発明を実施するための形態の動作を示す流れ図である。 第1の発明を実施形態のオプティカルフロー計算装置におけるフロー制御部の動作を示す流れ図である。 第1の発明のソルバ制御部の制御方法を用いた際の反復回数と出力フローの変位を示す説明図である。 本発明による第2の実施例におけるオプティカルフロー計算装置の構成を示すブロック図である。 本発明による第2の実施例におけるオプティカルフロー計算装置の動作を示す流れ図である。 本発明による第2の実施例のソルバ制御部の動作例を示す流れ図である。 本発明によるオプティカルフロー計算装置の機能を実現可能な情報処理装置の構成例を示すブロック図である。
[関連技術]
 本発明の理解を容易にするために、最初に、関連技術について説明する。
 前述したように、勾配法の例として上記非特許文献1に記載のHornSchunck法や上記非特許文献2に記載のBrox法がある。勾配法では、動画像の時空間微分成分に対して各画素成分を連立させたエネルギー拘束式を立て、エネルギー最小となる解を線形連立方程式ソルバによって求める。ここで、連立方程式ソルバに関しては、計算範囲が大規模である。このことから、勾配法においては、厳密解が求まる直接法ではなく、繰り返し計算することで解を収束させる反復法が多く用いられる。
 図1は、HornSchunck法やBrox法を含む、第1の関連技術に係るオプティカルフロー計算装置を示すブロック図である。
 図1に示す第1の関連技術に係るオプティカルフロー計算装置100は、前処理部110と、直交座標連立方程式作成部120と、2N×2N連立方程式ソルバ130と、終了判定部140とから成る。
 前処理部110は画像処理を行う。直交座標連立方程式作成部120は直交座標連立方程式を立てる。2N×2N連立方程式ソルバ130は、画素数をNとしたときの2N×2N行列に関する連立方程式を解く。終了判定部140は、反復の終了判定を行う。
 以下では図2を参照して、HornSuchunck法を例に挙げて、第1の関連技術に係るオプティカルフロー計算装置の動作を説明する。
 はじめに、前処理部110は、微分画像の生成や、画像の変形、また解像度の変換といった処理を行う(ステップS101)。微分画像は、連立方程式で用いられる。また、一般に各画素のオプティカルフローは、十分に小さいことを想定し拘束式を立てるため、大きな動きを捉えることができない。そこで導出したフローを用いて画像を変形し、フローを更新し反復計算することで、大きなフローの導出が可能となる。また、解像度の変換は、低解像度から高解像度の画像ピラミッドを用いて、CoarseToFineの順に処理し、低解像度の結果を高解像度に反映することで、1階層でフロー計算に係る演算を削減できる。
 次いで、直交座標連立方程式作成部120は、オプティカルフロー計算手法に基づいた直交座標連立方程式を立てる(ステップS102)。例えば、非特許文献1に記載のHornShunck法では、直交座標連立方程式は、以下の式1となる。
Figure JPOXMLDOC01-appb-M000001
 ここで、u、vは、それぞれ、オプティカルフローのx成分、y成分を表し、du、dvは、それぞれ、フロー更新におけるフローの差分のx成分、y成分を表す。I、I、Iは、それぞれ、動画像のx方向、y方向、時間方向微分画像を表し、αは定数項を表す。
 次に、2N×2N連立方程式ソルバ130は、直交座標連立方程式作成部120で立てた直交座標連立方程式Ax=b(上記式1)をxに関して解く(ステップS103)。ソルバとしては、前述のように反復法が多く用いられる。例えば、ソルバとしてPCG(Preconditioning Conjugated Gradients)法やSOR(Successive Over-Relaxation)法が用いられる。ここで、前述の通り、解くべき変数xはdu、dvから構成され、それぞれ画素数分存在する。このため、画素数をNとすると、O(2N)の計算量が必要となる。
 最後に、終了判定部140は、終了条件をチェックして反復を終了するか継続するかの判定を行う(ステップS104)。終了と判定された場合には、オプティカルフロー計算処理を終了してフローを出力する。一方、継続と判定された場合には、ステップS101に戻り反復処理を継続する。判定条件としては、反復回数や、現反復の出力フローと前反復の出力フローとの間の差分量が用いられる。
 前述の通り、オプティカルフローでは画像を変形しつつフローを反復して更新する。また、連立方程式ソルバにおいては、反復法が用いられる。従って、オプティカルフロー計算処理は多くの反復処理を要する。このため、より少ない反復回数で解を収束させることで、フローの計算を高速化できる。
 図3は、非特許文献2に記載のBrox法を用いて、上記非特許文献3におけるテストシーケンスDimetrodonのオプティカルフローを求めたときの反復回数と精度との間の関係を示す図である。
 図3より、Angular Errorは、Endpoint (EP) Errorと比較して、反復回数が小さいうちに収束していることがわかる。この場合、Angular Errorが収束して以降の反復では、ベクトルの角度(偏角)の変化は小さく、長さ(動径)に変化が大きいことが推測される。従って、Angular Errorが早期に収束した場合には、以降の反復でベクトルの長さの更新に注力することで速い収束を促し、処理を高速化できる。
 フローの更新を動径と偏角とに分ける方法として、極座標を用いることが考えられる。極座標表現を用いたオプティカルフロー計算方法の先行技術に上記非特許文献4に記載の技術がある。
 図4は、非特許文献4に記載の第2の関連技術に係る極座標表現を用いたオプティカルフロー計算装置200の構成を示す図である。
 図示のオプティカルフロー計算装置200は、前処理部210と、極座標連立方程式作成部220と、3N×3N連立方程式ソルバ230と、終了判定部240とから成る。
 図4に示す極座標表現を用いたオプティカルフロー計算装置200は、図1に示す一般的な直交座標表現を用いたオプティカルフロー計算装置100と比較して、直交座標連立方程式作成部120が極座標連立方程式作成部220に、2N×2N連立方程式ソルバ130が3N×3N連立方程式ソルバ230に置き換わっている点が異なる。
 極座標連立方程式作成部220は、極座標で表現したオプティカルフロー拘束式を立てる機能を有する。
 以下では図5を参照して、非特許文献4に記載の技術を用いた際のオプティカルフロー計算装置200の動作を説明する。
 はじめに、前処理部210は、前処理を行う(ステップS201)。ここで行う処理は、図2のステップS101の処理と同様である。
 次いで極座標連立方程式作成部220は、出力フローを極座標表現した際の極座標連立方程式を立てる(ステップS202)。ここで立てる極座標連立方程式と求める解xpolは、以下の式2で表される。
Figure JPOXMLDOC01-appb-M000002
 尚、Apolとbpolの詳細に関しては、非特許文献4に記載されているため、省略する。またu、vとθ、rの関係は以下の式3で表される。
Figure JPOXMLDOC01-appb-M000003
 従って、第1の関連技術では2変数だった連立方程式が、非特許文献4に記載の第2の関連技術では3変数の連立方程式となる。
 次に3N×3N連立方程式ソルバ230は、式2で示される3N×3N行列に関する連立方程式を解く(ステップS203)。ここで、3N×3N連立方程式ソルバ230では、3N×3Nの行列に関する連立方程式を解く必要があるため、O(3N)の計算量が必要となる。
 最後に、終了判定部240は終了判定を行う(ステップS204)。ここで行う処理は、図2のステップS104の処理と同様である。
 しかしながら、第2の関連技術では、前述したような問題点がある。
 以下、本発明の実施形態を、図面を参照して説明する。但し、本発明の技術的範囲は、実施形態によって限定されるものではなく、特許請求の範囲の記載に基づき解釈されるべきものである。
[第1の実施形態] 
[構成の説明]
 次に、本発明の第1の実施形態について、図面を参照して詳細に説明する。
 図6は本発明による第1の実施形態のオプティカルフロー計算装置300を示すブロック図である。
 図示のオプティカルフロー計算装置300は、前処理部310と、極座標連立方程式作成部322と、動径連立方程式作成部324と、偏角連立方程式作成部326と、2N×2N連立方程式ソルバ332と、第1および第2のN×N連立方程式ソルバ334、336と、ソルバ制御部340と、デマルチプレクサ350とを備える。
 極座標連立方程式作成部322と2N×2N連立方程式ソルバ332との組み合わせは、オプティカルフローの動径成分と偏角成分の両方を求める極座標導出部として働く。動径連立方程式作成部324と第1のN×N連立方程式ソルバ334との組み合わせは、オプティカルフローのうち動径成分を求める動径導出部として働く。偏角連立方程式作成部326と第2のN×N連立方程式ソルバ336との組み合わせは、オプティカルフローのうち偏角成分を求める偏角導出部として働く。
 そして、極座標導出部と動径導出部と偏角導出部との組み合わせによって、導出装置が構成されている。すなわち、本第1の実施形態では、導出装置は、3つの導出部を備えている。ソルバ制御部340とデマルチプレクサ350との組み合わせは、後述するように、導出装置中の使用する導出部を切り替える制御装置として動作する。
 図6より、本第1の実施形態のオプティカルフロー計算装置300は、図4に示す第2の関連技術を用いたオプティカルフロー計算装置200と比較して、次の点が異なる。まず、極座標連立方程式作成部220が、極座標連立方程式作成部322と、動径連立方程式作成部324と、偏角連立方程式作成部326とに置き換わっている。また、3N×3N連立方程式ソルバ230が、2N×2N連立方程式ソルバ332と、第1および第2のN×N連立方程式ソルバ334、336とに置き換わっている。そして、終了判定部240がソルバ制御部340に置き換わっており、デマルチプレクサ350が追加されている点が異なる。
 また、ここではN×N連立方程式ソルバを動径連立方程式用と偏角連立方程式用とで2つ追加する例を示したが、本発明はこれに限定されない。たとえば、N×N連立方程式ソルバを1つにして、動径連立方程式を解く際と偏角連立方程式を解く際とで共有することも、容易に可能である。
 前処理部310および2N×2N連立方程式ソルバ332は、図1に示す、第1の関連技術のオプティカルフロー計算装置100の前処理部110および2N×2N連立方程式ソルバ130と同様である。
 本第1の実施形態における極座標連立方程式作成部322は、図4に示す第2の関連技術を用いた極座標連立方程式作成部220ではcosθ、sinθ、rの3変数に関する連立方程式を立てていたのに対し、θとrの2変数に関する連立方程式を立てる機能を有する点が異なる。
 動径連立方程式作成部324は極座標表現したフローのうち動径成分について解く連立方程式を立てる機能を有する。
 偏角連立方程式作成部326は極座標表現したフローのうち偏角成分について解く連立方程式を立てる機能を有する。
 第1および第2のN×N連立方程式ソルバ334、336の各々はN×N行列に関する連立方程式を解く機能を有する。
 ソルバ制御部340は、出力フローを入力として、次の反復のソルバの選択及び終了判定をする機能を有する。
 デマルチプレクサ350は、ソルバ制御部340から出力される制御信号を入力として、使用するソルバを選択する機能を有する。
[動作の説明]
 以下では図7を参照して、本第1の実施形態のオプティカルフロー計算装置300の動作を説明する。
 はじめに、前処理部310は、前処理を行う(ステップS301)。ここで行う処理は、図1のステップS101及び図4のステップS201の処理と同様である。
 次いでデマルチプレクサ350は、使用するソルバの選択を行う(ステップS302)。使用するソルバの判定はソルバ制御部340において処理されるため後述する。極座標と判定された場合にはステップS303に、動径と判定された場合にはステップS305に、偏角と判定された場合にはステップS307に進む。
 デマルチプレクサ350において極座標を選択したとする。この場合、極座標連立方程式作成部322は、出力フローを極座標表現した際の極座標連立方程式を作成する(ステップS303)。ここで立てる極座標連立方程式と求める解x’polは、以下の式4で表される。
Figure JPOXMLDOC01-appb-M000004
 式4より、本第1の実施形態の極座標連立方程式は、式3に示す第2の関連技術の極座標連立方程式と比較して、求める変数が3変数から2変数に削減されている点が異なる。尚、A’pol‘およびb’polの導出例に関しては後述する。次いでステップS304に進む。
 次いで、2N×2N連立方程式ソルバ332は、式4に示される2N×2N行列の連立方程式を解く(ステップS304)。ここで、このとき解くべき解は2変数であるため、O(2N)の計算量が必要となる。
 デマルチプレクサ350において動径を選択したとする。この場合、動径連立方程式作成部324は、出力フローを極座標表現した際に、動径成分について解く連立方程式を作成する(ステップS305)。ここで立てる動径連立方程式と求める解xは、以下の式5で表される。
Figure JPOXMLDOC01-appb-M000005
 尚、行列Aとベクトルbの導出法は後述する。ここで、式3に示す第2の関連技術で解く連立方程式の解の要素が3変数であったのに対し、本第1の実施形態による動径連立方程式では1変数に削減されている。次いでステップS306に進む。
 次いで、第1のN×N連立方程式ソルバ334は、式5に示されるN×N行列の連立方程式を解く(ステップS306)。ここで、解くべき解は1変数となるので、画素数をNとすると必要な演算量はO(N)となる。また、第1のN×N連立方程式ソルバ334は、2N×2N連立方程式ソルバや3N×3N連立方程式ソルバと同様に、例えば上記PCG法や上記SOR法等の反復法によって実現される。
 デマルチプレクサ350において偏角を選択したとする。この場合、偏角連立方程式作成部326は、出力フローを極座標表現した際に、偏角成分について解く連立方程式を作成する(ステップS307)。ここで立てる動径連立方程式と求める解xθは、以下の式6で表される。
Figure JPOXMLDOC01-appb-M000006
 尚、行列Aθとベクトルbθの導出法は後述する。ここで式5に示す動径連立方程式と同様に、偏角連立方程式では解くべき解が1変数となる。次いでステップS308に進む。
 次いで、第2のN×N連立方程式ソルバ336は、式6に示されるN×N行列の連立方程式を解く(S308)。ここで、解くべき解は1変数となるので、画素数をNとすると必要な演算量はO(N)となる。
 次いでソルバ制御部340は、ソルバ判定を行う(S309)。ソルバ制御部340の動作は後述する。
 次いでソルバ制御部340において、終了と判定された場合、オプティカルフロー計算処理を終了し、ソルバが選択された場合には、ステップS301に進む(ステップS310)。
 以下では、図8を参照して、ソルバ制御部340の詳細な動作の一例を説明する。ここでは、出力フローに応じて制御する方法を説明するが、反復回数に応じて制御するなど、この限りではない。
 はじめに、ソルバ制御部340は、偏角成分の変位dθの第1の平均値dθavgと第1の閾値THθ1とを比較し、動径成分の変位drの第2の平均値dravgと第2の閾値THr1とを比較する(ステップS401)。第1の平均値dθavgおよび第2の平均値dravgが、それぞれ、第1および第2の閾値よりも小さかった場合(ステップS401のyes)には、十分に収束したと判断して、ステップS402に進む。一方、第1の平均値dθavgおよび第2の平均値dravgが、それぞれ、第1および第2の閾値以上である場合(ステップS401のno)には、まだ十分収束していないと判断して、ステップS407に進む。
 次いで、ソルバ制御部340は、第1の平均値dθavgと第2の平均値dravgとが十分に小さかった場合(ステップS401のyes)、第1の平均値dθavgと第3の閾値THθ2とを比較する(ステップS402)。第1の平均値dθavgの方が第3の閾値THθ2より小さかった場合(ステップS402のyes)には、ステップS403に進む。第1の平均値dθavgの方が第3の閾値THθ2以上である場合(ステップS402のno)には、ステップS406に進む。
 次いで、第1の平均値dθavgが十分に小さかった場合(ステップS402のyes)、ソルバ制御部340は、第2の平均値dravgと第4の閾値THr2とを比較する(ステップS403)。第2の平均値dravgの方が第4の閾値THr2より小さかった場合(ステップS403のyes)には、ステップS404に進む。第2の平均値dravgの方が第4の閾値THr2以上である場合(ステップS403のno)には、ステップS405に進む。
 第1の平均値dθavgと第2の平均値dravgとが十分に小さかった場合(ステップS403のyes)、ソルバ制御部340は、反復処理を終了することを選択して、ソルバ制御処理を終了する(ステップS404)。
 第1の平均値dθavgが十分に小さいが、第2の平均値dravgが大きい場合(ステップS403のno)、ソルバ制御部340は、動径方程式を次の反復処理の連立方程式として選択して(ステップS405)、ソルバ制御処理を終了する。
 第1の平均値dθavgと第2の平均値dravgとがある程度収束しているが、第1の平均値dθavgの収束が不十分である場合(ステップS402のno)、ソルバ制御部340は、偏角方程式を次の反復処理の連立方程式として選択して(ステップS406)、ソルバ制御処理を終了する。
 第1の平均値dθavgと第2の平均値dravgとが十分に収束していない場合(ステップS401のno)、ソルバ制御部340は、極座標方程式を次の反復の連立方程式として選択して(ステップS407)、ソルバ制御処理を終了する。
 以下では図9を参照して、本第1の実施形態のオプティカルフロー計算装置300を使った際の解収束の様子を説明する。
 はじめは第1の平均値dθavgと第2の平均値dravgとが十分に大きいため、極座標方程式を利用する。従って、第1の平均値dθavgと第2の平均値dravgとが同様の速度で収束する(図9中極座標方程式利用)。
 次いで第1の平均値dθavgと第2の平均値dravgとが収束し始めると、ソルバ制御部340で偏角連立方程式ないしは動径連立方程式が選択され、一方の収束に注力する。この例では偏角方程式が選択され、偏角方程式を利用する。従って、第1の平均値dθavgの収束速度が速まる(図9中偏角方程式利用)。
 次いで第1の平均値dθavgが十分に収束すると、ソルバ制御部340で動径方程式が選択される。このとき第2の平均値dravgの収束速度が速まる(図9中動径方程式利用)。
 最後に第1の平均値dθavgと第2の平均値dravgとの両方が十分に収束すると、ソルバ制御部340で終了判定がされ、オプティカルフロー計算処理が終了する。
 以下では、極座標方程式、偏角方程式および動径方程式の立て方の一例を説明する。尚ここでは非特許文献1に記載のHornSchunck法をベースに加法定理の一次近似を用いる例を示すが、ベースとなるオプティカルフロー導出法や極座標変形の方法はそれに限られない。
 式3よりi番目の画素に関するオプティカルフローの差分更新式を極座標表現すると、以下の式7となる。
Figure JPOXMLDOC01-appb-M000007
 ここで、Δu、Δvは更新する出力ベクトルの直交座標表現の差分を表し、Δr、Δθは更新する出力ベクトルの極座標表現の差分を表す。また、式7において加法定理の一次近似を用い、2次の項ΔrΔθを微少量として無視した。
 全てのフローに関する差分更新式は以下の式8となる。
Figure JPOXMLDOC01-appb-M000008
 非特許文献1に記載のHornShucnk法におけるオプティカルフローのエネルギー拘束式は、以下の式9となる。
Figure JPOXMLDOC01-appb-M000009
 式9においてαは定数を表しパラメータとして与えられる。式9に式8を代入すると、以下の式10となる。
Figure JPOXMLDOC01-appb-M000010
 式10においてαとβは定数を表しパラメータとして与えられる。ここで、偏角と動径が変化する場合、エネルギー拘束式の偏微分を考えると、以下の式11となる。
Figure JPOXMLDOC01-appb-M000011
 また、動径Δrのみが変化する場合、エネルギー拘束式はΔrの偏微分を考えると、以下の式12となる。
Figure JPOXMLDOC01-appb-M000012
 ここで、Δθはゼロまたは固定値を代入する。同様に偏角Δθのみが変化する場合、エネルギー拘束式はΔθの偏微分を考えると、以下の式13となる。
Figure JPOXMLDOC01-appb-M000013
 ここでも同様に、Δrはゼロまたは固定値を代入する。
[効果の説明] 
 次に、本第1の実施形態の効果について説明する。
 本第1の実施形態によるオプティカルフロー計算装置300はソルバ制御部340によって使用するソルバを出力フローの収束状況に応じて使い分けることができるため、収束に係る反復回数を削減でき、オプティカルフロー計算処理を高速化できる。よって、本第1の実施形態は、非特許文献4に記載の第2の関連技術(図4)における技術的課題(反復回数の増加や、一反復の計算量の増加、およびオプティカルフロー計算に係る合計計算時間の増加)を解決し、発明概念を提供している。換言すれば、ソルバ制御部340とデマルチプレクサ350との組み合わせから成る制御装置によってオプティカルフローを計算する複数の導出部を切り替えることによって、非特許文献4に記載の第2の関連技術(図4)における上記技術的課題を解決できるので、本第1の実施形態は抽象的アイデアに向けられておらず、特許適格性を有する。
 加えて、本第1の実施形態によるオプティカルフロー計算装置300は、極座標方程式であればO(2N)、偏角方程式または動径方程式であればO(N)の計算量で解くことができるので、第2の関連技術によるオプティカルフロー計算装置200(図4)と比較して、1反復に係る計算時間を削減することができ、オプティカルフロー計算処理を高速化できる。
[第2の実施形態] 
[構成の説明]
 次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
 図10は本発明の第2の実施形態のオプティカルフロー計算装置300Aの構成を示すブロック図である。
 図10の第2の実施形態のオプティカルフロー計算装置300Aは、図6に示す第1の実施形態のオプティカルフロー計算装置300と比較して、次の点が異なる。まず、極座標連立方程式作成部322が直交座標連立方程式作成部322Aに置き換わっている。また、ソルバ制御部340Aにおいて極座標方程式を選択できず直交座標方程式が選択できる点が異なる。それ以外の本第2の実施形態によるオプティカルフロー計算装置300Aの構成は、図6に示す第1の実施形態のオプティカルフロー計算装置300の構成と同様である。また、本第2の実施形態の直交座標連立方程式作成部322Aは、図1に示す第1の関連技術のオプティカルフロー計算装置100の直交座標連立方程式作成部120と同様である。
 以下では図11を参照して、本第2の実施形態によるオプティカルフロー計算装置300Aの動作を説明する。
 図11において、ステップS501、S504~S508、S510の処理は、図7におけるステップS301、S304~S308、S310の処理と同様であり、ステップS503の処理は、図2のステップS102の処理と同様である。
 ステップS501の前処理が終わると、本第2の実施形態のデマルチプレクサ350は制御信号に応じて、直交座標方程式、動径方程式、偏角方程式の中から使用する連立方程式を選択する(ステップS502)。
 ステップS504、S506またはS508で連立方程式を解き終わると、本第2の実施形態のソルバ制御部340Aは、出力フローを入力とし、その変位に応じて、反復の終了、直交座標方程式、動径方程式、または偏角方程式を選択し、制御信号を出力する(ステップS509)。ソルバ制御部340Aの詳細な動作は後述する。
 以下では図12を参照して、本第2の実施形態によるソルバ制御部340Aの詳細な動作の一例を説明する。ここでは、出力フローに応じて制御する方法を説明するが、反復回数に応じて制御するなど、この限りではない。
 図12におけるステップS602~S606の処理は、図8に示すステップS402~S406の処理と同様である。
 なお、図8では、閾値として第1乃至第4の閾値THθ1、THr1、THθ2、およびTHr2を使用していたが、図12では、閾値として第1乃至第3の閾値THθ1、THθ2、およびTHr2のみを使用している。換言すれば、図12においては、図8の第2の閾値THr1を省き、図8の第3および第4の閾値THθ2、およびTHr2を、それぞれ、第2および第3の閾値として使用している。
 はじめに、ソルバ制御部340Aは、偏角成分の変位dθの第1の平均値dθavgと第1の閾値THθ1とを比較する(ステップS601)。第1の平均値dθavgが第1の閾値THθ1よりも小さかった場合(ステップS601のyes)には、十分に収束したと判断して、ステップS602に進む。第1の平均値dθavgが第1の閾値THθ1以上である場合(ステップS601のno)には、まだ十分収束していないと判断して、ステップS607に進む。
 ステップS601において、第1の平均値dθavgが十分に収束していないと判断された場合(ステップS601のno)、ソルバ制御部340Aは、直交座標方程式を次の反復で使用する連立方程式として選択し(ステップ607)、ソルバ制御を終了する。
 ここで、図8に示すステップS401では偏角と動径を閾値と比較していたのに対し、本第2の実施形態では偏角のみを閾値と比較している。これは、式7において以下の式14の近似を行っているためである。
Figure JPOXMLDOC01-appb-M000014
 式14の近似式はΔθ~0の際に成り立つため、式11、式12、式13を使用する際にはΔθ~0が成り立つ必要がある。従って、ステップS601で、第1の平均値dθavgが0に近いことを確認できた場合に偏角または動径といった極座標表現を用い、そうでない場合には直交座標を用いる。
[効果の説明] 
 次に、本発明の第2の実施形態の効果について説明する。
 本発明の第2の実施形態では、極座標表現する際の近似式が成り立つ条件を考慮して、使用するソルバを選択することができるため、1反復のフロー更新がより高精度になり、収束に係る反復回数を削減できる。よって、本第2の実施形態でも、非特許文献4に記載の第2の関連技術(図4)における技術的課題(反復回数の増加や、一反復の計算量の増加、およびオプティカルフロー計算に係る合計計算時間の増加)を解決し、発明概念を提供している。換言すれば、ソルバ制御部340Aとデマルチプレクサ350との組み合わせから成る制御装置によってオプティカルフローを計算する複数の導出部を切り替えることによって、非特許文献4に記載の第2の関連技術(図4)における上記技術的課題を解決できるので、本第2の実施形態は抽象的アイデアに向けられておらず、特許適格性を有する。
 尚、上記では極座標方程式、偏角方程式と動径方程式を組み合わせる例と、直交座標方程式、偏角方程式と動径方程式を組み合わせる例を説明したが、組み合わせの例はこの限りではない。
 次に、具体的な実施例を用いて、本発明を実施するための形態の動作を説明する。
 図13に示す情報処理装置400は、プロセッサ410、プログラムメモリ420、入力の動画像とパラメータ、出力のフローを格納するための記憶媒体430を備える。
 図13に示された情報処理装置400において、プログラムメモリ420には図6または図10に示された各ブロックの機能を実現するためのプログラムが格納される。そして、プログラムメモリ420に格納されているプログラムに従ってプロセッサ420が処理を実行することで、図6または図10に示されたオプティカルフロー計算装置300、300Aの機能を実現する。
 以上、本発明の実施の形態および実施例を、図面を参照しつつ説明してきたが、当業者であれば、他の類似する実施形態および実施例を使用することができること、また、本発明から逸脱することなく適宜形態の変更又は追加を行うことができることに留意すべきである。
 例えば、第1の実施形態では、極座標と動径と偏角との組み合わせを使用し、第2の実施形態では、直交座標と動径と偏角との組み合わせを使用しているが、本発明はこれらに限定されない。例えば、本発明は、直交座標と極座標と動径と偏角との組み合わせを使用してもよい。
 上記の実施形態および実施例は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算装置であって、
 前記動画像から前記オプティカルフローを計算する複数の導出部を含む導出装置と、
 該導出装置中の使用する導出部を切り替える制御装置とを備え、
  前記導出装置は、
 前記オプティカルフローのうち動径成分を求める動径導出部と、
 前記オプティカルフローのうち偏角成分を求める偏角導出部と、
を含むことを特徴とするオプティカルフロー計算装置。
(付記2)前記導出装置は、前記オプティカルフローの動径成分と偏角成分の両方を求める極座標導出部を更に含む、
付記1に記載のオプティカルフロー計算装置。
(付記3)前記導出装置は、前記オプティカルフローのx成分とy成分の両方を求める直交座標導出部を更に含む、
付記1または2に記載のオプティカルフロー計算装置。
(付記4)動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、
 極座標導出部が、前記オプティカルフローの動径成分と偏角成分の両方を求め、
 動径導出部が、前記オプティカルフローのうち前記動径成分を求め、
 偏角導出部が、前記オプティカルフローのうち前記偏角成分を求め、
 制御装置が、前記極座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える、
ことを含むオプティカルフロー計算方法。
(付記5)前記制御装置が、
 前記偏角成分の変位の第1の平均値が第1の閾値以上で、かつ、前記動径成分の変位の第2の平均値が第2の閾値以上であるとき、前記使用する導出部を前記極座標導出部に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第1の閾値および前記第2の閾値より小さいが、前記第1の平均値が第3の閾値以上であるとき、前記使用する導出部を前記偏角導出部に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第2の閾値より小さいが、前記第2の平均値が第4の閾値以上であるとき、前記使用する導出部を前記動径導出部に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第4の閾値より小さいときに、処理を終了する、
付記4に記載のオプティカルフロー計算方法。
(付記6)動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、
 直交座標導出部が、前記オプティカルフローのx成分とy成分の両方を求め、
 動径導出部が、前記オプティカルフローのうち動径成分を求め、
 偏角導出部が、前記オプティカルフローのうち偏角成分を求め、
 制御装置が、前記直交座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える、
ことを含むオプティカルフロー計算方法。
(付記7)前記制御装置が、
 前記偏角成分の変位の第1の平均値が第1の閾値以上であるとき、前記使用する導出部を前記直交座標導出部に切り替え、
 前記第1の平均値が前記第1の閾値より小さいが、第2の閾値以上であるとき、前記使用する導出部を前記偏角導出部に切り替え、
 前記第1の平均値が前記第2の閾値より小さいが、前記動径成分の変位の第2の平均値が第3の閾値以上であるとき、前記使用する導出部を前記動径導出部に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第2の閾値および前記第3の閾値より小さいときに、処理を終了する、
付記6に記載のオプティカルフロー計算方法。
(付記8)動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、
 前記オプティカルフローの動径成分と偏角成分の両方を求める極座標導出手順と、
 前記オプティカルフローのうち前記動径成分を求める動径導出手順と、
 前記オプティカルフローのうち前記偏角成分を求める偏角導出手順と、
 前記極座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と、
を前記コンピュータに実行させるオプティカルフロー計算プログラム記録媒体。
(付記9)前記制御手順は、
 前記偏角成分の変位の第1の平均値が第1の閾値以上で、かつ、前記動径成分の変位の第2の平均値が第2の閾値以上であるとき、前記使用する導出手順を前記極座標導出手順に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第1の閾値および前記第2の閾値より小さいが、前記第1の平均値が第3の閾値以上であるとき、前記使用する導出手順を前記偏角導出手順に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第2の閾値より小さいが、前記第2の平均値が第4の閾値以上であるとき、前記使用する導出手順を前記動径導出手順に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第4の閾値より小さいときに、処理を終了する、
付記8に記載のオプティカルフロー計算プログラム記録媒体。
(付記10)動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、
 前記オプティカルフローのx成分とy成分の両方を求める直交座標導出手順と、
 前記オプティカルフローのうち動径成分を求める動径導出手順と、
 前記オプティカルフローのうち偏角成分を求める偏角導出手順と、
 前記直交座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と、
を前記コンピュータに実行させるオプティカルフロー計算プログラム記録媒体。
(付記11)前記制御手順は、
 前記偏角成分の変位の第1の平均値が第1の閾値以上であるとき、前記使用する導出手順を前記直交座標導出手順に切り替え、
 前記第1の平均値が前記第1の閾値より小さいが、第2の閾値以上であるとき、前記使用する導出手順を前記偏角導出手順に切り替え、
 前記第1の平均値が前記第2の閾値より小さいが、前記動径成分の変位の第2の平均値が第3の閾値以上であるとき、前記使用する導出手順を前記動径導出手順に切り替え、
 前記第1の平均値および前記第2の平均値が、それぞれ、前記第2の閾値および前記第3の閾値より小さいときに、処理を終了する、
付記10に記載のオプティカルフロー計算プログラム記録媒体。
 本発明によれば、処理に係る反復回数の削減によって高速なオプティカルフロー計算が可能になるため、リアルタイム性が要求される車載向けコンピュータビジョンシステムや、高解像動画像を用いたパターン認識処理などに含まれるオプティカルフロー計算処理に好適に適用可能である。
 以上、実施形態(実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解し得る様々な変更をすることができる。
 この発明は、2017年10月20日に出願された日本出願特願2017-203428を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 300、300A  オプティカルフロー計算装置
 310  前処理部
 322  極座標連立方程式作成部
 322A  直交座標連立方程式作成部
 324  動径連立方程式作成部
 326  偏角連立方程式作成部
 332  2N×2N連立方程式ソルバ
 334  第1のN×N連立方程式ソルバ
 336  第2のN×N連立方程式ソルバ
 340、340A  ソルバ制御部
 350  デマルチプレクサ
 400  情報処理装置
 410  プロセッサ
 420  プログラムメモリ
 430  記憶媒体

Claims (11)

  1.  動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算装置であって、
     前記動画像から前記オプティカルフローを計算する複数の導出部を含む導出装置と、
     該導出装置中の使用する導出部を切り替える制御装置とを備え、
      前記導出装置は、
     前記オプティカルフローのうち動径成分を求める動径導出部と、
     前記オプティカルフローのうち偏角成分を求める偏角導出部と、
    を含むことを特徴とするオプティカルフロー計算装置。
  2.  前記導出装置は、前記オプティカルフローの動径成分と偏角成分の両方を求める極座標導出部を更に含む、
    請求項1に記載のオプティカルフロー計算装置。
  3.  前記導出装置は、前記オプティカルフローのx成分とy成分の両方を求める直交座標導出部を更に含む、
    請求項1又は2に記載のオプティカルフロー計算装置。
  4.  動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、
     極座標導出部が、前記オプティカルフローの動径成分と偏角成分の両方を求め、
     動径導出部が、前記オプティカルフローのうち前記動径成分を求め、
     偏角導出部が、前記オプティカルフローのうち前記偏角成分を求め、
     制御装置が、前記極座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える、
    ことを含むオプティカルフロー計算方法。
  5.   前記制御装置が、
     前記偏角成分の変位の第1の平均値が第1の閾値以上で、かつ、前記動径成分の変位の第2の平均値が第2の閾値以上であるとき、前記使用する導出部を前記極座標導出部に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第1の閾値および前記第2の閾値より小さいが、前記第1の平均値が第3の閾値以上であるとき、前記使用する導出部を前記偏角導出部に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第2の閾値より小さいが、前記第2の平均値が第4の閾値以上であるとき、前記使用する導出部を前記動径導出部に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第4の閾値より小さいときに、処理を終了する、
    請求項4に記載のオプティカルフロー計算方法。
  6.  動画像中の物体の動きを動きベクトルで表現したオプティカルフローを計算するオプティカルフロー計算方法であって、
     直交座標導出部が、前記オプティカルフローのx成分とy成分の両方を求め、
     動径導出部が、前記オプティカルフローのうち動径成分を求め、
     偏角導出部が、前記オプティカルフローのうち偏角成分を求め、
     制御装置が、前記直交座標導出部、前記動径導出部、および前記偏角導出部の1つを、使用する導出部として切り替える、
    ことを含むオプティカルフロー計算方法。
  7.   前記制御装置が、
     前記偏角成分の変位の第1の平均値が第1の閾値以上であるとき、前記使用する導出部を前記直交座標導出部に切り替え、
     前記第1の平均値が前記第1の閾値より小さいが、第2の閾値以上であるとき、前記使用する導出部を前記偏角導出部に切り替え、
     前記第1の平均値が前記第2の閾値より小さいが、前記動径成分の変位の第2の平均値が第3の閾値以上であるとき、前記使用する導出部を前記動径導出部に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第2の閾値および前記第3の閾値より小さいときに、処理を終了する、
    請求項6に記載のオプティカルフロー計算方法。
  8.  動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、
     前記オプティカルフローの動径成分と偏角成分の両方を求める極座標導出手順と、
     前記オプティカルフローのうち前記動径成分を求める動径導出手順と、
     前記オプティカルフローのうち前記偏角成分を求める偏角導出手順と、
     前記極座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と、
    を前記コンピュータに実行させるオプティカルフロー計算プログラム記録媒体。
  9.   前記制御手順は、
     前記偏角成分の変位の第1の平均値が第1の閾値以上で、かつ、前記動径成分の変位の第2の平均値が第2の閾値以上であるとき、前記使用する導出手順を前記極座標導出手順に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第1の閾値および前記第2の閾値より小さいが、前記第1の平均値が第3の閾値以上であるとき、前記使用する導出手順を前記偏角導出手順に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第2の閾値より小さいが、前記第2の平均値が第4の閾値以上であるとき、前記使用する導出手順を前記動径導出手順に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第3の閾値および前記第4の閾値より小さいときに、処理を終了する、
    請求項8に記載のオプティカルフロー計算プログラム記録媒体。
  10.  動画像中の物体の動きを動きベクトルで表現したオプティカルフローを、コンピュータに計算させるオプティカルフロー計算プログラムを記録した記録媒体であって、前記オプティカルフロー計算プログラムは、
     前記オプティカルフローのx成分とy成分の両方を求める直交座標導出手順と、
     前記オプティカルフローのうち動径成分を求める動径導出手順と、
     前記オプティカルフローのうち偏角成分を求める偏角導出手順と、
     前記直交座標導出手順、前記動径導出手順、および前記偏角導出手順の1つを、使用する導出手順として切り替える制御手順と、
    を前記コンピュータに実行させるオプティカルフロー計算プログラム記録媒体。
  11.   前記制御手順は、
     前記偏角成分の変位の第1の平均値が第1の閾値以上であるとき、前記使用する導出手順を前記直交座標導出手順に切り替え、
     前記第1の平均値が前記第1の閾値より小さいが、第2の閾値以上であるとき、前記使用する導出手順を前記偏角導出手順に切り替え、
     前記第1の平均値が前記第2の閾値より小さいが、前記動径成分の変位の第2の平均値が第3の閾値以上であるとき、前記使用する導出手順を前記動径導出手順に切り替え、
     前記第1の平均値および前記第2の平均値が、それぞれ、前記第2の閾値および前記第3の閾値より小さいときに、処理を終了する、
    請求項10に記載のオプティカルフロー計算プログラム記録媒体。
     
     
PCT/JP2018/029226 2017-10-20 2018-08-03 オプティカルフロー計算装置、計算方法およびプログラム記録媒体 WO2019077850A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017203428 2017-10-20
JP2017-203428 2017-10-20

Publications (1)

Publication Number Publication Date
WO2019077850A1 true WO2019077850A1 (ja) 2019-04-25

Family

ID=66174406

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/029226 WO2019077850A1 (ja) 2017-10-20 2018-08-03 オプティカルフロー計算装置、計算方法およびプログラム記録媒体

Country Status (1)

Country Link
WO (1) WO2019077850A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541744A (ja) * 2010-07-08 2013-11-14 スピネラ アイピー ホールディングス,インコーポレーテッド ビデオシーケンスにおけるショットチェンジ検出のためのシステム及び方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541744A (ja) * 2010-07-08 2013-11-14 スピネラ アイピー ホールディングス,インコーポレーテッド ビデオシーケンスにおけるショットチェンジ検出のためのシステム及び方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIBA, MASATAKA ET AL.: "Detection of optical flow from a noisy image", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, vol. J73-D-II, no. 12, 25 December 1990 (1990-12-25), pages 1952 - 1959, XP000329652 *
YAIR, ADATO ET AL.: "A Polar Representation of Motion and Implications for Optical Flow", CVPR 2011, 20 June 2011 (2011-06-20), pages 1145 - 1152, XP032037921, DOI: doi:10.1109/CVPR.2011.5995419 *

Similar Documents

Publication Publication Date Title
CN104778688A (zh) 点云数据的配准方法及装置
JPH0818848A (ja) カメラシステムおよび歪み除去方法
CN112484968B (zh) 用于光学量测的方法、系统、计算设备和存储介质
JP2009237848A (ja) 情報処理装置、および画像処理方法、並びにコンピュータ・プログラム
CN109035363B (zh) 一种快速迭代的线圆最优拟合方法
KR20210040876A (ko) 차량용 카메라의 외부 파라미터 캘리브레이션 방법, 장치, 시스템 및 저장매체
CN112907620A (zh) 相机位姿的估计方法、装置、可读存储介质及电子设备
KR20210040312A (ko) 장애물 검출 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
EP3933752A1 (en) Method and apparatus for processing video frame
CN115810133B (zh) 基于图像处理和点云处理的焊接控制方法及相关设备
Avigal et al. 6-DoF grasp planning using fast 3D reconstruction and grasp quality CNN
CN117034664A (zh) 一种盾构机推进系统液压油缸行程计算方法及装置
Zhao et al. Occupancy-slam: Simultaneously optimizing robot poses and continuous occupancy map
JP7331940B2 (ja) 学習装置、推定装置、学習方法および学習プログラム
WO2019077850A1 (ja) オプティカルフロー計算装置、計算方法およびプログラム記録媒体
US8872832B2 (en) System and method for mesh stabilization of facial motion capture data
JP6717759B2 (ja) 計測装置および計測装置の作動方法
Jiang et al. Probabilistic Triangulation for Uncalibrated Multi-View 3D Human Pose Estimation
KR102512873B1 (ko) 인공 지능을 이용한 모아레 간섭계 측정 시스템 및 모아레 간섭계 측정 방법
Huang et al. Methods on Visual Positioning Based on Basketball Shooting Direction Standardisation
JP6315542B2 (ja) 画像生成装置及び画像生成方法
US11393069B2 (en) Image processing apparatus, image processing method, and computer readable recording medium
Dixit et al. Time varying optimization via inexact proximal online gradient descent
JPH07244735A (ja) 3次元形状復元方法および装置
JP5215615B2 (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: 18867647

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP