Gesture input method and apparatus

Abstract: A gesture input apparatus comprises: a plurality of multiaxis angular velocity sensors or multiaxis acceleration sensors respectively for detecting multiaxis angular velocities or multiaxis accelerations; a difference sampling circuit for outputting the difference between one of outputs from the detection means, as a reference value, and outputs from the other detection means; a gesture dictionary for pre-storing sample values of feature relative value outputs; an arithmetic operation controller for recognizing gesture, by comparing an output value from the difference sampling circuit with a value within the gesture dictionary means, based on output indicative of change in elapse of time, from said difference sampling circuit, as one set of data; and a distance sensor for detecting the relative distance between a fixed member and a movable member by using sound waves or light.

Description: BACKGROUND OF THE INVENTION The present invention relates to a human interface for electronic information devices and, more particularly to a gesture input method and apparatus for inputting the motion of fingers, hands and arms. Human interfaces for conventional electronic information devices have been developed using keyboard-input, pen-input, image and audio-input and the like using various media. As a future human interface, gesture-input is now being proposed. As a means for human communication, gesture is important next to language, and gesture-input is expected to provide a user-friendly man-machine interface. Gesture-input devices include a three-dimensional coordinate input device and a Power glove (trade name of a family-computer tool) having a strain gauge at each finger. In addition, a device which inputs manual sign language as images and recognizes the input image data has been introduced. However, the conventional gesture-input devices have the following problems: (1) A three-dimensional coordinate input device using ultrasonic waves cannot input the coordinates of a plurality of points simultaneously because of sound wave interference. Usually, the device inputs, e.g., the movement of only the whole arm. Further, as the transmission speed of sound waves is slow, the arrival of the sound wave must be awaited in order to measure a length. This disturbs high-speed sampling. Therefore this input technique is not suitable for faithful input of human gesture. (2) A Power glove utilizing strain gauges detects bending of joints, and thus the glove can recognize gestures to a certain degree. However, the glove cannot detect the bending of a joint exactly. That is, even if the glove is deformed following the motions of fingers and hand, there are limitations in close adhesion, in degree of elasticity/flexibility, and further, in resolution. (3) Image processing techniques allow a physically separate or free input device since the input can be made by directing a camera toward an object. As processing speeds increase, real-time input becomes possible. However, the amount of image data to be input is large, which requires great calculation ability and processing time. This enlarges the device size and increases the product costs. US-A-4787051 describes a hand-held inertial mouse for a computer. The mouse uses accelerometers to provide output signals proportional to the translation acceleration of the mouse in three non-parallel directions and pairs of these accelerometers are used to determine angular acceleration of the mouse about any axis of rotation. EP-A-0516862 describes apparatus for inputting multi-dimensional information to a CPU. The apparatus uses orthogonal angular velocity sensors provided on a body which is shaped so as to be gripped by the operator. In order to input information, the operator pushes buttons on the operating body to start and stop the counting of the outputs of the angular velocity sensors thereby enabling movement of the operating body by the user to be detected. The operating body may also be designed to be worn on the head of a user so as to be activated by movement of the user's head. EP-A-0211984, on which the preamble of claims 1 and 6 is based, describes a data glove for entry of data into a computer. The data glove is provided with an ultrasonic position transducer and sensors for sensing flexing of the fingers and thumb of the wearer. US-A-4414537 describes a digital data entry glove which carries a plurality of different types of sensor such as touch, tilt and inertial sensors. SUMMARY OF THE INVENTION The present invention has as its object to provide a gesture input method and apparatus which eliminates the above drawbacks of the conventional input methods and enables simple, correct and high-precision gesture input. Further, the present invention has another object to provide a gesture input method and apparatus which attains downsizing of the apparatus and high-speed operation due to small amount of gesture input data. According to the present invention, there is provided an interface as set out in claim 1. Thus, a small sized, high-speed and exact gesture input apparatus can be realized. The multiaxis detection means may be a two-axis angular velocity detection means or a two-axis acceleration detection means. In an embodiment, the gesture recognition means has gesture dictionary means for pre-storing sample values characteristic of relative value outputs, and is arranged to perform gesture recognition by comparing the output value from the relative value output means with the value within the gesture dictionary means. The gesture input apparatus may further comprise, in addition to the above detection means, measurement means for detecting a relative distance between a fixed member and a movable member, by using sound waves or light, to input the whole movement of an object of gesture. The present invention also provides a method for converting a gesture as set out in claim 6. Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. Fig. 1 is a block diagram showing the construction of a gesture input apparatus according to a first embodiment of the present invention; Fig. 2 is an example of use of the gesture input apparatus of the first embodiment; Fig. 3 is an example of another use of the gesture input apparatus of the first embodiment; Fig. 4 is a block diagram showing the construction of a gesture input apparatus according to a second embodiment of the present invention; Fig. 5 is a block diagram showing the construction of a difference sampling circuit according to the second embodiment; and Fig. 6 is a table showing the relation among gestures stored in a gesture dictionary 4, difference output data (a-b difference and a-c difference) and judgment output (command). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S) Preferred embodiments of the present invention will be described in detail in accordance with the accompanying drawings. [First Embodiment] Fig. 1 shows the schematic construction of a gesture input apparatus according to an embodiment of the present invention. An arithmetic operation controller 1 inputs coded gesture data, judges the type of gesture, and executes processing assigned for the gesture. A difference sampling circuit 2 samples the difference between an output value from one of two-axis acceleration sensors 3 (e.g., a sensor 3a) as a reference sensor and an output value from another one of the sensors 3 (3b or 3c) within prejudged period, converts the sampled difference value into coded gesture data and outputs the data. Note that the prejudged period may be set as time from a point where the arithmetic operation controller 1 starts to a point where the arithmetic operation controller 1 stops or as a range which exceeds a threshold value of output values from the two-axis acceleration sensors 3, to be outputted to the difference sampling circuit 2. Otherwise, the prejudged period may be set by switching means which generates a start signal and a stop signal. It is well-known that the two-axis acceleration sensors may comprise the combination of one-axis acceleration sensors. For judgment of gesture by the arithmetic operation controller 1, reference gesture coded data as reference data are pre-stored in a gesture dictionary 4, and output data from the difference sampling circuit 2 and the data stored in the gesture dictionary 4 are compared. This enables more accurate and flexible gesture judgment. Note that the arithmetic operation controller 1 comprises, e.g., a CPU for arithmetic operation control, a ROM for storing CPU control procedures and values such as thresholds and CPU start time and CPU stop time, and a RAM, as an auxiliary storage for storing input data and for comparison and judgment. So far as appropriately-coded gesture data is inputted, the reference data in the gesture dictionary 4 and the procedures for the comparison and judgment by the arithmetic operation controller 1 are easily prepared, therefore, the detailed explanation of these operations will be omitted. Followings are example of conversion of the outputs from the two-axis acceleration sensors 3 into code data by the difference sampling circuit 2, i.e., a method for processing difference output value (extraction and selection method). Example 1: selection of a sensor difference output value Example 2: selection of the central frequency component of a sensor difference output value Example 3: selection of a range where a sensor difference output value exceeds a threshold value = the width of predetermined period (time) Example 4: selection of the integral value among the sensor difference output values, or the twice-integral value among the sensor difference output values Example 5: selection of the maximum value among sensor difference output values, the integral value among sensor difference output values, or the twice-integral value among the sensor difference output values The difference sampling circuit 2 performs a part or all of the above processings, and converts the outputs from the two-axis acceleration sensors 3 into output values in form of coded digital data. In this embodiment, two-axis difference outputs from the combination of two-axis acceleration sensors 3a and 3b and from the combination of the two-axis acceleration sensors 3a and 3c, i.e., four output values are outputted to the arithmetic operation controller 1. Fig. 2 shows an example where the present embodiment is actually applied to an interface of a computer. The two-axis acceleration sensor 3a as the reference sensor is attached to a hand, and the other two sensors 3c and 3b are attached to the index finger and the middle finger respectively. In the two-axis acceleration sensors 3, one axis is arranged to detect the acceleration in a direction vertical to the palm, and the other axis is arranged to detect the acceleration in a direction parallel to the palm. The hand action is the motion of the fingers, and the motion of the fingers can be represented as clenching and unclenching a fist and opening and closing fingers. Accordingly, the above arrangement can represent the gesture of a hand. However, in consideration of general manual sign language, merely inputting hand motion is insufficient. That is, extracting and inputting the arm movement are necessary. Fig. 3 shows another application example. Note that the two-axis acceleration sensors have the same reference numerals, however, the arrangement of the sensors in Fig. 2 and that in Fig. 3 are independent of each other. The sensors are arranged at various points in accordance with gesture to be judged by combining the arrangements such as those in Figs. 2 and 3. Preferably, an output from the two-axis acceleration sensor provided at a portion is commonly used as inputs of a plurality of reference circuits. The two-axis acceleration sensor 3a as the reference sensor is attached to the shoulder of an user, and the other two sensors 3b and 3c are attached to the wrist and the index finger. One axis of the two-axis acceleration sensors 3 is set to detect the acceleration in a direction parallel to the front surface of the user's body, and the other axis is set to detect the acceleration in a direction vertical to the front surface direction. This arrangement can represent the gesture of the whole arm. In any of the constructions, human gesture is accompanied with the movements of joints, however, as the movement of a joint is limited to the movement in a specified direction, detecting three-dimensional movement is not necessary. To represent the whole movement such as the movement of an arm, that of the upper half of a body and that of the whole body, the number of movements of joints to be represented increases. Accordingly, the gesture input apparatus must be combined for a plurality of detection steps, however, the detection can be easily made. The advantageous points of the present embodiment that utilizes the acceleration sensor as motion detection means are, firstly, speed-up of sampling. In this construction, a single device can obtain output corresponding to acceleration, while in a three-dimensional coordinate input device which uses sound waves, motion detection is accompanied with delay of transmission of sound waves. Secondly, correct and precise output with respect to gesture can be obtained. "correct" is avoiding "shift from actual hand motion" that is a problem occurs when a strain gauge is attached to the hand, by correctly following the motion of fingers or the arm. "Precise" is fine gesture-input of delicate motion of each finger by providing sensors for the respective fingers. For example, the difference between the motion of the index finger and that of the middle finger can be discriminated. Thirdly, downsizing of elements attached to the user's body such as a hand and an arm can be attained. An IC-sized sensor is on the market, and the amount of electric consumption is small. Uncomfortable feeling from a large-sized sensor must be avoided. Fourthly, it is the most important point, easy conversion of gesture into coded data of the minimum amount is possible. In case of a three-dimensional coordinate input, the obtained data is a set of coordinate data each changes momentarily. To represent the gesture by coordinates, minute sampling is needed. However, utilization of acceleration decreases the number of degree with respect to time by processing of differential data of coordinate data. Thus, arithmetically simple data processing can be attained. That is, a differential type sensor is preferable in consideration of detected data amount. From the above four advantageous points, an angular velocity sensor (gyro) having the same advantage as that of the acceleration sensor may be employed. Note that in order to detect angular velocities, the arrangement of the angular velocity sensors is somewhat different from that of the acceleration sensors. Similar to Fig. 2, upon inputting the gesture of a hand, to represent actual hand motion, one of the two axes of the sensors is provided at an angle to detect a direction rotating around a direction passing through the wrist to the middle-finger tip as the central axis, while the other axis is provided at an angle to detect an angular velocity in a direction where the hand is bent inward. Upon inputting arm gesture (see Fig. 3), the arrangement is made in the same manner. Further, conversion of input gesture into coded data by the difference sampling circuit 2, i.e., the method for processing (extraction and selection) a sensor difference output value is somehow different from that in the acceleration sensor. The above-described Examples 1 to 3 are also employed here, however, the Examples 4 and 5 are changed as follows. Example 4: selection of an integral value among the sensor difference output values Example 5: selection of the maximum value among sensor difference output values, or the maximum integral value among the sensor difference output values. The twice-integral value among the sensor difference output vales is a value generated by twice-integration on the velocity, and this value has no meaning. Therefore the twice-integral value is not included in the above processing method. Further, the advantageous point in utilizing the difference output will be described. That is, in Fig. 2, when only the hand gesture is extracted, it is not necessary to detect a direction of the hand with respect to the body or a computer (information device for gesture input), or to detect the motion of the hand with respect to the body or the computer. However, upon input, it is difficult to move only the fingers without moving the hand. That is, the difference processing is required to detect only the necessary motion. In case of inputting the motion of fingers, a reference sensor may be attached to the hand; in case of inputting the motion of the arm, the reference sensor may be attached onto the shoulder; and in case of inputting the motion of the upper-half body, the reference sensor may be attached to the waist. In this manner, the above processing is suitable to detect only the minimum necessary data. Fig. 5 shows the construction of the difference sampling circuit 2. Reference numerals 21a and 21b denote difference circuits which respectively subtract the input from the negative (-) input terminal from the input from the positive (+) input terminal and output the difference; and 22a and 22b, A/D converters which respectively convert the analog data into digital data. In this example, the sensor 3a is used as the reference sensor, and the difference digital outputs of the sensors 3b and 3c (a-b difference and a-c difference) are obtained. The arithmetic operation controller 1 notifies the timing of starting sampling. The period of sampling may be made by the A/D converters 22b and 2c by having timers, otherwise, the arithmetic operation controller 1 may provide a sampling synchronizing signal (trigger). The digital outputs (a-b difference and a-c difference) may be data array which is continuous and half-endless/infinite from the viewpoint of time, however, in this example, data array to be recognized is obtained from (4 bits/sampling) × n times (see Fig. 6). If the timing of stopping the sampling is provided from the sensor side (e.g., by providing switches), the data array from the start to the end of sampling may be standardized (regularized) and it may be converted into data in another format before recognition. Fig. 6 is an example of a table showing the relation among gesture, difference output data (a-b difference and a-c difference) and judgment output (command), stored in the gesture dictionary 4 upon gesture input in the sensor arrangement in Fig. 3. As described above, data to be recognized is a data array in an unit of (4 bits/sampling) × 4 times. The difference data in Fig. 6 are output data corresponding to typical (feature) gestures stored in the gesture dictionary. In recognition processing, one of the stored gestures closest to the input gesture is judged as input gesture. In Fig. 3, sensors for two axes are provided. One axis is vertical to a surface on which the sensor is attached, while the other axis is parallel to the surface, as a horizontal swaying direction. Accordingly, in the sensor (3c) attached to the back of the hand, vertical-axis difference output is output in a direction vertical to the back of the hand, while horizontal-axis difference output is output in a direction passing through the thumb and the little finger. Although Fig. 6 only shows easily-recognizable gestures, i.e., gestures which generate clear difference among output data, the number of gestures can be easily increased by increasing directions in which the hand is directed, rotated (clockwise or not), swayed, etc. Further, it is apparent that the number of gestures to be represented can be infinitely increased by increasing the number of positions where sensors are attached or by attaching another set of sensors to the other arm. In addition, though the sensor 3a is employed as the reference sensor and the difference outputs is obtained between the sensors 3b and 3c outputs, the difference between the outputs from the sensors 3a and 3b and the difference between the outputs from the sensors 3b and 3c may be obtained. [Second Embodiment] A gesture input apparatus according to a second embodiment of the present invention will be described with reference to Fig. 4. As described above, when hand gesture is inputted, the motion of the fingers is mainly inputted. However, if a movement that a hand approaching a computer and a movement that the hand is moving away from the computer are inputted, the number of gesture types which can be inputted will be increased. For this purpose, in Fig. 4, a distance sensor 5 which measures the distance between the computer and a detector 6 is provided. The distance sensor 5 may use an ultrasonic-wave sensor or a magnetic sensor with relatively low precision, and it may be provided at the same position as that of the two-axis acceleration sensor 3a as the reference sensor. The conventional three-dimensional coordinate input device has been required to input a three-dimensional position, however, considering the purpose of gesture input, only one-dimensional measurement data is sufficient. Note that in the present embodiment, two-axis acceleration sensors or two-axis angular velocity sensors are employed since the movement of an arm and the like can be fully detected from accelerations about two axes or velocities about two axes. For analyzing further detailed movement, or in a case where motion detection is difficult by two axes, sensors of more axes can be employed. Further, the present invention can be applied to a system constituted by a plurality of devices, or to an apparatus comprising a single device. Furthermore, the invention is applicable also to a case where the object of the invention is attained by supplying a program to a system or apparatus. As described above, the present invention provides a gesture input method and apparatus which enables correct and high-precision gesture input, based on difference output data from multiaxis acceleration sensors or multiaxis angular velocity sensors. Further, the present invention provides a gesture input method and apparatus which attains downsizing of the apparatus, and which enables high-speed operation due to small amount of gesture input data.

Claims: An interface apparatus for converting a gesture made by a human being into a machine readable form, the apparatus comprising: a plurality of movement detectors (3a, 3b, 3c) each adapted to be arranged on a respective different one of a plurality of relatively movable parts of a human body such that each sensor is movable relative to the other sensors and provides an output signal relating to movement of the part of the human body on which that sensor is arranged; and gesture recognition means (1, 4) for recognising a gesture made by a human being on which the sensors are arranged in response to the output signals received from the sensors, characterised by said detectors comprising multiaxis acceleration or angular velocity sensors (3a, 3b, 3c); said apparatus further comprising relative value output means (2) for determining for each of said axes the difference between the output signal for one of the sensors acting as a reference and the output signal of another sensor as to obtain relative motion values for each of said axes; and said gesture recognition means (1, 4) being arranged to recognise a gesture made by a human being on which the sensors are arranged in response to the change in said relative motion values over a given period of time. An apparatus according to claim 1, wherein said movement detectors are two-axis angular velocity sensors. An apparatus according to claim 1, wherein said movement detectors are two-axis acceleration sensors. An apparatus according to claim 1, 2 or 3, wherein said gesture recognition means (1, 4) includes gesture dictionary means (4) for pre-storing sample values of feature relative values, and said gesture recognition means (1, 4) is arranged to perform recognition by comparing an output value from said relative value output means with a value within said gesture dictionary means. An apparatus according to any one of the preceding claims, further comprising measurement means (5) for detecting a relative distance between a fixed member and a movable member, by using sound waves or light. A method for converting a gesture made by a human being into a machine readable form, the method comprising: providing a plurality of movement detectors (3a, 3b, 3c) on the human being such that each movement detector is arranged on a respective different one of a plurality of relatively movable parts of the human being such that each sensor is movable relative to the other sensors; receiving from said sensors output signals relating to movement of the parts of the human body on which the sensors are arranged; and recognising a gesture made by the human being in response to the output signals received from the sensors, characterised by providing said detectors as multiaxis acceleration or angular velocity sensors; determining for each said axes the difference between the output signal for one of the sensors acting as a reference and the output signal of another of said sensors so as to obtain relative motion values for each of said axes; and recognising the gesture in response to the change in said relative motion values over a given period of time. A method according to claim 6, which comprises using as said movement detectors two-axis angular velocity sensors. A method according to claim 6, which comprises using as said movement detectors two-axis acceleration sensors. A method according to claim 6, 7 or 8, which comprises recognising the gesture by comparing an output value from said relative value output means with a value from a gesture dictionary means (4). A method according to any one of claims 6 to 9, further comprising detecting a relative distance between a fixed member and a movable member, by using sound waves or light.

Inventors: KOBAYASHI KATSUYUKI, SATO HAJIME, TANAKA ATSUSHI, TOKIOKA MASAKI, YANAGISAWA RYOZO, YOSHIMURA YUICHIRO, KOBAYASHI, KATSUYUKI, SATO, HAJIME, TANAKA, ATSUSHI, TOKIOKA, MASAKI, YANAGISAWA, RYOZO, YOSHIMURA, YUICHIRO, KOBAYASHI, KATSUYUKI, C/O CANON KABUSHIKI KAISHA, SATO, HAJIME, C/O CANON KABUSHIKI KAISHA, TANAKA, ATSUSHI, C/O CANON KABUSHIKI KAISHA, TOKIOKA, MASAKI, C/O CANON KABUSHIKI KAISHA, YANAGISAWA, RYOZO, C/O CANON KABUSHIKI KAISHA, YOSHIMURA, YUICHIRO, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1995
Main classification: G06K11
IPC codes: G06F3, G06K9