WO2019168190A1 - 操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2019168190A1
WO2019168190A1 PCT/JP2019/008249 JP2019008249W WO2019168190A1 WO 2019168190 A1 WO2019168190 A1 WO 2019168190A1 JP 2019008249 W JP2019008249 W JP 2019008249W WO 2019168190 A1 WO2019168190 A1 WO 2019168190A1
Authority
WO
WIPO (PCT)
Prior art keywords
coordinate
coordinates
gesture operation
condition
acceleration
Prior art date
Application number
PCT/JP2019/008249
Other languages
English (en)
French (fr)
Inventor
義幸 坂下
Original Assignee
Necソリューションイノベータ株式会社
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 Necソリューションイノベータ株式会社 filed Critical Necソリューションイノベータ株式会社
Priority to JP2020503667A priority Critical patent/JP6958951B2/ja
Publication of WO2019168190A1 publication Critical patent/WO2019168190A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Definitions

  • the present invention relates to an operation estimation device and an operation estimation method for estimating a gesture operation, and further relates to a computer-readable recording medium in which a program for realizing these operations is recorded.
  • an image corresponding to a human body part (hereinafter referred to as a human body part image) is detected from a depth image captured by a depth sensor, and the gesture operation is estimated based on the detected movement of the human body part image. There is a way to do it.
  • the operation estimation device when estimating a flick operation, the operation estimation device first detects an image corresponding to a hand (hereinafter, a hand image) from each of a plurality of depth images acquired in time series. Subsequently, the operation estimation device detects the center of gravity from the hand image for each depth image. Then, the operation estimation device calculates the movement distance of the center of gravity based on each detected center of gravity, and estimates that the operation is a flick operation when the movement distance of the center of gravity is equal to or greater than a predetermined distance.
  • a hand image an image corresponding to a hand (hereinafter, a hand image) from each of a plurality of depth images acquired in time series. Subsequently, the operation estimation device detects the center of gravity from the hand image for each depth image. Then, the operation estimation device calculates the movement distance of the center of gravity based on each detected center of gravity, and estimates that the operation is a flick operation when the movement distance of the center of gravity is equal to or greater than a predetermined distance
  • the gesture operation is estimated using only the moving distance of the center of gravity, and thus a gesture operation that is not intended by the user may be estimated.
  • An example of an object of the present invention is to provide an operation estimation device, an operation estimation method, and a computer-readable recording medium that improve the accuracy of estimating a gesture operation.
  • an operation estimation apparatus includes: A first coordinate calculation unit that calculates first coordinates indicating characteristics of the human body part image based on a human body part image corresponding to the human body part imaged in the depth image; A second coordinate calculation unit for calculating second coordinates indicating characteristics of the human body part image, which are different from the first coordinates; A start determination unit that determines that a gesture operation has started when the position of the second coordinate relative to the first coordinate is included in a start position condition indicating a predetermined start position; After starting the gesture operation, based on the acquired plurality of depth images, the calculated first coordinate or the second coordinate or both of the movement directions indicates a preset movement direction.
  • the calculated movement distance of the first coordinate or the second coordinate or both based on the plurality of depth images acquired is a movement distance set in advance. If the position of the second coordinate relative to the first coordinate is included in an end position condition indicating a preset end position, it is determined that the gesture operation has ended.
  • An end determination unit It is characterized by having.
  • an operation estimation method includes: (A) calculating first coordinates indicating characteristics of the human body part image based on a human body part image corresponding to the human body part imaged in the depth image; (B) calculating second coordinates indicating characteristics of the human body part image, which are different from the first coordinates; (C) determining that the gesture operation has started when the position of the second coordinate relative to the first coordinate is included in a start position condition indicating a preset start position; (D) After starting the gesture operation, based on the acquired plurality of depth images, the calculated movement direction of the first coordinate or the second coordinate or both is a predetermined movement direction.
  • the gesture operation After the start of the gesture operation that is included in the movement direction condition shown, based on the acquired plurality of depth images, the calculated movement distance of the first coordinates or the second coordinates or both, When the movement distance condition indicating the set movement distance is included, and the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the preset end position, the gesture operation is ended. Determining the step, It is characterized by having.
  • a computer-readable recording medium On the computer, (A) calculating first coordinates indicating characteristics of the human body part image based on a human body part image corresponding to the human body part imaged in the depth image; (B) calculating second coordinates indicating characteristics of the human body part image, which are different from the first coordinates; (C) determining that the gesture operation has started when the position of the second coordinate relative to the first coordinate is included in a position indicating a start condition indicating a preset start position; (D) After starting the gesture operation, based on the acquired plurality of depth images, the calculated movement direction of the first coordinate or the second coordinate or both is a predetermined movement direction.
  • the gesture operation After the start of the gesture operation that is included in the movement direction condition shown, based on the acquired plurality of depth images, the calculated movement distance of the first coordinates or the second coordinates or both, When the movement distance condition indicating the set movement distance is included, and the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the preset end position, the gesture operation is ended. Determining the step, A program including an instruction for executing is recorded.
  • FIG. 1 is a diagram illustrating an example of the operation estimation apparatus.
  • FIG. 2 is a diagram illustrating an example of a system having an operation estimation device.
  • FIG. 3 is a diagram for explaining an example of the right flick operation.
  • FIG. 4 is a diagram illustrating an example of the operation of the operation estimation apparatus.
  • FIG. 5 is a diagram illustrating a detailed example of the operation of the operation estimation device.
  • FIG. 6 is a diagram illustrating an example of the data structure of the determination condition information.
  • FIG. 7 is a diagram illustrating an example of a computer that implements the operation estimation apparatus according to the embodiment of the present invention.
  • FIG. 1 is a diagram illustrating an example of the operation estimation apparatus.
  • the operation estimation device 1 includes a first coordinate calculation unit 2, a second coordinate calculation unit 3, a start determination unit 4, and an end determination unit 5.
  • the first coordinate calculation unit 2 calculates the first coordinates indicating the characteristics of the human body part image based on the human body part image corresponding to the human body part imaged in the depth image.
  • the second coordinate calculation unit 3 calculates a second coordinate indicating a feature of the human body part image, which is different from the first coordinate, with the first coordinate as a reference.
  • the start determination unit 4 determines that the gesture operation has started when the position of the second coordinate with respect to the first coordinate is included in the start position condition indicating the predetermined start position.
  • the end determination unit 5 starts the gesture operation, and then the first coordinate and / or the second coordinate calculated based on the acquired plurality of depth images indicates a predetermined movement direction. Determine whether it is included in the condition.
  • the end determination unit 5 calculates, based on the acquired depth images, the calculated first coordinate or the second coordinate or both of the movement distances determined in advance. It is determined whether it is included in the travel distance condition shown. Further, the end determination unit 5 determines whether the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the predetermined end position. Then, the end determination unit 5 determines that the gesture operation has ended when the movement direction condition, the movement distance condition, and the end position condition are satisfied.
  • the first coordinate and the second coordinate calculated from the human body part image are set for each gesture operation, and at least the start position condition, the movement direction condition, and the movement distance condition described above.
  • the end position condition is satisfied, it is estimated that the user has performed the gesture operation. By doing so, the accuracy of estimating the gesture operation can be improved.
  • FIG. 2 is a diagram illustrating an example of a system having an operation estimation device.
  • the operation estimation system 20 includes an operation estimation device 1 and a depth sensor 21.
  • the start determination unit 4 includes a start position determination unit 22 and a start direction determination unit 23.
  • the end determination unit 5 includes at least a movement direction determination unit 24, a movement distance determination unit 25, and an acceleration determination unit 26.
  • FIG. 3 is a diagram for explaining an example of the right flick operation.
  • the right flick operation is an operation in which the user moves his / her right hand approximately horizontally with respect to the ground, from left (left hand side) to right (right hand side). The hand is on the left side and the hand is on the right side of the center of gravity at the end of the operation.
  • substantially horizontal means a horizontal including a shake of a human body part. Since the gesture operation is a movement of the human body, it means that it is not completely horizontal.
  • human body part images other than the hand images 32a, 32b, 32c, 32d, and 32e are omitted for easy understanding.
  • the depth images 30a, 30b, 30c, 30d, and 30e shown in FIG. 3 are images taken in time series when the right flick operation is performed.
  • a graph 31 shown in FIG. 3 shows the moving direction and moving distance of the first coordinate and the second coordinate, respectively.
  • a vector V11, a vector V21, a vector V31, and a vector V41 indicate the moving direction and moving distance of the barycentric coordinates.
  • a vector V21, a vector V22, a vector V32, and a vector V42 indicate the movement direction and movement distance of hand coordinates.
  • the depth sensor 21 (device having the depth sensor 21) measures the depth from the depth sensor 21 to the object, generates depth information or a depth image, and outputs the depth information or the depth image to the operation estimation device 1.
  • the depth sensor 21 may be a TOF (Time (of Flight) sensor, for example.
  • the first coordinate calculation unit 2 calculates the first coordinates indicating the characteristics of the human body part image using the human body part image detected based on the depth distribution of the depth image.
  • the first coordinate calculation unit 2 uses the detected hand images 32a, 32b, 32c, 32d, and 32e based on the depth images 30a to 30e, respectively, to show the first coordinates (shown in FIG. 3).
  • ⁇ ) is calculated.
  • the first coordinates are barycentric coordinates calculated for each of the hand images 32a to 32e.
  • the first coordinate is calculated by the first coordinate calculation unit 2 in each of the hand images 32a to 32e based on the entire hand image or a portion of the hand image other than the hand image corresponding to the hand.
  • the barycentric coordinates Note that coordinates other than the barycentric coordinates may be used as the first feature coordinates.
  • the second coordinate calculation unit 3 uses the human body part image detected based on the depth distribution of the depth image to calculate second coordinates indicating the characteristics of the human body part image, which are different from the first coordinates.
  • the second coordinate calculation unit 3 uses the detected hand images 32a, 32b, 32c, 32d, and 32e based on the depth images 30a to 30e, respectively, to generate the second coordinates (shown in FIG. 3). ⁇ ) is calculated.
  • the second coordinates are hand coordinates calculated by the second coordinate calculation unit 3 for each of the hand images 32a to 32e. Note that coordinates other than the hand coordinates may be used as the second feature coordinates.
  • the start position determination unit 22 included in the start determination unit 4 first calculates the position of the second coordinate with respect to the first coordinate. Subsequently, the start position determination unit 22 determines whether or not the position of the second coordinate with respect to the calculated first coordinate is included in a preset start position condition. When the position of the second coordinate with respect to the calculated first coordinate is included in the start position condition, the start position determination unit 22 determines that the gesture operation has started.
  • the start position determination unit 22 uses the depth image 30a to calculate the position of the hand coordinates relative to the barycentric coordinates. Subsequently, the start position determination unit 22 refers to the start position condition stored in advance, and the barycentric coordinate ( ⁇ in FIG. 3) calculated from the depth image 30a is based on the horizontal axis as the hand coordinate ( ⁇ in FIG. 3). It is determined whether or not the position is on the right side. The start position determination unit 22 determines that the gesture operation has started when the start position condition is satisfied.
  • the start direction determination unit 23 included in the start determination unit 4 first calculates the movement direction and the movement distance for the first coordinates after satisfying the start position condition. Subsequently, the start direction determination unit 23 determines whether or not the calculated movement direction and movement distance are included in preset start direction conditions.
  • the start direction determination unit 23 when estimating the right flick operation, the start direction determination unit 23 first calculates the movement direction and the movement distance for the barycentric coordinates using the depth images 30a and 30b. Alternatively, when using hand coordinates instead of the barycentric coordinates, the start direction determination unit 23 calculates a movement direction and a movement distance for the hand coordinates. In addition, when using a gravity center coordinate and a hand coordinate, the start direction determination part 23 calculates a movement direction and a movement distance about each.
  • the start direction determination unit 23 determines that the calculated movement direction of the center of gravity coordinates (see vector V11) is the right direction (start direction condition) and the movement distance of the center of gravity coordinates (see vector V11) is the predetermined start distance. It is determined whether this is the case (starting direction condition).
  • the start direction determination unit 23 determines that the calculated movement direction of the hand coordinates (see vector V12) is the right direction and the movement distance of the hand coordinates (see vector V11). ) Is greater than or equal to the predetermined start distance.
  • the start direction determination part 23 determines about each. The predetermined start distance is obtained by experiment, simulation, machine learning, or the like.
  • the movement direction determination unit 24 included in the end determination unit 5 first calculates the movement direction of the first coordinate based on the depth image after satisfying the start position condition or the start position condition and the start direction condition. Subsequently, the movement direction determination unit 24 determines whether or not the calculated movement direction of the first coordinate is included in a movement direction condition indicating a preset movement direction.
  • the moving direction determination unit 24 first uses the depth images 30b and 30c, the depth images 30c and 30d, and the depth images 30d and 30e, and moves the barycentric coordinates for each. (See vector V21, vector V31, and vector V41).
  • the movement direction determination unit 24 calculates the movement direction of the hand coordinates (see vector V22, vector V32, and vector V42).
  • the movement direction determination part 24 calculates a movement direction about each.
  • the movement direction determination unit 24 determines whether or not the calculated movement direction of the barycentric coordinates (see vector V21, vector V31, and vector V41) is the right direction (movement direction condition). Alternatively, when using hand coordinates instead of the barycentric coordinates, the movement direction determination unit 24 determines whether the calculated movement direction of the hand coordinates (see vector V22, vector V32, and vector V42) is the right direction. . In addition, when using a gravity center coordinate and a hand coordinate, the moving direction determination part 24 determines about each.
  • the movement distance determination unit 25 included in the end determination unit 5 first calculates the movement distance of the first coordinate based on the depth image after satisfying the start position condition or the start position condition and the start direction condition. Subsequently, the movement distance determination unit 25 determines whether or not the calculated movement distance of the first coordinate is included in a movement distance condition indicating a preset movement distance.
  • the moving distance determination unit 25 first uses the depth images 30b and 30c, the depth images 30c and 30d, and the depth images 30d and 30e, and moves the center-of-gravity coordinates for each. (See vector V21, vector V31, and vector V41).
  • the movement distance determination unit 25 calculates the movement distances of the hand coordinates (see the vector V22, the vector V32, and the vector V42).
  • the movement distance determination part 25 calculates a moving direction about each.
  • the movement distance determination unit 25 determines whether or not the calculated movement distance of the barycentric coordinates (see vector V21, vector V31, and vector V41) is equal to or greater than a predetermined movement distance (movement distance condition).
  • a predetermined movement distance movement distance condition
  • the movement distance determination unit 25 determines whether the movement distances of the hand coordinates (see vector V22, vector V32, and vector V42) are equal to or greater than a predetermined movement distance.
  • the movement distance determination part 25 determines about each. The predetermined movement distance is obtained by experiment, simulation, machine learning, or the like.
  • the acceleration determination unit 26 included in the end determination unit 5 uses the depth images acquired in time series after starting the gesture operation (after satisfying the start position condition or the start position condition and the start direction condition). The acceleration of the first coordinate or the second coordinate in between is calculated. Subsequently, the acceleration determination unit 26 determines whether the calculated acceleration of the first coordinate or the second coordinate is included in the acceleration condition indicating the preset acceleration.
  • the acceleration determination unit 26 first uses the interval (imaging time) when the depth sensor 21 captures the depth image and the above-described movement distance of the barycentric coordinates to determine the depth.
  • the moving speed of the barycentric coordinates between images is calculated.
  • the acceleration determination unit 26 acquires the imaging time of the depth images 30b and 30c, the imaging time of the depth images 30c and 30d, and the imaging time of the depth images 30d and 30e, respectively.
  • the acceleration determination unit 26 acquires the movement distance of the barycentric coordinates (see vectors V21, V31, and V41) in the depth images 30b and 30c, the depth images 30c and 30d, and the depth images 30d and 30e described above.
  • the acceleration determination part 26 calculates the moving speed of the gravity center coordinate in each of the depth images 30b and 30c, the depth images 30c and 30d, and the depth images 30d and 30e using them.
  • the acceleration determining unit 26 calculates the movement speed of the hand coordinates. In addition, when using a gravity center coordinate and a hand coordinate, the acceleration determination part 26 calculates a moving speed about each.
  • the acceleration determination unit 26 calculates the acceleration of the barycentric coordinates in the depth images 30b to 30d using the moving speed of the barycentric coordinates in the depth images 30b and 30c and the moving speed of the barycentric coordinates in the depth images 30c and 30d. To do. Further, the acceleration determination unit 26 calculates the acceleration of the centroid coordinates in the depth images 30c to 30e using the movement speed of the centroid coordinates in the depth images 30c and 30d and the movement speed of the centroid coordinates in the depth images 30d and 30e. To do.
  • the acceleration determining unit 26 calculates the acceleration of the hand coordinates. In addition, when using a gravity center coordinate and a hand coordinate, the acceleration determination part 26 calculates an acceleration about each.
  • the acceleration determination unit 26 determines whether or not each acceleration of the calculated center-of-gravity coordinates is equal to or greater than a predetermined acceleration (acceleration condition).
  • a predetermined acceleration acceleration condition
  • the acceleration determination unit 26 determines whether each of the calculated accelerations of the hand coordinates is equal to or greater than a predetermined acceleration.
  • the acceleration determination part 26 may determine about each.
  • the predetermined acceleration is obtained by experiment, simulation, machine learning, or the like.
  • the end position determination unit 27 included in the end determination unit 5 first calculates the position of the second coordinate with respect to the first coordinate. Subsequently, the end position determination unit 27 determines whether or not the position of the second coordinate with respect to the calculated first coordinate is included in a predetermined end position condition. When the position of the second coordinate with respect to the calculated first coordinate is included in the start position condition, the end position determination unit 27 determines that the gesture operation has ended.
  • the end position determination unit 27 calculates the position of the hand coordinate with respect to the barycentric coordinate using the depth image 30e. Subsequently, the end position determination unit 27 refers to a preset end position condition, and determines whether or not the center-of-gravity coordinates calculated from the depth image 30e are on the left side of the hand coordinates with reference to the horizontal axis. . The end position determination unit 27 determines that the gesture operation has ended when the end position condition is satisfied.
  • FIG. 4 is a diagram illustrating an example of the operation of the operation estimation apparatus.
  • FIGS. 1 to 3 are referred to as appropriate.
  • the operation estimation method is implemented by operating the operation estimation apparatus 1. Therefore, the description of the operation estimation method in the present embodiment is replaced with the following operation description of the operation estimation device 1.
  • the start determination unit 4 has a start position condition in which the position of the second coordinate calculated by the second coordinate calculation unit 3 with respect to the first coordinate calculated by the first coordinate calculation unit 2 indicates a preset start position. Is included, it is determined that the gesture operation has started (step A1).
  • the end determination unit 5 determines that the gesture operation has ended when the movement direction condition, the movement distance condition, and the end position condition are satisfied (step A2). That is, after the gesture determination operation is started, the end determination unit 5 includes the moving direction of the first coordinates calculated based on the acquired plurality of depth images in the moving direction condition indicating the preset moving direction. Determine. In addition, after the gesture determination is started, the end determination unit 5 includes the calculated movement distance of the first coordinate based on the acquired depth images in the movement distance condition indicating the preset movement distance. It is determined whether or not. The end determination unit 5 determines whether the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the preset end position.
  • FIG. 5 is a diagram illustrating a detailed example of the operation of the operation estimation device.
  • FIG. 6 is a diagram illustrating an example of the data structure of the determination condition information.
  • information indicating the start position condition right_flick_s_p, information indicating the start direction condition right_flick_s_d, information indicating the movement direction condition right_flick_m_c, information indicating the movement distance condition right_flick_m_d, information indicating the acceleration condition right_flick_a, and the end position condition Information right_flick_f_p to be shown is associated.
  • Information indicating “start position condition”, “start direction condition”, “movement direction condition”, “movement distance condition”, “acceleration condition”, and “end position condition” is associated with each of “left flick” and “front flick”.
  • steps A51, A52, A53, A54, and A55 corresponding to the processing of step A1 will be described.
  • step A51 the first coordinate calculation unit 2 calculates the first coordinate based on the depth image acquired from the depth sensor 21. Further, the second coordinate calculation unit 3 calculates the second coordinates based on the depth image acquired from the depth sensor 21. Subsequently, the start position determination unit 22 included in the start determination unit 4 calculates the position of the second coordinate with respect to the first coordinate.
  • the first coordinate calculation unit 2 calculates the barycentric coordinates as the first coordinates
  • the second coordinate calculation unit 3 calculates the hand coordinates as the second coordinates.
  • the start position determination unit 22 calculates the position of the hand coordinates relative to the barycentric coordinates.
  • step A52 the start position determination unit 22 refers to the determination condition information 60 using the position of the second coordinate with respect to the calculated first coordinate, and detects the start position condition associated with the gesture operation.
  • step A52: Yes the start position determination part 22 determines with having started gesture operation.
  • step A52: No the start position determination part 22 waits for gesture operation to be detected.
  • the start position determination unit 22 refers to the determination condition information 60 using the position of the hand coordinate with respect to the barycentric coordinate, and the position of the hand coordinate with respect to the barycentric coordinate indicates a start position condition corresponding to the right flick operation.
  • the information “right_flick_s_p” is included, it is determined that the right flick operation has been started.
  • the information “right_flick_s_p” is information for determining, for example, that the center-of-gravity coordinates are on the right side of the hand coordinates with respect to the horizontal axis.
  • step A53 the start position determination unit 22 calculates the position of the second coordinate with respect to the first coordinate using the depth image (depth image 30b) acquired this time.
  • the start direction determination unit 23 uses the depth image (depth image 30a) acquired last time and the depth image (depth image 30b) acquired this time to determine the movement direction and the movement distance for the first coordinate or the second coordinate. Is calculated.
  • step A54 the start position determination unit 22 determines whether or not the position of the second coordinate with respect to the calculated first coordinate is included in a predetermined start position condition.
  • step A54: No the estimation of the gesture operation ends.
  • step A55 the start direction determination unit 23 determines the movement direction of the first coordinate and It is determined whether or not the movement distance is included in a preset start direction condition.
  • the start direction determination unit 23 starts or continues the gesture operation. Is determined.
  • the start direction determination unit 23 ends the gesture operation.
  • the start direction determination unit 23 refers to the determination condition information 60 using the movement direction and movement distance of the centroid coordinates, and the movement direction and movement distance of the centroid coordinates correspond to the right flick operation. Is included in the information “right_flick_s_d” indicating that the right flick operation is started.
  • the information “right_flick_s_d” indicating the start direction condition is information for determining, for example, that the movement direction of the center of gravity coordinates is the right direction and the movement distance of the center of gravity coordinates is equal to or greater than the predetermined start distance.
  • steps A53 and A55 the calculation using the first coordinates (center of gravity coordinates) is shown as an example for calculating the movement direction and distance, but the second coordinates (hand coordinates) are used instead of the center of gravity coordinates. May be used, and both center-of-gravity coordinates and hand coordinates may be used.
  • steps A56, A57, A58, A59, A60, A61, A62, A63, and A64 corresponding to the process of step A2 will be described.
  • the operation estimation device 1 performs the gesture operation using the depth images (depth images 30b to 30d) acquired in time series from the start of the gesture operation to the end of the gesture operation (operation time). Determine that it has been continued.
  • the operation time is obtained by, for example, experiment, simulation, machine learning, or the like. If the imaging time is constant, the operation time may be defined by the number of depth images that can be acquired during the operation time. Further, the operation time may be set by the user.
  • step A56 the start position determination unit 22 calculates the position of the second coordinate with respect to the calculated first coordinate, using the depth image acquired at the current time.
  • step A56 the movement direction determination unit 24 calculates the movement direction of the first coordinates using the depth image acquired at the current time and the depth image acquired before the current time.
  • the moving direction may be calculated using the second coordinates.
  • the movement directions of both the first coordinate and the second coordinate may be calculated. Note that this process may be executed before step A58.
  • step A56 the movement distance determination unit 25 calculates the movement distance of the first coordinate using the depth image acquired at the current time and the depth image acquired before the current time.
  • the movement distance may be calculated using the second coordinates.
  • the movement distance of both the first coordinate and the second coordinate may be calculated. This process may be executed before step A59.
  • the acceleration determination unit 26 further calculates the acceleration of the first coordinate using the depth image acquired at the current time and the depth image acquired before the current time.
  • the acceleration may be calculated using the second coordinates. Or you may calculate the acceleration of both a 1st coordinate and a 2nd coordinate. Note that this process may be executed before step A60.
  • Step A57 the start position determination unit 22 determines that the position of the second coordinate with respect to the first coordinate calculated in Step A56 is included in the start position condition corresponding to the gesture operation detected in Step A52 (Step S57). A57: Yes), in step A58, the moving direction is determined. If the start position condition corresponding to the gesture operation detected in step A51 is not included (step A57: No), the estimation of the gesture operation ends.
  • the start position determination unit 22 determines the movement direction in step A58. judge.
  • step A58 the movement direction determination unit 24 determines whether or not the movement direction of the first coordinate calculated in step A56 is included in the movement direction condition corresponding to the gesture operation detected in step A52. If included (step A58: Yes), the moving distance is determined in step A59. If the movement direction condition corresponding to the gesture operation detected in step A51 is not included (step A58: No), the estimation of the gesture operation ends.
  • the second coordinates or both the first coordinates and the second coordinates may be used. When both are used, it is determined whether or not both movement directions are included in the movement direction condition corresponding to the gesture operation detected in step A52.
  • the movement direction determination unit 24 determines the movement direction in Step A58.
  • the information “right_flick_m_c” indicating the movement direction condition is information for determining, for example, that the barycentric coordinates have moved in the right direction.
  • hand coordinates may be used, or barycentric coordinates and hand coordinates may be used.
  • step A59 the movement distance determination unit 25 determines whether or not the movement distance of the first coordinate calculated in step A56 is included in the movement distance condition corresponding to the gesture operation detected in step A52. If included (step A59: Yes), the acceleration is determined in step A60. If the movement distance condition corresponding to the gesture operation detected in step A51 is not included (step A59: No), the estimation of the gesture operation is terminated.
  • the second coordinates, or both the first coordinates and the second coordinates may be used. When both are used, it is determined whether or not both movement distances are included in the movement distance condition corresponding to the gesture operation detected in step A52.
  • the movement distance determination unit 25 determines the movement distance in step A59 when the movement distance of the barycentric coordinates is included in the information “right_flick_m_d” indicating the movement distance condition corresponding to the right flick operation.
  • the information “right_flick_m_d” indicating the movement distance condition is information for determining that the movement distance of the barycentric coordinates is equal to or greater than a predetermined movement distance, for example.
  • the predetermined movement distance may be set to a larger value as the barycentric coordinates move.
  • a hand coordinate may be used for determination of a movement distance, and a gravity center coordinate and a hand coordinate may be used.
  • step A60 the acceleration determination unit 26 determines whether or not the acceleration of the first coordinate calculated in step A56 is included in the acceleration condition corresponding to the gesture operation detected in step A52. If it is included (step A60: Yes), it is determined in step A61 whether or not it is within the operation time. If the acceleration condition corresponding to the gesture operation detected in step A51 is not included (step A60: No), the estimation of the gesture operation ends.
  • the acceleration may be calculated using the second coordinates or both the first coordinates and the second coordinates as described in step A56. When both are used, it is determined whether or not both accelerations are included in the movement distance condition corresponding to the gesture operation detected in step A52.
  • the acceleration determination unit 26 determines the acceleration in Step A60.
  • the information “right_flick_a” indicating the acceleration condition is information indicating that the acceleration of the center-of-gravity coordinates is equal to or greater than a predetermined acceleration, for example.
  • the predetermined acceleration may be set to a larger value as the barycentric coordinates move.
  • a hand coordinate may be used for the determination of acceleration, and a gravity center coordinate and a hand coordinate may be used.
  • step A61 the end position determination unit 27 determines whether or not the operation time has elapsed from the start of the gesture operation. If the operation time has been exceeded (step A61: Yes), the end position determination is performed in steps A62 and A63. Run. If it is within the operation time (step A61: No), the processing from step A56 to A60 is executed again. Note that the processing of steps A57 to A60 may not be in the order shown in FIG.
  • step A62 the end position determination unit 27 calculates the position of the second coordinate with respect to the calculated first coordinate. Subsequently, in step A63, the end position determination unit 27 determines whether or not the final position condition corresponding to the gesture operation detected in step A52 is included. When the position of the second coordinate with respect to the calculated first coordinate is not included in the final position condition (step A63: No), the estimation of the gesture operation is ended.
  • the end position determination unit 27 refers to the determination condition information 60 using the position of the hand coordinate with respect to the barycentric coordinate, and the position of the hand coordinate with respect to the barycentric coordinate indicates the end position condition corresponding to the right flick operation.
  • the information “right_flick_f_p” is information indicating that the barycentric coordinates are on the left side of the hand coordinates with respect to the horizontal axis, for example.
  • step A63 when the position of the second coordinate relative to the calculated first coordinate is included in the start position condition (step A63: Yes), the end position determination unit 27 determines the end position in step A64. The unit 27 confirms the gesture operation.
  • the first coordinate and the second coordinate calculated from the human body part image are set for each gesture operation, and the above-described start position condition, movement direction condition, and movement distance are described above.
  • the condition and the end position condition are satisfied, it is estimated that the user has performed the gesture operation. By doing so, the accuracy of estimating the gesture operation can be improved.
  • the accuracy of estimating the gesture operation can be further improved.
  • the estimation accuracy of the gesture operation can be improved. For example, when the user wants to detect the right flick operation, the user becomes aware of the position of the center of gravity and the hand position, so the probability of erroneously detecting the right flick is reduced.
  • the present invention can also be applied to gesture operations other than the right flick operation.
  • the present invention can be applied to the left flick operation and the previous flick operation described above.
  • the program in the embodiment of the present invention may be a program that causes a computer to execute steps A1 and A2 shown in FIG. 4 and steps A51 to A64 shown in FIG.
  • the processor of the computer functions as the first coordinate calculation unit 2, the second coordinate calculation unit 3, the start determination unit 4, and the end determination unit 5 to perform processing.
  • each computer may function as any of the first coordinate calculation unit 2, the second coordinate calculation unit 3, the start determination unit 4, and the end determination unit 5, respectively.
  • FIG. 7 is a block diagram illustrating an example of a computer that implements the operation estimation device 1 according to the embodiment of the present invention.
  • the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These units are connected to each other via a bus 121 so that data communication is possible.
  • the computer 110 may include a GPU (GraphicsGraphProcessing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111.
  • the CPU 111 performs various operations by developing the program (code) in the present embodiment stored in the storage device 113 in the main memory 112 and executing them in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. Note that the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.
  • the storage device 113 includes a hard disk drive and a semiconductor storage device such as a flash memory.
  • the input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and a mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119.
  • the data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a processing result in the computer 110 to the recording medium 120.
  • the communication interface 117 mediates data transmission between the CPU 111 and another computer.
  • the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or CD- An optical recording medium such as ROM (Compact Disk Read Only Memory).
  • CF Compact Flash (registered trademark)
  • SD Secure Digital
  • magnetic recording media such as a flexible disk
  • CD- An optical recording medium such as ROM (Compact Disk Read Only Memory).
  • the operation estimation device 1 in the present embodiment can be realized not by using a computer in which a program is installed but also by using hardware corresponding to each unit. Further, part of the operation estimation device 1 may be realized by a program, and the remaining part may be realized by hardware.
  • a first coordinate calculation unit that calculates first coordinates indicating characteristics of the human body part image based on a human body part image corresponding to the human body part imaged in the depth image;
  • a second coordinate calculation unit for calculating second coordinates indicating characteristics of the human body part image, which are different from the first coordinates;
  • a start determination unit that determines that a gesture operation has started when the position of the second coordinate relative to the first coordinate is included in a start position condition indicating a predetermined start position; After starting the gesture operation, based on the acquired plurality of depth images, the calculated first coordinate or the second coordinate or both of the movement directions indicates a preset movement direction.
  • the calculated movement distance of the first coordinate or the second coordinate or both based on the plurality of depth images acquired is a movement distance set in advance. If the position of the second coordinate relative to the first coordinate is included in an end position condition indicating a preset end position, it is determined that the gesture operation has ended.
  • An end determination unit; An operation estimation device comprising:
  • (Appendix 3) (A) calculating first coordinates indicating characteristics of the human body part image based on a human body part image corresponding to the human body part imaged in the depth image; (B) calculating second coordinates indicating characteristics of the human body part image, which are different from the first coordinates; (C) determining that the gesture operation has started when the position of the second coordinate relative to the first coordinate is included in a start position condition indicating a preset start position; (D) After starting the gesture operation, based on the acquired plurality of depth images, the calculated movement direction of the first coordinate or the second coordinate or both indicates a predetermined movement direction.
  • the calculated movement distance of the first coordinate or the second coordinate or both is set in advance based on the acquired plurality of depth images.
  • the gesture operation is completed when the movement distance condition indicating the movement distance is included and the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the preset end position.
  • the calculated movement distance of the first coordinate or the second coordinate or both is set in advance based on the acquired plurality of depth images.
  • the gesture operation is completed when the movement distance condition indicating the movement distance is included and the position of the second coordinate with respect to the first coordinate is included in the end position condition indicating the preset end position. Judging, steps, The computer-readable recording medium which recorded the program containing the instruction
  • a computer-readable recording medium according to appendix 5, In the step (d), after the gesture operation is started, using the depth images acquired in time series, the first coordinates or the second coordinates or both of the depth images are used.
  • a computer-readable recording medium comprising: calculating an acceleration; and determining that the gesture operation has ended when the calculated acceleration is included in an acceleration condition indicating a preset acceleration.
  • the present invention it is possible to improve the accuracy of estimating a gesture operation.
  • the present invention is useful in a field that requires estimation of gesture operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

第一の座標に対する第二の座標の位置が、開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、開始判定部4と、ジェスチャ操作を開始した後、取得した複数の深度画像に基づいて、算出した第一の座標又は第二の座標又はそれら両方の移動方向が、移動方向条件に含まれ、かつジェスチャ操作を開始した後、取得した複数の深度画像に基づいて、算出した第一の座標又は第二の座標又はそれら両方の移動距離が、移動距離条件に含まれ、かつ第一の座標に対する第二の座標の位置が、終了位置条件に含まれる場合、ジェスチャ操作が終了したと判定する、終了判定部5と、を有する操作推定装置1である。

Description

操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体
 本発明は、ジェスチャ操作を推定する、操作推定装置、操作推定方法に関し、更には、これらを実現するためのプログラムを記録したしているコンピュータ読み取り可能な記録媒体に関する。
 ジェスチャ操作を推定する方法として、深度センサにより撮像された深度画像から、人体部位に対応する画像(以降、人体部位画像)を検出し、検出した人体部位画像の動きに基づいて、ジェスチャ操作を推定する方法がある。
 例えば、フリック操作を推定する場合、操作推定装置は、まず、時系列に取得した複数の深度画像それぞれから、手に対応する画像(以降、手画像)を検出する。続いて、操作推定装置は、深度画像ごとに手画像から重心を検出する。そして、操作推定装置は、検出した重心それぞれに基づいて、重心の移動距離を算出し、重心の移動距離が所定距離以上である場合、フリック操作であると推定する。
 また、関連する技術として、特許文献1に開示されているシステムでは、所定時間に撮像した複数の深度画像から、手画像における重心の軌道と、手画像に対して予め決めた所定ポイントの速度とを用いて、スワイプ操作を推定している。
特表2014-501415号公報
 しかしながら、上述したジェスチャ操作を推定する方法では、重心の移動距離だけを用いて、ジェスチャ操作を推定しているため、利用者が意図しないジェスチャ操作を推定することがある。
 また、特許文献1においても、重心の軌道だけを用いてスワイプ操作を推定しているため、正確にスワイプ操作を推定することができない。
 本発明の目的の一例は、ジェスチャ操作を推定する精度を向上させる操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
 上記目的を達成するため、本発明の一側面における操作推定装置は、
 深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、第一の座標算出部と、
 前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、第二の座標算出部と、
 前記第一の座標に対する前記第二の座標の位置が、予め決めた開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、開始判定部と、
 前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め設定した移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、終了判定部と、
 を有することを特徴とする。
 また、上記目的を達成するため、本発明の一側面における操作推定方法は、
(a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
(b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
(c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
(d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の前記移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
 を有することを特徴とする。
 更に、上記目的を達成するため、本発明の一側面におけるプログラムをコンピュータ読み取り可能な記録媒体は、
 コンピュータに、
(a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
(b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
(c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始条件を示す位置に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
(d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の前記移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
 を実行させる命令を含むプログラムを記録していることを特徴とする。
 以上のように本発明によれば、ジェスチャ操作を推定する精度を向上させることができる。
図1は、操作推定装置の一例を示す図である。 図2は、操作推定装置を有するシステムの一例を示す図である。 図3は、右フリック操作の一例を説明するための図である。 図4は、操作推定装置の動作の一例を示す図である。 図5は、操作推定装置の動作の詳細な一例を示す図である。 図6は、判定条件情報のデータ構造の一例を示す図である。 図7は、本発明の実施の形態における操作推定装置を実現するコンピュータの一例を示す図である。
(実施の形態)
 以下、本発明の実施の形態における操作推定装置、操作推定方法、及び操作推定プログラムについて、図1から図7を参照しながら説明する。
[装置構成]
 最初に、本実施の形態における操作推定装置の構成について説明する。図1は、操作推定装置の一例を示す図である。図1に示すように、操作推定装置1は、第一の座標算出部2と、第二の座標算出部3と、開始判定部4と、終了判定部5とを有する。
 第一の座標算出部2は、深度画像に撮像された人体部位に対応する人体部位画像に基づいて、人体部位画像の特徴を示す第一の座標を算出する。第二の座標算出部3は、第一の座標を基準に、第一の座標と異なる、人体部位画像の特徴を示す第二の座標を算出する。
 開始判定部4は、第一の座標に対する第二の座標の位置が、予め決めた開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する。
 終了判定部5は、ジェスチャ操作を開始した後、取得した複数の深度画像に基づいて算出した第一の座標又は第二の座標又はそれら両方の移動方向が、予め決めた移動方向を示す移動方向条件に含まれているかを判定する。また、終了判定部5は、ジェスチャ操作を開始した後、取得した複数の深度画像に基づいて、算出した第一の座標又は第二の座標又はそれら両方の移動距離が、予め決めた移動距離を示す移動距離条件に含まれたかを判定する。また、終了判定部5は、第一の座標に対する第二の座標の位置が、予め決めた終了位置を示す終了位置条件に含まれているかを判定する。そして、終了判定部5は、移動方向条件と、移動距離条件と、終了位置条件とを満たした場合、ジェスチャ操作が終了したと判定する。
 このように、本実施の形態では、人体部位画像から算出した第一の座標と第二の座標とが、ジェスチャ操作ごとに設定された、少なくとも上述した開始位置条件、移動方向条件、移動距離条件、終了位置条件を満たした場合、利用者が当該ジェスチャ操作をしたと推定する。そうすることで、ジェスチャ操作を推定する精度を向上させることができる。
[システム構成]
 続いて、図2、図3を用いて、操作推定装置1及び操作推定装置1を有するシステムについて具体的に説明する。図2は、操作推定装置を有するシステムの一例を示す図である。操作推定システム20は、操作推定装置1と、深度センサ21とを有する。開始判定部4は、開始位置判定部22と、開始方向判定部23とを有する。終了判定部5は、少なくとも移動方向判定部24と、移動距離判定部25と、加速度判定部26とを有する。
 図3は、右フリック操作の一例を説明するための図である。右フリック操作とは、利用者が右手を、地面に対して略水平に、左(左手側)から右(右手側)の方向へ手を移動させる操作で、操作開始時は手先が手の重心より左側にあり、操作終了時は手先が重心より右側にくる。また、略水平とは、人体部位の振れなどを含んだ水平である。ジェスチャ操作は人体の動きであるので、完全な水平ではないことを意味している。なお、深度画像30a、30b、30c、30d、30eにおいて、説明を分かり易くするため、手画像32a、32b、32c、32d、32e以外の人体部位画像を省略している。
 次に、図3に示す深度画像30a、30b、30c、30d、30eは、右フリック操作をした際に時系列に撮像された画像である。また、図3に示すグラフ31は、第一の座標と第二の座標それぞれの移動方向と移動距離を示す。ベクトルV11、ベクトルV21、ベクトルV31、ベクトルV41は、重心座標の移動方向と移動距離とを示す。ベクトルV21、ベクトルV22、ベクトルV32、ベクトルV42は、手先座標の移動方向と移動距離とを示す。
 深度センサ21(深度センサ21を有する機器)は、深度センサ21から対象物までの深度を計測し、深度情報又は深度画像を生成し、操作推定装置1へ出力する。なお、深度センサ21は、例えば、TOF(Time of Flight)センサなどを用いてもよい。
 第一の座標算出部2は、深度画像の深度分布に基づいて検出した、人体部位画像を用いて、人体部位画像の特徴を示す第一の座標を算出する。
 具体的には、第一の座標算出部2は、深度画像30aから30eそれぞれに基づいて、検出した手画像32a、32b、32c、32d、32eを用いて、第一の座標(図3に示す●)を算出する。第一の座標は、手画像32aから32eそれぞれに対して算出した重心座標である。例えば、第一の座標は、手画像32aから32eそれぞれにおいて、手画像全体、又は、手画像のうち手先に対応する手先画像以外の部分に基づいて、第一の座標算出部2により算出された重心座標である。なお、重心座標以外の座標を第一の特徴座標としてもよい。
 第二の座標算出部3は、深度画像の深度分布に基づいて検出した、人体部位画像を用いて、第一の座標と異なる、人体部位画像の特徴を示す第二の座標を算出する。
 具体的には、第二の座標算出部3は、深度画像30aから30eそれぞれに基づいて、検出した手画像32a、32b、32c、32d、32eを用いて、第二の座標(図3に示す○)を算出する。第二の座標は、手画像32aから32eそれぞれに対して、第二の座標算出部3により算出された手先座標である。なお、手先座標以外の座標を第二の特徴座標としてもよい。
 開始判定部4が有する開始位置判定部22は、まず、第一の座標に対する第二の座標の位置を算出する。続いて、開始位置判定部22は、算出した第一の座標に対する第二の座標の位置が、予め設定した開始位置条件に含まれているか否かを判定する。算出した第一の座標に対する第二の座標の位置が開始位置条件に含まれている場合、開始位置判定部22は、ジェスチャ操作を開始したと判定する。
 具体的には、開始位置判定部22は、右フリック操作を推定する場合、深度画像30aを用いて、重心座標に対する手先座標の位置を算出する。続いて、開始位置判定部22は、予め記憶した開始位置条件を参照して、水平軸を基準に、深度画像30aから算出した重心座標(図3の●)が手先座標(図3の○)より右側の位置にあるか否かを判定する。開始位置判定部22は、開始位置条件が満たされた場合、ジェスチャ操作を開始したと判定する。
 開始判定部4が有する開始方向判定部23は、まず、開始位置条件を満たした後、第一の座標について移動方向と移動距離とを算出する。続いて、開始方向判定部23は、算出した移動方向と移動距離とが、予め設定した開始方向条件に含まれているか否かを判定する。
 具体的には、開始方向判定部23は、まず、右フリック操作を推定する場合、深度画像30aと30bとを用いて、重心座標について移動方向と移動距離とを算出する。又は、重心座標に替えて手先座標を用いる場合、開始方向判定部23は、手先座標について移動方向と移動距離とを算出する。なお、重心座標と手先座標とを用いる場合、開始方向判定部23は、それぞれについて移動方向と移動距離とを算出する。
 続いて、開始方向判定部23は、算出した重心座標の移動方向(ベクトルV11を参照)が右方向(開始方向条件)であり、かつ重心座標の移動距離(ベクトルV11を参照)が開始所定距離以上(開始方向条件)であるか否かを判定する。又は、重心座標に替えて手先座標を用いる場合、開始方向判定部23は、算出した手先座標の移動方向(ベクトルV12を参照)が右方向であり、かつ手先座標の移動距離(ベクトルV11を参照)が開始所定距離以上であるか否かを判定する。なお、重心座標と手先座標とを用いる場合、開始方向判定部23は、それぞれについて判定する。開始所定距離は、実験、シミュレーション、機械学習などにより求める。
 終了判定部5が有する移動方向判定部24は、まず、開始位置条件、又は開始位置条件及び開始方向条件を満たした後、深度画像に基づいて第一の座標の移動方向を算出する。続いて、移動方向判定部24は、算出した第一の座標の移動方向が、予め設定した移動方向を示す移動方向条件に含まれているか否かを判定する。
 具体的には、移動方向判定部24は、まず、右フリック操作を推定する場合、深度画像30bと30c、深度画像30cと30d、深度画像30dと30eを用いて、それぞれについて重心座標の移動方向(ベクトルV21、ベクトルV31、ベクトルV41を参照)を算出する。又は、重心座標に替えて手先座標を用いる場合、移動方向判定部24は、手先座標の移動方向(ベクトルV22、ベクトルV32、ベクトルV42を参照)を算出する。なお、重心座標と手先座標とを用いる場合、移動方向判定部24は、それぞれについて移動方向を算出する。
 続いて、移動方向判定部24は、算出した重心座標の移動方向(ベクトルV21、ベクトルV31、ベクトルV41を参照)が右方向(移動方向条件)であるか否かを判定する。又は、重心座標に替えて手先座標を用いる場合、移動方向判定部24は、算出した手先座標の移動方向(ベクトルV22、ベクトルV32、ベクトルV42を参照)が右方向であるか否かを判定する。なお、重心座標と手先座標とを用いる場合、移動方向判定部24は、それぞれについて判定する。
 終了判定部5が有する移動距離判定部25は、まず、開始位置条件、又は開始位置条件及び開始方向条件を満たした後、深度画像に基づいて第一の座標の移動距離を算出する。続いて、移動距離判定部25は、算出した第一の座標の移動距離が、予め設定した移動距離を示す移動距離条件に含まれているか否かを判定する。
 具体的には、移動距離判定部25は、まず、右フリック操作を推定する場合、深度画像30bと30c、深度画像30cと30d、深度画像30dと30eを用いて、それぞれについて重心座標の移動距離(ベクトルV21、ベクトルV31、ベクトルV41を参照)を算出する。又は、重心座標に替えて手先座標を用いる場合、移動距離判定部25は、手先座標の移動距離(ベクトルV22、ベクトルV32、ベクトルV42を参照)を算出する。なお、重心座標と手先座標とを用いる場合、移動距離判定部25は、それぞれについて移動方向を算出する。
 続いて、移動距離判定部25は、算出した重心座標の移動距離(ベクトルV21、ベクトルV31、ベクトルV41を参照)が所定移動距離以上(移動距離条件)であるか否かを判定する。又は、重心座標に替えて手先座標を用いる場合、移動距離判定部25は、手先座標の移動距離(ベクトルV22、ベクトルV32、ベクトルV42を参照)が所定移動距離以上であるか否かを判定する。なお、重心座標と手先座標とを用いる場合、移動距離判定部25は、それぞれについて判定する。所定移動距離は、実験、シミュレーション、機械学習などにより求める。
 終了判定部5が有する加速度判定部26は、ジェスチャ操作を開始した後(開始位置条件、又は開始位置条件及び開始方向条件を満たした後)、時系列に取得した深度画像を用いて、深度画像間の第一の座標又は第二の座標の加速度を算出する。続いて、加速度判定部26は、算出した第一の座標又は第二の座標の加速度が、予め設定した加速度を示す加速度条件に含まれているか否かを判定する。
 具体的には、加速度判定部26は、まず、右フリック操作を推定する場合、深度センサ21が深度画像を撮像した間隔(撮像時間)と、上述した重心座標の移動距離とを用いて、深度画像間における重心座標の移動速度を算出する。例えば、加速度判定部26は、深度画像30bと30cとの撮像時間、深度画像30cと30dとの撮像時間、深度画像30dと30eとの撮像時間をそれぞれ取得する。続いて、加速度判定部26は、上述した深度画像30bと30c、深度画像30cと30d、深度画像30dと30eそれぞれにおける、重心座標の移動距離(ベクトルV21、V31、V41を参照)を取得する。そして、加速度判定部26は、それらを用いて、深度画像30bと30c、深度画像30cと30d、深度画像30dと30eそれぞれにおける、重心座標の移動速度を算出する。
 また、重心座標に替えて手先座標を用いる場合、加速度判定部26は、手先座標の移動速度を算出する。なお、重心座標と手先座標とを用いる場合、加速度判定部26は、それぞれについて移動速度を算出する。
 続いて、加速度判定部26は、深度画像30bと30cにおける重心座標の移動速度と、深度画像30cと30dにおける重心座標の移動速度とを用いて、深度画像30bから30dにおける重心座標の加速度を算出する。また、加速度判定部26は、深度画像30cと30dにおける重心座標の移動速度と、深度画像30dと30eにおける重心座標の移動速度とを用いて、深度画像30cから30eにおける、重心座標の加速度を算出する。
 また、重心座標に替えて手先座標を用いる場合、加速度判定部26は、手先座標の加速度を算出する。なお、重心座標と手先座標とを用いる場合、加速度判定部26は、それぞれについて加速度を算出する。
 続いて、加速度判定部26は、算出した重心座標の加速度それぞれが所定加速度以上(加速度条件)であるか否かを判定する。又は、重心座標に替えて手先座標を用いる場合、加速度判定部26は、算出した手先座標の加速度それぞれが所定加速度以上であるか否かを判定する。なお、重心座標と手先座標とを用いる場合、加速度判定部26は、それぞれについて判定してもよい。所定加速度は、実験、シミュレーション、機械学習などにより求める。
 終了判定部5が有する終了位置判定部27は、まず、第一の座標に対する第二の座標の位置を算出する。続いて、終了位置判定部27は、算出した第一の座標に対する第二の座標の位置が、予め決めた終了位置条件に含まれているか否かを判定する。算出した第一の座標に対する第二の座標の位置が開始位置条件に含まれている場合、終了位置判定部27は、ジェスチャ操作を終了したと判定する。
 具体的には、終了位置判定部27は、右フリック操作を推定する場合、深度画像30eを用いて、重心座標に対する手先座標の位置を算出する。続いて、終了位置判定部27は、予め設定した終了位置条件を参照して、水平軸を基準に、深度画像30eから算出した重心座標が手先座標より左側の位置にあるか否かを判定する。終了位置判定部27は、終了位置条件が満たされている場合、ジェスチャ操作を終了したと判定する。
[装置動作]
 次に、本発明の実施の形態における操作推定装置1の動作について図4を用いて概略を説明する。図4は、操作推定装置の動作の一例を示す図である。以下の説明においては、適宜図1から3を参酌する。また、本実施の形態では、操作推定装置1を動作させることによって、操作推定方法が実施される。よって、本実施の形態における操作推定方法の説明は、以下の操作推定装置1の動作説明に代える。
 開始判定部4は、第一の座標算出部2により算出した第一の座標に対する、第二の座標算出部3により算出した第二の座標の位置が、予め設定した開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する(ステップA1)。
 続いて、終了判定部5は、移動方向条件と、移動距離条件と、終了位置条件とを満たした場合、ジェスチャ操作が終了したと判定する(ステップA2)。すなわち、終了判定部5は、ジェスチャ操作を開始した後、取得した複数の深度画像に基づいて算出した第一の座標の移動方向が、予め設定した移動方向を示す移動方向条件に含まれているかを判定する。また、終了判定部5は、ジェスチャ操作を開始した後、取得した複数の深度画像に基づいて、算出した第一の座標の移動距離が、予め設定した移動距離を示す移動距離条件に含まれているかを判定する。また、終了判定部5は、第一の座標に対する第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれているかを判定する。
 図5、図6を用いて、図4に示したステップA1、A2について更に説明する。図5は、操作推定装置の動作の詳細な一例を示す図である。図6は、判定条件情報のデータ構造の一例を示す図である。
 図6では、「ジェスチャ操作」を示す「右フリック」「左フリック」「前フリック」……ごとに、判定条件を示す情報「開始位置条件」「開始方向条件」「移動方向条件」「移動距離条件」「加速度条件」「終了位置条件」が対応付けられている。
 「右フリック」には、開始位置条件を示す情報right_flick_s_p、開始方向条件を示す情報right_flick_s_d、移動方向条件を示す情報right_flick_m_c、移動距離条件を示す情報right_flick_m_d、加速度条件を示す情報right_flick_a、終了位置条件を示す情報right_flick_f_pが関連付けられている。「左フリック」「前フリック」それぞれには、「開始位置条件」「開始方向条件」「移動方向条件」「移動距離条件」「加速度条件」「終了位置条件」を示す情報が関連付けられている。
 まず、ステップA1の処理に対応する、ステップA51、A52、A53、A54、A55の処理について説明する。
 ステップA51においては、第一の座標算出部2は、深度センサ21から取得した深度画像に基づいて、第一の座標を算出する。また、第二の座標算出部3は、深度センサ21から取得した深度画像に基づいて、第二の座標を算出する。続いて、開始判定部4が有する開始位置判定部22は、第一の座標に対する第二の座標の位置を算出する。
 具体的には、第一の座標算出部2は第一の座標として重心座標を算出し、第二の座標算出部3は第二の座標として手先座標を算出する。そして、開始位置判定部22は、重心座標に対する手先座標の位置を算出する。
 ステップA52においては、開始位置判定部22は、算出した第一の座標に対する第二の座標の位置を用いて、判定条件情報60を参照し、ジェスチャ操作に関連付けられた開始位置条件を検出する。検出できた場合(ステップA52:Yes)、開始位置判定部22は、ジェスチャ操作を開始したと判定する。検出できない場合(ステップA52:No)、開始位置判定部22は、ジェスチャ操作が検出されるのを待つ。
 具体的には、開始位置判定部22は、重心座標に対する手先座標の位置を用いて、判定条件情報60を参照し、重心座標に対する手先座標の位置が右フリック操作に対応する開始位置条件を示す情報「right_flick_s_p」に含まれている場合、右フリック操作が開始されたと判定する。なお、情報「right_flick_s_p」は、例えば、水平軸を基準に、重心座標が手先座標より右側の位置にあることを判定するための情報である。
 ステップA53においては、開始位置判定部22は、今回取得した深度画像(深度画像30b)を用いて、第一の座標に対する第二の座標の位置を算出する。また、開始方向判定部23は、前回取得した深度画像(深度画像30a)及び今回取得した深度画像(深度画像30b)を用いて、第一の座標又は第二の座標について移動方向と移動距離とを算出する。
 ステップA54においては、開始位置判定部22は、算出した第一の座標に対する第二の座標の位置が、予め決めた開始位置条件に含まれているか否かを判定する。算出した第一の座標に対する第二の座標の位置が開始位置条件に含まれない場合(ステップA54:No)、ジェスチャ操作の推定を終了する。
 算出した第一の座標に対する第二の座標の位置が開始位置条件に含まれている場合(ステップA54:Yes)、ステップA55においては、開始方向判定部23は、第一の座標の移動方向及び移動距離が、予め設定した開始方向条件に含まれているか否かを判定する。
 開始方向判定部23は、第一の座標の移動方向及び移動距離(ベクトルV11を参照)が、開始方向条件に含まれている場合(ステップA54:Yes)、ジェスチャ操作が開始又は継続されていると判定する。第一の座標又は第二の座標の移動方向及び移動距離が開始方向条件に含まれていない場合(ステップA54:No)、開始方向判定部23は、ジェスチャ操作を終了する。
 具体的には、開始方向判定部23は、重心座標の移動方向及び移動距離を用いて、判定条件情報60を参照し、重心座標の移動方向及び移動距離が右フリック操作に対応する開始方向条件を示す情報「right_flick_s_d」に含まれている場合、右フリック操作が開始されたと判定する。なお、開始方向条件を示す情報「right_flick_s_d」は、例えば、重心座標の移動方向が右方向で、かつ重心座標の移動距離が開始所定距離以上であることを判定するための情報である。
 なお、ステップA53、A55において、移動方向及び移動距離の算出に、具体例として第一の座標(重心座標)を用いた説明を示したが、重心座標に替えて第二の座標(手先座標)を用いてもよいし、重心座標と手先座標の両方を用いてもよい。
 次に、ステップA2の処理に対応する、ステップA56、A57、A58、A59、A60、A61、A62、A63、A64の処理について説明する。
 ステップA56からA61では、操作推定装置1は、ジェスチャ操作開始後からジェスチャ操作終了までの時間(操作時間)において、時系列に取得した深度画像(深度画像30bから30d)を用いて、ジェスチャ操作が継続されていることを判定する。操作時間は、例えば、実験、シミュレーション、機械学習などにより求める。なお、撮像時間が一定であれば、操作時間は、操作時間に取得できる深度画像の数により規定してもよい。更に、操作時間は、利用者が設定してもよい。
 ステップA56においては、開始位置判定部22は、現時点において取得している深度画像を用いて、算出した第一の座標に対する第二の座標の位置を算出する。
 また、ステップA56においては、移動方向判定部24は、現時点において取得している深度画像と、現時点より前に取得した深度画像とを用いて、第一の座標の移動方向を算出する。また、移動方向は、第二の座標を用いて算出してもよい。又は、第一の座標及び第二の座標それら両方の移動方向を算出してもよい。なお、当該処理は、ステップA58の前に実行されればよい。
 また、ステップA56においては、移動距離判定部25は、現時点において取得している深度画像と、現時点より前に取得した深度画像とを用いて、第一の座標の移動距離を算出する。また、移動距離は、第二の座標を用いて算出してもよい。又は、第一の座標及び第二の座標両方の移動距離を算出してもよい。なお、当該処理は、ステップA59の前に実行されればよい。
 更に、ステップA56においては、更に、加速度判定部26は、現時点において取得している深度画像と、現時点より前に取得した深度画像とを用いて、第一の座標の加速度を算出する。また、加速度は、第二の座標を用いて算出してもよい。又は、第一の座標及び第二の座標両方の加速度を算出してもよい。なお、当該処理は、ステップA60の前に実行されればよい。
 ステップA57において、開始位置判定部22は、ステップA56で算出した第一の座標に対する第二の座標の位置が、ステップA52で検出したジェスチャ操作に対応する開始位置条件に含まれている場合(ステップA57:Yes)、ステップA58において、移動方向を判定する。また、ステップA51で検出したジェスチャ操作に対応する開始位置条件に含まれていない場合(ステップA57:No)、ジェスチャ操作の推定を終了する。
 具体的には、開始位置判定部22は、重心座標に対する手先座標の位置が、右フリック操作に対応する開始位置条件を示す情報「right_flick_s_p」に含まれている場合、ステップA58において、移動方向を判定する。
 ステップA58において、移動方向判定部24は、ステップA56で算出した第一の座標の移動方向が、ステップA52で検出したジェスチャ操作に対応する移動方向条件に含まれているか否かを判定する。含まれている場合(ステップA58:Yes)、ステップA59において、移動距離を判定する。また、ステップA51で検出したジェスチャ操作に対応する移動方向条件に含まれていない場合(ステップA58:No)、ジェスチャ操作の推定を終了する。なお、移動方向の判定には、ステップA56で説明したように、第二の座標、又は第一の座標及び第二の座標それら両方を用いてもよい。両方を用いる場合、両方の移動方向が、ステップA52で検出したジェスチャ操作に対応する移動方向条件に含まれているか否かを判定する。
 具体的には、移動方向判定部24は、重心座標の移動方向が、右フリック操作に対応する移動方向条件を示す情報「right_flick_m_c」に含まれている場合、ステップA58において、移動方向を判定する。移動方向条件を示す情報「right_flick_m_c」は、例えば、重心座標が右方向に移動したことを判定るための情報である。なお、移動方向の判定には、手先座標を用いてもよいし、重心座標と手先座標とを用いてもよい。
 ステップA59において、移動距離判定部25は、ステップA56で算出した第一の座標の移動距離が、ステップA52で検出したジェスチャ操作に対応する移動距離条件に含まれているか否かを判定する。含まれている場合(ステップA59:Yes)、ステップA60において、加速度を判定する。また、ステップA51で検出したジェスチャ操作に対応する移動距離条件に含まれていない場合(ステップA59:No)、ジェスチャ操作の推定を終了する。なお、移動距離の判定には、ステップA56で説明したように第二の座標、又は第一の座標及び第二の座標それら両方を用いてもよい。両方を用いる場合、両方の移動距離が、ステップA52で検出したジェスチャ操作に対応する移動距離条件に含まれているか否かを判定する。
 具体的には、移動距離判定部25は、重心座標の移動距離が、右フリック操作に対応する移動距離条件を示す情報「right_flick_m_d」に含まれている場合、ステップA59において、移動距離を判定する。移動距離条件を示す情報「right_flick_m_d」は、例えば、重心座標の移動距離が所定移動距離以上であることを判定するための情報である。また、所定移動距離は、重心座標が移動するほど大きい値に設定してもよい。なお、移動距離の判定には、手先座標を用いてもよいし、重心座標と手先座標とを用いてもよい。
 ステップA60において、加速度判定部26は、ステップA56で算出した第一の座標の加速度が、ステップA52で検出したジェスチャ操作に対応する加速度条件に含まれているか否かを判定する。含まれている場合(ステップA60:Yes)、ステップA61において、操作時間以内であるか否かを判定する。また、ステップA51で検出したジェスチャ操作に対応する加速度条件に含まれていない場合(ステップA60:No)、ジェスチャ操作の推定を終了する。なお、加速度の算出には、ステップA56で説明したように第二の座標、又は第一の座標及び第二の座標それら両方を用いてもよい。両方を用いる場合、両方の加速度が、ステップA52で検出したジェスチャ操作に対応する移動距離条件に含まれているか否かを判定する。
 具体的には、加速度判定部26は、重心座標の加速度が、右フリック操作に対応する加速度条件を示す情報「right_flick_a」に含まれている場合、ステップA60において、加速度を判定する。加速度条件を示す情報「right_flick_a」は、例えば、重心座標の加速度が所定加速度以上であることを示す情報である。所定加速度は、重心座標が移動するほど大きい値に設定してもよい。なお、加速度の判定には、手先座標を用いてもよいし、重心座標と手先座標とを用いてもよい。
 ステップA61において、終了位置判定部27は、ジェスチャ操作開始から操作時間を経過したか否かを判定し、操作時間を超えた場合(ステップA61:Yes)、ステップA62、A63において、終了位置判定を実行する。操作時間以内である場合(ステップA61:No)、ステップA56からA60の処理を再度実行する。なお、ステップA57からA60の処理は、図5に示す順番でなくてもよい。
 ステップA62においては、終了位置判定部27は、算出した第一の座標に対する第二の座標の位置を算出する。続いて、ステップA63においては、終了位置判定部27は、ステップA52で検出したジェスチャ操作に対応する最終位置条件に含まれているか否かを判定する。算出した第一の座標に対する第二の座標の位置が最終位置条件に含まれていない場合(ステップA63:No)、ジェスチャ操作の推定を終了する。
 具体的には、終了位置判定部27は、重心座標に対する手先座標の位置を用いて、判定条件情報60を参照し、重心座標に対する手先座標の位置が右フリック操作に対応する終了位置条件を示す情報「right_flick_f_p」に含まれている場合、右フリック操作が終了されたと判定する。なお、情報「right_flick_f_p」は、例えば、水平軸を基準に、重心座標が手先座標より左側の位置にあることを示す情報である。
 ステップA63においては、終了位置判定部27は、算出した第一の座標に対する第二の座標の位置が開始位置条件に含まれている場合(ステップA63:Yes)、ステップA64においては、終了位置判定部27は、ジェスチャ操作を確定する。
[本実施の形態の効果]
 以上のように本実施の形態によれば、人体部位画像から算出した第一の座標と第二の座標とが、ジェスチャ操作ごとに設定された、上述した開始位置条件、移動方向条件、移動距離条件、終了位置条件を満たした場合、利用者が当該ジェスチャ操作をしたと推定する。そうすることで、ジェスチャ操作を推定する精度を向上させることができる。
 また、開始方向条件、又は加速度条件を、条件として加えることで、更に、ジェスチャ操作を推定する精度を向上させることができる。
 また、利用者が、上述した判定条件を満たすように、ジェスチャ操作をするため、ジェスチャ操作の推定精度を向上させることができる。例えば、利用者が右フリック操作を検出させたい場合、利用者が重心位置と手先位置とを意識するようになるため、右フリックを誤検出する確率が低くなる。
 なお、本実施の形態では、右フリック操作用いて説明したが、右フリック操作以外のジェスチャ操作にも適用できる。例えば、上述した左フリック操作、前フリック操作などに適用できる。
[プログラム]
 本発明の実施の形態におけるプログラムは、コンピュータに、図4に示すステップA1、A2、図5に示すステップA51からA64を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における操作推定装置と操作推定方法とを実現することができる。この場合、コンピュータのプロセッサは、第一の座標算出部2、第二の座標算出部3、開始判定部4、終了判定部5として機能し、処理を行なう。
 また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、第一の座標算出部2、第二の座標算出部3、開始判定部4、終了判定部5のいずれかとして機能してもよい。
[物理構成]
 ここで、実施の形態におけるプログラムを実行することによって、操作推定装置1を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態における操作推定装置1を実現するコンピュータの一例を示すブロック図である。
 図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを有する。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を有してもよい。 
 CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
 なお、本実施の形態における操作推定装置1は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、操作推定装置1は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
[付記]
 以上の実施の形態に関し、更に以下の付記を開示する。なお、上述した実施の形態の一部又は全部は、以下に記載する(付記1)から(付記6)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、第一の座標算出部と、
 前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、第二の座標算出部と、
 前記第一の座標に対する前記第二の座標の位置が、予め決めた開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、開始判定部と、
 前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め設定した移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、終了判定部と、
 を有することを特徴とする操作推定装置。
(付記2)
 付記1に記載の操作推定装置であって
 前記終了判定部は、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
 ことを特徴とする操作推定装置。
(付記3)
(a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
(b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
(c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
(d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
 を有することを特徴とする操作推定方法。
(付記4)
 付記3に記載の操作推定方法であって
 前記(d)のステップにおいて、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
 ことを特徴とする操作推定方法。
(付記5)
 コンピュータに、
(a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
(b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
(c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始条件を示す位置に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
(d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
 を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記6)
 付記5に記載のコンピュータ読み取り可能な記録媒体であって、
 前記(d)のステップにおいて、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
 ことを特徴とするコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2018年3月2日に出願された日本出願特願2018-037917を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上のように本発明によれば、ジェスチャ操作を推定する精度を向上させることができる。本発明は、ジェスチャ操作の推定が必要な分野において有用である。
  1 操作推定装置
  2 第一の座標算出部
  3 第二の座標算出部
  4 開始判定部
  5 終了判定部
 20 操作推定システム
 21 深度センサ
 22 開始位置判定部
 23 開始方向判定部
 24 移動方向判定部
 25 移動距離判定部
 26 加速度判定部
 27 終了位置判定部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ 
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (6)

  1.  深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、第一の座標算出部と、
     前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、第二の座標算出部と、
     前記第一の座標に対する前記第二の座標の位置が、予め決めた開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、開始判定部と、
     前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め設定した移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、終了判定部と、
     を有することを特徴とする操作推定装置。
  2.  請求項1に記載の操作推定装置であって
     前記終了判定部は、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
     ことを特徴とする操作推定装置。
  3. (a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
    (b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
    (c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始位置条件に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
    (d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
     を有することを特徴とする操作推定方法。
  4.  請求項3に記載の操作推定方法であって
     前記(d)のステップにおいて、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
     ことを特徴とする操作推定方法。
  5.  コンピュータに、
    (a)深度画像に撮像された人体部位に対応する人体部位画像に基づいて、前記人体部位画像の特徴を示す第一の座標を算出する、ステップと、
    (b)前記第一の座標と異なる、前記人体部位画像の特徴を示す第二の座標を算出する、ステップと、
    (c)前記第一の座標に対する前記第二の座標の位置が、予め設定した開始位置を示す開始条件を示す位置に含まれる場合、ジェスチャ操作を開始したと判定する、ステップと、
    (d)前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動方向が、予め決めた移動方向を示す移動方向条件に含まれ、かつ前記ジェスチャ操作を開始した後、取得した複数の前記深度画像に基づいて、算出した前記第一の座標又は前記第二の座標又はそれら両方の移動距離が、予め設定した移動距離を示す移動距離条件に含まれ、かつ前記第一の座標に対する前記第二の座標の位置が、予め設定した終了位置を示す終了位置条件に含まれる場合、前記ジェスチャ操作が終了したと判定する、ステップと、
     を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
  6.  請求項5に記載のコンピュータ読み取り可能な記録媒体であって、
     前記(d)のステップにおいて、更に、前記ジェスチャ操作を開始した後、時系列に取得した前記深度画像を用いて、前記深度画像間の前記第一の座標又は前記第二の座標又はそれら両方の加速度を算出し、算出した前記加速度が、予め設定した加速度を示す加速度条件に含まれる場合、前記ジェスチャ操作が終了したと判定する
     ことを特徴とするコンピュータ読み取り可能な記録媒体。
PCT/JP2019/008249 2018-03-02 2019-03-01 操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体 WO2019168190A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020503667A JP6958951B2 (ja) 2018-03-02 2019-03-01 操作推定装置、操作推定方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-037917 2018-03-02
JP2018037917 2018-03-02

Publications (1)

Publication Number Publication Date
WO2019168190A1 true WO2019168190A1 (ja) 2019-09-06

Family

ID=67806338

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/008249 WO2019168190A1 (ja) 2018-03-02 2019-03-01 操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
JP (1) JP6958951B2 (ja)
WO (1) WO2019168190A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014027666A1 (ja) * 2012-08-17 2014-02-20 Necシステムテクノロジー株式会社 入力装置、入力方法、及び記憶媒体
JP2015172887A (ja) * 2014-03-12 2015-10-01 オムロン株式会社 ジェスチャ認識装置およびジェスチャ認識装置の制御方法
WO2016056260A1 (ja) * 2014-10-07 2016-04-14 株式会社ログバー ジェスチャ入力時におけるノイズ除去方法
JP2016511492A (ja) * 2013-03-15 2016-04-14 クアルコム,インコーポレイテッド 少なくとも2つの制御オブジェクトを用いて行われるジェスチャの検出
JP2017224161A (ja) * 2016-06-15 2017-12-21 株式会社東海理化電機製作所 ジェスチャ判定装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014027666A1 (ja) * 2012-08-17 2014-02-20 Necシステムテクノロジー株式会社 入力装置、入力方法、及び記憶媒体
JP2016511492A (ja) * 2013-03-15 2016-04-14 クアルコム,インコーポレイテッド 少なくとも2つの制御オブジェクトを用いて行われるジェスチャの検出
JP2015172887A (ja) * 2014-03-12 2015-10-01 オムロン株式会社 ジェスチャ認識装置およびジェスチャ認識装置の制御方法
WO2016056260A1 (ja) * 2014-10-07 2016-04-14 株式会社ログバー ジェスチャ入力時におけるノイズ除去方法
JP2017224161A (ja) * 2016-06-15 2017-12-21 株式会社東海理化電機製作所 ジェスチャ判定装置

Also Published As

Publication number Publication date
JP6958951B2 (ja) 2021-11-02
JPWO2019168190A1 (ja) 2021-02-12

Similar Documents

Publication Publication Date Title
US10466809B2 (en) Camera-assisted motion estimation for application control
US10410607B2 (en) Information display apparatus that superposes information on an imaged image and displays the information and the imaged image, and related information display system, control method and program
KR101380997B1 (ko) 공간 인식을 통한 벡터 기반 제스처를 보정하는 방법 및 그 장치
US20170154429A1 (en) Estimation device and method
JP2021519970A (ja) ビデオオブジェクト検出
TW201716931A (zh) 用以執行影像處理方法的非暫時性電腦可讀取媒體,以及使用此影像處理方法的影像感測裝置
WO2019168190A1 (ja) 操作推定装置、操作推定方法、及びコンピュータ読み取り可能な記録媒体
US8773382B2 (en) Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method
US8952908B2 (en) Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method
JP2021144359A (ja) 学習装置、推定装置、学習方法、及びプログラム
WO2014143154A1 (en) Image processor with evaluation layer implementing software and hardware algorithms of different precision
KR101593950B1 (ko) 손동작 기반의 인터페이스 장치 및 이를 이용한 포인팅 방법
US10521653B2 (en) Image processing device, image processing method, and storage medium
CN110570680A (zh) 利用地图信息确定对象位置的方法和系统
JP7279892B2 (ja) 顔向き検出装置、顔向き検出方法、及びプログラム
KR20220154379A (ko) 보행자와 카메라 간 거리의 추정 방법 및 장치
CN109031192B (zh) 对象定位方法、对象定位装置和电子设备
US20140201687A1 (en) Information processing apparatus and method of controlling information processing apparatus
CN112800820A (zh) 面部检测方法和设备
US10558270B2 (en) Method for determining non-contact gesture and device for the same
JP7283734B2 (ja) 追跡装置、追跡方法、及びプログラム
WO2019171635A1 (ja) 操作入力装置、操作入力方法、及びコンピュータ読み取り可能な記録媒体
JP7276968B2 (ja) 3次元データ更新装置、顔向き推定装置、3次元データ更新方法およびプログラム
JP6394216B2 (ja) 動き検出方法、動き検出装置、及び動き検出プログラム
JP7283735B2 (ja) 追跡装置、追跡方法、及びプログラム

Legal Events

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

Ref document number: 19760970

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020503667

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19760970

Country of ref document: EP

Kind code of ref document: A1