-
Die Erfindung betrifft eine Laufzeitkamera (TOF-Kamera - Time of Flight), insbesondere eine PMD-Kamera, und ein Verfahren zum Betreiben einer Kamera, wie in den unabhängigen Ansprüchen dargelegt.
-
Der Ausdruck „Laufzeitkamera“ soll nicht nur Systeme beinhalten, die die Distanz direkt anhand der Laufzeit messen, sondern auch und insbesondere alle Laufzeitkamerasysteme oder 3D-TOF-Kamerasysteme, die Laufzeitinformationen aus der Phasenverschiebung von emittierter und empfangener Strahlung erfassen. Besonders gut geeignete Laufzeitkameras sind PMD-Kameras mit Fotomischdetektoren (PMD - Photonic Mixer Devices) von dem Typ, der unter anderem in der europäischen Patentanmeldung
EP 1 777 747 A1 , dem US-Patent
US 6,587,186 B2 und der deutschen Patentanmeldung
DE 197 04 496 A1 beschrieben wird und beispielsweise kommerziell von der Firma „ifm electronic gmbh“ unter dem Namen Frame Grabber 03D erhältlich ist. Insbesondere gestattet eine PMD-Kamera eine flexible Anordnung der Lichtquelle und des Detektors, die in einem Gehäuse und auch getrennt angeordnet werden können.
-
Die MOLINA, Javier, et al. Real-time user independent hand gesture recognition from timeofflight camera Video using static and dynamic models. Machine Vision and applications, 2013, 24. Jg., Nr. 1, S. 187-204 beschreibt ein Verfahren zur Erkennung von Handgesten mit Hilfe einer TOF-Kamera. Das Verfahren extrahiert relevante Merkmale und klassifiziert sie anhand von Merkmals-Diskriminatoren.
-
KOLLORZ, Eva, et al. Gesture recognition with a time-of-flight camera. Int. J. Intell. Syst. Technol. Appl., 2008, 5. Jg., Nr. 3/4, S. 334-343 zeigt ebenfalls eine Gestenerkennung mit einer TOF-Kamera und verwendet zur Klassifizierung der Gesten eine x- und y-Projektion der mittels 3D-Kamera erfassten Gesten.
-
Die Aufgabe der Erfindung besteht in der Verbesserung der Zuverlässigkeit der Objekterkennung.
-
Diese Aufgabe wird vorteilhafterweise durch die Laufzeitkamera gemäß der Erfindung und durch das Verfahren gemäß der Erfindung zum Betreiben einer derartigen Kamera gemäß den unabhängigen Ansprüchen gelöst.
-
Die vorliegende Erfindung wird nachstehend auf der Basis der beispielhaften Figuren noch ausführlicher beschrieben. Die Erfindung ist nicht auf die Ausführungsbeispiele beschränkt. Alle hierin beschriebenen und/oder dargestellten Merkmale können alleine oder kombiniert in unterschiedlichen Kombinationen in Ausführungsformen der Erfindung verwendet werden. Die Merkmale und Vorteile von verschiedenen Ausführungsformen der vorliegenden Erfindung ergeben sich durch Lektüre der folgenden ausführlichen Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen, die Folgendes darstellen:
-
Folgendes wird schematisch gezeigt:
- 1 - das Grundprinzip einer Laufzeitkamera gemäß dem PMD-Prinzip
- 2 - Flussdiagramm der Datenaufzeichnung für ein Klassifikatortraining,
- 3 - Flussdiagramm Klassifikatortraining,
- 4 - Flussdiagramm Gestenerkennung.
-
Die Gestenerkennung ist ein aktiver Forschungsbereich beim computergestützten Sehen aufgrund seiner enormen Anwendbarkeit. Die Erkennung nichtverbaler Gesten findet breite Anwendung für die Mensch-Computer-Interaktion, die Zeichensprachenerkennung, das Virtual Gaming, die Maschinensteuerung in der Industrie usw.
-
Die Hauptidee der Erfindung besteht in dem Erkennen statischer Gesten, insbesondere ASL-Gesten (American Sign Language Gesture) unter Verwendung einer PMD-Laufzeitkamera (TOF-Kamera). Anhand von Tiefeninformationen wird eine Hand aus dem Hintergrund segmentiert. Ein Handsegmentierungsalgorithmus basiert auf der einzelnen Annahme, dass die die Gesten vollführende Hand das der Kamera am Nächsten befindliche Objekt ist. Weiteren Informationen wie etwa die Hautfarbe, Markierungen für die Hand oder eine spezielle Aufzeichnung werden nicht benötigt.
-
Obwohl die Handsegmentierung auf der Tiefe basiert, modulieren danach extrahierte Formmerkmale inhärent die Form der Hand. Um die Forminformationen der Hand zu erfassen, werden Gradientengrößenmerkmale extrahiert, die lokale Tiefenvariationen modellieren. Die Kernel-Diskriminantenanalyse (KDA) wird für die Dimensionalitätsreduktion und die nachfolgende Klassifizierung verwendet. KDA wird als Kernel-Hauptkomponentenanalyse (KPCA - Kernel Principal Component Analysis), gefolgt von einer linearen Diskriminanzanalyse (LDA), implementiert. KPCA ist ein effizientes Werkzeug für das Manifold Learning und die nichtlineare Dimensionalitätsreduktion, die die Daten unter Verwendung von Kernels in einen sehr hochdimensionalen Raum abbildet. Über PCA wird dann die niedrigdimensionale Abbildung gefunden.
-
Support Vector Machines (SVM) verwenden ebenfalls Kernels, doch besitzt KPCA dadurch einen zusätzlichen Vorteil, dass sie die relevantesten Merkmale aus den Daten findet. Auf die durch KPCA gefundenen Merkmale wird die lineare Diskriminanzanalyse LDA angewendet, um die Abbildungsrichtung zu finden, die Klassen maximal trennt. Ein einfacher, auf dem Klassenmittel basierender Klassifikator wird in einem niedrigdimensionalen Raum implementiert, um einen Testpunkt zu klassifizieren. Versuchsergebnisse zeigen, dass dieser Ansatz beim Klassifizieren von ASL-Gesten recht effektiv ist.
-
Die Hauptherausforderung bei einer 2D-Kamera ist die Segmentierung der Hand vom Hintergrund. Die meisten der Ansätze verwenden die Hautfarbe, um eine Hand vom Hintergrund zu segmentieren. Das Problem ist jedoch aufgrund von Hautfarbenvariationen zwischen Personen, Beleuchtungsvariationen und Rauschen nichttrivial. Die Ähnlichkeit von Hintergrundfarbe und Hautfarbe reduziert die Präzision der Handdetektion. In einer Situation, wenn ein Teil der Hintergrundfarbe der Hautfarbe ähnlich ist, ist es hier wahrscheinlich, dass aufgrund der Farbähnlichkeit viele Hintergrundpixel fälschlich als Hautpixel klassifiziert werden.
-
Es ist wichtig, eine Hand von einem Hintergrund zu segmentieren, um eine präzise Klassifizierung einer Geste zu ermöglichen. Der PMD-Sensor schließt auf die Tiefe der Szene auf der Basis des Laufzeitprinzips und verwendet eine Infrarotlichtquelle. Er beleuchtet die Szene mit dem modulierten Lichtsignal. Das reflektierte Signal wird an jedem Pixel erfasst. Er berechnet dann die Korrelationsfunktion des übertragenen Signals und des empfangenen Signals. Die Phasenverschiebung zwischen dem übertragenen und empfangenen Signal besitzt die Informationen über die Tiefe bei einem Pixel. Die Korrelationsfunktion wird beispielsweise an vier mit 90-Grad-Phasenverschiebungen getrennten Punkten gemessen. Die entsprechenden vier Messungen seien A
1, A
2, A
3 und A
4. Der Phasenwert, der proportional zur Tiefe an einem Pixel ist, wird wie folgt berechnet.
-
Der Tiefenwert bei einem Pixel wird dann erhalten als
wobei c die Lichtgeschwindigkeit ist, f
mod die Modulationsfrequenz ist und D die Tiefe in Metern ist. Man beachte, dass die maximale Tiefe, die gemessen werden kann, von der Modulationsfrequenz abhängt. Niedrigere Modulationsfrequenzen entsprechen einer Erhöhung der maximalen Tiefe, die gemessen werden kann. Die Modulationsfrequenz beträgt in unserem Fall 20 MHz. Dies ermöglicht die Tiefe bis zu 7,5 Meter präzise zu messen. Die Amplitude a des empfangenen Signals kann berechnet werden als
-
Es ist wichtig, die Amplitude (die auch der Stärke entspricht) des empfangenen Signals zu betrachten, da sie geeignet ist zuverlässige Tiefenschätzwerte zu identifizieren. Ein niedrigerer Amplitudenwert zeigt einen weniger zuverlässigen Tiefenschätzwert an und umgekehrt. Deshalb werden nur Pixel-Tiefenwerte betrachtet, die einen Amplitudenwert besitzen, der größer ist als ein vordefinierter Schwellwert. Der Amplitudenschwellwert wird experimentell ermittelt.
-
1 zeigt eine Messsituation für eine optische Distanzmessung mit einer PMD-Laufzeitkamera von dem Typ, der beispielsweise aus der deutschen Patentschrift
DE 197 04 496 bekannt ist.
-
Das PMD-Laufzeitkamerasystem 1 umfasst eine Emittiereinheit oder ein Beleuchtungsmodul 10 mit einer Beleuchtungsquelle 12 und einem strahlformenden optischen System 15 sowie einer Empfangseinheit bzw. einer TOF-Kamera 20 mit einem empfangenden optischen System 25 und einem Laufzeitsensor 22. Der Laufzeitsensor 22 besteht aus einem Pixelarray und ist insbesondere als ein PMD-Sensor konfiguriert. Im Hinblick auf das Verbessern der Bildgebungseigenschaften besteht das empfangende optische System 25 typischerweise aus mehreren optischen Elementen. Das strahlformende optische System 15 der Emittiereinheit 10 ist bevorzugt als ein Reflektor konfiguriert.
-
Das Messprinzip dieser Anordnung basiert im Wesentlichen auf der Tatsache, dass die Laufzeit des emittierten und reflektierten Lichts auf der Basis der Phasenverschiebung des emittierten und empfangenen Lichts bestimmt werden kann. Zu diesem Zweck versorgt ein Modulator 30 die Lichtquelle 12 sowie den PMD-Sensor 22 mit einer Modulationsfrequenz in einer ersten Phasenlage. Gemäß der Modulationsfrequenz emittiert die Lichtquelle 12 ein amplitudenmoduliertes Signal mit der Phase a. Im vorliegenden Fall wird dieses Signal bzw. die elektromagnetische Strahlung von einem Objekt 40 reflektiert und trifft aufgrund der zurückgelegten Wegstrecke phasenverschoben mit einem zweiten Phasenwinkel b auf den PMD-Sensor 22. Im PMD-Sensor 22 wird das Signal des ersten Phasenwinkels a des Modulators 30 mit dem empfangenen Signal gemischt, das den zur Laufzeit in Beziehung stehenden zweiten Phasenwinkel b besitzt, wodurch die Phasenverschiebung oder die Objektdistanz D auf der Basis des resultierenden Signals bestimmt wird.
-
Erfindungsgemäß wird angenommen, dass die Hand das nächstliegende Objekt vor der Kamera ist. Um eine Hand vom Hintergrund zu segmentieren, wird das Pixel mit dem kleinsten Tiefenwert Min
Depth gesucht. Min
Depth sei der kleinste Tiefenwert. Da alle Handpixel bezüglich Raum und Tiefe nahe liegen, werden die Pixel segmentiert, die folgender Gleichung genügen:
-
Der kleinste Tiefenwert MinDepth wird der nächstliegende Punkt einer erkannten Hand sein. Es kann angenommen werden, dass eine statische Geste beispielsweise in den nächsten 50 mm stattfindet. Unter den segmentierten Pixeln wird nur die verbundene Komponente mit der größten Fläche berücksichtigt.
-
Obwohl die Handsegmentierung auf der Tiefe basiert, wird die Form der Hand, während die Klassifizierung durchgeführt wird, inhärent durch die Formmerkmale modelliert, die aus der Tiefen-Handsegmentierung extrahiert wurden.
-
Zum Modellieren der Form der Hand wird auf die Gradientengrößenmerkmale zurückgegriffen. Ein Gradient liefert bessere Formhinweise, da hiermit lokale Tiefenvariationen erfasst werden. Gradientengrößen werden aus den segmentierten Tiefenbildern extrahiert, indem sie mit einem Sobel-Gradientenoperator gefaltet werden. Um den Effekt von Rauschen zu reduzieren, wird bevorzugt ein 3 × 3-Medianfilter auf die Tiefenkarte angewendet, bevor Gradientengrößen berechnet werden.
wobei I
x und I
y horizontale und vertikale Gradientenbilder anzeigen.
-
Die Größe des Gradienten wird dann berechnet als
-
Um eine rechnerische Überlastung zu vermeiden, werden Gradientenbilder innerhalb der „bounding box“ für die Trainingstiefenkarte berechnet. Gradientengrößenbilder werden dann größenmäßig beispielsweise auf 90 × 90 Pixel verändert, in Spaltenvektorform umgewandelt, Mittel-normalisiert und eine Einheitsvarianz ermittelt. X bezeichne die Trainingsdatenmatrix und I die entsprechenden Markierungen.
-
Die Erfindung verwendet eine Kernel-Diskriminanzanalyse (KDA) für die Dimensionalitätsreduktion an dem Trainingsdatensatz. Man beachte, dass jede Spalte von X einen Merkmalsvektor bezeichnet. Die Trainingsdatenmatrix X besitzt somit die Abmessung von n × m, wobei n die Anzahl der Merkmale ist und m die Anzahl der Trainingsbeispiele ist. Für die Kernel-PCA wird die Kovarianzmatrix berechnet als
wobei
X eine Mittel-zentrierte Trainingsdatenmatrix bezeichnet. Die Eigenwerte und Eigenvektoren von C werden berechnet durch Lösen der Eigenwertsgleichung als
wobei υ einen Eigenvektor von C bezeichnet. Eigenwerte werden in der absteigenden Reihenfolge angeordnet und die ersten wenigen Eigenvektoren werden als Basis für den niedrigerdimensionalen Raum verwendet. Eigenmerkmale werden durch Projizieren der Beispiele auf diese Basisvektoren berechnet. Man beachte, dass die Gradientenbilder der gewählten Merkmalsvektoren eine Größe von 90x90 haben und somit die Gesamtzahl an Merkmalen 8100 beträgt. Deshalb muss das Eigenwertproblem für das Berechnen von Eigenvektoren für eine 8100 × 8100-Matrix gelöst werden, was zu einer großen Anzahl an Berechnungen führt. Die Kernel-PCA liefert ein effizientes Werkzeug für die Dimensionalitätsreduktion, wobei die Anzahl an Dimensionen viel größer ist als die Anzahl an Datenpunkten.
-
Bei Kernel-PCA werden Daten zuerst auf einen sehr hochdimensionalen Merkmalsraum abgebildet, d.h. unter Verwendung einer Abbildung
-
Eine lineare PCA wird dann im Merkmalsraum F durchgeführt. Die Kovarianzmatrix im Merkmalsraum lautet
wobei Φ die Merkmalsvektoren von X im hochdimensionalen Merkmalsraum F sind. Das Eigenwertproblem wird nun
-
Die Dimension, in der eingegebene Merkmalsvektoren abgebildet werden, ist sehr hoch (manchmal unendlich), und es ist sehr aufwändig, die Abbildung zu berechnen. Unter Verwendung des Kemel-Tricks muss die nichtlineare Abbildung nicht explizit berechnen werden. Das gleiche Ziel kann durch Verwenden der Kernel-Funktion erreicht werden:
wobei der Kernel-Wert ker (x
i, x
j) dem Punktprodukt von Vektoren im höherdimensionalen Raum entspricht.
-
Die Kernel-Funktion misst die Ähnlichkeit zwischen Datenpunkten. Ein höherer Kernel-Wert zeigt eine größere Ähnlichkeit an und umgekehrt. Im vorliegenden Fall wird ein Gauss-Kernel verwendet. Die positive definite Kernel-Matrix wird für einen Trainingsdatensatz unter Verwendung des Gauss-Kernels berechnet. Jeder Eintrag K
i,j dieser Matrix wird mit der Kernel-Funktion ker(x
i, x
j) berechnet.
wobei σ die Spreizung des Gauss-Kernels definiert. Der angebrachte Wert von σ für den Datensatz wird mit Versuchen gewählt. K sei die Gram-Matrix, d.h. die Kernel-Matrix für Mittel-zentrierte Daten im Merkmalsraum. Die Eigenwertgleichung für K wird dann geschrieben als
-
Mit ψ = (1, ..., m) und Λ = diag(1, ..., m). ψ ist eine orthogonale m × m-Eigenvektormatrix und Λ ist eine diagonale Eigenwertmatrix mit diagonalen Elementen in abnehmender Reihenfolge.
-
Um sicherzustellen, dass Eigenvektoren der Kernel-PCA eine Einheitsform im Merkmalsraum besitzen, gilt
-
Die Kernel-PCA-Merkmale für den Trainingsdatensatz werden dann berechnet als
wobei K die eingegebene Kernelmatrix, wie in der Gleichung zuvor berechnet, bezeichnet. Man beachte, dass die Dimension von KPCA-Merkmalen gleich einer Anzahl von Trainingspunkten (m) ist. Alle KPCA-Merkmale für die weitere Berechnung werden gespeichert.
-
Die Kernel-PCA ist von nichtüberwachter Natur, da sie Klassenmarkierungen nicht berücksichtigt, während die Daten in niedrigere Dimensionen projiziert werden. Die Diskriminanzanalyse (LDA - Linear Discriminant Analysis) projiziert die Daten in den Richtungen, um die Varianzzwischenklassen zu maximieren und die Varianz innerhalb von Klassen zu minimieren. Unter Verwendung der KPCA-transformierten Merkmale P und der entsprechenden Markierungen für jeden Trainingsdatenpunkt werden die Zwischenklassenstreumatrix S
B und die Gesamtklassenstreumatrix S
T berechnet als
wobei c die Gesamtzahl an Klassen, h, die Anzahl an Trainingsproben der i-ten Klasse, m
i einen mittleren Vektor für die i-te Klasse, m
0 den Mittelwert aller Spaltenvektoren von P und A die Eigenwertmatrix, wie in Gleichung 14 berechnet, bezeichnet.
-
Die oberen d (d ≤ c - 1) Eigenvektoren der Matrix
werden berechnet. β = (β
1 ... β
d) soll die Eigenvektormatrix mit den oberen d Eigenvektoren als Spalten bezeichnen. Somit beträgt die Größe der β-Matrix m × d. Dann werden Kernel-Diskriminanzmerkmale für den Trainingsdatensatz berechnet als
wobei Z die Kernel-Diskriminanzmerkmalsmatrix bezeichnet und jede Zeile von Z der niederdimensionale Merkmalsvektor ist.
-
Hinsichtlich des Klassifikatortrainings wird, wenn Daten in den niederdimensionalen Raum projiziert werden, das Mittel jeder Klasse unter Verwendung des Markierungsvektors L zusammen mit Z berechnet. µi bezeichnet den Mittelwert der i-ten Klasse. Um einen Testpunkt zu klassifizieren, wird ein einfacher Ansatz auf der Basis der Euklidischen Distanz verwendet.
-
Um einen Testmerkmalsvektor in einen niederdimensionalen Raum zu projizieren, wird ein Kernel-Wert bezüglich aller Trainingsproben unter Verwendung von Gleichung 13 berechnet. α bezeichne den Kernel-Wert-Testvektor.
-
Die Dimensionen von α sind mx1. Dann werden Kernel-Diskriminanzmerkmale t für den Testpunkt berechnet als
-
Nachfolgend wird die Distanz der Projektion vom Mittelwert aller Klassen berechnet. Ein Testpunkt wird einer Klasse mit der kleinsten Distanz zugewiesen.
-
Falls die kleinste Distanz des Punkts von einer Klasse über einem Schwellwert liegt, wird der Punkt dann als ein Ausreißer angesehen. Dadurch wird dieser Ansatz robust gegenüber einer Fehlklassifizierung unter dem Szenarium, wenn anstelle einer Hand irgendein anderes Objekt vor der Kamera erscheint. Der Testpunkt wird sich in diesem Fall aufgrund eines anderen Formmerkmalvektors als ein Ausreißer bemerkbar machen.
-
Für jede einzelne Geste sollten 200 Trainingstiefenabbildungen mit einer Hand in unterschiedlichen Tiefen und verschiedenen Orientierungen für das Aufzeichnen ausreichen. Gradientengrößenmerkmale sind auch gegenüber Skalenvariationen empfindlich. Da die Gradientenbilder größenmäßig auf 90x90 Pixel umgeändert werden, wirken sich die Effekte von Skalenvariationen nur noch reduziert auf die Leistung aus. Die KPCA-Merkmale von Trainingsdaten werden gesucht und Kernel-Diskriminanzmerkmale unter Verwendung entsprechender Klassenmarkierungen berechnet. Da die Anzahl von Klassen im vorliegenden Fall 16 beträgt, beträgt die Dimension der Kernel-Diskriminanzmerkmale 15.
-
Die Erfindung schlägt einen neuartigen Ansatz vor, um statische ASL-Handgesten unter Verwendung von Tiefeninformationen zu erkennen, die aus PMD-Kameras erfasst wurden. Erfindungsgemäß wird die Hand von dem Hintergrund auf der Basis der empfangenen Signalamplitude und der Pixeltiefenwerte segmentiert.
-
Gradientengrößenmerkmale werden zum Modellieren der Form der Hand verwendet. Für eine Dimensionalitätsreduktion wird eine Kernel-Diskriminanzanalyse (KDA) verwendet und eine nachfolgende Klassifizierung im niederdimensionalen Raum durchgeführt.
-
Versuchsergebnisse zeigen, dass der erfindungsgemäße Ansatz statische ASL-Gesten recht effektiv erkennt. Eine zehnfache Kreuzvalidierungspräzision für statische ASL-Gesten betrug 99,8%. Obwohl das vorgeschlagene Verfahren für die ASL-Gestenerkennung bestimmt ist, ist der Ansatz von recht generischer Natur und kann auf eine beliebige statische Gestenerkennungsanwendung mit einem entsprechenden Trainingsmerkmalsatz angewendet werden. Tatsächlich würde es genauso gut für die Szenarien funktionieren, bei denen eine Klassifizierung auf der Basis der Form eines Objekts involviert ist, wie etwa einer Ganganalyse, einer Robotersteuerung usw.
-
2 zeigt ein mögliches Lernverfahren bzw. Teaching zum Betreiben einer PMD-Laufzeitkamera. Zuerst wird in Schritt 100 der Teachingprozess aktiviert. Die zu trainierende Geste wird im Schritt 110 vor der Kamera gezeigt. Die Geste, die eine statische Geste sein soll, sollte derart vorgenommen werden, dass die ganze Geste gesehen werden kann und die Amplitude hoch genug ist.
-
Während des Durchführens der Geste werden die Tiefe und die Amplitude bei jedem Sensorpixel in Schritt 120 berechnet. Das resultierende Tiefenbild wird in Schritt 130 analysiert, um eine Handsegmentierung auszuführen, wie weiter oben beschrieben. Im folgenden Schritt 140 werden die Gradientengrößenmerkmale extrahiert und zusammen mit einer die Geste spezifizierenden Klassenmarkierung gespeichert. Die Trainingsbilder werden vor der Merkmalsextraktion bevorzugt größenmäßig auf eine 90 × 90-Matrix geändert. Demzufolge würde die Größe der Trainingsmatrix n × m betragen, wobei n eine Anzahl von Merkmalen ist (die in unserem Beispiel 8100 beträgt) und m eine Anzahl aufgezeichneter Trainingsproben ist. Die Klassenmarkierungen müssen während der Trainingsphase durch den Benutzer bereitgestellt werden.
-
Nach dem Speichern kann die nächste Geste aufgezeichnet werden. In Schritt 150 kann entschieden werden, ob weitere Gesten trainiert werden sollten oder nicht. In der Praxis könnte es ein Licht- oder ein akustisches Signal oder eine Anzeige-GUI geben, die zeigt, dass das Kamerasystem bereit ist, eine neue zu trainierende Geste zu akzeptieren. Man zeigt einfach eine neue Geste und die Kamera zeichnet auf. Ohne neue gezeigte Geste stoppt die Aufzeichnung oder man stoppt die Aufzeichnung manuell und der Trainingsprozess endet im Schritt 160.
-
Bevorzugt werden, wie in 3 gezeigt, nach dem Aufzeichnen aller Gesten die Gradientengrößenmerkmale zusammen mit Klassenmarkierungen in einem Schritt 200 in einen Speicher für eine Kernel-Diskriminanzanalyse (KDA) und für ein Mapping bzw. für eine Berechnung einer Abbildungsfunktion in Schritt 210 geladen. In diesem Schritt wird die KDA-Prozedur an den geladenen Merkmalen durchgeführt, um niederdimensionale Daten und eine entsprechende Abbildungsfunktion zu berechnen. Nach dem Berechnen werden die KDA-Merkmale für den Trainingssatz und die berechnete Abbildungsfunktion im Schritt 220 gespeichert. Die Größe der Abbildungsfunktionsmatrix beträgt m × d, wobei m die Anzahl der aufgezeichneten Trainingsproben und d die Anzahl zurückgehaltener KDA-Merkmale ist. Der Wert von d ist immer kleiner oder gleich (c-1), wobei c die Anzahl von Klassen bezeichnet.
-
4 zeigt ein Flussdiagramm der beanspruchten Gestenerkennung. Zuerst wird die Erkennung in Schritt 300 bevorzugt zusammen mit der der Kamera selbst aktiviert. Die Gestenerkennung in Schritt 310 und die folgenden Schritte laufen im Wesentlichen kontinuierlich mit der gegebenen Bildrate ab. Dies ist möglich, da nachdem das Training der Gesten durchgeführt wurde, die Elemente, die an der Klassifizierung der Gesten beteiligt waren, wenig Rechenaufwand benötigen. Die Leistung kann weiter verbessert werden, wenn für die Gradientenmerkmalsextraktion ein niederdimensionaler Sobel-Operator, beispielsweise ein 3 × 3-Sobel-Operator, verwendet wird. Dann wird der Kernel-Wert mit bereits gespeicherten Trainingsmerkmalen berechnet. Mit dem mittelgroßen Trainingssatz (z.B. <=5000 Datenpunkte) ist dieser Prozess rechnerisch weniger aufwändig. Im Fall eines sehr großen Trainingssatzes kann ein Ansatz wie etwa eine Zufallsabtastung durchgeführt werden, um die Größe des Trainingssatzes zu reduzieren, was die rechnerische Belastung reduziert. Das Auffinden von KDA-Merkmalen für den Testvektor beinhaltet eine Matrixmultiplikation eines Vektors mit einer Abbildungsfunktion, was ebenfalls effizient ausgeführt werden kann.
-
Die folgenden Schritte Tiefen-/Amplitudenberechnung 320, Handsegmentierung 340 und Extraktion340 entsprechen im Wesentlichen den zuvor beschriebenen Schritten 120, 130 und 140 der Gestenaufzeichnung. Danach wird in Schritt 350 der Kernel-Wert unter Berücksichtigung des Trainingsgradientengrößenmerkmalssatzes berechnet und im folgenden Schritt 360 werden die KDA-Merkmale für die Testprobe unter Verwendung der in Schritt 210 aus dem Klassifikatortraining erhaltenen Abbildungsfunktion berechnet. Am Ende ist in Schritt 370 die Geste unter Verwendung eines nächstgelegenen Klassifikators am Trainingssatz-KDA-Merkmal klassifiziert.