DE102012025564A1 - Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences - Google Patents
Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences Download PDFInfo
- Publication number
- DE102012025564A1 DE102012025564A1 DE201210025564 DE102012025564A DE102012025564A1 DE 102012025564 A1 DE102012025564 A1 DE 102012025564A1 DE 201210025564 DE201210025564 DE 201210025564 DE 102012025564 A DE102012025564 A DE 102012025564A DE 102012025564 A1 DE102012025564 A1 DE 102012025564A1
- Authority
- DE
- Germany
- Prior art keywords
- model
- gesture
- elementary
- hand
- sequences
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3262—Power saving in digitizer or tablet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/169—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/04166—Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
-
- 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0421—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Einleitungintroduction
Die kontinuierliche Erfassung von Gesten und deren Parametrisierung und Zuordnungsparametern ist eine wichtige Grundfunktion in vielen, insbesondere mobilen Applikationen wie beispielsweise bei der Steuerung von Computern, Robotern, Mobiltelefonen und Smart-Phones.The continuous acquisition of gestures and their parameterization and assignment parameters is an important basic function in many, especially mobile applications such as in the control of computers, robots, mobile phones and smart phones.
Ein wesentliches Problem vieler Gestenerkennungssysteme ist, dass sie auf der Verarbeitung von Bildsignalen beruhen. Hierfür sind Kameras und aufwendige Bildverarbeitungseinrichtungen erforderlich. Diese benötigen größere Mengen an Ressourcen wie beispielsweise Rechenleistung, Speicherbedarf und elektrische Energie. In einem Mobiltelefon sind aber genau diese sehr begrenzt. Dies betrifft insbesondere den Stromverbrauch, den Speicherplatz und die Lebensdauer der Verarbeitungseinheiten.A major problem with many gesture recognition systems is that they rely on the processing of image signals. This requires cameras and complex image processing equipment. These require larger amounts of resources such as computing power, memory requirements and electrical energy. In a mobile phone but these are very limited. This concerns in particular the power consumption, the storage space and the lifetime of the processing units.
Alternative Systeme verfügen über eine geringere Empfindlichkeit, was die Erkennungsleistung verschlechtert. Des Weiteren sind diese Systeme nicht applikationsunabhängig, weshalb die erneute, aufwendige und damit sehr teure Aufnahme von Gestendatenbanken erforderlich ist. Außerdem sind die meisten Systeme empfindlich gegenüber Umgebungslicht und anderen Störeinflüssen.Alternative systems have lower sensitivity, which degrades recognition performance. Furthermore, these systems are not application-independent, which is why the renewed, expensive and thus very expensive recording of gesture databases is required. In addition, most systems are sensitive to ambient light and other disturbances.
Schließlich verfügen, die meisten Anwendungssysteme über weitere Sensoren bzw. sensorielle Fähigkeiten, die mit dem Betrieb eines Gestenerkennungssystems kombiniert werden sollten.Finally, most application systems have additional sensors or sensor capabilities that should be combined with the operation of a gesture recognition system.
Aufgabe der ErfindungObject of the invention
Die Erfindung stellt sich die Aufgabe, eine permanent verfügbare, sprecher- und geräteunabhängige Gestenschnittstelle für Mensch-Maschineschnittstellen bereitzustellen.The invention has as its object to provide a permanently available, speaker and device-independent gesture interface for human-machine interfaces.
Hierzu löst sie die Aufgabe, die Übertragbarkeit von Gestendatenbanken durch eine Kalibriermethode und eine geeignete Vorrichtung zu verbessern. Die Vorrichtung hat die Aufgabe Norm-Gesten und eine Norm-Gestensprache weltweit wiederholbar darstellen zu können.To this end, it solves the problem of improving the portability of gesture databases by a calibration method and a suitable device. The device has the task of being able to reproduce standard gestures and a standard gesture language around the world in a repeatable manner.
Hierzu verwendet sie ein Verfahren gemäß den Ansprüchen 1 bis 6 und eine Vorrichtung gemäß den Ansprüchen 8 bis 12 For this purpose, it uses a method according to
Beschreibung des Grundgedankens der ErfindungDescription of the basic idea of the invention
Die Beschreibung der Erfindung gliedert sich in folgende Teile:
- – Dem eigentlichen Erfassungssystem, insbesondere ein multidimensional rückgekoppeltes optisches Messsystem, das hier nicht beansprucht wird und nur ein Beispiel eines geeigneten kalibrierbaren Gestenerkennungssystems darstellt.
- – Einem zur Verwendung des obigen Erfassungssystems geeigneten Smart-Phones bzw. Roboters
- – Einem beispielhaften kalibrierbaren Verarbeitungsverfahren und Erkennungssystem zur Ermittlung eines Gestenerkennungsergebnisses, das durch das Erkennungssystem vollautomatisch ausgeführt werden kann
- – Dem erfindungsgemäßen Verfahren mittels einer erfindungsgemäßen Vorrichtung zur Adaption des Erfassungssystems und der zugehörigen Datenbanken an eine konkrete Hardware-Plattform
- – Ein Verfahren zur Aufnahme der geräte- und sprecherunabhängigen Gestendatenbanken, das hier beansprucht wird
- – Der hier beanspruchten Grundstruktur einer zugehörigen maschinell darstellbaren Gestensprache mittels einer erfindungsgemäßen Vorrichtung zur plattformunabhängigen Steuerung eines Smart-Phones und ähnlicher Anwendungen, bei denen ein Erkennunssystem durch Gesten beeinflusst werden soll.
- - The actual detection system, in particular a multidimensional feedback optical measuring system, which is not claimed here and represents only one example of a suitable calibratable gesture recognition system.
- A smart phone or robot suitable for use of the above detection system
- An exemplary calibratable processing method and recognition system for determining a gesture recognition result that can be performed fully automatically by the recognition system
- - The inventive method by means of a device according to the invention for adapting the detection system and the associated databases to a specific hardware platform
- A method of recording the device and speaker independent gesture databases as claimed herein
- - The claimed here basic structure of an associated machine-representable gesture language by means of a device according to the invention for platform-independent control of a smart phone and similar applications in which a Erkennunssystem to be influenced by gestures.
Diese werden in den folgenden Abschnitten beschrieben.These are described in the following sections.
Beispielhaftes kalibrierbares ErkennungssystemExemplary calibratable recognition system
Ein erstes beispielhaftes Messsystem besteht in erster Linie aus einem typischerweise triangulationsfähigen optischen Messsystem mit typischerweise einem Sendersystem und einem Empfängersystem oder einem kombinierten Sender/Empfängersystem, das sehr schnell zwischen Sende-Phase und Empfangsphasen wechseln kann. Jedes Sendesystem kann dabei aus mehreren Sendern bestehen. Ebenso kann jedes Empfängersystem aus mehreren Empfängen bestehen. Gleiches gilt für die kombinierten Empfänger/Sendersysteme.A first exemplary measuring system consists primarily of a typically triangulation-capable optical measuring system with typically a transmitter system and a receiver system or a combined transmitter / receiver system that can switch very quickly between transmission phase and reception phases. Each transmission system can consist of several transmitters. Likewise, each one Receiver system consist of several receptions. The same applies to the combined receiver / transmitter systems.
Um die Arbeitsweise zu verdeutlichen, wird die Vorrichtung zunächst anhand eines Systems mit nur einem Sender und einem Empfänger mit Hilfe der schematischen
Die beispielhafte Vorrichtung besteht aus mindestens einem ersten Transmitter (
Am Ende der ersten Übertragungsteilstrecke (
Das Signal des Transmitters (
Es verbleibt das Problem der Unabhängigkeit von Umgebungseinflüssen. Hierzu wird das Empfangssignal am Empfänger (
Hierzu steuert ein Regler (
Der Controller (
Der Controller (
Für die Analyse des durch den Controller (
Ergebnis dieser Analyse bei Ansteuerung durch den Controller (
Dieses so gewonnene mehrdimensionale Signal (
Der nun folgende Schritt der Erkennung, kann beispielsweise auf zwei unterschiedliche Methoden durchgeführt werden:
- a) durch ein Neuronales Netz oder
- b) durch einen HMM-Erkenner
- c) durch ein Petri-Netz
- a) through a neural network or
- b) by an HMM recognizer
- c) through a Petri net
Zunächst wird der HMM-Erkenner (
Mit Hilfe der besagten vordefinierten LDA-Matrix (
Using the predefined LDA matrix (
Die LDA-Matrix wurde in der Regel zuvor aufgrund von Beispieldatenströmen aus der Datenbasis (
Wenn Sorge getragen wird, dass alle Elemente der Feature-Extraktion (
If care is taken that all elements of the feature extraction (
Ist daher für eine geometrische Anordnung von Sendern und Empfängern in einer wohl definierten Applikation die LDA-Matrix (
Diese Matrix (
Um die Test-Gesten weltweit reproduzierbar zu gestalten, ist es sinnvoll, diese durch geeignete Vorrichtungen (z. B. motorisierte Puppen oder Roboter) standardisiert ausführen zu lassen. (
Das Ergebnis dieser Berechnung ist eine applikationsspezifische LDA-Matrix (
Der wesentliche wirtschaftliche Vorteil dieses Verfahrens zum Transfer einer Gestendatenbank von einem Gerätetyp zum anderen ist, dass die teure Aufnahme der Gestendatenbanken nur noch einmal mit realen Gestensprechern ausgeführt werden muss. Diese Kosten können bei bis zu 1 Mio Euro je Applikation liegen.The main economic advantage of this method of transferring a gesture database from one device type to another is that the costly recording of the gesture databases needs to be done only once with real gesture makers. These costs can amount to up to 1 million euros per application.
Die anderen entsprechenden Verfahren sind aus der Sprach- und Materialerkennung bekannt. Gleichzeitig werden die Prototypen aus diesen Beispieldatenströmen in der Datenbasis (
Die so gewonnenen Muster-Vektoren (
- 1. Entspricht der erkannte Quantisierungsvektor (
38 ) einem der vorgespeicherten Quantisierungsvektor-Prototypen (= vorbekannte Gesten) oder nicht und mit welcher Wahrscheinlichkeit und Zuverlässigkeit? - 2. Wenn es eine der bereits gespeicherten Gesten ist, welche ist es und mit welcher Wahrscheinlichkeit und Zuverlässigkeit? Um die erste Erkennung zu leisten, werden in der Regel auch Dummy-Prototypen in der Prototypendatenbank (
15 ) abgespeichert, die alle im Betrieb vorkommenden parasitären Parameterkombinationen weitestgehend abdecken sollten. Die Abspeicherung besagter Prototypen geschieht in einer Datenbank (15 ), die im Folgenden auch mit Code-Book (15 ) bezeichnet wird.
- 1. Does the detected quantization vector (
38 ) one of the pre-stored quantization vector prototypes (= known gestures) or not and with what probability and reliability? - 2. If it is one of the already stored gestures, what is it and with what probability and reliability? In order to make the first recognition, dummy prototypes are usually also included in the prototype database (
15 ), which should cover as much as possible all parasitic parameter combinations occurring during operation. The storage of said prototypes is done in a database (15 ), which is also described below with Code-Book (15 ) referred to as.
Wird der in der Datenbank/dem Code-Book (
Die Berechnung des minimalen euklidischen Abstands erfolgt dabei nach der folgenden Formel: The calculation of the minimum Euclidean distance is done according to the following formula:
Dabei steht dim_cnt für den Dimensions-Index der bis zur maximalen Dimension des Feature-Vektors (
FVdim_cnt steht für die Komponente des feature-Vektors (
Cb_cnt steht für die Nummer des Eintrags im Code-Book (
CbCB_cnt,dim_cnt steht dementsprechend für die dim_cnt entsprechende Komponente des prototypischen Code-Book-Feature-Vektor-Eintrags, der der Cb_cnt entsprechenden Elementargeste zugeordnet ist. Accordingly, Cb CB_cnt, dim_cnt stands for the dim_cnt corresponding component of the prototype code book feature vector entry associated with the elementary gesture corresponding to Cb_cnt.
DistFV_CbE steht daher für die erhaltene minimale euklidische Distanz. Bei der Suche nach der kleinsten euklidischen Distanz wird die Nummer Cb_cnt gemerkt, die den kleinsten Abstand produziert.Dist FV_CbE therefore represents the minimum Euclidean distance obtained. In the search for the smallest Euclidean distance the number Cb_cnt is noticed, which produces the smallest distance.
Zur Verdeutlichung wird ein beispielhafter Assembler-Code angeführt: For clarity, an exemplary assembler code is given:
Das Vertrauensmaß für eine richtige Erkennung leitet sich aus der Streuung der zugrunde gelegten Basisdatenströme für einen Prototyp und dem Abstand des Quantisierungsvektors von deren Schwerpunkt her.The confidence measure for a correct recognition derives from the dispersion of the underlying basic data streams for a prototype and the distance of the quantization vector from its center of gravity.
Es sind Schwerpunkte verschiedener Prototypen (
Das lässt sich in der Realität aber nur selten erzielen. Eine Verbesserung der Erkennungsleistung lässt sich daher erzielen, wenn die Streubreite für den Prototypen jeder Elementargeste jeweils mitabgespeichert würde. Dies entspräche einem Kreis um jeden der Prototypen mit Prototyp spezifischen Radius. Der Nachteil ist ein Anstieg der Rechenleistung.This can only rarely be achieved in reality. An improvement of the recognition performance can therefore be achieved if the scattering width for the prototype of each elementary gesture was also stored in each case. This would be a circle around each prototype prototype-specific radius. The disadvantage is an increase in computing power.
Eine weitere Verbesserung der Erkennungsleistung lässt sich erzielen, wenn die Streubreite für den Prototypen jeder Elementargeste durch eine Ellipse modelliert wird. Hierzu müssen statt des Radius wie zuvor nun die Hauptachsendurchmesser der Streu-Ellipse und deren Verkippung gegen das Koordinatensystem abgespeichert werden. Der Nachteil ist ein weiterer, massiver Anstieg der Rechenleistung und des Speicherbedarfes.A further improvement in recognition performance can be achieved by modeling the scattering width for the prototype of each elementary gesture with an ellipse. For this purpose, instead of the radius, as before, the major axial diameters of the scattering ellipse and their tilting must be stored against the coordinate system. The disadvantage is another massive increase in computing power and memory requirements.
Natürlich lässt sich die Berechnung noch weiter verkomplizieren, was aber in der Regel den Aufwand nur massiv steigert und die Erkennerleistung nicht mehr wesentlich anhebt.Of course, the calculation can be further complicated, but usually only massively increases the effort and does not significantly increase the recognizer performance.
Kompakterkenner für mobile Geräte werden daher typischerweise auf die einfachste der beschriebenen Möglichkeiten zurückgreifen.Compact smartphones for mobile devices will therefore typically resort to the simplest of the options described.
Die Lage der durch die Emissionsberechnung ermittelten Gestenvektoren kann nun höchst unterschiedlich sein. So ist es denkbar, dass ein solcher Gestenvektor (
Im besten Fall liegt der ermittelte Gestenvektor (
Es ist denkbar, zur verbesserten Modellierung der Streubereiche einer einzelnen Geste, diese durch mehrere Prototypen mit zugehörigen Streubereichen zu modellieren. Es können also mehrere Prototypen dieselbe Geste darstellen. Die Gefahr dabei ist, dass sich Aufgrund der Aufteilung der Wahrscheinlichkeit einer Geste auf mehrere solcher Subprototypen die Wahrscheinlichkeit der einzelnen Subprototypengeste kleiner werden kann als die einer anderen Geste, deren Wahrscheinlichkeit kleiner war als die der Ursprungsgeste. Somit kann sich diese andere Geste möglicherweise fälschlich durchsetzen.It is conceivable, for improved modeling of the scattering regions of a single gesture, to model these by several prototypes with associated scattering regions. So several prototypes can represent the same gesture. The danger here is that, because of the distribution of the likelihood of a gesture on several such sub-prototypes, the probability of each sub-prototype gesture may become smaller than that of another gesture whose probability was less than that of the origin gesture. Thus, this other gesture may possibly be falsely enforced.
Ein wesentliches Problem stellt somit die Rechenleistung dar, die zur Verfügung gestellt werden muss, um die Elementargesten sicher zu erkennen. Dies soll noch ein wenig diskutiert werden:
Ein entscheidender Punkt ist, dass der Rechenaufwand mit Cb_anz·dim steigt.A major problem is thus the computing power that has to be made available to safely recognize the elementary gestures. This should be discussed a little bit more:
A crucial point is that the computational effort increases with Cb_anz · dim.
Bei einem nicht optimierten HMM-Erkenner beträgt die Anzahl der Assemblerbefehle, die ausgeführt werden müssen, um eine Vektorkomponente zu berechnen, ca. 8 Schritte.For a non-optimized HMM recognizer, the number of assembler instructions that must be performed to calculate a vector component is approximately 8 steps.
Die Anzahl A_Abst der notwendigen Assembler-Schritte zur Berechnung des Abstands eines einzelnen Code-Book-Eintrags (CbE) zu einem einzelnen Feature-Vektor (FV) wird in etwa wie folgt berechnet:
Dies führt zur Anzahl A_CB der Assembler-Schritte für die Ermittlung des Code-Book-Eintrags mit dem geringsten Abstand:
Am Beispiel eines mittlerer HMM-Erkenners mit 50000 CbE (Code-Book-Einträgen = CB_anz) und 24 FV_Dimensionen (Feature-Vektor-Dimensionen = FV_Dimension) beträgt die Anzahl der Schritte:
Bei einer relativ niedrigen Abtastrate von 8 kHz = 8000 FV pro Sekunde (Feature-Vektoren (
Insbesondere für energieautarke und/oder mobile Systeme führt dieses einfache Beispiel schon zu einem Ressourcenverbrauch, der nicht tragbar ist.Especially for energy self-sufficient and / or mobile systems, this simple example already leads to resource consumption, which is not sustainable.
Im Falle eines optimierten HMM-Erkenners wird daher, wie bereits erwähnt, der kleinste Code-Book-Abstand zwischen zwei Prototypen vorberechnet und im Code-Book (
Für einen dermaßen optimierten HMM-Erkenner stellt sich der Rechenleistungsbedarf nun wie folgt dar:
Wieder sind es 8 Schritte zur Berechnung einer Vektor-Komponente. Die Schritte zur Berechnung des Abstands A_Abst eines Code-Book-Eintrags (CbE) zum Feature-Vektor (FV) sind wieder:
Again there are 8 steps to calculate a vector component. The steps for calculating the distance A_Abst of a code book entry (CbE) to the feature vector (FV) are again:
Die Anzahl der Schritte für die Ermittlung des Code-Book-Eintrags mit dem geringsten Abstand A_CB mit Optimierung ist ein wenig höher:
Die zwei zusätzlichen Assembler-Befehle sind notwendig, um zu prüfen, ob sich der Abstand unterhalb des halben kleinsten Code-Book-Eintrag-Abstands befindet.The two additional assembler instructions are necessary to check if the distance is below half the smallest code book entry distance.
Des Weiteren wird die Anzahl CB_Anz der Code-Book-Einträge für mobile und energieautarke Applikationen auf 4000 Code-Book Einträge oder noch geringer beschränkt.Furthermore, the number CB_Anz of the code book entries for mobile and energy self-sufficient applications is limited to 4000 code book entries or even lower.
Außerdem wird die Anzahl der Feature-Vektoren pro Sekunde durch Absenkung der Abtastrate abgesenkt.In addition, the number of feature vectors per second is lowered by lowering the sampling rate.
Dies wird an einem einfachen Beispiel erläutert:
Der besagte mittlere HMM-Erkenner wird nun mit einem Code-Book mit nur noch einem knappen Zehntel der Einträge z. B. mit 4000 CbE und weiterhin mit 24 FV-Dimensionen betrieben.This is explained by a simple example:
The said mean HMM recognizer is now with a code book with only a tenth of the entries z. B. operated with 4000 CbE and continue with 24 FV dimensions.
Die Anzahl der Schritte beträgt nun
Bei einer Absenkung der Feature-Vektor-Rate auf 100 FV pro Sek (Feature-Vektoren pro Sekunde) extrahiert aus 10 ms Parameter-Fenstern über beispielsweise je 80 Samples und Abbruch der Suche wenn Abstand unterhalb des halben kleinsten Code-Book-Eintrag-Abstands liegt, ergibt sich mindestens eine Halbierung des Aufwands bei geeigneter Code-Book-Sortierung.If the feature vector rate is reduced to 100 FV per second (feature vectors per second), then 10ms will extract parameter windows for each 80 samples, for example, and abort the search if distance is less than half the smallest code book entry distance is at least a halving of the effort with appropriate code book sorting.
Die erforderliche Rechenleistung sinkt dann auf < 33 DSP-Mips (33 Millionen Operationen pro Sekunde). In der Realität führt die Code-Book-Sortierung zu noch geringeren Rechenleistungsbedarfen von beispielsweise 30 Mips. Damit wird das System real-time fähig und in ein einzelnes IC integrierbar.The required computing power then drops to <33 DSP-Mips (33 million operations per second). In reality, the code book sorting leads to even lower computing power requirements of, for example, 30 Mips. This makes the system real-time capable and integrable into a single IC.
Durch Vorselektion kann der Suchraum eingeschränkt werden. Eine Voraussetzung ist dabei eine Gleichverteilung der Daten = Schwerpunkte der Quadranten im geometrischen Quadrantenzentrum.By preselecting the search space can be restricted. A prerequisite is an equal distribution of the data = focal points of the quadrants in the geometric quadrant center.
Die notwendige Verringerung des Code-Books (
Eine Verringerung des Code-Books (
A reduction in the code book (
Auf der anderen Seite verringert sich hierdurch der Ressourcenbedarf (Rechenleistung, Chip-Flächen, Speicher, Stromverbrauch etc.). On the other hand, this reduces the resource requirements (computing power, chip areas, memory, power consumption, etc.).
Darüber hinaus kann die Vorgeschichte, d. h. die zuvor erkannten Gesten, bei der Hypothesenbildung herangezogen werden. Ein geeignetes Modell hierfür ist das so genannte Hidden-Markov-Model (HMM).In addition, the history, d. H. the previously recognized gestures used in hypothesis formation. A suitable model for this is the so-called Hidden Markov Model (HMM).
Für jeden Gestenprototypen lässt sich somit ein Vertrauensmaß und ein Abstand zum gemessenen Quantisierungsvektor herleiten, die vom System zum einen direkt verwandt werden können (
Mit diesen Daten (
Da nicht jede zeitliche wie räumliche Gestensequenz sinnvoll ist, ist es möglich, die zeitliche Aufeinanderfolge der Hypothesenlisten der aufeinanderfolgenden Frames auszuwerten.Since not every temporal as well as spatial gesture sequence makes sense, it is possible to evaluate the time sequence of the hypothesis lists of the successive frames.
Hierbei ist der Elementargesten-Sequenzpfad durch die aufeinanderfolgenden Hypothesenlisten zu finden, der die höchste Wahrscheinlichkeit hat.Here, the elementary gesture sequence path is found through the successive hypothesis lists that has the highest probability.
Auch hierbei werden wiederum mindestens zwei Erkennungen geleistet:
- 1. Ist die wahrscheinlichste Elementargestensequenz eine der bereits eingespeicherten Sequenzprototypen oder nicht und mit welcher Wahrscheinlichkeit und Zuverlässigkeit?
- 2. Wenn sie eine der bereits gespeicherten Sequenzen ist, welche ist es und mit welcher Wahrscheinlichkeit und Zuverlässigkeit?
- 1. Is the most probable elementary gesture sequence one of the already stored sequence prototypes or not and with what probability and reliability?
- 2. If it is one of the sequences already stored, what is it and with what probability and reliability?
Hierzu kann zum einen durch ein Anlernprogramm (
Mittels eines Viterbi-Dekoders (
Als letztes betrachten wir die funktionalen Softwarekomponenten der Gestensequenz-Erkennungs-Maschine. Diese ist im in
Basis der Sequenzerkennung (
Wichtig ist dabei, dass ein jedes Hidden-Markov-Modell aus nicht beobachtbaren Zuständen qi besteht. Zwischen zwei Zuständen qi und qj besteht die Übergangswahrscheinlichkeit Somit lässt sich die Wahrscheinlichkeit p für den Übergang von qi auf qj schreiben als:
Dabei steht n für einen diskreten Zeitpunkt. Der Übergang findet also zwischen dem Schritt n mit Zustand qi und dem Schritt n + 1 mit dem Zustand qj statt.Where n stands for a discrete time. The transition thus takes place between the step n with state q i and the step n + 1 with the state q j .
Die Emissionsverteilung bi(Ge) hängt vom Zustand qi ab. Wie bereits erläutert ist dies die Wahrscheinlichkeit, die Elementargeste Ge (die Observable) zu beobachten, wenn sich das System (Hidden-Markov-Modell) im Zustand qi befindet:
Um das System starten zu können, müssen die Anfangszustände festgelegt sein. Dies geschieht durch einen Wahrscheinlichkeitsvektor πi. Danach lässt sich angeben, dass ein Zustand qi mit der Wahrscheinlichkeit πi ein Anfangszustand ist:
Wichtig ist, dass für jede Gestensequenz ein neues Modell erstellt werden muss. In einem Modell M soll die Beobachtungswahrscheinlichkeit für eine Beobachtungssequenz von Elementargesten
Dies entspricht einer nicht unmittelbar beobachtbaren Zustandssequenz, die der folgenden Sequenz entspricht:
Die von dem Modell M, der Zustandssequenz Q und der Beobachtungssequenz Ge abhängige Wahrscheinlichkeit p, diese Zustandssequenz Q zu beobachten, ist: The probability p dependent on the model M, the state sequence Q and the observation sequence Ge to observe this state sequence Q is:
Damit ergibt sich als Wahrscheinlichkeit einer Zustandssequenz Q → = (q1, q2, ...qN) im Modell M: This results in the probability of a state sequence Q → = (q 1 , q 2 ,... Q N ) in the model M:
Somit ergibt sich als Wahrscheinlichkeit für die Erkennung eines Gestenwortes gleich einer Gestensequenz: Thus, the probability of recognizing a gesture word is equal to a gesture sequence:
Dabei erfolgt die Bestimmung des wahrscheinlichsten Wortmodells (Gestensequenz) für die beobachtete Emission Ge durch diese Summation der Einzelwahrscheinlichkeiten über alle möglichen Pfade Qk, die zu dieser beobachteten Gestensequenz Ge führen.The determination of the most probable word model is (gesture sequence) for the observed emission Ge by this summation of the individual probabilities over all possible paths Q k, that result in the observed sequence gesture Ge.
Die Summierung über alle möglichen Pfade Q ist aufgrund des möglichen Rechenaufwands nicht unproblematisch. In der Regel wird daher sehr frühzeitig abgebrochen. Manche Erkenner nutzen nur den wahrscheinlichsten Pfad Qk. Dies wird im folgenden diskutiert.The summation over all possible paths Q is not unproblematic due to the possible computational effort. As a rule, it is therefore aborted very early. Some recognizers use only the most probable path Q k . This will be discussed below.
Die Berechnung erfolgt durch rekursive Berechnung. Die Wahrscheinlichkeit an(i) zum Zeitpunkt n das System im Zustand qi zu beobachten lässt sich wie folgt berechnen: The calculation is done by recursive calculation. The probability a n (i) at time n to observe the system in the state q i can be calculated as follows:
Hierbei wird über alle S möglichen Pfade summiert, die in den Zustand qi+1 hineinführenThis sums over all S possible paths that lead into the state q i + 1
Es wird dabei angenommen, dass die Gesamtwahrscheinlichkeit in den Zustand q1 n+i zu gelangen vom besten Pfad dominiert wird. Dann kann die Summe mit geringem Fehler vereinfacht werden.It is assumed that the overall probability of entering the state q 1 n + i is dominated by the best path. Then the sum can be simplified with little error.
Durch Rückverfolgung vom letzten Zustand aus erhält man nun den besten Pfad.Tracing back from the last state gives you the best path.
Die Wahrscheinlichkeit dieses Pfades ist ein Produkt. Daher reduziert eine logarithmische Berechnung das Problem auf ein reines Summationsproblem. Dabei entspricht die Wahrscheinlichkeit für die Erkennung eines Wortes, was der Erkennung eines Modells Mj entspricht, der Bestimmung des wahrscheinlichsten Wortmodells für die beobachtete Emission X. Diese erfolgt nun ausschließlich über den besten möglichen Pfad Qbest The probability of this path is a product. Therefore, a logarithmic calculation reduces the problem to a pure summation problem. The probability for the recognition of a word, which corresponds to the recognition of a model M j, corresponds to the determination of the most probable word model for the observed emission X. This now takes place exclusively via the best possible path Q best
Diese wird damit zuThis becomes so
Es ist nun von besonderer Bedeutung dass das Prototype Book (
Die
Die Figuren zeigen Gesten, die mit einer Modellhand durch die erfindungsgemäße Vorrichtung ausgeführt werden. Diese können selbstverständlich auch zu Zweihand-Gesten zweiter Modellhände kombiniert werden. Es ist sicherlich auch denkbar, diese Gesten mit Modellen anderer Körperteile auszuführen. Beispielsweise könnte die kreisende Bewegung der Modellhand über dem Smart-Phon einer kreisenden Bewegung eines Modellfußes vor einem Kofferraum entsprechen. Das Erkennungssystem wäre dann nach unten gerichtet, und würde bei Erkennen dieser simulierten Fuß-Geste in Kombination mit anderen Faktoren, beispielsweise der Nähe des richtigen Autoschlüssels, die Heckklappe öffnen.The figures show gestures that are performed with a model hand by the device according to the invention. These can of course also be combined to two-handed gestures second model hands. It is certainly also possible to carry out these gestures with models of other body parts. For example, the circular motion of the model hand over the smart phone could correspond to a circular motion of a model foot in front of a trunk. The recognition system would then face down and, upon recognition of this simulated foot gesture in combination with other factors, such as the proximity of the proper car key, would open the tailgate.
Zur Vereinfachung können die durch die erfindungsgemäße Vorrichtung darstellbaren Gesten in verschiedene Hierarchien zerlegt werden. Zunächst sind da die Orientierungen der Modellhand bzw. des Objekts. Sodann gibt es die Übergänge zwischen diesen Orientierungen. Dies sind typischerweise Drehungen, es folgen die Positionierungen im Raum und deren Übergange, die Hand- oder Objektbahnen im Raum über dem Gerät entsprechen. Die erfindungsgemäße Vorrichtung führt diese Positionierungen, Orientierungen und Bewegungen aus.To simplify the representable by the inventive device gestures can be broken down into different hierarchies. First, there are the orientations of the model hand or the object. Then there are the transitions between these orientations. These are typically rotations, followed by the positioning in space and its transitions, which correspond to hand or object trajectories in the space above the device. The device according to the invention performs these positioning, orientations and movements.
Wenden wir uns zunächst den elementaren Objektorientierungen zu. Diese werden wie die Bewegungen im Prototype-Book (
- a. Eine Handfläche der Modellhand oder Objektunterseite zum Erkenner
- b. Eine Hand der Modellhand von der Seite mit kleinem Finger der Modellhand zum Erkenner (Objekt von der rechten Seite)
- c. Ein Handrücken der Modellhand oder Objektoberseite zum Erkenner
- d. Eine Modellhand von der Seite mit dem Daumen der Modellhand zum Erkenner (Objekt von der linken Seite)
- e. Eine Modellhand oder Objekt in einer der folgenden Richtungen orientiert:
- i. Nord,
- ii. Nord Ost
- iii. Ost
- iv. Süd Ost
- v. Süd
- vi. Süd West
- vii. West
- viii. Nord West
- f. Eine Modellhand gekippt mit der Spitze nach unten (Ein Objekt vorne nach unten gekippt)
- g. Eine Modellhand gekippt mit der Spitze nach oben (Ein Objekt vorne nach oben gekippt)
- h. Eine Modellhand vertikal mit Spitze nach oben (Objekt senkrecht nach oben)
- i. Eine Modellhand vertikal mit Spitze nach unten (Objekt senkrecht nach unten)
- j. Eine Modellhand abgeknickt (Objekt gedreht)
- k. Nach rechts
- l. Nach links
- m. Die Finger einer Modellhand gespreizt
- n. Die Anzahl der abgespreizten Finger einer
1, 2, 3, 4, 5Modellhand ist - o. Ein Finger (insbesondere Zeigefinger) einer Modellhand nach vorne
- a. A palm of the model hand or object bottom to the recognizer
- b. A hand of the model hand from the side with a small finger of the model hand to the recognizer (object from the right side)
- c. One back of the model hand or object top to the recognizer
- d. A model hand from the side with the thumb of the model hand to the recognizer (object from the left side)
- e. A model hand or object oriented in one of the following directions:
- i. Nord,
- ii. North East
- iii. east
- iv. South east
- v. south
- vi. Southwest
- vii. west
- viii. North West
- f. A model hand tilted with the tip down (one object tilted front down)
- G. A model hand tilted with the tip up (one object tilted front up)
- H. A model hand vertically with tip up (object vertically upwards)
- i. A model hand vertical with point down (object vertically downwards)
- j. A model hand kinked (object rotated)
- k. To the right
- l. To the left
- m. The fingers of a model hand spread
- n. The number of splayed fingers of a model hand is 1, 2, 3, 4, 5
- o. A finger (especially index finger) of a model hand forward
Die Unterscheidbarkeit der Orientierungen hängt letztlich nur von der Anzahl der Sender T_Anz und Empfänger S_Anz ab. Die Anzahl der ohne Ableitung extrahierbaren Parameter P_Anz ist dann proportional zu
Dies setzt allerdings eine entsprechend umfangreiche Reglung voraus.However, this requires a correspondingly extensive regulation.
Die durch eine Modellhand oder ein Objekt ausgeführten Elementargesten lassen sich einteilen in
- • solche ohne Objekt (Modellhand),
- • solche mit Objekt (Modellhand) aber ohne Bewegung (z. B. keine Geste, verharren,),
- • Änderung der Anzahl der Objekte (der Modellhände) vor dem Erkenner (keine, eine, zwei) typischerweise mit einer Raumorientierung (Eintritt von links, rechts, oben, unten und entsprechende Zwischenwerte wie diagonal oben etc.),
- • solche, bei denen das Objekt (die Modellhand) selbst um eine von drei Raumachsen links oder rechtsherum gedreht wird (
12 ,13 ,14 ), insbesondere Neuorientierungen des Objektes/der Modellhand (z. B. Handkante, Handinnenseite, Handoberseite der Modellhand zum Detektor), - • solche, bei denen das Objekt (die Modellhand) eine Kreis- oder Ellipsen- oder Hyperbelbewegungen links- oder rechtsherum auf einer Koordinatenrichtung eines Polarkoordinatensystems oder eines sphärischen Koordinatensystems oder eines anderen orthogonalen Koordinatensystems ausführt (
21 und 22 zeigen kreisende Bewegungen. Die dritte Achsenorientierung entsprechend21 ist nicht gezeigt, da lediglich das Smartphone gedreht wäre. Selbstverständlich ist die Beschränkung auf Kurvensegmente denkbar.), - • solche, bei denen das Objekt (die Modellhand) translatorisch vor oder zurück in eine der drei Raumrichtungen (x, y, z, und diagonale Zwischenwerte) bewegt wird (
18 ,19 ,20 ) - • solche bei denen die Struktur der Modellhand (des Objekts) geändert wird (ein, zwei und mehr Finger vorstrecken, z. B. zählen,
15 , wobei15 zur Vereinfachung dieZahlen 4 und 5 nicht zeigt; oder Fingerspreizen oder -schließen,17 ; oder z. B. Modellhand öffnen oder schließen16 ) - • Kombinationen dieser Gesten oder Bewegungen (z. B. kreisende Bewegung mit Öffnen und Schließen einer Modellhand wobei die Modellhand immer an einem Pol des Kreises geschlossen und am anderen geöffnet ist.)
- • those without object (model hand),
- • those with object (model hand) but without movement (eg no gesture, remain,),
- Changing the number of objects (model hands) in front of the recognizer (none, one, two) typically with a spatial orientation (entry from left, right, up, down and corresponding intermediate values such as diagonally above, etc.),
- • those in which the object (the model hand) itself is rotated by one of three spatial axes left or right (
12 .13 .14 ), in particular reorientations of the object / the model hand (eg hand edge, palm of the hand, hand top of the model hand to the detector), - • those in which the object (the model hand) performs a circular or elliptical or hyperbola movement left or right around a coordinate direction of a polar coordinate system or a spherical coordinate system or another orthogonal coordinate system (
21 and22 show circular movements. The third axis orientation accordingly21 is not shown because only the smartphone would be rotated. Of course, the restriction to curve segments is conceivable.), - • those in which the object (the model hand) is moved in a forward or backward direction in one of the three spatial directions (x, y, z, and diagonal intermediate values) (
18 .19 .20 ) - • those where the structure of the model's hand (the object) is changed (one, two or more fingers ahead, eg counting,
15 , in which15 for simplicity, does not show the 4 and 5; or finger spreads or closing,numbers 17 ; or z. B. Open or close model hand16 ) - • Combinations of these gestures or movements (eg circular motion with opening and closing a model hand with the model hand always closed at one pole of the circle and open at the other).
Dabei gibt es zu jeder Geste immer eine inverse Geste. Diese hebt das Resultat einer zuvor durchgeführten Bewegung wieder im geometrischen Sinne auf. Eine beispielsweise zu einer Kreisbewegung im Uhrzeigersinn inverse Geste ist die Kreisbewegung gegen den Uhrzeigersinn, die inverse zum Fingerschließen, das Fingeröffnen der Modellhand (
Wichtig ist, dass Kombinationen dieser Gesten denkbar sind. So kann beispielweise das Fingeröffnen und -schließen bezogen auf die Bewegungslinie der Finger in sechs Raumrichtungen (x, y, z, -x, -y, -z) erfolgen. Dabei kann die Hand in sechs Richtungen (x, y, z, -x, -y, -z) orientiert sein. (Diagonale Zwischenorientierungen sind selbstverständlich auch noch möglich.) Insgesamt kann die grundsätzliche Elementargeste also in 36 Konfigurationen ausgeführt werden. Diese können durch Drehungen ineinander überführt werden. Allerdings sind nicht alle Gesten gleich gut erkennbar. Im Falle eines Fingeröffnens der Modellhand in Z-Richtung, schattet der untere Finger den oberen ab. Solche Gesten wird ein Fachkundiger daher typischerweise nicht verwenden.It is important that combinations of these gestures are conceivable. Thus, for example, the finger opening and closing based on the line of movement of the fingers in six spatial directions (x, y, z, -x, -y, -z) take place. The hand can be oriented in six directions (x, y, z, -x, -y, -z). (Diagonal intermediate orientations are, of course, still possible.) Overall, the basic elementary gesture can therefore be executed in 36 configurations. These can be converted by rotations into each other. However, not all gestures are equally recognizable. In the case of finger opening of the model hand in the Z direction, the lower finger shadows the upper one. Such gestures will therefore typically not be used by a skilled person.
Eine Elementargestensequenz „Wischen in X-Richtung” (
- a) Elementargeste „Idle” = kein Objekt
- b) Beginn Eintritt (= Modellhandobjekt erscheint am Rand des Messbereiches)
- c) Eintrittsprozess (= Objekt ändert Größe und Abstand im Wesentlichen nicht, führt jedoch eine Translationsbewegung in X-Richtung aus, erscheint also zu unterschiedlichen Zeitpunkten an unterschiedlichen Orten)
- d) Verharren (= Objekt ändert Größe und Abstand im Wesentlichen nicht, führt keine Translationsbewegung in X- und Y-Richtung aus, erscheint also zu unterschiedlichen Zeitpunkten an gleichen Orten) (= Ende Eintrittsprozess)
- e) Wischen (= Objekt ändert Größe und Abstand im Wesentlichen nicht, führt jedoch eine Translationsbewegung in X-Richtung aus, erscheint also zu unterschiedlichen Zeitpunkten an unterschiedlichen Orten)
- f) Verharren (= Objekt ändert Größe und Abstand im Wesentlichen nicht, führt keine Translationsbewegung in X- und Y-Richtung aus, erscheint also zu unterschiedlichen Zeitpunkten an gleichen Orten) (= Ende Wischen)
- g) Austrittprozess (= Objekt ändert Größe und Abstand im Wesentlichen nicht, führt jedoch eine Translationsbewegung in X-Richtung aus, erscheint also zu unterschiedlichen Zeitpunkten an unterschiedlichen Orten)
- h) Ende Eintritt (= Modellhandobjekt verschwindet am gegenüberliegenden Rand des Messbereiches)
- i) Elementargeste „Idle” = kein Objekt
- a) Elementary gesture "Idle" = no object
- b) Start of entry (= model hand object appears at the edge of the measuring range)
- c) entry process (= object does not essentially change size and distance, but does translate in the X direction, so it appears at different times at different locations)
- d) Persistence (= object does not essentially change size and distance, does not translate in the X and Y directions, so it appears at the same places at different times) (= end entry process)
- e) wiping (= object essentially does not change size and distance, but does translate in the X direction, so it appears at different times at different locations)
- f) Persistence (= object does not essentially change size and distance, does not translate in the X and Y directions, so it appears at the same places at different times) (= wipe end)
- g) exit process (= object does not essentially change size and distance, but does translate in the X direction, so it appears at different times at different locations)
- h) End of entry (= model hand object disappears at the opposite edge of the measuring range)
- i) Elementary gesture "Idle" = no object
Ein solchermaßen definiertes „Gestenwort”, das aus den oben beschriebenen Elementargesten zusammengesetzt ist, kann durch neben dem beschriebenen kombinierten HMM-Viterbi-Erkenner (
Es sind nun grundsätzlich zwei Erkennungsszenarien möglich: Die Einzelgestenworterkennung (
Bei der Einzelgestenworterkennung wird durch ein anderes Ereignis das Steuersystem dazu veranlasst, die Gestenerkennung zu starten. Das kann beispielsweise ein Knopfdruck sein. Der Vorteil dieser Konstruktion ist, dass Rechenleistung und damit Energie gespart wird. Dies kann bei mobilen Geräten von Vorteil sein.In single-gesture recognition, another event causes the control system to start gesture recognition. This can be, for example, a push of a button. The advantage of this design is that computing power and therefore energy is saved. This can be beneficial for mobile devices.
Bei der kontinuierlichen Gestenworterkennung (
Die Gestenworte, deren Erkennung oben beschrieben wurde, können nun zu komplexeren „Gestensätzen” zusammengesetzt werden.The gesture words whose recognition was described above can now be assembled into more complex "gesture sets".
Hierbei ist es zweckmäßig Gestenworte in Gestenwortklassen zusammenzufassen. Beispielhafte Klassen können beispielsweise Klassen sein, die Gestenworte zusammenfassen, die beispielsweise
- • Subjekte
- • Objekte (z. B. Gegenstände und Personen) oder
- • Eigenschaften dieser Objekte oder
- • Veränderungen der Eigenschaften oder
- • Eigenschaften der Veränderungen selbst
- • Verursacher dieser Veränderungen oder
- • Verhältnisse dieser Objekte untereinander
- • subjects
- • objects (eg objects and persons) or
- • Properties of these objects or
- • changes in properties or
- • Properties of the changes themselves
- • cause of these changes or
- • Relationships between these objects
Die Abfolge der Gestenworte kann in Abhängigkeit von der Gestenwortklasse definiert werden. Dies ermöglicht weiteren nachgeschalteten HMM-Viterbi-Erkennern trotz möglicherweise falscher Gestenworterkennung aus dem zuvor beschriebenen kombinierten HMM-Viterbi-Erkenner, den korrekten Inhalt einer derartig definierten Gestenbotschaft, einen Gestensatz, richtig zu erkennen. Da der Prozess analog wie bei der Erkennung der Elementargestensequenzen (Gestenworte) auf Basis einer Hypothesenliste (
Eine derartig definierte Gestengrammatik erlaubt eine wesentlich verbesserte Übermittlung von kompakten Kommandosequenzen ähnlich einer Gestensprache. Such a defined gesture grammar allows a much improved transmission of compact command sequences similar to a gesture language.
Um eine derartige Gestensprache effizient zu gestalten, ist es sinnvoll die Übergänge zwischen den Gestenworten so zu gestalten, dass das Ende der vorausgehenden und der Beginn der nachfolgenden Geste aufeinander abgestimmt werden können.To make such a gesture language efficient, it makes sense to make the transitions between the gesture words so that the end of the preceding and the beginning of the subsequent gesture can be coordinated.
Gestenworte können Elementargesten und Elementargestensequenzen enthalten, die Abhängigkeiten zu anderen Gestenworten ausdrücken oder andere Information wir beispielsweise Zeitbezüge (wie Vergangenheit und Zukunft etc.) ausdrücken. Die Elementargestensequenzen können dabei auch nur aus einer Elementargeste bestehen.Gestural words may include elementary gestures and elementary gesture sequences that express dependencies on other gesture words, or other information such as time expressions (such as past and future, etc.). The elementary gesture sequences can consist of only one elementary gesture.
An dieser Stelle sei auf die vielfältigen Möglichkeiten der Linguistik verwiesen. Wichtig ist, dass diese Gesten durch die erfindungsgemäße Vorrichtung ausgeführt werden können.At this point, reference is made to the manifold possibilities of linguistics. It is important that these gestures can be performed by the device according to the invention.
Es ist nun von besonderer Wichtigkeit, dass die ausgeführten Gesten auch Konsequenzen haben und etwas bewirken. In der Regel wird über solche Gesten die Steuerung eines Rechners erfolgen. Hierbei kann es sich auch um den Rechner eines Roboters handeln. Da die Anwendungen in der Regel nicht vom Hersteller des Gerätes erstellt werden, ist es sinnvoll dass die Gesten oder Gesten-Sequenzen Text-Strings oder anderen Symbolketten zugeordnet sind oder zugeordnet werden können. Somit entsteht eine Verknüpfung zwischen den Gesten oder Gesten-Sequenzen auf der einen Seite und Aktionen der Aktoren des Rechner- und/oder Robotersystems auf der anderen Seite. Eine solche Übertragung einer Verknüpfung geschieht zweckmäßigerweise durch ein Datentransferprotokoll, beispielsweise ein http- oder XML-Protokoll. Diese Übermittlung erfordert die Standardisierung der Gesten mittels des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung.It is now of particular importance that the executed gestures also have consequences and make a difference. As a rule, such gestures will be used to control a computer. This can also be the computer of a robot. Since the applications are usually not created by the manufacturer of the device, it makes sense that the gestures or gesture sequences are assigned or can be assigned to text strings or other symbol strings. This creates a link between the gestures or gesture sequences on the one hand and actions of the actuators of the computer and / or robot system on the other hand. Such a transfer of a link is expediently carried out by a data transfer protocol, for example an http or XML protocol. This transmission requires the standardization of the gestures by means of the method according to the invention and the device according to the invention.
Bei Verwendung eines Neuronalen-Netz-Erkenners (
Neuronale-Netz-Erkenner sind wesentlich kompakter und daher eher zu integrieren als HMM-Erkenner. Sie sind jedoch hinsichtlich ihrer Fähigkeit zur Unterscheidung von Gesten aufgrund des intern auftretenden Quantisierungsrauschens begrenzt. Auch ist die Empfindlichkeit gegenüber Störsignalen größer. Daher ist nicht zu empfehlen mehr als 20 Gesten einschließlich der parasitären Fälle mit einem Neuronalen-Netz unterscheiden zu wollen. Außerdem ergeben Neuronale-Netz-Erkenner in der Regel sprecher- und geräteabhängige Ergebnisse. Sie müssen vom jeweiligen Nutzer also angelernt werden, was die Einsatzfähigkeit sehr begrenzt.Neural network recognizers are much more compact and therefore more likely to integrate than HMM recognizers. However, they are limited in their ability to distinguish gestures due to internally occurring quantization noise. Also, the sensitivity to interfering signals is greater. Therefore, it is not recommended to distinguish more than 20 gestures including the parasitic cases with a neural network. In addition, neural network recognizers typically yield speaker and device dependent results. They have to be trained by the respective user, which limits the operational capability very much.
Diese Art von Erkenner-Systemen ist Stand der Technik und für die Mustererkennung seit langem bekannt.This type of recognizer systems has been known in the art and pattern recognition for a long time.
Um das System jedoch mit einem besonders effizienten Satz von Merkmalsvektoren versorgen zu können, ist es sinnvoll, den Transmitter (
Hierzu kann der Viterbi-Erkenner (
Dieses Verfahren soll an einem besonderen Beispiel erläutert werden:
Der Transmitter sendet nach Erstellung der Prognose der wahrscheinlichsten nachfolgenden Gesten ein zeitliches und ggf. auch räumliches Muster, das zur Unterscheidung der wahrscheinlich zu erwartenden Alternativen am optimalsten geeignet ist.After generating the prediction of the most likely subsequent gestures, the transmitter sends a temporal and possibly spatial pattern that is most suitable for distinguishing the likely alternatives to be expected.
Dieses Muster kann mit Hilfe der Database (
Die
Für den Fachmann ist es klar, dass unter der Voraussetzung dass eine lineare Addition der Aktivitätsmuster möglich ist, die Muster einen Hilbert-Raum bilden können. Somit können durch Orthogonalisierung der Muster einfache Basismuster erzeugt werden, aus denen sich alle anderen Muster zusammensetzen.It will be clear to those skilled in the art that provided that a linear addition of the activity patterns is possible, the patterns can form a Hilbert space. Thus, by orthogonalizing the patterns, simple basic patterns can be generated that make up all other patterns.
Diese Elementar-Aktivitätsmuster können im einfachsten Fall durch die Aktivität einer einzelnen Diode dargestellt werden.These elementary activity patterns can in the simplest case be represented by the activity of a single diode.
Durch die Bestrahlung mit einem optimierten Transmissionsmuster wird die Signifikanz der Quantisierungsvektoren maximiert.Irradiation with an optimized transmission pattern maximizes the significance of the quantization vectors.
Das letzte Problem ist die Ableitung der optimalen Transmissions-Sequenz.The last problem is the derivation of the optimal transmission sequence.
Hierfür wird der Database (
Schließlich soll noch der Regelalgorithmus des Physical-Interfaces (
Jede der Transmitter H1 bis H8 sendet in Abhängigkeit vom gewünschten Transmissionsmuster ein Signal in jeweils einen Übertragungskanal (I1i) zum zu vermessenden Objekt (O), hier typischerweise eine Hand. Dort wird das Licht reflektiert und über jeweils einen weiteren Übertragungskanal (I3j) zu jeweils einer Empfängerdiode K1 bis K8 übertragen.Finally, the control algorithm of the physical interface (
Depending on the desired transmission pattern, each of the transmitters H 1 to H 8 sends a signal into a respective transmission channel ( I 1 i ) to the object (O) to be measured, here typically a hand. There, the light is reflected and transmitted via a respective further transmission channel (I3 j ) to a respective receiver diode K 1 to K 8 .
Für jede Paarung aus Empfangsdiode Di und Sendediode Hj wird ein Regler Cij vorgesehen. Da dies zu einem großen Hardware-Aufwand führen würde, ist es sinnvoll in unserem Beispiel nur acht solcher Regler Cij vorzusehen und immer nur eine Sendediode Hj zu betreiben. Das bedeutet, dass zwischen den Sendedioden Hi im Zeitmultiplexverfahren umgeschaltet wird. Die entsprechenden Feature-Vektoren werden daher typischerweise zwischengespeichert und zu einem in diesem Beispiel achtfach breiteren Feature-Vektor (
Jeder der Empfangsdioden Di wird jeweils ein Signalgenerator Gi zugeordnet. Dieser erzeugt ein zu den anderen Generatoren orthogonales Signal. Die Orthogonalität wird im Folgenden näher erläutert.Each of the receiving diodes D i is assigned a respective signal generator G i . This generates a signal orthogonal to the other generators. The orthogonality is explained in more detail below.
Das Signal des Generators Gi, der der Empfängerdiode Di zugeordnet ist, wird durch eine Orthogonalisierungseinheit in einen kurzen Anfangspuls S5oi und ein nachlaufendes Signal S5di derart aufgespalten, dass deren Summe wieder das Signal S5i ergeben würde und dass diese Signale bezüglich des später erläuterten Skalar-Produktes orthogonal sind.The signal of the generator G i , which is associated with the receiver diode D i , is split by an orthogonalization unit into a short start pulse S5 oi and a trailing signal S5 di such that their sum would again give the signal S5 i and that these signals with respect later explained scalar product are orthogonal.
Das Signal der Empfangsdiode Di wird durch einen Vorverstärker verstärkt und mit dem Signal S5di zum Signal S10dij im Multiplizierer M1ij multipliziert. Anschließend wird das Signal im Filter F1ij gefiltert. Die vorausgegangene Multiplikation im Multiplizierer M1ij und diese Filterung im Filter F1ij definieren das Skalar-Produkt des Ausgangssignals des Empfängers D1j mit dem Signal S5di. Wenn von Orthogonalität weiterer Signale in dieser Beschreibung die Rede war, so war damit gemeint, dass diese zwei Signale miteinander auf diese Weise skalar-multipliziert null ergeben.The signal of the receiving diode D i is amplified by a preamplifier and multiplied by the signal S5 di to the signal S10 dij in the multiplier M 1ij . Subsequently, the signal is filtered in the filter F 1ij . The previous multiplication in the multiplier M1 ij and this filtering in the filter F1 ij define the scalar product of the output signal of the receiver D 1j with the signal S5 di . When we talked about the orthogonality of other signals in this description, we meant that these two signals yielded zero scalar multiply in this way.
Anschließend wird das Filterausgangssignal nochmals durch den Verstärker V1ij zum Signal S4dij verstärkt. Es erfolgt die Rücktransformation durch erneute Multiplikation des Signals S4dij mit dem Signal SSdi zum Signal S6dij.Subsequently, the filter output signal is again amplified by the amplifier V1 ij to the signal S4 dij . The inverse transformation takes place by renewed multiplication of the signal S4 dij with the signal SS di to the signal S6 dij .
Die gleiche Operation wird mit dem anderen Signal S5oi durchgeführt. Diese ergibt auf analoge Weise das Signal S6oij.The same operation is performed with the other signal S5 oi . This results in an analogous manner the signal S6 oij .
Um nun das Kompensationssignal der Kompensationsdiode K1j zu erhalten, werden die Signale S6dij und S6oij, für alle Generatorsignale i zusammenaddiert und nach Addition eines geeigneten Offsets B1j der Kompensationsdiode K1j zugeführt. In order to obtain the compensation signal of the compensation diode K 1j , the signals S6 dij and S6 oij are added together for all the generator signals i and supplied to the compensation diode K 1j after addition of a suitable offset B1 j .
Jeder Regler Cij gibt in diesem Beispiel zwei Werte aus: Aij und Deij. Diese bilden in diesem Beispiel mit den sieben weiteren Paaren der anderen sieben aktiven Regler einen 16 dimensionalen analogen Vektor. Da durch den Zeitmultiplex immer nur ein Transmitter Hi aktiv ist, entstehen acht dieser Vektoren innerhalb eines Messzyklus, bei dem alle Transmitter Hi einmal aktiv sind. Diese werden wie beschrieben zwischengespeichert und zu einem 128 dimensionalen Feature-Vektor (
Die Kompensation durch die Kompensationssender Kj erfolgt im Medium und ist damit von solchen Problemen wie Sensorverschmutzung und -alterung weitestgehend unabhängig. Allerdings wird stets der Kompensationssender benötigt. Im Falle eines optischen Systems und einer LED als Kompensationssender Kj ist dies jedoch nicht unbedingt notwendig. Es ist auch denkbar, das System wie in
Da der Eingang der Sensoren Dj stets im gleichen Arbeitspunkt liegen soll, ist es hier erfahrungsgemäß sinnvoll ein Signal S5i für ein i zu definieren, das ein Konstantes Signal ist. In diesem Fall ist der Wert des Kompensationsstromes Ki ein Gleichwert, des sich nur ändert, wenn der Gleichwert des durch Dj empfangenen Signals ändert. Typischerweise erhält man bei optischen Systemen hierdurch eine Gleichlichtkompensation. Daher wird der zugehörige Sender Hi für diesen Gleichwert typischerweise nicht betrieben und kann daher entfallen.Since the input of the sensors D j should always be at the same operating point, it is useful in this case according to experience to define a
Hinsichtlich der Kompensation sind somit beide Systeme gleich. Das System in
Bedenkt man das bisher gesagte, so wird klar, dass ein erfindungsgemäßes Messsystem vektoriell aufgebaut werden kann. Dies ist in
Die Generator-Bank G erzeugt ein vektorielles Signal S5, dessen Komponenten die bereits bekannten S5i-Signale sind. Aus diesen wird durch eine Logik L und einer vektoriellen Verzögerungseinheit Δt das vektorielle Signal S5o gebildet. Dessen Komponenten sind die bereits bekannten S5di und S5oi.The generator bank G generates a vectorial signal S5 whose components are the already known S5 i signals. From these, the vectorial signal S5o is formed by a logic L and a vectorial delay unit Δt. Its components are the already known S5d i and S5o i .
Das vektorielle Generatorsignal S5 wird sofern notwendig mit einem vektoriellen Offset B1 versehen und der Transmitterbank H zugeführt. Insofern können die acht Transmitter aus
Das Erkennungsergebnis (S4) wird als Datenstrom an die Feature-Extraktion FE übergeben. Diese erzeugt einen Feature-Vektor pFV der hinsichtlich der Selektivität noch nicht maximiert ist. Dieser Vektor wird durch Multiplikation mit der LDA Matrix (LDA_F) (
Vorteile der ErfindungAdvantages of the invention
Die Erfindung ermöglicht die geräteunabhängige Erfassung von Gestendatenbanken und deren Übertragung auf nahezu beliebige Hardwareplattformen. Hierdurch werden die Entwurfskosten massiv gesenkt. Insbesondere eine Gestennormung wird möglich.The invention enables the device-independent detection of gesture databases and their transmission to almost any hardware platforms. As a result, the design costs are massively reduced. In particular, a Gestormormung is possible.
Sie ist besonders für mobile Systeme und Internetnutzung geeignet.It is particularly suitable for mobile systems and Internet use.
Figurencharacters
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210025564 DE102012025564A1 (en) | 2012-05-23 | 2012-05-23 | Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210025564 DE102012025564A1 (en) | 2012-05-23 | 2012-05-23 | Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102012025564A1 true DE102012025564A1 (en) | 2013-11-28 |
Family
ID=49546910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201210025564 Withdrawn DE102012025564A1 (en) | 2012-05-23 | 2012-05-23 | Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012025564A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2778844A1 (en) * | 2013-03-11 | 2014-09-17 | Honeywell International Inc. | Gesture recognition system operability verification |
EP2860614A1 (en) | 2013-10-10 | 2015-04-15 | ELMOS Semiconductor AG | Method and device for handling graphically displayed data |
DE102014017237A1 (en) | 2014-11-21 | 2016-05-25 | Mechaless Systems Gmbh | Measuring system for energy-saving optical distance measurement |
EP3124993A1 (en) | 2013-08-22 | 2017-02-01 | ELMOS Semiconductor Aktiengesellschaft | Disturbance-compensated device for measuring an optical signal transfer route |
DE102015015244A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015248A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015389A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Ag | Simple gesture recognition device |
DE102015015245A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015246A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015390A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Ag | Simple gesture recognition device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210419A1 (en) * | 2004-02-06 | 2005-09-22 | Nokia Corporation | Gesture control system |
DE102008052928A1 (en) * | 2008-10-23 | 2010-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device, method and computer program for detecting a gesture in an image, and device, method and computer program for controlling a device |
US20110111798A1 (en) * | 2008-06-24 | 2011-05-12 | Electronics And Telecommunications Research Institute | Registration method of reference gesture data, driving method of mobile terminal, and mobile terminal thereof |
-
2012
- 2012-05-23 DE DE201210025564 patent/DE102012025564A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210419A1 (en) * | 2004-02-06 | 2005-09-22 | Nokia Corporation | Gesture control system |
US20110111798A1 (en) * | 2008-06-24 | 2011-05-12 | Electronics And Telecommunications Research Institute | Registration method of reference gesture data, driving method of mobile terminal, and mobile terminal thereof |
DE102008052928A1 (en) * | 2008-10-23 | 2010-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device, method and computer program for detecting a gesture in an image, and device, method and computer program for controlling a device |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2778844A1 (en) * | 2013-03-11 | 2014-09-17 | Honeywell International Inc. | Gesture recognition system operability verification |
US9372541B2 (en) | 2013-03-11 | 2016-06-21 | Honeywell International Inc. | Gesture recognition system operability verification |
EP3124993A1 (en) | 2013-08-22 | 2017-02-01 | ELMOS Semiconductor Aktiengesellschaft | Disturbance-compensated device for measuring an optical signal transfer route |
EP2860614A1 (en) | 2013-10-10 | 2015-04-15 | ELMOS Semiconductor AG | Method and device for handling graphically displayed data |
DE102014017237A1 (en) | 2014-11-21 | 2016-05-25 | Mechaless Systems Gmbh | Measuring system for energy-saving optical distance measurement |
DE102015015244A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015248A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015389A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Ag | Simple gesture recognition device |
DE102015015245A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015246A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Aktiengesellschaft | Simple gesture recognition device |
DE102015015390A1 (en) | 2015-11-18 | 2017-05-18 | Elmos Semiconductor Ag | Simple gesture recognition device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012010627A1 (en) | Object detecting and measuring system i.e. gesture detecting system, for detecting gesture parameters of man machine interface during control of e.g. computer, has unit executing steps of feature-extraction and emission computation | |
DE102012025564A1 (en) | Device for recognizing three-dimensional gestures to control e.g. smart phone, has Hidden Markov model (HMM) which executes elementary object positions or movements to identify positioning motion sequences | |
DE102012024778A1 (en) | Recognition system for contactless detection of human-machine interface three dimensional object- or gesture parameters, has controller, where signal generated from light emitted from transmitter is compared with signal received by receiver | |
Pandey et al. | Deep learning techniques for speech emotion recognition: A review | |
US20230196744A1 (en) | Vehicle recognition method and apparatus, device, and storage medium | |
DE602005000603T2 (en) | Method for determining probability parameters for a variable state space model | |
DE112011101370T5 (en) | Neural network with canonical pulsed neurons for a spatiotemporal associative memory | |
DE102013017114A1 (en) | METHOD AND DEVICE FOR DETERMINING A HARNESS FOR A PEDESTRIAN COUPLING NAVIGATION PROCESS | |
WO2009118183A2 (en) | System and method for the multidimensional evaluation of gestures | |
CN110826437A (en) | Intelligent robot control method, system and device based on biological neural network | |
CN110399846A (en) | A kind of gesture identification method based on multichannel electromyography signal correlation | |
US10754434B2 (en) | Motion gesture capture by selecting classifier model from pose | |
US11386326B2 (en) | Training a machine learning model with limited training data | |
CN110674875A (en) | Pedestrian motion mode identification method based on deep hybrid model | |
DE102017209262A1 (en) | Method and device for automatic gesture recognition | |
DE60133537T2 (en) | AUTOMATIC UMTRAINING OF A LANGUAGE RECOGNITION SYSTEM | |
DE102018127802A1 (en) | HYBRID CLASSIFIER OF A PULSED NEURONAL NETWORK AND SUPPORT VECTOR MACHINE | |
CN111128240A (en) | Speech emotion recognition method based on anti-semantic erasure | |
DE112016002434T5 (en) | TECHNIQUES FOR SIMULATED PHYSICAL INTERACTION BETWEEN USERS ABOUT YOUR MOBILE COMPUTER DEVICES | |
Sarakon et al. | Robust noise for human activity recognition using convolutional neural network | |
CN112364737A (en) | Facial expression recognition method, device and equipment for live webcast lessons | |
CN110598737B (en) | Online learning method, device, equipment and medium of deep learning model | |
DE112020005337T5 (en) | CONTROLLABLE, NATURAL PARALINGUISTICS FOR TEXT-TO-SPEECH SYNTHESIS | |
CN108875901A (en) | Neural network training method and generic object detection method, device and system | |
DE112020003343T5 (en) | SYSTEM AND PROCESS USING A ROBUST DEEP GENERATIVE MODEL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R129 | Divisional application from |
Ref document number: 102012010627 Country of ref document: DE |
|
R129 | Divisional application from |
Ref document number: 102012010627 Country of ref document: DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0003041000 Ipc: G06F0003048000 |
|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed |
Effective date: 20130816 |
|
R081 | Change of applicant/patentee |
Owner name: ELMOS SEMICONDUCTOR AKTIENGESELLSCHAFT, DE Free format text: FORMER OWNER: ELMOS SEMICONDUCTOR AG, 44227 DORTMUND, DE Effective date: 20150108 |
|
R081 | Change of applicant/patentee |
Owner name: ELMOS SEMICONDUCTOR SE, DE Free format text: FORMER OWNER: ELMOS SEMICONDUCTOR AKTIENGESELLSCHAFT, 44227 DORTMUND, DE |
|
R120 | Application withdrawn or ip right abandoned |