WO2016113969A1 - ジェスチャー認識装置及び方法、並びにプログラム及び記録媒体 - Google Patents
ジェスチャー認識装置及び方法、並びにプログラム及び記録媒体 Download PDFInfo
- Publication number
- WO2016113969A1 WO2016113969A1 PCT/JP2015/079806 JP2015079806W WO2016113969A1 WO 2016113969 A1 WO2016113969 A1 WO 2016113969A1 JP 2015079806 W JP2015079806 W JP 2015079806W WO 2016113969 A1 WO2016113969 A1 WO 2016113969A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- operation surface
- virtual operation
- unit
- display
- fingertip
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
Definitions
- the present invention relates to a gesture recognition apparatus and method.
- the present invention also relates to a program for causing a computer to execute a gesture recognition apparatus or method, and a recording medium on which the program is recorded.
- a gesture UI User Interface
- the gesture UI has often been applied to game entertainment.
- it has recently been applied to broadcast receivers, PCs (Personal Computers), car navigation systems, and the like.
- a hand gesture UI using a user's hand movement is often used.
- hand gesture UI the operation of the user's entire hand, the shape formed by the hand, the movement of the finger, etc. are used to input the operation of the device. Such operation, shape, and the like are recognized on the device side, and processing corresponding to the recognition result is executed.
- One of the methods using finger movement is hand pointing. This utilizes a user's pointing operation, and is used particularly in an information display device having a display. The user points to an item to be selected from items displayed on the display. The device recognizes a position on the display pointed to by the user (hereinafter referred to as a pointing position), and controls the device according to the recognition result. For example, detailed information on the selected item or the next operation screen corresponding to the selected item is displayed.
- Such hand pointing is excellent in that it does not require a device for operation such as a remote control and can directly select a remote one. Furthermore, the operation of pointing is a natural operation for many people, and since there are few people who are resistant to performing the operation itself, it is an excellent method for operating the device.
- distance sensors include a so-called TOF (Time Of Flight) sensor that measures the distance to an object by observing the time until reflected light of the irradiated infrared light arrives, and specific infrared light Some measure the distance by irradiating a pattern and observing distortion of the irradiation pattern with a camera.
- TOF Time Of Flight
- Patent Document 1 two cameras are used, a direction in which a user is pointing is estimated from images captured by the two cameras, and a pointing position is recognized from an angle formed by the direction and a normal line of the display. In this case, it is assumed that the user is standing in a predetermined position.
- This method requires two cameras and increases the system scale.
- a distance sensor is used to enable recognition by a single camera.
- a distance sensor is a conventional general camera (not a distance sensor but color information). Therefore, it is difficult to apply to consumer information display devices.
- the present invention has been made in view of the above problems, and a user's pointing position can be accurately recognized by using one general camera.
- the gesture recognition device of the present invention is A specific part detection unit that detects a specific part of the hand from each of the captured images of a plurality of frames sequentially obtained by imaging; A tracking unit that tracks the specific part detected by the specific part detection unit over a plurality of frames; A virtual operation surface recognition unit that recognizes a designation intention of a virtual operation surface from tracking information indicating a change in position of a specific part obtained by tracking by the tracking unit, and defines the virtual operation surface based on the recognition result
- a mapping information storage unit that stores mapping information indicating a correspondence relationship between a coordinate system of an operation region in a captured image corresponding to the defined virtual operation surface and a coordinate system of a display;
- a pointing position recognizing unit for recognizing a position on the display corresponding to the specific part detected in the captured image as a pointing position by using the correspondence relationship;
- the gesture recognition method of the present invention includes: A specific part detection step for detecting a specific part of the hand from each of the captured images of a plurality of frames sequentially obtained by imaging; A tracking step of tracking the specific part detected in the specific part detection step over a plurality of frames; A virtual operation surface recognition step of recognizing the designation of the virtual operation surface from the tracking information indicating the change in position of the specific part obtained by tracking in the tracking step and defining the virtual operation surface based on the recognition result
- a mapping information storage step of storing mapping information indicating a correspondence relationship between a coordinate system of an operation area in a captured image corresponding to the defined virtual operation surface and a coordinate system of a display in a mapping information storage unit; And a pointing position recognition step of recognizing a position on the display corresponding to the specific part detected in the captured image as a pointing position using the correspondence.
- the pointing position can be recognized based on the correspondence relationship between the coordinate system of the operation area in the captured image corresponding to the virtual operation surface and the display coordinate system, one general camera The pointing position can be recognized with high accuracy from the image captured by.
- FIG. 10 is a diagram for explaining a fingertip stillness determination method in the gesture recognition apparatus according to the first to fourth embodiments of the present invention.
- FIG. 5 is a diagram showing an operation area coordinate system, a display coordinate system, a captured image coordinate system, and fingertip coordinates in each coordinate system, which are handled by the gesture recognition apparatus according to Embodiments 1 to 4 of the present invention.
- (A) And (b) is an example of the closed region formed by the operation in which the virtual operation surface recognition unit designates the virtual operation surface in the gesture recognition device according to Embodiment 1 of the present invention, and the virtual operation surface It is a figure which shows an example.
- (A) is a figure which shows the operation area
- (b) is a figure which shows the some point in three-dimensional space projected on the arbitrary points in the operation area
- (A) And (b) is a figure explaining the correspondence of an operation area coordinate system and a display coordinate system in the gesture recognition apparatus which concerns on Embodiment 1 of this invention. It is a figure which shows the correspondence of the captured image coordinate system, the operation area coordinate system, and the display coordinate system in the gesture recognition apparatus which concerns on Embodiment 1 of this invention. It is a flowchart which shows the hand pointing recognition process of the gesture recognition apparatus which concerns on Embodiment 1 of this invention. It is a flowchart which shows the hand pointing recognition process of the gesture recognition apparatus which concerns on Embodiment 1 of this invention.
- FIG. 5 is a flowchart showing processing for recognizing an operation in which a virtual operation surface recognition unit designates a virtual operation surface in the gesture recognition apparatus according to Embodiment 1 of the present invention. It is a figure explaining the operation
- (A) And (b) is a figure explaining the operation
- the gesture recognition apparatus according to the third embodiment of the present invention it is a diagram for explaining the operation of correcting the position of the virtual operation surface according to the movement of the user.
- (A) And (b) is a figure explaining the operation
- the gesture recognition apparatus which concerns on Embodiment 4 of this invention it is a figure which shows the example of the image display for making a user confirm the position of a virtual operation surface.
- FIG. 1 shows a gesture recognition device 1 according to Embodiment 1 of the present invention and a user's hand 101 that operates the gesture recognition device 1 with a gesture.
- the gesture recognition device 1 forms part of a television receiver, for example, and the display screen 231 is also used for displaying images of received programs and displaying a GUI for operating the television receiver.
- the gesture recognition device 1 includes a camera 10 and acquires a captured image of the user's hand 101.
- the user operates the GUI on the display screen 231 by pointing (pointing) the hand 101, in particular, a specific part thereof, for example, the fingertip 102, to an arbitrary position on the display screen 231.
- pointing pointing
- GUI item GUI button
- the gesture recognition device 1 recognizes the position (pointing position) on the displayed display screen 231 by observing the movement of the specific part of the user by the camera 10, and controls the device according to the recognition result.
- FIG. 2 is a block diagram showing the configuration of the gesture recognition device 1 according to the first embodiment.
- the illustrated gesture recognition device 1 includes a camera 10, an imaging control unit 11, an imaging data storage unit 12, a specific part detection unit 13, a tracking unit 14, a tracking information storage unit 15, an action recognition unit 16,
- the virtual operation surface recognition unit 17, the mapping information storage unit 18, the pointing position recognition unit 19, the UI control unit 20, the display display control unit 21, the display information storage unit 22, and the display 23 are included.
- the specific part detection unit 13, the tracking unit 14, the tracking information storage unit 15, the motion recognition unit 16, the virtual operation surface recognition unit 17, the mapping information storage unit 18, and the pointing position recognition unit 19 Thus, the hand pointing recognition unit 2 is configured.
- the camera 10 performs moving image shooting (continuous still image shooting).
- the camera 10 is horizontally attached to the gesture recognition apparatus 1 main body.
- “horizontally” means that the horizontal direction of the imaging screen matches the horizontal direction of the gesture recognition apparatus 1 main body, particularly the horizontal direction of the display screen 231 of the display 23.
- the imaging control unit 11 transmits a control signal C11s instructing the camera 10 to start imaging and a control signal C11t instructing the end of imaging.
- the control signals C11s and C11t are transmitted, for example, every predetermined frame period.
- the camera 10 starts and ends imaging according to the control signals C11s and C11t.
- the imaging control unit 11 sequentially transmits a plurality of frames of images (captured images) obtained by imaging with the camera 10 to the imaging control unit 11.
- One captured image is referred to as a frame image DF.
- the imaging control unit 11 receives an image obtained by imaging and transmits it to the imaging data storage unit 12.
- the imaging data storage unit 12 receives the frame image DF from the imaging control unit 11 and accumulates it together with the frame number FN. That is, when the imaging data storage unit 12 accumulates the frame image DF, not only the value of each pixel constituting the frame image DF but also the frame number FN is accumulated.
- the frame number FN is assigned to each frame image DF captured by the camera 10, and the frame number FN in the first captured frame image DF is set to “0”, such as “1”, “2”,. The value increased by one.
- the frame image DF and the frame number FN accumulated in the imaging data storage unit 12 are read out and transmitted to the specific part detection unit 13.
- the specific part detection unit 13 receives the frame image DF and the frame number FN transmitted from the imaging data storage unit 12, and determines whether or not a new frame image DF is accumulated in the imaging data storage unit 12.
- the specific part detection unit 13 determines whether or not a new frame image DF is accumulated in the imaging data storage unit 12, the frame number FN of the frame image DF that is the object of the previous hand pointing recognition process (described later) and In comparison, if there is a frame image DF with a frame number larger than the frame number FN of the frame image DF that is the object of recognition processing, it is determined that a new frame image DF exists.
- the specific part detection unit 13 analyzes the new frame image DF and detects the fingertip (finger tip) in the image. To do.
- a method using color information and a method using shape information are known. For example, a template image representing a fingertip is prepared, a method for matching with a captured frame image DF, a detection unit that learns features representing a fingertip using a number of fingertip images, and a captured frame image DF is created. There are methods to apply. In the present invention, any of these detection methods may be used.
- the specific part detection unit 13 acquires coordinates P t that represent the position of the detected fingertip (position in the frame image DF). After that, the coordinates P t of the fingertip in the frame image DF is referred to as a "fingertip coordinates".
- the fingertip coordinate P t includes an x coordinate P tx and a y coordinate P ty , and may be expressed as (P tx , P ty ).
- the x coordinate is a coordinate in the horizontal axis (x axis) direction
- the y coordinate is a coordinate in the vertical axis (y axis) direction.
- the coordinates are the fingertip coordinates of the i-th frame
- the symbols “P t (i) ”, “P t (i) x ”, and “P t (i) y ” may be used. The same applies to other codes used below.
- the fingertip is detected and its coordinates are detected.
- the present invention is not limited to this, and may be another location.
- what is necessary is just to detect a specific part of a hand or a finger and to detect its coordinates.
- the tracking unit 14 receives the fingertip coordinates Pt and the frame number FN from the specific part detection unit 13, performs tracking (tracking) of the fingertip over a plurality of frames, and tracks information obtained based on the tracking result as tracking information. By transmitting to the storage unit 15, the tracking information DTR is stored in the tracking information storage unit 15, or the tracking information DTR stored in the tracking information storage unit 15 is updated.
- the tracking information (tracking information) DTR is information (movement trajectory information) indicating the change (movement) of the position of the fingertip over time. For example, the fingertip coordinates P t in a plurality of consecutive frames, and thus the fingertip coordinates Consists of time series. Specifically, as shown in FIG. 3, the tracking information DTR is described in association with fingertip coordinates (P tx , P ty ) detected in each frame image DF and the frame number FN.
- tracking information DTR after acquisition of a certain frame image is as shown in FIG. 4A
- tracking information DTR after acquisition of the next frame image is as shown in FIG. 4B.
- the tracking unit 14 receives the finger coordinates P t and frame number FN from the specific part detection unit 13, with respect to the tracking information storage section 15, transmits a control signal C14a requesting tracking information DTR, which When the tracking information DTR is transmitted from the tracking information storage unit 15 in response to this, it is received.
- the tracking information DTR is not stored in the tracking information storage unit 15, information indicating that is transmitted to the tracking unit 14. In that case, the tracking unit 14 transmits the pair of the fingertip coordinates Pt and the frame number FN transmitted from the specific part detection unit 13 to the tracking information storage unit 15 and stores them as new tracking information DTR.
- the tracking unit 14 When the tracking information DTR is transmitted from the tracking information storage unit 15, the tracking unit 14 detects the fingertip coordinates P t and the frame number FN transmitted from the specific part detection unit 13 and the tracking transmitted from the tracking information storage unit 15. from an information DTR, especially of them of the newest frame fingertip information P t, performs a fingertip tracking (tracking), thereby updating the tracking information to the tracking information storage section 15 based on the tracking results.
- the tracking unit 14 uses the latest frame (immediately before the frame of the fingertip coordinates Pt and the frame number FN transmitted from the specific part detection unit 13). Only the latest frame information may be transmitted.
- the tracking unit 14 determines the interval between the position of the fingertip detected from the image of a certain frame and the position of the fingertip detected from the image of the next frame of the certain frame. Is less than a predetermined value Th mov, it is determined that the fingertips detected in the images of the two frames are the same fingertip. Specifically, it is determined whether or not the fingertip coordinates of each frame transmitted from the specific part detection unit 13 represent the same fingertip as the fingertip coordinates of the previous frame.
- the frame number FN of the frame image DF currently being subjected to hand pointing recognition processing is “i”
- the fingertip coordinates detected in this frame image DF (i) are P t (i)
- the previous one The frame number FN of the frame is “i ⁇ 1”
- the fingertip coordinates detected in the frame image DF (i ⁇ 1) are Pt (i ⁇ 1)
- the fingertip indicated by the fingertip coordinates Pt (i) location and, if smaller than the fingertip coordinates P t (i-1) the distance M Pt (i) of the fingertip position indicated by -Pt (i-1) is a predetermined value (threshold value) Th mov, their The fingertip coordinates are determined to be those of the same fingertip.
- the distance M Pt (i) ⁇ Pt (i ⁇ 1) is obtained by the following equation (1).
- P t (i) x is the x coordinate of P t (i)
- P t (i) y is the y coordinate of P t (i)
- P t (i ⁇ 1) x is the x coordinate of P t (i ⁇ 1)
- P t (i ⁇ 1) y is the y coordinate of P t (i ⁇ 1) .
- the determination based on the distance is necessary because the fingertip at the coordinate Pt (i-1) and the fingertip at the coordinate Pt (i) are not necessarily the same.
- the finger tip of the coordinates P t (i) is a right hand finger
- the fingertip of the coordinates P t (i) may be a left hand finger.
- it is often the difference between fingertip coordinates P t between two frames is increased.
- the threshold Th mov or more it can be determined that the coordinates are not for the same fingertip.
- tracking unit 14 includes a fingertip coordinates P t (i) transmitted from the specific portion detecting unit 13, the previous frame Are associated with the fingertip coordinates P t (i ⁇ 1) transmitted from the same specific part detection unit 13.
- This association means that the fingertip of the fingertip coordinate transmitted in the previous frame is treated as having been moved to the position of the fingertip coordinate transmitted in the current frame. That is, it means that the fingertip is recognized to have moved from the coordinate Pt (i-1) to the coordinate Pt (i) .
- the tracking information storage unit 15 receives the fingertip coordinates Pt and the frame number FN from the tracking unit 14 and updates the tracking information DTR based on these. In this update, the fingertip information Pt and the frame number FN transmitted from the tracking unit 14 are added to the end of the already stored tracking information DTR.
- the tracking information storage unit 15 may not store all the detected fingertip coordinates Pt and the frame number FN. For example, the fingertip coordinates Pt and the frame number FN relating to the previous frame number FN may be automatically deleted by a predetermined number. By doing so, the memory capacity required for the tracking information storage unit 15 can be reduced.
- Tracking unit 14 is a frame preceding and succeeding, when fingertip coordinate P t is determined not to indicate a same fingertip, a control signal C14b indicating that deleting the tracking information DTR to the tracking information storage section 15 Further, a pair of the fingertip coordinate Pt and the frame number FN newly detected is transmitted to the tracking information storage unit 15.
- the tracking information storage unit 15 deletes the tracking information DTR accordingly.
- the tracking information storage unit 15 further stores, as new tracking information DTR, a set of the fingertip coordinates Pt and the frame number FN newly detected from the tracking unit 14 (for the current frame).
- the successive frames The condition that the distance between the fingertip positions indicated by the fingertip coordinates between them is equal to or greater than a threshold value is continued on a condition that the frame period lasts for two or more frame periods (repeated by two or more frames).
- the tracking information DTR in the tracking information storage unit 15 may be deleted.
- the tracking information storage unit 15 When the tracking information storage unit 15 receives the control signal C16a requesting the tracking information DTR from the operation recognition unit 16, the tracking information storage unit 15 transmits the tracking information DTR to the operation recognition unit 16 accordingly.
- the tracking information storage unit 15 receives the control signal C17a requesting the tracking information DTR from the virtual operation surface recognition unit 17, the tracking information storage unit 15 transmits the tracking information DTR to the virtual operation surface recognition unit 17 accordingly.
- the operation recognition unit 16 transmits a control signal C16a requesting the tracking information DTR to the tracking information storage unit 15, and receives the tracking information DTR when the tracking information storage unit 15 transmits the tracking information DTR accordingly.
- the motion recognition unit 16 receives the tracking information DTR from the tracking information storage unit 15 and determines whether or not a new fingertip coordinate Pt is stored in the tracking information storage unit 15 based on the received information. Whether or not the new fingertip coordinates Pt are stored can be determined by referring to the latest value of the frame number FN included in the tracking information DTR.
- the motion recognition unit 16 also transmits the fingertip coordinates Pt to the pointing position recognition unit 19.
- the motion recognition unit 16 also transmits to the UI control unit 20 a determination result signal D16d indicating whether the motion of the user's fingertip 102 is intended for “pointing” or “selection”.
- selection means selection of a specific item displayed on the display.
- pointing means pointing (motion indicating) to a specific position on the display. If “pointing” for the same position is continued for a predetermined time or more, it is treated as intended for “selection”.
- the motion recognition unit 16 is intended to point to a specific position on the display, whether the fingertip intends to select a specific item on the display from the tracking information stored in the tracking information storage unit 15. It is determined whether.
- the motion recognition unit 16 determines that the item on the display displayed at the pointed position is selected when the fingertip stays at the same place for a predetermined time or longer.
- the motion recognition unit 16 determines that the position of the specific part in the image of a certain frame is the same as that of the previous frame even if the fingertip does not stay in the same place. If it is within the range of a predetermined distance centered on the position of the specific part in the image, it is determined that the image stays at the same place.
- An example of a method for recognizing whether or not the fingertip movement is intended for “selection” is when the fingertip stays at the same place for a predetermined time or more (a predetermined number of frame periods or more).
- the user can take a method of recognizing that he / she is “selecting” a specific item displayed on the display 23.
- Threshold Th r of formula (3) is determined to a value smaller than the threshold Th mov of formula (2a) and Formula (2b).
- the motion recognition unit 16 moves the fingertip within a predetermined distance centered on the fingertip coordinates in the image of the previous frame, even if the fingertip does not remain at the same place. If so, treat it as staying in the same place.
- selection can be recognized even if the user's fingertip has moved slightly.
- the virtual operation surface recognition unit 17 determines from the tracking information DTR stored in the tracking information storage unit 15 that the movement of the fingertip represented by the tracking information DTR is intended to specify the virtual operation surface BM. Judging. When the virtual operation surface recognition unit 17 recognizes the designation intention of the virtual operation surface BM by the user, the virtual operation surface recognition unit 17 defines the virtual operation surface BM based on the recognition result.
- the virtual operation surface recognition unit 17 transmits a control signal C17a requesting the tracking information DTR to the tracking information storage unit 15, and receives the tracking information DTR when the tracking information storage unit 15 transmits the tracking information DTR. To do.
- the virtual operation surface recognition unit 17 determines whether or not the user has performed an operation of specifying the virtual operation surface BM from the received tracking information DTR, that is, whether or not the user has moved the fingertip with the intention of specifying the virtual operation surface. Recognize As shown in FIG. 6, the virtual operation surface BM means a region where the user himself / herself performs hand pointing in a space around the user.
- the virtual operation surface recognition unit 17 determines whether or not the user has drawn the closed curve 201 with the fingertip 102.
- the closed curve 201 is a curve until the fingertip 102 returns to the same point 202 after passing through a certain point 202. Returning to the same point means returning to the same position on the screen (imaging screen) of the captured image obtained by imaging the movement of the fingertip 102, and returning to the same position in the three-dimensional space is not essential. .
- Whether or not the point has returned to an arbitrary point is determined based on whether or not the curves that draw the trajectory of the fingertip intersect in the captured image.
- a region surrounded by a closed curve is referred to as a closed region 203.
- the imaging screen is indicated by the same symbol DF as that of the captured image.
- the virtual operation surface recognition unit 17 reads the two fingertip coordinates in the order of the frame number FN from the tracking information DTR, and generates a line segment connecting the fingertip coordinates in the frame images of successive frames. This is repeated while changing the set of frame numbers FN to detect the intersection of the line segments. When the intersection occurs, it is determined that the user has drawn the closed curve 201 with the fingertip, and the inner region of the closed curve 201 generated when connecting the line segments up to this point is recognized as the closed region 203.
- a curve on the imaging screen corresponding to the closed curve 201 drawn in the three-dimensional space is denoted by reference numeral 211.
- the curve 211 conceptually shows the trajectory of the fingertip in the captured image, and does not mean that one image including the curve 211 is generated.
- the virtual operation surface recognition unit 17 determines whether or not the closed curve 201 is drawn with the intention of designating the virtual operation surface BM from the next generated closed region 203. Specifically, calculated it is generated the area S 203 of the closed region 203, and calculates the time T 203 required to generate the closed region 203. Further, a threshold Th S is set for the area S 203 of the closed region 203, and a threshold Th t is set for the time T 203 required to generate the closed region 203. Then, it is determined whether the following equations (4a) and (4b) are satisfied.
- the rectangular region 204 inscribed in the closed region 203 is a rectangular region in which one pair of sides extends in the horizontal direction and the other pair of sides extends in the vertical direction, and the whole is included in the closed region 203.
- This is a region having the largest area.
- “area” is also an area in the corresponding captured image. Since the camera 10 is mounted horizontally as described above, the horizontal direction and the vertical direction in the captured image coincide with the horizontal direction and the vertical direction in the three-dimensional space. If the closed area 203 is formed perpendicular to the optical axis 10a of the camera 10, the rectangular area 204 is similar to the rectangular area in the captured image.
- the virtual operation surface recognition unit 17 has an area of the closed region 203 generated by the user's own fingertip movement equal to or greater than a predetermined value (threshold value) Th S , and the fingertip movement.
- a predetermined value Threshold value
- Th t a predetermined value
- the user may accidentally generate a small closed area 203 (that is, not intending to specify a virtual operation surface), or a closed area 203 may be generated after a long fingertip movement. If it happens, you can ignore it.
- FIG. 8A shows an operation area AM corresponding to the virtual operation surface BM.
- FIG. 8A further shows a closed curve 201, an intersection point 202, and a closed curve 212, an intersection point 212, and a closed region 213 corresponding to the closed region 203 in the three-dimensional space.
- the user is not limited to the inside of the virtual operation surface BM, but the user is outside the virtual operation surface BM in the same direction as the position of the virtual operation surface BM as viewed from the camera 10 ( The same effect can be produced even if the fingertip 102 is positioned on the front side or the back side of the virtual operation surface BM when viewed from the camera 10.
- a region including the virtual operation surface BM and causing the same effect as the fingertip 102 positioned on the virtual operation surface BM is referred to as an operable region BR.
- the area surrounded by the closed area 203 defined by the user drawing a closed curve is that the user feels that the plane is close to the plane, and the fingertip 102 can be positioned without difficulty (in a natural posture). It is an area within a possible range. Therefore, this is a region convenient for the user to move the fingertip 102 for hand pointing, or a region where the user often positions the fingertip 102 for hand pointing. In the present application, such a region is referred to as a virtual operation surface BM.
- the virtual operation surface recognition unit 17 When the virtual operation surface recognition unit 17 generates the virtual operation surface BM as described above, the virtual operation surface recognition unit 17 generates the mapping information MPD based on the information of the operation region AM corresponding to the generated virtual operation surface BM, and the mapping information storage unit 18 to send. Since the operation area AM corresponds to the virtual operation surface BM, the information on the operation area AM is also information on the virtual operation surface BM.
- the mapping information MPD is information indicating the correspondence between the coordinate system of the operation area AM and the coordinate system of the display 23. The mapping information MPD is used to convert coordinates on the coordinate system of the captured image into coordinates on the coordinate system of the display 23.
- the coordinate system 300 of the captured image is referred to as “captured image coordinate system”
- the coordinate system 301 of the virtual operation surface BM is referred to as “virtual operation surface coordinate system”
- the coordinate system 311 of the operation area AM is referred to as “operation area coordinate system”
- the coordinate system 302 of the display 23 is referred to as “display coordinate system”
- the coordinates A t fingertips on the operation area coordinate system 311 is referred to as "operation area fingertip coordinates”
- the coordinates D t of the fingertip on display coordinate system 302 will be referred to as "display on the fingertip coordinates”.
- Fingertip coordinates P t in the frame image DF is a fingertip coordinates on the captured image coordinate system 300.
- the fingertip coordinates P t in the frame image DF for distinction between "operating area fingertip coordinates” and “display on the fingertip coordinates", sometimes referred to as “captured image on the fingertip coordinates".
- Coordinates A t includes x coordinate A tx and y coordinates A ty.
- the coordinate D t includes an x coordinate D tx and a y coordinate D ty .
- FIG. 6, FIG. 9 (a) and (b), and FIG. 10 illustrate the relationship between these coordinate systems 300, 301, 311, and 302 and the coordinates P t , A t , and D t .
- FIG. 10 shows the relationship between the captured image coordinate system 300, the operation area coordinate system 311 and the display coordinate system 302 with respect to the horizontal direction (x-axis direction).
- the virtual operation surface recognition unit 17 defines the upper left vertex of the operation area AM as the origin of the operation area coordinate system 311 as illustrated in FIG. 6.
- the length of the side AMx in the horizontal direction (number of pixels in the horizontal direction) of the operation area AM is L Ax
- the length of the side AMy in the vertical direction is Let L Ay
- the length of the horizontal side 231x (the number of pixels in the horizontal direction) of the display screen 231 of the display 23 is L Dx
- the length of the vertical side 231y (vertical direction).
- L Dy the x coordinate of the fingertip coordinate P t on the captured image
- the y coordinate is set to P ty
- the coordinate of the origin of the operation area coordinate system 311 in the captured image coordinate system 300 is P tx0
- the x coordinate is P tx0
- the y coordinate is P ty0 .
- Expressions (7x) and (7y) are used as expressions for converting the fingertip coordinates (P tx , P ty ) on the captured image into fingertip coordinates (D tx , D ty ) on the display.
- (P tx -P tx0 ) and (P ty -P ty0 ) on the right side of the expressions (7x) and (7y) are coordinates in the operation area AM, as shown by the expressions (5x) and (5y), respectively.
- a tx is equal to A ty
- equations (7x) and (7y) are equivalent to equations (6x) and (6y). Therefore, the equations (7x) and (7y) are equations for converting the fingertip coordinates (P tx -P tx0 , P ty -P ty0 ) in the operation region into the fingertip coordinates on the display (D tx , D ty ). It can be said that there is.
- the fingertip coordinates (D tx , D ty ) on the display obtained by the equations (7x) and (7y) are used as representing the pointing position on the display.
- L Dx and L Dy are known and stored in the mapping information storage unit 18 in advance.
- L Ax , L Ay , P tx0 , and P ty0 are calculated by the virtual operation surface recognition unit 17. That is, when the virtual operation surface recognition unit 17 recognizes that the user has performed an operation of designating the virtual operation surface BM, the coordinate of the upper left vertex of the operation area AM corresponding to the virtual operation surface BM is used as described above.
- mapping information MPD To the mapping information storage unit 18.
- the mapping information storage unit 18 receives the mapping information MPD from the virtual operation surface recognition unit 17 and stores it. If these values have already been stored, the mapping information storage unit 18 overwrites them with the newly received values.
- the mapping information storage unit 18 also deletes the stored mapping information MPD.
- the mapping information storage unit 18 also receives a control signal C19a requesting the mapping information MPD from the pointing position recognition unit 19 and transmits the mapping information MPD to the pointing position recognition unit 19 in response thereto.
- Pointing position recognizing unit 19 receives the finger coordinates P t from the action recognition unit 16.
- the pointing position recognizing unit 19 also transmits a control signal C19a requesting the mapping information MPD to the mapping information storage unit 18, and receives the mapping information MPD transmitted from the mapping information storage unit 18.
- the pointing position recognizing unit 19 uses the correspondence between the operation area coordinate system 311 and the display coordinate system 302 to recognize where the fingertip reflected on the image captured by the camera 10 is pointing on the display.
- the pointing position recognition unit 19 includes the horizontal and vertical lengths of the operation area AM corresponding to the virtual operation surface BM recognized by the virtual operation surface recognition unit 17, and the horizontal and vertical lengths of the display screen 231 of the display 23.
- the pointing position recognition unit 19 also transmits information indicating the coordinates of the pointing position on the display 23, that is, the fingertip coordinates (D tx , D ty ) on the display 23 to the UI control unit 20.
- the UI control unit 20 receives the determination result signal D16d indicating “selection” or “pointing” from the motion recognition unit 16, and receives the fingertip coordinates (D tx , D ty ) on the display from the pointing position recognition unit 19.
- the control of the UI according to this information is determined. For example, when the determination result signal D16d indicating “selection” is received from the motion recognition unit 16, the UI control unit 20 displays the fingertip coordinates on the display (D tx , D) received from the pointing position recognition unit 19 at that time. It is recognized that the item displayed at the position on the display 23 represented by ty ) is selected.
- the UI control unit 20 transmits information representing the selected item to the display display control unit 21 together with the signal D20s indicating “selected”. For example, a number is assigned to each of a plurality of items displayed before selection, and when selected by hand pointing, a signal D20s indicating “selected” and the selected item are assigned. The received number is transmitted to the display display control unit 21.
- the UI control unit 20 displays the fingertip coordinates on the display (D tx , D) received from the pointing position recognition unit 19 at that time. It is recognized that the position on the display 23 represented by ty ) is pointing.
- the UI control unit 20 transmits the coordinates (D tx , D ty ) indicating the position pointed to the display display control unit 21 together with the signal D20p indicating that “pointing” is performed.
- the display display control unit 21 When the display display control unit 21 receives the signal D20s meaning “selection” from the UI control unit 20 and the number assigned to the selected item, the display display control unit 21 displays the signal on the display 23 according to the selected item. Information is read from the display information storage unit 22 and transmitted to the display 23.
- the display display control unit 21 When the display display control unit 21 receives the signal D20p indicating “pointing” and the fingertip coordinates (D tx , D ty ) on the display from the UI control unit 20, the display display control unit 21 represents the received coordinates (D tx , D ty ). Information for displaying a pointer (GUI pointer) at a position on the display is read from the display information storage unit 22 and transmitted to the display 23.
- GUI pointer pointer
- the display 23 displays information received from the display display control unit 21. Note that these pieces of information may be displayed so as to be superimposed on other information.
- the present invention is not limited to such a configuration.
- the selected item is displayed.
- a sound may be generated or the display may blink according to the condition.
- hand pointing recognition processing by the hand pointing recognition unit 2 will be described with reference to FIG. 11 and FIG.
- the frame image DF captured by the camera 10 includes only one user.
- hand pointing may be recognized for a person whose fingertip has been detected first, or hand pointing may be recognized in the same manner for all persons.
- the specific part detection unit 13 determines whether or not a new frame image DF, that is, a frame image DF that has not undergone hand pointing recognition processing is accumulated in the imaging data storage unit 12 (ST1). If a new frame image DF is not stored in the imaging data storage unit 12 (NO in ST1), the process in step ST1 is repeated. That is, the specific part detection unit 13 does not perform subsequent hand pointing recognition processing and waits until a new frame image DF is accumulated. If it is determined that it is accumulated (YES in ST1), the process proceeds to step ST2.
- step ST2 Since the process after step ST2 is performed on condition that a new frame image DF is accumulated in step ST1, the process after step ST2 writes the new frame image DF to the imaging data storage unit 12. Performed every time, that is, every frame period.
- step ST2 the specific part detection unit 13 receives a new frame image DF from the imaging data storage unit 12.
- the specific part detecting unit 13 detects a fingertip analyzes the frame image DF received from the imaging data storage unit 12, and obtains the coordinates (fingertip coordinates) P t.
- step ST4 the specific part detection unit 13 determines whether or not the fingertip coordinates Pt are detected. Specific portion detecting unit 13, when it detects a fingertip coordinates P t (YES in ST4), the process proceeds to step ST5. In step ST5, the specific part detection unit 13 transmits the detected fingertip coordinates Pt to the tracking unit 14, and proceeds to step ST6.
- step ST4 if the fingertip cannot be detected from the frame image DF (NO in ST4), the process returns to step ST1. That is, in this case, the subsequent hand pointing recognition process is not performed. The same applies when the fingertip is not included in the frame image and cannot be detected.
- step ST6 the tracking unit 14 requests the tracking information storage unit 15 to transmit the tracking information DTR. This request is made by transmitting the control signal C14a.
- the tracking information storage unit 15 returns data indicating that “the tracking information DTR is not stored”.
- step ST7 the tracking unit 14 determines whether or not the tracking information DTR is stored in the tracking information storage unit 15 based on the response from the tracking information storage unit 15 to the control signal C14a.
- step ST11 the tracking unit 14, the detected fingertip coordinates P t with the frame number FN and transmits the tracking information storage section 15.
- the tracking information storage unit 15 stores the transmitted fingertip coordinates Pt and the frame number FN as tracking information DTR. Thereby, accumulation of new tracking information DTR is started.
- step ST7 the tracking information DTR is stored in the tracking information storage unit 15 in step ST7 (YES in ST7), the process proceeds to step ST8.
- step ST8 the tracking unit 14 determines whether the fingertip coordinates transmitted from the specific part detection unit 13 represent the same fingertips as the fingertip coordinates transmitted from the same specific part detection unit 13 in the previous frame. judge. This determination is performed by, for example, the above formulas (1), (2a), and (2b).
- step ST12 the tracking unit 14 transmits the detected fingertip coordinates Pt and the frame number FN to the tracking information storage unit 15, and the tracking information storage unit 15 additionally stores the fingertip coordinates Pt and the frame number FN.
- the fingertip position detected this time is associated with the fingertip position detected in the previous frame image. That is, as shown in FIGS. 4A and 4B, the tracking information storage unit 15 stores the fingertip coordinates Pt and the frame number FN received from the tracking unit 14 until the previous frame. while the already holding the fingertip coordinates P t stored, it stores the fingertip coordinates P t and frame number FN is an addition to the information.
- step ST9 the tracking unit 14 sends a control signal C14b instructing to delete the stored tracking information DTR to the tracking information storage unit 15, and the tracking information storage unit 15 stores it in accordance with the control signal C14b.
- the tracking information DTR being deleted is deleted.
- step ST11 When the deletion of the stored tracking information DTR is completed, the process proceeds to step ST11. After step ST11 or step ST12, the process proceeds to step ST13.
- step ST ⁇ b> 13 the motion recognition unit 16 receives the tracking information DTR from the tracking information storage unit 15, and determines whether a new fingertip coordinate P t is stored in the tracking information storage unit 15.
- step ST14 it is determined whether or not the position of the fingertip is at a position within a predetermined distance range from the position in the previous frame. This determination is performed by, for example, the above equation (3). If it is within the predetermined distance range (YES in ST14), the process proceeds to step ST15, and the count value Ncf is increased by 1.
- step ST16 it is determined whether or not the count value Ncf has reached a predetermined value Ncft. If the predetermined value Ncft has been reached (YES in ST16), the process proceeds to step ST17, where the motion recognition unit 16 determines that the motion of the fingertip intended for “selection” is performed, and the UI control unit 20 is informed. transmits the determination result signal D16d indicating a determination result that is intended to "selection" Te, the fingertip coordinates P t, and transmits the pointing position recognizing section 19.
- the pointing position recognizing section 19 switches the display in response to the transmitted determination result signal D16d and fingertip coordinates P t. That is, the next operation screen corresponding to the selected item is displayed. For example, details of the selected item are displayed.
- step ST16 If the predetermined value Ncft is not reached in step ST16 (NO in ST16), the process proceeds to step ST19.
- the motion recognition unit 16 determines that the motion is not intended to be “selected” but intended to be “pointing”. Then, it transmits the determination result signal D16d indicating a determination result that is intended to "pointing" to the UI control section 20 transmits the fingertip coordinates P t to the pointing position recognizing section 19.
- step ST14 If it is determined in step ST14 that it is not within the predetermined range from the position of the previous frame (NO in ST14), the process proceeds to step ST19. After step ST18 or step ST19, the process returns to step ST1 and waits for the next frame image DF to be written.
- step ST13 the operation recognition section 16, when the tracking information storage section 15 is determined not to store the new finger coordinates P t (NO in ST13), the process returns to step ST1, the next frame image DF is written Wait for
- step ST31 when the virtual operation surface recognition unit 17 transmits the control signal C17a and the tracking information DTR is transmitted from the tracking information storage unit 15, the virtual operation surface recognition unit 17 The recognition unit 17 receives the tracking information DTR.
- step ST32 the virtual operation surface recognition unit 17 recognizes whether or not the user has performed an operation of designating the virtual operation surface BM from the received tracking information.
- the virtual operation surface recognition unit 17 determines whether or not the user has drawn the closed curve 201 with the fingertip (ST32).
- the virtual operation surface recognition unit 17 recognizes the inner region of the closed curve 201 as the closed region 203.
- the virtual operation surface recognition unit 17 determines whether the area S 203 of the closed region 203 is equal to or larger than the threshold Th S (ST33), and the time T 203 required to generate the closed region 203 is the threshold. It is determined whether it is equal to or less than Th t (ST34).
- step ST33 or the determination condition of step ST34 are not satisfied (NO in ST33 or NO in ST34).
- the virtual operation surface recognition unit 17 determines that the virtual operation surface BM is not designated. Then, the process ends.
- step ST33 When the determination condition of step ST33 and the determination condition of step ST34 are both satisfied (YES in ST33 and YES in ST34), the virtual operation surface recognition unit 17 indicates that the generated closed region 203 represents the virtual operation surface BM. It is recognized that it is designated (ST35). Next, the virtual operation surface recognition unit 17 recognizes the rectangular region 204 inscribed in the closed region 203 (FIG. 7B) as the virtual operation surface BM (ST36).
- the virtual operation surface recognition unit 17 sets the upper left vertex of the operation area AM corresponding to the virtual operation surface BM defined as described above as the origin of the operation area coordinate system 311, and the captured image coordinates of the origin and x-coordinate P tx 0 and y coordinates P ty0 in the system 300, the operation area horizontal sides AMx length of AM (the number of pixels in the horizontal direction) L Ax and the length of the vertical sides amy (vertical pixel (Number) LAy is transmitted as mapping information MPD to the mapping information storage unit 18 (ST37).
- the mapping information storage unit 18 receives the mapping information L Ax , L Ay , P tx0 , P ty0 from the virtual operation surface recognition unit 17 and stores those values. If these values are already stored, they are overwritten with the newly received values.
- the pointing position recognition unit 19 receives the fingertip coordinates P t from the motion recognition unit 16
- the pointing position recognition unit 19 reads the mapping information L Ax , L Ay , P tx0 , and P ty0 from the mapping information storage unit 18.
- the fingertip coordinates (D tx , D ty ) on the display can be recognized.
- the recognized fingertip coordinates (D tx , D ty ) on the display are transmitted to the UI control unit 20.
- the user may position the fingertip 102 outside the virtual operation surface BM (a position deviated up and down or left and right of the virtual operation surface BM when viewed from the camera). This may or may not be hand pointing.
- both the following formulas (8x) and (8y) are satisfied.
- at least one of the expressions (8x) and (8y) is not established. Therefore, it is possible to determine whether or not the fingertip is inside the virtual operation surface BM based on whether the expressions (8x) and (8y) are satisfied.
- the motion recognition unit 16 determines that the fingertip 102 is located outside the virtual operation surface BM, and the user is not performing hand pointing. It does not recognize actions such as “selection” and “pointing”. That is, the pointing position recognition unit 19 does not transmit the fingertip coordinates (D tx , D ty ) on the display to the UI control unit 20.
- L Ax , L Ay , P tx0 , and P ty0 are not stored in the mapping information storage unit 18.
- D tx and D ty are determined as follows.
- the fingertip coordinates (P tx0 , P ty0 ) when the specific part detection unit 13 first detects the fingertip are associated with the center coordinates (L Dx / 2, L Dy / 2) of the display 23. That is, the coordinates on the display (D tx0 , D ty0 ) corresponding to the fingertip coordinates (P tx0 , P ty0 ) when the specific part detection unit 13 first detects the fingertip are expressed by the following equations (9x) and (9y ).
- the fingertip coordinates (D tx , D ty ) on the display are obtained according to the movement amount of the fingertip. For example, when the fingertip 102 moves to the position represented by the coordinates (P tx , P ty ) in the captured image coordinate system 300, the fingertip coordinates on the display (D tx , D ty ) are expressed by the following equations (10x) and ( 10y).
- the gesture recognition device 1 it is possible to recognize the operation of designating the virtual operation surface BM for performing the hand pointing by the user, and to recognize the correspondence between the virtual operation surface coordinate system 301 and the display coordinate system 302 in advance.
- the on-display fingertip coordinates (D tx , D ty ), which is the pointing position on the display, can be recognized only by image information captured by one general camera.
- a closed curve 201 is drawn with a fingertip so as to recognize an operation for designating the virtual operation surface BM.
- movement which designates surface BM For example, as shown in FIG. 14, an operation of moving the fingertip 102 up, down, left and right as indicated by arrows 121, 122, 123, 124 with a position 120 as a base point may be recognized.
- the gesture recognition device 1 may be configured to specify the virtual operation surface BM by the operation shown in FIG. 14 instead of the operation shown in FIGS.
- the operation shown in FIGS. 7A and 7B can be selected to specify the virtual operation surface BM or the operation shown in FIG. 14 to specify the virtual operation surface BM. You can keep it.
- the operation of designating the virtual operation surface BM is recognized by drawing the closed curve 201 with the fingertip.
- a closed curve may be determined based on whether or not the distance to an arbitrary point in the locus drawn with the fingertip has returned to a point that is equal to or less than a predetermined threshold. Therefore, thresholds Th C and Th D are set for the distance D 203 between points on the locus drawn by the fingertip, and after the following equation (12a) is established, the following equation (12b) is established. It is determined whether or not.
- the threshold value Th C in Expression (12a) is set larger than the threshold value Th D in Expression (12b).
- the distance D 203 used in the equations (12a) and (12b) the position represented by the coordinate P t (i) of the fingertip in the frame image DF (i) of the latest frame and the frame before the latest frame
- the distance from the position represented by the coordinate Pt ( in) of the fingertip in the frame image DF (in) (n is an integer of 1 or more) is used.
- the closed curve 201 is completed by connecting the position represented by the coordinate Pt ( in ) of the fingertip in the frame image DF (in) of the frame before the latest frame with a line segment.
- the enclosed area is identified as the closed area 203.
- the rectangular area 204 inscribed in the recognized closed area 203 is recognized as the virtual operation surface BM.
- the virtual operation surface recognition unit 17 recognizes that the closed curve 201 has been drawn by constantly monitoring the trajectory of the fingertip, and recognizes an operation for designating the virtual operation surface BM. I am doing so. Instead, the user may clearly instruct start and end of designation of the virtual operation surface BM by a predetermined specific operation (key movement). For example, the virtual operation surface BM may be specified by shaking the hand or finger five times to the left and right to enter the virtual operation surface BM designation mode, and then the user draws a closed curve. The end of the designated mode may be the time when the closed region is generated, or may be the time when the movement of the hand or finger that means the end is defined and the operation is performed as in the start.
- the operation (key operation) meaning start and the operation (key operation) meaning end can be arbitrarily defined by the user.
- a storage unit for storing such a definition is provided separately, and the virtual operation surface recognition unit 17 can recognize the start or end by referring to the tracking information and this definition. In this way, the user can select an operation when designating the virtual operation surface BM.
- the separate storage unit is shown as a key operation storage unit 24 in FIG.
- the start and end of designation of the virtual operation surface BM is instructed by a predetermined specific operation (key movement).
- the user may clearly instruct the start and end of the designation of the virtual operation surface BM by a specific method other than the movement of the hand or finger.
- a microphone 25 as a voice receiving unit and a voice recognition unit 26 are added, and a predetermined specific voice (key voice), for example, “virtual operation surface designation start” Is received by the microphone 25, the voice signal is supplied to the voice recognition unit 26, the voice is recognized by the voice recognition unit 26, and the recognition result is transmitted to the virtual operation surface recognition unit 17.
- the virtual operation surface recognition unit 17 receives the recognition result of the voice recognition unit 26 and enters the virtual operation surface BM designation mode accordingly, and then the user draws a closed curve to designate the virtual operation surface BM. May be.
- the end of the designation mode may be the time when the closed region 203 is generated or the time when the user's voice “end of virtual operation surface designation” is recognized. Note that the voice meaning start and the voice meaning end can be arbitrarily defined by the user. In this way, the user can select an operation when designating the virtual operation surface BM.
- the virtual operation surface BM is designated by the fingertip of one hand.
- the fingertips of both hands may be used.
- a rectangular area having the fingertips 102 of both hands 101 as a vertex may be recognized, and the recognized rectangular area may be recognized as the virtual operation surface BM.
- the specific part detection unit 13 detects two fingertips. Whether or not the user has designated the virtual operation surface BM may be determined based on whether or not the positional relationship between the two fingertips 102 (the positional relationship in the captured image) satisfies a predetermined condition.
- whether or not the user has designated the virtual operation surface BM is determined based on whether or not the state in which the positional relationship between the two fingertips 102 satisfies the predetermined condition has continued for a predetermined time (stationary time) or longer. May be. As the positional relationship, whether or not the two fingertips 102 are separated by a predetermined distance or more can be used for the determination. Further, whether or not two fingertips exist within a predetermined range at the upper left of the captured image and a predetermined range at the lower right can be used for the determination. In this way, the user can select an operation when designating the virtual operation surface BM. Further, when the closed region 203 is formed by moving the fingertip 102 as shown in FIGS.
- the fingertip 102 is enlarged to generate the closed region 203 having a predetermined size or more. Although it is necessary to move, if the method shown in FIG. 17 is used, it is not necessary to move so much, and the burden on the user is reduced.
- Embodiment 2 The gesture recognition apparatus 1 according to the second embodiment recognizes the virtual operation surface BM designated by the user after correcting the virtual operation surface BM so as to match the aspect ratio of the display 23, and the position of the fingertip on the virtual operation surface BM. And the position of the fingertip on the display 23 can be more accurately associated with each other. Processing for making the aspect ratio correspond is performed by matching the aspect ratio of the operation area AM with the aspect ratio of the display 23. If the virtual operation surface BM is perpendicular to the optical axis 10a of the camera 10, the aspect ratio of the virtual operation surface BM is equal to the aspect ratio of the operation area AM. Therefore, by matching the aspect ratio of the operation area AM with the aspect ratio of the display, the aspect ratio of the virtual operation surface BM can be matched with the aspect ratio of the display.
- FIG. 18 is a block diagram illustrating a configuration related to hand pointing recognition processing in the gesture recognition apparatus 1 according to the second embodiment.
- the same reference numerals as those shown in FIG. 2 are given to the same or corresponding elements as those shown in FIG.
- the gesture recognition device 1 shown in FIG. 18 is different from the gesture recognition device 1 according to the first embodiment in that it includes a virtual operation surface correction unit 27.
- the virtual operation surface recognition unit 17 transmits a control signal C17a requesting the tracking information DTR to the tracking information storage unit 15, and receives the tracking information DTR from the tracking information storage unit 15 when it is transmitted. Also, the mapping information MPD is transmitted to the virtual operation surface correction unit 27.
- the virtual operation surface correction unit 27 receives the mapping information MPD from the virtual operation surface recognition unit 17, and the aspect ratio AS A of the operation area AM indicated by the received mapping information MPD matches the aspect ratio AS D of the display 23. If they do not match, the operation area AM is corrected so as to match, and mapping information (corrected mapping information) MPDc indicating the correspondence between the corrected operation area and the display is generated. Then, the corrected mapping information MPDc is transmitted to the mapping information storage unit 18. In this way, the virtual operation surface correction unit 27 corrects the aspect ratio of the virtual operation surface BM by correcting the aspect ratio of the operation area AM.
- the mapping information storage unit 18 receives the correction mapping information MPDc from the virtual operation surface correction unit 27 and stores it. If correction mapping information has already been stored, it is overwritten with the newly received correction mapping information.
- the mapping information storage unit 18 receives the control signal C19a requesting the corrected mapping information MPDc from the pointing position recognizing unit 19, and transmits the corrected mapping information MPDc in response thereto.
- Pointing position recognizing unit 19 receives the finger coordinates P t from the action recognition unit 16.
- the pointing position recognizing unit 19 also transmits a control signal C19a requesting the corrected mapping information MPDc to the mapping information storage unit 18, and receives the correction mapping information MPDc from the mapping information storage unit 18 when it is transmitted.
- the virtual operation surface correction unit 27 determines whether correction of the mapping information MPD is necessary. Specifically, the operation area AM (FIG. 19 (b)) the aspect ratio (ratio of vertical and horizontal size) AS A corresponding to the virtual operation plane recognizing portion 17 is recognized by the virtual operation plane BM (FIG. 19 (a)) is determines whether the display 23 (FIG. 19 (c)) coincides with the aspect ratio aS a.
- the aspect ratio AS A of the operation area AM is expressed by the following expression (13).
- the length (the number of pixels in the horizontal direction) L Ax of the horizontal side AMx of the operation area AM is set to the vertical side AMy. (Length of pixels in the vertical direction) divided by LAy .
- the aspect ratio AS M of the virtual operation plane BM as represented by the following formula (14), the length L By A horizontal side BMx length L Bx the vertical sides BMy virtual operation plane BM Obtained by dividing by.
- the aspect ratio AS B of the virtual operation surface BM is the same as the aspect ratio AS A of the operation region AM. If the AM aspect ratio AS A is corrected, the aspect ratio AS B of the virtual operation surface BM is also corrected to the same value.
- the aspect ratio AS D of the display 23 is the length of the horizontal side 231x (the number of pixels in the horizontal direction) L Dx of the display 23 as represented by the following formula (15). It is obtained by dividing by (the number of pixels in the vertical direction) L Dy .
- the side lengths L Dx and L Dy of the display 23 are known and stored in the mapping information storage unit 18 in advance. Further, the aspect ratio calculated by the equation (15) may be calculated in advance and stored in the mapping information storage unit 18.
- the virtual operation surface correction unit 27 When it is determined that the calculated aspect ratio AS A matches the aspect ratio AS D , the virtual operation surface correction unit 27 does not correct the virtual operation surface BM, and the mapping information MPD received from the virtual operation surface recognition unit 17 is used.
- the correction mapping information MPDc is transmitted to the mapping information storage unit 18 as it is.
- the operation area AM is corrected.
- the operation area AM is corrected by enlarging or reducing the operation area AM in the horizontal direction (x-axis direction).
- the virtual operation surface correction unit 27 enlarges or reduces the operation area AM in the horizontal direction using the coefficient a obtained by the above equation (16).
- the process of enlarging in the horizontal direction is a process of adding an area 215 to the operation area AMb before correction, as shown in FIG.
- the corrected operation area AMc is an area obtained by adding the area 215 to the operation area AMb before correction.
- the virtual operation surface BM is similarly corrected. That is, as shown in FIG. 19A, the region 205 is added to the virtual operation surface BMb before correction to become the corrected virtual operation surface BMc.
- the operation of designating the virtual operation surface BM on which the user performs hand pointing is recognized, and the operation area coordinate system 311 and the display coordinate system 302 are recognized.
- the virtual operation surface BM designated by the user can be recognized after being corrected according to the aspect ratio of the display 23, the position of the fingertip on the virtual operation surface BM, It is possible to associate the position of the fingertip on the display 23 more accurately.
- the fingertip coordinates (D tx , D ty ) on the display 23 change greatly for the movement of the fingertip in the x-axis direction, but even if the fingertip is moved in the y-axis direction by the same amount
- the fingertip coordinates (D tx , D ty ) do not change much on the display 23. If configured as in the second embodiment, this problem can be solved.
- the aspect ratio of the virtual operation surface BM is changed.
- the aspect ratio can be made to match the aspect ratio of the display 23 when the user designates the virtual operation surface BM.
- the user looks at the display 23 with the eyes 103 and moves the fingertip along the periphery of the display 23. You may make it let it.
- the upper left corner 2311 of the display screen 231 of the display 23 is pointed (the fingertip 102 overlaps the upper left corner 2311 when viewed with the eyes 103 as shown).
- the position of the fingertip at that time is defined as the upper left corner BM1 of the virtual operation surface BM.
- the lower left corner 2312 of the display screen 231 of the display 23 is pointed (so that the fingertip 102 overlaps the lower left corner 2312 when viewed with the eyes 103 as shown). Is the lower left corner BM2 of the virtual operation surface BM.
- the lower right corner 2313 of the display screen 231 of the display 23 is pointed (so that the fingertip 102 overlaps the lower right corner 2313 when viewed with the eyes 103 as shown). Is the lower right corner BM3 of the virtual operation surface BM.
- the upper right corner 2314 of the display screen 231 of the display 23 is pointed (the fingertip 102 overlaps the upper right corner 2314 when viewed with the eyes 103 as shown).
- the position of the fingertip is defined as the upper right corner BM4 of the virtual operation surface BM.
- the positions of the four corners BM1 to BM4 of the virtual operation surface BM can be defined, and the virtual operation surface BM is defined by defining the four corners BM1 to BM4.
- the aspect ratio of the virtual operation surface BM designated by the movement of the fingertip of the user matches the aspect ratio of the display 23.
- a message “Please move the fingertip along the periphery of the display” at the start of the recognition process of the virtual operation surface is displayed.
- the user may be guided to move the fingertip along the periphery of the display visible to the user.
- the entire area is located in the closed region 203 in the three-dimensional space and has the area.
- Embodiment 3 The gesture recognition device 1 according to the third embodiment corrects the position of the designated virtual operation surface BM in accordance with the movement of the user after setting the virtual operation surface BM. However, there is no need to reset the virtual operation surface BM, and the pointing function can be used with the same position feeling as before the movement.
- the designated virtual operation surface BM is moved in accordance with the movement amount of the user.
- the movement of the user is detected based on the movement of a specific part of the user, for example, the face on the captured image.
- the user's face is indicated by reference numeral 104
- the face on the captured image is indicated by reference numeral 114.
- FIG. 25 is a block diagram illustrating a configuration of the gesture recognition apparatus 1 according to the third embodiment.
- the same or corresponding elements as those shown in FIG. 2 are denoted by the same reference numerals as those shown in FIG.
- the gesture recognition device 1 shown in FIG. 25 is different from the gesture recognition device 1 according to the first embodiment in that it includes a face detection unit 28 and a virtual operation surface correction unit 29.
- the imaging data storage unit 12 receives the frame image DF from the imaging control unit 11 and accumulates it together with the frame number FN.
- the imaging data storage unit 12 also transmits the frame image DF and the frame number FN to the specific part detection unit 13. In addition to this, the imaging data storage unit 12 transmits the frame image DF to the face detection unit 28.
- the mapping information storage unit 18 further receives a control signal C29a requesting the mapping information from the virtual operation surface correction unit 29, and transmits the mapping information MPD to the virtual operation surface correction unit 29 in response thereto.
- the mapping information storage unit 18 also receives the corrected mapping information MPD from the virtual operation surface correction unit 29 and stores it.
- the face detection unit 28 receives the frame image DF from the imaging data storage unit 12, analyzes the frame image DF, and detects the face 114. Examples of the face 114 in the frame image DF are shown in FIGS. 24 (a) and 24 (b). The face 114 in the frame image DF corresponds to the user's face 104. Face detection can be performed by any of the commonly used methods.
- the face detection unit 28 transmits coordinates (hereinafter referred to as “face coordinates”) P f indicating the position of the detected face to the virtual operation surface correction unit 29 together with the frame number FN.
- face coordinates are examples of successive frame images DF, and coordinates indicating the position of the face 114 in these frame images DF are denoted by symbols P f (i ⁇ 1) and P f ( i) .
- P f (i ⁇ 1) coordinates indicating the position of the face 114 in these frame images DF are denoted by symbols P f (i ⁇ 1) and P f ( i) .
- FIG. 24A in a certain frame (previous frame)
- the face located at the position indicated by the coordinates P f (i ⁇ 1) is not shown in the next frame (current frame).
- FIG. 24 (b) it has moved to the position indicated by coordinates P f (i) .
- the virtual operation surface correction unit 29 receives the face coordinates P f from the face detection unit 28, receives the mapping information MPD from the mapping information storage unit 18, and transmits the corrected mapping information MPDd to the mapping information storage unit 18.
- Virtual operation plane correction unit 29 also supplied from the face detection unit 28, and stores the face coordinate P f in each frame image DF. This face coordinate Pf is updated every time a face is detected.
- the face detection unit 28 receives the frame image DF from the imaging data storage unit 12, and performs face detection processing on the frame image DF.
- the face detection unit 28 transmits the face coordinates P f indicating the detected face position to the virtual operation surface correction unit 29.
- MOV (i) y The movement amounts MOV (i) x and MOV (i) y are obtained by the following equations (17x) and (17y).
- the virtual operation surface correction unit 29 receives the mapping information MPD from the mapping information storage unit 18.
- the origin coordinates of the operation area coordinate system 311, that is, the origin of the operation area coordinate system 311, the x coordinate P t (i) x0 in the captured image coordinate system 300, and the y coordinate P t (i ) Y0 is read, and the previously calculated face movement amounts MOV (i) x and MOV (i) y are added to these values.
- the result of addition is represented by P t (i + 1) x0 and P t (i + 1) y0
- this addition is represented by the following equations (18x) and (18y).
- the virtual operation surface correction unit 29 uses the result of the above addition as the corrected origin coordinates, and transmits corrected mapping information MPDd indicating the corrected origin coordinates to the mapping information storage unit 18.
- the mapping information storage unit 18 stores the transmitted corrected mapping information MPDd as new mapping information MPD. That is, the stored mapping information is overwritten with new correction mapping information.
- the virtual operation surface correction unit 29 stores face coordinates (P f (i) x0 , P f (i) y0 ) indicating the face position in the current frame image. At this time, the face coordinates in the previous frame image DF are stored in the form of being overwritten with the face coordinates in the current frame image.
- the virtual operation surface BM is also corrected by correcting the operation area AM.
- the operation of designating the virtual operation surface BM on which the user performs hand pointing is recognized, and the operation area coordinate system 311 and the display coordinate system 302 are Can be recognized in advance, so that the fingertip coordinates on the display (D tx , D ty ), which is the pointing position on the display, can be recognized only by image information captured by one general camera. .
- the position of the designated virtual operation surface BM can be corrected according to the movement of the user. . Therefore, the user does not need to reset the virtual operation surface BM, and can use the pointing function with the same position feeling as before the movement.
- the virtual operation surface BM can be corrected to an optimal position even in such a case.
- Embodiment 4 After the designation of the virtual operation surface BM, the gesture recognition device 1 according to the fourth embodiment originally displays a frame image 400 in which a mark indicating the position of the virtual operation surface BM is superimposed on an image captured by the camera 10 on the display 23.
- the image 402 is displayed as a sub-screen or superimposed.
- the frame image 400 on which the mark indicating the position of the virtual operation surface BM is superimposed is referred to as a confirmation image.
- the original image 402 means an image of a broadcast program when the gesture recognition device 1 is a part of a television receiver.
- the user can perform pointing while confirming the set virtual operation surface BM on the display 23, so that the user can always perform pointing within the virtual operation surface BM. It is also possible to confirm whether or not the virtual operation surface BM has been designated as intended.
- FIG. 26 shows an example of display in the gesture recognition apparatus 1 according to the fourth embodiment.
- the confirmation image 400 is displayed on the display 23 as a sub-screen or superimposed on the original image 402.
- information (dotted line frame in the illustrated example) 401 indicating the outline of the virtual operation surface BM set by the user is superimposed and displayed on the confirmation image 400 as a mark indicating the position. Is done.
- FIG. 27 shows a configuration of a gesture recognition apparatus for performing the display of FIG.
- the gesture recognition apparatus shown in FIG. 27 forms part of a television receiver.
- the television receiver includes a broadcast receiving unit 3 in addition to the gesture recognition device.
- the gesture recognition device in FIG. 27 is generally the same as the gesture recognition device in FIG. 2, but includes a confirmation image generation unit 30.
- a display display control unit 21 b is provided instead of the display display control unit 21 in FIG. 2, a display display control unit 21 b is provided. I have.
- the confirmation image generation unit 30 receives the frame image DF from the imaging data storage unit 12, and receives information DAM indicating the operation area AM corresponding to the virtual operation surface BM from the virtual operation surface recognition unit 17.
- the confirmation image generation unit 30 generates an image (dotted line frame 401 in FIG. 26) indicating the outline of the virtual operation surface BM from the information DAM indicating the operation region AM corresponding to the virtual operation surface BM, and generates the frame image DF.
- the confirmation image D30 is generated by superimposing and supplied to the display display control unit 21b.
- the display display control unit 21 b not only receives display information from the display information storage unit 22 but also receives a confirmation image from the confirmation image generation unit 30 and receives a broadcast video from the broadcast reception unit 3.
- the display display control unit 21b normally displays only the broadcast video from the broadcast receiving unit 3 on the display 23.
- the display display control unit 21b also synthesizes the confirmation image D30 from the confirmation image generation unit 30 with a broadcast video, supplies the video obtained by the synthesis to the display 23, and the display 23 is shown in FIG. Such an image can be displayed.
- the confirmation image D30 may be incorporated as a sub-screen with respect to the broadcast video, or may be superimposed on the broadcast video.
- the display display control unit 21b can also display the display information from the display information storage unit 22 instead of the broadcast video or superimposed on the broadcast video, as in the first embodiment.
- the display display control unit 21b can combine and display the display information from the display information storage unit 22 and the confirmation image from the confirmation image generation unit 30 with the broadcast video. Which mode is used for display is controlled by a control signal from a control unit (not shown).
- a dotted-line frame 401 indicating the outline of the virtual operation surface BM is displayed on the display, but the position of the virtual operation surface BM may be indicated in a form other than the frame.
- the user recognizes the operation of designating the virtual operation surface BM for performing hand pointing, and the correspondence between the operation area coordinate system 311 and the display coordinate system 302 is determined in advance. Since it can be recognized, it is possible to recognize the fingertip coordinates (D tx , D ty ) on the display, which is the pointing position on the display, only from image information captured by one general camera.
- the user can confirm the position of the virtual operation surface BM set by the user on the display. Therefore, it can be confirmed whether or not the virtual operation surface BM can be designated as intended.
- the fingertip (or other specific part) may come out of the virtual operation surface BM during the pointing operation. Can be prevented. For example, it is possible to notify the user at an appropriate timing that the virtual operation surface BM is slightly more right with respect to the current position of the fingertip (or other specific part).
- the virtual operation surface BM is specified in a space around the user, but is not clearly visible to the user. For this reason, once the virtual operation surface BM is designated, there is a problem that the user does not clearly know where to perform hand pointing. According to the gesture recognition device 1 in the fourth embodiment, such a problem can be solved.
- the confirmation image 400 may be always displayed on the display 23, but may be displayed at a timing when the virtual operation surface BM is designated. By doing so, it can be confirmed that the virtual operation surface BM is formed as intended. At the same time, it is possible to prevent the original information 402 displayed on the display 23 from becoming difficult to see by the confirmation image 400 at times other than the timing when the virtual operation surface BM is designated.
- the confirmation image 400 is not displayed at all times, and when it is detected that the user's fingertip 102 is located in or around the virtual operation surface BM (for example, it continues for a predetermined time or more). May be displayed on the virtual operation surface BM or the vicinity thereof. In this way, when the user performs hand pointing, the virtual operation surface BM is displayed on the display 23 so that the operation for pointing can be reliably performed in the virtual operation surface BM. it can. At the same time, when hand pointing is not performed, it is possible to prevent the original information 402 displayed on the display 23 from becoming difficult to see due to the confirmation image 400.
- the gesture recognition method implemented by the gesture recognition device described above also forms part of the present invention.
- a part or all of the portions illustrated as functional blocks of the gesture recognition apparatus 1 are realized by a processing circuit.
- the processing circuit may be dedicated hardware or a CPU that executes a program stored in a memory.
- the processing circuit When the processing circuit is a CPU, the function of each part of the gesture recognition device is realized by software, firmware, or a combination of software and firmware.
- Software or firmware is described as a program and stored in a memory.
- the processing circuit reads out and executes the program stored in the memory, thereby realizing the functions of the above portions. That is, the gesture recognizing device includes a memory for storing a program in which the function of each part is executed as a result when executed by the processing circuit. Further, it can be said that these programs cause a computer to execute a processing method or a procedure in the gesture recognition method performed by the gesture recognition device.
- each part of the gesture recognition device may be realized by dedicated hardware, and a part may be realized by software or firmware.
- the processing circuit can realize the functions described above by hardware, software, firmware, or a combination thereof.
- FIG. 28 shows an example of a configuration in which all functions other than the camera 10 and the display 23 of the gesture recognition device are realized by a computer (indicated by reference numeral 50) including a single CPU constituting the processing circuit described above. 10 and the display 23.
- the computer 50, the camera 10, and the display 23 constitute a gesture recognition device.
- the computer 50 shown in FIG. 28 includes a CPU 51, a memory 52, a first interface 53, and a second interface 54, which are connected by a bus 56.
- the captured image DF is input from the camera 10 to the second interface 54, and control signals C11s and C11t are supplied to the camera 10 from the second interface 54.
- the CPU 51 operates in accordance with a program stored in the memory 52 and supplies information for display from the first interface 53 to the display 23, thereby causing the display 23 to display, and the user's hand 101, particularly the display 23.
- the hand 101 when performing “selection” or “pointing” with respect to the upper position is imaged by the camera 10, and a plurality of frames of captured images DF sequentially obtained by imaging are input via the second interface 54, and FIG.
- the processing of each part of the gesture recognition device of FIG. 15, FIG. 18, FIG. 25, or FIG. 27 is performed to recognize the pointing position (coordinates on the display).
- the content of the processing by the CPU 51 is the same as that described for the gesture recognition device of FIG. 2, FIG. 15, FIG. 18, FIG. 25, or FIG. Data generated in the course of processing is held in the memory 52.
- FIG. 29 shows an example of a configuration in which all functions other than the camera 10, the display 23, and the microphone 25 of the gesture recognition device are realized by a computer (indicated by reference numeral 50) including a single CPU that constitutes the above processing circuit. , Together with the camera 10, the display 23 and the microphone 25.
- the computer 50, the camera 10, the display 23, and the microphone 25 constitute a gesture recognition device.
- a third interface 55 in addition to a CPU 51, a memory 52, a first interface 53, and a second interface 54 similar to those in FIG. It is connected to the.
- An audio signal is input from the microphone 25 to the third interface 55.
- the CPU 51 operates according to the program stored in the memory 52, recognizes the voice represented by the voice signal from the microphone 25, and performs processing based on the recognition result.
- the voice recognition process and the process based on the result of the voice recognition are the same as those described with respect to the gesture recognition apparatus of FIG.
- the computer 50 of FIG. 29 operates in the same manner as the computer 50 of FIG.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Image Analysis (AREA)
Abstract
ハンドポインティングによるジェスチャー認識装置において、 特定部位(102)をトラッキングすることで得られるトラッキング情報(DTR)から、仮想操作面(BM)の指定意図を認識し、認識の結果に基づいて仮想操作面(BM)を定義し(17)、定義された仮想操作面(BM)に対応する撮像画像中の操作領域(AM)の座標系(311)とディスプレイの座標系(302)の対応関係を示すマッピング情報を記憶し(18)、対応関係を利用して、撮像画像中に検出された特定部位(102)に対応する、ディスプレイ上の位置を、ポインティング位置として認識する(19)。仮想操作面(BM)に対応する撮像画像中の操作領域の座標系(311)とディスプレイ座標系(302)との対応関係に基づいて、ポインティング位置を認識することができるため、1台の一般的なカメラによって撮像された画像によってポインティング位置を精度良く認識することができる。
Description
本発明は、ジェスチャー認識装置及び方法に関する。本発明はまた、ジェスチャー認識装置又は方法をコンピュータに実行させるためのプログラム、及び該プログラムを記録した記録媒体に関する。
近年、様々な機器において、ジェスチャーによって操作するジェスチャーUI(User Interface)の搭載が進んでいる。これまで、ジェスチャーUIはゲームエンターテインメントに適用されることが多かった。しかし、最近になって放送受信機、PC(Personal Computer)、カーナビゲーションシステムなどにも適用されるようになっている。このような機器の操作では、ユーザーの手の動きを利用したハンドジェスチャーUIが用いられることが多い。
ハンドジェスチャーUIでは、機器の操作の入力にユーザーの手全体の動作、手で形作った形状、指の動作などを利用する。このような動作、形状などを機器側で認識し、その認識の結果に応じた処理を実行する。指の動作を利用するものの一つとして、ハンドポインティングがある。これはユーザーの指差し動作を利用するものであり、特にディスプレイを有する情報表示機器において利用されている。ユーザーはディスプレイ上に表示された項目のうち、選択したい項目を指差す。機器はユーザーが指差したディスプレイ上の位置(以後、ポインティング位置と呼ぶ)を認識し、その認識の結果に応じて機器を制御する。例えば、選択された項目の詳細な情報、或いは、選択された項目に応じた次の操作画面を表示する。
このようなハンドポインティングは、リモコンなど操作のための機器を必要とせず、また、離れた位置にあるものを直接的に選択できるという点で優れている。更に、指差すという動作は多くの人にとって自然な動作であり、その動作を行うこと自体に抵抗がある人が少ないため、機器の操作方法として優れている。
ハンドポインティングを実現するためには、ユーザーの意図したポインティング位置を精度良く認識することが必要である。この認識精度が充分高くない場合、ユーザーは自身が意図した項目を選択できない事態が発生する。その結果、その機器の利便性が低下してしまう恐れがある。
ユーザーの意図したポインティング位置を精度良く認識するための方法として、複数台のカメラを利用するものがある。これは、複数台のカメラで撮像して得られた画像をもとに、ユーザーとカメラとの距離、指の角度などを認識することで、ポインティング位置を認識する(例えば、特許文献1参照)。また、距離センサーと呼ばれる、1台で距離測定可能なカメラを利用し、このカメラで撮像して得られた画像をもとに、ユーザーの手とカメラとの距離、角度などを認識する方法も存在する(例えば、特許文献2参照)。距離センサーの例として、照射した赤外光の反射光が到達するまでの時間を観測することで、物体との距離を測定するTOF(Time Of Flight)センサーと呼ばれるもの、及び特定の赤外光パターンを照射し、その照射パターンの歪みをカメラで観測することで距離を測定するものがある。
特許文献1では、2台のカメラを利用し、それらで撮像した映像からユーザーが指差している方向を推定し、その方向とディスプレイの法線との成す角からポインティング位置を認識している。この場合、ユーザーはあらかじめ定められた位置に立っていることを前提としている。この方法では、カメラを2台必要とするためシステムの規模が大きくなる。また、2台のカメラで撮像した画像間の同期をとる必要があり、高度な処理を必要とする。更に、ユーザーが定位置に立つ必要があるという制約がある。
特許文献2では、距離センサーを利用することで、1台のカメラでの認識を可能にしているが、一般にこのような距離センサーは、従来型の一般的なカメラ(距離センサーではなく、色情報を取得できるようなもの)に比べて高価なため、民生用の情報表示機器への適用は困難である。
本発明は上記問題を鑑みてなされたものであり、1台の一般的なカメラを利用することでユーザーのポインティング位置を精度良く認識することができる。
本発明のジェスチャー認識装置は、
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出部と、
前記特定部位検出部で検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキング部と、
前記トラッキング部によるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識部と、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報を記憶するマッピング情報記憶部と、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識部と
を有することを特徴とする。
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出部と、
前記特定部位検出部で検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキング部と、
前記トラッキング部によるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識部と、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報を記憶するマッピング情報記憶部と、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識部と
を有することを特徴とする。
本発明のジェスチャー認識方法は、
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出ステップと、
前記特定部位検出ステップで検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキングステップと、
前記トラッキングステップによるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識ステップと、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報をマッピング情報記憶部に記憶させるマッピング情報記憶ステップと、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識ステップと
を有することを特徴とする。
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出ステップと、
前記特定部位検出ステップで検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキングステップと、
前記トラッキングステップによるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識ステップと、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報をマッピング情報記憶部に記憶させるマッピング情報記憶ステップと、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識ステップと
を有することを特徴とする。
本発明によれば、仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイ座標系との対応関係に基づいて、ポインティング位置を認識することができるため、1台の一般的なカメラによって撮像された画像によってポインティング位置を精度良く認識することができる。
実施の形態1.
図1は、本発明の実施の形態1のジェスチャー認識装置1と、ジェスチャー認識装置1に対しジェスチャーで操作を行うユーザーの手101を示す。ジェスチャー認識装置1は例えばテレビ受信機の一部を成すものであり、表示画面231は、受信した番組の画像の表示、テレビ受信機の操作のためのGUIの表示にも用いられる。
図1は、本発明の実施の形態1のジェスチャー認識装置1と、ジェスチャー認識装置1に対しジェスチャーで操作を行うユーザーの手101を示す。ジェスチャー認識装置1は例えばテレビ受信機の一部を成すものであり、表示画面231は、受信した番組の画像の表示、テレビ受信機の操作のためのGUIの表示にも用いられる。
ジェスチャー認識装置1はカメラ10を備え、ユーザーの手101の撮像画像を取得する。ユーザーは、手101、特にその特定部位、例えば指先102を表示画面231上の任意の位置に向ける(ポインティングする)ことで、表示画面231上のGUIに対する操作を行う。例えば表示画面231上のGUIの項目(GUIボタン)に対しポインティングを行うことで、テレビ受信機に対する操作を行う。
ジェスチャー認識装置1はカメラ10によってユーザーの特定部位の動きを観察することで、ポインティングされた表示画面231上の位置(ポインティング位置)を認識し、その認識の結果に応じて機器の制御を行う。
図2は、実施の形態1におけるジェスチャー認識装置1の構成を表すブロック図である。図示のジェスチャー認識装置1は、カメラ10と、撮像制御部11と、撮像データ記憶部12と、特定部位検出部13と、トラッキング部14と、トラッキング情報記憶部15と、動作認識部16と、仮想操作面認識部17と、マッピング情報記憶部18と、ポインティング位置認識部19と、UI制御部20と、ディスプレイ表示制御部21と、表示情報記憶部22と、ディスプレイ23とを有する。上記のうち、特定部位検出部13と、トラッキング部14と、トラッキング情報記憶部15と、動作認識部16と、仮想操作面認識部17と、マッピング情報記憶部18と、ポインティング位置認識部19とで、ハンドポインティング認識部2が構成されている。
まず、各構成部の動作について説明する。
カメラ10は、動画撮影(連続した静止画の撮像)を行う。カメラ10は、ジェスチャー認識装置1本体に水平に取り付けられている。ここで、「水平に」とは撮像画面の水平方向が、ジェスチャー認識装置1本体の水平方向、特にディスプレイ23の表示画面231の水平方向に一致するようにと言う意味である。
カメラ10は、動画撮影(連続した静止画の撮像)を行う。カメラ10は、ジェスチャー認識装置1本体に水平に取り付けられている。ここで、「水平に」とは撮像画面の水平方向が、ジェスチャー認識装置1本体の水平方向、特にディスプレイ23の表示画面231の水平方向に一致するようにと言う意味である。
撮像制御部11は、カメラ10に撮像開始を指示する制御信号C11s、及び撮像の終了を指示する制御信号C11tを送信する。制御信号C11s及びC11tは、例えば予め定められたフレーム期間毎に、送信される。カメラ10は、制御信号C11s及びC11tに応じて、撮像の開始及び終了を行う。
撮像制御部11は、カメラ10による撮像で得られた複数のフレームの画像(撮像画像)を順次撮像制御部11に送信する。1枚の撮像画像をフレーム画像DFと呼ぶ。撮像制御部11は、撮像により得られた画像を受信して撮像データ記憶部12に送信する。
撮像データ記憶部12は、撮像制御部11からフレーム画像DFを受信して、フレーム番号FNとともに蓄積する。即ち、撮像データ記憶部12がフレーム画像DFを蓄積する際には、フレーム画像DFを構成する各画素の値だけではなく、フレーム番号FNをも蓄積する。
フレーム番号FNは、カメラ10が撮像したフレーム画像DF毎に割り振られるもので、最初に撮像したフレーム画像DFでのフレーム番号FNを「0」として、「1」、「2」、…といったように1ずつ増加した値とする。
フレーム番号FNは、カメラ10が撮像したフレーム画像DF毎に割り振られるもので、最初に撮像したフレーム画像DFでのフレーム番号FNを「0」として、「1」、「2」、…といったように1ずつ増加した値とする。
撮像データ記憶部12に蓄積されたフレーム画像DF及びフレーム番号FNは、読み出されて、特定部位検出部13に送信される。
特定部位検出部13は、撮像データ記憶部12から送信されたフレーム画像DF及びフレーム番号FNを受信し、撮像データ記憶部12に新たなフレーム画像DFが蓄積されているかどうかを判定する。
特定部位検出部13が撮像データ記憶部12に新たなフレーム画像DFが蓄積されているかどうか判定する際は、前回ハンドポインティング認識処理(後述する)の対象となったフレーム画像DFのフレーム番号FNと比較し、認識処理の対象となったフレーム画像DFのフレーム番号FNよりも大きい値のフレーム番号のフレーム画像DFが存在する場合には、新たなフレーム画像DFが存在すると判断する。
特定部位検出部13は、撮像データ記憶部12に新たなフレーム画像DFが蓄積されていると判定したときは、新たなフレーム画像DFを解析して、画像中の指先(指の先端)を検出する。
指先の検出方法としては、色情報を用いる方法、及び形状情報を用いる方法が知られている。例えば、指先を表すテンプレート画像を用意し、撮像したフレーム画像DFとマッチングを行う方法、多数の指先画像を利用して指先を表す特徴を学習させた検出手段を作成し、撮像したフレーム画像DFに適用する方法などがある。本発明では、これらの検出方法のいずれを用いても良い。
特定部位検出部13は、検出した指先の位置(フレーム画像DF中の位置)を表す座標Ptを取得する。以後、フレーム画像DFにおける指先の座標Ptを「指先座標」と呼ぶ。指先座標Ptはx座標Ptxとy座標Ptyとを含み、(Ptx,Pty)と表すこともある。x座標は、水平軸(x軸)方向の座標であり、y座標は垂直軸(y軸)方向の座標である。
なお、i番目のフレームの指先座標であることを明示するため、符号「Pt(i)」、「Pt(i)x」、「Pt(i)y」を用いる場合もある。以下で用いる他の符号についても同様である。
特定部位検出部13は、各フレーム画像DFの指先座標Ptを、当該フレーム画像のフレーム番号FNとともにトラッキング部14に送信する。
なお、i番目のフレームの指先座標であることを明示するため、符号「Pt(i)」、「Pt(i)x」、「Pt(i)y」を用いる場合もある。以下で用いる他の符号についても同様である。
特定部位検出部13は、各フレーム画像DFの指先座標Ptを、当該フレーム画像のフレーム番号FNとともにトラッキング部14に送信する。
なお、本実施の形態では、指先を検出して、その座標を検出することとしているが、本発明はこれに限定されず、他の箇所であっても良い。例えば、指の腹の部分、又は掌の中心を検出してその座標を検出するものであっても良い。要するに、手又は指の特定の部位を検出して、その座標を検出するものであれば良い。
トラッキング部14は、特定部位検出部13から指先座標Pt及びフレーム番号FNを受信し、複数のフレームに亘り指先のトラッキング(追跡)を行い、トラッキングの結果に基づいて得られた情報をトラッキング情報記憶部15に送信することで、トラッキング情報記憶部15にトラッキング情報DTRを記憶させ、或いはトラッキング情報記憶部15に記憶されているトラッキング情報DTRを更新させる。
トラッキング情報(追跡情報)DTRは、時間の経過に伴う指先の位置の変化(動き)を示す情報(移動軌跡情報)であり、例えば相連続する複数のフレームにおける指先座標Pt、従って指先座標の時系列で構成される。具体的には、トラッキング情報DTRは、図3に示すように、各フレーム画像DFで検出された指先座標(Ptx,Pty)と、そのフレーム番号FNとを関連付けて記述したものである。
指先のトラッキングの結果、あるフレームと次のフレームとで同じ指先が検出されると、新たな指先の位置を示す情報(指先座標)が追加される。例えば、あるフレーム画像の取得後のトラッキング情報DTRが図4(a)に示す如くであり、次のフレーム画像の取得後のトラッキング情報DTRは図4(b)に示す如くとなる。
トラッキングのため、トラッキング部14は、特定部位検出部13から指先座標Ptとフレーム番号FNとを受信すると、トラッキング情報記憶部15に対し、トラッキング情報DTRを要求する制御信号C14aを送信し、これに応じてトラッキング情報記憶部15からトラッキング情報DTRが送信されると、これを受信する。
トラッキング情報記憶部15にトラッキング情報DTRが記憶されていない場合はそのことを示す情報が、トラッキング部14に送信される。その場合には、トラッキング部14は、特定部位検出部13から送信された指先座標Ptとフレーム番号FNの組をトラッキング情報記憶部15に送信し、新たなトラッキング情報DTRとして記憶させる。
トラッキング情報記憶部15にトラッキング情報DTRが記憶されていない場合はそのことを示す情報が、トラッキング部14に送信される。その場合には、トラッキング部14は、特定部位検出部13から送信された指先座標Ptとフレーム番号FNの組をトラッキング情報記憶部15に送信し、新たなトラッキング情報DTRとして記憶させる。
トラッキング情報記憶部15からトラッキング情報DTRが送信されたときは、トラッキング部14は、特定部位検出部13から送信された指先座標Pt及びフレーム番号FNと、トラッキング情報記憶部15から送信されたトラッキング情報DTR、特にそのうちの最も新しいフレームの指先情報Ptとから、指先のトラッキング(追跡)を行い、トラッキングの結果に基づいてトラッキング情報記憶部15にトラッキング情報の更新を行わせる。
なお、トラッキング情報記憶部15から送信されるトラッキング情報のうち、トラッキング部14で利用するのは最新のフレーム(特定部位検出部13から送信された指先座標Pt及びフレーム番号FNのフレームの直前のフレーム)の情報のみであるので、最新のフレーム情報のみを送信するようにしても良い。
トラッキングのため、トラッキング部14は、あるフレームの画像から検出された指先の、当該画像中の位置と、当該あるフレームの次のフレームの画像から検出された指先の当該画像中の位置との間隔が予め定められた値Thmov未満である場合に、当該2つのフレームの画像において検出された指先が、同一の指先であると判定する。
具体的には、特定部位検出部13から送信された各フレームの指先座標が、前のフレームの指先座標と同じ指先を表すものであるか否かを判定する。
具体的には、特定部位検出部13から送信された各フレームの指先座標が、前のフレームの指先座標と同じ指先を表すものであるか否かを判定する。
即ち、現在ハンドポインティング認識処理の対象となっているフレーム画像DFのフレーム番号FNを「i」とし、このフレーム画像DF(i)で検出された指先座標をPt(i)とし、一つ前のフレームのフレーム番号FNを「i-1」とし、そのフレーム画像DF(i-1)で検出された指先座標をPt(i-1)とし、指先座標Pt(i)で示される指先位置と、指先座標Pt(i-1)で示される指先位置との距離MPt(i)-Pt(i-1)が予め定められた値(閾値)Thmovよりも小さければ、それらの指先座標は同一の指先のものであると判定する。
即ちまず、上記の距離MPt(i)-Pt(i-1)を下記の式(1)で求める。
式(1)で、
Pt(i)xは、Pt(i)のx座標、
Pt(i)yは、Pt(i)のy座標、
Pt(i-1)xは、Pt(i-1)のx座標、
Pt(i-1)yは、Pt(i-1)のy座標である。
Pt(i)xは、Pt(i)のx座標、
Pt(i)yは、Pt(i)のy座標、
Pt(i-1)xは、Pt(i-1)のx座標、
Pt(i-1)yは、Pt(i-1)のy座標である。
このように距離に基づく判定が必要であるのは、座標Pt(i-1)の指先と座標Pt(i)の指先とは同一でものであるとは限らないためである。例えば、座標Pt(i)の指先は右手の指先であり、座標Pt(i)の指先は左手の指先である場合がある。このような場合、2つのフレーム間で指先座標Pt間の差が大きくなることが多い。そこで、上記のように閾値Thmov以上であれば、同一の指先についての座標ではないと判定することができる。
相前後するフレーム間で指先座標Ptが同一の指先を表すものであると判定した場合、トラッキング部14は、特定部位検出部13から送信された指先座標Pt(i)と、前のフレームに同じ特定部位検出部13から送信された指先座標Pt(i-1)との対応付けを行う。この対応付けは、前のフレームに送信された指先座標の指先が、今回のフレームに送信された指先座標の位置に移動したものとして扱うことを意味する。即ち、座標Pt(i-1)から座標Pt(i)に指先が移動したと認識することを意味する。
トラッキング情報記憶部15は、トラッキング部14から指先座標Ptとフレーム番号FNとを受信し、これらに基づいてトラッキング情報DTRを更新する。この更新においては、トラッキング部14から送信された指先情報Ptとフレーム番号FNを、すでに記憶されているトラッキング情報DTRの末尾に追加する。
なお、トラッキング情報記憶部15は、検出された全ての指先座標Ptとフレーム番号FNを記憶しなくても良い。例えば、予め定められた数だけ前のフレーム番号FNに関する指先座標Pt及びフレーム番号FNを自動的に削除してもよい。このようにすることで、トラッキング情報記憶部15に必要なメモリ容量が少なくて済む。
トラッキング部14は、相前後するフレームで、指先座標Ptが同一の指先を示すものではないと判定したときは、トラッキング情報記憶部15にトラッキング情報DTRを削除することを指示する制御信号C14bを送り、さらに新たに検出された指先座標Ptとフレーム番号FNの組をトラッキング情報記憶部15に送信する。
トラッキング情報記憶部15は、トラッキング部14から制御信号C14bを受信すると、これに応じてトラッキング情報DTRを削除する。
トラッキング情報記憶部15はさらに、トラッキング部14から新たに(現フレームについて)検出された指先座標Pt及びフレーム番号FNの組を新たなトラッキング情報DTRとして記憶する。
トラッキング情報記憶部15は、トラッキング部14から制御信号C14bを受信すると、これに応じてトラッキング情報DTRを削除する。
トラッキング情報記憶部15はさらに、トラッキング部14から新たに(現フレームについて)検出された指先座標Pt及びフレーム番号FNの組を新たなトラッキング情報DTRとして記憶する。
なお、上記のように、相前後するフレーム間で、指先座標が示す指先位置相互間の距離が閾値以上であれば直ちにトラッキング情報記憶部15のトラッキング情報DTRを削除する代わりに、相前後するフレーム間で指先座標が示す指先位置相互間の距離が閾値以上である状態が予め定められた、2以上の数のフレーム期間だけ続いた(2以上の数のフレームだけ繰り返された)ことを条件として、トラッキング情報記憶部15のトラッキング情報DTRを削除するようにしても良い。
トラッキング情報記憶部15はまた、動作認識部16から、トラッキング情報DTRを要求する制御信号C16aを受信すると、これに応じて、トラッキング情報DTRを動作認識部16に送信する。
トラッキング情報記憶部15はまた、仮想操作面認識部17から、トラッキング情報DTRを要求する制御信号C17aを受信すると、これに応じてトラッキング情報DTRを仮想操作面認識部17に送信する。
トラッキング情報記憶部15はまた、仮想操作面認識部17から、トラッキング情報DTRを要求する制御信号C17aを受信すると、これに応じてトラッキング情報DTRを仮想操作面認識部17に送信する。
動作認識部16は、トラッキング情報記憶部15に対し、トラッキング情報DTRを要求する制御信号C16aを送信し、トラッキング情報記憶部15がこれに応じてトラッキング情報DTRを送信したら、これを受信する。
動作認識部16は、トラッキング情報記憶部15から、トラッキング情報DTRを受信し、受信した情報に基づいて、トラッキング情報記憶部15に新たな指先座標Ptが記憶されているか否かを判定する。
新たな指先座標Ptが記憶されているかどうかは、トラッキング情報DTRに含まれるフレーム番号FNの最新の値を参照することで可能である。
新たな指先座標Ptが記憶されているかどうかは、トラッキング情報DTRに含まれるフレーム番号FNの最新の値を参照することで可能である。
動作認識部16はまた、指先座標Ptをポインティング位置認識部19に送信する。
動作認識部16はまた、ユーザーの指先102の動作が、「ポインティング」を意図したものであるか、又は「選択」を意図したものであるかを示す判定結果信号D16dをUI制御部20に送信する。ここで「選択」はディスプレイ上に表示されている特定の項目の選択を意味する。一方、「ポインティング」は、ディスプレイ上の特定の位置に対するポインティング(指し示す動作)を意味する。同じ位置に対する「ポインティング」が予め定められた時間以上続けられると「選択」を意図したものとして扱われる。
動作認識部16はまた、ユーザーの指先102の動作が、「ポインティング」を意図したものであるか、又は「選択」を意図したものであるかを示す判定結果信号D16dをUI制御部20に送信する。ここで「選択」はディスプレイ上に表示されている特定の項目の選択を意味する。一方、「ポインティング」は、ディスプレイ上の特定の位置に対するポインティング(指し示す動作)を意味する。同じ位置に対する「ポインティング」が予め定められた時間以上続けられると「選択」を意図したものとして扱われる。
動作認識部16は、トラッキング情報記憶部15に記憶されているトラッキング情報から、指先がディスプレイ上の特定の項目の選択を意図しているのか、ディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する。
動作認識部16は、指先が予め定められた時間以上同じところに留まり続けた場合、その時点でポインティングされている位置に表示されているディスプレイ上の項目が選択されていると判定する。
同じところに留まり続けているか否かの判定に当たり、動作認識部16は、完全に同じところに指先が留まり続けていなくとも、あるフレームの画像における前記特定部位の位置が、1つの前のフレームの画像における特定部位の位置を中心とした予め定められた距離の範囲内にあれば、同じところに留まり続けていると判定する。
「選択」を意図した指先の動きであるかどうかを認識する方法について例を挙げると、指先が予め定められた時間以上(予め定められた数のフレーム期間以上)同じところに留まり続けた場合に、ユーザーはディスプレイ23に表示された特定の項目を「選択」しようとしていると認識する方法をとることができる。
しかし、ユーザーが特定の項目を選択したい時に、自身の指先を完全に静止させ、まったく同じところに留まらせることは人間には非常に困難であり、一般的には「手ぶれ」と呼ばれる現象が発生する。そこで、図5のように、ある閾値Thrを定め、以下の式(3)で静止判定を行う。
式(3)の閾値Thrは、式(2a)及び式(2b)の閾値Thmovよりも小さい値に定められる。
式(3)の判定を、図5を参照して説明する。図5に示すように、ハンドポインティング認識処理中のフレーム画像DFにおいて検出された指先座標Pt(i)が、1つ前のフレーム画像DFにおける指先座標Pt(i-1)を中心とした半径Thrの円の内側に存在すれば、静止していると見なす。
即ち、動作認識部16は、完全に同じところに指先が留まり続けていなくとも、1つ前のフレームの画像における指先座標を中心とした、予め定められた距離の範囲内への指先の移動であれば、同じところに留まり続けているものとして扱う。
このようにすることで、ユーザーの指先が多少動いてしまっていても、「選択」を認識することができる。
仮想操作面認識部17は、トラッキング情報記憶部15に記憶されているトラッキング情報DTRから、該トラッキング情報DTRで表されている指先の移動が、仮想操作面BMの指定を意図したものであるかを判断する。仮想操作面認識部17は、ユーザーによる仮想操作面BMの指定意図を認識した場合には、該認識の結果に基づいて仮想操作面BMを定義する。
その処理のため、仮想操作面認識部17は、トラッキング情報記憶部15に対し、トラッキング情報DTRを要求する制御信号C17aを送信し、トラッキング情報記憶部15がトラッキング情報DTRを送信したら、これを受信する。
そして、仮想操作面認識部17は、受信したトラッキング情報DTRからユーザーが仮想操作面BMを指定する動作を行ったかどうか、即ちユーザーが仮想操作面の指定を意図して指先を移動させたか否かを認識する。仮想操作面BMとは図6のように、ユーザーの周囲にある空間のうち、ユーザー自身が実際にハンドポインティングを行う領域を意味する。
仮想操作面BMを指定する動作を行ったかどうかの判定は例えば以下のように行われる。
まず、仮想操作面認識部17は、ユーザーが指先102によって閉曲線201を描いたかどうかを判定する。閉曲線201は、例えば図7(a)に示すように、指先102がある点202を通過した後、同じ点202に戻るまでの曲線である。同じ点に戻るとは、指先102の動きを撮像することで得られる撮像画像の画面(撮像画面)上で、同じ位置に戻ることであり、3次元空間において同じ位置に戻ることは必須ではない。任意の点に戻ったか否かは、撮像画像において、指先の軌跡を描く曲線が交差したか否かで判断される。閉曲線で囲まれた領域を閉領域203と言う。撮像画面を撮像画像と同じ符号DFで示す。
まず、仮想操作面認識部17は、ユーザーが指先102によって閉曲線201を描いたかどうかを判定する。閉曲線201は、例えば図7(a)に示すように、指先102がある点202を通過した後、同じ点202に戻るまでの曲線である。同じ点に戻るとは、指先102の動きを撮像することで得られる撮像画像の画面(撮像画面)上で、同じ位置に戻ることであり、3次元空間において同じ位置に戻ることは必須ではない。任意の点に戻ったか否かは、撮像画像において、指先の軌跡を描く曲線が交差したか否かで判断される。閉曲線で囲まれた領域を閉領域203と言う。撮像画面を撮像画像と同じ符号DFで示す。
ユーザーが閉曲線を描く処理は、複数のフレーム期間にわたって行われるので、閉曲線を描いたか否の判定は、連続する複数のフレーム期間における撮像画像(フレーム画像)を解析する必要がある。
そのため、仮想操作面認識部17は、トラッキング情報DTRからフレーム番号FNの順に2つの指先座標を読み出し、相前後するフレームのフレーム画像における指先座標を結ぶ線分を生成する。これをフレーム番号FNの組を変えながら繰り返し行い、線分同士の交差を検出する。交差が発生した場合、ユーザーが指先によって閉曲線201を描いたと判定し、この時点までの線分を連結したとき生成される閉曲線201の内側領域を閉領域203と認定する。図8(a)には、そのように3次元空間に描かれる閉曲線201に対応する、撮像画面上の曲線を符号211で示す。曲線211は、撮像画像中での指先の軌跡を観念的に示すものであって、曲線211を含む一枚の画像が生成されることを意味しない。
仮想操作面認識部17は、次に生成された閉領域203から、閉曲線201が仮想操作面BMの指定を意図して描かれたものであるか否かを判定する。具体的には、生成された閉領域203の面積S203を算出し、さらに閉領域203を生成するのに要した時間T203を算出する。さらに、閉領域203の面積S203に対して閾値ThSを設定するとともに、閉領域203を生成するのに要した時間T203に対して閾値Thtを設定する。そして、下記の式(4a)及び(4b)が成立するか否かの判定を行う。
式(4a)で用いる面積S203としては、撮像画像中の、閉領域203に対応する領域の面積が用いられる。
式(4a)及び(4b)がともに成立する場合に、ユーザーが仮想操作面BMの指定を意図したと認識する。
そして、図7(b)に示すように、その閉領域203に内接する矩形領域204を仮想操作面BMとして認識する。
式(4a)及び(4b)がともに成立する場合に、ユーザーが仮想操作面BMの指定を意図したと認識する。
そして、図7(b)に示すように、その閉領域203に内接する矩形領域204を仮想操作面BMとして認識する。
ここで閉領域203に内接する矩形領域204とは、一方の対の辺が水平方向に延び、他方の対の辺が垂直方向に延びた矩形の領域であって、全体が閉領域203に含まれ、かつ面積が最大の領域である。ここで言う、「面積」も対応する撮像画像中での面積である。なお、上記のように、カメラ10は水平に取り付けられているので、撮像画像中の水平方向、垂直方向は、3次元空間中の水平方向、垂直方向と一致する。また、閉領域203をカメラ10の光軸10aに垂直に形成すれば、矩形領域204は、撮像画像中の矩形領域と相似となる。
以上のように、仮想操作面認識部17は、ユーザーが自身の指先の動きによって生成した閉領域203の面積が、予め定められた値(閾値)ThS以上であり、且つ、指先の動きによって閉領域を生成するのに要した時間が、予め定められた値(閾値)Tht以下である場合に、ユーザーが仮想操作面BMの指定を意図したと認識する。
これらの条件を課すことにより、ユーザーが偶発的に(即ち仮想操作面の指定を意図せずに)小さな閉領域203を生成してしまったり、長時間の指先移動を経て閉領域203が生成されてしまったりした場合に、それを無視することができる。
なお、上記の2つの条件(式(4a)及び(4b))のうち、一方のみを満たす場合に、ユーザーが仮想操作面BMの指定を意図したと認識することとしても良い。
以上のようにして3次元空間中に仮想操作面BMが定義されると、これに対応する領域が撮像画像中に定義される。この領域を操作領域と言い、符号AMで表す。図8(a)には、仮想操作面BMに対応する操作領域AMが示されている。図8(a)にはさらに、3次元空間中の閉曲線201、交点202、閉領域203に対応する閉曲線211、交点212、閉領域213が示されている。
3次元空間中のカメラ10から見て3次元空間中の特定の方向にあるすべての点、例えば図8(b)において、方向Drc上の複数の点Pta、Ptb、Ptcは、撮像画像中の同じ位置に投影される。従って、特定部位検出部13が指先102を検出する場合にも(さらには、検出された指先の位置に基づいてトラッキング部14、仮想操作面認識部17等で処理を行う際にも)、指先102がカメラ10から見て同じ方向にある限り、どの位置にあっても同じ位置にあるものとして扱われる。
従って、一旦仮想操作面BMが定義されると、ユーザーは、仮想操作面BM内に限らず、カメラ10から見て仮想操作面BMのある位置と同じ方向にある、仮想操作面BMの外部(カメラ10から見て仮想操作面BMの手前側又は奥側で)に指先102を位置させても、同じ効果を生じさせることができる。仮想操作面BMを含み、仮想操作面BMに指先102を位置させたのと同じ効果を生じさせる領域(カメラから見て仮想操作面BMと同じ方向にある領域)を操作可能領域BRと呼ぶ。
操作可能領域BRのうち、ユーザーが閉曲線を描くことによって定義した閉領域203に囲まれる領域は、ユーザーが平面或いは平面に近いと感じ、無理なく(自然な姿勢で)指先102を位置させることができる範囲内の領域である。従って、ユーザーがハンドポインティングのために指先102を移動させるのに便利な領域、或いはユーザーがハンドポインティングのために指先102を位置させることが多い領域である。本願ではそのような領域を仮想操作面BMと呼ぶこととしている。
仮想操作面認識部17は、以上のようにして仮想操作面BMを生成すると、生成した仮想操作面BMに対応する操作領域AMの情報に基づいて、マッピング情報MPDを生成し、マッピング情報記憶部18に送信する。操作領域AMは、仮想操作面BMに対応するので、操作領域AMの情報は、仮想操作面BMの情報でもある。
マッピング情報MPDは、操作領域AMの座標系と、ディスプレイ23の座標系との対応関係を示す情報である。マッピング情報MPDは、撮像画像の座標系上の座標を、ディスプレイ23の座標系上の座標に変換するために利用される。
マッピング情報MPDは、操作領域AMの座標系と、ディスプレイ23の座標系との対応関係を示す情報である。マッピング情報MPDは、撮像画像の座標系上の座標を、ディスプレイ23の座標系上の座標に変換するために利用される。
以後、撮像画像の座標系300を「撮像画像座標系」、
仮想操作面BMの座標系301を「仮想操作面座標系」、
操作領域AMの座標系311を「操作領域座標系」、
ディスプレイ23の座標系302を「ディスプレイ座標系」、
操作領域座標系311上での指先の座標Atを「操作領域内指先座標」と呼び、
ディスプレイ座標系302上での指先の座標Dtを「ディスプレイ上指先座標」と呼ぶこととする。
フレーム画像DFにおける指先座標Ptは、撮像画像座標系300上での指先の座標である。
フレーム画像DFにおける指先座標Ptを、「操作領域内指先座標」及び「ディスプレイ上指先座標」との区別のため、「撮像画像上指先座標」と言うこともある。
座標Atは、x座標Atx及びy座標Atyを含む。
座標Dtは、x座標Dtx及びy座標Dtyを含む。
仮想操作面BMの座標系301を「仮想操作面座標系」、
操作領域AMの座標系311を「操作領域座標系」、
ディスプレイ23の座標系302を「ディスプレイ座標系」、
操作領域座標系311上での指先の座標Atを「操作領域内指先座標」と呼び、
ディスプレイ座標系302上での指先の座標Dtを「ディスプレイ上指先座標」と呼ぶこととする。
フレーム画像DFにおける指先座標Ptは、撮像画像座標系300上での指先の座標である。
フレーム画像DFにおける指先座標Ptを、「操作領域内指先座標」及び「ディスプレイ上指先座標」との区別のため、「撮像画像上指先座標」と言うこともある。
座標Atは、x座標Atx及びy座標Atyを含む。
座標Dtは、x座標Dtx及びy座標Dtyを含む。
図6、図9(a)及び(b)、及び図10に、これらの座標系300、301、311、302、及び座標Pt、At、Dtの関係を図示する。
図10は、撮像画像座標系300、操作領域座標系311、及びディスプレイ座標系302の関係を水平方向(x軸方向)に関して示す。
図10は、撮像画像座標系300、操作領域座標系311、及びディスプレイ座標系302の関係を水平方向(x軸方向)に関して示す。
図6に示されるように、仮想操作面認識部17は、図6に示されるように、操作領域AMの左上の頂点を、操作領域座標系311の原点と定義する。
図9(a)に示すように、操作領域AMの水平方向の辺AMxの長さ(水平方向の画素数)をLAxとし、垂直方向の辺AMyの長さ(垂直方向の画素数)をLAyとする。
また、図9(b)に示すように、ディスプレイ23の表示画面231の水平方向の辺231xの長さ(水平方向の画素数)をLDxとし、垂直方向の辺231yの長さ(垂直方向の画素数)をLDyとする。
さらに、撮像画像上指先座標Ptのx座標をPtxとし、y座標をPtyとする。
さらに、操作領域座標系311の原点の、撮像画像座標系300における座標をPtx0とし、そのx座標をPtx0とし、y座標をPty0とする。
また、図9(b)に示すように、ディスプレイ23の表示画面231の水平方向の辺231xの長さ(水平方向の画素数)をLDxとし、垂直方向の辺231yの長さ(垂直方向の画素数)をLDyとする。
さらに、撮像画像上指先座標Ptのx座標をPtxとし、y座標をPtyとする。
さらに、操作領域座標系311の原点の、撮像画像座標系300における座標をPtx0とし、そのx座標をPtx0とし、y座標をPty0とする。
式(5x)と式(6x)とを組合わせ、
式(5y)と式(6y)とを組合わせることで、
撮像画像中の任意の位置の、撮像画像上座標Pt(=(Ptx,Pty))と、ディスプレイ上座標Dt(=(Dtx,Dty))との関係を表す、下記の式(7x)、(7y)が得られる。
式(5y)と式(6y)とを組合わせることで、
撮像画像中の任意の位置の、撮像画像上座標Pt(=(Ptx,Pty))と、ディスプレイ上座標Dt(=(Dtx,Dty))との関係を表す、下記の式(7x)、(7y)が得られる。
式(7x)及び(7y)は、撮像画像上指先座標(Ptx,Pty)を、ディスプレイ上指先座標(Dtx,Dty)に変換する式として用いられる。
また、式(7x)及び(7y)の右辺の(Ptx-Ptx0)及び(Pty-Pty0)は、式(5x)及び(5y)で示すように、それぞれ操作領域AM内の座標Atx、Atyに等しく、式(7x)及び(7y)は、式(6x)及び(6y)と等価である。従って、式(7x)及び(7y)は、操作領域内指先座標(Ptx-Ptx0,Pty-Pty0)を、ディスプレイ上指先座標(Dtx、Dty)に変換するための式であるとも言える。
式(7x)及び(7y)で得られるディスプレイ上指先座標(Dtx,Dty)は、ディスプレイ上でのポイティング位置を表すものとして利用される。
式(7x)及び式(7y)の右辺の各変数のうち、LDx、及びLDyは既知であり、予めマッピング情報記憶部18に記憶されている。LAx、LAy、Ptx0、Pty0は、仮想操作面認識部17で算出される。
即ち、仮想操作面認識部17は、ユーザーが仮想操作面BMを指定する動作を行ったと認識すると、上記のように仮想操作面BMに対応する操作領域AMの左上の頂点の座標を仮想操作面座標系の原点の座標(Ptx0,Pty0)とし、原点の座標(Ptx0,Pty0)と、操作領域AMの水平方向のサイズLAx及び垂直方向のサイズLAyとを、マッピング情報MPDとしてマッピング情報記憶部18に送信する。
即ち、仮想操作面認識部17は、ユーザーが仮想操作面BMを指定する動作を行ったと認識すると、上記のように仮想操作面BMに対応する操作領域AMの左上の頂点の座標を仮想操作面座標系の原点の座標(Ptx0,Pty0)とし、原点の座標(Ptx0,Pty0)と、操作領域AMの水平方向のサイズLAx及び垂直方向のサイズLAyとを、マッピング情報MPDとしてマッピング情報記憶部18に送信する。
マッピング情報記憶部18は、仮想操作面認識部17からマッピング情報MPDを受信し、これを記憶する。マッピング情報記憶部18は、既に、これらの値を記憶していた場合、新たに受信した値で上書きする。
マッピング情報記憶部18はまた、記憶しているマッピング情報MPDを削除する。
マッピング情報記憶部18はまた、ポインティング位置認識部19からマッピング情報MPDを要求する制御信号C19aを受信し、これに応じて、マッピング情報MPDをポインティング位置認識部19に送信する。
マッピング情報記憶部18はまた、ポインティング位置認識部19からマッピング情報MPDを要求する制御信号C19aを受信し、これに応じて、マッピング情報MPDをポインティング位置認識部19に送信する。
ポインティング位置認識部19は、動作認識部16から指先座標Ptを受信する。ポインティング位置認識部19はまた、マッピング情報記憶部18に対し、マッピング情報MPDを要求する制御信号C19aを送信し、マッピング情報記憶部18からマッピング情報MPDが送信されたら、これを受信する。
ポインティング位置認識部19は、操作領域座標系311とディスプレイ座標系302との対応関係を利用して、カメラ10で撮影した画像上に映る指先が、ディスプレイ上のどこを指しているかを認識する。
ポインティング位置認識部19は、仮想操作面認識部17が認識した仮想操作面BMに対応する操作領域AMの水平方向及び垂直方向の長さと、ディスプレイ23の表示画面231の水平方向の長さと垂直方向の長さとから求められる、水平方向の長さの比LDx/LAx及び垂直方向の長さの比LDy/LAyと、撮像画像座標系300における操作領域AMの原点座標(Ptx0,Pty0)とを利用し、上記した式(7x)及び(7y)で示すように、操作領域内指先座標(Ptx-Ptx0)及び(Pty-Pty0)に対し、それぞれ水平方向の長さの比LDx/LAx及び垂直方向の長さの比LDy/LAyを掛けることで、ディスプレイ23上のポインティング位置のx座標Dtx及びy座標Dtyを求める。
ポインティング位置認識部19はまた、ディスプレイ23上のポインティング位置の座標、即ちディスプレイ上指先座標(Dtx,Dty)を示す情報をUI制御部20に送信する。
UI制御部20は、動作認識部16から「選択」又は「ポインティング」を示す判定結果信号D16dを受信するとともに、ポインティング位置認識部19から、ディスプレイ上指先座標(Dtx,Dty)を受信し、この情報に応じたUIの制御を決定する。
例えば、動作認識部16から「選択」を示す判定結果信号D16dを受信した場合には、UI制御部20は、そのときポインティング位置認識部19から受信しているディスプレイ上指先座標(Dtx,Dty)で表されるディスプレイ23上の位置に表示されている項目が選択されたものと認識する。
例えば、動作認識部16から「選択」を示す判定結果信号D16dを受信した場合には、UI制御部20は、そのときポインティング位置認識部19から受信しているディスプレイ上指先座標(Dtx,Dty)で表されるディスプレイ23上の位置に表示されている項目が選択されたものと認識する。
そして、UI制御部20は、「選択」されたことを示す信号D20sととともに、選択された項目を表す情報をディスプレイ表示制御部21に対し送信する。例えば、選択前に表示されていた複数の項目に対し、それぞれ番号が割り振られており、ハンドポインティングによって選択された場合に、「選択」されたことを示す信号D20sと、選択された項目に割り振られた番号をディスプレイ表示制御部21に送信する。
一方、動作認識部16から「ポインティング」を示す判定結果信号D16dを受信した場合には、UI制御部20は、そのときポインティング位置認識部19から受信しているディスプレイ上指先座標(Dtx,Dty)で表されるディスプレイ23上の位置がポインティングされているものと認識する。
そして、UI制御部20は、「ポインティング」されていることを示す信号D20pととともに、ディスプレイ表示制御部21にポインティングされている位置を示す座標(Dtx,Dty)を送信する。
ディスプレイ表示制御部21は、UI制御部20から「選択」を意味する信号D20sと、選択された項目に割り振られた番号を受信すると、選択された項目に応じて、ディスプレイ23に表示するための情報を表示情報記憶部22から読み出し、ディスプレイ23に送信する。
ディスプレイ表示制御部21は、UI制御部20から「ポインティング」を意味する信号D20pと、ディスプレイ上指先座標(Dtx,Dty)とを受信すると、受信した座標(Dtx,Dty)で表されるディスプレイ上の位置にポインター(GUIのポインター)を表示するための情報を、表示情報記憶部22から読出し、ディスプレイ23に送信する。
ディスプレイ23は、ディスプレイ表示制御部21から受信した情報を表示する。なお、これらの情報が、他の情報に重畳する形で表示されるようにしても良い。
尚、上記の例では、ユーザーがハンドポインティングによって項目を選択した際、ディスプレイ23上に対応した情報を表示することとしているが、本発明はこのような構成に限定されず、例えば、選択した項目に応じて音を鳴らしたり、表示を点滅させたりしても良い。
次に、ハンドポインティング認識部2によるハンドポインティング認識処理の手順を、図11及び図12を参照して説明する。ここではカメラ10で撮像したフレーム画像DFにユーザーは1名のみが含まれているものとする。複数の人が含まれている場合には、先に指先を検出できた人物についてハンドポインティングを認識することとしても良く、全ての人物について同様にしてハンドポインティングを認識することとしても良い。
まず、特定部位検出部13は、撮像データ記憶部12に新たなフレーム画像DF、即ちハンドポインティング認識処理を受けていないフレーム画像DFが蓄積されているか否かを判定する(ST1)。撮像データ記憶部12に新たなフレーム画像DFを蓄積されていない場合(ST1でNO)には、ステップST1の処理を繰り返す。即ち、特定部位検出部13は、以降のハンドポインティグ認識処理を行わず、新たなフレーム画像DFが蓄積されるまで待機する。
蓄積されていると判定した場合(ST1でYES)、ステップST2に進む。
蓄積されていると判定した場合(ST1でYES)、ステップST2に進む。
ステップST1で新たなフレーム画像DFが蓄積されていることを条件として、ステップST2以降の処理を行うこととしているので、ステップST2以降の処理は、新たなフレーム画像DFが撮像データ記憶部12に書き込まれる毎に、即ち、フレーム期間毎に行われる。
ステップST2で、特定部位検出部13は、撮像データ記憶部12から、新たなフレーム画像DFを受信する。
次のステップST3で、特定部位検出部13は、撮像データ記憶部12から受信したフレーム画像DFを解析して指先を検出し、その座標(指先座標)Ptの取得を行う。
ステップST3の次のステップST4では、特定部位検出部13は、指先座標Ptが検出されたか否かの判定を行う。
特定部位検出部13は、指先座標Ptを検出した場合(ST4でYES)には、ステップST5に進む。
ステップST5では、特定部位検出部13は、検出した指先座標Ptをトラッキング部14に送信し、ステップST6に進む。
特定部位検出部13は、指先座標Ptを検出した場合(ST4でYES)には、ステップST5に進む。
ステップST5では、特定部位検出部13は、検出した指先座標Ptをトラッキング部14に送信し、ステップST6に進む。
ステップST4で、フレーム画像DFから指先が検出できなかった場合(ST4でNO)には、ステップST1に戻る。即ち、この場合には、以降のハンドポインティング認識処理は行わない。フレーム画像に指先が含まれておらず、検出できなかった場合も同様である。
ステップST6では、トラッキング部14は、トラッキング情報記憶部15に対してトラッキング情報DTRの送信を要求する。この要求は、制御信号C14aを送信することで行われる。
トラッキング情報記憶部15は、トラッキング情報DTRが記憶されていないときに、制御信号C14aを受信した場合には、「トラッキング情報DTRが記憶されていない」ことを示すデータを送り返す。
トラッキング情報記憶部15は、トラッキング情報DTRが記憶されていないときに、制御信号C14aを受信した場合には、「トラッキング情報DTRが記憶されていない」ことを示すデータを送り返す。
次にステップST7で、トラッキング部14は、上記の制御信号C14aに対するトラッキング情報記憶部15からの応答に基づいて、トラッキング情報DTRがトラッキング情報記憶部15に記憶されているか否かの判定を行う。
トラッキング情報DTRが記憶されていない場合(ST7でNO)、ステップST11に進む。
ステップST11では、トラッキング部14は、検出した指先座標Ptをフレーム番号FNとともにトラッキング情報記憶部15に送信する。トラッキング情報記憶部15は送信された指先座標Ptとフレーム番号FNを、トラッキング情報DTRとして記憶する。これにより新たなトラッキング情報DTRの蓄積が開始される。
ステップST11では、トラッキング部14は、検出した指先座標Ptをフレーム番号FNとともにトラッキング情報記憶部15に送信する。トラッキング情報記憶部15は送信された指先座標Ptとフレーム番号FNを、トラッキング情報DTRとして記憶する。これにより新たなトラッキング情報DTRの蓄積が開始される。
ステップST7で、トラッキング情報記憶部15にトラッキング情報DTRが記憶されている場合(ST7でYES)、ステップST8に進む。
ステップST8で、トラッキング部14は、特定部位検出部13から送信された指先座標が、前のフレームに同じ特定部位検出部13から送信された指先座標と同じ指先を表すものであるか否かを判定する。この判定は、例えば上記の式(1)、(2a)及び(2b)によって行われる。
ステップST8で、トラッキング部14は、特定部位検出部13から送信された指先座標が、前のフレームに同じ特定部位検出部13から送信された指先座標と同じ指先を表すものであるか否かを判定する。この判定は、例えば上記の式(1)、(2a)及び(2b)によって行われる。
トラッキング部14は、今回検出した指先と1つ前のフレーム画像DFで検出した指先が同一のものであると認識した場合(ST8でYES)ステップST12に進む。
ステップST12では、トラッキング部14は、検出した指先座標Ptとフレーム番号FNをトラッキング情報記憶部15に送信し、トラッキング情報記憶部15はその指先座標Ptとフレーム番号FNを追加記憶する。これにより、今回検出された指先位置が一つ前のフレーム画像で検出された指先位置に対応付けられる。
即ち、トラッキング情報記憶部15において、図4(a)及び(b)に示すとおり、1つ前のフレームまでにトラッキング部14から受信した指先座標Pt及びフレーム番号FNが記憶されているので、当該すでに記憶されている指先座標Ptを保持したまま、その情報に追加する形で指先座標Ptとフレーム番号FNを記憶する。
即ち、トラッキング情報記憶部15において、図4(a)及び(b)に示すとおり、1つ前のフレームまでにトラッキング部14から受信した指先座標Pt及びフレーム番号FNが記憶されているので、当該すでに記憶されている指先座標Ptを保持したまま、その情報に追加する形で指先座標Ptとフレーム番号FNを記憶する。
トラッキング部14が、今回のフレーム画像DFで検出した指先と1つ前のフレーム画像DFで検出した指先が同一のものではないと認識した場合(ST8でNO)、ステップST9に進む。
ステップST9では、トラッキング部14はトラッキング情報記憶部15に対し、記憶しているトラッキング情報DTRを削除することを指示する制御信号C14bを送り、トラッキング情報記憶部15はその制御信号C14bに従って、記憶しているトラッキング情報DTRを削除する。
ステップST9では、トラッキング部14はトラッキング情報記憶部15に対し、記憶しているトラッキング情報DTRを削除することを指示する制御信号C14bを送り、トラッキング情報記憶部15はその制御信号C14bに従って、記憶しているトラッキング情報DTRを削除する。
記憶していたトラッキング情報DTRの削除が完了すると、ステップST11に進む。
ステップST11又はステップST12の次にステップST13に進む。
ステップST11又はステップST12の次にステップST13に進む。
ステップST13では、動作認識部16は、トラッキング情報記憶部15から、トラッキング情報DTRを受信し、トラッキング情報記憶部15に新たな指先座標Ptが記憶されているか否かを判定する。
新たな指先座標Ptを記憶していると判断した場合(ST13でYES)、ステップST14に進む。
ステップST14では、指先の位置が前フレームにおける位置から、予め定められた距離の範囲内の位置にあるか否かの判定を行う。この判定は、例えば上記の式(3)によって行われる。
予め定められた距離の範囲内にあれば(ST14でYES)、ステップST15に進み、カウント値Ncfを1だけ増加させる。
ステップST14では、指先の位置が前フレームにおける位置から、予め定められた距離の範囲内の位置にあるか否かの判定を行う。この判定は、例えば上記の式(3)によって行われる。
予め定められた距離の範囲内にあれば(ST14でYES)、ステップST15に進み、カウント値Ncfを1だけ増加させる。
次にステップST16において、カウント値Ncfが予め定められた値Ncftに達した否かの判定を行う。
予め定められた値Ncftに達した場合(ST16でYES)、ステップST17に進み、動作認識部16は、「選択」を意図した指先の動作であるとの判定を行い、UI制御部20に対して「選択」を意図したものであるとの判定結果を示す判定結果信号D16dを送信するとともに、指先座標Ptを、ポインティング位置認識部19に送信する。
予め定められた値Ncftに達した場合(ST16でYES)、ステップST17に進み、動作認識部16は、「選択」を意図した指先の動作であるとの判定を行い、UI制御部20に対して「選択」を意図したものであるとの判定結果を示す判定結果信号D16dを送信するとともに、指先座標Ptを、ポインティング位置認識部19に送信する。
次のステップST18では、ポインティング位置認識部19では、送信された判定結果信号D16d及び指先座標Ptに応じて表示を切替える。即ち、選択された項目に応じた次の操作画面を表示する。例えば、選択された項目の詳細を表示する。
ステップST16で、予め定められた値Ncftに達していない場合(ST16でNO)、ステップST19に進む。
ステップST19では、動作認識部16は、「選択」を意図した動作でなく、「ポインティング」を意図した動作であるとの判定をする。そして、UI制御部20に対して「ポインティング」を意図したものであるとの判定結果を示す判定結果信号D16dを送信するとともに、指先座標Ptをポインティング位置認識部19に送信する。
ステップST19では、動作認識部16は、「選択」を意図した動作でなく、「ポインティング」を意図した動作であるとの判定をする。そして、UI制御部20に対して「ポインティング」を意図したものであるとの判定結果を示す判定結果信号D16dを送信するとともに、指先座標Ptをポインティング位置認識部19に送信する。
ステップST14で、前フレームの位置から所定範囲内ではないと判定された場合(ST14でNO)、ステップST19に進む。
ステップST18又はステップST19の次に、ステップST1に戻り、次のフレーム画像DFが書き込まれるのを待つ。
ステップST18又はステップST19の次に、ステップST1に戻り、次のフレーム画像DFが書き込まれるのを待つ。
ステップST13で、動作認識部16は、トラッキング情報記憶部15が新たな指先座標Ptを記憶していないと判断した場合(ST13でNO)、ステップST1に戻り、次のフレーム画像DFが書き込まれるのを待つ。
次に、仮想操作面認識部17がユーザーの仮想操作面BMを指定する動作を認識し、仮想操作面BMを認識する方法について、図13のフローチャートを参照して説明する。
図13の処理は、予め定められた周期で開始される。
図13の処理は、予め定められた周期で開始される。
最初にステップST31で、仮想操作面認識部17は、仮想操作面認識部17が制御信号C17aを送信し、これに対してトラッキング情報記憶部15からトラッキング情報DTRが送信されると、仮想操作面認識部17は、トラッキング情報DTRを受信する。
ステップST32以降で、仮想操作面認識部17は、受信したトラッキング情報からユーザーが仮想操作面BMを指定する動作を行ったかどうかを認識する。
まず、仮想操作面認識部17は、ユーザーが指先によって閉曲線201を描いたかどうかを判定する(ST32)。
ステップST32以降で、仮想操作面認識部17は、受信したトラッキング情報からユーザーが仮想操作面BMを指定する動作を行ったかどうかを認識する。
まず、仮想操作面認識部17は、ユーザーが指先によって閉曲線201を描いたかどうかを判定する(ST32)。
ユーザーが指先によって閉曲線201を描いたと判定した場合(ST32でYES)、仮想操作面認識部17は、閉曲線201の内側領域を閉領域203と認定する。
次に、仮想操作面認識部17は、閉領域203の面積S203が閾値ThS以上であるか否かの判定(ST33)、及び閉領域203を生成するのに要した時間T203が閾値Tht以下であるか否かの判定(ST34)を行う。
ステップST33の判定条件、又はステップST34の判定条件のいずれかが満たされない場合(ST33でNO又はST34でNO)、仮想操作面認識部17は、仮想操作面BMの指定は行われていないと判断し、処理を終了する。
ステップST33の判定条件、及びステップST34の判定条件がともに満たされる場合(ST33でYESで、かつST34でYES)、仮想操作面認識部17は、生成された閉領域203が、仮想操作面BMを指定するものであると認識する(ST35)。
次に、仮想操作面認識部17はこの閉領域203(図7(b))に内接する矩形領域204を仮想操作面BMとして認識する(ST36)。
次に、仮想操作面認識部17はこの閉領域203(図7(b))に内接する矩形領域204を仮想操作面BMとして認識する(ST36)。
次に、仮想操作面認識部17は、上記のようにして定義された仮想操作面BMに対応する操作領域AMの左上の頂点を操作領域座標系311の原点とし、該原点の、撮像画像座標系300におけるx座標Ptx0及びy座標Pty0と、操作領域AMの水平方向の辺AMxの長さ(水平方向の画素数)LAxと、垂直方向の辺AMyの長さ(垂直方向の画素数)LAyとを、マッピング情報MPDとして、マッピング情報記憶部18に送信する(ST37)。
マッピング情報記憶部18は仮想操作面認識部17からマッピング情報LAx、LAy、Ptx0、Pty0を受信し、それらの値を記憶する。既に、これらの値を記憶していた場合、新たに受信した値で上書きする。
その後、ポインティング位置認識部19は、動作認識部16から指先座標Ptを受信すると、マッピング情報記憶部18からマッピング情報LAx、LAy、Ptx0、Pty0を読み出す。これらの値と、既知であるLDx及びLDyを利用し、式(7x)、(7y)を適用することで、ディスプレイ上指先座標(Dtx,Dty)を認識することができる。その後、認識したディスプレイ上指先座標(Dtx,Dty)をUI制御部20に送信する。
尚、ユーザーは仮想操作面BM外(カメラから見て仮想操作面BMの上下又左右に外れた位置)に指先102を位置させる場合がある。これにはハンドポインティングを意図している場合と意図していない場合とがある。仮想操作面BM内に指先102が位置している場合には、下記の式(8x)及び(8y)がともに満たされる。逆に、仮想操作面BM外に指先102が位置している場合、式(8x)及び(8y)の少なくとも一方が不成立となる。従って、式(8x)、(8y)が成立するか否かで指先が仮想操作面BMの内部にあるか否かを判別することが可能である。
式(8x)及び(8y)の少なくとも一方が不成立となる場合、動作認識部16は、指先102は仮想操作面BMの外部に位置しているものと判断し、ユーザーはハンドポインティングを行っていないとみなし、「選択」、「ポインティング」などの動作を認識しない。つまりポインティング位置認識部19はUI制御部20に対し、ディスプレイ上指先座標(Dtx,Dty)を送信しない。
尚、ユーザーにより仮想操作面BMが指定されていない場合、マッピング情報記憶部18にLAx、LAy、Ptx0、Pty0が記憶されていない。この場合、座標系の変換は行えないので次の通りにして、Dtx、Dtyを定める。
特定部位検出部13が最初に指先を検出したときの指先座標(Ptx0,Pty0)を、ディスプレイ23の中心座標(LDx/2,LDy/2)に対応付ける。即ち、特定部位検出部13が最初に指先を検出したときの指先座標(Ptx0,Pty0)に対応するディスプレイ上座標(Dtx0、,Dty0を)を下記の式(9x)及び(9y)のように定める。
これ以降は指先の移動量に応じてディスプレイ上指先座標(Dtx,Dty)を求める。例えば、指先102が撮像画像座標系300において座標(Ptx,Pty)で表される位置に移動した場合、ディスプレイ上指先座標(Dtx,Dty)は、次の式(10x)及び(10y)で求められる。
式(10x)によって求めたDtxがLDyよりも大きい、又は0よりも小さい場合、又は、式(10y)によって求めたDtyがLDyよりも大きい、又は0よりも小さい場合、即ち、下記の式(11x)及び(11y)のいずれかが不成立となる場合がある。
これは、ディスプレイ上指先座標(Dtx,Dty)が、ディスプレイ23の範囲外となる場合である。この場合、ユーザーはハンドポインティングを行っていないものとして、「選択」、「ポインティング」などの動作を認識しない。つまりポインティング位置認識部19はUI制御部20に対し、ディスプレイ上指先座標(Dtx,Dty)を送信しない。
上記したジェスチャー認識装置1においては、ユーザーによるハンドポインティングを実施する仮想操作面BMを指定する動作を認識し、仮想操作面座標系301とディスプレイ座標系302との対応を予め認識することができるため、1台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標(Dtx,Dty)を認識することができる。
図7(a)及び(b)を参照して説明した方法では、指先で閉曲線201を描くことで、仮想操作面BMを指定する動作を認識するようにしているが、その他の動作によって仮想操作面BMを指定する動作を認識しても良い。例えば、図14のようにある位置120を基点として指先102を矢印121、122、123、124で示すように、上下左右に移動させる動作を認識してもよい。
ジェスチャー認識装置1を、図7(a)及び(b)に示される動作の代わりに、図14に示される動作で仮想操作面BMを指定するように構成しておいても良く、複数用いることとしても良く、図7(a)及び(b)に示される動作で仮想操作面BMを指定するか、図14に示される動作で仮想操作面BMを指定するかを選択可能なように構成しておいても良い。
ジェスチャー認識装置1を、図7(a)及び(b)に示される動作の代わりに、図14に示される動作で仮想操作面BMを指定するように構成しておいても良く、複数用いることとしても良く、図7(a)及び(b)に示される動作で仮想操作面BMを指定するか、図14に示される動作で仮想操作面BMを指定するかを選択可能なように構成しておいても良い。
図7(a)及び(b)を参照して説明した方法では、指先で閉曲線201を描くことで、仮想操作面BMを指定する動作を認識する。しかしながら、正確に同じ位置に戻ることが困難な場合も考えられる。そこで、指先で描かれる軌跡のうちの、任意の点に対する距離が予め定められた閾値以下の点に戻ったか否かで、閉曲線が描かれた否かを判断することとしても良い。そのため、指先で描かれる軌跡上の点相互間の距離D203に対し、閾値ThC及びThDを設定し、一旦下記の式(12a)が成立した後、下記の式(12b)が成立するか否かの判定を行う。
式(12a)の閾値ThCは式(12b)の閾値ThDよりも大きく設定される。
式(12a)及び(12b)で用いる距離D203としては、最新のフレームのフレーム画像DF(i)における指先の座標Pt(i)で表される位置と、最新のフレームより前のフレームのフレーム画像DF(i-n)(nは1以上の整数)における指先の座標Pt(i-n)で表される位置との距離が用いられる。
式(12a)及び(12b)が満たされた場合、式(12a)及び(12b)を満たす最新のフレームのフレーム画像DF(i)における指先の座標Pt(i)で表される位置と、最新のフレームより前のフレームのフレーム画像DF(i-n)における指先の座標Pt(i-n)で表される位置とを線分で結ぶことで閉曲線201を完成させ、該閉曲線201で囲まれる領域を閉領域203と認定する。そして、認定された閉領域203に内接する矩形領域204を仮想操作面BMとして認識する。
式(12a)、及び(12b)に加えて式(4a)及び(4b)が全て成立する場合に、ユーザーが仮想操作面BMの指定を意図したと認識してもよい。
式(12a)及び(12b)で用いる距離D203としては、最新のフレームのフレーム画像DF(i)における指先の座標Pt(i)で表される位置と、最新のフレームより前のフレームのフレーム画像DF(i-n)(nは1以上の整数)における指先の座標Pt(i-n)で表される位置との距離が用いられる。
式(12a)及び(12b)が満たされた場合、式(12a)及び(12b)を満たす最新のフレームのフレーム画像DF(i)における指先の座標Pt(i)で表される位置と、最新のフレームより前のフレームのフレーム画像DF(i-n)における指先の座標Pt(i-n)で表される位置とを線分で結ぶことで閉曲線201を完成させ、該閉曲線201で囲まれる領域を閉領域203と認定する。そして、認定された閉領域203に内接する矩形領域204を仮想操作面BMとして認識する。
式(12a)、及び(12b)に加えて式(4a)及び(4b)が全て成立する場合に、ユーザーが仮想操作面BMの指定を意図したと認識してもよい。
図13を参照して説明した方法では、仮想操作面認識部17が、指先の軌跡を常に監視することにより、閉曲線201を描いたことを認識し、仮想操作面BMを指定する動作を認識するようにしている。代わりに、予め定められた特定の動作(鍵となる動き)によってユーザーが明確に仮想操作面BMの指定開始及び終了を指示しても良い。例えば、手又は指を左右に5回振ることで仮想操作面BMの指定モードに入り、その後、ユーザーが閉曲線を描くことで、仮想操作面BMを指定しても良い。指定モードの終了は、閉領域が生成された時点としても良いし、開始時と同様に終了を意味する手又は指の動作を定義し、その動作が行われた時点としても良い。尚、開始を意味する動作(鍵動作)及び終了を意味する動作(鍵動作)はユーザーによって任意に定義することも可能である。このような定義を記憶しておく記憶部を別個に設け、仮想操作面認識部17がトラッキング情報とこの定義を照会することで、開始又は終了を認識することができる。このようにすることで、仮想操作面BMを指定するときの動作をユーザーが選択することができる。上記の別個の記憶部が図15に鍵動作記憶部24として示されている。
図15の構成では、上記のように、予め定められた特定の動作(鍵となる動き)によって仮想操作面BMの指定の開始及び終了を指示している。代わりに、手又は指の動作以外の特定の方法によってユーザーが明確に仮想操作面BMの指定開始及び終了を指示しても良い。例えば、図16に示すように、音声受信部としてのマイク25と、音声認識部26とを付加し、予め定められた特定の音声(鍵となる音声)、例えば、「仮想操作面指定開始」という言葉を発すると、これをマイク25で受信し、音声信号を音声認識部26に供給し、音声を音声認識部26で認識して、その認識の結果を仮想操作面認識部17に伝える。仮想操作面認識部17が、音声認識部26の認識の結果を受け、これに応じて仮想操作面BMの指定モードに入り、その後、ユーザーが閉曲線を描くことで、仮想操作面BMを指定しても良い。指定モードの終了は、閉領域203が生成された時点としても良いし、ユーザーの「仮想操作面指定終了」という声を認識した時点としても良い。尚、開始を意味する音声及び終了を意味する音声はユーザーによって任意に定義することも可能である。このようにすることで、仮想操作面BMを指定するときの動作をユーザーが選択することができる。
図7(a)及び(b)に示した方法では、片手の指先によって仮想操作面BMを指定するようにしている。代わりに、両手の指先を用いても良い。例えば図17のように、両手101の指先102を頂点とした矩形領域を認識し、認識した矩形領域を仮想操作面BMとして認識しても良い。この場合、特定部位検出部13が2か所の指先を検出する。ユーザーが仮想操作面BMを指定しているかどうかの判定は、2箇所の指先102の位置関係(撮像画像中の位置関係)が所定の条件を満たすか否かに基づいて行っても良い。或いは、2箇所の指先102の位置関係が所定の条件を満たす状態が所定の時間(静止時間)以上続いたか否かに基づいて、ユーザーが仮想操作面BMを指定しているかどうかの判定を行っても良い。位置関係としては、2箇所の指先102が予め定められた距離以上離れているか否かを判定に用いることもできる。また、2箇所の指先が撮像画像の左上の予め定められた範囲内と右下の予め定められた範囲内とに存在するか否かを判定に用いることができる。このようにすることで、仮想操作面BMを指定するときの動作をユーザーが選択することができる。また、図7(a)及び(b)に示すように指先102を動かして閉領域203を形成する場合には、予め定められた大きさ以上の閉領域203を生成するため、指先102を大きく移動する必要があったが、図17に示す方法を用いれば、そのように、大きく移動する必要が無いので、ユーザーの負担が軽くなる。
実施の形態2.
実施の形態2のジェスチャー認識装置1は、ユーザーにより指定された仮想操作面BMをディスプレイ23のアスペクト比に一致させるように補正した上で認識するもので、仮想操作面BM上での指先の位置と、ディスプレイ23上での指先の位置をより正確に対応付けることが可能である。アスペクト比を対応させるための処理は、操作領域AMのアスペクト比をディスプレイ23のアスペクト比に合わせることで行われる。仮想操作面BMがカメラ10の光軸10aに対して垂直であれば、仮想操作面BMのアスペクト比は操作領域AMのアスペクト比に等しい。従って、操作領域AMのアスペクト比をディスプレイのアスペクト比に一致させることで、仮想操作面BMのアスペクト比もディスプレイのアスペクト比に一致させることができる。
実施の形態2のジェスチャー認識装置1は、ユーザーにより指定された仮想操作面BMをディスプレイ23のアスペクト比に一致させるように補正した上で認識するもので、仮想操作面BM上での指先の位置と、ディスプレイ23上での指先の位置をより正確に対応付けることが可能である。アスペクト比を対応させるための処理は、操作領域AMのアスペクト比をディスプレイ23のアスペクト比に合わせることで行われる。仮想操作面BMがカメラ10の光軸10aに対して垂直であれば、仮想操作面BMのアスペクト比は操作領域AMのアスペクト比に等しい。従って、操作領域AMのアスペクト比をディスプレイのアスペクト比に一致させることで、仮想操作面BMのアスペクト比もディスプレイのアスペクト比に一致させることができる。
図18は、実施の形態2に係るジェスチャー認識装置1における、ハンドポインティング認識処理に関係する構成を示すブロック図である。図18において、図2に示される構成要素と同一又は対応する構成要素には、図2に示される符号と同じ符号を付す。図18に示されるジェスチャー認識装置1は、仮想操作面補正部27を備える点が、実施の形態1に係るジェスチャー認識装置1と異なる。
まず、図18に示される構成要素の動作のうち、実施の形態1と異なる点のみ説明する。
仮想操作面認識部17は、トラッキング情報記憶部15に対し、トラッキング情報DTRを要求する制御信号C17aを送信し、トラッキング情報記憶部15からトラッキング情報DTRが送信されたら、これを受信する。また、マッピング情報MPDを仮想操作面補正部27に送信する。
仮想操作面認識部17は、トラッキング情報記憶部15に対し、トラッキング情報DTRを要求する制御信号C17aを送信し、トラッキング情報記憶部15からトラッキング情報DTRが送信されたら、これを受信する。また、マッピング情報MPDを仮想操作面補正部27に送信する。
仮想操作面補正部27は、仮想操作面認識部17からマッピング情報MPDを受信し、受信したマッピング情報MPDで示される操作領域AMのアスペクト比ASAが、ディスプレイ23のアスペクト比ASDと一致するか否かを判定し、一致しない場合には、一致するように、操作領域AMを補正して、補正された操作領域と、ディスプレイとの対応関係を示すマッピング情報(補正マッピング情報)MPDcを生成し、補正マッピング情報MPDcをマッピング情報記憶部18に送信する。仮想操作面補正部27はこのように、操作領域AMのアスペクト比を補正することで、仮想操作面BMのアスペクト比を補正する。
マッピング情報記憶部18は、仮想操作面補正部27から補正マッピング情報MPDcを受信して記憶する。すでに、補正マッピング情報が記憶されている場合には、新しく受信した補正マッピング情報で上書きする。
マッピング情報記憶部18は、ポインティング位置認識部19から補正マッピング情報MPDcを要求する制御信号C19aを受信し、これに応じて補正マッピング情報MPDcを送信する。
マッピング情報記憶部18は、ポインティング位置認識部19から補正マッピング情報MPDcを要求する制御信号C19aを受信し、これに応じて補正マッピング情報MPDcを送信する。
ポインティング位置認識部19は、動作認識部16から指先座標Ptを受信する。
ポインティング位置認識部19はまた、マッピング情報記憶部18に対し、補正マッピング情報MPDcを要求する制御信号C19aを送信し、マッピング情報記憶部18から補正マッピング情報MPDcが送信されたら、これを受信する。
ポインティング位置認識部19はまた、マッピング情報記憶部18に対し、補正マッピング情報MPDcを要求する制御信号C19aを送信し、マッピング情報記憶部18から補正マッピング情報MPDcが送信されたら、これを受信する。
以下、仮想操作面補正部27についてさらに詳しく説明する。
仮想操作面補正部27は、仮想操作面認識部17からマッピング情報MPDを受信すると、マッピング情報MPDの補正が必要かどうかを判定する。具体的には、仮想操作面認識部17によって認識された仮想操作面BM(図19(a))に対応する操作領域AM(図19(b))アスペクト比(縦横サイズの比)ASAが、ディスプレイ23(図19(c))アスペクト比ASAと一致するかどうかを判定する。
仮想操作面補正部27は、仮想操作面認識部17からマッピング情報MPDを受信すると、マッピング情報MPDの補正が必要かどうかを判定する。具体的には、仮想操作面認識部17によって認識された仮想操作面BM(図19(a))に対応する操作領域AM(図19(b))アスペクト比(縦横サイズの比)ASAが、ディスプレイ23(図19(c))アスペクト比ASAと一致するかどうかを判定する。
操作領域AMのアスペクト比ASAは、下記の式(13)で表されるように、操作領域AMの水平方向の辺AMxの長さ(水平方向の画素数)LAxを垂直方向の辺AMyの長さ(垂直方向の画素数)LAyで割ることで得られる。
操作領域AMの辺の長さLAx及びLAyとしては、仮想操作面認識部17により算出されたものが用いられる。
上記のように、仮想操作面BMがカメラ10の光軸10aに垂直であれば、仮想操作面BMのアスペクト比ASBは、操作領域AMのアスペクト比ASAと同じであり、従って、操作領域AMのアスペクト比ASAが補正されれば仮想操作面BMのアスペクト比ASBも同じ値に補正される。
ディスプレイ23のアスペクト比ASDは、下記の式(15)で表されるように、ディスプレイ23の水平方向の辺231xの長さ(水平方向の画素数)LDxを垂直方向の辺231yの長さ(垂直方向の画素数)LDyで割ることで得られる。
ディスプレイ23の辺の長さLDx及びLDyかは既知であり、予めマッピング情報記憶部18に記憶されている。また、式(15)で求められるアスペクト比を前もって計算し、マッピング情報記憶部18に記憶しておくこととしても良い。
算出されたアスペクト比ASAがアスペクト比ASDに一致すると判定された場合、仮想操作面補正部27は仮想操作面BMの補正を行わず、仮想操作面認識部17から受信したマッピング情報MPDをそのまま補正マッピング情報MPDcとしてマッピング情報記憶部18に送信する。
算出されたアスペクト比ASAがアスペクト比ASDに一致しないと判定された場合、操作領域AMの補正を行う。操作領域AMの補正は、操作領域AMを水平方向(x軸方向)に拡大又は縮小することで行われる。
仮想操作面補正部27は、上記の式(16)で求められた係数aを用いて、操作領域AMを水平方向に拡大又は縮小する。
水平方向に拡大する処理は、図19(b)に示すように、補正前の操作領域AMbに領域215を付加する処理である。この場合、補正後の操作領域AMcは補正前の操作領域AMbに領域215を加えた領域である。このように、操作領域AMを補正することで、仮想操作面BMも同様に補正される。即ち、図19(a)に示されるように、補正前の仮想操作面BMbに領域205が付加されて、補正後の仮想操作面BMcとなる。
以上、操作領域AMを水平方向に拡大又は縮小する場合を説明したが、操作領域AMを垂直方向に拡大又は縮小することとしても良い。
以上のように、実施の形態2によれば、実施の形態1と同様に、ユーザーによるハンドポインティングを実施する仮想操作面BMを指定する動作を認識し、操作領域座標系311とディスプレイ座標系302との対応を予め認識することができるため、1台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標(Dtx,Dty)を認識することができる。
それに加えて、実施の形態2によれば、ユーザーにより指定された仮想操作面BMをディスプレイ23のアスペクト比に合わせて補正した上で認識できるので、仮想操作面BM上での指先の位置と、ディスプレイ23上での指先の位置をより正確に対応付けることが可能である。
アスペクト比が一致しない場合、例えばx軸方向の指先の移動に対してはディスプレイ23上の指先座標(Dtx,Dty)が大きく変化するが、同じだけy軸方向に指先を移動してもディスプレイ23上ではあまり指先座標(Dtx,Dty)が変化しないという問題が起こりうる。
実施の形態2のように構成すれば、この問題を解決することができる。
実施の形態2のように構成すれば、この問題を解決することができる。
図18及び図19(a)~(c)を参照して説明した構成では、仮想操作面BMのアスペクト比を変更している。代わりに、ユーザーが仮想操作面BMを指定する時点で、アスペクト比をディスプレイ23のアスペクト比に一致させるようにすることも可能である。例えば本ジェスチャー認識装置1において、図20(a)~図21(b)、及び図22に示すように、ユーザーが目103でディスプレイ23を見て、ディスプレイ23の周囲に沿うように指先を移動させるようにしても良い。
例えば、最初に図20(a)に示すように、ディスプレイ23の表示画面231の左上隅2311を指さし(図示のように目103で見たときに指先102が左上隅2311に重なるようにし)、そのときの指先の位置(撮像画像上の位置)を仮想操作面BMの左上隅BM1とする。
次に図20(b)に示すように、ディスプレイ23の表示画面231の左下隅2312を指さし(図示のように目103で見たときに指先102が左下隅2312に重なるようにし)、そのときの指先の位置を仮想操作面BMの左下隅BM2とする。
次に図21(a)に示すように、ディスプレイ23の表示画面231の右下隅2313を指さし(図示のように目103で見たときに指先102が右下隅2313に重なるようにし)、そのときの指先の位置を仮想操作面BMの右下隅BM3とする。
最後に図21(b)に示すように、ディスプレイ23の表示画面231の右上隅2314を指さし(図示のように目103で見たときに指先102が右上隅2314に重なるようにし)、そのときの指先の位置を仮想操作面BMの右上隅BM4とする。
以上の処理で図22に示すように、仮想操作面BMの4隅BM1~BM4の位置を定義することができ、4隅BM1~BM4を定義することで仮想操作面BMが定義される。
このようにユーザーの指先の移動によって指定した仮想操作面BMのアスペクト比は、ディスプレイ23のアスペクト比と一致する。
上記のように、ユーザーにディスプレイ23の周囲に沿って指先を移動させるために、仮想操作面の認識処理の開始時に、「ディスプレイの周囲に沿って指先を移動させて下さい」と言ったメッセージをディスプレイ23に表示するようにしても良く、同じ内容の音声を、図示しない音声発生器で発生させても良い。要するに、ユーザーに、自身から見えているディスプレイの周囲に沿って指先を移動させるよう案内すればよい。
図18及び図19(a)~(c)を参照して説明した構成では、では、実施の形態1と同様に、3次元空間中で、全体が閉領域203の内部に位置し、かつ面積が最大の矩形の領域を仮想操作面BMとして形成した上で、アスペクト比が、ディスプレイのアスペクト比と一致するように補正をしているが、全体が閉領域203の内部に位置し、アスペクト比がディスプレイのアスペクト比に一致し、かつ、面積が最大の矩形の領域を、仮想操作面BMとして形成することとしても良い。このようにして仮想操作面BMを形成すれば、仮想操作面の補正を省略することができる。
実施の形態3.
実施の形態3のジェスチャー認識装置1は、仮想操作面BMの設定後のユーザーの移動に応じて、指定された仮想操作面BMの位置を補正するもので、ユーザーが移動した場合にも、ユーザーが仮想操作面BMを再設定する必要が無く、且つ移動前と同じ位置感覚でポインティング機能を利用できるようにしたものである。
実施の形態3のジェスチャー認識装置1は、仮想操作面BMの設定後のユーザーの移動に応じて、指定された仮想操作面BMの位置を補正するもので、ユーザーが移動した場合にも、ユーザーが仮想操作面BMを再設定する必要が無く、且つ移動前と同じ位置感覚でポインティング機能を利用できるようにしたものである。
まず、本実施の形態3の要点を、図23並びに図24(a)及び(b)を用いて説明する。実施の形態3は、図23に示すように、ユーザーが仮想操作面BMを指定した後に移動した場合にも、ユーザーの移動量に合わせて指定済みの仮想操作面BMを移動させるものである。ユーザーの移動は、ユーザーの特定の部位、例えば顔の、撮像画像上における移動に基づいて検出する。図23には、ユーザーの顔が符号104で示され、図24(a)及び(b)には撮像画像上の顔が符号114で示されている。
図25は、実施の形態3に係るジェスチャー認識装置1の構成を示すブロック図である。図25において、図2に示される構成要素と同一又は対応する構成要素には、図2に示される符号と同じ符号を付す。図25に示されるジェスチャー認識装置1は、顔検出部28及び仮想操作面補正部29を備える点が、実施の形態1に係るジェスチャー認識装置1と異なる。
まず、各構成部の動作について実施の形態1と異なる点を中心として説明する。
撮像データ記憶部12は、撮像制御部11からフレーム画像DFを受信して、フレーム番号FNとともに蓄積する。撮像データ記憶部12はまた、特定部位検出部13にフレーム画像DFとフレーム番号FNとを送信する。これに加えて、撮像データ記憶部12は、顔検出部28にフレーム画像DFを送信する。
撮像データ記憶部12は、撮像制御部11からフレーム画像DFを受信して、フレーム番号FNとともに蓄積する。撮像データ記憶部12はまた、特定部位検出部13にフレーム画像DFとフレーム番号FNとを送信する。これに加えて、撮像データ記憶部12は、顔検出部28にフレーム画像DFを送信する。
マッピング情報記憶部18はさらに、仮想操作面補正部29からマッピング情報を要求する制御信号C29aを受信し、これに応じてマッピング情報MPDを仮想操作面補正部29に送信する。マッピング情報記憶部18はまた、仮想操作面補正部29から補正マッピング情報MPDを受信し、これを記憶する。
顔検出部28は、撮像データ記憶部12からフレーム画像DFを受信し、フレーム画像DFを解析して、顔114を検出する。フレーム画像DF中の顔114の例が図24(a)及び(b)に示されている。フレーム画像DFにおける顔114はユーザーの顔104に対応したものである。顔の検出は、一般に用いられている方法のいずれかで行い得る。
顔検出部28は、検出した顔の位置を示す座標(以後「顔座標」と呼ぶ)Pfを、フレーム番号FNとともに、仮想操作面補正部29に送信する。図24(a)及び図24(b)は、相前後するフレーム画像DFの例であり、これらのフレーム画像DFにおける顔114の位置を示す座標が符号Pf(i-1)、Pf(i)で示されている。図示の例では、あるフレーム(前フレーム)において図24(a)に示すように、座標Pf(i-1)で示される位置にあった顔が、次のフレーム(現フレーム)では、図24(b)に示すように、座標Pf(i)で示される位置に移動している。座標Pf(i)のx座標及びy座標をPf(i)x及びPf(i)yで表し、座標Pf(i-1)のx座標及びy座標をPf(i-1)x及びPf(i-1)yで表す。
仮想操作面補正部29は、顔検出部28から顔座標Pfを受信し、また、マッピング情報記憶部18からマッピング情報MPDを受信し、補正マッピング情報MPDdをマッピング情報記憶部18に送信する。
仮想操作面補正部29はまた、顔検出部28から供給された、各フレーム画像DFにおける顔座標Pfを記憶する。この顔座標Pfは顔が検出されるたびに更新されるものとする。
仮想操作面補正部29はまた、顔検出部28から供給された、各フレーム画像DFにおける顔座標Pfを記憶する。この顔座標Pfは顔が検出されるたびに更新されるものとする。
次に各構成部の作用について説明する。尚、ここでは本実施の形態3において重要な要素である、マッピング情報の補正を中心に説明する。
まず、顔検出部28は、撮像データ記憶部12からフレーム画像DFを受信し、このフレーム画像DFに対して顔検出処理を行う。顔検出が成功すると、顔検出部28は検出した顔の位置を示す顔座標Pfを仮想操作面補正部29に送信する。
まず、顔検出部28は、撮像データ記憶部12からフレーム画像DFを受信し、このフレーム画像DFに対して顔検出処理を行う。顔検出が成功すると、顔検出部28は検出した顔の位置を示す顔座標Pfを仮想操作面補正部29に送信する。
仮想操作面補正部29は、顔検出部28から受信した顔座標Pf(i)(=(Pf(i)x,Pf(i)y))と1つ前のフレーム画像DFにおける顔座標Pf(i-1)(=(Pf(i-1)x,Pf(i-1)y))とを比較し、x軸方向及びy軸方向の移動量MOV(i)x及びMOV(i)yを求める。移動量MOV(i)x及びMOV(i)yは下記の式(17x)及び(17y)で求められる。
仮想操作面補正部29は、その後、マッピング情報記憶部18からマッピング情報MPDを受信する。受信したマッピング情報MPDのうち、操作領域座標系311の原点座標、即ち、操作領域座標系311の原点の、撮像画像座標系300におけるx座標Pt(i)x0、及びy座標Pt(i)y0を読み出し、これらの値に先程算出した顔の移動量MOV(i)x、MOV(i)yを加算する。加算の結果をPt(i+1)x0、及びPt(i+1)y0で表すとすると、この加算は下記の式(18x)及び(18y)で表される。
仮想操作面補正部29は、上記の加算の結果を補正後の原点座標とし、補正後の原点座標を示す補正マッピング情報MPDdをマッピング情報記憶部18に送信する。
マッピング情報記憶部18は送信された補正マッピング情報MPDdを新たなマッピング情報MPDとして記憶する。即ち、記憶されていたマッピング情報を新たな補正マッピング情報で上書きする。
また、仮想操作面補正部29は、現在のフレーム画像における顔の位置を示す顔座標(Pf(i)x0,Pf(i)y0)を記憶する。この際、1つ前のフレーム画像DFにおける顔座標を現在のフレーム画像における顔座標で上書きする形で記憶する。
以上のように、操作領域AMの補正を行うことで、仮想操作面BMも補正される。
マッピング情報記憶部18は送信された補正マッピング情報MPDdを新たなマッピング情報MPDとして記憶する。即ち、記憶されていたマッピング情報を新たな補正マッピング情報で上書きする。
また、仮想操作面補正部29は、現在のフレーム画像における顔の位置を示す顔座標(Pf(i)x0,Pf(i)y0)を記憶する。この際、1つ前のフレーム画像DFにおける顔座標を現在のフレーム画像における顔座標で上書きする形で記憶する。
以上のように、操作領域AMの補正を行うことで、仮想操作面BMも補正される。
以上のように実施の形態3によれば、実施の形態1と同様に、ユーザーによるハンドポインティングを実施する仮想操作面BMを指定する動作を認識し、操作領域座標系311とディスプレイ座標系302との対応を予め認識することができるため、1台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標(Dtx,Dty)を認識することができる。
それに加えて、実施の形態3によれば、仮想操作面BMを指定した後でユーザーが移動した場合でも、ユーザーの移動に応じて、指定された仮想操作面BMの位置を補正することができる。このため、ユーザーは仮想操作面BMを再設定する必要が無く、且つ移動前と同じ位置感覚でポインティング機能を利用できる。
ユーザーが、座る位置を変えるなど、意識的に大きく移動する場合に限らず、姿勢の変化は常に起こりえる事象である。実施の形態3によればこのような場合にも仮想操作面BMを最適な位置に補正することが可能となる。
実施の形態4.
実施の形態4のジェスチャー認識装置1は、仮想操作面BMの指定後、ディスプレイ23上に、カメラ10による撮像画像に、仮想操作面BMの位置を示すマークを重畳させたフレーム画像400を本来の画像402に対し子画面として、或いは重畳して表示する。以下、仮想操作面BMの位置を示すマークを重畳させたフレーム画像400を確認用画像と呼ぶ。本来の画像402とは、ジェスチャー認識装置1がテレビ受信機の一部を成すものである場合、放送番組の画像を意味する。
実施の形態4のジェスチャー認識装置1は、仮想操作面BMの指定後、ディスプレイ23上に、カメラ10による撮像画像に、仮想操作面BMの位置を示すマークを重畳させたフレーム画像400を本来の画像402に対し子画面として、或いは重畳して表示する。以下、仮想操作面BMの位置を示すマークを重畳させたフレーム画像400を確認用画像と呼ぶ。本来の画像402とは、ジェスチャー認識装置1がテレビ受信機の一部を成すものである場合、放送番組の画像を意味する。
確認用画像400を表示すれば、ユーザーは設定した仮想操作面BMをディスプレイ23上で確認しながらポインティングを行うことができるので、常に仮想操作面BM内でポインティングを行える。また仮想操作面BMが自分の意図どおりに指定できたかどうかを確認することもできる。
図26は、実施の形態4のジェスチャー認識装置1における表示の一例を示す。このように本実施の形態4では、確認用画像400がディスプレイ23上に、本来の画像402に対し、子画面として、或いは重畳して表示される。
また、図26に示されるように、この確認用画像400にはユーザーが設定した仮想操作面BMの輪郭を示す情報(図示の例では点線の枠)401が位置を示すマークとして重畳して表示される。
また、図26に示されるように、この確認用画像400にはユーザーが設定した仮想操作面BMの輪郭を示す情報(図示の例では点線の枠)401が位置を示すマークとして重畳して表示される。
図27は、図26の表示を行うためのジェスチャー認識装置の構成を示す。図27に示されるジェスチャー認識装置は、テレビ受信機の一部を成すものである。テレビ受信機は、ジェスチャー認識装置のほか、放送受信部3を備えている。図27のジェスチャー認識装置は、概して図2のジェスチャー認識装置と同じであるが、確認用画像生成部30を備えており、図2のディスプレイ表示制御部21の代わりに、ディスプレイ表示制御部21bを備えている。
確認用画像生成部30は、撮像データ記憶部12からフレーム画像DFを受信し、仮想操作面認識部17から仮想操作面BMに対応する操作領域AMを示す情報DAMを受信する。
確認用画像生成部30は、仮想操作面BMに対応する操作領域AMを示す情報DAMから仮想操作面BMの輪郭を示す画像(図26の点線の枠401)を生成し、フレーム画像DFに重畳して、確認用画像D30を生成して、ディスプレイ表示制御部21bに供給する。
ディスプレイ表示制御部21bは表示情報記憶部22からの表示情報を受信するのみならず、確認用画像生成部30から確認用画像を受信し、放送受信部3から放送映像を受信する。
ディスプレイ表示制御部21bは、通常は、放送受信部3からの放送映像のみをディスプレイ23に表示させる。
ディスプレイ表示制御部21bはまた、確認用画像生成部30からの確認用画像D30を、放送映像に合成し、合成により得られた映像をディスプレイ23に供給して、ディスプレイ23に図26に示されるような映像を表示させることができる。合成に当たり、確認用画像D30を、放送映像に対して子画面として組み込んでも良く、放送映像に重畳しても良い。
ディスプレイ表示制御部21bはまた、確認用画像生成部30からの確認用画像D30を、放送映像に合成し、合成により得られた映像をディスプレイ23に供給して、ディスプレイ23に図26に示されるような映像を表示させることができる。合成に当たり、確認用画像D30を、放送映像に対して子画面として組み込んでも良く、放送映像に重畳しても良い。
ディスプレイ表示制御部21bはまた、実施の形態1と同様に、表示情報記憶部22からの表示情報を放送映像の代わりに、又は放送映像に重畳して表示させることもできる。
ディスプレイ表示制御部21bはさらに、表示情報記憶部22からの表示情報と、確認用画像生成部30からの確認用画像の双方を、放送映像に合成して、表示させることもできる。
どのようなモードで表示を行わせるかは、図示しない制御部からの制御信号によって制御される。
どのようなモードで表示を行わせるかは、図示しない制御部からの制御信号によって制御される。
なお、図26では、仮想操作面BMの輪郭を示す点線の枠401がディスプレイに表示されるが、枠以外の形で仮想操作面BMの位置を示すようにしても良い。
実施の形態4によれば、実施の形態1と同様に、ユーザーによるハンドポインティングを実施する仮想操作面BMを指定する動作を認識し、操作領域座標系311とディスプレイ座標系302との対応を予め認識することができるため、1台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標(Dtx,Dty)を認識することができる。
それに加えて、実施の形態4によれば、ユーザーは自身の設定した仮想操作面BMの位置をディスプレイ上で確認することができる。従って、仮想操作面BMが自分の意図どおりに指定できたかどうかを確認することができる。また、仮想操作面BMをディスプレイ上で確認しながらポインティングを行うことができるので、ポインティングのための動作の際に、指先(或いは他の特定部位)が、仮想操作面BMから出てしまうのを防ぐことができる。例えば、指先(或いは他の特定部位)の現在の位置に対し、仮想操作面BMがもう少し右であるということをユーザーに対し適切なタイミングで知らせることができる。
仮想操作面BMはユーザーの周囲に存在する空間に指定されるものであるが、ユーザーの目にはっきり見えるものではない。そのため、一度仮想操作面BMを指定した後は、ユーザーは明確にどの位置でハンドポインティングを行えばいいか分からないという問題が存在する。実施の形態4におけるジェスチャー認識装置1によれば、このような問題を解決することができる。
なお、上記の確認用画像400は常にディスプレイ23上に表示していても良いが、仮想操作面BMを指定したタイミングで表示しても良い。このようにすることで、仮想操作面BMが意図したように形成されたことを確認することができる。それとともに、仮想操作面BMを指定したタイミング以外のときは、確認用画像400によってディスプレイ23に表示されている本来の情報402が見えづらくなるのを防ぐことができる。
また、上記の確認用画像400は常時は非表示としておいて、ユーザーの指先102が仮想操作面BM内又はその周辺に位置することが検出されたとき(例えば、予め定められた時間以上継続して仮想操作面BM又はその周辺に位置することが検出されたとき)に表示するようにしてもよい。このようにすることで、ユーザーがハンドポインティングを行うときは、仮想操作面BMをディスプレイ23に表示することで、ポイティングのための動作を確実に仮想操作面BM内で行えるようにすることができる。それとともに、ハンドポインティングを行わないときは、確認用画像400によってディスプレイ23に表示されている本来の情報402が見えづらくなるのを防ぐことができる。
以上本発明をジェスチャー認識装置として説明したが、上記のジェスチャー認識装置で実施されるジェスチャー認識方法もまた本発明の一部を成す。
以上実施の形態1~4において、ジェスチャー認識装置1の機能ブロックとして図示した部分の一部又は全部は、処理回路により実現される。処理回路は、専用のハードウェアであっても、メモリに格納されるプログラムを実行するCPUであっても良い。
例えば、図2、図15、図18、図25、又は図27のカメラ10及びディスプレイ23以外の各部分、又は図16のカメラ10、ディスプレイ23及びマイク25以外の各部分の機能をそれぞれ別個の処理回路で実現してもよいし、複数の部分の機能をまとめて一つの処理回路で実現しても良い。
処理回路がCPUの場合、ジェスチャー認識装置の各部分の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア或いはファームウェアはプログラムとして記述され、メモリに格納される。処理回路は、メモリに記憶されたプログラムを読み出して実行することにより、上記の各部分の機能を実現する。すなわち、ジェスチャー認識装置は、処理回路により実行されるときに、上記の各部分の機能が、結果的に実行されることになるプログラムを格納するためのメモリを備える。また、これらのプログラムは、ジェスチャー認識装置で実施されるジェスチャー認識方法における処理の方法、或いはその手順をコンピュータに実行させるものであるともいえる。
なおまた、ジェスチャー認識装置の各部分の機能のうち、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしても良い。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
図28に上記の処理回路を構成する単一のCPUを含むコンピュータ(符号50で示す)で、ジェスチャー認識装置のカメラ10及びディスプレイ23以外のすべての機能を実現する場合の構成の一例を、カメラ10及びディスプレイ23ととともに示す。コンピュータ50とカメラ10とディスプレイ23とでジェスチャー認識装置が構成されている。
図28に示されるコンピュータ50は、CPU51と、メモリ52と、第1のインターフェース53と、第2のインターフェース54とを備え、これらはバス56で接続されている。
第1のインターフェース53からは、表示のための情報がディスプレイ23に供給される。
第2のインターフェース54には、カメラ10から撮像画像DFが入力され、カメラ10には、第2のインターフェース54から制御信号C11s及びC11tが供給される。
第2のインターフェース54には、カメラ10から撮像画像DFが入力され、カメラ10には、第2のインターフェース54から制御信号C11s及びC11tが供給される。
CPU51は、メモリ52に記憶されたプログラムに従って動作し、第1のインターフェース53から表示のための情報をディスプレイ23に供給することで、ディスプレイ23に表示を行わせ、ユーザーの手101、特にディスプレイ23上の位置に対する「選択」又は「ポインティング」を行うときの手101を、カメラ10で撮像し、撮像により順次得られる複数フレームの撮像画像DFを第2のインターフェース54を介して入力し、図2、図15、図18、図25、又は図27のジェスチャー認識装置の各部の処理を行って、ポインティング位置(ディスプレイ上の座標)の認識を行う。
CPU51による処理の内容は、図2、図15、図18、図25、又は図27のジェスチャー認識装置に関して説明したのと同様である。処理の過程で生成されるデータはメモリ52に保持される。
図29に上記の処理回路を構成する単一のCPUを含むコンピュータ(符号50で示す)でジェスチャー認識装置のカメラ10、ディスプレイ23及びマイク25以外のすべての機能を実現する場合の構成の一例を、カメラ10、ディスプレイ23及びマイク25ととともに示す。コンピュータ50とカメラ10とディスプレイ23とマイク25とでジェスチャー認識装置が構成されている。
図29に示されるコンピュータ50は、図28と同様のCPU51、メモリ52、第1のインターフェース53、及び第2のインターフェース54に加え、第3のインターフェース55を備え、第3のインターフェース55もバス56に接続されている。
第3のインターフェース55には、マイク25から音声信号が入力される。
第3のインターフェース55には、マイク25から音声信号が入力される。
CPU51は、メモリ52に記憶されたプログラムに従って動作し、マイク25からの音声信号で表される音声を認識して、認識結果に基づく処理を行う。音声認識の処理及び音声認識の結果に基づく処理は、図16のジェスチャー認識装置に関して説明したのと同様である。それ以外の点で、図29のコンピュータ50は、図28のコンピュータ50と同様に動作する。
ジェスチャー認識装置で実施されるジェスチャー認識方法、ジェスチャー認識装置の各部分の処理、或いはジェスチャー認識方法における各処理をコンピュータに実行させるプログラムについても、ジェスチャー認識装置について述べたのと同様の効果が得られる。
1 ジェスチャー認識装置、 2 ハンドポインティング認識部、 3 放送受信部、 10 カメラ、 11 撮像制御部、 12 撮像データ記憶部、 13 特定部位検出部、 14 トラッキング部、 15 トラッキング情報記憶部、 16 動作認識部、 17 仮想操作面認識部、 18 マッピング情報記憶部、 19 ポインティング位置認識部、 20 UI制御部、 21、21b ディスプレイ表示制御部、 22 表示情報記憶部、 23 ディスプレイ、 24 鍵動作記憶部、 25 マイク、 26 音声認識部、 27 仮想操作面補正部、 28 顔検出部、 29 仮想操作面補正部、 30 確認用画像生成部、 50 コンピュータ、 51 CPU、 52 メモリ、 53 第1のインターフェース、 54 第2のインターフェース、 55 第3のインターフェース、 56 バス、 101 手、 102 指先、 103 目、 104 顔、 114 顔、 201 閉曲線、 202 交点、 203 閉領域、 211 閉曲線、 212 交点、 213 閉領域、 231 表示画面、 231x ディスプレイの水平方向の辺の長さ、 231y ディスプレイの垂直方向の辺の長さ、 300 撮像画像座標系、 301 仮想操作面座標系、 302 ディスプレイ座標系、 311 操作領域座標系、 AM 操作領域、 AMx 操作領域の水平方向の辺の長さ、 AMy 操作領域の垂直方向の辺の長さ、 At 操作領域内指先座標、 BM、BMb、BMc 仮想操作面、 DF フレーム画像、 Dt ディスプレイ上指先座標、 DTR、DTRd トラッキング情報、 FN フレーム番号、 Pt 指先座標。
Claims (19)
- 撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出部と、
前記特定部位検出部で検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキング部と、
前記トラッキング部によるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識部と、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報を記憶するマッピング情報記憶部と、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識部と
を有することを特徴とするジェスチャー認識装置。 - 前記トラッキング部は、あるフレームの撮像画像から検出された前記特定部位の、当該撮像画像中の位置と、次のフレームの撮像画像から検出された前記特定部位の、当該撮像画像中の位置との間隔が、予め定められた値未満である場合に、当該2つのフレームの撮像画像において検出された前記特定部位が、同一の特定部位であると判定すること
を特徴とする請求項1に記載のジェスチャー認識装置。 - 前記仮想操作面認識部は、定義された前記仮想操作面に対応する前記操作領域の大きさ及び前記撮像画像中の位置に基づいて、前記マッピング情報の少なくとも一部を生成して、前記マッピング情報記憶部に記憶させることを特徴とする請求項1又は2に記載のジェスチャー認識装置。
- 前記仮想操作面認識部は、前記特定部位の動きによって閉領域が生成された時、その閉領域に内接する矩形領域を前記仮想操作面として認識する
ことを特徴とする請求項1から3のいずれか1項に記載のジェスチャー認識装置。 - 前記仮想操作面認識部は、前記特定部位の動きによって生成された前記閉領域に対応する前記撮像画像中の対応する部分の面積が、予め定められた値以上である場合に、前記仮想操作面の指定の意図があったものと認識することを特徴とする請求項4に記載のジェスチャー認識装置。
- 前記仮想操作面認識部は、前記特定部位の動きによって前記閉領域を生成するのに要した時間が予め定められた値以下である場合に、前記仮想操作面の指定の意図があったものと認識することを特徴とする請求項4又は5に記載のジェスチャー認識装置。
- 前記仮想操作面認識部は、前記特定部位が予め定められた特定の動きをした場合に、それ以降の前記特定部位の動きは前記仮想操作面の指定を意図するものであると認識することを特徴とする請求項1から6のいずれか1項に記載のジェスチャー認識装置。
- 音声を受信する音声受信部と、
前記音声受信部で受信した音声を認識する音声認識部をさらに有し、
前記音声認識部は、予め定められた特定の音声が認識されたときに、そのことを前記仮想操作面認識部に通知し、
前記仮想操作面認識部は、前記音声認識部からの通知に応じて、それ以降の前記特定部位の動きは前記仮想操作面の指定を意図するものであると認識する
ことを特徴とする請求項1から6のいずれか1項記載のジェスチャー認識装置。 - 前記仮想操作面認識部は、両手の前記特定部位を検出し、当該両手の前記特定部位の位置関係に基づいて前記仮想操作面を定義することを特徴とする請求項1から8のいずれか1項に記載のジェスチャー認識装置。
- 前記仮想操作面認識部は、両手の前記特定部位の位置関係に基づいて前記仮想操作面の指定を意図するものであるか否かを判定することを特徴とする請求項9に記載のジェスチャー認識装置。
- 前記仮想操作面認識部は、前記両手の前記特定部位の位置関係が所定の条件を満たす状態が予め定められた時間以降続いたか否に基づいて前記仮想操作面の指定を意図するものであるか否かを判定する
ことを特徴とする請求項10に記載のジェスチャー認識装置。 - 前記仮想操作面認識部が認識した前記仮想操作面に対応する前記操作領域のアスペクト比が、前記ディスプレイのアスペクト比と一致するように、前記操作領域を補正することで、前記仮想操作面を補正する仮想操作面補正部をさらに有することを特徴とする請求項1から11のいずれか1項に記載のジェスチャー認識装置。
- 前記仮想操作面認識部が、ユーザーに対し、自身の目で見て前記ディスプレイの周囲に沿うように前記特定部位を移動するよう案内し、該案内に応じてなされた前記特定部位の移動によって生成された閉領域を前記仮想操作面と定義することを特徴とする請求項1から12のいずれか1項に記載のジェスチャー認識装置。
- 前記撮像画像の各々における顔の位置を検出する顔検出部と、
前記顔検出部によって検出された顔の位置の移動量に応じて前記仮想操作面の位置を補正する仮想操作面補正部をさらに有することを特徴とする請求項1から13のいずれか1項に記載のジェスチャー認識装置。 - 前記仮想操作面が定義された際、前記仮想操作面の位置を示す確認用画像を生成する確認用画像生成部と、
前記確認用画像を、前記ディスプレイ上に表示させるディスプレイ表示制御部とを
さらに有することを特徴とする請求項1から14のいずれか1項に記載のジェスチャー認識装置。 - 前記ディスプレイ表示制御部は、前記確認用画像を、前記ディスプレイ上に表示される別の画像に対し子画面として、又は重畳して表示させることを特徴とする請求項15に記載のジェスチャー認識装置。
- 撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出ステップと、
前記特定部位検出ステップで検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキングステップと、
前記トラッキングステップによるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識ステップと、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイの座標系の対応関係を示すマッピング情報をマッピング情報記憶部に記憶させるマッピング情報記憶ステップと、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識ステップと
を有することを特徴とするジェスチャー認識方法。 - 請求項17に記載のジェスチャー認識方法の各ステップの処理をコンピュータに実行させるためのプログラム。
- 請求項18に記載のプログラムを記録した、コンピュータで読み取可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015003951A JP2018032055A (ja) | 2015-01-13 | 2015-01-13 | ジェスチャー認識装置及び方法、並びにプログラム及び記録媒体 |
JP2015-003951 | 2015-01-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016113969A1 true WO2016113969A1 (ja) | 2016-07-21 |
Family
ID=56405526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/079806 WO2016113969A1 (ja) | 2015-01-13 | 2015-10-22 | ジェスチャー認識装置及び方法、並びにプログラム及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2018032055A (ja) |
WO (1) | WO2016113969A1 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018128917A (ja) * | 2017-02-09 | 2018-08-16 | 株式会社Nttドコモ | 入力システム |
CN111240482A (zh) * | 2020-01-10 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种特效展示方法及装置 |
CN111975765A (zh) * | 2019-05-24 | 2020-11-24 | 京瓷办公信息系统株式会社 | 电子装置、机器人系统和虚拟区域设定方法 |
JP2021015637A (ja) * | 2020-11-05 | 2021-02-12 | マクセル株式会社 | 表示装置 |
CN114327229A (zh) * | 2020-09-25 | 2022-04-12 | 宏碁股份有限公司 | 基于影像的手势控制方法与使用此方法的电子装置 |
WO2022194180A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 一种识别点读文字的方法及电子设备 |
CN116627260A (zh) * | 2023-07-24 | 2023-08-22 | 成都赛力斯科技有限公司 | 一种隔空操作方法、装置、计算机设备和存储介质 |
JP7351089B2 (ja) | 2019-03-18 | 2023-09-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6935887B2 (ja) * | 2020-02-14 | 2021-09-15 | 知能技術株式会社 | 端末操作システム、および、端末操作プログラム |
CN111652182B (zh) * | 2020-06-17 | 2023-09-19 | 广东小天才科技有限公司 | 一种悬空手势识别的方法、装置、电子设备和存储介质 |
JP7240766B1 (ja) | 2021-11-11 | 2023-03-16 | Trouvez合同会社 | 非接触入力装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175617A (ja) * | 2010-01-29 | 2011-09-08 | Shimane Prefecture | 画像認識装置および操作判定方法並びにプログラム |
JP2012068854A (ja) * | 2010-09-22 | 2012-04-05 | Shimane Prefecture | 操作入力装置および操作判定方法並びにプログラム |
-
2015
- 2015-01-13 JP JP2015003951A patent/JP2018032055A/ja active Pending
- 2015-10-22 WO PCT/JP2015/079806 patent/WO2016113969A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011175617A (ja) * | 2010-01-29 | 2011-09-08 | Shimane Prefecture | 画像認識装置および操作判定方法並びにプログラム |
JP2012068854A (ja) * | 2010-09-22 | 2012-04-05 | Shimane Prefecture | 操作入力装置および操作判定方法並びにプログラム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018128917A (ja) * | 2017-02-09 | 2018-08-16 | 株式会社Nttドコモ | 入力システム |
JP7351089B2 (ja) | 2019-03-18 | 2023-09-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
CN111975765A (zh) * | 2019-05-24 | 2020-11-24 | 京瓷办公信息系统株式会社 | 电子装置、机器人系统和虚拟区域设定方法 |
CN111975765B (zh) * | 2019-05-24 | 2023-05-23 | 京瓷办公信息系统株式会社 | 电子装置、机器人系统和虚拟区域设定方法 |
CN111240482A (zh) * | 2020-01-10 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种特效展示方法及装置 |
CN114327229A (zh) * | 2020-09-25 | 2022-04-12 | 宏碁股份有限公司 | 基于影像的手势控制方法与使用此方法的电子装置 |
JP2021015637A (ja) * | 2020-11-05 | 2021-02-12 | マクセル株式会社 | 表示装置 |
JP2022160533A (ja) * | 2020-11-05 | 2022-10-19 | マクセル株式会社 | 表示装置 |
JP7369834B2 (ja) | 2020-11-05 | 2023-10-26 | マクセル株式会社 | 表示装置 |
WO2022194180A1 (zh) * | 2021-03-19 | 2022-09-22 | 华为技术有限公司 | 一种识别点读文字的方法及电子设备 |
CN116627260A (zh) * | 2023-07-24 | 2023-08-22 | 成都赛力斯科技有限公司 | 一种隔空操作方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2018032055A (ja) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016113969A1 (ja) | ジェスチャー認識装置及び方法、並びにプログラム及び記録媒体 | |
CN102780893B (zh) | 图像处理设备及其控制方法 | |
US9940507B2 (en) | Image processing device and method for moving gesture recognition using difference images | |
KR102098277B1 (ko) | 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치 | |
JP6480434B2 (ja) | デジタルデバイスとの対話のための直接的なポインティング検出のためのシステムおよび方法 | |
JP5802667B2 (ja) | ジェスチャ入力装置およびジェスチャ入力方法 | |
US10257423B2 (en) | Method and system for determining proper positioning of an object | |
CN109891189B (zh) | 策划的摄影测量 | |
US11635827B2 (en) | Control device, display device, program, and detection method | |
JP2011081506A (ja) | 映像表示装置、および、その表示制御方法 | |
KR101631011B1 (ko) | 제스처 인식 장치 및 제스처 인식 장치의 제어 방법 | |
JP2006277666A (ja) | 表示画面上位置解析装置及び表示画面上位置解析プログラム | |
JP2011028366A (ja) | 操作制御装置および操作制御方法 | |
US11195302B2 (en) | Video synthesis device, video synthesis method and recording medium | |
US10901213B2 (en) | Image display apparatus and image display method | |
JP2012238293A (ja) | 入力装置 | |
US20190121441A1 (en) | Information processing device, information processing method, and program | |
US20210058609A1 (en) | Information processor, information processing method, and program | |
KR20200040716A (ko) | 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치 | |
JP2016126687A (ja) | ヘッドマウントディスプレイ、操作受付方法および操作受付プログラム | |
WO2017057218A1 (ja) | 情報処理装置および位置情報取得方法 | |
US20210258548A1 (en) | Information processing device, information processing method, and recording medium | |
US20230222738A1 (en) | Information processing apparatus, information processing method, and program | |
WO2018185830A1 (ja) | 情報処理システム、情報処理方法、情報処理装置、及びプログラム | |
KR102312601B1 (ko) | 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치 |
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: 15877921 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15877921 Country of ref document: EP Kind code of ref document: A1 |