Google Patent | Occluded Gesture Recognition
Patent: Occluded Gesture Recognition
Publication Number: 10409385
Publication Date: 20190910
This document describes techniques and devices for occluded gesture recognition. Through use of the techniques and devices described herein, users may control their devices even when a user’s gesture is occluded by some material between the user’s hands and the device itself. Thus, the techniques enable users to control their mobile devices in many situations in which control is desired but conventional techniques do permit effective control, such as when a user’s mobile computing device is occluded by being in a purse, bag, pocket, or even in another room.
This background description is provided for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, material described in this section is neither expressly nor impliedly admitted to be prior art to the present disclosure or the appended claims.
Mobile computing devices continue to increase in popularity, as these devices are small, light, and often have substantial computing and communication capabilities. To enjoy these many capabilities, users desire seamless and near-constant control of their devices. Conventional techniques, however, do not permit seamless and near-constant control.
To address this desire, some other conventional techniques provide audio interfaces. These audio interfaces can help users control their devices when their hands are occupied and audio interference is minimal, such as when driving. These conventional techniques, however, often fail to understand a user’s commands. Even when these conventional techniques do understand a user’s commands, they fail to enable control in a large set of circumstances during which control is desired.
This document describes techniques and devices for occluded gesture recognition. Through use of the techniques and devices described herein, users may control their devices even when a user’s gesture is occluded by some material between the user’s hands and the device itself Thus, the techniques enable users to control their mobile devices in many situations in which control is desired but conventional techniques do permit effective control, such as when a user’s mobile computing device is occluded by being in a purse, bag, pocket, or even in another room.
This summary is provided to introduce simplified concepts relating to occluded gesture recognition, which is further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of techniques and devices for occluded gesture recognition are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:
FIG. 1 illustrates an example environment in which occluded gesture recognition can be implemented.
FIG. 2 illustrates the mobile computing device of FIG. 1 in greater detail.
FIG. 3 illustrates an example 3D volume radar field emitted by the occluded-gesture recognition system of FIG. 2 as a volumetric cone.
FIG. 4 illustrates an example surface radar field emitted by the occluded-gesture recognition system of FIG. 2.
FIG. 5 illustrates an example method enabling better recognition of an occluded gesture by mapping gestures to control inputs for an authenticated person.
FIG. 6 illustrates an example method enabling occluded gesture recognition.
FIG. 7 illustrates an example device embodying, or in which techniques may be implemented that enable use of, occluded gesture recognition.
This document describes techniques and devices enabling occluded gesture recognition. These techniques and devices enable greater control of mobile devices through recognizing gestures when those gestures are occluded from the mobile device.
Consider, for example, a case where a user’s smartphone is in her purse. The techniques enable her to control her smartphone without having to fumble through her purse to find her smartphone. Assume that she is in a meeting and her phone begins to ring loudly–rather than have it continue to ring until she finds the smartphone, gets it out of her purse, looks at her touch interface to find a control to mute the volume, and then selects the mute control–she instead makes a simple gesture “in the air” near her purse and her smartphone is immediately silent.
By way of another example, assume that a user is walking to work on a cold, rainy morning. Because of this, his media player is in his briefcase, protected from the rain, while he listens with earphones through a personal area network in communication with the media player. Rather than have to hold and interact with the media player, the techniques enable him to pause, adjust a volume, or advance to another song simply with a gesture made “in the air”–he need not touch his media player or even the earphones in his ears. The techniques even enable the user to make a gesture while his hands are in his jacket pockets, protected from the cold.
These are but two examples in which occluded gesture recognition can be performed. This document now turns to an example environment, after which example occluded-gesture recognition systems, example methods, and an example computing system are described.
* Example Environment*
FIG. 1 is an illustration of an example environment 100 in which techniques enabling occluded gesture recognition can be performed. Environment 100 includes a mobile computing device 102 having an occluded-gesture recognition system 104, a closed purse 106, a person 108, a hand 110 of person 108 performing an up-and-down gesture 112, and a radar field 114 generated by occluded-gesture recognition system 104. As shown, mobile computing device 102 is within closed purse 106 and thus hand 110 is occluded from mobile computing device 102 due to the material of closed purse 106. Radar field 114, described in detail below, is configured to penetrate various materials, such as wool, cotton, nylon, or leather, but reflect from human tissue of hand 110, thereby enabling recognition of occluded gestures.
In more detail, consider FIG. 2, which illustrates mobile computing device 102 including one or more computer processors 202 and computer-readable media 204, which includes memory media and storage media. Applications and/or an operating system (not shown) embodied as computer-readable instructions on computer-readable media 204 can be executed by processors 202 to provide some of the functionalities described herein. Computer-readable media 204 also includes gesture manager 206 (described below).
Computing device 102 may also include network interfaces 208 for communicating data over wired, wireless, or optical networks. By way of example and not limitation, network interface 208 may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, a mesh network, and the like. Mobile computing device 102 may also include a display 210, though this is not required.
Occluded-gesture recognition system 104, as noted above, is configured to sense gestures. To enable this, occluded-gesture recognition system 104 includes a microwave radio element 212, an antenna element 214, and a signal processor 216. Generally, microwave radio element 212 is configured to provide a radar field that is capable of penetrating some materials, such as textiles, and reflecting from other materials, such as human tissue. While examples shown herein generally show one occluded-gesture recognition system 104 per device, multiples can be used, thereby increasing a number and complexity of gestures, as well as accuracy, resolution, and robust recognition.
This radar field can be large or small and be widely dispersed or narrowly directed (e.g., focused). In some cases described below, the radar field is directed to a particular user’s hands, which can improve accuracy, reduce power costs, and/or direct reception of gestures to those of an identified hand
Microwave radio element 212 can be configured to emit continuously modulated radiation, ultra-wideband radiation, or sub-millimeter-frequency radiation. Microwave radio element 212, in some cases, is configured to form radiation in beams, the beams aiding antenna element 214 and signal processor 216 to determine which of the beams are interrupted, and thus locations of interactions (e.g., by a hand) within the radar field. In more detail, microwave radio element 212 can be configured to emit microwave radiation in a 1 GHz to 300 GHz range, as well as 57 GHz to 63 GHz, to provide the radar field. This range affects antenna element 214’s ability to sense interactions, such as to track locations of two or more targets to a resolution of about two to about 25 millimeters. Microwave radio element 212 can be configured, along with other entities of occluded-gesture recognition system 104, to have a relatively fast update rate, which can aid in resolution of the interactions. By selecting particular frequencies, occluded-gesture recognition system 104 can operate to substantially penetrate clothing while not substantially penetrating human tissue.
Antenna element 214 is configured to receive reflections of, or sense interactions in, the radar field, and signal processor 216 is configured to process the reflections or sensed interactions in the radar field sufficient to provide gesture data usable to determine a gesture from the sensed interactions. Antenna element 214 can include one or many sensors, such as an array of radiation sensors, the number in the array based on a desired resolution and whether the field is a surface, plane, or volume. Alternately or additionally, antenna element 214 may include one or many antennas, such as an array of antennas, directional or otherwise, coupled with respective radiation sensors and/or signal processor 216.
Further, antenna element 214 or signal processor 216 can be configured to differentiate between interactions in the radar field caused by clothing from those interactions in the radar field caused by human tissue. Thus, a user with a smartphone 102-1 (that includes occluded-gesture recognition system 104) that is placed within a jacket or shirt pocket covering microwave radio element 212, and even with hands wearing gloves or in another pocket may still control the mobile computing device 102 through use of occluded-gesture recognition system 104.
The field provided by microwave radio element 212 can be a three-dimensional (3D) volume (e.g., hemisphere, cube, cylinder, cone), a plane, or a surface applied to human tissue or non-human object. In the case of a 3D volume, antenna element 214 is configured to sense interactions in the 3D volume of multiple targets (e.g., two hands, fingers of one or two hands, etc.), and signal processor 216 is configured to process the sensed interactions in the 3D volume sufficient to provide gesture data usable to determine gestures in three dimensions.
An example of a 3D volume is illustrated in FIG. 3, which shows a 3D volume radar field 302, formed as two volumetric cones 304 and emitted by occluded-gesture recognition system 104 of media player 306. Note that media player 306 is placed within, and occluded by, fabric of man 308’s jacket 310. As described later below, 3D volume radar field 302 can be directed toward particular locations, such as through tracking of man 308’s hands 312.
With 3D volume radar field 302, a user may perform complex or simple gestures with a hand or device (e.g., a stylus) that interrupts the volume. Example gestures include the many gestures usable with current touch-sensitive displays, such as swipes, two-finger pinch and spread, tap, and so forth. Other gestures are enabled that are complex, or simple but three-dimensional, examples include the many sign-language gestures, e.g., those of American Sign Language (ASL) and other sign languages worldwide. A few of these include an up-and-down fist, which in ASL means “Yes”, an open index and middle finger moving to connect to an open thumb, which means “No”, a flat hand moving up a step, which means “Advance”, a flat and angled hand moving up and down, which means “Afternoon”, clenched fingers and open thumb moving to open fingers and an open thumb, which means “taxicab”, an index finger moving up in a roughly vertical direction, which means “up”, and so forth. These are but a few of many gestures that can be mapped to particular devices or applications, such as the “Advance” gesture to skip to another song being played by media player 306 through an occluded gesture performed by man 308’s hand 312.
The radar field can also include a surface applied to human tissue. This is illustrated at FIG. 4, which shows hand 402 having a surface radar field 404 provided by occluded-gesture recognition system 104 of laptop 102-7. Radio emitter 212 (not shown) provides surface radar field 404 penetrating chair 406 and applied to hand 402. In this case, antenna element 214 (not shown) is configured to receive a reflection caused by an interaction on the surface of hand 402 that penetrates (e.g., reflects back through) chair 406 and signal processor 216 is configured to process the received reflection on the surface sufficient to provide gesture data usable to determine a gesture. Note that with surface radar field 404, another hand may interact to perform gestures, such as to tap on the surface on hand 402, thereby interacting with surface radar field 404. Example gestures include single and multi-finger swipe, spread, squeeze, non-linear movements, and so forth. Or hand 402 may simply move or change shape to cause reflections, thereby also performing an occluded gesture.
Gestures can be mapped to various control inputs, thereby enabling control of many devices and applications. Many complex and unique gestures can be recognized by occluded-gesture recognition systems 104, thereby permitting precise and/or single-gesture control, even for multiple applications. Occluded-gesture recognition systems 104, while shown integral with mobile computing device 102, can be instead be part of a device having few or no computing capabilities, instead providing gesture data to be recognized and/or mapped to a control input. Occluded-gesture recognition system 104 can communicate with other devices through network interface 208 through a network, such as one or more of many types of wireless or partly wireless communication networks, such as a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, a mesh network, and so forth.
Mobile computing device 102 is illustrated with various non-limiting example devices: smartphone 102-1, computing spectacles 102-2, camera 102-3, tablet 102-4, computing bracelet 102-5, computing ring 102-6, and laptop 102-7, though other devices may also be used, such as wearable devices such as a brooch or necklace, netbooks, and e-readers.
Occluded-gesture recognition system 104 also includes a transceiver 218 configured to transmit gesture data to a remote device, such as in cases where occluded-gesture recognition system 104 is not integrated with mobile computing device 102. Gesture data can be provided in a format usable by the receiving device sufficient to recognize a gesture using the gesture data.
Occluded-gesture recognition system 104 may also include one or more system processors 220 and system media 222 (e.g., one or more computer-readable storage media). System media 222 includes system manager 224, which can perform various operations, including determining a gesture based on gesture data from signal processor 216, mapping the determined gesture to a pre-configured control gesture associated with a control input for an application associated with remote device, and causing transceiver 218 to transmit the control input to the remote device effective to enable control of the application or device. This is but one of the ways in which the above-mentioned control through occluded-gesture recognition system 104 can be enabled. Operations of system manager 224 are provided in greater detail as part of methods 5 and 6 below.
These and other capabilities and configurations, as well as ways in which entities of FIGS. 1-4 act and interact, are set forth in greater detail below. These entities may be further divided, combined, and so on. The environment 100 of FIG. 1 and the detailed illustrations of FIGS. 2-4 illustrate some of many possible environments and devices capable of employing the described techniques.
* Example Methods*
FIGS. 5 and 6 depict methods 500 and 600. Method 500 can be performed to better enable later recognition of an occluded gesture by mapping gestures to control inputs for an authenticated person. Method 600 enables occluded gesture recognition, and can be performed separate from or integrated in whole or in part with method 500. These methods and other methods herein are shown as sets of operations (or acts) performed but are not necessarily limited to the order or combinations in which the operations are shown herein. Further, any of one or more of the operations may be repeated, combined, reorganized, or linked to provide a wide array of additional and/or alternate methods. In portions of the following discussion reference may be made to environment 100 of FIG. 1 and entities detailed in FIGS. 2-4, reference to which is made for example only. The techniques are not limited to performance by one entity or multiple entities operating on one device.
At 502 a person permitted to control a mobile computing device is authenticated. This authentication can be performed in various manners known in the art of authenticating persons generally, such as receiving authentication credentials and confirming that these credentials match the person.
In some cases, however, authenticating the person permitted to control the mobile computing device authenticates a person based on identifying indicia. For example, gesture manager 206 may provide a radar field, receive a human-tissue reflection, determine identifying indicia based on the human-tissue reflection, and confirm that the identifying indicia matches recorded identifying indicia for the person permitted to control the mobile computing device. These identifying indicia can include various biometric identifiers, such as a size, shape, ratio of sizes, cartilage structure, and bone structure for the person or a portion of the person, such as the person’s hand These identify indicia may also be associated with a device worn by the person permitted to control the mobile computing device, such as device having a unique or difficult-to-copy reflection (e.g., a wedding ring of 14 carat gold and three diamonds, which reflects radar in a particular manner).
At 504, identifying indicia for a hand of the authenticated person is determined. This identifying indicia can be the indicia used for authentication at operation 502, though that is not required. Thus, in some cases the identifying indicia for the hand of the authenticated person includes providing a radar field, receiving multiple human-tissue reflections caused by the hand within the radar field, and determining the identifying indicia for the hand based on the multiple human-tissue reflections.
At 506, a hand gesture of the authenticated person’s hand is received. In some cases the hand gesture is received responsive to presenting a proposed gesture and a proposed control input to cause with the proposed gesture. Thus, gesture manager 206 may present a gesture and its corresponding control input, such as in text: “make a flicking gesture” or showing an animation or video of the gesture, and then receive the gesture made by the authenticated person. This hand gesture can then be recorded as an aid in improved recognition, as the manner in which the gesture is made can vary from person to person. To do so, gesture manager 206 may provide a radar field, receive human-tissue reflections caused by the hand gesture within the radar field, and record gesture-specific indicia for the hand gesture based on the human-tissue reflections. These gestures may also be responsive to presentation of one or more control inputs and then receiving a gesture that is desired for use as that control. This permits users to decide the gesture that they want to use, such as a two-finger flick to advance media or pages of a document, a slashing movement to mute volume, or the various ASL gestures as noted above.
At 508, the received hand gesture is mapped to a control input. This can be the control input already associated with a presented gesture, or a new gesture selected to be mapped to a control input, and so forth. This mapping can be as simple as a look-up table, for example, whether personalized and custom or otherwise.
At 510, the identifying indicia and the mapping of the received hand gesture are recorded. This recordation is effective to enable a later-received hand gesture to be authenticated as from the person permitted to control the mobile computing device and mapped to the control input.
Method 600 enables occluded gesture recognition, thereby enabling recognition of gestures where the gesture actor (e.g., a hand, arm, or stylus) is occluded from a mobile computing device.
At 602, a radar field is provided through one or more occlusions, such as in the various manners noted above. Gesture manager 206 and/or system manager 224 directs the radar field to a user’s hand, hands, or other gesture-making device or appendage. In one such case, the techniques provide the radar field direct to a region in which gestures are anticipated. This direction can be determined based on a location and/or orientation of the mobile computing device relative to a location of a person known to be associated with the mobile computing device. Thus, a mobile computing device within a front pocket of a person’s shirt on the right side can determine this location and, based on it, determine a likely location of the user’s hands. In such a case, the mobile computing device may also determine an orientation of the device relative to the person, such as through the use of accelerometers, acoustic sensors, thermal sensors, light sensors (e.g., front/rear facing cameras), and the like.
In another case, gesture manager 206 and/or system manager 224 tracks the particular person’s hands after authentication by methods 500. Thus, the person is authenticated at a particular time and a position or location of his or her hands are tracked from that time until some later operation of method 600. By so doing, the hands’ locations are known, which aids in responsive recognition as well as ensuring that control is permitted by a person having the right to control the mobile device.
Directing the radar field can also save power, as the radar field can be smaller than a more-general radar field occupying a larger volume. The location of the person’s hand, for example, can be determined responsive to identifying the hand based on identifying indicia of the hand as described above. Occluded-gesture recognition system 104 may then track the hand to provide a directed radar field. In cases where the person is authenticated without using identifying indicia (e.g., by entry of a password), the identifying indicia can simply be a reliable manner of tracking the person’s hand or hands, which may involve biometrics, or sufficient information about the hand to continue to track the hand, which is not necessarily information sufficient to authenticate it.
At 604, an interaction of an occluded gesture is sensed within the radar field. This interaction includes the many noted above, such as a up-and-down fist to represent a “Yes” selection, a two-finger tap gesture, or a two-handed gesture, such as tapping opposing index, middle, and thumbs against each other through a plane or volume to represent an “eat” entry, as is the meaning in some sign languages. The sensed interaction can be processed by signal processor 216, which may provide gesture data for later determination as to the gesture intended, such as by system manager 224 or gesture manager 206 as noted herein.
Following 604, method 600 may proceed to operations 606 and 608, though this is optional. At 606, an identity of a person making the occluded gesture is determined. This determination can be made based on identifying indicia as described in detail above for the hand or appendage or after determining the identity of the person and that the person’s hand is making the gesture. This identifying can be immediate or part of a prior credential authentication and then an ongoing tracking of the person or a hand that performs the occluded gesture. At 608, method 600 proceeds along “No” path to operation 602 if the person is not identified as being permitted to control the mobile computing device or along the “Yes” path to operation 610 if the person is identified as permitted to control the mobile computing device.
At 610, the occluded gesture is recognized, such as in the various mariners described above. This occluded gesture can be recognized through one or more occlusions, such as wool for a wool jacket, denim for jeans, cotton for a blouse or shirt, or more-substantial occlusions, such as glass or wood furniture, covering and framing of a couch, or fiber-board wall in a home or apartment.
At 612, a control input associated with the recognized gesture is determined. Determining the control input associated with the recognized gesture can be based on a mapping of the recognized gesture to a control input or multiple control inputs previously associated with gestures. If there is more than one control input mapped to the recognized gesture, gesture manager 206 can determine which control input to associate the recognized gesture with based on other factors. These other factors may include control inputs associated with a currently executing program, a device having recently received a control input from the person, a most-common application or device for the user to control, various other historic data, and so forth.
At 614, the determined control input is passed to an entity effective to control the entity. As noted, this entity can be an operating system or application associated with mobile computing device 102, though it may also be passed to a remote device directly from occluded-gesture recognition system 104 or through mobile computing device 102.
Thus, a user may make a gesture to pause playback of media on a remote device and, at 614, the gesture is passed to the remote device effective to pause the playback. In some embodiments, therefore, occluded-gesture recognition system 104 and these techniques enable implementation of a universal controller for televisions, media devices, computers, appliances, and so forth.
In cases where operations 606 and 608 are performed, passing the control input or some prior operations is responsive to determining that the identified person is permitted to control the mobile computing device. By so doing control is not permitted by some other person, whether by accident or for malicious intent.
The preceding discussion describes methods relating to occluded gesture recognition. Aspects of these methods may be implemented in hardware (e.g., fixed logic circuitry), firmware, software, manual processing, or any combination thereof These techniques may be embodied on one or more of the entities shown in FIGS. 1-4 and 7 (computing system 700 is described in FIG. 7 below), which may be further divided, combined, and so on. Thus, these figures illustrate some of the many possible systems or apparatuses capable of employing the described techniques. The entities of these figures generally represent software, firmware, hardware, whole devices or networks, or a combination thereof.
* Example Computing System*
FIG. 7 illustrates various components of example computing system 700 that can be implemented as any type of client, server, and/or computing device as described with reference to the previous FIGS. 1-6 to implement an occluded gesture recognition. In embodiments, computing system 700 can be implemented as one or a combination of a wired and/or wireless wearable device, System-on-Chip (SoC), and/or as another type of device or portion thereof. Computing system 700 may also be associated with a user (e.g., a person) and/or an entity that operates the device such that a device describes logical devices that include users, software, firmware, and/or a combination of devices.
Computing system 700 includes communication devices 702 that enable wired and/or wireless communication of device data 704 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). Device data 704 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a user of the device. Media content stored on computing system 700 can include any type of audio, video, and/or image data. Computing system 700 includes one or more data inputs 706 via which any type of data, media content, and/or inputs can be received, such as human utterances, interactions with a radar field, user-selectable inputs (explicit or implicit), messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
Computing system 700 also includes communication interfaces 708, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. Communication interfaces 708 provide a connection and/or communication links between computing system 700 and a communication network by which other electronic, computing, and communication devices communicate data with computing system 700.
Computing system 700 includes one or more processors 710 (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of computing system 700 and to enable techniques for, or in which can be embodied, occluded gesture recognition. Alternatively or in addition, computing system 700 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 712. Although not shown, computing system 700 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
Computing system 700 also includes computer-readable media 714, such as one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. Computing system 700 can also include a mass storage media device 716.
Computer-readable media 714 provides data storage mechanisms to store device data 704, as well as various device applications 718 and any other types of information and/or data related to operational aspects of computing system 700. For example, an operating system 720 can be maintained as a computer application with computer-readable media 714 and executed on processors 710. Device applications 718 may include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on.
Device applications 718 also include any system components, engines, or managers to implement occluded gesture recognition. In this example, device applications 718 include gesture manager 206 and system manager 224.
Although embodiments of techniques using, and apparatuses enabling, occluded gesture recognition have been described in language specific to features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations enabling occluded gesture recognition.