This disclosure relates to using the Human body as an Input mechanism, and, in particular, recognition of a plurality of gestures using roll pitch and yaw data, typically in combination with start and/or stop portions of a gesture using an auxiliary sensor.
Many conventional gestural systems attempt to detect gestures that resemble characters or words. Such conventional gestural systems, however, offer very poor recognition rates.
Described are apparatus and methods for reconstructing a plurality of gestures using roll pitch and yaw data, typically in combination with data for recognition of start and/or stop portions of the gesture using an auxiliary sensor, such as a capacitive touch sensor or a MEMS sensor.
1 illustrates a system diagram according to an embodiment.
2 illustrates a system diagram according to another embodiments.
3 illustrates system diagram according to a further embodiment.
Various devices such as computers, televisions, electronic devices and portable handheld devices can be controlled by input devices such as a computer mouse or keyboard. Various sensors such as accelerometers, gyroscopes, compasses and cameras can be collectively used (all from a substantially single point such as if disposed on a single ring; or from multiple different locations) to estimate and/or derive a gesture that is intended to have some significant meaning. These sensors dynamically provide data for varying periods of time when located in the associated space for sensing, and preferably stop or go into a low power mode when not in the associated space. When sensor data is unavailable, various calculations may be employed to reconstruct the skeletal structure without all the sensor data.
Various poses and gestures of the human skeleton over a period of time can be aggregated to derive information that is interpreted (either at the sensor or at the device) and communicated over wireless channels such as WiFi, Bluetooth or Infrared to control various devices such as computers, televisions, portable devices and other electronic devices, as described further herein and in the previously filed U.S. patent application Ser. No. 14/487,039 filed Sep. 14, 2014, which claims priority to U.S. Provisional Patent Application 61/877,933 filed Sep. 13, 2013, and entitled “Methods and Apparatus for using the Human Body as an Input Device”, which are explicitly incorporated herein by reference.
Described are apparatus and methods for reconstructing a gesture by aggregating various data from various sensors, including data for recognition of start and/or stop portions of the gesture using an auxiliary sensor, such as a capacitive touch sensor or a MEMS sensor.
In a preferred embodiment, MEMS sensors, and preferably a plurality of them within a substantially single location such as on a ring, or in a head mounted device, or in a capsule either directly mounted on the body or enclosed in a garment or clothing, or some other wearable form factor are used, in combination with a capacitive touch sensor or a tactile switch or sensors used for recognition of start and/or stop portions of the gesture. MEMS sensors provide the advantage of not requiring a separate detector compared to conventional camera based depth sensors and don't have to be in the very restricted viewing area of a conventional depth camera. A plurality of MEMS sensors can be used to obtain further information than would be possible with a single such sensor, as described herein. When further used in combination with accelerometers, gyroscopes, compasses, the data from the various sensors can be fused and interpreted to allow for sensing of micro-gestures, as described herein.
Such a single sensing device having multiple sensors can be integrated into everyday objects such as clothing, jewelry and wearable devices like fitness monitors, virtual reality headsets, or augmented reality glasses in order to use of the human body as a real-time input device that can interact with a machine in its surroundings.
Processing of all the data generated to accurately detect the pose of the human body in real-time includes engineering desiderata of event stream interpretation and device power management, as well as usage of algorithms such as Kalman filtering, complementary filters and other conventional algorithms used to fuse the sensor data into coherent pose estimates. The filtering algorithms used are based on the locality of the sensor and factor in the human anatomy and the joint angles of the bones the sensors are tracking. The fused data is then processed to extract micro-gestures—small movements in the human body which could signal an intent, as described herein.
Gestures such as waving your arm from one side to another or micro-gestures such as swiping your index finger from one side to another are mapped to functions, such as changing channels on a TV or advancing the song being played. More complex gestures, such as interacting with the User Interface of a tablet computer are also possible using micro-gestural primitives to generate a more complex macro intent that machines in the environment can understand. All of these gestures, however, must have start points and stop points, which need to be detected in some manner.
Thus an aspect of the system includes assembling a movement sequence (aka gesture) that could be used to indicate a command, for example, which has a start point and a stop point. Each gesture can also take on a different meaning depending on which device it is communicating with. Thus, pointing to a Television and moving your hand from one direction to another can imply changing the channel while a similar such gesture could imply changing the light intensity when done pointing to a light bulb, with each of the Television and the light bulb being separate subspaces that are detected as such by an overall detector, for example.
Efficient power management strategy is also provided, such that the sensor device doesn't require a power on or power off switch. This involves determining the current state of gestural detection and further includes the ability to turn off components such as the gestural detection unit, or various sensors to save power, and in particular using a capacitive touch sensor or a tactile switch or a specific gesture or any combination of the three as described hereinafter to accomplish certain of these power savings.
It is noted that the single sensing device is a battery-operated device, yet it does not necessarily have a power button. It does, however, have capacitive touchpads and tactile switches as described, which can be programmed to activate and/or de-activate the single sensing device, thereby ensuring that the device is in use only when the user intends for it to be and keeping it energy-efficient.
As described further herein, an auxiliary sensor, such as a capacitive touchpad or a tactile switch on the wearable input platform, also referred to as single sensing device or ring herein, upon receiving a specific input (i.e. tactile, capacitive touch, gesture or combination thereof) from the user, enables the communication and connectivity channels on the platform and signals to the gesture acquisition engine to start acquiring gesture data and manipulating such gesture data to interact with a specific application device. Similarly, the same or different touch input, when applied to the touchpad, can disable (or send into an idle state) the communication and connectivity channels on the platform to signify an end to the interaction with the device, thereby stopping the gesture acquisition engine from continuing to acquire data.
This capacitive touch sensor and tactile switch feature takes the uncertainty out of the gesture acquisition engine, whereby it is not trying to interpret a random gesture, unless expressly instructed to do so, via the touch input imparted to the capacitive touchpad or tactile button. Additionally, the capacitive touch sensor feature ensures that the single sensing device is energy efficient and active only as needed for the duration of the interaction. Similarly, the gesture acquisition engine is not “always-on” and in use only when needed, thereby conserving energy.
The specific input imparted to the touchpad can vary, depending on additional touch gestures that could be programmed, depending on the use case. If the wearable input platform is purely intended for gesture control, then any kind of input would suffice for the purpose of starting and stopping the gesture acquisition. However, there may be instances, where the wearable input platform could be used to control a music player on a smartphone or some similar device, thereby requiring more than one type of input. In such an instance, a long contact with the touchpad could signal the start of the device control using the input platform. Further, a short contact with the touchpad could indicate pausing the track, a swipe to the left could mean going to the previous track, etc. The preceding touch inputs are meant to be an example of what is possible for a given use case. Hence, in such a scenario, it is important that the start/stop gesture detection inputs are sufficiently distinguished from other device operation touch inputs.
These various aspects are shown in the diagrams attached.
As described above, the system allows for the sensor 3 to be used for one gesture one pointing to a light (1) as shown in
The device that could be worn on the ring could possess a Capacitive Touch surface or a tactile switch on the exterior of the device (preferably the entire exterior surface or an entire portion of an exterior surface associated with a single Capacitive Touch Sensor or multiple touch-sensitive areas of varying lengths and sizes) and a Capacitive Touch Sensor enclosed in the inside of the device.
The device can also possess a haptic actuator and associated circuitry to be able to provide a haptic feedback based on user engagement with a computing device. The device can also support various forms of wireless networking such as NFC, Bluetooth and/or WiFi to be able to interact with various other devices in its surroundings.
Multiple sensors can interact with each other providing a stream of individually sensed data. For example a sensor worn on the ring can communicate with a wrist worn device or a smartphone in the pocket. This data could then be aggregated on the smartphone or wrist worn device factoring in the human anatomy. This aggregation may factor in range of motion of the human skeletal joints, possible limitations in the speed human bones could move relative to each other, and the like. These factors, when processed along with other factors such as compass readings, accelerometer and gyroscope data, can produce very accurate recognition of gestures that can be used to interact with various computing devices nearby.
In operation, step 1010 of
If in either of steps 1014 or 1016 a start signal is detected, then steps 1018 follows, with the single sensor device entering the regular power mode, such that full functionality is possible, though even within full mode power savings procedures can be put in place to conserve power.
One step as shown in the regular power mode is indicated as step 1020 in which gesture and other data are detected, until a stop signal is detected. Other full functionality steps can also occur, such as Processing/transforming the gestures and other sensor data such as acceleration and orientation; transmitting the processed data over a wireless medium to enable interaction with the smart device (TV, smart phone, tablet, etc.)
Steps 1022, 1024 and 1026 all follow, which are each detecting the existence of the end of the gesture. Usage of the capacitive touch sensor to detect a specific stop gesture is shown in step 1022, whereas step 1024 shows that an end of gesture can be detected based upon the gesture data (based on a pre-programmed, unique gesture). Step 1026 indicates that a time limit or other stop trigger (such as a tactile switch) can also be used to generate the stop signal at the end of a gesture.
Upon detection of a stop signal in any of steps 1022, 1024 and 1026, step 1028 follows, and a medium power mode is preferably entered into, in which case the, for example, no further gesture data collection is performed, the MEMS sensors are turned off, and processing of the gesture data collected already is finished using time-keeping, so as to then perform operations in accordance with such processed gesture data. Other functions that may still occur in a medium power mode, that would preferably not occur in a low power mode, are keeping all the sensors sensing (in standby) and waiting for some combination or one of touch/gesture/tactile input for quick startup.
Following step 1028 is a step 1030, in which a preferably programmed determination of whether to then enter into the low power mode 1012, the regular power mode 1018, or stay in the medium power mode 1028.
It will be apparent in the following
The below table introduced symbols that are then used in the discussion of following figures.
A false gesture, as referred to above, can be, for example, a different initial movement. For example, if the start signal is a hold on the auxiliary sensor, then a tap or a double tap could possibly be interpreted to mean a hold. In such cases, instead of re-starting the start gesture signal immediately thereafter, another hold on the auxiliary sensor is waited for until the start gesture signal is then made.
Also, the specific gesture thresholds are preferably based upon nominal classifications with no extreme motions, which can then be empirically derived based upon testing, typically of a number of different users, and with the particular sensor apparatus that is being used. Each of the above-mentioned specific gestures are preferably also associated with a nominal time scale, which is the time taken by a user to perform the gesture in nominal conditions. Angular tolerances as explained herein, represent the angular change that happens on the nominal time scale.
Further, the computation of the three euler angles will in most embodiments require data from an accelerometer, a gyroscope and a compass, which are all located on the same single sensing device, and the data from each of these are fused using a filter that provides some guarantee of optimality in terms of error or related metrics, as well as convergence guarantee. Such filters are Kalman filters, and complimentary filters, to name a few and as described above.
Each one of these sensors needs to be calibrated to account for possible errors, such as misalignment and effects of package stress. Also, for compass data, accounting for effects of environmental disturbances is a preferred approach.
Although the present inventions are described with respect to certain preferred embodiments, modifications thereto will be apparent to those skilled in the art.
This application is a continuation in part of U.S. application Ser. No. 14/591,878 filed Jan. 7, 2015 and entitled “Methods And Apparatus For Recognition Of Start And/Or Stop Portions Of A Gesture Using An Auxiliary Sensor,” that claims priority to U.S. Provisional Patent Application Ser. No. 61/924,682 filed Jan. 7, 2014, each of which are incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
6044297 | Sheldon | Mar 2000 | A |
6305221 | Hutchings | Oct 2001 | B1 |
6515669 | Mohri | Feb 2003 | B1 |
6636826 | Abe | Oct 2003 | B1 |
6744420 | Mohri | Jun 2004 | B2 |
7593757 | Yamasaki | Sep 2009 | B2 |
7747040 | Toyama | Jun 2010 | B2 |
8310368 | Hoover | Nov 2012 | B2 |
8451221 | Hwang | May 2013 | B2 |
8743052 | Keller | Jun 2014 | B1 |
9020643 | Shimizu | Apr 2015 | B2 |
9104271 | Adams | Aug 2015 | B1 |
9146618 | Tait | Sep 2015 | B2 |
9323340 | Pantel | Apr 2016 | B2 |
9563528 | Ahn | Feb 2017 | B2 |
9685097 | Hoover | Jun 2017 | B2 |
10137363 | Parshionikar | Nov 2018 | B2 |
20020012014 | Mohri | Jan 2002 | A1 |
20040193413 | Wilson | Sep 2004 | A1 |
20060019614 | Yamasaki | Jan 2006 | A1 |
20090135009 | Little | May 2009 | A1 |
20090265470 | Shen | Oct 2009 | A1 |
20090303204 | Nasiri | Dec 2009 | A1 |
20100013860 | Mandella | Jan 2010 | A1 |
20100149095 | Hwang | Jun 2010 | A1 |
20100267424 | Kim | Oct 2010 | A1 |
20110129124 | Givon | Jun 2011 | A1 |
20110267456 | Adermann | Nov 2011 | A1 |
20110317871 | Tossell et al. | Dec 2011 | A1 |
20120056846 | Zaliva | Mar 2012 | A1 |
20120075196 | Ashbrook | Mar 2012 | A1 |
20120319940 | Bress et al. | Dec 2012 | A1 |
20130080811 | Low | Mar 2013 | A1 |
20130278501 | Bulzacki | Oct 2013 | A1 |
20130285969 | Raffa | Oct 2013 | A1 |
20130290911 | Prahul et al. | Oct 2013 | A1 |
20140002338 | Raffa | Jan 2014 | A1 |
20140023984 | Weatherly | Jan 2014 | A1 |
20140098018 | Kim | Apr 2014 | A1 |
20140282275 | Everitt et al. | Sep 2014 | A1 |
20140320434 | Pantel | Oct 2014 | A1 |
20140363076 | Han | Dec 2014 | A1 |
20140368428 | Pinault | Dec 2014 | A1 |
20150047017 | Kim | Feb 2015 | A1 |
20150077336 | Elangovan | Mar 2015 | A1 |
20150138075 | Nakasu | May 2015 | A1 |
20150205566 | Osterhout | Jul 2015 | A1 |
20150242002 | Altman et al. | Aug 2015 | A1 |
20160015280 | Hyde | Jan 2016 | A1 |
20160026212 | Lee | Jan 2016 | A1 |
20170010677 | Roh | Jan 2017 | A1 |
20180364810 | Parshionikar | Dec 2018 | A1 |
Number | Date | Country |
---|---|---|
2013104681 | Jul 2013 | WO |
Entry |
---|
Full Search Report dated Jun. 1, 2015 in corresponding PCT/US15/010533. |
Notice of Allowance received in corresponding U.S. Appl. No. 14/591,878, dated Feb. 14, 2019, pp. 1-11. |
Number | Date | Country | |
---|---|---|---|
20150241985 A1 | Aug 2015 | US |
Number | Date | Country | |
---|---|---|---|
61924682 | Jan 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14591878 | Jan 2015 | US |
Child | 14637352 | US |