-
Die vorliegende Erfindung betrifft ein Auswertungsverfahren für eine Folge von zeitlich aufeinander folgenden Tiefenbildern, die jeweils mindestens eine Person von vorne zeigen.
-
Die vorliegende Erfindung betrifft weiterhin ein Computerprogramm, das Maschinencode umfasst, der von einem Rechner unmittelbar abarbeitbar ist und dessen Abarbeitung durch den Rechner bewirkt, dass der Rechner ein derartiges Auswertungsverfahren ausführt.
-
Die vorliegende Erfindung betrifft weiterhin einen Rechner, der derart programmiert ist, dass er im Betrieb ein derartiges Auswertungsverfahren ausführt.
-
Die vorliegende Erfindung betrifft weiterhin eine Auswertungseinrichtung,
- – wobei die Auswertungseinrichtung eine Kameraeinrichtung zur Erfassung einer Folge von zeitlich aufeinander folgenden Tiefenbildern aufweist,
- – wobei die Auswertungseinrichtung einen Rechner aufweist, der mit der Kameraeinrichtung zur Entgegennahme und Auswertung der von der Kameraeinrichtung erfassten Bilder datentechnisch verbunden ist.
-
In unterschiedlichsten Anwendungsgebieten ist es oftmals sinnvoll, einen Rechner über Gesten zu steuern, d.h. berührungslos statt über Tastatur und Maus. Ein Beispiel eines derartigen Anwendungsgebiets ist die Medizin, bei der der Arzt beispielsweise im sterilen Operationssaal keine Tastatur verwenden kann. Ein weiteres Beispiel ist eine Gruppe von Ärzten, die bei einer Diagnose oder bei einer Operationsplanung gemeinsam vor einem großen Display stehen. Jeder Arzt bzw. allgemeiner jede Person soll effizient und ohne Ablenkung exakt markieren, die Darstellung anpassen oder Aktionen auslösen können.
-
Ähnliche Probleme stellen sich für Arbeitsumgebungen, die entweder sehr sauber sein müssen (beispielsweise Reinräume) oder aber sehr schmutzig sind (beispielsweise Industriehallen).
-
Gestensteuerung ist als Solche bekannt. Ein Überblick über den Stand der Technik findet sich in dem Fachaufsatz „Gesture Recognition: A Survey" von Sushmita Mitra und Tinku Acharya, IEEE Transactions on Systems, Man, and Cybernetics, Part C, Applications and Reviews, Vol. 37, No. 3, May 2007, Seiten 311 bis 324.
-
Im Stand der Technik erfolgt die Gestensteuerung alternativ berührungslos (meist durch Bildauswertung von Kamerabildern) oder mit der Notwendigkeit spezieller Kleidung oder Markierungen. In manchen Fällen müssen beispielsweise spezielle Handschuhe oder Controller in bzw. an der Hand getragen werden.
-
Einem breiten Publikum ist das Konzept durch den Film „Minority Report" aus dem Jahr 2002 bekannt geworden. In kommerziellen Produkten ist die Gestensteuerung im letzten Jahrzehnt in Form der WII Spielkonsole bekannt geworden.
-
In jüngster Zeit ist auch das Produkt „Kinect“ der Firma Microsoft auf den Markt gekommen. Dieses Produkt stellt einen Sensor zuzüglich Auswertungssoftware zur Verfügung, welcher eine berührungslose Steuerung kostengünstig realisiert. Die dort verwendeten Auswertungsverfahren erfordern jedoch vom Bediener zu Beginn eine spezielle Kalibriergeste.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, Möglichkeiten zu schaffen, mittels derer auf einfache und zuverlässige Weise eine berührungslose Steuerung durch geeignete Hand- und Armbewegungen möglich ist. Insbesondere soll ein vorheriges Kalibrieren nicht erforderlich sein.
-
Die Aufgabe wird durch ein Auswertungsverfahren mit den Merkmalen des Anspruchs 1 gelöst. Vorteilhafte Ausgestaltungen des erfindungsgemäßen Auswertungsverfahrens sind Gegenstand der abhängigen Ansprüche 2 bis 18.
-
Erfindungsgemäß ist bei einem Auswertungsverfahren der eingangs genannten Art vorgesehen,
- – dass in den Tiefenbildern jeweils mindestens ein Bereich personenähnlicher Kontur ermittelt wird und der jeweilige Bereich personenähnlicher Kontur der Person zugeordnet wird,
- – dass ein Basispunkt des Bereichs personenähnlicher Kontur im dreidimensionalen Raum ermittelt wird,
- – dass ein Offsetvektor bestimmt wird,
- – dass der vom Basispunkt ausgehende Offsetvektor eine Komponente aufweist, die in Bezug auf die Person nach vorne zeigt,
- – dass derjenige Teil des Bereichs personenähnlicher Kontur, der durch eine Grenzfläche des dreidimensionalen Raums vom Basispunkt getrennt ist, als gemeinsamer Armbereich der Person definiert wird,
- – dass die Grenzfläche den Offsetvektor enthält, spiegelsymmetrisch zu einer den Offsetvektor enthaltenden Vertikalebene verläuft und jeder Punkt der Grenzfläche vom Basispunkt mindestens um die Länge des Offsetvektors beabstandet ist,
- – dass innerhalb des gemeinsamen Armbereichs Einzelarmbereiche ermittelt werden,
- – dass jeder Einzelarmbereich durch diejenigen Punkte im dreidimensionalen Raum bestimmt ist, die zu mindestens einem anderen Punkt desselben Einzelarmbereichs einen Abstand aufweisen, der kleiner als ein Minimalabstand ist, und zu allen anderen Punkten des gemeinsamen Armbereichs einen Abstand aufweisen, der größer als ein Maximalabstand ist,
- – dass der Minimalabstand in etwa gleich einem Rastermaß des dreidimensionalen Raumes ist und der Maximalabstand größer als das Rastermaß ist und
- – dass anhand der Einzelarmbereiche weitergehende Auswertungen der Tiefenbilder vorgenommen werden.
-
Vorzugsweise ist vorgesehen, dass die weitergehenden Auswertungen der Einzelarmbereiche für den jeweiligen Einzelarmbereich eine auf statistischer Auswertung des jeweiligen Einzelarmbereichs basierende Ermittlung der Hauptachsen des jeweiligen Einzelarmbereichs umfassen. Dadurch kann auf besonders zuverlässige Weise die Hauptrichtung des Unterarms des jeweiligen Einzelarmbereichs ermittelt werden. Weiterhin kann dadurch auf einfache Weise – nämlich anhand der längsten der Hauptachsen des jeweiligen Einzelarmbereichs und des Offsetvektors – eine Handposition für den jeweiligen Einzelarmbereich ermittelt werden.
-
Zur weitergehenden Auswertung ist es möglich, dass eine Abmessung desjenigen Teils des jeweiligen Einzelarmbereichs, der innerhalb eines die jeweilige Handposition umgebenden Handbereichs liegt, ermittelt wird und dass eine Aktivierung einer Aktion erfolgt, wenn während einer vorbestimmten Anzahl aufeinander folgender Tiefenbilder die ermittelte Abmessung jeweils eine Mindestabmessung überschreitet.
-
Eine Zuordnung der aufgefundenen Einzelarmbereiche zu den „richtigen“ Armen der Person ist dadurch einfach realisierbar, dass ein Schnittpunkt der längsten der Hauptachsen des jeweiligen Einzelarmbereichs mit einer den Basispunkt enthaltenden, orthogonal zum Offsetvektor verlaufenden Basisebene bestimmt wird und dass der jeweilige Einzelarmbereich je nachdem, ob der jeweilige Schnittpunkt in Bezug auf die Person links oder rechts des Basispunkts liegt, dem linken oder dem rechten Arm der Person zugeordnet wird.
-
Zur Ermittlung einer Position, auf welche die Person zeigt, kann in diesem Fall in der Basisebene anhand des Basispunkts und des Schnittpunkts ein Startpunkt ermittelt werden, der in Horizontalrichtung gesehen zwischen dem Basispunkt und dem Schnittpunkt liegt. Sodann kann ein Schnittpunkt einer durch den Startpunkt und die Handposition des jeweiligen Einzelarmbereichs bestimmten Verbindungslinie mit einer vorbestimmten, vor der Person verlaufenden Arbeitsebene ermittelt werden. Alternativ ist es möglich, dass ein Schnittpunkt der längsten der Hauptachsen des jeweiligen Einzelarmbereichs mit einer vorbestimmten, vor der Person verlaufenden Arbeitsebene ermittelt wird.
-
Die Bildauswertung liefert in der Regel bessere Ergebnisse, wenn die Tiefenbilder geeignet gefiltert werden. Zum Filtern bietet es sich insbesondere an, dass im Rahmen der Ermittlung des gemeinsamen Armbereichs und/oder im Rahmen der Ermittlung der Einzelarmbereiche störungsreduzierende morphologische Operationen durchgeführt werden.
-
Im Idealfall werden im Rahmen des erfindungsgemäßen Auswertungsverfahrens exakt zwei Einzelarmbereiche ermittelt. In der Praxis kann es aufgrund von Störungen jedoch geschehen, dass mehr oder weniger als zwei Einzelarmbereiche ermittelt werden. Zur weitergehenden Optimierung der Auswertung ist es möglich, dass für die Einzelarmbereiche eine jeweilige Anzahl an Punkten ermittelt wird, die im jeweiligen Einzelarmbereich enthalten sind, und dass im Rahmen der weiteren Auswertung nur diejenigen Einzelarmbereiche berücksichtigt werden, deren Anzahl an Punkten eine Mindestpunktzahl überschreitet. Alternativ ist es möglich, dass für die Einzelarmbereiche eine jeweilige Anzahl an Punkten ermittelt wird, die im jeweiligen Einzelarmbereich enthalten sind, und dass im Rahmen der weiteren Auswertung nur die Einzelarmbereiche mit der größten und der zweitgrößten Anzahl an Punkten berücksichtigt werden.
-
Die beiden letztgenannten Vorgehensweisen sind auch miteinander kombinierbar. Wenn – rein beispielhaft – vier Einzelarmbereiche ermittelt werden, bei denen die Anzahl an Punkten die Mindestpunktzahl überschreitet, werden nur die beiden Einzelarmbereiche mit der größten und der zweitgrößten Anzahl an Punkten berücksichtigt. Wenn – ebenfalls rein beispielhaft – nur ein einziger Einzelarmbereich die Mindestpunktzahl überschreitet, wird nur dieser eine Einzelarmbereich berücksichtigt. Falls exakt zwei Einzelarmbereiche die Mindestpunktzahl überschreiten, führen die beiden Vorgehensweisen unabhängig voneinander zu übereinstimmenden Ergebnissen.
-
Die Grenzfläche, die (im Ergebnis) den Rumpf der Person von deren Armen trennt, kann nach Bedarf bestimmt sein. Vorzugsweise ist die Grenzfläche wendepunktfrei. Insbesondere kann die Grenzfläche eine Ebene oder eine um den Basispunkt gekrümmte Fläche sein.
-
Es ist möglich, dass direkt eine Auswertung der Bildpunkte der Tiefenbilder (einschließlich der zugeordneten Tiefeninformation) erfolgt. Vorzugsweise ist jedoch vorgesehen, dass der Bereich personenähnlicher Kontur als dreidimensionale Punktwolke in den dreidimensionalen Raum abgebildet wird und dass die Auswertungen des Bereichs personenähnlicher Kontur zumindest teilweise im dreidimensionalen Raum erfolgen.
-
In einer bevorzugten Ausgestaltung der vorliegenden Erfindung ist vorgesehen, dass anhand des Bereichs personenähnlicher Kontur eine Regressionsebene an die Brust der Person bestimmt wird und dass der Offsetvektor derart bestimmt wird, dass er orthogonal zu einer innerhalb der Regressionsebene verlaufenden Horizontallinie gerichtet ist. Durch diese Vorgehensweise werden besonders gute Ergebnisse erzielt. Alternativ ist es möglich, dass zumindest die Richtung des Offsetvektors fest vorgegeben ist. Diese Vorgehensweise ist einfacher realisierbar und führt in vielen Fällen zu hinreichend guten Ergebnissen.
-
Es ist möglich, dass die Höhenlage des Basispunkts fest vorgegeben ist. Alternativ ist es möglich, dass anhand des Bereichs personenähnlicher Kontur auf eine Größe der Person geschlossen wird und dass der Basispunkt derart bestimmt wird, dass er in Brusthöhe der Person liegt. Ebenfalls alternativ ist es möglich, dass der Basispunkt durch den Schwerpunkt des Bereichs personenähnlicher Kontur bestimmt ist.
-
In vielen Fällen kann das erfindungsgemäße Auswertungsverfahren dadurch optimiert werden, dass die Tiefenbilder und/oder die anhand der Tiefenbilder ermittelten Ergebnisse zeitlich tiefpassgefiltert werden.
-
Die Aufgabe wird weiterhin durch ein Computerprogramm mit den Merkmalen des Anspruchs 19 gelöst. Erfindungsgemäß bewirkt die Abarbeitung des Maschinencodes durch den Rechner, dass der Rechner ein erfindungsgemäßes Auswertungsverfahren ausführt.
-
Die Aufgabe wird weiterhin durch einen Rechner mit den Merkmalen des Anspruchs 20 gelöst. Erfindungsgemäß ist der Rechner derart programmiert, dass er im Betrieb ein erfindungsgemäßes Auswertungsverfahren ausführt.
-
Die Aufgabe wird weiterhin durch eine Auswertungseinrichtung mit den Merkmalen des Anspruchs 21 gelöst. Erfindungsgemäß ist eine Auswertungseinrichtung der eingangs genannten Art mit einem erfindungsgemäßen Rechner ausgestattet.
-
Weitere Vorteile und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen in Verbindung mit den Zeichnungen. Es zeigen in schematischer Prinzipdarstellung:
-
1 und 2 eine Aufnahme- und Auswertungsanordnung,
-
3 bis 6 Ablaufdiagramme,
-
7 eine Person und Offsetvektoren und
-
8 bis 10 Ablaufdiagramme.
-
Gemäß den 1 und 2 wird mittels einer Kameraeinrichtung 1 – beispielsweise einer CCD-Kamera – eine Folge von zeitlich aufeinander folgenden Bildern B erfasst. Während des Erfassens der Bilder B kann beispielsweise mittels einer Projektionseinrichtung 2 ein Muster – beispielsweise ein sinusförmig moduliertes Streifenmuster – in einen von der Kameraeinrichtung 1 erfassten Bildbereich 3 projiziert werden.
-
Im Bildbereich 3 der Kameraeinrichtung 1 befindet sich (mindestens) eine Person 4. Die mittels der Kameraeinrichtung 1 erfassten Bilder B zeigen daher – zweidimensional in der Bildebene der Kameraeinrichtung 1 ortsaufgelöst – die Person 4. Aufgrund des in den Bildbereich 3 und damit unter anderem auf die Person 4 projizierten Musters umfassen die Bilder B jedoch – zusätzlich zum „normalen“ Bild oder alternativ dazu – eine Tiefeninformation. Für jeden Bildpunkt kann daher ermittelt werden, welchen Abstand der korrespondierende Punkt des erfassten Objekts (beispielsweise der Person 4) von der Kameraeinrichtung 1 aufweist. Derartige Bilder B werden allgemein als Tiefenbilder bezeichnet. Sie werden im Stand der Technik vielfach zur Vermessung dreidimensionaler Objekte eingesetzt, beispielsweise bei der Materialprüfung.
-
Auch andere Vorgehensweisen sind möglich. Beispielsweise kann mittels eines Lasers der Bildbereich 3 abgetastet werden und für jeden Bildpunkt die Laufzeit des Laserstrahls ermittelt werden.
-
Die Tiefenbilder werden einem Rechner 5 zugeführt, der zumindest mit der Kameraeinrichtung 1 – eventuell auch mit der Projektionseinrichtung 2 – datentechnisch verbunden ist. Der Rechner 5 nimmt die Tiefenbilder entgegen, bereitet sie auf und wertet sie aus.
-
Der Rechner 5 ist mit einem Computerprogramm 6 programmiert. Das Computerprogramm 6 kann dem Rechner 5 beispielsweise über einen Datenträger 7 zugeführt werden, auf dem das Computerprogramm 6 in maschinenlesbarer Form – in der Regel in ausschließlich maschinenlesbarer Form – gespeichert ist. Rein beispielhaft ist in den 1 und 2 als Datenträger 7 ein USB-Memorystick dargestellt.
-
Das Computerprogramm 6 umfasst Maschinencode 8, der von dem Rechner 5 unmittelbar abarbeitbar ist. Die Abarbeitung des Maschinencodes 8 durch den Rechner 5 bewirkt, dass der Rechner 5 ein Auswertungsverfahren ausführt, das nachfolgend in Verbindung mit 3 und den weiteren FIG näher erläutert wird.
-
Gemäß 3 nimmt der Rechner 5 in einem Schritt S1 eine Folge von Bildern B entgegen. In einem Schritt S2 nimmt der Rechner 5, soweit erforderlich, eine Vorauswertung der Bilder B vor. Insbesondere kann der Rechner 5 im Schritt S2 ggf. in den Bildern B in an sich bekannter Weise die Tiefeninformation ermitteln und den Bildpunkten der Bilder B zuordnen. Die sich so ergebenden Bilder werden nachfolgend als Tiefenbilder bezeichnet und zur Unterscheidung von den ursprünglich erfassten Bildern B mit dem Bezugszeichen B’ versehen.
-
In einem Schritt S3 ermittelt der Rechner 5 in den Tiefenbildern B’ jeweils mindestens einen Bereich 9 personenähnlicher Kontur. Die zur Ermittlung des Bereichs 9 personenähnlicher Kontur erforderlichen Berechnungen sind Fachleuten bekannt. Beispielsweise kann der Bereich 9 personenähnlicher Kontur durch Bestimmen einer konsistenten Bewegung in mehreren Tiefenbildern B’ ermittelt werden. Insbesondere in diesem Fall erfolgt im Rahmen des Schrittes S3 ein Vergleich mehrerer zeitlich aufeinander folgender Tiefenbilder B’. Es sind jedoch auch andere Vorgehensweisen möglich. In einem Schritt S4 ordnet der Rechner 5 den jeweils ermittelten Bereich 9 personenähnlicher Kontur der Person 4 zu.
-
Es ist möglich, dass a priori bekannt ist (oder vorausgesetzt wird), dass sich im Bildbereich 3 der Kameraeinrichtung 1 nur eine einzige Person 4 aufhält. In diesem Fall wird pro Tiefenbild B’ ein einziger Bereich 9 personenähnlicher Kontur ermittelt. Alternativ ist es möglich, dass sich im Bildbereich 3 der Kameraeinrichtung 1 mehrere Personen 4 aufhalten können. In diesem Fall ermittelt der Rechner 5 – eine entsprechende Mächtigkeit des Computerprogramms 6 vorausgesetzt – mehrere Bereiche 9 personenähnlicher Kontur und ordnet sie jeweils einer der Personen 4 zu.
-
Nachfolgend wird der Einfachheit halber nur der Fall behandelt, dass in jedem Tiefenbild B’ jeweils ein einziger Bereich 9 personenähnlicher Kontur ermittelt wird und dieser Bereich 9 personenähnlicher Kontur der (einzigen) Person 4 zugeordnet wird. Die nachfolgenden Ausführungen sind jedoch ohne Weiteres auf den Fall erweiterbar, dass mehrere Personen 4 vorhanden sind und hiermit korrespondierend in den Tiefenbildern B’ jeweils mehrere Bereiche 9 personenähnlicher Kontur ermittelt werden.
-
Der Schritt S3 wird vom Rechner 5 in der Regel tiefenbildübergreifend ausgeführt. Um für ein bestimmtes Tiefenbild B’ den Bereich 9 personenähnlicher Kontur ermitteln zu können, wird also vom Rechner 5 nicht nur das jeweilige Tiefenbild B’ ausgewertet, sondern wird das jeweilige Tiefenbild B’ und mindestens das unmittelbar vorhergehende und/oder das unmittelbar nachfolgende Tiefenbild B’ betrachtet. Die weiteren Schritte S4 bis S9 von 3 hingegen sind jeweils auf eines der Tiefenbilder B’ bezogen. Im Rahmen der Schritte S4 bis S9 können also die Tiefenbilder B’ unabhängig voneinander betrachtet werden. Selbstverständlich können die Schritte S4 bis S9 jedoch für mehrere Tiefenbilder B’ ausgeführt werden, insbesondere für alle Tiefenbilder B’.
-
Im Schritt S5 ermittelt der Rechner 5 einen Basispunkt 10, 10’ des Bereichs 9 personenähnlicher Kontur im dreidimensionalen Raum. Beispielsweise kann der Rechner 5 – siehe 4 – in einem Schritt S21 den Mittelwert der Ortskoordinaten des Bereichs 9 personenähnlicher Kontur im dreidimensionalen Raum (d.h. den Schwerpunkt 10 des Bereichs 9 personenähnlicher Kontur) ermitteln und als Basispunkt definieren. Der entsprechende Basispunkt ist in 2 mit dem Bezugszeichen 10 versehen. Alternativ kann der Rechner 5 – siehe 5 – in einem Schritt S26 den Mittelwert der Ortskoordinaten des Bereichs 9 personenähnlicher Kontur nur in den Horizontalkoordinaten ermitteln und zusätzlich in einem Schritt S27 anhand des Bereichs 9 personenähnlicher Kontur auf eine Größe der Person 4 schließen. In diesem Fall kann der Rechner 5 in einem Schritt S28 den Basispunkt 10’ dadurch definieren, dass er als Horizontalkoordinaten die im Schritt S26 ermittelten Mittelwerte und als Vertikalkoordinate einen Wert heranzieht, der in etwa in Brusthöhe der Person 4 liegt. Beispielsweise kann der Rechner 5 im Schritt S27 die maximale Höhe des Bereichs 9 personenähnlicher Kontur ermitteln, d.h. die Scheitelhöhe der Person 4. In diesem Fall kann der Rechner 5 im Schritt S28 einen geeigneten Prozentsatz – beispielsweise 70 % bis 85 % – dieses Wertes als Vertikalkoordinate verwenden. Ein auf diese Weise ermittelter Basispunkt ist ebenfalls in 2 eingezeichnet und mit dem Bezugszeichen 10’ versehen.
-
Im Schritt S6 bestimmt der Rechner 5 einen Offsetvektor 11, 11’. Der Offsetvektor 11, 11’ geht vom Basispunkt 10, 10’ aus. Er ist horizontal gerichtet und weist eine Komponente auf, die in Bezug auf die Person 4 nach vorne zeigt. Die Länge des Offsetvektors 11, 11’ ist derart bestimmt, dass der vom Basispunkt 10, 10’ ausgehende Offsetvektor 11, 11’ vor der Brust der Person 4, aber innerhalb der Armreichweite der Person 4 endet.
-
Beispielsweise kann der Rechner 5 gemäß 6 in einem Schritt S31 anhand des Bereichs 9 personenähnlicher Kontur eine Regressionsebene 12 an die Brust der Person 4 bestimmen. 7 zeigt – rein beispielhaft – die Regressionsebene 12 und den korrespondierenden Offsetvektor, der dort mit dem Bezugszeichen 11 versehen ist. Die Bestimmung der Regressionsebene 12 ist Fachleuten als Solches bekannt. Im Falle der Bestimmung der Regressionsebene 12 bestimmt der Rechner 5 gemäß 6 weiterhin in einem Schritt S32 eine innerhalb der Regressionsebene 12 liegende Horizontallinie. In einem Schritt S33 bestimmt der Rechner 5 in diesem Fall den Offsetvektor 11 derart, dass er horizontal verläuft und orthogonal zu der genannten Horizontallinie gerichtet ist. Beispielsweise kann der Rechner 5 im Schritt S33 das Vektorprodukt von Horizontallinie und Vertikalrichtung bilden.
-
Alternativ ist es gemäß 7 möglich, dass die Richtung des Offsetvektors fest vorgegeben ist. Insbesondere kann die Richtung stets normal zu einer (vertikalen) Arbeitsebene 13 gerichtet sein, beispielsweise orthogonal zu einer die Arbeitsebene 13 definierenden vertikal aufgestellten Anzeigeeinrichtung. Dieser Offsetvektor ist in 7 mit dem Bezugszeichen 11’ versehen. Die Arbeitsebene 13 liegt vor der Person 4.
-
Die Art und Weise, auf welche der Rechner 5 den Offsetvektor 11, 11’ bestimmt, ist unabhängig von der Art und Weise, auf welche der Rechner 5 den Basispunkt 10, 10’ bestimmt.
-
Im Schritt S7 bestimmt der Rechner 5 eine Grenzfläche 14 des dreidimensionalen Raumes. Die Grenzfläche 14 enthält gemäß den 1 und 2 den (vom Basispunkt 10, 10’ ausgehenden) Offsetvektor 11, 11’. Die Grenzfläche 14 verläuft spiegelsymmetrisch zu einer Vertikalebene, die den (vom Basispunkt 10, 10’ ausgehenden) Offsetvektor 11, 11’ enthält.
-
Der Ort, auf den der Offsetvektor 11, 11’ zeigt, ist derjenige Ort der Grenzfläche 14, welcher den geringsten Abstand vom Basispunkt 10, 10’ aufweist. Alle anderen Orte der Grenzfläche 14 weisen einen Abstand vom Basispunkt 10, 10’ auf, der mindestens so groß wie – in der Regel sogar größer als – die Länge des Offsetvektors 11, 11’ ist.
-
Vorzugsweise ist die Grenzfläche 14 wendepunktfrei. Insbesondere kann die Grenzfläche 14 eine Ebene oder eine um den Basispunkt 10, 10’ gekrümmte Fläche sein. Beispielsweise kann die Grenzfläche 14 gemäß den 1 und 2 als Kugel um einen Kugelmittelpunkt 15 definiert sein, wobei der Kugelmittelpunkt 15 in Bezug auf die Person 4 hinter der Person 4 liegt. Auch andere Ausgestaltungen sind möglich. Beispielsweise kann die Grenzfläche 14 als Zylindermantel um eine vertikal verlaufende Achse definiert sein. Auch ist es möglich, dass die Krümmung in Horizontalrichtung und die Krümmung in Vertikalrichtung voneinander verschieden sind. In diesem Fall ist in der Regel die Krümmung in Horizontalrichtung stärker als die Krümmung in Vertikalrichtung, der Krümmungsradius in Horizontalrichtung also kleiner als der Krümmungsradius in Vertikalrichtung.
-
In den nachfolgenden Schritten S8 und S9 werden in den Tiefenbildern B’ nur noch diejenigen Teile der Bereiche 9 personenähnlicher Kontur betrachtet, die durch die Grenzfläche 14 vom Basispunkt 10, 10’ getrennt sind. Diese Bereiche enthalten bei geeigneter Festlegung des Offsetvektors 11, 11’ und der Grenzfläche 14 nicht mehr den Rumpf der Person 4, sondern nur noch deren Arme. Der entsprechende Teil des Bereichs 9 personenähnlicher Kontur definiert somit einen gemeinsamen Armbereich der Person 4.
-
Im Schritt S8 ermittelt der Rechner 5 innerhalb des gemeinsamen Armbereichs Einzelarmbereiche 16, 17. Jeder Einzelarmbereich 16, 17 ist durch diejenigen Punkte im dreidimensionalen Raum bestimmt, die folgende Bedingungen erfüllen:
- – Sie sind Bestandteil des gemeinsamen Armbereichs.
- – Jeder Punkt eines bestimmten Einzelarmbereichs 16, 17 (beispielsweise der Punkt 18 in 1) weist zumindest einem anderen Punkt desselben Einzelarmbereichs 16, 17 (beispielsweise zum Punkt 19) einen Abstand auf, der kleiner als ein Minimalabstand ist.
- – Derselbe Punkt (gemäß Beispiel der Punkt 18) weist zu allen anderen Punkten des gemeinsamen Armbereichs (beispielsweise zum Punkt 20) einen Abstand auf, der größer als ein Maximalabstand ist.
-
Die Ermittlung der Einzelarmbereiche 16, 17 ist Fachleuten als Solches bekannt.
-
Der dreidimensionale Raum ist in der Regel in ein Rastermaß aufgeteilt. Der Minimalabstand ist in diesem Fall in etwa gleich dem Rastermaß. Insbesondere sollte der Minimalabstand maximal das ca. zweifache des Rastermaßes betragen. Der Maximalabstand hingegen ist größer als das Rastermaß und auch größer als der Minimalabstand. Insbesondere liegt das Verhältnis von Maximalabstand und Minimalabstand in der Regel zwischen 1,2 und 2,0, beispielsweise bei 1,4 bis 1,6.
-
Im Idealfall ergeben sich – entsprechend den realen Verhältnissen – im Rahmen des Schrittes S8 exakt zwei Einzelarmbereiche 16, 17. Es ist jedoch möglich, dass sich aufgrund des Schrittes S8 mehr als zwei Einzelarmbereiche 16, 17 ergeben. In diesem Fall ist es gemäß 8 möglich, dass dem Schritt S8 ein Schritt S36 sowie – einzeln oder in Kombination – Schritte S37 und S38 nachgeordnet sind. Im Schritt S36 wird für alle Einzelarmbereiche 16, 17 die jeweilige Anzahl an Punkten ermittelt, die im jeweiligen Einzelarmbereich 16, 17 enthalten ist. Im Schritt S37 werden nur diejenigen Einzelarmbereiche 16, 17, deren Anzahl an Punkten eine Mindestpunktzahl überschreitet, als gültige Einzelarmbereiche 16, 17 definiert. Alle anderen Einzelarmbereiche 16, 17 werden verworfen. Im Schritt S38 werden nur diejenigen Einzelarmbereiche 16, 17, welche die größte und die zweitgrößte Anzahl an Punkten aufweisen, als gültige Einzelarmbereiche 16, 17 definiert. Alle anderen Einzelarmbereiche 16, 17 werden verworfen.
-
Im Schritt S9 nimmt der Rechner 5 anhand der Einzelarmbereiche 16, 17 weitergehende Auswertungen der Tiefenbilder B’ vor. Mögliche Auswertungen werden nachfolgend in Verbindung mit den 9 und 10 näher erläutert.
-
In einem Schritt S10 prüft der Rechner 5, ob er das erfindungsgemäße Auswertungsverfahren beenden soll. Wenn dies nicht der Fall ist, geht der Rechner 5 zu einem Schritt S11 über, in dem er von der Kameraeinrichtung 1 ein weiteres Bild B entgegennimmt. Sodann geht der Rechner 5 erneut zum Schritt S2 über.
-
Im Rahmen einer möglichen Ausgestaltung des Schrittes S9 von 3 kann der Rechner 5 gemäß 9 beispielsweise in einem Schritt S41 – separat für jeden Einzelarmbereich 16, 17 – eine statistische Auswertung des jeweiligen Einzelarmbereichs 16, 17 (genauer: der im jeweiligen Einzelarmbereich 16, 17 enthaltenen Punkte des dreidimensionalen Raumes) durchführen und – basierend auf dieser Auswertung – den Schwerpunkt (= Mittelwert der Ortskoordinaten der Punkte) des jeweiligen Einzelarmbereichs 16, 17 und die Hauptachsen des jeweiligen Einzelarmbereichs 16, 17 ermitteln. Diese Art der Auswertung ist Fachleuten an sich bekannt.
-
In einem Schritt S42 selektiert der Rechner 5 die längste der ermittelten Hauptachsen, in der 7 für den Einzelarmbereich 17 mit dem Bezugszeichen 21 versehen.
-
In einem Schritt S43 kann der Rechner 5 anhand des Schwerpunkts des jeweiligen Einzelarmbereichs 16, 17 und der längsten Hauptachse 21 des jeweiligen Einzelarmbereichs 16, 17 eine Gerade ermitteln. In einem Schritt S44 kann der Rechner 5 einen Schnittpunkt 22 der genannten Geraden mit der Arbeitsebene 13 ermitteln. Der Schnittpunkt 22 entspricht einer Stelle der Arbeitsebene 13, auf welche die Person 4 (in etwa) deutet.
-
Alternativ oder zusätzlich zum Schritt S43 kann der Rechner 5 in einem Schritt S45 anhand des Schwerpunkts des jeweiligen Einzelarmbereichs 16, 17 und der längsten Hauptachse 21 des jeweiligen Einzelarmbereichs 16, 17 in Verbindung mit dem Offsetvektor 11, 11’ (dies ist für die Bestimmung der Richtung erforderlich, in die ausgehend vom Schwerpunkt des jeweiligen Einzelarmbereichs 16, 17 vorgegangen wird) eine Handposition 23 für den jeweiligen Einzelarmbereich 16, 17 ermitteln. Beispielsweise kann der Rechner 5, ausgehend vom Schwerpunkt des jeweiligen Einzelarmbereichs 16, 17, die längste Hauptachse 21 mit einem vorbestimmten Faktor skalieren und die sich so ergebende Position als Handposition 23 für den entsprechenden Einzelarmbereich 16, 17 definieren.
-
Ausgehend von der Ermittlung der Handposition 23 sind weitergehende Ermittlungen möglich. So ist es beispielsweise möglich, in einem Schritt S46 eine Verbindungslinie 24 zu bestimmen, die den Basispunkt 10, 10’ und die jeweilige Handposition 23 miteinander verbindet. Sodann kann – ebenfalls im Schritt S46 – der Schnittpunkt 25 der Verbindungslinie 24 mit der Arbeitsebene 13 ermittelt werden. Auch dieser Schnittpunkt 25 entspricht einer Stelle der Arbeitsebene 13, auf welche die Person 4 (in etwa) deutet. Um Zweideutigkeiten auszuschließen, ist von den Schritten S44 und S46 jedoch vorzugsweise nur einer vorhanden.
-
Weiterhin ist es gemäß 9 möglich, aufbauend auf dem Schritt S45 weitere Schritte S47 bis S54 vorzusehen.
-
Im Schritt S47 ermittelt der Rechner 5 einen Handbereich 26, d.h. denjenigen Teil des entsprechenden Einzelarmbereichs 16, 17, der die Handposition 23 umgibt. Beispielsweise kann eine Kugel mit vorbestimmtem Radius um die ermittelte Handposition 23 definiert werden. In diesem Fall ist es möglich, dass nur diejenigen Punkte des jeweiligen Einzelarmbereichs 16, 17 weiter verwertet werden, die innerhalb des jeweiligen Handbereichs 26 liegen. Beispielsweise kann der Rechner 5 im Schritt S48 eine (maximale) Abmessung des Handbereichs 26 ermitteln.
-
Es ist möglich, dass der Rechner 5 die entsprechende Ermittlung im dreidimensionalen Raum vornimmt. Alternativ kann der Rechner 5 die Punkte in einem Schritt S49 – insbesondere mittels einer Parallelprojektion, alternativ eventuell mittels einer perspektivischen Projektion – in eine Auswertungsebene 27 (siehe 7) projizieren und dort die entsprechende Auswertung vornehmen. Die Auswertungsebene 27 kann – beispielsweise – orthogonal zum Offsetvektor 11, 11’ verlaufen oder mit der Arbeitsebene 13 übereinstimmen.
-
Der Rechner 5 vergleicht die ermittelte Abmessung im Schritt S50 mit einer Mindestabmessung. Ist die ermittelte Abmessung kleiner als die vorbestimmte Mindestabmessung (Klartext: hat die Person 4 die Hand nicht gespreizt), setzt der Rechner 5 im Schritt S51 einen Zähler zurück. Anderenfalls inkrementiert der Rechner 5 im Schritt S52 den Zähler.
-
Im Schritt S53 überprüft der Rechner 5 den Wert des Zählers. Übersteigt der Wert des Zählers eine vorbestimmte Schranke (beispielsweise den Wert 3, den Wert 5, den Wert 10 oder einen anderen geeigneten Wert), ist die ermittelte Abmessung also während einer durch die Schranke bestimmten Anzahl von aufeinander folgenden Tiefenbildern B’ stets größer als die Mindestabmessung (Klartext: hat die Person 4 die Hand gespreizt), erfolgt durch den Rechner 5 im Schritt S54 eine Aktivierung einer Aktion, d.h. er interpretiert das Überschreiten der Schranke als „Klickbefehl“ einer virtuellen Maus.
-
Für manche Auswertungen ist irrelevant, ob ein bestimmter Einzelarmbereich 16, 17 dem linken oder dem rechten Arm der Person 4 entspricht. Für andere Auswertungen kann dies hingegen von Bedeutung sein. Falls eine derartige Bedeutung gegeben ist, können gemäß 10 dem Schritt S43 Schritte S61 und S62 nachgeordnet sein. Im Schritt S61 wird, ausgehend vom Schwerpunkt des jeweiligen Einzelarmbereichs 16, 17, der Schnittpunkt 28 der längsten Hauptachse 21 mit einer Basisebene 29 bestimmt (siehe 7). Die Basisebene 29 enthält gemäß 7 den Basispunkt 10, 10’ und verläuft orthogonal zum Offsetvektor 11, 11’. Im Schritt S62 wird je nachdem, ob der Schnittpunkt 28 links oder rechts des Basispunkts 10, 10’ liegt, der jeweilige Einzelarmbereich 16, 17 dem linken oder dem rechten Arm der Person 4 zugeordnet. Auf diese Weise kann beispielsweise ein „Klicken“ mit der linken Hand im Rahmen des Schrittes S54 eine andere Aktion auslösen als ein „Klicken“ mit der rechten Hand.
-
Falls die entsprechende Zuordnung der Einzelarmbereiche 16, 17 zu den entsprechenden Armen der Person 4 erfolgt, können gemäß 10 – alternativ zu den Schritten S44 oder S46 von 9 – weiterhin Schritte S63 und S64 vorhanden sein. Im Schritt S63 ermittelt der Rechner 5 in der Basisebene 29 anhand des Basispunkts 10, 10’ und des Schnittpunkts 28 einen Startpunkt 30. Der Startpunkt 30 wird derart ermittelt, dass er in Horizontalrichtung gesehen innerhalb der Basisebene 29 zwischen dem Basispunkt 10, 10’ und dem Schnittpunkt 28 liegt. Ein Versatz des Startpunkts 30 relativ zum Basispunkt 10, 10’ ist vorzugsweise derart bestimmt, dass der Startpunkt 30 in etwa im Bereich des entsprechenden Schultergelenks der Person 4 liegt. Im Schritt S64 wird in diesem Fall – analog zum Schritt S46 von 9 – eine Verbindungslinie 31 bestimmt, die den Startpunkt 30 und die jeweilige Handposition 23 miteinander verbindet. Sodann kann – ebenfalls im Schritt S64 – der Schnittpunkt 32 der Verbindungslinie 31 mit der Arbeitsebene 13 ermittelt werden. Auch dieser Schnittpunkt 32 entspricht einer Stelle der Arbeitsebene 13, auf welche die Person 4 (in etwa) deutet. Um Zweideutigkeiten auszuschließen, sind im Falle des Vorhandenseins der Schritte S63 und S64 die Schritte S44 und S46 von 9 jedoch vorzugsweise nicht implementiert.
-
Das oben stehend erläuterte Auswertungsverfahren und seine Ausgestaltungen können auf verschiedene Weise weiter verbessert werden. So sind insbesondere rauschmindernde Vorgehensweisen, welche die erfindungsgemäße Auswertung robuster gestalten, von Vorteil. Beispielsweise können die Tiefenbilder B’ und/oder – direkt oder indirekt – anhand der Tiefenbilder B’ ermittelten Ergebnisse (beispielsweise die Einzelarmbereiche 16, 17) zu diesem Zweck zeitlich tiefpassgefiltert werden. In analoger Weise können innerhalb der Tiefenbilder B’ im Rahmen der Ermittlung des gemeinsamen Armbereichs und/oder im Rahmen der Ermittlung der Einzelarmbereiche 16, 17 störungsreduzierende morphologische Operationen durchgeführt werden. Entsprechende morphologische Operationen sind Fachleuten allgemein bekannt. Beispielsweise kann in einem ersten Schritt jeder Punkt, der als Bestandteil des gemeinsamen Armbereichs identifiziert ist, aus dem gemeinsamen Armbereich entfernt werden, wenn ihm maximal n (n = 0, 1, 2, 3, ...) andere Punkte, die ebenfalls Bestandteil des gemeinsamen Armbereichs sind, unmittelbar benachbart sind. In einem zweiten Schritt kann in diesem Fall jedem Punkt, der nicht Bestandteil des nach Ausführung des ersten Schrittes resultierenden gemeinsamen Armbereiches ist, dem aus dem ersten Schritt resultierenden gemeinsamen Armbereich zugeschlagen werden, wenn der jeweilige Punkt an mindestens m (m = 1, 2, 3, ...) Punkte unmittelbar angrenzt, die Bestandteil des sich im ersten Schritt ergebenden gemeinsamen Armbereichs sind. Auch die inverse Vorgehensweise ist möglich. In diesem Fall wird zuerst, bezogen auf den sich ursprünglich ergebenden gemeinsamen Armbereich, der zweite Schritt ausgeführt. Sodann wird, bezogen auf den so ermittelten gemeinsamen Armbereich, der erste Schritt ausgeführt. Weiterhin sind die korrespondierenden Operationen auch auf die Einzelarmbereiche 16, 17 anwendbar. Auch andere morphologische Operationen sind möglich. Die entsprechenden Operationen sind dem Fachmann bekannt.
-
Weiterhin ist es für manche Verfahrensschritte rechentechnisch von Vorteil, die Auswertung im dreidimensionalen Raum selbst vorzunehmen. Zu diesem Zweck werden die Tiefenbilder B’ in den dreidimensionalen Raum umgerechnet. Es erfolgt also – möglicherweise vor der Ermittlung des Bereichs 9 personenähnlicher Kontur, ggf. auch nach dessen Ermittlung – eine Abbildung des jeweiligen Tiefenbildes B’ bzw. des Bereichs 9 personenähnlicher Kontur als dreidimensionale Punktwolke in den dreidimensionalen Raum. Diese Abbildung ist bei bekannter Position und Orientierung der Kameraeinrichtung 1 und bekannten Abbildungsparametern der Kameraeinrichtung 1 ohne Weiteres möglich. Die nachfolgende Auswertung kann in diesem Fall nach Bedarf in den Tiefenbildern B’ oder direkt im dreidimensionalen Raum erfolgen.
-
Weiterhin ist es von Vorteil, dass zumindest das Aktivieren von Aktionen hysteresebehaftet ist.
-
Die vorliegende Erfindung weist viele Vorteile auf. So sind beispielsweise im Gegensatz zu bekannten Auswertungsverfahren keine speziellen Geräte oder Markierungen an der Person 4 erforderlich. Weiterhin ist keinerlei Einlernphase des Rechners 5 erforderlich. Das erfindungsgemäße Auswertungsverfahren ermöglicht daher eine einfache und dennoch sichere und genaue Auswertung des Bereichs 9 personenähnlicher Kontur.
-
Die obige Beschreibung dient ausschließlich der Erläuterung der vorliegenden Erfindung. Der Schutzumfang der vorliegenden Erfindung soll hingegen ausschließlich durch die beigefügten Ansprüche bestimmt sein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- „Gesture Recognition: A Survey“ von Sushmita Mitra und Tinku Acharya, IEEE Transactions on Systems, Man, and Cybernetics, Part C, Applications and Reviews, Vol. 37, No. 3, May 2007, Seiten 311 bis 324 [0007]
- „Minority Report“ aus dem Jahr 2002 [0009]