-
Die
Erfindung betrifft das technische Gebiet der Gestenanalyse, bei
welcher verwertbare Informationen aus im freien Raum erzeugten Gesten
abgeleitet werden. Zum Beispiel kann die Analyse ausgeführt werden,
um Echtzeit-Befehlseingaben
zu einer Vorrichtung, z.B. einem Medienabspielgerät oder einem
anderen Gerät,
durch Gestenerkennung, auch als Gestenidentifizierung bezeichnet,
abzuleiten. Die Analyse erfordert das Erfassen einer Charakteristik einer
speziellen Geste aus durch den Körper
beim Ausführen
der Geste erzeugten Signalen, typischerweise auf der Oberfläche der
Haut im Bereich der die Gesten erzeugenden Muskeln erfassten elektromyographischen
(EMG) Signalen.
-
Im
allgemeinen Gebiet der Körperbewegungsanalyse
wurde vieles der früheren
Forschung für
medizinische Anwendungen ausgeführt,
wichtig in der Orthopädie
und der Prothesensteuerung. In diesem Zusammenhang wird die Analyse
an Patienten ausgeführt,
die wohldefinierte Bewegungen in kontrollierten Umgebungen erzeugen.
Insbesondere werden die Bewegungen aus einer festen Referenzposition
eines Körperabschnitts
analysiert. Zum Beispiel wird die Bewegung eines Unterarms allgemein gemacht,
indem der Ellbogen oder die Schultern an einem festen Referenzpunkt
zum Beispiel unter Verwendung einer Lehne gehalten werden. Mit einer
solchen Beschränkung
sind die analysierten Bewegungen nicht im freien Raum erzeugte Gesten,
wo im Gegensatz dazu der Körper
und die Gliedmaßen
sich ohne Bezug auf eine absolute Referenz oder einen Ursprung frei
bewegen können.
-
Es
besteht nun ein Bedarf nach Mensch-Maschine-Schnittstellentechniken, die ein Gewinnen verwertbarer
Informationen aus im freien Raum erzeugten Gesten erlauben, insbesondere
zum Steuern einer Vorrichtung oder zum Bereitstellen eines Feedbacks
von Körperbewegungen.
Als ein nicht-einschränkendes
Beispiel finden solche Mensch-Maschine-Schnittstellen Anwendungen
zum Befehlen von Musik/Video-(Medien-) Abspielgerätefunktionen,
Videospielen, Simulatoren, Personal Computern, Haushaltsgeräten, und
können
auch zur Musikerzeugung und für
andere Formen von künstlerischem
Ausdruck verwendet werden.
-
Das
Gewinnen brauchbarer Informationen aus Gesten im freien Raum in
einem solchem Kontext schafft technische Herausforderungen, denen man
nicht begegnet, wenn ein Körperabschnitt
physisch auf eine feste Referenzposition beschränkt ist. Insbesondere müssen effiziente
Algorithmen implementiert werden, um eine geeignete Charakteristik aus
den Rohdatensignalen an den Sensorausgängen zu erzeugen und die entsprechende
Geste aus dieser Charakteristik mit annehmbarer Zuverlässigkeit
und Geschwindigkeit zu identifizieren.
-
Typischerweise
arbeitet der Algorithmus in zwei Modi:
einem Lern- oder Trainings-Modus,
in dem eine Korrelation eingerichtet wird zwischen jeder eines Satzes
ausgewählter
Gesten und den aus den entsprechenden Rohdatensignalen gewonnenen
Endinformationen, und einem Erkennungsmodus, in dem die im Lernmodus
erfasste Korrelation benutzt wird, um eine spezielle Endinformation,
beispielsweise einen Befehl, aus der entsprechenden Geste zu identifizieren.
-
Ein
Beispiel einer bekannten Technik zum Analysieren von Armbewegungen
im dreidimensionalen Raum ist in einem Dokument mit dem Titel „EMG-based
Human-Machine Interface System" von O.A.
Alsayegh, veröffentlicht
in Proceedings of the IEEE Conference on Multimedia and Exposition, 2000,
offenbart, gegen welches die Ansprüche abgegrenzt sind. Bei diesem
Ansatz sind EMG-Elektroden an Schulter- und Ellbogengelenken platziert,
und ihre Ausgangssignale werden in einer Vorverarbeitungsstufe frequenzgefiltert.
Dann wird ihre Hüllkurve
extrahiert. Steuerpunkte, die lokale und globale Maxima und Minima
(Extrema) darstellen, werden aus der Hüllkurve extrahiert. Schließlich wird
eine zeitliche Charakteristik auf der Basis der Zeitpunkte der aufgezeichneten
Extremwerte konstruiert, um die entsprechende Geste zu identifizieren.
Insbesondere wird das vorverarbeitete EMG-Signal für jedes
Zeitintervall zwischen zwei aufeinander folgenden Extremwerten der
Hüllkurve über die
Zeit integriert. Es wird dann eine graphische Darstellung in einem
durch drei orthogonale Achsen definierten Merkmalsraum erzeugt,
die jeweils unterschiedlichen Muskeln der entsprechenden Person
entsprechen. Für
jeden dieser Muskeln wird ein gegebenes Zeitintegral des Hüllkurvensignals
auf seiner jeweiligen Achse graphisch aufgetragen. Für jede spezielle
Geste erzeugen nacheinander aufgetragene Punkte eine elliptische Figur
in diesem Raum, welche die Charakteristik der Geste bildet. Diese
elliptischen Figuren dienen als Referenzen zum Identifizieren zukünftiger
Gesten.
-
Die
Studie demonstrierte, dass zwölf
unterschiedliche Armgesten auf diese Weise erkannt werden können. Ein Beispiel
eines herkömmlichen
Gestenerkennungsansatzes, der auf dem Analysieren von Bilddaten
basiert, ist in der Patentschrift US-A-5,454,043 offenbart. Die
Eingangsdaten werden durch ein Videobild bereitgestellt, aus dem
eine dynamische 3D-Gestikabbildung abgeleitet wird. Die Abbildung
ist so angeordnet, dass sie Vektoren aufweist, die die Häufigkeit
des Auftretens von Ereignissen gegenüber einer räumlich/zeitlichen Orientierung aufträgt. Diese
3D-Abbildung wird dann in ein 2D-Histogramm umgesetzt, das die Winkelausrichtung
der Vektoren der 3D-Abbildung
gegenüber
der Position, aus der eine Geste erfasst wird, abbildet.
-
Ein
Gestenerkennungssystem, das auf myoelektrischen Signalen basiert,
ist in einem Dokument von Osamah Alsayegh mit dem Titel „Guidance
of video data acquisition by myoelectric signals for smart human-robot
interfaces", veröffentlicht
in IEEE 5/1998, Seiten 3179 bis 3185; Proceedings of the 1998 IEEE
International Conference on Robotics and Automation, Leuven, Belgien,
erläutert.
Das Dokument beschreibt, wie EMG-Signale benutzt werden, um die
Verschiebung einer Hand, bewirkt durch die Aktivität der Gelenkmuskeln,
mit der Betonung auf einer EMG-Teilerfassung
abzuschätzen.
-
Die
Erfindung beabsichtigt einen anderen Ansatz, der grundsätzlich,
aber nicht ausschließlich, auf
das Erreichen einer schnellen und exakten Gestenerkennung abzielt,
und der selbst bei wenig betonten Gesten, beispielsweise solchen,
die hauptsächlich
Handbewegungen involvieren, verwendet werden kann. Die Technik gemäß der Erfindung
resultiert in einer hochreaktiven und intuitiven Wechselwirkung zwischen
der die Gesten erzeugenden Person und der verbundenen elektronischen
Ausrüstung,
die vorteilhafterweise in vielen verschiedenen Anwendungen in Verbraucher-,
beruflichen und institutionellen Gebieten benutzt werden kann.
-
Die
Erfindung ist durch die Ansprüche
definiert.
-
Optionale
Merkmale werden nachfolgend dargestellt.
-
Die
Schritte des Bestimmens eines Parameterwerts und des Ausdrückens des
letztgenannten als eine Komponente eines Vektors können fortlaufend
zyklisch durchgeführt
werden, wenn sich das Zeitentwicklungssignal weiterentwickelt, um
fortlaufende Teilrahmen zu belegen, sodass der die Charakteristik
bildende resultierende Vektor eine größere Anzahl Dimensionen während des
Fortschritts des Zeitentwicklungssignals erlangt.
-
Es
kann ein Gestenidentifikationsmodus zum Identifizieren einer analysierten
Geste aus einem Satz im Voraus gelernter Gesten, die in einem Lernmodus
angeeignet wurden, vorgesehen sein, wobei jede gelernte Geste als
ein Charakteristikvektor ausgedrückt
ist, wobei eine Entscheidung über
die Identifizierung einer zu identifizierenden Geste erzeugt wird,
während
diese Geste noch ein aktives Zeitentwicklungssignal verursacht.
-
Jede
gelernte Geste kann eine bestimmte Anzahl von Dimensionen entsprechend
einer bestimmten Anzahl von Teilrahmen haben, über welche diese gelernte Charakteristik
erhalten wurde, wobei die Entscheidung über eine Identifizierung auf
der Basis weniger Teilrahmen, die durch das Zeitentwicklungssignal
der zu identifizierenden Geste belegt werden, relativ zu dieser
bestimmten Anzahl von Teilrahmen erzeugt wird.
-
Das
Verfahren kann ferner einen Gestenlernmodus aufweisen, der für eine gegebene
Klasse einer zu lernenden Geste die Schritte aufweist:
- – Aneignen
eines Satzes von Charakteristiken für diese Klasse von Geste durch
wiederholtes Erzeugen dieser Geste und Erhalten ihrer Charakteristik,
- – Speichern
des Satzes von Charakteristiken, und
- – Speichern
der Entsprechung bezüglich
dieses Satzes von Charakteristiken zu der gelernten Klasse von Gestik
und optional zu einem zu dieser Klasse von Gestik, gehörenden Befehl.
-
Das
Verfahren kann weiter einen Gestenidentifikationsmodus aufweisen,
in dem eine zu identifizierende Geste laufend erzeugt wird, mit
den Schritten:
- – schnelles Erzeugen wenigstens
eines Teilcharakteristikvektors der zu identifizierenden Geste, wobei
der Teilcharakteristikvektor durch die Anzahl von derzeit verfügbaren Parameterwerten begrenzt
ist und dadurch weniger Dimensionen als die gelernten Charakteristikvektoren
hat,
- – Bestimmen,
welche Charakteristik aus den gelernten Charakteristiken am besten
zu diesem Teilcharakteristikvektor passt, für wenigstens einen erzeugten
Teilcharakteristikvektor, und
- – Nutzen
des Ergebnisses dieses Bestimmungsschritts, um eine Entscheidung über die
Identifizierung der zu identifizierenden Geste zu erzeugen.
-
In
einer Variante kann die Entscheidung aus einer Anzahl von Teilcharakteristiken
erzeugt werden, die man über
eine Periode erhält,
die durch eine feste begrenzte Zahl von Teilrahmen, die kleiner
als die Gesamtzahl der zum Erhalten der gelernten Charakteristiken
benutzten Teilrahmen ist, begrenzt ist.
-
In
einer anderen Variante wird die Entscheidung aus einer Anzahl von
Teilcharakteristiken erzeugt, die man über eine Periode erhält, die
eine Anzahl von Teilrahmen abdeckt, welche als Funktion des Ergebnisses
des Bestimmungsschritts, welche Charakteristik aus den gelernten
Charakteristiken am besten zu dem Teilcharakteristikvektor passt,
variabel ist.
-
Vorteilhafterweise
weist das Verfahren ferner einen Schritt des Ableitens eines aus
dem Zeitentwicklungssignal gewonnenen Hüllkurvensignals auf, und der
Parameterwert ist ein Parameterwert dieses Hüllkurvensignals.
-
Zum
Beispiel kann der Parameterwert ein Wert wenigstens eines des
- – Signalpegels
des Hüllkurvensignals,
- – Leistungspegels
des Hüllkurvensignals,
- – Energiepegels
des Hüllkurvensignals
sein,
wobei dieser Wert vorzugsweise über
die Dauer des berücksichtigten
Teilrahmens gemittelt wird.
-
Die
Dauer jedes Teilrahmens in dem Gestenidentifikationsmodus ist vorteilhafterweise
gleich der Dauer seines entsprechenden Teilrahmens im Lernmodus
gemacht.
-
Die
Teilrahmen können
von im Wesentlichen einheitlicher Dauer sein.
-
Das
Verfahren kann ferner den Schritt des Überwachens des Beginns einer
Geste durch Erfassen des Kreuzens eines Schwellenwerts in der Amplitude
des Zeitentwicklungssignals aufweisen, wobei der Start des ersten
Teilrahmens übereinstimmend zur
Zeit des Kreuzens dieses Schwellenwerts gemacht ist.
-
Das
Zeitentwicklungssignal kann ein elektromyographisches Signal von
einem von mehreren Sensoren sein, wobei jeder Sensorausgang als
ein unabhängiger
Kanal verarbeitet wird.
-
Das
Zeitentwicklungssignal kann von wenigstens einem Sensor erhalten
werden, der an einer unteren Gliedmaße, vorzugsweise einem Unterarm und
bevorzugter nahe dem oberen Teil des Unterarms positioniert ist,
um für
eine Geste, einschließlich einer
Bewegung einer Extremität
der Gliedmaße, vorzugsweise
eines Handgelenks, einer Hand oder von Fingern, charakteristische
Signale zu erzeugen.
-
Das
Zeitentwicklungssignal kann von Sensoren an antagonistischen Muskelpositionen
erhalten werden.
-
Das
Verfahren kann zum Befehlen einer Vorrichtung angewendet werden,
bei welchem wenigstens eine Charakteristik entsprechend einem speziellen
Befehl gemacht ist.
-
Die
Geste kann entsprechend einem ausgewählten Auslösebefehl gemacht sein, der
die Vorrichtung in einen Betriebszustand setzt, z.B. Wiedergabe, Überspringen,
Pause, usw..
-
Wenigstens
eine Charakteristik kann aus einer Geste abgeleitet werden, die
aus dem folgenden Satz von Gesten genommen wird:
- – Erzeugen
eines zeigenden Fingers,
- – Erzeugen
einer offenen Hand,
- – Drehen
eines Handgelenks,
- – Bilden
einer Faust,
- – Biegen
eines Handgelenks nach innen,
- – Biegen
eines Handgelenks nach außen.
-
Das
Verfahren kann benutzt werden zum Befehlen eines Medienabspielgeräts mittels
wenigstens einer Befehlsgeste, genommen aus dem folgenden Satz von
Befehlsgesten:
- – Erzeugen eines zeigenden
Fingers, z.B. zum Befehlen von „Wiedergabe",
- – Erzeugen
einer offenen Hand, z.B. zum Befehlen von „Stopp",
- – Drehen
eines Handgelenks, z.B. zum Befehlen von „schneller Vorlauf", „Rücklauf", oder „Liedsuche/schnelle
Wiedergabe",
- – Bilden
einer Faust, z.B. für
Pause/Stummschaltung,
- – Biegen
eines Handgelenks (nach innen), z.B. zum Befehlen von „nächster Titel" oder „Lautstärke erhöhen",
- – Biegen
eines Handgelenks nach außen,
z.B. für „vorheriger
Titel" oder „Lautstärke verringern".
-
Das
Verfahren kann ferner einen Schritt des Erzeugens eines im Wesentlichen
kontinuierlich variablen Befehlsausgangs aus einem Signal, das für eine beim
Erzeugen einer Geste involvierte Muskelaktivität charakteristisch ist, aufweisen.
-
Der
im Wesentlichen kontinuierlich variable Befehlsausgang kann so gemacht
sein, dass er als eine Funktion der natürlichen Oszillationen des Signals,
das für
die beim Erzeugen einer Geste involvierte Muskelaktivität charakteristisch
ist, und/oder als eine Funktion eines Hüllkurvensignals dieses Signals variiert.
-
Der
im Wesentlichen kontinuierlich variable Befehlsausgang kann unabhängig von
einem durch die Gestenidentifizierung erzeugten Befehl sein.
-
Der
im Wesentlichen kontinuierlich variable Befehlsparameter kann so
gemacht sein, dass er eine Größe steuert,
die zu einem durch die Gestenidentifizierung erzeugten Befehl gehört.
-
Das
Signal, aus dem der im Wesentlichen kontinuierlich variable Befehlsausgang
extrahiert wird, und das Signal, aus dem die Charakteristik erhalten
wird, können
von zueinander verschiedenen Muskelbereichen, z.B. von jeweiligen
Armen, abstammen.
-
Das
Signal, von dem der im Wesentlichen kontinuierlich variable Befehlsausgang
extrahiert wird, und das Signal, aus dem die Charakteristik erhalten
wird, können
von gemeinsamen Muskelbereichen, z.B. vom gleichen Arm, abstammen.
-
Die
Erfindung und ihre Vorteile werden aus der folgenden Beschreibung
der bevorzugten Ausführungsbeispiele,
gegeben nur als nicht-einschränkende
Beispiele, unter Bezug auf die beiliegenden Zeichnungen besser verständlich.
Darin zeigen:
-
1 eine
einfach schematische Darstellung einer mit EMG-Sensoren an ihrem
Unterarm ausgerüsteten
Person, die eine entsprechend der Erfindung zu analysierende Geste
ausführt;
-
2 eine
schematische Darstellung, wie eine Charakteristik einer Geste aus
Sensorsignalen entsprechend einem Ausführungsbeispiel der Erfindung
erzeugt wird;
-
3 ein
Flussdiagramm eines Lernmodus in einer Gestenidentifikationsanwendung
gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung;
-
4 ein
Flussdiagramm eines Gestenidentifikationsmodus in einer Gestenidentifikationsanwendung
gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung;
-
5 eine
schematische Darstellung eines Identifikationsmodus gemäß einem
Ausführungsbeispiel,
bei dem der Moment des Ausgangs einer Entscheidung über eine
Identifizierung zeitlich festgelegt ist;
-
6 eine
schematische Darstellung eines Identifikationsmodus gemäß einem
Ausführungsbeispiel,
in welchem der Moment der Ausgabe einer Entscheidung über eine
Identifizierung zeitlich variabel ist;
-
7a bis 7f Beispiele
von sechs unterschiedlichen Hand/Handgelenk-Gesten, die gemäß dem bevorzugten
Ausführungsbeispiel
zum Steuern eines Medienabspielgeräts identifiziert werden können;
-
8 ein
Blockschaltbild eines Ausführungsbeispiels,
das ein Gestenidentifizierungsbefehlssystem bildet, das ein Gestencharakteristikextraktionsverfahren
gemäß der Erfindung
implementiert;
-
9 ein
Blockschaltbild eines Ausführungsbeispiels,
eines Nutzerbiosignal-Befehlsgenerators basierend auf dem System
von 8 mit zusätzlichen
Einrichtungen zum separaten Eingeben von Musikformbefehlen aus Muskelaktivierungssignalen.
-
Bezug
nehmend auf 1 ist eine Person 1 gezeigt,
die eine Geste erzeugt, die gemäß der Erfindung
analysiert wird, wobei die Geste eine Bewegung auf dem Niveau des
Unterarms 1a, des Handgelenks 1b und der Hand 1c eines
Arms involviert. In dem Beispiel platziert die Geste die Hand offen
mit dem im Wesentlichen ungebeugt gehaltenen Handgelenk, um einen
bestimmten Befehl auszudrücken. Die
gesamte Muskelaktivität
beim Erzeugen der Geste wird durch einen Satz von zwei elektromyographischen
(EMG) Sensoren 2a, 2b erfasst, die nahe dem oberen
Ende des Unterarms positioniert sind. Typischerweise sind die Sensoren
angeordnet, um die Signale von antagonistischen Muskeln dieses Bereichs zu
erfassen, z.B. durch ihr geeignetes Anordnen auf der Innenseite
eines tragbaren Bandes 4. Andere Anzahlen von Sensoren
können
verwendet werden.
-
Man
beachte, dass die Bewegung im freien Raum durchgeführt wird,
in dem keine absolute Referenzposition für den Arm oder den Körper eingerichtet
ist: die gleiche Geste kann genauso gut zum Beispiel vor dem Gesicht
erzeugt werden.
-
Die
von jedem der Sensoren gewonnenen Daten werden zum Senden z.B. durch
ein drahtloses Übertragungsprotokoll,
wie beispielsweise „Bluetooth", zu einer Daten gewinnungsschnittstelle 6,
wo die Rohsignale extrahiert und vorverarbeitet werden, digitalisiert
und formatiert. Die Signale werden dann einer Gestenanalyseeinheit 8 zugeführt, wo
eine Korrelation zwischen der aktuell erzeugten Geste und dem Befehl,
den sie ausdrückt,
eingerichtet wird. Das Ergebnis der Korrelation wird zu einer Befehlserzeugungseinheit 10 geschickt,
die diesen Befehl in einer durch die Vorrichtung 12, für die er
bestimmt ist, z.B. ein Medienabspielgerät, verwendbaren Form erzeugt.
-
Die
durch die Gestenanalyseeinheit 8 durchgeführte Grundanalyse
ist in 2 für
das Signal von einem der Sensoren (Sensor 2b in dem Beispiel)
veranschaulicht, wobei es selbstverständlich ist, dass die gleiche
Analyse parallel für
das Signal von jedem anderen Sensor durchgeführt wird. Die vorverarbeiteten
Rohsignale von dem Sensor werden einer Vorverarbeitung durch die
Datengewinnungseinheit 6 unterzogen und als vorverarbeitete
EMG-Signale 14 (nachfolgend als „EMG-Signal" bezeichnet) an die Gestenanalyseeinheit 8 geschickt.
Das EMG-Signal bildet ein Beispiel davon, was allgemein als ein
Zeitentwicklungssignal bezeichnet wird.
-
In
der Gestenanalyseeinheit 8 wird der EMG-Signalpegel fortlaufend überwacht,
um ein Signalanalyseprogramm auszulösen, sobald dieser Pegel einen
ersten vorbestimmten Schwellenwert Sthresh überschreitet. Insbesondere
wird, wenn dieser Schwellenwert Sthresh gekreuzt wird, ein Zeitzählerstarten
vom Zeitpunkt t0 begonnen. Diese Zeit t0 definiert den Start eines
Zeitfensters oder Rahmens F.
-
Die
Hüllkurve 16 des
EMG-Signals wird mittels dem Fachmann wohlbekannter Standard-Signalfiltertechniken
extrahiert.
-
Die
Hüllkurve
ist ein zeitlich variables Signal (typischerweise eine Spannung),
das die Modulation – oder
Schwankung – des
EMG-Signals auf einer wesentlich längeren Zeitachse als die Periodizität normaler
EMG-Signalschwingungen
ausdrückt.
Die Kurvenform der Hüllkurve 16 folgt
allgemein den normalen Spitzen- und Senkenwerten des EMG-Signals 14, wie
dargestellt, oder ist quadratisch. Das EMG-Signal kann anfänglich gleichgerichtet
werden.
-
Beginnend
vom Zeitpunkt t0 wird der Entwicklungsrahmen F in aufeinander folgende
Teilrahmen SF1-SF8 geteilt. Die Zeiten t0 bis t8 an den Grenzen
benachbarter Teilrahmen werden im Voraus gesetzt. In dem Beispiel
hat jeder Teilrahmen SF1-SF8 die gleiche Dauer D; die Dauer muss
jedoch nicht notwendigerweise für
die verschiedenen Teilrahmen einheitlich sein. Diese Dauer ist durch eine
frühere
Analyse von Gesten empirisch festgelegt, und sie wird so eingestellt,
dass wenigstens eine ausgewählte
minimale Anzahl von Teilrahmen während
der Existenz der Hüllkurve 16 erzeugt
zu werden erwartet werden kann. Die Teilrahmen dienen dem Erzeugen
der Charakteristik der Hüllkurve
bezüglich
eines Satzes von Parameterwerten der Hüllkurve, wobei jeder Wert ein
kennzeichnendes Merkmal des Abschnitts der Hüllkurve in seinem entsprechenden
Teilrahmen SF1-SF8 reflektiert. Insbesondere drückt jeder Wert eine Amplitude
entlang einer jeweiligen orthogonalen Dimension eines Merkmalsraums 18 aus,
der ein Vektorraum ist. Die Charakteristik wird somit als eine Vektormenge
bezüglich
eines Ursprungs des Merkmalsraums, typischerweise dem Nullpunkt
aller orthogonalen Dimensionen, ausgedrückt. Daher wird entsprechend
klassischer mathematischer Regeln der Charakteristikvektorraum der
Charakteristik durch einen. Satz von n orthogonalen Einheitsvektoren
si (wobei i alle Werte von 1 bis n annimmt) definiert, wodurch ein
Charakteristikvektor durch einen Punkt S (Psf1.s1, Psf2.s2, Psf3.s3,
..., Psfn.sn) ausgedrückt
wird, wobei jeder Koeffizient Psfi ein Skalarkoeffizient gleich
dem Parameterwert (in Ad-hoc-Einheiten) ist, der für den Abschnitt
der Hüllkurve über den
Teilrahmen SFi bestimmt wird.
-
Im
euklidischen Raum ist die Größe ⎕S⎕ des Charakteristikvektors
vom Ausgangspunkt einfach ⎕S⎕ = [(Psw1)2 + (Psw2)2 + (Psw3)2 + ... + (Pswn)2]1/2.
-
In
dem Beispiel ist der betrachtete Parameter Pi der über die
Zeit gemittelte Signalpegel (Volt) der Hüllkurve 16 für seinen
den entsprechenden Teilrahmen SFi überdeckenden Abschnitt. Das
gemittelte Hüllkurvensignal
kann in einer Vielzahl unterschiedlicher Weisen bewirkt werden,
z.B. durch Mitteln über einen
Satz abgetasteter Signalwerte über
den betrachteten Teilrahmen (in seiner einfachsten Form kann dies
durch einfaches Nehmen des Mittelwerts eines ersten und eines letzten
Signalwerts des Teilrahmens erreicht werden) oder durch Zeitintegration der
Entwicklung des Signals über
den Teilrahmen und Teilen durch die Dauer D.
-
In
abgewandelten Ausführungsbeispielen der
Erfindung kann der Parameter anstelle des Pegels des Hüllkurvensignals
z.B. einer oder eine Kombination der folgenden Werte sein:
- – die
mittlere Leistung der Hüllkurve über dem
betrachteten Teilrahmen (die Hüllkurve 16 wird
in diesem Fall aus dem Quadrat des möglicherweise gleichgerichteten
Rohsignalpegels erzeugt),
- – die
Energie der Hüllkurve,
- – die Änderungsrate
des Signalpegels, der Leistung oder der Energie,
- – usw.
-
Analog
kann die zeitliche Mittelung des Parameters stattdessen durch eine
andere mathematische Eigenschaft ersetzt werden, z.B.
- – den
minimalen oder den maximalen Wert im Teilrahmen,
- – den
Mittelwert über
einen gegebenen Satz von Abtastwerten in dem Teilrahmen,
- – usw.
-
Während die
Hüllkurve 16 eine
bevorzugte Form des Signals 14 bildet, aus der seine Parameterwerte
bestimmt werden sollen, kann in abgewandelten Ausführungsbeispielen
auch erwogen werden, einen Parameter des Signals 14 ohne
Rückgriff
auf ein Ableiten einer Hüllkurve
zu betrachten, wobei der Parameter in diesem Fall direkt aus dem
Signal genommen wird. Dieser Parameter kann auch irgendeiner der
oben genannten Parameter oder eine Frequenzeigenschaft des Signals 14,
z.B. eine mittlere Zeitdauer während
eines Teilrahmens, usw., sein.
-
Die
Charakteristik wird in Echtzeit gewonnen, d.h. fortlaufend, wenn
sich die Hüllkurve 16 zeitlich
entwickelt, um aufeinander folgende Teilrahmen zu belegen. So wird,
sobald sich die Hüllkurve 16 über den
ersten Teilrahmen SF1 hinaus entwickelt hat (zur Zeit t1), der über die
Zeit gemittelte Signalpegel Psf1 der Hüllkurve 16 für diesen
Teilrahmen bestimmt (in Ad-hoc-Einheiten) und in einem speziell der
ersten orthogonalen Dimension des Charakteristikvektors S zugeordneten
Speicherabschnitt gespeichert. Dieser Prozess wird zyklisch wiederholt,
wobei jede Iteration in der Gewinnung des folgenden orthogonalen
Komponentenwerts des Charakteristikvektors S resultiert.
-
Der
Charakteristikvektor S ist graphisch für die ersten drei seiner orthogonalen
Komponenten dargestellt, wobei jeder durch eine jeweilige orthogonale
Achse APsf1, APsf2, APsf3 dargestellt ist, die einen Teil eines
mehrdimensionalen Merkmalsraums 18 (der in Realität n Dimensionen
haben würde)
bilden. Hierbei ist jede Achse APsfi in den Ad-hoc-Einheiten des
bestimmten Parameters gestaffelt. In dieser Darstellung wird die
Größe der Komponente
Psf1 entlang ihrer entsprechenden Achse APsf1 aufgetragen, sobald
diese Größe bestimmt
ist, und allgemeiner wird jede Größe der Komponente Psfi dieser
Darstellung entlang ihrer orthogonalen Achse APsfi graphisch dargestellt.
-
Die
Charakteristik S in dieser Merkmalsraumdarstellung wird als die
Position eines einzelnen Abbildungspunkts bezüglich eines Ursprungs ausgedrückt. Man
beachte, dass dieser Punkt der Merkmalsraumdarstellung beginnt zu
existieren, sobald der erste Größenwert
Psf1 der Vektorkomponente Psf1 bestimmt ist, wobei sich dieser Punkt
in Echtzeit entwickelt, um eine fortlaufend größere Anzahl von Dimensionen
des Merkmalsraums 18 zu belegen, wenn mehr Werte Psfi verfügbar werden.
-
Der
obige Ansatz zum Gewinnen des Charakteristikvektors S der Hüllkurve
in einer steigenden Weise, wenn ein Vektorkomponentengrößenwert verfügbar wird,
ist zum Identifizieren einer Geste in Echtzeit vorteilhaft und macht
es möglich,
gegebenenfalls eine Gestenidentifizierung mit nur einem Teilsatz
des vollen Satzes von n Vektorkomponenten, welche die Hüllkurvensignatur
vollständig
bestimmen, zu erhalten, d.h. bevor alle möglichen zeitlichen Teilrahmen
betrachtet werden, wie unten in mehr Einzelheiten erläutert wird.
-
Beim
parallelen Verwalten von Signalen von mehreren Sensoren 2a, 2b wird
der obige Charakteristikvektorgewinnungsprozess einfach in einer Mehrkanalanalyse
für jede
der entsprechenden extrahierten Hüllkurven kombiniert.
-
Insbesondere
ergeben in dem Beispiel eines Zwei-Sensorsystems die EMG-Signale von jedem der
Sensoren 2a, 2b entsprechende Hüllkurven,
die jeweils in Teilrahmen SF1-SF8 geteilt sind, welche für jede.
der zwei Hüllkurven
gleich sind.
-
Die
drei ergeben dann zusammen zwei jeweilige Parameterwerte Paswi, Pbswi an jedem
Teilrahmen SFi, die jeweils die Größe einer jeweiligen orthogonalen
Komponente des Charakteristikvektors S bilden. Insbesondere hat
die komplette Charakteristik für
n Teilrahmen und j Sensorkanäle
n×j orthogonale Komponenten,
d.h. sie belegt n×j
Dimensionen in ihrer Merkmalsraumdarstellung und wird in Sätzen von j
orthogonalen Vektoren zu einem Zeitpunkt gewonnen. Die komplette
Charakteristik für
die zwei Sensoren ist somit durch S(Pasf1,
Pbsf1, Pasf2, Pbsf2, Pasf3, Pbsf3, ..., Pasfn,
Pbsfn) gegeben, wobei jeder der P-Werte der Koeffizient
(bestimmte Parameterwert) seines entsprechenden Einheitsvektors
(hier der Einfachheit halber nicht angegeben) des Charakteristikvektorraums
ist. Mit anderen Worten wird ein Charakteristikvektor als ein Satz
dieser P-Koeffizientenwerte gespeichert, die gegen ihre entsprechende
Dimension indexiert sind.
-
Es
soll nun erläutert
werden, wie diese Charakteristikbildungstechnik in einer Gestenidentifizierungsanwendung
verwendet werden kann, z.B. zum Erkennen einer Klasse von Gestik,
die aus einem Satz gelernter Gestikklassen analysiert wird. Eine solche
Anwendung weist einen Lernmodus (auch als ein Trainingsmodus bezeichnet)
und einen Identifikationsmodus auf. Hierbei wird der Begriff „Klasse" zum Identifizieren
einer Art von Geste verwendet; in der hier verwendeten Konvention
wird jeder speziellen Art von betrachteter Geste (z.B. Zeigen, Drehen
des Handgelenks, usw.) eine jeweilige, als Gx bezeichnete Klasse
zugeschrieben, wobei das Suffix x ein eindeutiger Identifikator
der Geste ist. Der Prozess beginnt an einer Stufe, wo die Dauer
D und eine Anzahl von Teilrahmen SF bereits experimentell bestimmt worden
sind. Diese Faktoren werden entsprechend der Länge des kompletten Rahmens
F betrachtet, der selbst betreffend den Startschwellenwert Sthresh und
einem Endschwellenwert Tthresh, der dem Abfallen der Hüllkurve
unter einen vorgeschriebenen Pegel entspricht, bestimmt ist.
-
Im
Lernmodus werden die Hüllkurven über alle
vordefinierten Teilrahmen SF1-SF8 analysiert, um so die kompletteste
Form der Charakteristik S für zukünftige Bezugnahme
zu gewinnen. Der Lernmodus ist der überwachte Typ, in dem die Geste
in Bezug zu ihrer als eine Eingabe zugeführten Klasse und gegebenenfalls
zu einem speziellen, der Klasse der Gestik zugeordneten Befehl gelernt
wird.
-
Ein
mögliches
Protokoll für
den Lernmodus ist durch das Flussdiagramm von 3 gegeben. Das
Protokoll beginnt durch Auswählen
der zu lernenden Gestikklasse, bestimmt als Gk (Schritt A2) und
gegebenenfalls des der ausgewählten
Gestikklasse zugeordneten Befehls Ck (Schritt A4), wobei diese die überwachten
Lernparameter bilden. Dann führt
eine mit dem Elektrodenarmband 4 ausgestattete Person die
Geste der entsprechenden Klasse aus (Schritt A6), und die 2n-dimensionale
Charakteristik dieser Geste wird bestimmt (Schritt A8). Die 2n Dimensionen
in diesem Beispiel werden über
die n Teilrahmen SF1-SFn für
jeden der zwei Sensoren 2a, 2b entwickelt. Die
Schritte A6 und A8 werden in einer bestimmten Anzahl von Zeiten
y ausgeführt
(Schritt A10), und die so erhaltenen y Charakteristiken S1, S2,
S3, ..., Sy werden in einem Speicher gespeichert (Schritt A12).
In der Praxis sind die gespeicherten Größen die wie oben beschrieben
gewonnenen Parameter für
jede der Charakteristiken. Die Figur zeigt die gespeicherten Charakteristikinhalte
für eine
der Charakteristiken S1, wobei diese aus den 2n Werten S(Pasf1, Pbsf1; Pasf2, Pbsf2; Pasf3, Pbsf3; ...;
Pasfn, Pbsfn) zusammengesetzt
sind.
-
Der
Speicher speichert ferner die Entsprechung zwischen dem Satz von
Charakteristiken {S1, S2, S3, ... Sy} und i) der ausgewählten Klasse
von Gestik Gk und ii) dem ausgewählten
Befehl Ck (Schritt A12). Die resultierenden Entsprechungen werden
in dem Speicher gespeichert, wie im Kasten MS dargestellt.
-
Mit
anderen Worten enthält
der Speicher eine indexierte Entsprechungstabelle, welche die Charakteristikvektoren
S1-Sy, die Geste Gx und den Befehl Cx miteinander verbindet.
-
In
Anwendungen, wo die Gestenidentifizierung nicht für Befehlszwecke
benutzt wird, kann die obige Entsprechung zum Befehl Cx einfach
ignoriert werden.
-
Der
obige Prozess wird in der gleichen Weise für jede neue Klasse von zu lernender
Gestik ausgeführt.
Somit sollte es im allgemeinen Fall von m verschiedenen Klassen
gelernter Gestik unter der Annahme, dass jede Klasse über die
gleiche Anzahl von y wiederholten Gesten abgetastet wird, insgesamt
m×y gespeicherte
Charakteristiken geben, welche gemeinsam das gelernte Werk bilden,
jede mit einer Entsprechungstabelle korrelierend zu einer bestimmten
Geste und, wenn die Anwendung es erfordert, zu einem bestimmten
Befehl.
-
Für jede Klasse
von Gestik Gx liegen die y Charakteristikvektoren, während sie
aufgrund natürlicher
menschlicher Widersprüchlichkeiten
nicht identisch sind, nichtsdestotrotz in einem gemeinsamen Bereich
von Vektorwerten. In einer Merkmalsraumdarstellung würde dieser
gemeinsame Bereich einem Cluster von y Punkten entsprechen, die
für die
gelernte Geste Gx graphisch aufgetragen sind. Die gelernten Charakteristikpunkte
eines Clusters sollten vorzugsweise die geringstmögliche Varianz
zeigen.
-
Es
wird in der Lernphase sichergestellt, dass die m obigen Bereiche
gut getrennt sind – oder äquivalent,
dass die m entsprechenden Cluster im Merkmalsraum gut getrennt sind – um zu
gewährleisten, dass
jede der gelernten Gesten klar unterschieden werden kann.
-
Wenn
einmal eine erforderliche Anzahl von Gesten wie oben gelernt worden
ist, kann der Gestenidentifikationsmodus gestartet werden. In diesem Modus
wird eine erzeugte Geste – nachfolgend
als eine „Kandidatengeste" (oder zu identifizierende Geste)
Gc bezeichnet – analysiert,
um ihre Klasse G zu bestimmen. Einmal identifiziert, kann die Geste dann
zum Senden eines entsprechenden Befehls C oder zum Erzeugen irgendeiner
Rückkopplung
oder einer anderen Antwort benutzt werden.
-
Der
Identifikationsmodus weist das Extrahieren des Charakteristikvektors
Sc der Kandidatengeste unter den gleichen Parametereinstellungen
wie im Lernmodus auf. Insbesondere werden die Takte und Dauern D
der im Lernmodus benutzten Teilrahmen für den Identifikationsmodus
beibehalten. Wie nachfolgend erläutert,
werden jedoch im Allgemeinen nur einige der Teilrahmen berücksichtigt,
weshalb die Identifikation auf einer Teilform der Charakteristik
für die
Kandidatengeste basiert.
-
Dann
wird eine Vergleichstechnik, typischerweise eine Nächste-Nachbar-Analyse,
auf diese Teilcharakteristik Sc angewendet, um eine beste Übereinstimmung
zwischen den Charakteristiken des gelernten Werks zu bestimmen.
Die Kandidatencharakteristik Sc wird dann so beigeordnet, dass sie einen
Ursprung der gleichen Klasse von Gestik wie die eine passende Charakteristik
im gelernten Werk besitzt.
-
Der
Kernaspekt der Gestenidentifikationsroutine gemäß einem Ausführungsbeispiel
ist durch das Flussdiagramm von 4 für einen
Sensorkanal gezeigt, wobei klar ist, dass der gleiche Prozess parallel
für alle
aktiven Sensoren angewendet werden kann.
-
Der
Prozess startet durch Erfassen des Beginns einer zu identifizierenden
Geste Gc unter Bezug auf das Kreuzen des Schwellenwerts Sthresh (Schritt
A14). Die erforderlichen Daten zum Bestimmen des Hüllkurvenparameters
werden auf einer kontinuierlichen Basis zur Verwertung abgetastet
und gesammelt (Schritt A16), und ein dem i-ten Teilrahmen SFi zugeordneter
variabler Index i wird auf 1 gesetzt (Schritt A18). Der Moment,
wenn der aktuelle Teilrahmen SFi endet, wird erfasst (Schritt A20),
und der Parameterwert Psfi für
den Hüllkurvenabschnitt dieses
Teilrahmens SFi wird bestimmt (Schritt A22). Dieser Wert ist der
Koeffizient seines zugeordneten Einheitsvektors, um den Charakteristikvektor
Sc zu bilden (Schritt A24). Es wird dann eine Nächste-Nachbar-Analyse ausgeführt, die
die Vektortrennung zwischen der aktuellen Form des Kandidatencharakteristikvektors
zu den Charakteristikvektoren des gelernten Werks vergleicht. Man
beachte, dass die Analyse nur für
die teilweise belegten Dimensionen gemacht wird, d.h. die ersten
i Vektorkomponenten. In einer Mehrkanalsituation würden die
Komponenten von den anderen Sensoren in Schritt A24 in die in Schritt
A26 durchgeführte
Nächste-Nachbar-Analyse
integriert werden. In der Nächste-Nachbar-Analyse
werden die Charakteristiken des gelernten Werks in einer beschränkten Form
verwertet, um die gleiche Anzahl von Dimensionen wie die gerade analysierte
Charakteristik Sc zu haben, unter Verwendung von Standard-Techniken.
-
Die
den so identifizierten nächsten
Nachbarn im gelernten Werk beigeordnete Klasse der Gestik wird für eine spätere Bezugnahme
aufgezeichnet (Schritt A28).
-
Der
Prozess geht dann zurück
zu Schritt A20, um die obigen Vorgänge am nächsten Teilrahmen zu wiederholen.
-
Man
beachte, dass die Schritte A14 bis A24 auch eingesetzt werden können, um
Charakteristikvektoren im Lernmodus zu gewinnen, diesen Schritten
folgen dann z.B. Schritt A10 ff. von 3.
-
Es
kann eine Randbedingung hinzugefügt werden,
wodurch der euklidische Abstand im Vektorraum zwischen der Kandidatencharakteristik
Sc und der am besten passenden Charakteristik des gelernten Werks
einen vorbestimmten Grenzwert ⎕ nicht überschreiten darf. Dies dient
dem Herausfiltern von falschen oder unzureichend identifizierbaren
Gesten, die sonst zu einer unakzeptablen Identifikationsfehlerrate
führen
könnten.
-
In
dem Beispiel erhält
man die Bestimmung der besten Übereinstimmung
in der Nächsten-Nachbar-Analyse
(Schritt A26) durch eine Routine, die die Trennung zwischen dem
Kandidatencharakteristikvektor Sc und jedem der Charakteristikvektoren
des gelernten Werks berechnet und dann den Charakteristikvektor
des gelernten Werks auswählt,
für den
die Trennung am kleinsten ist.
-
Es
erfolgt ein Entscheidungsalgorithmus (Schritt A30), nachdem eine
Anzahl von nächsten Nachbarn
durch Iterationen von Schritt A28 identifiziert worden sind. Sein
Zweck ist das Erzeugen einer Entscheidung durch Wählen eines
nächsten
Nachbarn des gelernten Werks aus den jeweiligen nächsten Nachbarn,
die durch Iterationen von Schritt A28 bestimmt wurden, wobei diese
nicht notwendigerweise gleich sind.
-
Wenn
dieser Algorithmus einmal seine Wahl getroffen hat, wird die dieser
Nächste-Nachbar-Charakteristik
beigeordnete Klasse von Gestik aus dem entsprechenden Eintrag in
der Entsprechungstabelle abgerufen und dem Kandidatencharakteristikvektor zugeordnet
(Schritt A32).
-
Man
beachte, dass in bevorzugten Ausführungsbeispielen die Suche
zur Identifizierung der Kandidatencharakteristik schnell, d.h. in
Echtzeit ausgeführt
wird, wie man aus der Zeitachse auf der rechten Seite von 4 sehen
kann. Hierbei kann man sehen, dass das Ergebnis der NächsteNachbar-Analyse
(Schritt A28) im Wesentlichen erhalten wird, sobald sein entsprechender
Zeitrahmen abgeschlossen ist, innerhalb einer kleinen Verzögerung y entsprechend
der Ausführungszeit
für die
Schritte A20-A28. Mit anderen Worten wartet der Prozess nicht, den
kompletten Satz von Vektorkomponenten des Kandidatencharakteristikvektors
zu haben, bevor die Nächste-Nachbar-Analyse
oder eine äquivalente Übereinstimmungstechnik
ausgeführt
wird. Dies folgt der Beobachtung der Anmelderin, dass in einer typischen
Praxissituation, wenn es unwahrscheinlich ist, dass der erste Teilrahmen
eine ausreichend zuverlässige
Identifizierung bereitstellt, um eine Klasse von Gestik zu unterscheiden,
eine Klasse nichtsdestotrotz häufig
identifiziert werden kann, bevor die Hüllkurve der Kandidatengeste
den Endschwellenwert Tthresh erreicht hat.
-
In
einer Form wird dies erreicht, indem im Voraus eingerichtet wird,
dass eine Entscheidung über die
Identifizierung auf der Basis eines begrenzten Satzes der Teilrahmen
aus den n Teilrahmen, die die Entwicklung der Hüllkurve für die Kandidatengeste abdecken,
getroffen werden muss. Zum Beispiel kann erzwungen werden, dass
eine Entscheidung auf der Basis der aus den ersten r aufeinander
folgenden Zeitrahmen, beginnend vom ersten SF1, mit r < n, genommenen Parameterwerten
erreicht werden muss.
-
Diese
Form der Ausführung
ist durch 5 für den Fall von r = 4 Teilrahmen
veranschaulicht.
-
Sobald
der Parameterwert für
den ersten Teilrahmen SF1 gewonnen ist, wird der entsprechende Teilcharakteristikvektor
S für die
erste Dimension eingerichtet. Dieser Wert wird einem Vergleich (Nächste-Nachbar-Analyse A26)
mit den Charakteristikvektoren des gelernten Werks, wie oben erläutert, für die entsprechende
Dimension unterzogen.
-
Das
Ergebnis dieses frühen
Vergleichs wird in Bezug auf die entsprechende Geste für die beste Übereinstimmung
aufgezeichnet.
-
Der
obige Vorgang wird wiederholt, sobald der Parameterwert für den nächsten Teilrahmen
SF2 gewonnen ist. In diesem Fall wird der entsprechende Teilcharakteristikvektor
für sowohl
die erste als auch die zweite orthogonale Dimension eingerichtet.
Das Ergebnis des zweiten Vergleichs wird analog aufgezeichnet.
-
Der
Prozess wird so für
jeden Teilrahmen bis zu einschließlich dem Teilrahmen SFr mit
dem der Identifizierung unterzogenen Charakteristikvektor, der jedes
Mal mit den bereits gewonnenen Komponenten gebildet wird, ergänzt durch
die aktuell gewonnene Komponente, fortgesetzt.
-
Wenn
alle r Teilrahmen SF1-SFr so verarbeitet worden sind, gibt es einen
Satz von r Identifikationsergebnissen zur Verfügung, aus denen eine Endentscheidung
erzeugt wird (Entscheidungsalgorithmus A30). Die Entscheidung kann
durch verschiedene Entscheidungsalgorithmen und statistische Techniken
erzeugt werden. Ein Gewichtungskoeffizient kann basierend auf der
Tatsache, dass aufeinander folgend erhaltene Ergebnisse zuverlässiger werden, da
sie mehr Parameterwerte einschließen, ebenfalls angewendet werden.
-
Das
obige ist ein Beispiel, bei dem das Ende des Identifikationsentscheidungsprozesses
zeitlich festgelegt ist (die zum Ausgeben wenigstens einer ersten
ausgegebenen Entscheidung verwerteten Datengewinnungen enden zur
Zeit tr). Ein Vorteil davon ist die Garantie, dass man eine Entscheidung
nach einer bekannten und konstanten Zeitdauer ab dem Moment t0 hat.
-
Gemäß einem
anderen Ansatz ist der Moment der Entscheidung in der Identifizierung
zeitlich variabel, wobei der Moment eher durch die Konsistenz der
derzeit zur Verfügung
stehenden Ergebnisse bestimmt wird.
-
Diese
Form der Ausführung
ist durch 6 veranschaulicht.
-
Hierbei
ist der Prozess bezüglich
des Einrichtens der Charakteristikvektorkomponenten für aufeinander
folgende Teilrahmen und jede eine Gestenidentifikation erzielende
Zeit wie oben. In diesem Fall werden jedoch die fortlaufend erhaltenen
Identifikationsergebnisse schnell verglichen. Wenn einmal bestimmt
ist, dass die zur Verfügung
stehenden Ergebnisse entsprechend voreingerichteten Regeln hauptsächlich zu
einer bestimmten Klasse von Gestik tendieren, wird die Entscheidung
zum Identifizieren der Kandidatengeste zu dieser Klasse von Gestik erzeugt.
Die Entscheidung wird so zur Verwertung am Schluss einer variablen
Anzahl von verarbeiteten Teilrahmen ausgegeben, wobei diese Anzahl
von der Konsistenz der gesammelten Identifikationsergebnisse abhängt. Die
Entwicklung der Eingabe zum Charakteristikvektor ist in 6 durch
den Pfeil SA dargestellt. Wenn dieser Pfeil im Verlauf der Teilrahmen zeitlich
fortschreitet, erlaubt er entsprechend mehr Vektorkomponenten von
den jeweiligen Zeitrahmen in die Nächste-Nachbar-Analyse A26 und
die Entscheidungsanalyse A30, bis zu der Zeit, wenn der Letztgenannte
in der Lage gewesen ist, eine Entscheidung über eine Identifizierung zu
treffen. Dieser Ansatz hat den Vorteil des Sicherns einer gleichmäßig hohen
Identifikationszuverlässigkeit
durch Gewähren
von mehr abgetasteten Teilrahmen für Signale, die zunächst weniger
konsistent gefunden wurden.
-
In
beiden Ansätzen
können
Vektorkomponenten von weiteren Teilrahmen der Nächste-Nachbar-Analyse unterzogen
werden, z.B. um eine Möglichkeit
des Korrigierens einer früheren
fehlerhaften Entscheidung, die zuvor ausgegeben worden ist, vorzusehen.
-
In
allen Ansätzen
wird eine optische oder akustische Meldung an die Person geschickt,
um die Geste zu wiederholen, falls die erhaltenen Ergebnisse es
nicht erlauben, eine zufriedenstellende Entscheidung am Schluss
aller r Teilrahmen (zeitgebundene Variante) oder des kompletten
Rahmens F (Variante des variablen Moments der Entscheidungsausgabe)
zu erzeugen, z.B. falls zu viele Ergebnisse aus der Zwangsgrenze ⎕ herausfallen.
-
Die
so geleistete Möglichkeit
des Erzeugens einer Entscheidung über eine identifizierte Kandidatengeste
sobald eine zufriedenstellende Korrelation mit einer Klasse des
gelernten Werks gefunden worden ist, trägt deutlich zur Geschwindigkeit
der Identifikation und zum Verleihen des Eindrucks einer hochreaktiven
und intuitiven Gestikschnittstelle für die Person bei.
-
Die
Gestenidentifizierung gemäß der Erfindung
ist besonders gut zum Identifizieren von auf dem Niveau der Hand
und des Handgelenks ausgedrückten
Gesten geeignet.
-
Zum
Beispiel zeigt jede der 7a bis 7f eine
eines Satzes von Gesten, die mit ausgezeichneter Zuverlässigkeit
unter Verwendung der oben beschriebenen Gestenidentifikationstechnik identifiziert
und unterschieden werden können,
um zum Beispiel ein Medienabspielgerät wie beispielsweise ein persönliches
oder ein Komponentensystem-Audiokompaktdisk (CD) – oder Kassettenabspielgerät, VCR,
PC-Musikabspielgerät,
usw. zu befehlen.
-
In
dem gezeigten Beispiel ist jede Geste einem bestimmten Transportbefehl
des Kompaktdisk-Abspielgeräts
wie folgt zugeordnet:
- a) Zeigender Finger
⎕ Wiedergabe,
siehe 7a,
- b) Offene Hand
⎕ Stopp, siehe 7b,
- c) Handgelenk drehen (entweder im Uhrzeigersinn oder im Gegenuhrzeigersinn)
⎕ Schneller
Vorlauf/Liedsuche (d.h. schnelles Abspielen einer CD, um schnell über eine
Spur zu gelangen) s. 7c,
- d) Formen einer Faust
⎕ Pause oder Stummschaltung
(s. 7d),
- e) Handgelenk biegen (schnelle Drehung des Handgelenks nach
innen)
⎕ Sprung zum nächsten Titel, s. 7e,
- f) Handgelenk dehnen (schnelle Biegung des Handgelenks nach
außen)
⎕ Sprung
zum vorherigen Titel, s. 7f.
-
Es
wurde durch die Anmelderin herausgefunden, dass die obigen sechs
Gesten besonders kluge Auswahlen hinsichtlich ihres intuitiven Ausdrucks,
der Einfachheit ihrer Ausführung
im freien Raum und der Möglichkeit
der guten Unterscheidung voneinander durch die obige Gestenidentifikationstechnik
darstellen.
-
8 zeigt
in einer vereinfachten schematischen Blockdarstellung die Funktionseinheiten
eines kompletten Systems zum Ausführen von Befehlen aus Gesten
entsprechend der Erfindung.
-
Die
Sensoren 2a, 2b und 2c (die auch nur zwei
sein können)
sind in einer Manschette 4 angeordnet, die zusätzlich ein
Bluetooth-Drahtlosschnittstellenmodul 20 (mit Antenne)
zum Senden der EMG-Rohsignale und eine Batterie 22 zum
Aktivieren des Letztgenannten und der Sensoren enthält. Alternativ
können
die Sensorsignale durch ein anderes Drahtlosprotokoll oder über eine
Drahtverbindung gesendet werden. In dem Beispiel enthält das Armband
die gesamte tragbare Hardware für
die Gestenidentifikation. Demgemäß beinhaltet
das Bluetooth-Schnittstellenmodul 20 auch einen Analog/Digital-Umsetzer
zum Digitalisieren der Rohsensorsignale vor dem Formatieren und
Senden. In einem abgewandelten Ausführungsbeispiel ist das Armband durch
Enthalten nur der Sensoren 2a-2c vereinfacht, wobei
diese mit einer separaten tragbaren Einheit, wie beispielsweise einem
Hüftgurt,
drahtverbunden sind. Der Hüftgurt
weist die Batterien für
die tragbare Hardware, die Analog/Digital-Umsetzungsstufe für die Sensorsignale
und das Bluetooth-Protokollmodul auf.
-
Am
Empfangsende werden die gesendeten EMG-Rohsignale durch eine Bluetooth-Schnittstelle 24 erfasst,
von der sie zu Filter- und Verstärkungssteuerstufen 26 bzw. 28 zur
Vorverarbeitung geschickt werden. Die Einheiten 24-28 entsprechen
der Datengewinnungsschnittstelle 6 von 1.
-
Die
Hüllkurve 16 des
vorverarbeiteten EMG-Signals 14 erhält man durch eine Hüllkurvenextraktionseinheit 30,
und sie wird zu einer Rahmenstart/enderfassungseinheit 32 sowie
zu einer Mittlerer-Signalpegel-Bestimmungseinheit 34 geschickt. Die
Rahmenstart/Enderfassungseinheit 32 dient dem Einrichten
des kompletten Rahmens F, in dem die Hüllkurve entwickelt werden kann,
d.h. der Zeit des Beginns und des Endes des Rahmens, wie durch das Kreuzen
der Schwellenwerte Sthresh und Tthresh bestimmt.
-
Die
Rahmenstart/Enderfassungseinheit 32 arbeitet mit einer
Teilrahmenverwaltungseinheit 36 zusammen, deren Funktion
das Einrichten der verschiedenen Teilrahmen SF1, SF2, ... ist. Diesbezüglich ist
die Teilrahmenverwaltungseinheit zum Schneiden eines Rahmens in
die (in Bezug auf Anzahl und Dauer) für eine optimale Identifizierung
geeigneten Teilrahmen programmierbar. Diese Einheit 36 sendet
weiter Signale an die Mittlerer-Signalpegel-Bestimmungseinheit 34,
um die Zeitgrenzen t0, t1, t2, t3, ... der nacheinander betrachteten
Teilrahmen anzugeben. Die Mittlerer-Signalpegel-Bestimmungseinheit 34 berechnet
so den Signalpegel der über
Intervalle entsprechend der Dauer D der Teilrahmen gemittelten Hüllkurve 16 entsprechend
den zugeführten
Zeitgrenzen.
-
Jedes
Mal, wenn man einen mittleren Signalpegelwert für einen Teilrahmen erhält, wird
er zu einer EchtzeitCharakteristikvektor-Bildungseinheit 38 geschickt,
wobei die Letztgenannte die Charakteristik Sc in einer inkrementalen
Weise erzeugt. Die so erhaltene Charakteristik wird sowohl zu einer
Charakteristikspeichereinheit 40 zum Aufbauen eines Archivs
von Charakteristiken, insbesondere im Lernmodus zum Bilden des gelernten
Werks, als auch zu einer Charakteristikvergleichs/identifikationseinheit 42, die
die Nächste-Nachbar-Analyse
oder ein Äquivalent
durchführt,
geschickt.
-
Die
letztgenannte Einheit greift in Echtzeit auf die Speichereinheit 40 zum
Ausführen
einer Nächsten-Nachbar-Analyse oder eines
anderen äquivalenten
Vergleichs zwischen der aktuellen Charakteristik und den gespeicherten
Charakteristiken zu.
-
Die
Charakteristikvergleichs/identifikationseinheit 42 gibt
in Echtzeit die zugeordnete Klasse von Gestik des so identifizierten
nächsten
Nachbarn an eine Entscheidungseinheit 44 aus, die den oben
beschriebenen Entscheidungsalgorithmus durchführt. Die Letztgenannte gibt
ihre Wahl der Entscheidung in Bezug auf eine ausgewählte identifizierte
Klasse von Gestik an die Befehlsformatierungseinheit 10 dieses Befehls
aus. Die Letztgenannte formatiert den Befehl in eine durch die gesteuerte
Vorrichtung 12, z.B. einen CD-Player in der Figur, erkennbare
Form. Die Formatierungseinheit sieht weiter eine Kommunikationsschnittstelle
mit einem Kommunikationsanschluss 46 der gesteuerten Vorrichtung
vor, wobei dieser Anschluss z.B. auch eine Bluetooth-Schnittstelle, eine
Infrarot- oder eine Radiofrequenz-Schnittstelle oder sogar eine Drahtverbindung
mit der Befehlsformatierungseinheit 10 sein kann.
-
Die
Befehlsformatierungseinheit 10 kann verschiedene Befehlsformate
und Kommunikationsprotokolle speichern, um so den stromaufwärtigen Teil 6, 8 der
Gestenvorrichtung universal auf verschiedene Arten und Modelle von
gesteuerten Vorrichtungen 12 anwendbar zu machen.
-
Die
Gesamtfunktion der gesamten Vorrichtung wird durch eine Zentralverwaltungseinheit 48 mit
Speichern, einer CPU und der notwendigen Steuerung, Schnittstellenplatten,
usw., wie man sie z.B. in einem Personal Computer findet, abgewickelt.
-
Die
verschiedenen Betriebsparameter des Gestenidentifikationssystems 100 sind
mittels einer Nutzerkonfigurationsschnittstelle 50 mit
z.B. einem PC mit einem Datenaustauschanschluss zur Zentralverwaltungseinheit 48 konfigurierbar.
-
Der
Softwarecode zum Ausführen
wenigstens einiger der verschiedenen Funktionen, die durch die oben
beschriebenen Einheiten 2 bis 50 ausgeführt werden,
ist in einem Softwarecode-Träger 52, beispielsweise
einer CD-ROM oder dergleichen, enthalten.
-
Der
Letztgenannte ist in ein geeignetes Lesegerät der Zentralverwaltungseinheit 48 einschiebbar,
wodurch sein Softwarecode, der ein ausführbares Programm enthält, geladen
werden kann, um die Gestenidentifikation – oder einige Aspekte davon – wie oben
beschrieben auszuführen.
-
Die
FMG-Rohsignale – oder
andere Signale, die eine Muskelaktivität ausdrücken – können auch separat oder in Kombination
mit der oben beschriebenen Gestenanalysetechnik verwendet werden,
um kontinuierlichere Formen von Befehlen oder Signaleingaben zu
einem reagierenden System auszudrücken, wie mit dem Beispiel
von 9 veranschaulicht, die die Architektur eines biosignal-gesteuerten, persönlichen
Musiksystems 60 zeigt.
-
Dieses
System besteht aus einem Nutzerbiosignalbefehlsgenerator 62 und
einem Musikabspielgerät 64,
wie beispielsweise einem CD-Player mit Toneffekt-Verarbeitungsmöglichkeit.
-
In
dem Beispiel beinhaltet der Nutzerbiosignal-Befehlsgenerator 62 die Vorrichtung
der 1 und 8, d.h. den Satz von Sensoren 2a-2c,
das Sensorträgerarmband 4 (nachfolgend
als „erstes Armband" bezeichnet), die
Datengewinnungsschnittstelle 6, die Gestenanalyseeinheit 8 und
die Befehlserzeugungseinheit 10. Diese Systemkomponenten 2-10 sind
angeordnet, um eine Befehlsgestenidentifikation für die Gesten
der 7a bis 7f durch
die oben unter Bezug auf 1 bis 8 beschriebene
Technik auszuführen.
Auf diese Weise kann ein Benutzer die erforderlichen Transportbefehle
(Wiedergabe, Stopp, Liedsuche, Pause, nächster Titel, vorheriger Titel,
...) durch Bewirken der entsprechenden Gesten (zeigender Finger,
offene Hand, drehendes Handgelenk, schließende Faust, beugendes Handgelenk,
streckendes Handgelenk) dem Musikgenerator 64 (über seine
Befehlseingabeschnittstelle 66) senden. Auf diese Befehle
wird dann in der üblichen Weise
durch den Transportmechanismus 68 des Musikabspielgeräts, das
einen Motorantrieb und zugehörige
Servoantriebe enthält,
reagiert.
-
Parallel
kann der Benutzer Musikformbefehle, d.h. Befehle, die Eigenschaften
des durch das Musikabspielgerät 64 erzeugten
Tons beeinflussen, eingeben. Diese Formbefehle werden ursprünglich ebenfalls
aus Muskelfasern genommen und dann durch einen zweiten Satz von
EMG-Sensoren 2a', 2b' und 2c' erfasst, die
in einem zweiten Armband 4' ähnlich dem
ersten Armband enthalten sind. Typischerweise werden das erste und
das zweite Armband 4 und 4' an verschiedenen Unterarmen getragen,
die in dem Beispiel willkürlich
als linker bzw. rechter Unterarm ausgewählt sind.
-
Die
Ausgänge
des zweiten Satzes von Sensoren 2a'-2c' werden zu jeweiligen Eingangskanälen der
Datengewinnungsschnittstelle 6 unter Verwendung eines Bluetooth-Protokolls
geschickt, wie für das
erste Armband 4. An dieser Schnittstelle 6 werden
sie vorverarbeitet, um geeignet geformte rechte EMG-Rohsignale 14' entsprechend
dem rechten Arm (bezeichnet als „EMG-Signal des rechten Arms") zu erzeugen. Das
EMG-Signal des rechten Arms 14' wird sowohl direkt zu einer Musikformeinheit 70 als auch
zur Hüllkurvenextraktionseinheit 30 der
Gestenanalyseeinheit 8 geschickt. Hierbei ist die Hüllkurvenextraktionseinheit 30 mit
zusätzlichen
Kanälen
ausgestattet, um die jeweiligen Hüllkurven 16' (bezeichnet
als „Hüllkurven
des rechten Arms")
aus den eingegebenen EMG-Signalen des rechten Arms 14' der jeweiligen
Sensoren zu extrahieren und diese Hüllkurven des rechten Arms 16' direkt zu entsprechenden
Eingängen
der Musikformeinheit 10 zu liefern.
-
Die
Letztgenannte ist programmiert, um charakteristische Eigenschaften,
die von einem oder beiden des vorverarbeiteten EMG-Rohsignals des
rechten Arms 14' und
der Hüllkurven
des rechten Arms 16' zu
analysieren und zu extrahieren, die sie so empfängt. Zum Beispiel können diese
Eigenschaften die Frequenz, die Amplitude, die Zeitschwankung, die
Leistung, die Energie, usw. aller oder ausgewählter Signale 14' und 16' sein, die der
Musikformeinheit 70 zugeführt werden. Aus diesen Eigenschaften
erzeugt die Musikformeinheit 70 entsprechende Tonbeeinflussungsbefehle,
beispielsweise Filtern, Rhythmus aufdrängen oder erzeugen, Taktextraktion
(zur Temposteuerung), spezielle Toneffekte, wie beispielsweise Widerhall,
Diskjockey-Effekte (beispielsweise Scratching, Rückwärtswiedergabe, usw.) und dergleichen.
Sie formatiert diese Tonbeeinflussungsbefehle dann zum Senden an
die Befehlseingabeschnittstelle 66, von der sie einer Tonverarbeitungseinheit 72 des
Musikabspielgeräts 64 eingegeben werden.
Die Befehle von der Befehlserzeugungseinheit 10 und der
Musikformeinheit 70 können
durch ein drahtloses Bluetooth-Protokoll, eine Infrarot- oder Funkverbindung
oder durch eine Drahtverbindung an die Befehlsschnittstelle 66 des
Musikabspielgeräts geschickt
werden.
-
Die
Tonverarbeitungseinheit 72 führt die empfangenen Tonbeeinflussungsbefehle
aus, um die geforderte Formung zu erzeugen. Der resultierende Ton,
bestehend aus dem auf der abgespielten CD (oder einem anderen Medium)
aufgezeichneten Ton mit der so erzeugten Formung, wird dann durch
einen Verstärker 74 und
zu Lautsprechern 76 und/oder einem Kopfhörerausgang 78 geschickt.
-
Obiges
ist ein Beispiel einer im Wesentlichen kontinuierlich variablen
Befehlsausgabe, in diesem Fall extrahiert aus dem Signal des zweiten
Armbands 4',
die nicht mit den durch die Gestenidentifizierung erzeugten Befehlen,
in diesem Fall extrahiert aus dem Signal des ersten Armbands 4,
in Bezug steht.
-
In
anderen Ausführungsbeispielen
und Anwendungen kann jedoch der stufenlos variable Befehlsparameter
stattdessen so gemacht sein, dass er direkt auf einen durch die
Gestenidentifizierung erzeugten begleitenden Befehl getragen ist.
Dies kann auf verschiedene Weisen erreicht werden.
-
Zum
Beispiel:
- a) durch Verwenden separater Muskelbereiche z.B.
von einem rechten und einem linken Unterarm unter Verwendung des
in 9 gezeigten Aufbaus. Als ein Beispiel kann die
identifizierte Befehlsgeste das Zeigen eines Fingers sein, erkannt
zum Befehlen eines Wiedergabemodus, während die separate Geste für die stufenlos
variable Größe den Lautstärkepegel
des Abspielmodus oder die Stelle entlang eines Titels, wo der Abspielmodus
beginnen sollte, einstellt. In einer anzeigebasierten Anwendung
kann es ein ähnlicher
Ansatz einem zeigenden Finger ermöglichen, das Einschalten einer
Hintergrundbeleuchtung zu bestimmen, während die Geste für die stufenlos
regelbare Größe den Hintergrundbeleuchtungsintensitätswert einstellen
würde.
Ein weiteres illustratives Beispiel ist ein Bandvorlauf-oder Rücklaufbefehl
durch die Gestenanalyse und eine wariable Geschwindigkeit, die durch die
separat erzeugte Befehlsgeste der stufenlos gesteuerten Größe bestimmt
wird; und/oder
- b) durch Verwenden im Wesentlichen der gleichen Muskelbereiche,
sodass die gleiche Geste dem Erzeugen von Signalen für sowohl
den identifizierten Gestenbefehl als auch zum Ausdrücken der
im Wesentlichen stufenlos variablen Größe, die diesem Befehl zugeordnet
wird, zu erzeugen. Als ein Beispiel kann das frühere Beispiel einer Geste eines
zeigenden Fingers vorgenommen werden, um sowohl den Wiedergabemodus
einzustellen als auch den Wiedergabepegel oder die Wiedergabestartposition
zu bestimmen, wobei letztere als eine Funktion der Intensität der Geste (Geschwindigkeit,
Dynamik, Spannung oder Amplitude), wie sie direkt aus den Sensorsignalen und
ihrer Hüllkurve
erfasst wird, bestimmt werden. In diesem kombinierten Gestenansatz
können
die gleichen Sensoren für
sowohl den Befehl als auch die zugeordnete im Wesentlichen variable
Größe verwendet
werden, woraufhin die als 14 und 14' bezeichneten Signale und die als 16 und 16' bezeichneten
Hüllkurven
jeweils dieselben werden.
-
Die
Analyse des Sensorsignals 14' und/oder seiner
Hüllkurve 16' zum Erzeugen
eines stufenlos variablen Befehlsausgangs kann einfach das Ableiten
eines Intensitätswerts
oder eines anderen Parameters, wie beispielsweise eines solchen,
der für
den Parameter beim Erhalten einer Charakteristik für die gesamte
oder einen Teil der Dauer der entsprechenden Geste verwendet wird,
mit sich bringen.
-
Es
ist klar, dass die vorliegende Erfindung in vielen Formen hinsichtlich
Anwendungen, Software- und Hardwareumsetzungen, Sensortechnologie, Sensorpositionierung,
zu analysierende Gestik, zu erzeugende Befehle oder Rückkopplung,
usw. praktiziert werden kann.
-
Ferner
kann die komplette Hardware zum Durchführen der Gestenidentifizierung
und der Befehlsausführungsfunktion
(d.h. die Einheiten 2 bis 12) in einer tragbaren
Form (mit geeigneter Anpassung der Datenübertragungsverbindungen, Falls
erforderlich) implementiert werden. Die befohlene Vorrichtung kann
zum Beispiel ein tragbarer Computer, ein persönlicher digitaler Assistent,
ein Monitor, ein Medienabspielgerät, eine medizinische Vorrichtung
oder dergleichen sein.
-
Zusätzlich zu
den oben bereits beschriebenen Anwendungen und Realisierungen kann
die Erfindung Verwendung finden in:
- – Konsumelektronik:
Medienabspielgeräte,
Videospiele, Musikinstrumentensteuerung, Befehlen von Hausgeräten (Lampen,
Küchen-
und Gartenausrüstung,
Tonverteilung, motorisierte Vorrichtungen, usw.),
- – berufliche
Elektronik: Aufnahmestudios, Bühnenbeleuchtungssteuerung,
usw.,
- – Kunstformen:
Steuern von Musikinstrumenten, graphische Animation, Farberzeugung,
DJ-Toneffekte (Scratchen, Mischen, Überblenden, usw.),
- – institutionelle
Umgebungen: Unterricht (Analysieren von Spielstielen, Körperausdruck,
usw.),
- – Gesundheit
und Pflege: automatische Interpretation von Zeichensprache zur Niederschrift
durch Sprachsynthese oder Anzeige von Zeichen oder getippten Wörtern,
- – Industrie:
Steuerung von Online-Prozessparametern, Maschinen, Signalübertragung
durch Gesten,
- – Transport:
Steuern von Land-, Luft- oder Seefahrzeugen durch Gestenbefehle,
- – Befehl,
Kontrolle und Intelligenz,
usw.