WO2020170851A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2020170851A1
WO2020170851A1 PCT/JP2020/004765 JP2020004765W WO2020170851A1 WO 2020170851 A1 WO2020170851 A1 WO 2020170851A1 JP 2020004765 W JP2020004765 W JP 2020004765W WO 2020170851 A1 WO2020170851 A1 WO 2020170851A1
Authority
WO
WIPO (PCT)
Prior art keywords
hand
arm
reference position
unit
information processing
Prior art date
Application number
PCT/JP2020/004765
Other languages
English (en)
French (fr)
Inventor
優伍 佐藤
淳 入江
健志 後藤
純二 大塚
哲男 池田
英佑 藤縄
誠史 友永
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US17/430,789 priority Critical patent/US11789543B2/en
Publication of WO2020170851A1 publication Critical patent/WO2020170851A1/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
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program, and in particular, an information processing device capable of appropriately pairing left and right hands for each user when receiving operation inputs by a plurality of users' hands. , An information processing method, and a program.
  • the number of people who can be distinguished depends on the number of divisions into the operation area. It cannot respond to arm intrusion from any direction.
  • the present disclosure has been made in view of such a situation, and in particular, when the operation input using the hands of a plurality of users is received, the left and right hands are appropriately paired for each user.
  • An information processing apparatus corresponds to an image acquisition unit that acquires an image on an operation surface that receives an operation input using a user's hand, the user's left and right hands from the image, and the hand.
  • the information processing apparatus includes: a hand detection unit that detects an arm; and a pairing unit that pairs the left and right hands of each user in the image detected by the hand detection unit.
  • the information processing method and program according to one aspect of the present disclosure correspond to an information processing device.
  • an image on an operation surface that receives an operation input using a user's hand is acquired, and the user's left and right hands and an arm corresponding to the hand are detected and detected from the image.
  • the left and right hands of each of the users in the captured image are paired.
  • FIG. 2 is a flowchart illustrating information processing of the information processing system of FIG. 2.
  • 22 is a flowchart illustrating the pairing process of FIG. 21.
  • 23 is a flowchart illustrating the counterclockwise pairing process of FIG. 22.
  • 24 is a flowchart illustrating the clockwise pairing process of FIG. 23.
  • 22 is another flowchart illustrating the pairing process of FIG. 21. It is a figure explaining the structural example of a general purpose personal computer.
  • An information processing system consisting of a camera is assumed.
  • an operation input on a table T which is an operation surface using the left and right hands, is recognized as a gesture, and the operation input as the recognized gesture is recognized. Execute the command corresponding to and output the execution result.
  • the operation input to the table T which is the operation surface using the left and right hands is, for example, a gesture based on the finger touching the table T by one of the left and right hands and the shape of the other palm.
  • the shape of the palm is, for example, a shape that can be formed by the palm such that the index finger is raised, the index finger and the middle finger are raised, or the index finger and the belly of the thumb are combined to form a ring.
  • the information processing system in FIG. 1 also accepts operation inputs from multiple users.
  • the left and right hands are recognized as a pair for each user, and the operation inputs are accepted based on the information of the left and right hands forming a pair.
  • the camera first captures an image on the table T.
  • the position of the root of (the area of) the arm that straddles the end of the table T is detected. That is, in the case of FIG. 1, the positions of the roots of the arms of the left hands L1 to L4 and the right hands R1 to R4 are detected.
  • the palm of an area that is an end portion with respect to the detected position of the base of the arm is detected, and the left hand and the right hand are detected by the direction of the thumb or the like.
  • the position of the base of the arm that straddles the end of the table T corresponding to either the left hand is set as the reference position.
  • the position of the base of the arm of the left hand L1 is set to the reference position BP.
  • the root position of the right-hand arm which is the closest to the counterclockwise direction along the outer circumference of the table T, is the reference position. Searched as RP.
  • the left hand L1 of the arm whose root is located at the position set at the standard position BP and the right hand R1 of the arm whose root is located at the position set at the reference position RP are set as a pair P1.
  • the position of the base of the left-hand arm that is adjacent to the arm whose base is located at the position set as the reference position RP counterclockwise and is the closest position is set as the new reference position BP.
  • the position of the base of the arm of the left hand L2 is set to the second new reference position BP.
  • the position of the base of the arm of the right hand R2 is set to the reference position RF with respect to the new reference position BP, and the right hand of the arm where the root is located at the position newly set to the reference position RF.
  • R2 and left hand L2 are set as a pair P2.
  • the left hand L3 and the right hand R3 are set to the pair P3, and the left hand L4 and the right hand R4 are set to the pair P4.
  • the base position of the left-hand arm is set to the reference position BP
  • the base position of the right-hand arm which is adjacent to the outer periphery of the table T in the counterclockwise direction and is the closest position is referred to.
  • the position RP an example has been described in which the left hand and the right hand belonging to the arm where the root is located are set in pairs at the base position BP and the reference position RP.
  • the position of the base of the arm of the right hand may be set to the reference position BP.
  • the left hand which is adjacent to the outer circumference of the table T in the clockwise direction and is located at the closest position, may be used.
  • the base position of the arm may be set as the reference position RP, and the right hand and the left hand belonging to the arm of the reference position BP and the reference position RP may be set as a pair.
  • FIG. 2 is a diagram showing a functional configuration example of the information processing system according to the embodiment of the present disclosure.
  • the information processing system 11 includes an input unit 31, an information processing device 32, and an output unit 33.
  • the information processing device 32 includes a hand detection unit 51, a pairing unit 52, a three-dimensional position estimation unit 53, a frame number determination unit 54, a relative speed/relative position calculation unit 55, a gesture recognition unit 56, a command execution unit 57, and The storage unit 58 is provided.
  • the input unit 31 is configured to include an input device, and senses an operating body (more specifically, a shape, a motion, etc. of a part or all of the operating body) including a time axis to input an operation input.
  • an operating body is, for example, the hand (palm) of the user and the corresponding arm.
  • the input unit 31 includes, for example, an image sensor (camera) and a depth sensor.
  • the input unit 31 does not have to be configured to include all of these sensors, as long as it is configured to include at least one of these sensors.
  • the input unit 31 may include a touch sensor.
  • the case where the shape, motion, etc. of the operating body are acquired by the image sensor is mainly assumed. However, there is no limitation on which sensor acquires these pieces of information.
  • the input unit 31 may include, for example, a first input unit 31 including an image sensor and a second input unit 31 including a touch sensor.
  • a gesture based on a change in the shape or movement of at least one of the left and right hands and the presence/absence of a touch on a table 71a (FIG. 3) described later is operated by the left and right hands. It shall be accepted as input.
  • the shape and movement of at least one of the left and right hands, which is the operating body is recognized based on the image and is acquired by the image sensor or the depth sensor.
  • the image sensor or the depth sensor there is no limitation on which sensor acquires these pieces of information.
  • information about whether or not the table 71a is touched may be sensed by the touch sensor, and the sensing result may be used.
  • a visible light camera or an infrared camera may be used as the image sensor.
  • a stereo camera may be used, a TOF (Time Of Flight) sensor may be used, or a distance image sensor of Structured Light system may be used.
  • the touch sensor may be a camera that shoots from above or below, or a touch panel laid on the projection surface.
  • the output unit 33 includes an output device, and outputs information according to the command executed by the command execution unit 57.
  • the output unit 33 is configured to include a projector and the projector outputs information by projecting the information on the projection surface is mainly assumed.
  • the output unit 33 is not limited to the case including the projector.
  • the output unit 33 may be a touch panel display, an LCD (Liquid Crystal Display), an organic EL (Electro-Luminescence) display, or the like.
  • the surface on which information is output by the output unit 33 corresponds to the display surface (projection surface).
  • the display surface corresponds to the projection surface on which information is projected by the projector (for example, the top surface of the table).
  • the display surface is not limited to the projection surface.
  • the area where the information is projected by the projector is not limited to the table surface.
  • the area onto which information is projected by the projector may be the floor surface, the wall surface, or an object.
  • the information processing device 32 performs processing based on the sensing result input from the input unit 31, and outputs the processing result to the output unit 33.
  • the information processing device 32 is configured by, for example, a personal computer including a processor, a memory, and the like, and an input unit 31 and an output unit 33 are physically connected to each other. ..
  • the information processing device 32 may be realized by, for example, a server or cloud computing configured on a network, or may be configured to be connected to the input unit 31 and the output unit 33 via the network.
  • FIG. 3 is a diagram showing an external configuration example of the information processing system 11 according to the embodiment of the present disclosure.
  • the information processing system 11 includes an input unit 31 and an output unit 33.
  • the information processing system 11 displays information on the top surface of the table 71 and causes the user to operate the information displayed on the table 71. In this way, the method of displaying information on the top surface of the table 71 is also referred to as “projection type”.
  • the input unit 31 receives an operation performed by a user and the shape and pattern of an object placed on the table 71 as input information.
  • the input unit 31 is provided above the table 71 in a state of being suspended from the ceiling.
  • the method of irradiating the information from above the table 71 by the output unit 33 and displaying the information on the top surface of the table 71 is also referred to as “upper projection type”.
  • a camera that images the table 71 with one lens may be used, or a stereo camera that can image the table 71 with two lenses and record information in the depth direction may be used.
  • a microphone for picking up a voice or environmental sound emitted by the user may be used.
  • the information processing system 11 analyzes the image captured by the camera to analyze the object placed on the table 71 or the hand of the user. Can recognize gestures.
  • the information processing system 11 can recognize an object (hand etc.) placed on the table 71 or a gesture based on the depth information acquired by the stereo camera. become. Further, the information processing system 11 can recognize the contact of the user's hand with the table 71 and the release of the hand from the table 71 based on the depth information.
  • a microphone array for picking up a voice in a specific direction can be used as the microphone.
  • the information processing system 11 may adjust the sound collection direction of the microphone array to any direction.
  • the output unit 33 displays information on the table 71 or outputs a voice according to the input information.
  • a projector, a speaker, or the like can be used as the output unit 33.
  • the output unit 33 is provided above the table 71 in a state of being suspended from the ceiling.
  • the output unit 33 projects information on the top surface of the table 71.
  • the output unit 33 is composed of a speaker, the output unit 33 outputs sound based on the sound signal.
  • the number of speakers may be one or plural.
  • the information processing system 11 may limit the speakers that output the sound or adjust the direction in which the sound is output.
  • the output unit 33 may include a lighting device. ..
  • the information processing system 11 may control the state of the lighting device such as turning on and off based on the content of the input information received by the input unit 31.
  • the information processing system 11 according to the embodiment of the present disclosure is the upper projection type information processing system 11 as shown in FIG. 3, the information processing system 11 is placed not only on the table 71 but also on the table 71. It is also possible to display information on the object.
  • the user can perform various operation inputs with respect to the information displayed on the table 71 by the output unit 33 by a gesture using a palm or a finger. Further, the user can cause the information processing system 11 to execute various processes regarding the object by placing the object on the table 71 and causing the input unit 31 to recognize the object.
  • the information processing device 32 includes a hand detection unit 51, a pairing unit 52, a three-dimensional position estimation unit 53, a frame number determination unit 54, a relative speed/relative position calculation unit 55, a gesture recognition unit 56, and a command execution unit 57.
  • These blocks are configured by a processing device such as one or a plurality of CPUs (Central Processing Units).
  • CPUs Central Processing Units
  • the processing device may be configured by an electronic circuit.
  • each may be realized by a server configured on the network, or may be realized by cloud computing.
  • the hand detection unit 51 recognizes an arm based on the input information acquired by the input unit 31, and recognizes the position of the base of the recognized arm and the position of the hand (palm and wrist) that is the operating body connected to the arm. Is recognized and detected, and the detection result is output to the pairing unit 52 together with the input information.
  • the position of the base of the arm here is, for example, the position of the arm existing over the outer peripheral portion of the table 71 in the captured image.
  • the pairing unit 52 pairs the right hand and the left hand of the same user based on the input information and the detection result of the hand.
  • the pairing unit 52 Based on the input information and the detection result of the hand, the pairing unit 52 pairs the left and right hands and the right hand and the left hand of the same user by using the information on the position of the base of the arm attached to the hand.
  • the left hand L1 and the right hand R1, the left hand L2 and the right hand R2, the left hand L3 and the right hand R3, and the left hand L4 and the right hand R4 are the left and right hands of the same user, respectively.
  • the pairing unit 52 needs to pair the left hand L1 and the right hand R1, the left hand L2 and the right hand R2, the left hand L3 and the right hand R3, and the left hand L4 and the right hand R4 as a pair of the left hand and the right hand of the same person, respectively. ..
  • the pairing unit 52 sets, as the reference position BP, either the position of the base of the arm connected to the wrists of the left hands L1 to L4 or the position of the base of the arm connected to the wrists of the right hands R1 to R4. ..
  • the base position of the arm of the left hand L1 is set to the reference position BP.
  • the pairing unit 52 is in the counterclockwise direction along the outer peripheral portion of the table 71, and is adjacent to the reference position BP.
  • the base of the arm existing at the position is searched, and the position of the searched base of the arm is set as the reference position RP.
  • the pairing unit 52 sets a pair of hands connected to the bases of the arms at the standard position BP and the reference position RP.
  • the left hand L1 in which the base position of the arm is set as the reference position BP and the right hand R1 in which the base position of the arm is set as the reference position RP are pair P1. Is set to.
  • the left hand L1 and the right hand R1 are set to the pair P1 as the left and right hands of the same person.
  • the pairing unit 52 searches the base of the arm existing closest to the reference position RP in the counterclockwise direction along the outer periphery of the table 71, and sets the searched base position of the arm as a new reference. Set to position BP.
  • the pairing unit 52 is in the counterclockwise direction along the outer periphery of the table 71 and is located at the closest position to the reference position BP.
  • the base of the arm of the right hand R2 is searched for as the base of the arm existing in 1., and the position of the base of the searched arm of the right hand R2 is set to the reference position RP.
  • the left hand L2 whose arm position is set as the reference position BP and the right hand R2 whose arm position is set as the reference position RP are paired P2. Is set to.
  • the position of the base of the arm of the left hand L3 is set to the new reference position BP, and the corresponding reference position RP is set to the right hand, as shown in the second from the right in FIG. It is set at the root position of R3's arm.
  • the left hand L3 and the right hand R3 are set to the pair P3.
  • the base position of the arm of the left hand L4 is set to the new reference position BP, and the corresponding reference position RP is set to the base position of the arm of the right hand R4. It As a result, the left hand L4 and the right hand R4 are set to the pair P4.
  • a left hand L1 and a right hand R1 form a pair P1
  • a left hand L2 and a right hand R2 form a pair P2
  • a left hand L3 and a right hand R3 form a pair P3, and a left hand L4 and a right hand R4. It is set to the pair P4, respectively.
  • the pairing process described with reference to FIG. 4 is also referred to as a counterclockwise pairing process hereinafter.
  • the position of the base of the left-hand arm is set to the reference position BP, and the position of the base of the right-hand arm located closest to the reference position RP in the counterclockwise direction along the outer periphery of the table 71.
  • the position of the base of the arm of the right hand is set to the reference position BP, and the position of the base of the arm of the left hand existing at the closest adjacent position clockwise along the outer circumference of the table 71. May be set as the reference position RP.
  • the base position of the arm of the right hand R1 in the leftmost part of FIG. 5 is set to the reference position BP.
  • the pairing unit 52 rotates clockwise along the outer circumference of the table 71 and is located at the closest position next to the reference position BP.
  • the root of the arm is searched, and the position of the searched wrist of the left hand is set as the reference position RP.
  • the pairing unit 52 sets a pair of hands connected to the respective arms at the standard position BP and the reference position RP.
  • the pair of right hand R1 whose arm position is set to the reference position BP and left hand R1 whose arm position is set to the reference position RP are paired P1. Is set to. That is, through the above processing, the left hand L1 and the right hand R1 are set as the pair P1 as the left and right hands of the same person.
  • the pairing unit 52 searches for the base of the arm that is present at the position closest to the reference position RP in the clockwise direction along the outer circumference of the table 71, and sets the new position of the searched base of the arm. Set to the reference position BP.
  • the pairing unit 52 is in the clockwise direction along the outer periphery of the table 71, and is located at the closest position to the reference position BP.
  • the root of the arm of the left hand L4 is searched as the root of the existing arm, and the searched position of the arm of the left hand L4 is set to the reference position RP.
  • the right hand R4 in which the base position of the arm is set to the reference position BP and the left hand L4 in which the base position of the arm is set to the reference position RP are paired. It is set to P4.
  • the position of the base of the arm of the right hand R3 is set to the new reference position BP, and the corresponding reference position RP becomes It is set at the base position of the arm of the left hand L3.
  • the left hand L3 and the right hand R3 are set to the pair P3.
  • the base position of the arm of the right hand R2 is set to the new reference position BP, and the corresponding reference position RP is set to the base position of the arm of the left hand L2. It As a result, the left hand L2 and the right hand R2 are set to the pair P2.
  • the left hand L1 and the right hand R1 form a pair P1
  • the left hand L2 and the right hand R2 form a pair P2
  • the left hand L3 and the right hand R3 form a pair P3, and the left hand.
  • L4 and right hand R4 are set to pair P4, respectively.
  • the pairing process described with reference to FIG. 5 is also referred to as a clockwise pairing process hereinafter.
  • the base position of the left arm is set to the reference position BP
  • only the left hand L1 is placed on the top surface of the table 71 and the right hand R1 is placed, as shown in the left part of FIG. If not, the position of the arm of the left hand L1 is set as the reference position BP.
  • the left hand L2 of another user exists at the adjacent position closest to the reference position BP in the counterclockwise direction. Since the right hand R1 of the user with the left hand L1 does not exist, a pair cannot be formed.
  • the pair P1 is formed only by the left hand L1. To do so.
  • the user of the left hand L1 assumes that only the left hand L1 is placed on the top surface of the table 71 and the right hand is not placed on the top surface of the table 71.
  • the searched arm position of the left hand L2 is set to the new reference position BP.
  • Part 2 ⁇ When Only One of the Left and Right Hands is Detected (Part 2)> Further, when the position of the base of the arm of the right hand is set to the reference position BP, only the right hand R1 is placed on the top surface of the table 71 and the left hand L1 is placed, as shown in the left part of FIG. If not, the position of the arm of the right hand R1 is set as the reference position BP.
  • the right hand R4 of the other user is present at the position closest to the reference position BP in the clockwise direction along the outer periphery of the table 71, but the left hand of the user of the right hand R1 is left. A pair cannot be formed because L1 does not exist.
  • the user of the right hand R1 assumes that only the right hand R1 is placed on the top surface of the table 71 and the left hand is not placed on the top surface of the table 71.
  • the searched arm position of the right hand R4 is set to the new reference position BP.
  • the position of the arm of the left hand L4 closest to the clockwise position along the outer circumference of the table 71 from the reference position BP is set to the reference position RP by the same process as the clockwise pairing process described above, and the left hand is set.
  • L4 and right hand R4 are set to a pair P4.
  • the user has described an example in which only one of the left and right hands is placed on the top surface of the table 71, but the reference position RP is counterclockwise from the reference position BP, or Even if the left and right hands are detected at the position closest to the clockwise direction, they may be regarded as the hands of different users as long as they are farther than a predetermined distance.
  • the position of the base of the arm of the left hand L1 is set to the reference position BP, and the counterclockwise along the outer periphery of the table 71. It is assumed that the position of the base of the arm of the right hand R2 existing at the closest position is detected as the reference position RP.
  • a predetermined distance for example, the distance when it is assumed that a person extends his/her arm left and right
  • a pair of left and right hands is used. Even if they exist, they cannot be regarded as a pair of the same person.
  • the user with the left hand L1 at the reference position BP places only the left hand L1 on the top surface of the table 71, and the user with the right hand R2 at the reference position RP is different from the user with the left hand L1. It is assumed that the user is a different user and only the right hand R1 is placed on the top surface of the table 71.
  • the reference position and the reference position for specifying the positions of the left hand and the right hand are both the positions of the base of the arm.
  • the positions of the left hand and the right hand are placed on the top surface of the table 71, as shown in the left part of FIG.
  • the right hand R1 located on the left side and present on the tip of the arm HR is located on the right side in the drawing, the positions of the left and right hands can be determined only by the positions of the left hand L1 and the right hand R1.
  • the left hand L1 is located on the table 71 on the right side in the drawing
  • the right hand R1 is located on the table 71 on the left side in the drawing.
  • the positional relationship of the roots of the left and right arms does not change even if the arms are crossed. Also in image recognition, it is possible to recognize the positional relationship between the arms HL and HR and the left hand L1 and the right hand R1.
  • the left hand L1 and the right hand R1 are properly paired by setting the standard position BP and the reference position RF based on the positions of the roots of the arms HR and HL. I have to.
  • the three-dimensional position estimation unit 53 estimates the three-dimensional position of each point on the user's body, as an example of each point on the operating body, based on the input information acquired by the input unit 31.
  • Each point on the user's body is a point on the user's hand (for example, a predetermined point on the finger or a predetermined point on the palm), a predetermined point on the wrist (for example, wrist position), or a predetermined point on the elbow (for example, , Elbow joint position) etc.
  • each point of the user's body estimated by the three-dimensional position estimation unit 53 each point of the user's hand, wrist position, and elbow joint position will be described.
  • each point of the user's body may include a predetermined point on the shoulder (eg, shoulder joint position).
  • Examples of each point on the body> 10 to 12 are diagrams showing examples of each point of the user's body whose three-dimensional position is estimated by the three-dimensional position estimation unit 53.
  • a little finger tip position P1 a little finger joint position P2, a ring finger tip position P3, a ring finger joint position P4, a middle finger tip position P5, a middle finger Joint position P6, tip position P7 of the index finger, joint position P8 of the index finger, tip position P9 of the thumb, first joint position P10 from the tip of the thumb, second joint position P11 from the tip of the thumb, wrist position ( A little finger side) P12, a wrist position (thumb side) P13, a center position P14 of the hand, an elbow joint position P15, and a base position P16 of the upper arm are shown.
  • the three-dimensional position estimation unit 53 may acquire only part of the positions P1 to P16.
  • the base position P16 of the upper arm may not be directly acquired. Even in such a case, if any position between the elbow joint position P15 and the base position P16 of the upper arm is acquired, the position can be used instead of the base position P16 of the upper arm.
  • the center position P14 of the hand is not particularly limited as long as it is a predetermined position between the base of each of the five fingers and the wrist (that is, the palm).
  • the center position P14 of the hand may be the barycentric position of a plurality of points.
  • the wrist position (the little finger side) P12 may be a position closer to the thumb of the two positions obtained as the wrist position
  • the wrist position (thumb side) P13 may be the position obtained as the wrist position. Of these, the position may be closer to the little finger.
  • Each of the wrist position (pinky side) P12 and the wrist position (thumb side) P13 may be appropriately changed depending on the detection algorithm of each position.
  • FIG. 13 is a diagram for explaining the outline of the three-dimensional position estimation method.
  • the case where the three-dimensional position of each point of the hand is estimated will be mainly described.
  • the input unit 31 acquires an image (image IM1) of grasping a coffee cup by hand.
  • the three-dimensional position estimation unit 53 calculates the feature amount based on the image IM1.
  • the feature amount include a feature amount based on CNN (Convolutional Neural Network), a HOG (Histograms of Oriented Gradients) feature amount, and a feature amount based on SIFT (Scale Invariant Feature Transform).
  • the three-dimensional position estimation unit 53 estimates the three-dimensional position of each point of the user's hand by performing analysis on the obtained feature amount using a predetermined algorithm such as detection, identification, and segmentation. To do.
  • a predetermined algorithm such as detection, identification, and segmentation.
  • the algorithm the above-mentioned CNN, boosting (Boosting), SVM (Support Vector Machine), Graph Cut, etc. can be applied.
  • the three-dimensional position estimation unit 53 can detect the three-dimensional position of each point of the user's hand, as indicated by reference numeral AA in FIG. 13, according to the analysis result. Further, the three-dimensional position estimation unit 53 can detect the position and posture of the hand, as indicated by reference numeral BB in FIG. In the drawing indicated by reference numeral BB, the circle marked on the hand indicates the characteristic point CP.
  • the three-dimensional position estimation unit 53 can also recognize the movement of the hand by performing the above-described processing on the images of the plurality of frames, as shown by reference symbols CC (CC1 to CC4) in FIG. Is.
  • the movement of the hand with reference numeral CC1 indicates an example (horizontal) of moving the hand in the horizontal direction.
  • the movement of the hand with reference numeral CC2 indicates an example (Vertical) of moving the hand in the vertical direction.
  • the movement of the hand with reference numeral CC3 indicates an example (Clockwise) of moving the hand clockwise (clockwise).
  • the movement of the hand with reference numeral CC4 indicates an example (Counterclockwise) of moving the hand counterclockwise.
  • the recognized hand movements are not limited to the exemplified ones, and various hand movements can be recognized.
  • the above-described processing is not based on the exemplified algorithm, and a known method can be applied.
  • the horizontal axis of the graph shown in FIG. 14 indicates an example of the input image.
  • three input images IM5, IM6 and IM7 are shown.
  • the vertical axis of the graph shown in FIG. 14 is the coordinates (position) of the feature point of the hand corresponding to the input image.
  • the coordinates are shown as (xt, yt, zt) (where t is the frame number).
  • yt and zt of each feature point are the same applies.
  • the three-dimensional position estimating unit 53 can obtain the correlation between the input image and the coordinates of each point of the hand by learning the coordinates of the feature point of the hand with respect to the input image, as shown in FIG. In the example shown in FIG. 15, a linear correlation is shown as an example of the correlation between the input image and the coordinates of each point of the hand.
  • the correlation between the input image and the coordinates of each point of the hand may be another correlation (for example, non-linearity).
  • the three-dimensional position estimating unit 53 After obtaining the correlation between the input image and the coordinates of each point of the hand, the three-dimensional position estimating unit 53, as shown in FIG. 16, when the image IM8 is input, based on the correlation, The coordinate position of the hand of the image IM8 can be estimated.
  • the position of each point of the hand may be estimated by the three-dimensional position estimation unit 53 using the three-dimensional position estimation method described above. It is assumed here that the coordinates of the feature points of the hand with respect to the input image are learned. However, when the feature amount is extracted from the input image before learning, the coordinates of the feature point of the hand with respect to the feature amount are learned. May be done.
  • the three-dimensional position estimation unit 53 stores the estimated three-dimensional position information of each point of the operating body (in the above, three-dimensional position information of each point of the user's hand) in the storage unit 58.
  • the frame number determination unit 54 determines whether the three-dimensional position information corresponding to the predetermined number of frames is obtained by the three-dimensional position estimation unit 53 (that is, the three-dimensional position information corresponding to the predetermined number of frames is stored in the storage unit 58. It is determined.
  • the predetermined number of frames is not particularly limited and may be 2 or more.
  • the relative speed/relative position calculation unit 55 determines each point of the operating body stored in the storage unit 58. The absolute position of each point of the operating body is calculated based on the three-dimensional position information of.
  • the relative speed/relative position calculation unit 55 calculates the relative position of the operating point of the operating body with respect to the reference point of the operating body, based on the absolute position of each point of the operating body.
  • the relative position is a three-dimensional vector.
  • the relative position may be a two-dimensional vector or a scalar.
  • the relative speed/relative position calculation unit 55 calculates the absolute speed of each point based on the change in the three-dimensional position of each point of the operating body in the time direction. Then, the relative speed/relative position calculation unit 55 calculates the relative speed of the operation point of the operating tool with respect to the reference point of the operating tool, based on the absolute speed of each point.
  • the relative speed of the operating point is "V (relative speed of operating point)"
  • the absolute speed of the operating point is “V (absolute speed of operating point)”
  • the absolute speed of the reference point is “V (reference “Absolute velocity of point””
  • V (relative velocity of operating point) is expressed by the following equation (1) based on V (absolute velocity of operating point) and V (absolute velocity of reference point). Is calculated.
  • V (Relative velocity of operating point) V (Absolute velocity of operating point)-V (Absolute velocity of reference point)...(1)
  • the relative velocity is a three-dimensional vector.
  • the relative position may be a two-dimensional vector or a scalar.
  • the gesture recognition unit 56 recognizes the gesture of the operating body based on the relative position or relative speed of the operating point with respect to the reference point of the operating body calculated by the relative speed/relative position calculating unit 55. This makes it possible to recognize a gesture made by the operating body with higher accuracy.
  • the gesture recognition unit 56 recognizes the first gesture when the relative position or relative velocity of the operation point with respect to the reference point exceeds a threshold value.
  • the gesture recognition unit 56 recognizes the second gesture different from the first gesture when the relative position or the relative speed of the operation point with respect to the reference point is equal to or less than the threshold value.
  • the first gesture may be recognized when the relative position or relative velocity of the operation point with respect to the reference point is equal to the threshold value.
  • the relative position or relative velocity is a vector (two-dimensional vector or three-dimensional vector)
  • the relative position or relative velocity to be compared with the threshold may be replaced with the vector length.
  • FIG. 17 is a diagram for explaining gesture recognition according to the embodiment of the present disclosure.
  • the user tries to perform a key input, and while moving the palm at the absolute speed V1 to the right of the paper to change the input key, the fingertip on the palm is pressed to perform the key input. It is assumed that the fingertip is moved downward at the relative speed V2.
  • the absolute speed V12 of the fingertip becomes a speed obtained by combining the absolute speed V1 of the palm and the relative speed V2 of the fingertip with respect to the palm.
  • the gesture recognition it is determined whether or not there is a key input by excluding the velocity component due to the change of the input key, and therefore it is possible to accurately recognize the key input (gesture by the operating body). Is possible.
  • the gesture recognition unit 56 recognizes the gesture of the operating tool based on the relative speed of the operating point with respect to the reference point of the operating tool.
  • the gesture recognition unit 56 may recognize the gesture of the operating tool based on at least one of the relative position and the relative speed of the operating point with respect to the reference point of the operating tool.
  • the command execution unit 57 can function as a command determination unit that determines a command corresponding to the gesture recognized by the gesture recognition unit 56.
  • the command execution unit 57 also executes the determined command.
  • the type of command executed by the command execution unit 57 is not limited.
  • the type of command executed by the command execution unit 57 may be appropriately changed according to the application executed in the information processing device 32.
  • the command may be a command for displaying a drawing using a pen such as a marker along the path traced by the index finger of the right hand.
  • the thickness and color of the pen and the type of pen may be changed seamlessly depending on the bending condition of the finger of the left hand.
  • a command for inputting text characters may be realized by a gesture using the paired left and right hands.
  • a command such as specifying a consonant with the finger of the left hand and a vowel by flicking the index finger of the right hand to input a character specified by the combination of the vowel and the consonant is realized. Good.
  • the left hand specifies the consonant “pa” and the right hand specifies the vowel “o” so that the input of the character “po” can be accepted.
  • the left hand identifies special sounds such as consonants, repellants, jumbles, and long sounds
  • the right hand identifies "long sounds" as vowels so that the input of the character "-" can be accepted.
  • the gesture of FIG. 19 may be accepted as an operation input in order from the left in the figure so that the input of the text character “Pony” can be accepted.
  • a command for operating an image may be realized by a gesture using the paired left and right hands.
  • the distance is changed while abutting on the image P displayed on the table 71 by the index fingers of the paired left hand L21 and right hand R21.
  • a command for enlarging or reducing the size of the image P according to the mutual distance may be realized. That is, the image P is enlarged as the distance between the fingers of the left hand L21 and the right hand R21 increases, and the distance between the fingers of the left hand L21 and the right hand R21 decreases as the distance increases. It may be reduced.
  • the size of the image P is changed according to the distance between the forefinger and the thumb.
  • a command for displaying the image by enlarging or reducing it may be realized.
  • the index fingers of the unpaired left hand L31 and right hand R31 are in contact with the image P displayed on the table 71 while the lower left part of FIG.
  • a gesture that changes the distance from each other is accepted as an operation input, a command to copy and display the images P and P′ at the respective positions of the mutual index fingers is realized.
  • the example of using the left hand L31 and the right hand R31 has been described, but the unpaired hands may be used, and thus the right hand and the right hand or the left hand and the left hand may be used.
  • step S11 the input unit 31 receives an input (acquisition) of an image captured (sensed) by an image sensor such as a camera along the time axis of the user's hand as an example of the operating body.
  • an image sensor such as a camera along the time axis of the user's hand as an example of the operating body.
  • the hand detection unit 51 detects the position of the hand in the image based on the image obtained by the input unit 31. More specifically, the hand detection unit 51 recognizes the arm region in the image, recognizes the palm region at the end of the recognized arm region, and determines the right hand or the left hand depending on the direction of the thumb in the palm region. It recognizes and detects each recognition result as the position of the hand in the image. At this time, the hand detection unit 51 recognizes the left hand or the right hand of each detected hand and outputs the position of the root of each arm to the pairing unit 52 as the hand detection result.
  • step S13 the pairing unit 52 performs pairing processing based on the detection result of the hand, and pairs the left and right hands as both hands of the same person.
  • step S14 the three-dimensional position estimation unit 53 selects one of the unprocessed pair out of the right-hand and left-hand pairs (including the right-hand only or the left-hand only pair) set by the pairing processing as a processing target pair. Set to.
  • step S15 the three-dimensional position estimating unit 53 estimates the three-dimensional position of each point of each hand of the pair of right hand and left hand set as the processing target in the image obtained by the input unit 31. .. It should be noted that the points at which the three-dimensional position is estimated by the three-dimensional position estimation unit 53 are not limited to the points of the user's hand as described above.
  • step S16 the three-dimensional position estimating unit 53 stores the three-dimensional positions of the right hand and the left hand of the pair set as the processing target in the storage unit 58 in association with each other.
  • step S17 the three-dimensional position estimation unit 53 determines whether or not there is an unprocessed pair among the pair of the right hand and the left hand set by the pairing process in the image obtained by the input unit 31. To do.
  • step S17 If there is an unprocessed pair in step S17, the process returns to step S14.
  • steps S14 to S17 are repeated until the unprocessed right-hand and left-hand pairs in the image obtained by the input unit 31 disappear, and the respective three-dimensional position information is stored in the storage unit 58.
  • step S17 if it is determined in step S17 that there is no unprocessed right-hand and left-hand pair in the image obtained by the input unit 31, the process proceeds to step S18.
  • step S18 the frame number determination unit 54 determines whether the three-dimensional position information corresponding to the designated frame number (predetermined frame number) is obtained by the three-dimensional position estimation unit 53.
  • step S18 If it is determined in step S18 that the three-dimensional position information corresponding to the designated number of frames (predetermined number of frames) has not been obtained by the three-dimensional position estimation unit 53, the process returns to the process of step S11.
  • step S18 if it is determined in step S18 that the three-dimensional position information corresponding to the designated number of frames (predetermined number of frames) is obtained by the three-dimensional position estimation unit 53, the process proceeds to step S19.
  • step S ⁇ b>19 the relative speed/relative position calculation unit 55 sets, as a pair to be processed, a pair that has not been processed for the three-dimensional position information among the pairs stored in the storage unit 58.
  • step S20 the relative speed/relative position calculation unit 55, based on the three-dimensional position information of each point of each of the right hand and the left hand of the pair set as the processing target among the pairs stored by the storage unit 58. , The absolute position of each point of the right hand and the left hand is calculated.
  • the relative velocity/relative position calculation unit 55 based on the absolute positions of the respective points of the right hand and the left hand of the pair set as the processing target, with respect to the reference points of the right hand and the left hand of the pair set as the processing target. Calculate the relative position of the operating point of the hand.
  • the relative speed/relative position calculation unit 55 calculates the absolute speed of each point based on the change in the three-dimensional position of each point of the right hand and the left hand of the pair set as the processing target in the time direction.
  • the relative speed/relative position calculation unit 55 calculates the relative speed of the operation point of the hand with respect to the reference point of each of the right hand and the left hand of the pair set as the processing target, based on the absolute speed of each point. ..
  • step S21 the gesture recognition unit 56 determines the relative operation point relative to the reference point of each of the right and left hands of the pair set as the processing target, which is the operation object calculated by the relative speed/relative position calculation unit 55. Recognize hand gestures based on position or relative velocity.
  • step S22 the relative speed/relative position calculation unit 55 determines whether or not there is a pair for which the processing for the three-dimensional position information is unprocessed among the pairs stored in the storage unit 58.
  • step S22 If it is determined in step S22 that there is an unprocessed pair of the three-dimensional position information stored in the storage unit 58 for the three-dimensional position information, the process returns to step S19.
  • steps S19 to S22 are repeated until the gesture is recognized for all the pairs stored in the storage unit 58.
  • step S22 determines whether the gesture is recognized for all the pairs and it is determined in step S22 that the gesture is recognized for all the pairs. If the gesture is recognized for all the pairs and it is determined in step S22 that the gesture is recognized for all the pairs, the process proceeds to step S23.
  • the gesture recognition unit 56 can recognize the gesture or the like described with reference to FIGS. 18 to 20 described above, based on the relative position or relative speed of the operation point with respect to the reference point. Becomes
  • step S24 the command execution unit 57 determines a command corresponding to the gesture by each of the right hand and the left hand of all the pairs recognized by the gesture recognition unit 56.
  • the command execution unit 57 executes the command corresponding to the gesture by each of the right hand and the left hand of all the pairs recognized by the gesture recognition unit 56.
  • the type of command executed by the command executing unit 57 may be appropriately changed according to the application executed in the information processing device 32.
  • step S41 the pairing unit 52 recognizes the right hand and the left hand based on the image obtained by the input unit 31 and detects the positions of the roots of the respective arms.
  • the position information of the right hand and the left hand in the image obtained by the input unit 31 and the position of the base of the arm connected to each of the right hand and the left hand at the end of the image on the table 71 are detected. To be done.
  • step S42 the pairing unit 52 determines whether or not the left hand is present in the detection result.
  • step S42 If it is determined in step S42 that there is at least one left hand, the process proceeds to step S43.
  • step S43 the pairing unit 52 executes counterclockwise pairing processing to set all pairs of left and right hands in the image obtained by the input unit 31.
  • step S42 determines whether there is no left hand. If it is determined in step S42 that there is no left hand, the process proceeds to step S44.
  • step S44 the pairing unit 52 executes clockwise pairing processing to set all pairs of left and right hands in the image obtained by the input unit 31.
  • step S45 the pairing unit 52 calculates the distance between the base positions of the arms for all pairs.
  • step S46 the pairing unit 52 determines whether or not the distance between the base positions of the arms is within a predetermined distance for all pairs. It should be noted that a pair of only the left hand or a pair of the right hand will not be separated, and is therefore considered to be within a predetermined distance.
  • step S46 If it is determined in step S46 that the distance between the root positions of the arms is not within the predetermined distance for all pairs, the process proceeds to step S47.
  • step S47 the pairing unit 52 separates the right hand and the left hand of the pair in which the distance between the positions of the bases of the arms is not within the predetermined distance as different pairs, as described with reference to FIG. And set.
  • the separated right hand or left hand is independent, but the pair is set with only the right hand or the left hand.
  • step S46 If it is determined in step S46 that the distance between the positions of the bases of the arms is within a predetermined distance for all pairs, the process of step S47 is skipped.
  • the right hand and the left hand are set as a pair, and for the pair in which the distance between the roots of the respective arms is not within the predetermined distance, only the left hand and only the right hand are set as individual pairs. ..
  • the counterclockwise pairing process and the clockwise pairing process are divided depending on whether the left hand is present or not, the counterclockwise pairing process uses the left hand as the reference position, This is because the right hand is used as the reference position in the rotation pairing process. Therefore, in the process of the flowchart of FIG. 22, it is assumed that the right hand exists when there is no left hand, but the process may be terminated when there is no right hand.
  • the pairing is performed by using both the counterclockwise pairing process and the clockwise pairing process in order to perform the pairing with high accuracy. In the case where both are assumed to be placed on the operation surface that is the top surface of the table 71, or depending on the setting, only one of the counterclockwise pairing process and the clockwise pairing process may be performed. Good.
  • step S61 the pairing unit 52 sets the base position of an arbitrary arm in the left hand group of the detection result as the reference position.
  • step S62 the pairing unit 52 sets the position of the base of the arm of the hand, which is closest to the counterclockwise position along the outer periphery of the table 71 from the current reference position, to the reference position.
  • step S63 the pairing unit 52 determines whether the arm hand set at the reference position is the left hand.
  • step S63 If it is determined in step S63 that the arm hand set in the reference position is not the left hand, that is, if the arm hand set in the reference position is the right hand, the process proceeds to step S64. move on.
  • step S64 the pairing unit 52 sets a pair of the right hand and the left hand where the base of the arm is located at the reference position and the reference position.
  • step S63 when it is determined in step S63 that the arm hand set at the reference position is the left hand, that is, both the arm hand set at the reference position and the arm hand set at the reference position are left hands. If so, the process proceeds to step S65.
  • step S65 the pairing unit 52 sets the two left hands having the bases of the arms at the reference position and the reference position to different pairs of only the left hand.
  • step S66 the pairing unit 52 acquires the left-hand and right-hand information set for the pair.
  • step S67 the pairing unit 52 determines whether or not there is an unprocessed left hand that has not been paired.
  • step S67 If it is determined in step S67 that there is an unprocessed left hand, the process proceeds to step S68.
  • step S68 the pairing unit 52 sets the base position of the unpaired left-hand arm in the left-hand group as the reference position, and the process returns to step S62.
  • steps S62 to S68 are repeated until there are no unprocessed left hands, and pairs are sequentially set as described with reference to FIG.
  • step S67 if all the hands are set to a pair and it is considered that there is no unprocessed left hand, the process ends.
  • the base position of the left hand arm is sequentially set to the reference position, and the right hand existing near the counterclockwise position is set as a pair along the outer peripheral direction of the table 71. , A pair is set.
  • each of them is independently set as a pair of different left hands only, and all hands are set as a pair.
  • step S81 the pairing unit 52 sets the position of the root of any arm in the right hand group of the detection result as the reference position.
  • step S82 the pairing unit 52 sets the position of the base of the arm of the hand, which is the closest to the clockwise position along the outer circumference of the table 71 from the current reference position, to the reference position.
  • step S83 the pairing unit 52 determines whether the arm hand set at the reference position is the right hand.
  • step S83 If it is determined in step S83 that the arm hand set in the reference position is not the right hand, that is, if the arm hand set in the reference position is the left hand, the process proceeds to step S84. move on.
  • step S84 the pairing unit 52 sets a pair of the right hand and the left hand where the base of the arm is located at the reference position and the reference position.
  • step S83 when it is determined in step S83 that the arm hand set at the reference position is the right hand, that is, both the arm hand set at the reference position and the arm hand set at the reference position are both. If is determined to be the right hand, the process proceeds to step S85.
  • step S85 the pairing unit 52 sets the two right hands whose bases are located at the reference position and the reference position into a pair of different one-handed right hands.
  • step S86 the pairing unit 52 acquires the left-hand and right-hand information set for the pair.
  • step S87 the pairing unit 52 determines whether or not there is an unprocessed unprocessed right hand.
  • step S87 If it is determined in step S87 that there is an unprocessed right hand, the process proceeds to step S88.
  • step S88 the pairing unit 52 sets the position of the base of the unpaired right hand arm of the right hand group as the reference position, and the process returns to step S82.
  • steps S82 to S88 are repeated until there are no unprocessed right hands, and pairs are sequentially set as described with reference to FIG.
  • step S87 if all the hands are set to a pair and it is considered that there is no unprocessed right hand, the process ends.
  • the base position of the arm of the right hand is sequentially set to the reference position, and the processing of setting the left hand existing at a position near the clockwise direction in a pair along the outer peripheral direction of the table 71 in a pair is repeated. , A pair is set.
  • steps S101, S104, S103, and S105 to S107 in the flowchart of FIG. 25 is the same as the processing of steps S41, S43 to S47 in the flowchart of FIG. 22, so description thereof will be omitted.
  • step S102 the pairing unit 52 determines whether or not the right hand is present in the detection result.
  • step S102 If it is determined in step S102 that there is at least one right hand, the process proceeds to step S103 to execute the clockwise pairing process.
  • step S102 determines whether the right hand does not exist at all. If it is determined in step S102 that the right hand does not exist at all, the process proceeds to step S104 to execute the counterclockwise pairing process.
  • the pairing process may be made to be selectable between the process shown in FIG. 22 and the process shown in FIG.
  • Example of executing by software can be executed not only by hardware but also by software.
  • a program that constitutes the software can execute various functions by installing a computer in which dedicated hardware is installed or various programs. It is installed from a recording medium into a possible general-purpose computer or the like.
  • FIG. 26 shows a configuration example of a general-purpose computer.
  • This personal computer has a built-in CPU (Central Processing Unit) 1001.
  • An input/output interface 1005 is connected to the CPU 1001 via a bus 1004.
  • a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004.
  • the input/output interface 1005 includes an input unit 1006 formed of an input device such as a keyboard and a mouse for a user to input operation commands, an output unit 1007 for outputting a processing operation screen and an image of a processing result to a display device, programs and various data.
  • a storage unit 1008 including a hard disk drive for storing, a LAN (Local Area Network) adapter, and the like are connected to a communication unit 1009 that executes communication processing via a network typified by the Internet.
  • magnetic disks including flexible disks
  • optical disks including CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)
  • magneto-optical disks including MD (Mini Disc)
  • a drive 1010 for reading and writing data is connected to a removable storage medium 1011 such as a memory.
  • the CPU 1001 is read from a program stored in the ROM 1002 or a removable storage medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, installed in the storage unit 1008, and loaded into the RAM 1003 from the storage unit 1008. Executes various processes according to the program.
  • the RAM 1003 also appropriately stores data necessary for the CPU 1001 to execute various processes.
  • the CPU 1001 loads the program stored in the storage unit 1008 into the RAM 1003 via the input/output interface 1005 and the bus 1004 and executes the program, thereby performing the above-described series of operations. Is processed.
  • the program executed by the computer (CPU 1001) can be provided, for example, by recording it on a removable storage medium 1011 as a package medium or the like. Further, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 1008 via the input/output interface 1005 by mounting the removable storage medium 1011 in the drive 1010. Further, the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008. In addition, the program can be installed in the ROM 1002 or the storage unit 1008 in advance.
  • the program executed by the computer may be a program in which processing is performed in time series in the order described in this specification, or in parallel, or at a required timing such as when a call is made. It may be a program in which processing is performed.
  • the CPU 1001 in FIG. 26 realizes the function of the information processing device 32 in FIG.
  • the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all constituent elements are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. ..
  • the present disclosure may have a configuration of cloud computing in which one function is shared by a plurality of devices via a network and jointly processes.
  • each step described in the above flow chart can be executed by one device or shared by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • An image acquisition unit that acquires an image on the operation surface that receives an operation input using the user's hand, A left and right hand of the user from the image, and a hand detection unit that detects an arm corresponding to the hand
  • An information processing device comprising: a pairing unit configured to pair the left and right hands of each of the users in the image detected by the hand detection unit.
  • the pairing unit sets one of the hands detected by the hand detection unit as a reference hand, sets the base position of the reference hand arm as a reference position, and sets the reference position to the reference position.
  • ⁇ 3> With respect to the reference position, in a direction depending on whether the reference hand is the left hand or the right hand, and the closest adjacent base position of the arm is set as a new reference position, and Setting a new reference position for a new reference position, the position of the base of the arm is the new reference position, and the hand of the position of the base of the arm is the new reference position,
  • the information processing apparatus according to ⁇ 2>, wherein the left and right hands of the same user are set, and the same process is repeated thereafter to pair the left and right hands of each of the users in the image.
  • the pairing unit sets the position of the root of one of the left hand arms detected by the hand detection unit to the reference position, and along the outer circumference of the operation surface with respect to the reference position.
  • the nearest neighbor In the counterclockwise direction, the nearest neighbor, the position of the base of the arm is set to the reference position, the position of the base of the arm is the reference position, and the position of the base of the arm is the The information processing apparatus according to ⁇ 2>, wherein the right hand, which is the reference position, is set as a pair of left and right hands of the same user.
  • the pairing unit sets the position of the root of one of the arms of the right hand detected by the hand detection unit to the reference position, and a clock is provided along the outer periphery of the operation surface with respect to the reference position.
  • the position of the root of the left arm is set to the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference position
  • the position of the base of the arm is the reference
  • the information processing apparatus is ⁇ 2>, wherein the left hand, which is the position, is set as a pair of left and right hands of the same user.
  • the pairing unit when the hand whose base position is the reference position and the hand whose base position is the reference position are both right hands or left hands, The hand whose base position is the reference position and the hand whose base position is the reference position are set as independent pairs of only the right hand of the user or only the left hand.
  • the information processing device according to ⁇ 2>.
  • the pairing unit When the distance between the reference position and the reference position is greater than a predetermined distance, the pairing unit includes a hand whose base position is the reference position and a base of the arm.
  • the predetermined distance is a distance in which a human has spread his arms.
  • a gesture recognition unit that recognizes a gesture of at least one of the left hand and the right hand set as a pair by the pairing unit, The information processing apparatus according to any one of ⁇ 1> to ⁇ 8>, further including a command determination unit that determines a command corresponding to the gesture recognized by the gesture recognition unit.
  • the gesture recognition unit is configured to record information about a locus corresponding to a movement of a finger of one of the left hand and the right hand set as the pair of the left hand and the right hand of the same user, and the palm of the other hand.
  • the information processing apparatus according to ⁇ 9>, which recognizes the information of the shape as the gesture.
  • the command determination unit displays a command corresponding to the gesture recognized by the gesture recognition unit as a command corresponding to the trajectory information drawn by a writing instrument corresponding to the palm shape information.
  • ⁇ 12> The information processing apparatus according to ⁇ 11>, wherein the writing instrument includes either a brush or a marker.
  • the gesture recognition unit includes information on a finger touching the operation surface of fingers of one of the left and right hands set as the pair of the left and right hands of the same user, and the other.
  • the information processing apparatus according to ⁇ 9>, wherein the information on the flick direction of the finger of the hand is recognized as the gesture.
  • the command determination unit uses a command corresponding to the gesture recognized by the gesture recognition unit from a consonant corresponding to information of a finger touching the operation surface and a vowel corresponding to information of the flick direction.
  • ⁇ 15> In the gesture recognition section, at least two fingers of the left hand and the right hand set as the pair of the left hand and the right hand of the same user are touched on the image displayed on the operation surface.
  • the information processing apparatus according to ⁇ 9> which recognizes, as the gesture, information on each orbit that moves in a closed state.
  • the command determination unit determines the command corresponding to the gesture recognized by the gesture recognition unit as a command for enlarging or reducing the image according to the distance between the two fingers.
  • the gesture recognition unit displays at least one finger, which is set as the pair of only the left hand or the right hand of a different user, respectively, which is different for the user, on the image displayed on the operation surface.
  • the information processing apparatus according to ⁇ 9> which recognizes, as the gesture, information about each trajectory that moves while being touched.
  • a command for the command determination unit to display the command corresponding to the gesture recognized by the gesture recognition unit by copying the image to each of the orbits of at least one finger different for each user.
  • the information processing apparatus according to ⁇ 17>.
  • An image acquisition unit that acquires an image on the operation surface that receives an operation input using the hand of the user, A hand detection unit that detects the left and right hands of the user from the image and the arm corresponding to the hand, A program that causes a computer to function as a pairing unit that pairs the left and right hands of each of the users in the image detected by the hand detection unit.
  • 11 information processing system 31 input unit, 32 information processing device, 33 output unit, 71 table, 51 hand detection unit, 52 pairing unit, 53 three-dimensional position estimation unit, 54 frame number determination unit, 55 relative position/relative speed Calculation unit, 56 gesture recognition unit, 57 command execution unit, 58 storage unit

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Image Analysis (AREA)

Abstract

本開示は、複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングできるようにする情報処理装置、および情報処理方法、並びにプログラムに関する。 ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得し、画像よりユーザの左右の手と、それぞれの手に対応する腕とを検出し、一方の腕の根本の位置を基準位置に設定し、一方の腕が左手あるときは、操作面の外周に沿って最も近い隣接する腕の根本の位置を参照位置に設定し、基準位置の腕の手と、参照位置の腕の手とをペアリングする。情報処理システムに適用することができる。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関し、特に、複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングできるようにした情報処理装置、および情報処理方法、並びにプログラムに関する。
 タッチパネルに対するタッチ操作や空間に手をかざすなどの手を用いたジェスチャにより、アプリケーションソフトウェア等に対する操作入力を受け付ける操作機器が提案されている。
 ここで、ジェスチャによる操作入力を受け付けるような場合、複数の人数で操作しようとすると、どの手が誰のものであるのかを識別できなければならない。
 そこで、例えば、車載装置の操作領域に対する腕の進入方向に基づいて、運転者の手であるか、助手席の搭乗者の手であるのかを判別する技術が提案されている(特許文献1参照)。
特許第4918872号公報
 ところで、特許文献1の技術においては、識別する人物が、運転者と助手席の搭乗者の二人であることから、操作領域を左右に2分割することで、腕の進入方向に基づいて判別することが可能とされている。
 しかしながら、車載装置以外の操作領域に対する操作入力である場合であって、2人以上を判別する必要があるときには、判別可能な人数については、操作領域に対する分割数に依存することになり、さらに、任意の方向からの腕の侵入には対応することができない。
 本開示は、このような状況に鑑みてなされたものであり、特に、複数のユーザの手を用いた操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングするものである。
 本開示の一側面の情報処理装置は、ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部とを備える情報処理装置である。
 本開示の一側面の情報処理方法、およびプログラムは、情報処理装置に対応するものである。
 本開示の一側面においては、ユーザの手を用いた操作入力を受け付ける操作面上の画像が取得され、前記画像より前記ユーザの左右の手と、前記手に対応する腕とが検出され、検出された前記画像内における前記ユーザ毎の左右の手がペアリングされる。
本開示の概要を説明する図である。 本開示の情報処理システムの構成例を説明する図である。 図2の情報処理システムの外観構成例を示す図である。 反時計回りペアリング処理を説明する図である。 時計回りペアリング処理を説明する図である。 基準位置と参照位置の手が左右同一である場合の反時計回りペアリング処理を説明する図である。 基準位置と参照位置の手が左右同一である場合の時計回りペアリング処理を説明する図である。 基準位置と参照位置との距離が所定の距離より離れたときのペアリング処理を説明する図である。 ペアリング処理において、左右の手の位置ではなく、腕の根本の位置を基準位置と参照位置に設定する理由を説明する図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定部によって3次元位置が推定されるユーザの身体の各点の例を示す図である。 3次元位置推定手法の概要を説明するための図である。 3次元位置推定手法の例について説明する。 3次元位置推定手法の例について説明する。 3次元位置推定手法の例について説明する。 本開示の実施の形態に係るジェスチャ認識について説明するための図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 ペアリングされた左手と右手を用いたジェスチャの例を説明する図である。 図2の情報処理システムの情報処理を説明するフローチャートである。 図21のペアリング処理を説明するフローチャートである。 図22の反時計回りペアリング処理を説明するフローチャートである。 図23の時計回りペアリング処理を説明するフローチャートである。 図21のペアリング処理を説明するその他のフローチャートである。 汎用のパーソナルコンピュータの構成例を説明する図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.本開示の概要
 2.本開示の実施の形態
 3.情報処理システムによる情報処理
 4.ソフトウェアにより実行させる例
 <<1.本開示の概要>>
 本開示は、複数のユーザの手を用いた操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングするものである。
 まず、本開示の概要について説明する。
 例えば、図1で示されるような、タッチパネルとしての機能と、表示装置としての機能を備えたテーブルT、および、テーブルTと対向する位置に設置され、テーブルT上の画像を撮像する図示せぬカメラとからなる、情報処理システムを想定する。
 図1の情報処理システムにおいては、例えば、カメラにより撮像される画像に基づいて、左右の手を用いた操作面であるテーブルTに対する操作入力をジェスチャとして認識し、認識されたジェスチャとしての操作入力に対応するコマンドを実行し、実行結果を出力する。
 左右の手を用いた操作面であるテーブルTに対する操作入力とは、例えば、左右の手のうちの一方の手によるテーブルT上をタッチする指と、他方の掌の形状とに基づいたジェスチャにより表現されるものである。ここで、掌の形状とは、例えば、人差指を立てる、人差指と中指を立てる、または人差指と親指の腹を併せて輪を作る等の掌で形成できる形状である。
 また、図1の情報処理システムは、複数のユーザの操作入力も受け付ける。複数のユーザからの操作入力を受け付ける場合、左右の手が、それぞれユーザ毎にペアとして認識され、ペアとなる左右の手の情報に基づいて、操作入力が受け付けられる。
 このため、複数のユーザからの操作入力を受け付けるには、まず、複数の左右の手を、それぞれ適切にユーザ毎にペアリングする必要がある。
 そこで、本開示の情報処理システムにおいては、まず、カメラが、テーブルT上の画像を撮像する。
 次に、カメラにより撮像された画像に基づいて、テーブルTの端部に跨る腕(の領域)の根本の位置が検出される。すなわち、図1の場合、左手L1乃至L4、および右手R1乃至R4の腕の根本の位置が検出される。次に、腕の根本の位置が検出されると、検出された腕の根本の位置に対して端部となる領域の掌を検出し、親指の向きなどにより、左手および右手が検出される。
 このように検出された左手および右手のうち、左手のいずれかに対応するテーブルTの端部に跨る腕の根本の位置が基準位置に設定される。図1の場合、例えば、左手L1の腕の根本の位置が基準位置BPに設定される。
 次に、左手の腕が基準位置BPとして設定された場合、テーブルTの外周に沿って、反時計回り方向の隣であって、最も近い位置に存在する右手の腕の根本の位置が参照位置RPとして検索される。
 そして、基準位置BPに設定された位置に根本が位置する腕の左手L1と、参照位置RPに設定された位置に根本が位置する腕の右手R1とがペアP1に設定される。
 次に、参照位置RPに設定された位置に根本が位置する腕の反時計回りに隣であって、最も近い位置に存在する左手の腕の根本の位置が、新たな基準位置BPに設定される。
 以降、図1の場合、左手L2の腕の根本の位置が、2番目の新たな基準位置BPに設定される。
 そして、上述と同様の手法により、右手R2の腕の根本の位置が新たな基準位置BPに対する参照位置RFに設定されて、新たに参照位置RFに設定された位置に根本が位置する腕の右手R2と左手L2とがペアP2に設定される。
 以下同様の処理が繰り返されて、左手L3と右手R3とがペアP3に設定され、左手L4と右手R4とがペアP4に設定される。
 以上においては、左手の腕の根本の位置が基準位置BPに設定され、テーブルTの外周に対して反時計回りに隣であって、最も近い位置に存在する右手の腕の根本の位置を参照位置RPとして、基準位置BPと参照位置RPとのそれぞれの位置に、根本が位置する腕に属する左手と右手とをペアに設定する例について説明してきた。
 同様に、右手の腕の根本の位置が基準位置BPに設定されるようにしてもよく、この場合、テーブルTの外周に対して時計回りに隣であって、最も近い位置に存在する左手の腕の根本の位置が参照位置RPとされるようにして、基準位置BPと参照位置RPとの腕に属する右手と左手がペアに設定されるようにしてもよい。
 以上の処理により、複数のユーザの左右の手をペアリングさせることで、適切に同一の人物の左右の手をペアリングさせることが可能となる。
 結果として、ペアリングされた左右の手のジェスチャに基づいて、複数のユーザの操作入力を受け付けることが可能となる。
 <<2.本開示の実施の形態>>
 <情報処理システムの構成例>
 続いて、図面を参照しながら、本開示の実施の形態に係る情報処理システムの構成例について説明する。
 図2は、本開示の実施の形態に係る情報処理システムの機能構成例を示す図である。
 図2で示されるように、情報処理システム11は、入力部31、情報処理装置32、および出力部33を備える。
 また、情報処理装置32は、手検出部51、ペアリング部52、3次元位置推定部53、フレーム数判定部54、相対速度/相対位置算出部55、ジェスチャ認識部56、コマンド実行部57および記憶部58を備える。
 入力部31は、入力装置を含んで構成され、操作体(より具体的には、操作体の一部または全部の形状、動きなど)を、時間軸を含めてセンシングすることにより、操作入力を受け付ける。ここでいう操作体とは、例えば、ユーザの手(掌)と、対応する腕である。
 より具体的には、入力部31は、例えば、画像センサ(カメラ)およびデプスセンサより構成される。
 しかしながら、入力部31は、これらのセンサすべてを含んで構成されていなくてもよく、これらのセンサの少なくとも一つを含んで構成されていればよい。または、入力部31は、タッチセンサを含んでもよい。以下では、操作体の形状、動きなどが、画像センサによって取得される場合を主に想定する。しかしながら、これらの情報がどのセンサによって取得されるかは限定されない。
 すなわち、入力部31は、例えば、画像センサを含む第1の入力部31と、タッチセンサを含む第2の入力部31とから構成されるようにしてもよい。
 本実施の形態においては、左右の手の少なくともいずれかの形状や動きの変化、および、後述するテーブル71a(図3)対するタッチの有無等に基づいたジェスチャが操作体である左右の手による操作入力として受け付けられるものとする。
 以下では、操作体である左右の手の少なくともいずれか一方の形状や、動きなどが、画像に基づいて認識され、画像センサやデプスセンサによって取得される場合を主に想定する。しかしながら、これらの情報がどのセンサによって取得されるかは限定されない。また、センシングされるものは画像に限らないため、タッチセンサによりテーブル71aに対してタッチされたか否かの情報がセンシングされるようにし、そのセンシング結果を用いるようにしてもよい。
 なお、画像センサとしては、可視光カメラが用いられてもよいし、赤外線カメラが用いられてもよい。デプスセンサとしては、ステレオカメラが用いられてもよいし、TOF(Time Of Flight)センサが用いられてもよいし、Structured Light方式による距離画像センサが用いられてもよい。タッチセンサは、上方または下方から撮影を行うカメラであってもよいし、投影面に敷かれたタッチパネルであってもよい。
 出力部33は、出力装置を含んで構成され、コマンド実行部57によって実行されるコマンドに従って情報を出力する。以下では、出力部33がプロジェクタを含んで構成され、プロジェクタが投影面に情報を投影することによって情報を出力する場合を主に想定する。
 しかしながら、出力部33は、プロジェクタを含む場合に限定されない。例えば、出力部33は、タッチパネル式のディスプレイであってもよいし、LCD(Liquid Crystal Display)や、有機EL(Electro-Luminescence)ディスプレイなどであってもよい。
 出力部33によって情報が出力される面は、表示面(投影面)に相当する。特に、出力装置としてプロジェクタが使用される場合には、表示面はプロジェクタによって情報が投影される投影面(例えば、テーブルの天面)に相当する。以下の説明においては、表示面として投影面が用いられる場合を主に想定するが、表示面は投影面に限定されない。また、プロジェクタによって情報が投影される領域は、テーブル面に限定されない。例えば、プロジェクタによって情報が投影される領域は、床面であってもよいし、壁面であってもよいし、物体などであってもよい。
 情報処理装置32は、入力部31より入力されるセンシング結果に基づいて、処理を施し、処理結果を出力部33に出力する。
 より具体的には、情報処理装置32は、例えば、プロセッサとメモリ等から構成されるパーソナルコンピュータなどから構成されるようにして、入力部31および出力部33が物理的に接続されて構成される。
 また、情報処理装置32は、例えば、ネットワーク上に構成されるサーバやクラウドコンピューティングにより実現されてもよく、ネットワークを介して入力部31および出力部33と接続される構成とされてもよい。
 尚、情報処理装置32の詳細については後に詳細に説明する。
 <情報処理システムの外観構成例>
 図3は、本開示の実施の形態に係る情報処理システム11の外観構成例を示す図である。図3に示されたように、情報処理システム11は、入力部31と出力部33とを含んで構成される。情報処理システム11は、テーブル71の天面に情報を表示し、テーブル71に表示した情報に対してユーザに操作をさせる。このように、テーブル71の天面に情報を表示する方式を「プロジェクション型」とも称する。
 入力部31は、ユーザによる操作や、テーブル71に置かれている物体の形状や模様などを入力情報として受け付ける。図3に示された例では、入力部31が、テーブル71の上方に、天井から吊り下げられた状態で設けられている。このように、テーブル71の上方から情報を出力部33によって照射し、テーブル71の天面に情報を表示する方式を「上方プロジェクション型」とも称する。入力部31としては、1つのレンズでテーブル71を撮像するカメラが用いられてもよいし、2つのレンズでテーブル71を撮像して奥行き方向の情報を記録することが可能なステレオカメラが用いられてもよいし、ユーザが発する音声や環境音を収音するためのマイクロフォンが用いられてもよい。
 入力部31として、1つのレンズでテーブル71を撮像するカメラが用いられる場合、情報処理システム11は、そのカメラが撮像した画像を解析することによって、テーブル71に置かれた物体やユーザの手のジェスチャを認識することができる。また、入力部31としてステレオカメラが用いられる場合、情報処理システム11は、ステレオカメラによって取得された深度情報に基づいて、テーブル71の上に置かれた物体(手など)やジェスチャの認識が可能になる。また、情報処理システム11は、深度情報に基づいて、テーブル71へのユーザの手の接触やテーブル71からの手の離脱の認識が可能である。
 また、入力部31としてマイクロフォンが用いられる場合、そのマイクロフォンは特定の方向の音声を収音するためのマイクロフォンアレイが用いられ得る。入力部31としてマイクロフォンアレイが用いられる場合、情報処理システム11は、マイクロフォンアレイの収音方向を任意の方向に調整してもよい。
 出力部33は、入力情報に応じて、テーブル71に情報を表示したり、音声を出力したりする。出力部33としては、プロジェクタやスピーカ等が用いられ得る。図3に示された例では、出力部33は、テーブル71の上方に、天井から吊り下げられた状態で設けられている。出力部33がプロジェクタで構成される場合、出力部33は、テーブル71の天面に情報を投影する。出力部33がスピーカで構成される場合、出力部33は、音声信号に基づいて音声を出力する。このとき、スピーカの数は1つであってもよく、複数であってもよい。出力部33が複数のスピーカで構成される場合、情報処理システム11は、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしてもよい。
 また、本開示の実施の形態に係る情報処理システム11が、図3に示されたようなプロジェクション型の情報処理システム11である場合、出力部33には、照明機器が含まれていてもよい。出力部33に照明機器が含まれる場合、情報処理システム11は、入力部31によって受け付けられた入力情報の内容に基づいて、照明機器の点灯、消灯等の状態を制御してもよい。また、本開示の実施の形態に係る情報処理システム11が、図3に示されたような上方プロジェクション型の情報処理システム11である場合、テーブル71だけではなく、テーブル71の上に置かれた物体にも情報を表示することも可能である。
 ユーザは、出力部33がテーブル71に表示する情報に対して、掌や指などを用いたジェスチャによって各種の操作入力を行うことができる。また、ユーザは、テーブル71に物体を置き、入力部31に物体を認識させることによって、情報処理システム11に、その物体に関する種々の処理を実行させることが可能である。
 図2に戻って説明を続ける。続いて、情報処理装置32の構成例について説明する。情報処理装置32は、手検出部51、ペアリング部52、3次元位置推定部53、フレーム数判定部54、相対速度/相対位置算出部55、ジェスチャ認識部56およびコマンド実行部57を備える。これらのブロックは、例えば、1または複数のCPU(Central Processing Unit)などといった処理装置によって構成される。これらのブロックが、CPUなどといった処理装置によって構成される場合、かかる処理装置は電子回路によって構成されてよい。また、それぞれがネットワーク上に構成されるサーバにより実現されるようにしてもよいし、クラウドコンピューティングにより実現されてもよい。
 手検出部51は、入力部31によって取得された入力情報に基づいて、腕を認識し、認識した腕の根本の位置と、その腕に繋がる操作体である手(掌および手首)の位置とを認識して検出し、入力情報と共に検出結果をペアリング部52に出力する。尚、ここでいう腕の根本の位置は、例えば、撮像された画像内におけるテーブル71の外周部と跨る位置に存在する腕の位置である。
 ペアリング部52は、入力情報と手の検出結果に基づいて、同一のユーザの右手と左手をペアリングする。
 ペアリング部52は、入力情報と手の検出結果に基づいて、左右の手と、その手に付帯する腕の根本の位置の情報を利用して同一ユーザの右手と左手とをペアリングする。
 <左右の手のペアリングの方法(その1)>
 より具体的には、例えば、入力情報として、図4の最左部で示されるようにテーブル71の天面上に、左手L1乃至L4、および右手R1乃至R4が映し出されている画像が用いられる場合について考える。
 尚、図4の最左部においては、左手L1と右手R1、左手L2と右手R2、左手L3と右手R3、および左手L4と右手R4が、それぞれ同一のユーザの左右の手である。
 従って、ペアリング部52は、左手L1と右手R1、左手L2と右手R2、左手L3と右手R3、および左手L4と右手R4をそれぞれ同一の人物の左手と右手のペアとしてペアリングする必要がある。
 そこで、ペアリング部52は、左手L1乃至L4の手首に繋がる腕の根本の位置のいずれか、または、右手R1乃至R4の手首に繋がる腕の根本の位置のいずれかを基準位置BPに設定する。ここで、例えば、図4の最左部で示されるように、左手L1の腕の根本の位置が基準位置BPに設定されるものとする。
 次に、左手の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周部に沿って反時計回り方向であって、基準位置BPから最も近い隣の位置に存在する腕の根本を検索し、検索された腕の根本の位置を参照位置RPに設定する。
 そして、ペアリング部52は、基準位置BPと参照位置RPのそれぞれの腕の根本に繋がる手をペアに設定する。
 すなわち、図4の最左部で示されるように、腕の根本の位置が基準位置BPとして設定された左手L1と、腕の根本の位置が参照位置RPとして設定された右手R1とがペアP1に設定される。以上の処理により、左手L1と右手R1とが同一人物の左右の手としてペアP1に設定される。
 次に、ペアリング部52は、テーブル71の外周に沿って反時計回りに参照位置RPから最も近い位置に存在する腕の根本を検索し、検索された腕の根本の位置を、新たな基準位置BPに設定する。
 すなわち、図4の左から2番目で示されるように、参照位置RPとなる右手R1の腕の位置からテーブル71の外周に沿って反時計回りに参照位置RPから最も近い位置に存在する腕の根本は、左手L2の腕の根本となるので、左手L2の腕の根本の位置が新たな基準位置BPに設定される。
 次に、左手L2の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って反時計回りであって、基準位置BPから最も近い隣の位置に存在する腕の根本として、右手R2の腕の根本を検索し、検索された右手R2の腕の根本の位置を参照位置RPに設定する。
 そして、図4の左から2番目で示されるように、腕の根本の位置が基準位置BPとして設定された左手L2と腕の根本の位置が参照位置RPとして設定された右手R2とがペアP2に設定される。
 以降、同様の処理が繰り返されることにより、図4の右から2番目で示されるように、左手L3の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが右手R3の腕の根本の位置に設定される。これにより、左手L3と右手R3とがペアP3に設定される。
 そして、図4の最右部で示されるように、左手L4の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが右手R4の腕の根本の位置に設定される。これにより、左手L4と右手R4とがペアP4に設定される。
 すなわち、図4で示されるように、左手L1と右手R1とがペアP1に、左手L2と右手R2とがペアP2に、左手L3と右手R3とがペアP3に、左手L4と右手R4とがペアP4に、それぞれ設定される。尚、図4を参照して説明したペアリング処理を、以降においては、反時計回りペアリング処理とも称する。
 <左右の手のペアリングの方法(その2)>
 また、以上においては、左手の腕の根本の位置を基準位置BPに設定し、テーブル71の外周に沿って反時計回りに、最も近い位置に存在する右手の腕の根本の位置を参照位置RPとする例について説明してきたが、右手の腕の根本の位置を基準位置BPに設定し、テーブル71の外周に沿って時計回りに、最も近い隣の位置に存在する左手の腕の根本の位置を参照位置RPとするようにしてもよい。
 すなわち、例えば、図5の最左部における右手R1の腕の根本の位置が基準位置BPに設定されるものとする。
 次に、右手の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って時計回りに、基準位置BPから最も近い隣の位置に存在する手の腕の根本を検索し、検索された左手の手首の位置を参照位置RPに設定する。
 そして、ペアリング部52は、基準位置BPと参照位置RPのそれぞれの腕に繋がる手をペアに設定する。
 すなわち、図5の最左部で示されるように、腕の根本の位置が基準位置BPに設定された右手R1と、腕の根本の位置が参照位置RPに設定された左手R1とがペアP1に設定される。すなわち、以上の処理により、左手L1と右手R1とが同一人物の左右の手としてペアP1に設定される。
 次に、ペアリング部52は、テーブル71の外周に沿って時計回りに参照位置RPから最も近い隣の位置に存在する腕の根本を検索し、検索された腕の根本の位置を、新たな基準位置BPに設定する。
 すなわち、図5の左から2番目で示されるように、参照位置RPに設定された左手L1の腕の根本の位置からテーブル71の外周に沿って時計回りに参照位置RPから最も近い隣の位置に存在する腕の根本は、右手R4の腕の根本となるので、右手R4の腕の根本の位置が新たな基準位置BPに設定される。
 次に、右手R4の腕の根本の位置が基準位置BPに設定された場合、ペアリング部52は、テーブル71の外周に沿って時計回りであって、基準位置BPから最も近い隣の位置に存在する腕の根本として、左手L4の腕の根本を検索し、検索された左手L4の腕の根本の位置を参照位置RPに設定する。
 そして、図5の左から2番目で示されるように、腕の根本の位置が基準位置BPに設定された右手R4と、腕の根本の位置が参照位置RPに設定された左手L4とがペアP4に設定される。
 以降、同様の処理が繰り返されることにより、図5の右から2番目で示されるように、右手R3の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが、左手L3の腕の根本の位置に設定される。これにより、左手L3と右手R3とがペアP3に設定される。
 そして、図5の最右部で示されるように、右手R2の腕の根本の位置が、新たな基準位置BPに設定され、対応する参照位置RPが左手L2の腕の根本の位置に設定される。これにより、左手L2と右手R2とがペアP2に設定される。
 すなわち、図4と同様に、図5で示されるように、左手L1と右手R1とがペアP1に、左手L2と右手R2とがペアP2に、左手L3と右手R3とがペアP3に、左手L4と右手R4とがペアP4に、それぞれ設定される。尚、図5を参照して説明したペアリング処理を、以降においては、時計回りペアリング処理とも称する。
 <左右の手のうちのいずれか一方の手のみが検出される場合(その1)>
 以上においては、いずれのユーザにおいても、左右の手を操作面であるテーブル71の天面上に置かれている状態の例について説明してきたが、いずれか一方の手のみがテーブル71の天面上に置かれている状態であることも想定される。このようなときには、テーブル71の天面上に置かれている左右のいずれかの1つの手でペアがなされているものとみなす。
 すなわち、左手の腕の根本の位置が基準位置BPとされる場合、図6の左部で示されるように、左手L1のみがテーブル71の天面上に置かれており、右手R1が置かれていないときには、基準位置BPとして左手L1の腕の位置が設定される。
 ここでは、図4を参照して説明した、反時計回りペアリング処理となるので、基準位置BPから反時計回りの方向に最も近い隣の位置に、他のユーザの左手L2が存在するが、左手L1のユーザの右手R1が存在しないので、ペアを形成することができない。
 このような場合には、腕の根本の位置が基準位置BPに設定されている左手L1と対になる右手が付近には存在しないものとみなして、左手L1のみで、ペアP1が形成されるようにする。
 すなわち、この場合、左手L1のユーザは、左手L1のみをテーブル71の天面上に置いており、右手をテーブル71の天面上に置いていないものとみなす。
 そして、図6の右部で示されるように、検索された左手L2の腕の位置が、新たな基準位置BPに設定される。
 以降においては、上述した反時計回りペアリング処理と同様の処理により、基準位置BPからテーブル71の外周に沿って反時計回りに最も近い位置の右手R2の腕の位置が参照位置RPに設定され、左手L2と右手R2とがペアP2に設定される。
 <左右の手のうちのいずれか一方の手のみが検出される場合(その2)>
 また、右手の腕の根本の位置が基準位置BPとされる場合、図7の左部で示されるように、右手R1のみがテーブル71の天面上に置かれており、左手L1が置かれていないときには、基準位置BPとして右手R1の腕の位置が設定される。
 ここでは、時計回りペアリング処理となるので、テーブル71の外周に沿って時計回りに、基準位置BPから最も近い位置には、他のユーザの右手R4が存在するが、右手R1のユーザの左手L1が存在しないので、ペアを形成することができない。
 このような場合には、基準位置BPの腕の右手R1と対になる左手が付近には存在しないものとみなして、右手R1のみで、ペアP1が形成されるようにする。
 すなわち、この場合、右手R1のユーザは、右手R1のみをテーブル71の天面上に置いており、左手をテーブル71の天面上に置いていないものとみなす。
 そして、図7の右部で示されるように、検索された右手R4の腕の位置が、新たな基準位置BPに設定される。
 以降においては、上述した時計回りペアリング処理と同様の処理により、基準位置BPからテーブル71の外周に沿って時計回りに最も近い位置の左手L4の腕の位置が参照位置RPに設定され、左手L4と右手R4とがペアP4に設定される。
 <左右の手が所定の距離より離れて検出される場合>
 以上においては、ユーザが、左右の手のいずれか一方のみがテーブル71の天面上に置かれている状態の例について説明してきたが、基準位置BPから参照位置RPが反時計回り、または、時計回りに最も近い位置に左右の手が検出されても、所定の距離よりも離れていれば、それぞれ異なるユーザの手であるものとみなすようにしてもよい。
 例えば、反時計回りペアリング処理の場合、図8の左部で示されるように、左手L1の腕の根本の位置が、基準位置BPに設定され、テーブル71の外周に沿って反時計回りに最も近い位置に存在する右手R2の腕の根本の位置が参照位置RPとして検出されるものとする。
 このとき、基準位置BPと参照位置RPとの距離Dが、所定の距離(例えば、人間が左右に腕を広げていることを想定したときの距離)よりも遠いときには、左手と右手のペアであっても、同一人物のペアであるとみなすことはできない。
 そこで、このような場合については、基準位置BPの左手L1のユーザが、左手L1のみをテーブル71の天面上に置いており、参照位置RPの右手R2のユーザは、左手L1のユーザとは異なるユーザであって、右手R1のみをテーブル71の天面上に置いているものとみなす。
 すなわち、このような場合については、図8の右部で示されるように、左手L1のみをペアP1’とみなし、右手R1のみをペアP2’とみなす。
 尚、ここでは、左手の腕の根本を基準位置BPとする反時計回りペアリング処理の例について説明しているが、右手の腕の根本を基準位置とする時計回りペアリング処理においても同様である。
 <基準位置と参照位置を腕の根本の位置とする理由>
 以上において、左手および右手の位置を特定するための基準位置および参照位置が、いずれも腕の根本の位置とされる。
 例えば、左手および右手(それぞれの掌)の位置が、テーブル71上の天面上に置かれる場合、図9の左部で示されるように、腕HLの先に存在する左手L1が図中の左側に位置し、腕HRの先に存在する右手R1が図中の右側に位置するときには、左手L1および右手R1の位置のみで左右の手の位置を確定させることができる。
 ところが、図9の右部で示されるように、腕を交差させて、左手L1がテーブル71上で図中の右側に位置し、右手R1がテーブル71上で図中の左側に位置するような場合、上述した一連の処理で左手L1および右手R1の位置を基準とすると適切なペアリングができない。
 しかしながら、腕HL,HRについては、腕を交差させても左右の腕の根本の位置関係に変化は生じない。画像認識においても、腕HLおよび腕HRと、左手L1および右手R1との位置関係については、認識することが可能である。
 このため、本開示においては、腕HR,HLの根本の位置に基づいて、基準位置BPおよび参照位置RFが設定されるようにすることで、左手L1および右手R1が適切にペアリングされるようにしている。
 以上においては、画像毎に検出される腕の根本の位置に基づいて、基準位置および参照位置に設定することで、ペアリングする例について説明してきたが、一度、ペアリングした右手、および左手、並びにそれぞれの腕の根本の位置については、連続して撮像される画像をトラッキング(追跡)することで、ペアとなる右手および左手によるジェスチャを認識するようにしてもよい。
 ここで、図2の情報処理装置32の説明に戻る。
 3次元位置推定部53は、入力部31によって取得された入力情報に基づいて、操作体の各点の例として、ユーザの身体の各点の3次元位置を推定する。ユーザの身体の各点は、ユーザの手の各点(例えば、指における所定の点、掌における所定の点など)、手首における所定の点(例えば、手首位置)、肘における所定の点(例えば、肘関節位置)などを含む。以下、3次元位置推定部53によって推定されるユーザの身体の各点の例として、ユーザの手の各点、手首位置および肘関節位置について説明する。しかしながら、ユーザの身体の各点は、肩における所定の点(例えば、肩関節位置)なども含むようにしてもよい。
 <身体の各点の例>
 図10乃至図12は、3次元位置推定部53によって3次元位置が推定されるユーザの身体の各点の例を示す図である。
 図10乃至図12を参照すると、ユーザの身体の各点の例として、小指の先端位置P1、小指の関節位置P2、薬指の先端位置P3、薬指の関節位置P4、中指の先端位置P5、中指の関節位置P6、人さし指の先端位置P7、人さし指の関節位置P8、親指の先端位置P9、親指の先端から一つ目の関節位置P10、親指の先端から二つ目の関節位置P11、手首位置(小指側)P12、手首位置(親指側)P13、手の中心位置P14、肘関節位置P15、上腕の付け根位置P16が示されている。
 本開示の実施の形態においては、3次元位置推定部53によって位置P1乃至P16すべてが原則として取得される場合を主に想定する。
 しかしながら、3次元位置推定部53によって、位置P1乃至P16の一部のみが取得されてもよい。
 また、入力部31とユーザとの位置関係によっては、位置P1乃至P16の一部が取得されない場合なども想定される。例えば、上腕の付け根位置P16が直接取得されない場合もあり得る。かかる場合であっても、肘関節位置P15と上腕の付け根位置P16との間のいずれかの位置が取得されれば、当該位置を上腕の付け根位置P16の代わりに用いることが可能である。
 なお、手の中心位置P14は、5本の指それぞれの付け根と手首との間(すなわち、掌)における所定の位置であれば特に限定されない。例えば、手の中心位置P14は、複数点の重心位置であってもよい。また、手首位置(小指側)P12は、手首位置として得られる2つの位置のうち、より親指に近い位置であればよく、手首位置(親指側)P13は、手首位置として得られる2つの位置のうち、より小指に近い位置であればよい。手首位置(小指側)P12および手首位置(親指側)P13それぞれも、各位置の検出アルゴリズムなどに応じて適宜に変更されてよい。
 次に、3次元位置推定部53により行われる3次元位置推定手法について説明する。図13は、3次元位置推定手法の概要を説明するための図である。ここでは、手の各点の3次元位置が推定される場合について主に説明する。
 しかしながら、上記したように、手の各点以外の3次元位置も推定され得る。例えば、入力部31によって、手でコーヒーカップを掴む画像(画像IM1)が取得された場合を想定する。このとき、3次元位置推定部53によって、画像IM1に基づいて、特徴量が算出される。特徴量としては、CNN(Convolutional Neural Network)に基づく特徴量、HOG(Histograms of Oriented Gradients)特徴量、SIFT(Scale Invariant Feature Transform)に基づく特徴量を挙げることができる。
 そして、3次元位置推定部53は、得られた特徴量に対して、検出、識別およびセグメンテーションなどといった所定のアルゴリズムを用いた解析を施すことによって、ユーザの手の各点の3次元位置を推定する。アルゴリズムとしては、上述したCNN、ブースティング(Boosting)、SVM(Support Vector Machine)、Graph Cut等を適用することができる。
 そして、3次元位置推定部53は、解析結果に応じて、図13において参照符号AAで示すようにユーザの手の各点の3次元位置を検出することができる。また、3次元位置推定部53は、図13において参照符号BBで示すように手の位置や姿勢を検出することができる。なお、参照符号BBで示される図において、手に付された丸印は特徴点CPを示している。
 さらに、3次元位置推定部53は、複数フレームの画像に対して上述した処理を行うことにより、図13において参照符号CC(CC1乃至CC4)に示すように、手の動きを認識することも可能である。参照符号CC1が付された手の動きは、手を水平方向に動かす例(Horizontal)を示している。参照符号CC2が付された手の動きは、手を垂直方向に動かす例(Vertical)を示している。参照符号CC3が付された手の動きは、手を右回り(時計回り)に動かす例(Clockwise)を示している。参照符号CC4が付された手の動きは、手を左回り(反時計回り)に動かす例(Counterclockwise)を示している。勿論、認識される手の動きは、例示したものに限定されることなく、様々な手の動きの認識が可能である。また、上述した処理は、例示されたアルゴリズムに基づくものではなく、公知の手法を適用することができる。
 次に、図14乃至図16を参照して、3次元位置推定手法の例について説明する。図14に示すグラフの横軸は、入力画像の例を示している。図14に示す例では、3個の入力画像IM5、IM6及びIM7が示されている。図14に示すグラフの縦軸は、入力画像に対応する手の特徴点の座標(位置)である。座標は、(xt,yt,zt)(但し、tはフレーム番号)として示されている。また、例えば、xtは、xt=(xt0,xt1・・・xtn)(但し、nは特徴点の点数)で表される。即ち、xtは、各特徴点のx座標の集合を示している。各特徴点のyt,ztについても同様である。
 3次元位置推定部53は、入力画像に対する手の特徴点の座標を学習することにより、図15に示すように、入力画像と手の各点の座標との相関関係を求めることができる。なお、図15に示す例では、入力画像と手の各点の座標との相関関係の例として、線形の相関関係が示されている。
 しかしながら、入力画像と手の各点の座標との相関関係は、他の相関関係(例えば、非線形など)であってもよい。
 3次元位置推定部53は、入力画像と手の各点の座標との相関関係を求めた後、図16に示すように、画像IM8が入力された場合には、当該相関関係に基づいて、画像IM8の手の座標位置を推定することができる。以上に説明した3次元位置推定手法を用いて、3次元位置推定部53によって、手の各点の位置が推定されるようにしてもよい。なお、ここでは入力画像に対する手の特徴点の座標が学習される場合を想定したが、学習前に入力画像から特徴量が抽出される場合には、特徴量に対する手の特徴点の座標が学習されてもよい。
 図2に戻って説明を続ける。3次元位置推定部53は、推定した操作体の各点の3次元位置情報(上記では、ユーザの手の各点の3次元位置情報)を記憶部58に記憶させる。フレーム数判定部54は、所定のフレーム数に相当する3次元位置情報が3次元位置推定部53によって得られたか(すなわち、所定のフレーム数に相当する3次元位置情報が記憶部58に保存されたか)を判定する。所定のフレーム数は特に限定されず、2以上であればよい。
 相対速度/相対位置算出部55は、フレーム数判定部54によって、所定のフレーム数に相当する3次元位置情報が得られたと判定されると、記憶部58によって記憶されている操作体の各点の3次元位置情報に基づいて、操作体の各点の絶対位置を算出する。
 そして、相対速度/相対位置算出部55は、操作体の各点の絶対位置に基づいて、操作体の基準点に対する操作体の操作点の相対位置を算出する。なお、本明細書においては、相対位置が3次元ベクトルである場合を主に想定する。しかしながら、相対位置は2次元ベクトルであってもよいし、スカラであってもよい。
 あるいは、相対速度/相対位置算出部55は、操作体の各点の3次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。そして、相対速度/相対位置算出部55は、各点の絶対速度に基づいて、操作体の基準点に対する操作体の操作点の相対速度を算出する。具体的に、操作点の相対速度を「V(操作点の相対速度)」とし、操作点の絶対速度を「V(操作点の絶対速度)」とし、基準点の絶対速度を「V(基準点の絶対速度)」とすると、V(操作点の相対速度)は、V(操作点の絶対速度)とV(基準点の絶対速度)とに基づいて、以下の式(1)に示すように算出される。
 V(操作点の相対速度)=V(操作点の絶対速度)-V(基準点の絶対速度)…(1)
 なお、本明細書においては、相対速度が3次元ベクトルである場合を主に想定する。しかしながら、相対位置は2次元ベクトルであってもよいし、スカラであってもよい。ジェスチャ認識部56は、相対速度/相対位置算出部55によって算出された操作体の基準点に対する操作点の相対位置または相対速度に基づいて、操作体のジェスチャを認識する。これによって、操作体によるジェスチャをより高精度に認識することが可能となる。
 より具体的には、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度が閾値を上回る場合に、第1のジェスチャを認識する。一方、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度が閾値以下である場合に、第1のジェスチャとは異なる第2のジェスチャを認識する。なお、基準点に対する操作点の相対位置または相対速度が閾値と等しい場合には、第1のジェスチャが認識されてもよい。また、相対位置または相対速度がベクトル(2次元ベクトルまたは3次元ベクトル)である場合、閾値と比較される相対位置または相対速度は、ベクトルの長さに置き換えられればよい。
 図17は、本開示の実施の形態に係るジェスチャ認識について説明するための図である。図17に示した例においても、ユーザがキー入力を行おうとし、入力キーを変更するために紙面の右方向に絶対速度V1で掌を移動させながら、キー入力を行うために掌に対する指先の相対速度V2で指先を下方向に移動させた場合を想定する。このとき、指先の絶対速度V12は、掌の絶対速度V1と掌に対する指先の相対速度V2とが合成された速度になってしまう。
 しかしながら、本開示の実施の形態に係るジェスチャ認識では、入力キーの変更による速度成分が除外されてキー入力があったかが判定されるため、キー入力(操作体によるジェスチャ)を高精度に認識することが可能である。
 なお、以下では、ジェスチャ認識部56が、操作体の基準点に対する操作点の相対速度に基づいて操作体のジェスチャを認識する場合を主に想定する。しかしながら、ジェスチャ認識部56は、操作体の基準点に対する操作点の相対位置および相対速度の少なくともいずれか一方に基づいて、操作体のジェスチャを認識すればよい。
 コマンド実行部57は、ジェスチャ認識部56によって認識されたジェスチャに対応するコマンドを決定するコマンド決定部として機能し得る。また、コマンド実行部57は、決定したコマンドを実行する。ここで、コマンド実行部57によって実行されるコマンドの種類は限定されない。例えば、コマンド実行部57によって実行されるコマンドの種類は、情報処理装置32において実行されるアプリケーションに応じて適宜に変更されてよい。
 <ペアリングした左右のジェスチャに対応するコマンドの例(その1)>
 ペアリングした左右の手を用いたジェスチャに対応するコマンドの例としては、例えば、図18の上段で示されるように、左手で人差指のみを立てるジェスチャF1と、右手の人差指でテーブル71の天面上を当接してなぞるようなジェスチャF11の操作入力が受け付けられるときには、右手の人差指によりなぞった経路に沿って、筆のようなペンを用いた描画を表示するコマンドにしてもよい。
 また、例えば、図18の下段で示されるように、左手で人差指と中指を立てるジェスチャF2と、右手の人差指でテーブル71の天面上を当接してなぞるようなジェスチャF12との操作入力が受け付けられるときには、右手の人差指によりなぞった経路に沿って、マーカのようなペンを用いた描画を表示するコマンドにしてもよい。
 このとき、左手の指の曲げ具合により、ペンの太さや色、並びにペンの種類などをシームレスに変化するようにしてもよい。
 <ジェスチャに対応するコマンドの例(その2)>
 また、ペアリングした左右の手を用いたジェスチャにより、テキスト文字を入力するコマンドを実現してもよい。
 より詳細には、左手の指で子音を指定して、右手の人差指のフリック操作により母音を指定して、母音と子音の組み合わせにより特定される文字を入力するようなコマンドを実現するようにしてもよい。
 例えば、図19の左部で示されるように、左手L11をテーブル71の天面に伏せた状態で中指をテーブル71の天面にタッチしながら、右手R11の人差指を左方向にフリックするときには、左手により子音としての「ぱ行」が特定され、右手により母音としての「お」が特定されることで「ポ」という文字の入力が受け付けられるようにする。
 また、図19の中央部で示されるように、左手L11を伏せた状態で薬指をテーブル71の天面にタッチしながら、右手R11の人差指を上方向にフリックするときには、左手により子音としての「な行」が特定され、右手により母音としての「い」が特定されることで「ニ」という文字の入力が受け付けられるようにする。
 さらに、図19の右部で示されるように、左手L11の掌がテーブル71の天面に対して背面となるようにして、親指でテーブル71の天面をタッチしながら、右手R11の人差指を上方向にフリックするときには、左手により、促音・撥音・拗音・長音等の特殊音が特定され、右手により母音としての「長音」が特定されることで「-」という文字の入力が受け付けられるようにする。
 そして、図19のジェスチャが図中の左から順番に連続的に操作入力として受け付けられることにより「ポニー」のテキスト文字の入力が受け付けられるようにしてもよい。
 <ジェスチャに対応するコマンドの例(その3)>
 また、ペアリングした左右の手を用いたジェスチャにより、画像を操作するコマンドを実現してもよい。
 より詳細には、図20の左部で示されるように、ペアリングされている左手L21と右手R21とのそれぞれの人差指でテーブル71上に表示されている画像Pに当接しながら距離を変化させるようなジェスチャが操作入力として受け付けられるときには、相互の距離に応じて画像Pのサイズを拡大または縮小させて表示させるコマンドを実現してもよい。すなわち、左手L21と右手R21のそれぞれの指の距離が大きくなり、離れるほど、画像Pが拡大されるようにし、左手L21と右手R21のそれぞれの指の距離が小さくなり、近くなるほど、画像Pが縮小されるようにしてもよい。
 また、右手R21のみで、人差指と親指とで画像Pに当接しながら、相互の距離を変化させるようなジェスチャが操作入力として受け付けられるときには、人差指と親指との距離に応じて画像Pのサイズを拡大または縮小させて表示させるコマンドを実現してもよい。
 さらに、図20の右上部で示されるように、ペアリングされていない左手L31と右手R31とのそれぞれの人差指で、テーブル71上に表示されている画像Pに当接しながら、図20の左下部で示されるように、相互に離れるように変化させるようなジェスチャが操作入力として受け付けられるときには、相互の人差指のそれぞれの位置に、画像P,P’をコピーして、表示させるコマンドを実現してもよい。尚、図20の右上部の例では、左手L31と右手R31とを用いる例について説明してきたが、ペアリングされていない手でよいので、右手と右手や、左手と左手であってもよい。
 また、画像に対する操作のみならず、システム操作に対するコマンドを実現するようにしてもよい。
 例えば、ペアリングされている左右のいずれかの手の人差指と中指を所定時間よりも長くタッチする(以降、長タッチとも称する)ことでコピーを指示したり、人差指と薬指の長タッチでカット等のシステム操作を指示するコマンドを実現するようにしてもよい。
 また、ペアリングされている左手をテーブル71の天面に当接して、右手の人差指でドラッグすることで、画面スクロールを指示したり、右手をテーブル71の天面に当接して、左手の人差指でドラッグすることで、ページジャンプを指示するコマンドを実現してもよい。
 さらに、ペアリングされている左右の手を握り合わせることによりデータ保存を指示するコマンドを実現するようにしてもよい。
 また、ペアリングされていない手同士が握り合わせている場合、握っている手が、左手同士、または、右手同士のいずれかであるときには、ユーザ同士のデータ交換を指示し、握っている手が、右手と左手であるときには、左手のユーザから右手のユーザに、または、左手のユーザから右手のユーザにデータ転送を指示するコマンドを実現するようにしてもよい。
 さらに、ペアリングされていない手同士が握り合わせている場合、握っていない手が、同一の手形状であるとき(例えば、いずれの手も手を開いている、握っている等のとき)には、ユーザ同士のデータ交換を指示し、握っていない手が、異なる手形状であるときには、第1の手形状のユーザから第2の手形状のユーザにデータ転送を指示するコマンドを実現するようにしてもよい。
 <<3.情報処理システムによる情報処理>>
 次に、図21のフローチャートを参照して、本開示の実施の形態に係る情報処理システム11による情報処理について説明する。
 ステップS11において、入力部31は、操作体の例としてのユーザの手を時間軸に沿って、例えば、カメラ等の画像センサにより撮像される(センシングされる)画像の入力(取得)を受け付ける。
 ステップS12において、手検出部51は、入力部31によって得られた画像に基づいて、画像内における手の位置を検出する。より詳細には、手検出部51は、画像内における腕の領域を認識し、認識した腕の領域の端部において掌の領域を認識し、掌の領域における親指の向き等により右手または左手を認識し、それぞれの認識結果を画像内における手の位置として検出する。このとき、手検出部51は、検出した手のそれぞれについて、左手、または右手を認識するとともに、それぞれの腕の根本の位置を手の検出結果としてペアリング部52に出力する。
 ステップS13において、ペアリング部52は、手の検出結果に基づいて、ペアリング処理を実行して、左右の手をそれぞれ同一人物の両手としてペアリングする。
 尚、ペアリング処理の詳細については、図22乃至図24のフローチャートを参照して、後述する。
 ステップS14において、3次元位置推定部53は、ペアリング処理により設定された右手および左手ペア(右手のみ、もしくは左手のみのペアを含む)のうち、未処理のペアのいずれかを処理対象のペアに設定する。
 ステップS15において、3次元位置推定部53は、入力部31によって得られた画像内における、処理対象に設定されたペアとなる右手および左手について、それぞれの手の各点の3次元位置を推定する。なお、3次元位置推定部53によって3次元位置が推定される各点は、上記したように、ユーザの手の各点に限定されない。
 ステップS16において、3次元位置推定部53は、処理対象に設定されたペアの右手および左手の3次元位置をペア毎に対応付けて記憶部58に保存する。
 ステップS17において、3次元位置推定部53は、入力部31によって得られた画像内における、ペアリング処理により設定された右手および左手のペアのうち、未処理のペアが存在するか否かを判定する。
 ステップS17において、未処理のペアが存在する場合、処理は、ステップS14に戻る。
 すなわち、入力部31によって得られた画像内における、未処理の右手および左手のペアがなくなるまで、ステップS14乃至S17の処理が繰り返されて、それぞれの3次元位置情報が記憶部58にそれぞれ保存される。
 そして、ステップS17において、入力部31によって得られた画像内における、未処理の右手および左手のペアが存在しないと判定された場合、処理は、ステップS18に進む。
 ステップS18において、フレーム数判定部54は、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られたかを判定する。
 ステップS18において、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られていないと判定された場合、処理は、ステップS11の処理に戻る。
 一方、ステップS18において、指定フレーム数(所定のフレーム数)に相当する3次元位置情報が3次元位置推定部53によって得られたと判定された場合、処理は、ステップS19に進む。
 ステップS19において、相対速度/相対位置算出部55は、記憶部58に記憶されているペアのうち、3次元位置情報についての処理が未処理のペアを処理対象のペアに設定する。
 ステップS20において、相対速度/相対位置算出部55は、記憶部58によって記憶されているペアのうち、処理対象に設定されたペアの右手および左手のそれぞれの各点の3次元位置情報に基づいて、右手および左手のそれぞれの各点の絶対位置を算出する。
 そして、相対速度/相対位置算出部55は、処理対象に設定されたペアの右手および左手のそれぞれの各点の絶対位置に基づいて、処理対象に設定されたペアの右手および左手の基準点に対する手の操作点の相対位置を算出する。
 または、相対速度/相対位置算出部55は、処理対象に設定されたペアの右手および左手のそれぞれの各点の3次元位置の時間方向の変化に基づいて、各点の絶対速度を算出する。
 そして、相対速度/相対位置算出部55は、各点の絶対速度に基づいて、処理対象に設定されたペアの右手および左手のそれぞれの手の基準点に対する手の操作点の相対速度を算出する。
 ステップS21において、ジェスチャ認識部56は、相対速度/相対位置算出部55によって算出された操作体である、処理対象に設定されたペアの右手および左手のそれぞれの手の基準点に対する操作点の相対位置または相対速度に基づいて、手のジェスチャを認識する。
 ステップS22において、相対速度/相対位置算出部55は、記憶部58に記憶されているペアのうち、3次元位置情報についての処理が未処理のペアが存在するか否かを判定する。
 ステップS22において、記憶部58に記憶されているペアの3次元位置の情報のうち、3次元位置情報についての処理が未処理のペアが存在すると判定された場合、処理は、ステップS19に戻る。
 すなわち、記憶部58に記憶されているペアの全てについて、ジェスチャが認識されるまで、ステップS19乃至S22の処理が繰り返される。
 そして、全てのペアについて、ジェスチャが認識されて、ステップS22において、全てのペアについて、ジェスチャが認識されたと判定された場合、処理は、ステップS23に進む。
 すなわち、ステップS19乃至S23の処理により、記憶部58に記憶されている全てのペアの右手および左手のそれぞれの手によるジェスチャをより高精度に認識することが可能となる。
 より具体的には、ジェスチャ認識部56は、基準点に対する操作点の相対位置または相対速度に基づいて、例えば、上述した図18乃至図20を参照して説明したジェスチャ等を認識することが可能となる。
 ステップS24において、コマンド実行部57は、ジェスチャ認識部56によって認識された全てのペアの右手および左手のそれぞれの手によるジェスチャに対応するコマンドを決定する。
 そして、コマンド実行部57は、ジェスチャ認識部56によって認識された全てのペアの右手および左手のそれぞれの手によるジェスチャに対応するコマンドを実行する。
 上記したように、コマンド実行部57によって実行されるコマンドの種類は、情報処理装置32において実行されるアプリケーションに応じて適宜に変更されてよい。
 <ペアリング処理>
 次に、図22のフローチャートを参照して、ペアリング処理について説明する。
 ステップS41において、ペアリング部52は、入力部31によって得られた画像に基づいて、右手および左手を認識するとともに、それぞれの腕の根本の位置を検出する。
 すなわち、ここでは、入力部31によって得られた画像内における右手および左手の位置情報と、右手および左手のそれぞれに繋がった腕の根本の位置がテーブル71上の画像の端部における位置情報が検出される。
 ステップS42において、ペアリング部52は、検出結果において、左手が存在するか否かを判定する。
 ステップS42において、1つでも左手が存在すると判定された場合、処理は、ステップS43に進む。
 ステップS43において、ペアリング部52は、反時計回りペアリング処理を実行して、入力部31によって得られた画像内における、全ての左手および右手のペアを設定する。
 尚、反時計回りペアリング処理については、図23のフローチャートを参照して、詳細を後述する。
 一方、ステップS42において、左手が全く存在しないと判定された場合、処理は、ステップS44に進む。
 ステップS44において、ペアリング部52は、時計回りペアリング処理を実行して、入力部31によって得られた画像内における、全ての左手および右手のペアを設定する。
 尚、時計回りペアリング処理については、図24のフローチャートを参照して、詳細を後述する。
 ステップS45において、ペアリング部52は、全てのペアについて、腕の根本の位置の間の距離を算出する。
 ステップS46において、ペアリング部52は、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内であるか否かを判定する。尚、左手のみ、または、右手のみのペアについては、離れることがないので、所定の距離以内であるものとみなす。
 ステップS46において、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内ではないと判定された場合、処理は、ステップS47に進む。
 ステップS47において、ペアリング部52は、図8を参照して説明したように、腕の根本の位置の間の距離が所定の距離以内ではないペアの右手と左手については、それぞれ異なるペアとして分離して設定する。
 尚、この場合、分離された右手、または左手は、いずれも単独になるが、単独の右手のみ、または左手のみでペアが設定されるものとする。
 また、ステップS46において、全てのペアについて、腕の根本の位置の間の距離が所定の距離以内であると判定された場合、ステップS47の処理はスキップされる。
 以上の処理により、右手および左手がペアに設定されて、それぞれの腕の根本の距離が所定の距離以内ではないペアについては、左手のみ、および、右手のみが、それぞれ単独のペアとして設定される。
 尚、左手がある場合とそうでない場合により、反時計回りペアリング処理と時計回りペアリング処理とが分けられる処理としているが、反時計回りペアリング処理は、基準位置として左手が用いられ、時計回りペアリング処理では、基準位置として右手が用いられるためである。したがって、図22のフローチャートの処理では、左手がない場合については、右手が存在することが前提とされるが、右手もない場合については、処理を終了させるようにしてもよい。また、反時計回りペアリング処理、および時計回りペアリング処理の両方が用いられてペアリングがなされているのは、ペアリングを高精度に行うためであり、全てのユーザが、左手および右手の両方をテーブル71の天面である操作面上に置いていることが想定されるような場合や、設定により、反時計回りペアリング処理、および時計回りペアリング処理のいずれか一方の処理のみでもよい。
 <反時計回りペアリング処理>
 次に、図23のフローチャートを参照して、反時計回りペアリング処理について説明する。
 ステップS61において、ペアリング部52は、検出結果のうちの左手群のうちの任意の腕の根本の位置を基準位置に設定する。
 ステップS62において、ペアリング部52は、現在の基準位置からテーブル71の外周に沿って、反時計回りに最も近い位置に存在する手の腕の根本の位置を参照位置に設定する。
 ステップS63において、ペアリング部52は、参照位置に設定された腕の手が左手であるか否かを判定する。
 ステップS63において、参照位置に設定された腕の手が左手ではないと判定された場合、すなわち、参照位置に設定された腕の手が右手であると判定された場合、処理は、ステップS64に進む。
 ステップS64において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する右手および左手を、ペアに設定する。
 一方、ステップS63において、参照位置に設定された腕の手が左手であると判定された場合、すなわち、参照位置に設定された腕の手も、基準位置に設定された腕の手もが左手であると判定された場合、処理は、ステップS65に進む。
 ステップS65において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する2本の左手を、それぞれ左手のみの異なるペアに設定する。
 ステップS66において、ペアリング部52は、ペアに設定された左手および右手の情報を取得する。
 ステップS67において、ペアリング部52は、ペアリングされていない、未処理の左手があるか否かを判定する。
 ステップS67において、未処理の左手があるとみなされた場合、処理は、ステップS68に進む。
 ステップS68において、ペアリング部52は、左手群のうち、ペアリングされていない左手の腕の根本の位置を基準位置に設定し、処理は、ステップS62に戻る。
 すなわち、未処理の左手がなくなるまで、ステップS62乃至S68の処理が繰り返されて、図4を参照して説明したように、順次、ペアが設定される。
 そして、ステップS67において、全ての手がペアに設定されて、未処理の左手がないとみなされた場合、処理は、終了する。
 以上の処理により、左手の腕の根本の位置が順次基準位置に設定され、テーブル71の外周方向に沿って、反時計回りに近い位置に存在する右手がペアに設定される処理が繰り返されて、ペアが設定される。
 この際、左手の反時計回りに最も近い位置の隣に手が左手である場合には、それぞれが単独に異なる左手のみのペアに設定され、全ての手が、ペアに設定される。
 <時計回りペアリング処理>
 次に、図24のフローチャートを参照して、時計回りペアリング処理について説明する。
 ステップS81において、ペアリング部52は、検出結果のうちの右手群のうちの任意の腕の根本の位置を基準位置に設定する。
 ステップS82において、ペアリング部52は、現在の基準位置からテーブル71の外周に沿って、時計回りに最も近い位置に存在する手の腕の根本の位置を参照位置に設定する。
 ステップS83において、ペアリング部52は、参照位置に設定された腕の手が右手であるか否かを判定する。
 ステップS83において、参照位置に設定された腕の手が右手ではないと判定された場合、すなわち、参照位置に設定された腕の手が左手であると判定された場合、処理は、ステップS84に進む。
 ステップS84において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する右手および左手を、ペアに設定する。
 一方、ステップS83において、参照位置に設定された腕の手が右手であると判定された場合、すなわち、参照位置に設定された腕の手も、基準位置に設定された腕の手もいずれもが右手であると判定された場合、処理は、ステップS85に進む。
 ステップS85において、ペアリング部52は、基準位置および参照位置に腕の根本が位置する2本の右手を、それぞれ異なる右手のみの片手のペアに設定する。
 ステップS86において、ペアリング部52は、ペアに設定された左手および右手の情報を取得する。
 ステップS87において、ペアリング部52は、ペアリングされていない未処理の右手があるか否かを判定する。
 ステップS87において、未処理の右手があるとみなされた場合、処理は、ステップS88に進む。
 ステップS88において、ペアリング部52は、右手群のうち、ペアリングされていない右手の腕の根本の位置を基準位置に設定し、処理は、ステップS82に戻る。
 すなわち、未処理の右手がなくなるまで、ステップS82乃至S88の処理が繰り返されて、図5を参照して説明したように、順次、ペアが設定される。
 そして、ステップS87において、全ての手がペアに設定されて、未処理の右手がないとみなされた場合、処理は、終了する。
 以上の処理により、右手の腕の根本の位置が順次基準位置に設定され、テーブル71の外周方向に沿って、時計回りに近い位置に存在する左手とがペアに設定される処理が繰り返されて、ペアが設定される。
 この際、右手のテーブル71の外周に沿って時計回りの方向に最も近い位置の隣の手が右手である場合には、それぞれが単独に右手のみのペアに設定され、全ての手が、ペアに設定される。
 以上の一連の処理により、複数のユーザの手による操作入力を受け付ける際に、左右の手をユーザ毎に適切にペアリングすることが可能となる。
 <ペアリング処理のその他の例>
 図22を参照して説明したペアリング処理においては、左手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定する例について説明してきたが、右手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定するようにしてもよい。
 そこで、図25を参照して、右手の有無により反時計回りペアリング処理とするか、時計回りペアリング処理とするかを判定するペアリング処理のその他の例について説明する。
 尚、図25のフローチャートにおけるステップS101,S104,S103,S105乃至S107の処理は、図22のフローチャートにおけるステップS41,S43乃至S47の処理と同様であるので、その説明は省略する。
 すなわち、ステップS102において、ペアリング部52は、検出結果において、右手が存在するか否かを判定する。
 ステップS102において、1つでも右手が存在すると判定された場合、処理は、ステップS103に進み、時計回りペアリング処理を実行する。
 一方、ステップS102において、右手が全く存在しないと判定された場合、処理は、ステップS104に進み、反時計回りペアリング処理を実行する。
 尚、ペアリング処理は、図22の処理とするか図25の処理とするかを選択できるようにしてもよい。
 <<4.ソフトウェアにより実行させる例>>
 ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
 図26は、汎用のコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
 入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
 CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
 以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 尚、図26におけるCPU1001が、図2の情報処理装置32の機能を実現させる。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 尚、本開示は、以下のような構成も取ることができる。
<1> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
 前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
 前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
 を備える情報処理装置。
<2> 前記ペアリング部は、前記手検出部により検出された手のいずれかを基準の手に設定し、前記基準の手の腕の根本の位置を基準位置に設定し、前記基準位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、腕の根本の位置を参照位置に設定し、前記腕の根本の位置が参照位置となる手と、前記腕の根本の位置が前記基準位置となる手とを同一のユーザの左右の手のペアとして設定する
 <1>に記載の情報処理装置。
<3> 前記参照位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、前記腕の根本の位置を新たな基準位置に設定し、前記新たな基準位置に対する新たな参照位置を設定し、前記腕の根本の位置が前記新たな基準位置となる手と、前記腕の根本の位置が前記新たな参照位置となる手とを、新たな同一のユーザの左右の手のペアに設定し、以降同様の処理を繰り返すことにより、前記画像内における前記ユーザ毎の左右の手をペアリングする
 <2>に記載の情報処理装置。
<4> 前記ペアリング部は、前記手検出部により検出されたいずれかの左手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、前記操作面の外周に沿って反時計回り方向であって、最も近い隣の、前記腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる左手と、前記腕の根本の位置が前記参照位置となる右手とを同一のユーザの左右の手のペアとして設定する
 <2>に記載の情報処理装置。
<5> 前記ペアリング部は、前記手検出部により検出されたいずれかの右手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、操作面の外周に沿って時計回り方向であって、最も近い隣の、左手の腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる右手と、前記腕の根本の位置が前記参照位置となる左手とを同一のユーザの左右の手のペアとして設定する
 <2>に記載の情報処理装置。
<6> 前記ペアリング部は、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とが、いずれも右手、または、左手である場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
 <2>に記載の情報処理装置。
<7> 前記ペアリング部は、前記参照位置と、前記基準位置との距離が所定の距離よりも離れている場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
 <2>に記載の情報処理装置。
<8> 前記所定の距離は、人間が両腕を広げた距離である
 <7>に記載の情報処理装置。
<9> 前記ペアリング部によりペアとして設定された左手および右手のうちの少なくともいずれかのジェスチャを認識するジェスチャ認識部と、
 前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを決定するコマンド決定部とをさらに含む
 <1>乃至<8>のいずれかに記載の情報処理装置。
<10> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指の動きに応じた軌跡の情報、および、他方の手の掌の形状の情報を、前記ジェスチャとして認識する
 <9>に記載の情報処理装置。
<11> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記掌の形状の情報に対応する筆記具による、前記軌跡の情報に対応した描画として表示させるコマンドに決定する
 <10>に記載の情報処理装置。
<12> 前記筆記具は、筆、およびマーカのいずれかを含む
 <11>に記載の情報処理装置。
<13> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指のうちの、操作面にタッチする指の情報、および、他方の手の指のフリック方向の情報を、前記ジェスチャとして認識する
 <9>に記載の情報処理装置。
<14> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、操作面にタッチする指の情報に対応する子音と、前記フリック方向の情報に対応した母音とからなる文字の入力を受け付けるコマンドに決定する
 <13>に記載の情報処理装置。
<15> 前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの少なくとも2本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
 <9>に記載の情報処理装置。
<16> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記2本の指の距離に応じて、前記画像を拡大、または縮小して表示するコマンドに決定する
 <15>に記載の情報処理装置。
<17> 前記ジェスチャ認識部は、異なるユーザの左手のみ、または、右手のみの前記ペアとして設定された、それぞれ前記ユーザが異なる、少なくとも1本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
 <9>に記載の情報処理装置。
<18> 前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、それぞれ前記ユーザが異なる、少なくとも1本の指の軌道のそれぞれに前記画像をコピーして表示するコマンドに決定する
 <17>に記載の情報処理装置。
<19> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得処理と、
 前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出処理と、
 前記手検出処理により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング処理と
 を含む情報処理方法。
<20> ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
 前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
 前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
 してコンピュータを機能させるプログラム。
 11 情報処理システム, 31 入力部, 32 情報処理装置, 33 出力部, 71 テーブル, 51 手検出部, 52 ペアリング部, 53 3次元位置推定部, 54 フレーム数判定部, 55 相対位置/相対速度算出部, 56 ジェスチャ認識部, 57 コマンド実行部, 58 記憶部

Claims (20)

  1.  ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
     前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
     前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
     を備える情報処理装置。
  2.  前記ペアリング部は、前記手検出部により検出された手のいずれかを基準の手に設定し、前記基準の手の腕の根本の位置を基準位置に設定し、前記基準位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、腕の根本の位置を参照位置に設定し、前記腕の根本の位置が参照位置となる手と、前記腕の根本の位置が前記基準位置となる手とを同一のユーザの左右の手のペアとして設定する
     請求項1に記載の情報処理装置。
  3.  前記参照位置に対して、前記基準の手が左手または右手であるかに応じた方向で、かつ、最も近い隣の、前記腕の根本の位置を新たな基準位置に設定し、前記新たな基準位置に対する新たな参照位置を設定し、前記腕の根本の位置が前記新たな基準位置となる手と、前記腕の根本の位置が前記新たな参照位置となる手とを、新たな同一のユーザの左右の手のペアに設定し、以降同様の処理を繰り返すことにより、前記画像内における前記ユーザ毎の左右の手をペアリングする
     請求項2に記載の情報処理装置。
  4.  前記ペアリング部は、前記手検出部により検出されたいずれかの左手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、前記操作面の外周に沿って反時計回り方向であって、最も近い隣の、前記腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる左手と、前記腕の根本の位置が前記参照位置となる右手とを同一のユーザの左右の手のペアとして設定する
     請求項2に記載の情報処理装置。
  5.  前記ペアリング部は、前記手検出部により検出されたいずれかの右手の腕の根本の位置を前記基準位置に設定し、前記基準位置に対して、操作面の外周に沿って時計回り方向であって、最も近い隣の、左手の腕の根本の位置を前記参照位置に設定し、前記腕の根本の位置が前記基準位置となる右手と、前記腕の根本の位置が前記参照位置となる左手とを同一のユーザの左右の手のペアとして設定する
     請求項2に記載の情報処理装置。
  6.  前記ペアリング部は、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とが、いずれも右手、または、左手である場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
     請求項2に記載の情報処理装置。
  7.  前記ペアリング部は、前記参照位置と、前記基準位置との距離が所定の距離よりも離れている場合、前記腕の根本の位置が参照位置である手と、前記腕の根本の位置が前記基準位置である手とを、それぞれ独立した前記ユーザの前記右手のみ、または、前記左手のみのペアとして設定する
     請求項2に記載の情報処理装置。
  8.  前記所定の距離は、人間が両腕を広げた距離である
     請求項7に記載の情報処理装置。
  9.  前記ペアリング部によりペアとして設定された左手および右手のうちの少なくともいずれかのジェスチャを認識するジェスチャ認識部と、
     前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを決定するコマンド決定部とをさらに含む
     請求項1に記載の情報処理装置。
  10.  前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指の動きに応じた軌跡の情報、および、他方の手の掌の形状の情報を、前記ジェスチャとして認識する
     請求項9に記載の情報処理装置。
  11.  前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記掌の形状の情報に対応する筆記具による、前記軌跡の情報に対応した描画として表示させるコマンドに決定する
     請求項10に記載の情報処理装置。
  12.  前記筆記具は、筆、およびマーカのいずれかを含む
     請求項11に記載の情報処理装置。
  13.  前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの一方の手の指のうちの、操作面にタッチする指の情報、および、他方の手の指のフリック方向の情報を、前記ジェスチャとして認識する
     請求項9に記載の情報処理装置。
  14.  前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、操作面にタッチする指の情報に対応する子音と、前記フリック方向の情報に対応した母音とからなる文字の入力を受け付けるコマンドに決定する
     請求項13に記載の情報処理装置。
  15.  前記ジェスチャ認識部は、同一のユーザの左手および右手の前記ペアとして設定された左手および右手のうちの少なくとも2本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
     請求項9に記載の情報処理装置。
  16.  前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、前記2本の指の距離に応じて、前記画像を拡大、または縮小して表示するコマンドに決定する
     請求項15に記載の情報処理装置。
  17.  前記ジェスチャ認識部は、異なるユーザの左手のみ、または、右手のみの前記ペアとして設定された、それぞれ前記ユーザが異なる、少なくとも1本の指が、前記操作面上に表示される画像に対してタッチされた状態で移動するそれぞれの軌道の情報を、前記ジェスチャとして認識する
     請求項9に記載の情報処理装置。
  18.  前記コマンド決定部は、前記ジェスチャ認識部により認識された前記ジェスチャに対応するコマンドを、それぞれ前記ユーザが異なる、少なくとも1本の指の軌道のそれぞれに前記画像をコピーして表示するコマンドに決定する
     請求項17に記載の情報処理装置。
  19.  ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得処理と、
     前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出処理と、
     前記手検出処理により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング処理と
     を含む情報処理方法。
  20.  ユーザの手を用いた操作入力を受け付ける操作面上の画像を取得する画像取得部と、
     前記画像より前記ユーザの左右の手と、前記手に対応する腕とを検出する手検出部と、
     前記手検出部により検出された前記画像内における前記ユーザ毎の左右の手をペアリングするペアリング部と
     してコンピュータを機能させるプログラム。
PCT/JP2020/004765 2019-02-22 2020-02-07 情報処理装置、および情報処理方法、並びにプログラム WO2020170851A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/430,789 US11789543B2 (en) 2019-02-22 2020-02-07 Information processing apparatus and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019030161A JP2020135587A (ja) 2019-02-22 2019-02-22 情報処理装置、および情報処理方法、並びにプログラム
JP2019-030161 2019-02-22

Publications (1)

Publication Number Publication Date
WO2020170851A1 true WO2020170851A1 (ja) 2020-08-27

Family

ID=72145069

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004765 WO2020170851A1 (ja) 2019-02-22 2020-02-07 情報処理装置、および情報処理方法、並びにプログラム

Country Status (3)

Country Link
US (1) US11789543B2 (ja)
JP (1) JP2020135587A (ja)
WO (1) WO2020170851A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294857A (ja) * 2008-06-04 2009-12-17 Canon Inc ユーザインターフェースの制御方法及び情報処理装置及びプログラム
WO2014080829A1 (ja) * 2012-11-22 2014-05-30 シャープ株式会社 データ入力装置
JP2014115688A (ja) * 2012-12-06 2014-06-26 Sharp Corp 文字入力システムおよび文字入力方法
JP2016071546A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP2016076017A (ja) * 2014-10-03 2016-05-12 株式会社東芝 図形処理装置および図形処理プログラム
JP2017162126A (ja) * 2016-03-08 2017-09-14 キヤノン株式会社 入力システム、入力方法、制御用プログラム、及び記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
JP4918872B2 (ja) 2007-03-12 2012-04-18 株式会社エクォス・リサーチ 車載装置
US8432301B2 (en) * 2010-08-10 2013-04-30 Mckesson Financial Holdings Gesture-enabled keyboard and associated apparatus and computer-readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294857A (ja) * 2008-06-04 2009-12-17 Canon Inc ユーザインターフェースの制御方法及び情報処理装置及びプログラム
WO2014080829A1 (ja) * 2012-11-22 2014-05-30 シャープ株式会社 データ入力装置
JP2014115688A (ja) * 2012-12-06 2014-06-26 Sharp Corp 文字入力システムおよび文字入力方法
JP2016071546A (ja) * 2014-09-29 2016-05-09 キヤノン株式会社 情報処理装置とその制御方法、プログラム、記憶媒体
JP2016076017A (ja) * 2014-10-03 2016-05-12 株式会社東芝 図形処理装置および図形処理プログラム
JP2017162126A (ja) * 2016-03-08 2017-09-14 キヤノン株式会社 入力システム、入力方法、制御用プログラム、及び記憶媒体

Also Published As

Publication number Publication date
US20220137712A1 (en) 2022-05-05
JP2020135587A (ja) 2020-08-31
US11789543B2 (en) 2023-10-17

Similar Documents

Publication Publication Date Title
US10019074B2 (en) Touchless input
Song et al. In-air gestures around unmodified mobile devices
Shen et al. Vision-based hand interaction in augmented reality environment
JP6007497B2 (ja) 画像投影装置ならびに画像投影制御装置およびプログラム
KR101844390B1 (ko) 사용자 인터페이스 제어를 위한 시스템 및 기법
Taylor et al. Type-hover-swipe in 96 bytes: A motion sensing mechanical keyboard
Prätorius et al. DigiTap: an eyes-free VR/AR symbolic input device
US8659547B2 (en) Trajectory-based control method and apparatus thereof
Lee et al. Finger identification and hand gesture recognition techniques for natural user interface
Matulic et al. Pensight: Enhanced interaction with a pen-top camera
Geer Will gesture recognition technology point the way?
EP4307096A1 (en) Key function execution method, apparatus and device, and storage medium
WO2016018518A1 (en) Optical tracking of a user-guided object for mobile platform user input
CN113168221A (zh) 信息处理设备、信息处理方法和程序
WO2020170851A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
KR102107182B1 (ko) 손 제스처 인식 시스템 및 방법
Habibi Detecting surface interactions via a wearable microphone to improve augmented reality text entry
WO2019134606A1 (zh) 终端的控制方法、装置、存储介质及电子设备
US20190339864A1 (en) Information processing system, information processing method, and program
WO2021075103A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7374413B2 (ja) 現実物体に対するクラスタリングの可視化システム、可視化制御装置、可視化方法および可視化制御用プログラム
US20230419733A1 (en) Devices and methods for single or multi-user gesture detection using computer vision
Karray et al. A survey of AR systems and a case study of virtual keyboard based camera projector system
Stearns Handsight: A Touch-Based Wearable System to Increase Information Accessibility for People with Visual Impairments
CN114063778A (zh) 一种利用ar眼镜模拟图像的方法、装置、ar眼镜及介质

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

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

Country of ref document: EP

Kind code of ref document: A1