-
Die
Erfindung betrifft ein Kamerasystem zur Positionserfassung eines
oder mehrerer Punkte, ein Verfahren zur Positionserfassung mit Hilfe
des Kamerasystems, und ein Verfahren zur Erzeugung von Kalibrierdaten
für das
Kamerasystem.
-
In
vielen Situationen besteht die Notwendigkeit einer präzisen 3D-Positionserfassung
eines Objekts. Solche Situationen können im Sport auftreten, beispielsweise
zur Klärung
der Frage ob ein Ball in einem Ballspiel oder ein Puck in einem
Hockeyspiel die Torlinie überschritten
hat. Solche Situationen können auch
in der Medizin auftreten, beispielsweise bei der genauen Platzierung
einer Sonde in dem Körper
eines Patienten.
-
Es
ist eine Vielzahl von Verfahren zur 3D-Positionsbestimmung von Objekten
bekannt, wie zum Beispiel Trackingsysteme in der Medizin zur Erfassung
von Positionsdaten im Rahmen einer medizintechnischen Navigation
mittels eines medizintechnischen Navigationssystems, Triangulation
in der optischen Messtechnik, oder Lichtschranken. Diese Systeme
können
eine hohe Komplexität
aufweisen und daher sehr teuer sein, sowie einen hohen Vorbereitungsaufwand
im Vorfeld der Messungen erfordern. Darüber hinaus sind sie nicht für alle Situationen
gleichermaßen
geeignet.
-
Aufgabe
der Erfindung ist es, ein Verfahren zur 3D-Positions- und Geschwindigkeitserfassung
eines Objekts bereitzustellen, welches relativ einfach, kostengünstig und
flexibel ist.
-
Vorstehende
Aufgabe wird durch die Gegenstände
der unabhängigen
Ansprüche
gelöst.
Die abhängigen
Ansprüche
sind auf vorteilhafte Weiterbildungen gerichtet.
-
Ein
Aspekt der Erfindung betrifft ein Verfahren zum Erzeugen von Kalibrierdaten
für ein
Kamerasystem mit mindestens zwei Aufnahmevorrichtungen zur Positionserfassung
eines oder mehrerer Punkte, welche sich im Erfassungsbereich der
mindestens zwei Aufnahmevorrichtungen befinden. Die Kalibrierdaten
werden bei einem Kalibrieren des Kamerasystems im Vorfeld von Positionserfassungen
zum Beispiel einmalig ermittelt und gespeichert und stehen anschließend systemintern
für Positionserfassungen zur
Verfügung.
Eine Aufnahmevorrichtung kann eine bildgebende Kamera sein. Ein
typisches Kamerasystem umfasst zwei Aufnahmevorrichtungen, jedoch können auch
mehrere Aufnahmevorrichtungen vorgesehen sein. Die vorliegenden
Ausführungen
betreffen, sofern nicht anders spezifiziert, das typische Kamerasystem.
-
Das
Verfahren zum Erzeugen von Kalibrierdaten umfasst die Schritte:
Vorgeben eines Satzes von 2D-Raumkoordinatensystemen, nachfolgend
als KOS-Satz bezeichnet, Erstellen oder Bestimmen einer Abbildung
der einzelnen 2D-Raumkoordinatensysteme durch die erste Aufnahmevorrichtung,
und Erstellen oder Festlegen einer korrespondierenden Abbildung
der 2D-Raumkoordinatensysteme relativ zu der zweiten Aufnahmevorrichtung.
-
Beim
Vorgeben des KOS-Satzes kann in einer Ausführungsform ein erstes 2D-Raumkoordinatensystem
vor die Aufnahmevorrichtungen in einem definierten Abstand von den
Aufnahmevorrichtungen zum Erzeugen einer Aufnahme des 2D-Raumkoordinatensystems
durch jede der Aufnahmevorrichtungen physisch positioniert werden.
Ein definierter Abstand von den Aufnahmevorrichtungen kann zum Beispiel
einen Abstand von der ersten oder der zweiten Aufnahmevorrichtung
oder von einem anderen Referenzpunkt bezeichnen. Das erste 2D-Raumkoordinatensystem
kann zum Beispiel auf einer transparenten oder nicht-transparenten Unterlage,
beispielsweise einer Plexiglasfolie, aufgezeichnet oder aufgetragen sein.
Anschließend
kann ein zweites, mit dem ersten identisches, 2D-Raumkoordinatensystem,
vom ersten 2D-Raumkoordinatensystem beabstandet, vor den Aufnahmevorrichtungen
positioniert werden. Danach können
ein drittes und weitere, mit dem ersten identische, 2D-Raumkoordinatensysteme, ähnlich wie
das zweite 2D-Raumkoordinatensystem,
jeweils von dem vorherigen 2D-Koordinatensystem beabstandet, vor
den Aufnahmevorrichtungen positioniert werden. Das Positionieren
der 2D-Raumkoordinatensysteme
kann dadurch vereinfacht werden, dass ein einziges 2D-Raumkoordinatensystem zeitlich
versetzt in voneinander beabstandeten Positionen aufgestellt wird.
-
In
einer weiteren Ausführungsform
kann beim Vorgeben des KOS-Satzes von 2D-Raumkoordinatensystemen ein erstes 2D-Raumkoordinatensystem
virtuell erzeugt und positioniert werden und zum Beispiel auf das
tatsächliche
Aufnehmen von 2D-Raumkoordinatensystemen
verzichtet werden. „Virtuell
Positionieren” kann
bedeuten, dass das erste 2D-Raumkoordinatensystem in dem Kamerasystem
simuliert wird. Hierbei kann es sich um eine graphische Computersimulation
handeln, mittels welcher das erste 2D-Raumkoordinatensystem in einem definierten
Abstand zum Kamerasystem generiert wird. Unterschiedliche Abstände zwischen
Aufnahmevorrichtungen und 2D-Raumkoordinatensystem können beispielsweise
durch verschiedene Größen der
Skalierungseinheiten auf den Koordinatenachsen oder der Winkel zwischen
den Koordinatenachsen, oder durch eine Verschiebung des Koordinatenursprungs
im Bildfeld der Aufnahmevorrichtung simuliert werden. Alternativ
kann es sich auch um eine rein numerische Simulation der 2D-Raumkoordinatensysteme
ohne graphische Visualisierung handeln.
-
Eine
Kombination zwischen physisch ausgeführten Aufnahmen von materiellen
2D-Raumkoordinatensystemen,
welche in einem Frontbereich vor den Aufnahmevorrichtungen positioniert
sind, und simulierten 2D-Raumkoordinatensystemen ist auch möglich. In
einem simulierten KOS-Satz können
physische Aufnahmen von in vorbestimmten Entfernungen physisch positionierten
2D-Raumkoordinatensystemen überlagert
oder eingeblendet werden, um eine Übereinstimmung zwischen physischen
Aufnahmen und Simulationen von 2D-Raumkoordinatensystemen zu überprüfen und
gegebenenfalls Korrekturen an den simulierten Werten durchzuführen.
-
In
einem KOS-Satz liegt zum Beispiel ein 2D-Raumkoordinatensystem mit
einem kleinsten Abstand und ein 2D-Raumkoordinatensystem mit einem größten Abstand
zu den Aufnahmevorrichtungen vor. Der Raumbereich vor den Aufnahmevorrichtungen zwischen
kleinstem und größtem Abstand
zu den Aufnahmevorrichtungen, nachfolgend als Erfassungsbereich
der Aufnahmevorrichtungen bezeichnet, legt den kleinsten und den
größten Abstand
fest, welchen ein Punkt oder ein Objekt bei einer Positionserfassung
unter Verwendung des KOS-Satzes haben darf. Die Position eines Punktes
ist im Allgemeinen nur dann erfassbar, wenn der Punkt einen Abstand
zu den Aufnahmevorrichtungen aufweist, welcher sich innerhalb des
Erfassungsbereichs der Aufnahmevorrichtungen befindet. Sofern die 2D-Raumkoordinatensysteme
simuliert sind, kann mit geringem Aufwand ein sehr großes Erfassungsbereich
erzeugt werden, dessen Grenzen nur durch die Auflösung der
Aufnahmevorrichtungen bestimmt sind.
-
Beim
Erstellen einer Aufnahme eines Punktes durch die erste Aufnahmevorrichtung
und durch die zweite Aufnahmevorrichtung erhält man zwei Aufnahmen des Punktes,
die sich voneinander unterscheiden können, obwohl derselbe Punkt
durch die Aufnahmevorrichtungen abgebildet wird, weil beispielsweise
die Aufnahmevorrichtungen den Punkt unter unterschiedlichen Blickwinkeln
sehen. Analog erhält
man beim Erstellen einer ersten korrespondierenden Abbildung eines
der 2D-Raumkoordinatensysteme durch die erste Aufnahmevorrichtung
und beim Erstellen einer zweiten korrespondierenden Abbildung desselben
2D-Raumkoordinatensystems durch die zweite Aufnahmevorrichtung zwei
korrespondierende Abbildungen des 2D-Raumkoordinatensystems, die
sich voneinander unterscheiden können.
Denkt man sich den Punkt an einer beliebigen Stelle in dem Erfassungsbereich
der Aufnahmevorrichtungen, so hat der Punkt, bei einer Überlagerung einer
Aufnahme des Punktes mit der ersten korrespondierenden Abbildung
des 2D-Raumkoordinatensystems
oder bei einem Überblenden
der ersten korrespondierenden Abbildung des 2D-Raumkoordinatensystems
in die Aufnahme des Punktes, wobei sowohl die Aufnahme des Punktes
als auch die erste korrespondierende Abbildung des 2D-Raumkoordinatensystems
von der ersten Aufnahmevorrichtung erstellt sind, einen ersten Satz von
2D-Positionskoordinaten. Derselbe Punkt hat, bei einer Überlagerung einer
Aufnahme des Punktes mit der zweiten korrespondierenden Abbildung
des 2D-Raumkoordinatensystems, wobei sowohl die Aufnahme des Punktes als
auch die zweite korrespondierende Abbildung des 2D-Raumkoordinatensystems
von der zweiten Aufnahmevorrichtung erstellt sind, einen zweiten Satz
von 2D-Positionskoordinaten.
-
Korrespondierende
Abbildungen des 2D-Raumkoordinatensystems können durch folgendes Merkmal
definiert werden: Ein Punkt, der sich in der Ebene des 2D-Raumkoordinatensystems
befindet, hat einen ersten und einen zweiten Satz von 2D-Positionskoordinaten,
wobei der erste Satz von 2D-Positionskoordinaten identisch mit dem
zweiten Satz von 2D-Positionskoordinaten
ist. Mit anderen Worten, der Punkt hat, bei einer Überlagerung
der mit unterschiedlichen Aufnahmevorrichtungen erstellten Aufnahmen
des Punktes mit jeweiligen korrespondierenden Abbildungen des 2D-Raumkoordinatensystems,
dieselben Koordinaten in jeder der korrespondierenden Abbildungen
des 2D-Raumkoordinatensystems. Korrespondierende Abbildungen eines 2D-Raumkoordinatensystems
werden als korrespondierende Koordinatensysteme bezeichnet, wobei
ein Punkt auf der Fläche
eines bestimmten 2D-Raumkoordinatensystems in jedem dieser bestimmten
korrespondierenden Koordinatensysteme dieselben Koordinaten hat.
-
Gemäß einer
bevorzugten Ausführungsform kann
jedes 2D-Raumkoordinatensystem eine ebene Fläche aufspannen. Gemäß weiteren
Ausführungsformen
kann ein 2D-Raumkoordinatensystem
eine gekrümmte
Fläche,
beispielsweise die Fläche
eines Rotationskörpers,
wie zum Beispiel eines Zylinders, einer Kugel, oder eines Ellipsoids,
aufspannen. Abhängig
von der gewählten
Flächenform
kann ein passendes Koordinatensystem gewählt werden, beispielsweise
ein kartesisches oder ein zylindrisches System für eine ebene Flache, oder ein
Zylinder-, Kugel, Ellipsenkoordinatensystem für entsprechend geformte Flächen. Das
kartesische 2D-Koordinatensystem kann rechtwinklig sein, die Koordinaten
können aber
auch in einem anderen Winkel als 90 Grad zueinander stehen. Die
vorliegenden Ausführungen
betreffen, sofern nicht anders spezifiziert, 2D-Raumkoordinatensysteme, welche eine
ebene Fläche
aufspannen, sowie kartesische 2D- oder 3D-Raumkoordinatensysteme.
-
Gemäß einer
weiteren Ausführungsform können die
zum Kalibrieren verwendeten 2D-Raumkoordinatensysteme
parallel zueinander sein. 2D-Raumkoordinatensysteme in zueinander
parallelen Ebenen haben den Vorteil, dass ein entsprechender KOS-Satz,
sowohl in der Ausführungsform,
in der physisch ausgeführte
Aufnahmen oder Abbildungen von materiellen 2D-Raumkoordinatensystemen,
als auch in der Ausführungsform,
in der simulierte Abbildungen von simulierten Koordinatensystemen,
verwendet werden, mit geringem Aufwand und hoher Präzision herstellbar
sind. In der Ausführungsform,
in der materielle 2D-Raumkoordinatensysteme verwendet werden, kann
ein KOS-Satz erzeugt werden indem eine Plexiglasfolie innerhalb
des Erfassungsbereichs der Aufnahmevorrichtungen parallel verschoben
wird, wobei jeweils für
eine Entfernung zu den Aufnahmevorrichtungen durch die Aufnahmevorrichtungen
korrespondierende Aufnahmen von der Plexiglasfolie gemacht werden.
Die korrespondierenden Aufnahmen der Plexiglasfolie in allen Aufstellungspositionen,
sowie die dazugehörenden
Entfernungen zwischen Plexiglasfolie und Aufnahmevorrichtungen, werden
als Kalibrierdaten gespeichert.
-
Gemäß einer
Ausführungsform
können
die zum Kalibrieren verwendeten 2D-Raumkoordinatensysteme innerhalb eines
KOS-Satzes voneinander äquidistant
beabstandet sein. 2D-Raumkoordinatensysteme, die jeweils eine Ebene
aufspannen, sind dann äquidistant,
wenn die entsprechenden Ebenen in gleichen Abständen zueinander aufgestellt
sind. Sofern ein 2D-Raumkoordinatensystem eine andere Fläche aufspannt,
beispielsweise eine Kugel, haben die Flächen, vorzugsweise im Fall äquidistanter
Abstände,
gleichen radialen Abstand zueinander. Variable Abstände zwischen
2D-Raumkoordinatensystemen sind aber auch möglich: In Raum-Bereichen, in denen
bei Positionserfassungen eine höhere
Erfassungsgenauigkeit als in anderen Raum-Bereichen gewünscht wird,
können
die Abstände
zwischen den Flächen
kleiner als in den anderen Raum-Bereichen gewählt werden. Sowohl bei äquidistanten
als auch bei variabel beabstandeten 2D-Raumkoordinatensystemen können die
korrespondierenden 2D-Raumkoordinmatensysteme und die dazugehörenden Entfernungen
zwischen dem jeweiligen 2D-Raumkoordinmatensystem und Aufnahmevorrichtungen
als Kalibrierdaten gespeichert werden. Die vorliegenden Ausführungen
betreffen, sofern nicht anders spezifiziert, äquidistant beabstandete 2D-Raumkoordinatensysteme.
-
Vorzugsweise
kann jedem 2D-Raumkoordinatensystem jeweils eine dritte Koordinate
in einem 3D-Raumkoordinatensystem zugeordnet werden. Der Ursprung
des 3D-Raumkoordinatensystems kann
beliebig festgesetzt werden. Zum Beispiel wird er als Ursprung eines
der 2D-Raumkoordinatensysteme des KOS-Satzes gewählt. Ist diese Wahl einmal getroffen,
kann jeder ebenen Fläche
eines 2D-Raumkoordinatensystem die dritte Koordinate, in Abhängigkeit
vom Abstand zu der Fläche,
welche den Ursprung des 3D-Raumkoordinatensystems
umfasst, zugeordnet werden. Die Zuordnung der dritten Koordinate
ist für
ebene Flächen,
welche parallel/nicht parallel und/oder äquidistant/nicht äquidistant
sind, möglich.
-
Gemäß einer
Ausführungsform
können
die korrespondierenden Abbildungen der 2D-Raumkoordinatensysteme, das heißt die korrespondierenden Koordinatensysteme,
analog oder digital, auf einer Speichervorrichtung oder einem Speichermedium gespeichert
werden. Auf die gespeicherten Daten kann bei der Ausführung einer
Positionserfassung eines Punktes zugegriffen werden. Neben den Abbildungen
der 2D-Raumkoordinatensysteme werden auch die einem 2D-Raumkoordinatensystem
in dem 3D-Raumkoordinatensystem zugeordneten dritten Koordinaten
gespeichert.
-
Ein
weiterer Aspekt der Erfindung betrifft ein Verfahren zur Positionserfassung
mindestens eines Punktes unter Verwendung von mindestens zwei 2D-Aufnahmen
des Punktes, wobei jeweils eine Aufnahme oder ein Bild des Punktes
mit einer ersten Aufnahmevorrichtung und mit einer zweiten Aufnahmevorrichtung
aufgenommen wird. Die mit der ersten Aufnahmevorrichtung erstellte
Aufnahme kann mit einer ersten von zwei korrespondierenden, beim
oben beschriebenen Kalibrieren des Kamerasystems erzeugten, Abbildungen
eines 2D-Raumkoordinatensystems überlagert
werden. Aus dieser ersten Überlagerung
kann ein erster Satz von 2D-Positionskoordinaten des Punktes ermittelt
werden. Die mit der zweiten Aufnahmevorrichtung erstellte Aufnahme kann
mit einer zweiten der zwei korrespondierenden Abbildungen des 2D-Raumkoordinatensystems überlagert
werden. Aus dieser zweiten Überlagerung kann
ein zweiter Satz von 2D-Positionskoordinaten des Punktes ermittelt
werden.
-
Beim
Start des Verfahrens werden Kalibrierdaten, umfassend korrespondierende
Abbildungen eines KOS-Satzes, welche zum Beispiel beim oben beschriebenen
Kalibrieren des Kamerasystems erzeugt wurden, bereitgestellt. Die
Kalibrierdaten sind auf einem Speichermedium verfügbar, auf
welches eine Auswerteeinheit des Kamerasystems zugreifen kann. Die
Auswerteeinheit kann auf korrespondierende Abbildungen jedes der
in dem KOS-Satz
eingeschlossenen 2D-Raumkoordinatensysteme, bedarfsabhängig, zugreifen.
-
Anschließend werden
aus den verfügbaren Abbildungen
des KOS-Satzes zwei korrespondierende Koordinatensysteme, das heißt korrespondierende
Abbildungen eines simulierten oder mittels der den Punkt erfassenden
Aufnahmevorrichtungen gemessenen 2D-Koordinatensystems, ausgewählt. Dabei
wird zum Beispiel, in einer ersten Iteration des Verfahrens, ein
erstes Paar korrespondierender Abbildungen eines, in dem Erfassungsbereich
der Aufnahmevorrichtungen, ersten 2D-Koordinatensystems, ausgewählt.
-
Daraufhin
wird die mit der ersten Aufnahmevorrichtung erstellte korrespondierende
Abbildung des ersten Paares korrespondierender Abbildungen mit der
Aufnahme des Punktes überlagert,
welche ebenfalls mit der ersten Aufnahmevorrichtung erstellt wurde.
Mit anderen Worten wird die Aufnahme des mit der ersten Aufnahmevorrichtung
erstellten korrespondierenden Koordinatensystems in die mit der ersten
Aufnahmevorrichtung erstellte Aufnahme des Punktes eingeblendet.
Anschließend
wird die mit der zweiten Aufnahmevorrichtung erstellte korrespondierende
Abbildung des ersten Paares korrespondierender Abbildungen mit der
Aufnahme des Punktes überlagert,
welche ebenfalls mit der zweiten Aufnahmevorrichtung erstellt wurde.
Mittels Überlagerung der
mit der ersten Aufnahmevorrichtung erstellten Aufnahme des Punktes
mit dem ersten korrespondierenden Koordinatensystem, kann ein erster
Satz von 2D-Positionskoordinaten des Punktes ermittelt werden. Mittels Überlagerung
der mit der zweiten Aufnahmevorrichtung erstellten Aufnahme des
Punktes mit dem zweiten korrespondierenden Koordinatensystem, kann
ein zweiter Satz von 2D-Positionskoordinaten des Punktes ermittelt
werden.
-
Im
nachfolgenden Schritt findet ein Vergleich der zwei Sätze von
2D-Positionskoordinaten des Punktes in den zwei korrespondierenden
Abbildungen des ersten 2D-Raumkoordinatensystems
des KOS-Satzes statt. Das Ergebnis des Vergleichs ist entweder 1) Übereinstimmung
oder 2) Nichtübereinstimmung
der zwei Sätze
von 2D-Positionskoordinaten
des Punktes. Abhängig
vom Ergebnis werden jeweils unterschiedliche Operationen durchgeführt, die nachfolgend
erläutert
werden.
-
Im
Fall einer Übereinstimmung
der zwei Sätze
von 2D-Positionskoordinaten des Punktes kann erschlossen werden,
dass jeder der zwei Sätze
von 2D-Positionskoordinaten des Punktes die 2D-Positionskoordinaten
des Punktes wiedergibt. Jetzt fehlt noch die dritte Positionskoordinate
zu einer vollständigen
Positionsbestimmung des Punktes. Die dritte Positionskoordinate
des Punktes in dem 3D-Raumkoordinatensystem stimmt mit der dritten
Koordinate überein,
welche dem ersten 2D-Raumkoordinatensystem in dem KOS-Satz zugeordnet
ist und gespeichert vorliegt. Durch Zuordnen dieser dritten Koordinate
dem ersten oder zweiten Satz von 2D-Positionskoordinaten des Punktes
erhält
man einen Satz von 3D-Positionskoordinaten
des Punktes. Durch Ermittlung dieses Satzes von 3D-Positionskoordinaten des
Punktes ist die Positionserfassung des Punktes vollendet.
-
Im
Fall einer Nichtübereinstimmung
wird die Suche nach einem geeigneten Satz von Positionskoordinaten
des Punktes fortgesetzt. Dazu wird zum Beispiel, in einem zweiten
Iterationsschritt, ein zweites Paar korrespondierender Abbildungen
eines, in dem Erfassungsbereich der Aufnahmevorrichtungen, zweiten
2D-Koordinatensystems, ausgewählt.
-
Daraufhin
wird die mit der ersten Aufnahmevorrichtung erstellte korrespondierende
Abbildung des zweiten Paares korrespondierender Abbildungen mit
der Aufnahme des Punktes überlagert,
welche ebenfalls mit der ersten Aufnahmevorrichtung erstellt wurde.
Anschließend
wird die mit der zweiten Aufnahmevorrichtung erstellte korrespondierende
Abbildung des zweiten Paares korrespondierender Abbildungen mit
der Aufnahme des Punktes überlagert, welche
ebenfalls mit der zweiten Aufnahmevorrichtung erstellt wurde. Mittels Überlagerung
der mit der ersten Aufnahmevorrichtung erstellten Aufnahme des Punktes
mit dem ersten korrespondierenden Koordinatensystem, kann der erste
Satz von 2D-Positionskoordinaten
des Punktes ermittelt werden. Mittels Überlagerung der mit der zweiten
Aufnahmevorrichtung erstellten Aufnahme des Punktes mit dem zweiten
korrespondierenden Koordinatensystem, kann der zweiter Satz von
2D-Positionskoordinaten des Punktes ermittelt werden.
-
Im
nachfolgenden Schritt findet erneut ein Vergleich der zwei Sätze von
2D-Positionskoordinaten
des Punktes in den zwei korrespondierenden Abbildungen des zweiten
2D-Raumkoordinatensystems des KOS-Satzes statt. Im Fall einer Übereinstimmung
der zwei Sätze
von 2D-Positionskoordinaten des Punktes kann erschlossen werden,
dass jeder der zwei Sätze
von 2D-Positionskoordinaten des Punktes die 2D-Positionskoordinaten
des Punktes wiedergibt. Die dritte Positionskoordinate des Punktes
in dem 3D-Raumkoordinatensystem stimmt mit der dritten Koordinate überein,
welche dem ersten 2D-Raumkoordinatensystem in dem KOS-Satz zugeordnet
ist und gespeichert vorliegt. Durch Zuordnen dieser dritten Koordinate
dem ersten oder zweiten Satz von 2D-Positionskoordinaten des Punktes
erhält
man den Satz von 3D-Positionskoordinaten des Punktes.
-
Im
Fall einer Nichtübereinstimmung
wird die Suche nach einem geeigneten Satz von Positionskoordinaten
des Punktes fortgesetzt. Dazu wird, in einem dritten Iterationsschritt,
ein drittes Paar korrespondierender Abbildungen eines, in dem Erfassungsbereich
der Aufnahmevorrichtungen, dritten 2D-Koordinatensystems, ausgewählt, und
mit den mit der ersten und mit der zweiten Aufnahmevorrichtung erstellten
Aufnahmen des Punktes überlagert. Die
darauffolgend ermittelten zwei Sätze
von Positionskoordinaten des Punktes werden erneut auf Übereinstimmung
geprüft.
Bei Nichtübereinstimmung wird,
in einem vierten Iterationsschritt, ein viertes Paar korrespondierender
Abbildungen eines viertes 2D-Koordinatensystems
ausgewählt,
bei erneuter Nichtübereinstimmung
der zwei Sätze
von Positionskoordinaten des Punktes ein fünftes Paar, und so weiter,
bis Übereinstimmung
der zwei Sätze
von Positionskoordinaten des Punktes erreicht wird.
-
Für die Ermittlung
der dritten Positionskoordinate des Punktes kann, wie bereits dargestellt,
auf die beim Kalibrieren gespeicherten Kalibrierdaten zurückgegriffen
werden. Jedem 2D-Raumkoordinatensystem
in dem KOS-Satz wird beim Kalibrieren des Kamerasystems in einem
3D-Raumkoordinatensystem eine dritte Koordinate zugewiesen, welche
zusammen mit den korrespondierenden Abbildungen des 2D-Raumkoordinatensystems
gespeichert wird. Beim Feststellen einer Übereinstimmung der 2D-Positionskoordinaten
des Punktes in den zwei korrespondierenden 2D-Raumkoordinatensystemen
kann auf die damit verbundene und beim Kalibrieren gespeicherte
dritte Koordinate zugegriffen werden.
-
Wenn
keine Übereinstimmung
der 2D-Positionskoordinaten des Punktes in zwei korrespondierenden
Abbildungen eines 2D-Raumkoordinatensystems ermittelt werden kann,
weil zum Beispiel die Abstände
zwischen benachbarten 2D-Koordinatensystemen zu groß sind,
dann kann ein Abstand zwischen 2D-Positionskoordinaten, das heißt zwischen
zwei Sätzen
von 2D-Positionskoordinaten des Punktes in zwei korrespondierenden
Abbildungen als Funktion der dritten Koordinate formuliert werden.
In einem kartesischen Koordinatensystem kann ein solcher Abstand
in der i-ten Iteration des Verfahrens wie folgt aussehen: di = [(x1,1 – x2,1)2 + (x2,1 – x2,2)2]1/2 =
d(x3), (1) wobei x3 = x3(i) (2)
-
In
der Gleichung (1) sind x1,1, x1,2 die
2D-Positionskoordinaten im ersten Satz, und x2,1,
x2,2 die 2D-Positionskoordinaten im zweiten
Satz von 2D-Positionskoordinaten des Punktes. x3 ist
die dritte Koordinate, welche dem 2D-Raumkoordinatensystem zugeordnet
ist, von dem die korrespondierenden Abbildungen abgeleitet sind,
in welchen der erste und der zweite Satz von 2D-Positionskoordinaten
des Punktes ermittelt wurden. Die Gleichung (2) bringt zum Ausdruck,
dass die dritte Koordinate x3 in jeder Iteration
des Verfahrens einen anderen Wert aufweist. Im Allgemeinen nimmt
die dritte Koordinate x3 mit zunehmendem
Fortschreiten des Verfahrens zu.
-
Beim
Ausführen
der bisher beschriebenen Verfahrensschritte kann zum Beispiel folgende
Situation auftreten: Der Abstand di gemäß Gleichung
(1) hat in der ersten Iteration des Verfahrens einen Startwert d1. In der zweiten Iteration hat der Abstand
einen Wert d2, in der dritten Iteration
einen Wert d3 und so weiter. Die erhaltenen
Abstände
können
folgende Größenrelation
zueinander aufweisen: d1 > d2 > d3 > ... > d12 > d13 < d14 < d15 < d16 < ... (3)
-
Aus
der Beziehung (2) ist ersichtlich, dass die Abstände d(x3)
zwischen dem ersten und dem zweiten Satz von 2D-Positionskoordinaten
des Punktes in den ersten 13 Iterationen des Verfahrens abnehmen,
bei d13 ein Minimum erreichen und ab d14 zunehmen. Daraus folgt, dass die dritte
Positionskoordinate des Punktes einen Wert X3 hat,
welcher der Beziehung entspricht: x3(13) < X3 < x3(14) (4)
-
Das
Verfahren ist also nicht nur dann abzubrechen, wenn eine Übereinstimmung
der 2D-Positionskoordinaten
des Punktes in zwei korrespondierenden Abbildungen eines 2D-Raumkoordinatensystems
ermittelt werden kann. Das Verfahren ist auch dann abzubrechen,
wenn ein Minimum des Abstands d zwischen zwei Sätzen von 2D-Positionskoordinaten
des Punktes erreicht ist.
-
Gemäß Beziehung
(4) kann die dritte Positionskoordinate des Punktes, sofern das
Verfahren deshalb abgebrochen wurde, weil ein Minimum des Abstands
d zwischen zwei Sätzen
von 2D-Positionskoordinaten des Punktes erreicht ist, nur mit beschränkter Genauigkeit
ermittelt werden. Diese Genauigkeit kann dadurch erhöht werden,
dass entweder die Abstände
zwischen 2D-Raumkoordinatensystemen beim Kalibrieren kleiner gewählt werden, oder
dass ein Näherungsverfahren
für die
Ermittlung von X3 angewendet wird. Ein solches
Näherungsverfahren
kann darin bestehen, dass für
die Funktion d eine funktionale Approximation, beispielsweise eine Splines-
oder Polynomapproximation, gewählt
wird, und anschließend
entweder ein Minimum, oder eine Nullstelle der Funktion d ermittelt
wird. Zum Durchführen
der Nullstellensuche ist die Funktion d bereichsweise mit –1 zu multiplizieren,
beispielsweise in dem monoton steigenden Bereich von d, siehe Beziehung
(3). Der ermittelte Wert von x3 für die Nullstelle oder
für das
Minimum von d ist die gesuchte dritte Positionskoordinate des Punktes
in dem 3D-Raumkoordinatensystem.
-
Gemäß einer
Ausführungsform
kann, neben den 3D-Positionskoordinaten des Punktes in dem 3D-Raumkoordinatensystem,
auch eine der Position zugeordnete Zeit erfasst werden. Die 3D-Position umfasst
die 2D-Positionskoordinaten in einem der korrespondierenden Koordinatensysteme
und die dritte Positionskoordinate, wobei die 2D-Positionskoordinaten
plus dritte Positionskoordinate bei Bedarf von einem 2D-Raumkoordinatensystem
in das 3D-Raumkoordinatensystem
transformiert werden können.
Die Zeit entspricht einem der Position zugeordneten Zeitstempel,
wobei die Position als eine Momentaufnahme des gegebenenfalls dynamischen
Punktes aufzufassen ist. Falls der Punkt statisch ist, so bleibt
die Position für
alle betrachteten Zeitwerte unverändert. Die Positionen werden, ähnlich wie
in einem Film, zu vorbestimmten, bevorzugt äquidistanten, Zeitpunkten ermittelt
und aufgezeichnet oder gespeichert. Die aneinander gereihten Position-
und Zeitdaten bilden eine diskrete Positions-Zeitreihe.
-
Gemäß einer
weiteren Ausführungsform kann
aus der Positions-Zeitreihe, das heißt aus den Positionsdaten zu
einer Mehrzahl aufeinanderfolgender Positionen und dazugehörenden Zeiten,
zu jedem Zeitpunkt eine Geschwindigkeit und eine Beschleunigung
ermittelt werden. Geschwindigkeit und Beschleunigung entsprechen
mathematisch einer ersten und einer zweiten Ableitung des hinterlegten Weges
nach der Zeit, wobei der Weg als Verkettung von Wegstücken zwischen
jeweils zwei aufeinanderfolgenden Positionen des Punktes aufgefasst
werden kann. Die Ableitungen nach der Zeit können mit gängigen Methoden der numerischen
Mathematik ermittelt werden. Aus den erfassten Daten kann ein Satz charakteristischer
Bewegungszeitreihen des Punktes ermittelt werden, umfassend eine
Positionszeitreihe, und/oder eine Geschwindigkeitszeitreihe und/oder eine
Beschleunigungszeitreihe. Die schnelle, effiziente und präzise Erfassung
der Geschwindigkeit ist vielseitig anwendbar, beispielsweise für Geschwindigkeitsmessungen
im Straßenverkehr
oder bei Autorennen, beispielsweise Formel 1-Rennen, anstelle der
wesentlich aufwendigeren Radar- oder Laser-Messungen.
-
Gemäß einer
Ausführungsform
kann der Punkt ein Teil eines sich bewegenden Objekts, beispielsweise
eines Balls oder eines Pucks auf einem Spielfeld, sein. Der Punkt
kann stellvertretend für
die Position des gesamten Objekts sein. Bei einem Ball kann der
Punkt beispielsweise ein Infrarotsender sein, der im Zentrum des
Balls durch elastische Bänder
an den Ballwänden
festgemacht ist. Das Kamerasystem umfasst in diesem Fall, zum erzeugen
der 2D-Aufnahmen, IR-Aufnahmevorrichtungen. In weiteren Ausführungsformen
können
auch andere oder mehrere Punkte des Objekts getrackt oder erfasst werden,
beispielsweise mehrere an der Innenfläche des Balls angeklebte oder
eingenähte
IR-Sender. Alternativ kann die Positionsbestimmung auch auf optischer
Basis durchgeführt
werden, indem an die Balloberfläche
optisch reflektierende Elemente angeordnet werden.
-
Gemäß einer
weiteren Ausführungsform kann
das Verfahren dazu eingesetzt werden, das Konzept einer virtuellen
Computertastatur zu realisieren. Das Konzept sieht vor, eine herkömmliche
Tastatur mit drückbaren
Tasten, wobei eine Bedienperson mittels eines Tastendrucks eine
Tastenoperation ausführt,
durch die virtuelle Computertastatur zu ersetzen. Die Tastenoperation
betrifft das Auswählen eines
Zeichens aus einem Zeichensatz der Computertatstatur mittels eines
Tastendrucks, das Wandeln des Tastendrucks durch die Tastatur in
eine elektrische Information und das anschließende Übertragen der elektrischen
Information an einen angeschlossenen PC, Das Auswählen eines
Zeichens aus einem Zeichensatz der virtuellen Computertatstatur
kann in dem vorliegenden Konzept beispielsweise durch Bewegen eines
Fingers in der Nähe
eines Tastenelements der virtuellen Tastatur erreicht werden, wobei das
Tastenelement ein Element eines auf der virtuellen Tastatur, welche
beispielsweise ein dünner,
brettartiger Gegenstand in der Größe einer herkömmlichen
Computertastatur, aus hohlem oder massivem Holz oder Kunststoff
mit einer glatter Oberfläche,
mit aufgezeichnetem Tastenfeld, sein kann. Die virtuelle Tastatur
kann auch als Head-Up-Display, oder als Brille mit integriertem
Head-Up-Display, oder als Head-Mounted
Display, oder als Bildprojektion auf einer im Wesentlichen ebenen
Unterlage, beispielsweise einem Arbeitstisch, realisiert sein. Die
Nähe des Fingers
zu dem Tastenelement kann dadurch festgestellt werden, dass in einer
Definitionsphase ein für die
Nähe des
Fingers zu dem Tastenelement typisches Muster der charakteristischen
Bewegungszeitreihe des Fingers definiert und einem dem Tastenelement
zugeordneten Zeichen zugeordnet wird, und in einer späteren Durchführungsphase
zunächst
ein Satz charakteristischer Bewegungszeitreihen des Fingers mittels
Kamerasystem ermittelt wird, anschließend diese charakteristischen
Bewegungszeitreihen zum Erkennen des für die Nähe des Fingers zu dem Tastenelement
typischen Musters analysiert wird, und danach das Zeichen ausgewählt wird,
welches diesem Muster oder Tastenelement zugeordnet ist.
-
Ein
Auflegen der Hand auf die virtuelle Tastatur ohne die Absicht, eine
Tastenoperation auszuführen,
ist auch möglich,
wenn vorher festgelegte oder vorgegebene oder vorgebbare Bedingungen
erfüllt sind.
Beispielsweise wird bei einem langsamen Auflegen der Hand auf die
virtuelle Tastatur keine Tastenoperation ausgeführt. Die Bedingungen können dann
bestehen, dass die Fingergeschwindigkeit größer als eine vorgegebene Mindestgeschwindigkeit und/oder,
dass der Betrag der negativen Beschleunigung, das heißt die Abbremsung,
des Fingers größer als
ein vorgegebener Betrag ist. Die Mindestgeschwindigkeit, beispielsweise
1 cm/s oder 10 cm/s, muss überschritten
werden, um eine Tastenoperation auszulösen. Wenn eine Bewegung unter
dieser Mindestgeschwindigkeit erfasst wird, dann wird keine Tastenoperation
ausgelöst.
-
In
dem Konzept der virtuellen Computertatstur kann, wie bereits erwähnt, der
Punkt Teil einer Hand, beispielsweise eines Fingers oder Fingernagels
einer Person sein, welche die virtuelle Computertastatur bedient.
Der Fingernagel eignet sich als Bezugspunkt wegen seiner guten Reflexionseigenschaften
und weil er sich an der Spitze eines Fingers befindet. Die Definitionsphase
dient dazu, einen Satz von Muster der charakteristischen Bewegungszeitreihen
des Fingers der Bedienperson, welche z. B. die virtuelle Computertastatur
zum Auswählen
eines Zeichens oder Schriftzeichens oder Symbols oder Charakters
aus einem Zeichensatz der virtuellen Computertatstatur bedient,
zu definieren, und anschließend jeweils
ein Muster jeweils einem Zeichen der virtuellen Computertatstatur
zuzuordnen.
-
Beim
Start der Definitionsphase wird zunächst ein erstes Zeichen aus
dem Zeichensatz der virtuellen Computertatstatur, beispielsweise
der Buchstabe „a”, ausgewählt. In
Verbindung mit diesem ersten Zeichen wird anschließend ein
Bewegungsmuster des Fingers zum Auswählen dieses ersten Zeichens
als ein Muster der charakteristischen Bewegungszeitreihen des Fingers
definiert. Dieses Bewegungsmuster des Fingers zum Auswählen des
ersten Zeichens wird dem ersten Zeichen zugeordnet. Das Bewegungsmuster
kann beispielsweise einem Einbringen des Fingers in die Nähe des Tastenelements,
welches zum Beispiel mit dem Buchstaben „a” korrespondiert, und einem
kurzen Verweilen des Fingers in diesem Bereich, entsprechen.
-
Darauffolgend
kann die so ermittelte Zuordnungsvorschrift [erstes Zeichen, Bewegungsmuster des
Fingers zum Auswählen
des ersten Zeichens] gespeichert werden.
-
Anschließend können die
im Zusammenhang mit dem ersten Zeichen aus dem Zeichensatz der virtuellen
Computertastatur erwähnten
Schritte der Definitionsphase für
ein zweites Zeichen sowie für
alle weiteren Zeichen aus dem Zeichensatz der virtuellen Computertastatur
wiederholt werden.
-
Die
Zeitreihen, das heißt
die Positions-, die Geschwindigkeits- und die Beschleunigungszeitreihe,
sowie die dazugehörenden
Signale, können
Störungen
oder Rauschen umfassen. Dieses Problem kann mit entsprechenden Verfahren,
beispielsweise Fuzzy-Technologie oder Filtern, beispielsweise digitalen
Filter, behandelt werden.
-
Ein
Bewegungsmuster des Fingers zum Auswählen eines Zeichens aus dem
Zeichensatz der virtuellen Computertatstatur als ein Muster der
charakteristischen Bewegungszeitreihen des Fingers kann wie folgt
aussehen:
Es wird ein geometrischer Bereich um das Tastenelement
vorgegeben, wobei die Fingerposition darauf geprüft wird, ob sie sich innerhalb
oder außerhalb des
Bereichs befindet. Damit kann die Nähe des Fingers zu einem Tastenelement
der virtuellen Tastatur geprüft
werden.
-
Es
wird ein Werteintervall, vorzugsweise mit negativen Zahlenwerten,
für die
Obergrenze und die Untergrenze des Wertintervalls, für die Fingerbeschleunigung
vorgegeben, wobei geprüft
wird, ob die Fingerbeschleunigung sich innerhalb des Intervalls befindet.
Damit kann geprüft
werden, ob die Fingerbewegung abgebremst ist. Schließlich wird
ein Werteintervall, vorzugsweise [–epsilon, +epsilon] für die Fingergeschwindigkeit
vorgegeben, wobei epsilon ein kleiner positiver Wert, beispielsweise
ein Wert kleiner 1 oder 0,1 oder 0,01 m/s ist. Damit kann geprüft werden,
ob der Finger zum Stehen kommt.
-
Über die
oben dargestellten Beispiele hinaus können noch weitere Bewegungsmuster
des Fingers zum Auswählen
eines Zeichens aus dem Zeichensatz der virtuellen Computertatstatur
definiert werden. Zur Erkennung solcher Bewegungsmuster können bekannte
Verfahren zur Mustererkennung, beispielsweise aus der künstlichen
Intelligenz wie Künstliche
Neuronale Netze, Fuzzy Logic, Expertensysteme, oder Kombinationen
davon, eingesetzt werden.
-
Gemäß einer
Ausführungsform
kann das Verfahren dazu eingesetzt werden, das Konzept einer virtuellen
Computermaus zu realisieren. Das Konzept sieht vor, eine herkömmliche
Maus mit drückbaren
Tasten, welche hin und her bewegt wird, durch die virtuelle Computermaus
zu ersetzen. Die virtuelle Computermaus wird durch eine Bedienperson
zum Auswählen
einer Cursorbewegung oder Cursoroperation eines Computers aus einem
Satz von Cursoroperationen, welche durch die virtuelle Computermaus
ausgelöst
werden können,
bedient. Eine Cursoroperation kann beispielsweise eine mit einer
Mausbewegung gekoppelte Cursorbewegung oder eine mit einem Tastendruck
auf einer rechten oder linken Maustaste gekoppelte Cursorfestlegung sein.
Das Auswählen
einer Cursoroperation kann beispielsweise durch Bewegen eines Fingers
in der Nähe
oder unmittelbaren Umgebung eines virtuellen Mauspads erreicht werden,
wobei das virtuelle Mauspad ähnlichen
Aufbau wie ein herkömmliches
Mauspad haben oder einfach ein vorbestimmter geometrischer Bereich
vor dem Computer sein kann. Das virtuelle Mauspad kann auch als
Head-Up-Display, oder als Brille mit integriertem Head-Up-Display,
oder als Head-Mounted Display, oder als Bildprojektion auf einer
im Wesentlichen ebenen Unterlage, beispielsweise einem Arbeitstisch,
realisiert sein. Die Nähe
des Fingers zu dem Mauspad kann dadurch festgestellt werden, dass
in einer Definitionsphase ein für
die Nähe
des Fingers zu dem Mauspad typisches Muster der charakteristischen
Bewegungszeitreihe des Fingers definiert und einem bestimmten Mausoperation zugeordnet
wird, aus dem Satz von Cursoroperationen, welche durch die virtuelle
Computermaus ausgelöst
werden können,
und in einer späteren
Durchführungsphase
zunächst
ein Satz charakteristischer Bewegungszeitreihen des Fingers mittels
Kamerasystem ermittelt wird, anschließend diese charakteristischen
Bewegungszeitreihen zum Erkennen des für die Nähe des Fingers zu dem Mauspad
typischen Musters analysiert wird, und danach die Cursoroperation
ausgewählt
wird, welches diesem Muster zugeordnet ist.
-
Ein
Auflegen der Hand auf das virtuelle Mauspad ohne die Absicht, eine
Cursoroperation auszuführen,
ist auch möglich,
wenn vorher festgelegte oder vorgegebene oder vorgebbare Bedingungen
erfüllt
sind. Beispielsweise wird bei einem langsamen Auflegen der Hand
auf das virtuelle Mauspad keine Cursoroperation ausgeführt. Die
Bedingungen können
darin bestehen, dass die Fingergeschwindigkeit größer als
eine vorgegebene Mindestgeschwindigkeit und/oder, dass der Betrag
der negativen Beschleunigung, das heißt die Abbremsung, des Fingers
größer als
ein vorgegebener Betrag ist. Die Mindestgeschwindigkeit, beispielsweise
1 cm/s oder 10 cm/s, muss überschritten
werden, um eine Cursoroperation auszulösen. Wenn eine Bewegung unter dieser
Mindestgeschwindigkeit erfasst wird, dann wird keine Cursoroperation
ausgelöst.
-
In
dem Konzept der virtuellen Computermaus kann, wie bereits erwähnt, der
Punkt Teil einer Hand, beispielsweise eines Fingers oder Fingernagels
einer Person sein, welche die virtuelle Computermaus bedient. Die
Definitionsphase dient dazu, einen Satz von Muster der charakteristischen
Bewegungszeitreihen des Fingers der Bedienperson, welche z. B. die
virtuelle Computermaus zum Auswählen einer
Cursoroperation aus einem Satz von Cursoroperationen der virtuellen
Computermaus bedient, zu definieren, und anschließend jeweils
ein Muster jeweils einer Cursoroperation der virtuellen Computermaus
zuzuordnen.
-
Beim
Start der Definitionsphase wird zunächst eine erste Cursoroperation
aus dem Satz von Cursoroperationen der virtuellen Computermaus, beispielsweise
eine Startbewegung eines Cursors, ausgewählt. In Verbindung mit dieser
ersten Cursoroperation wird anschließend ein Bewegungsmuster des
Fingers zum Auswählen
dieser ersten Cursoroperation als ein Muster der charakteristischen
Bewegungszeitreihen des Fingers definiert. Dieses Bewegungsmuster
des Fingers zum Auswählen
der ersten Cursoroperation wird der ersten Cursoroperation zugeordnet.
Das Bewegungsmuster kann beispielsweise einem Einbringen des Fingers
in die Nähe
des Mauspads, und einem kurzen Verweilen des Fingers in diesem Bereich,
entsprechen.
-
Darauffolgend
kann die so ermittelte Zuordnungsvorschrift [erste Cursoroperation,
Bewegungsmusters des Fingers zum Auswählen der ersten Cursoroperation]
gespeichert werden.
-
Anschließend können die
im Zusammenhang mit der ersten Cursoroperation aus dem Satz von
Cursoroperationen der virtuellen Computermaus erwähnten Schritte
der Definitionsphase für
eine zweite Cursoroperation sowie für alle weiteren Cursoroperationen
aus dem Satz von Cursoroperationen der virtuellen Computermaus wiederholt
werden.
-
Der
Satz von Cursoroperationen im Konzept der virtuellen Computermaus
entspricht dem Satz von Cursoroperationen im herkömmlichen
Mauskonzept.
-
Ein
Bewegungsmuster des Fingers zum Auswählen einer Cursoroperation
aus dem Satz von Cursoroperationen der virtuellen Computermaus als ein
Muster der charakteristischen Bewegungszeitreihen des Fingers kann
wie folgt aussehen:
Es wird ein geometrischer Bereich um das
Mauspad vorgegeben, wobei die Fingerposition darauf geprüft wird,
ob sie sich innerhalb oder außerhalb
des Bereichs befindet. Damit kann die Nähe des Fingers zu dem Mauspad
geprüft
werden.
-
Anschließend werden
Geschwindigkeit und Beschleunigung geprüft, ob sie den Bedingungen
für einen
Fingerstillstand entsprechen. Falls ja, wird der Fingerstillstand
als Startposition des Fingers für
die Mausbewegung aufgefasst. Anschließend werden die nachfolgenden
Fingerbewegungen zum Bewegen des Cursors auf einem Bildschirm genutzt,
bis eine Endposition des Fingers, definiert entweder durch einen
erneuten Fingerstillstand oder eine Fingerposition außerhalb
des Mauspad-Bereichs, festgestellt wird.
-
Der
Zustands eines Tastenelements der virtuellen Computermaus wird als „gedrückt” erkannt, falls
Fingergeschwindigkeit und Fingerbeschleunigung Werte gemäß einem
Satz vorbestimmter, einem Start und einem Ende einer Fingerbewegung,
ohne laterale Bewegungskomponente parallel zum Mauspad, entsprechende
Randbedingungen, aufweisen. Start und Ende der Fingerbewegung sind
durch die obigen Randbedingungen für eine Start- und eine Endposition
des Fingers definiert, wobei der Finger zum „Drücken” eine im Wesentlichen vertikale
Bewegung ausführt.
-
Über die
oben dargestellten Beispiele hinaus können noch weitere Maus-Bewegungsmuster
definiert werden. Zur Erkennung eines Maus-Bewegungsmusters können bekannte
Verfahren zur Mustererkennung, beispielsweise aus der künstlichen
Intelligenz wie Künstliche
Neuronale Netze, Fuzzy Logic, Expertensysteme, oder Kombinationen
davon, eingesetzt werden.
-
In
einer vorteilhaften Ausführungsform
kann die Positions-, Geschwindigkeits-, und/oder Beschleunigungsmessung
bei einer Spielkonsole oder einem Computerspiel zum Steuern der
Spielkonsole oder des Computerspiels verwendet werden.
-
Ein
weiterer Aspekt der Erfindung betrifft ein Kamerasystem zur Positionserfassung
mindestens eines Punktes. Das Kamerasystem umfasst mindestens zwei
Aufnahmevorrichtungen zum Aufnehmen von 2D-Aufnahmen des Punktes,
eine Speichervorrichtung zum Speichern korrespondierender Abbildungen
von 2D-Raumkoordinatensystemen,
welche mittels des oben geschilderten Verfahrens zum Erzeugen von
Kalibrierdaten für
das Kamerasystem generiert sind, und eine mit den Aufnahmevorrichtungen
und mit der Speichervorrichtung gekoppelte Auswerteeinheit, welche
ein Verfahren zur Positionserfassung des Punktes mittels der korrespondierenden Abbildungen
von 2D-Raumkoordinatensystemen und der 2D-Aufnahmen des Punktes
ausführen
kann. Die Auswerteeinheit kann darüber hinaus auch das oben geschilderte
Verfahren zum Kalibrieren des Kamerasystems ausführen.
-
Eine
Aufnahmevorrichtung kann eine Videokamera, eine Bild-Kamera, eine
Infrarot- oder Wärmekamera,
eine Radarkamera, eine Ultraschallkamera, oder eine sonstige bildgebende
Kamera sein. Ein typisches Kamerasystem umfasst zwei Aufnahmevorrichtungen.
-
Die
Speichervorrichtung kann ein digitaler Datenspeicher, beispielsweise
RAM (Random Access Memory), DRAM, SRAM, ROM (Read Only Memory),
EPROM, ein ferromagnetischer Speicher (Festplatte), ein optischer
Speicher (CD-ROM), ein Magnetband, oder Kombinationen davon, sein.
Auch ein analoger Datenspeicher kann genutzt werden, beispielsweise
Fotografie, Negativfilm, oder Holografie. Die Speichervorrichtung
kann als Teil des Kamerasystems ausgebildet oder über ein
mit dem Kamerasystem gekoppelten Netzwerk zugänglich sein. Die Speichervorrichtung
kann als separate Funktionseinheit oder als Teil der Auswerteeinheit
ausgebildet sein.
-
Die
Auswerteeinheit ist dazu ausgebildet, das Speichern der Kalibrierdaten
zu steuern und gegebenenfalls Kalibrierdaten zum Kalibrieren des
Kamerasystems zu generieren, sofern ein KOS-Satz von 2D-Koordinatensystemen
virtuell erzeugt und positioniert wird.
-
Gemäß einer
Ausführungsform
können
die Aufnahmevorrichtungen an dem Bildschirm, vorzugsweise in einem
Bereich seitlich und/oder oberhalb des Bildschirms, eines PC-Systems, beispielsweise eines
Desktops oder Laptops, angeordnet sein. Das PC-System ist dazu ausgebildet,
mittels einer Software oder eines Computerprogramms, das Verfahren
zum Kalibrieren und zur Positionserfassung auszuführen. Die
Aufnahmevorrichtungen sind vorzugsweise zur Erstellung von optischen
und/oder IR-Aufnahmen ausgebildet.
-
Das
Kamerasystem kann zwei optische und zwei IR Aufnahmevorrichtungen
umfassen, wobei die Auswerteeinheit dazu ausgebildet ist, eine Kalibrierung
und eine Positionserfassung sowohl mit den optischen als auch mit
den IR Aufnahmevorrichtungen auszuführen. Durch die doppelte Positionserfassung, erstens
durch die optische und zweitens durch die IR Aufnahmevorrichtungen,
und die damit verbundene Möglichkeit
einer Querüberprüfung der
ermittelten Positionen, kann die Fehlerquote bei der Erkennung von
Fingerpositionen und Bewegungsmustern des Fingers der Bedienperson
reduzieret werden. Andere Kombinationen von auf unterschiedlichen
physikalischen Bildaufnahmeprinzipien beruhenden Aufnahmevorrichtungen
sind auch möglich.
-
Die
vorliegende Erfindung wird anhand von Ausführungsbeispielen näher erläutert werden.
Dabei zeigt
-
1 eine
erste schematische Darstellung der Funktionselemente eines Kamerasystems
zur Erläuterung
eines Verfahrens zur Erzeugung von Kalibrierdaten,
-
1a eine
schematische Darstellung der Simulation einer Kalibrier-Ebene innerhalb
eines Erfassungs- oder Dynamikbereichs
-
2 eine
zweite schematische Darstellung der Funktionselemente eines Kamerasystems
zur Erläuterung
des Verfahrens zur Erzeugung von Kalibrierdaten,
-
3 eine
schematische Darstellung der Funktionselemente eines Kamerasystems
zur Erläuterung
eines Verfahrens zur Positionserfassung eines Punktes,
-
4 eine
schematische Darstellung einer virtuellen Computermaus.
-
In
der 1 sind die Funktionselemente eines Kamerasystems
dargestellt, in einer Anordnung, die zur Umsetzung des Verfahrens
zur Erzeugung von Kalibrierdaten erforderlich ist. Eine erste und eine
zweite bildgebende Aufnahmevorrichtung 16, 18 sind
vor einem Satz von 2D-Raumkoordinatensystemen, einem sog. KOS-Satz,
umfassend drei 2D-Raumkoordinatensysteme 12, 13, 14,
welche in jeweils drei parallelen und zueinander äquidistanten Ebenen
enthalten sind. Jedem dieser 2D-Raumkoordinatensysteme 12, 13, 14 ist
jeweils eine dritte Koordinate z3,1, z3,2, z3,3 in einem
globalen 3D-Koordinatensystem x1, x2, x3 zugeordnet.
Die Aufnahmevorrichtungen 16, 18 sind mit einer
Auswerteeinheit 10 gekoppelt, welche vorzugsweise ein PC
ist, aber zumindest einen Mikroprozessor und eine Speichervorrichtung
umfasst.
-
Der
KOS-Satz wird im Rahmen einer numerischen Simulation virtuell erzeugt.
Hierzu werden an beiden Enden des Erfassungs- oder Dynamikbereichs
zwei, beispielsweise durch jeweils drei Punkte bestimmte, End-Ebenen
vorgegeben oder bestimmt oder durch Messung festgelegt. Eine Kalibrier-Ebene in
dem Erfassungsbereich in einem vorgegebenen Abstand zu den Aufnahmevorrichtungen
und ein damit verbundenes 2D-Raumkoordinatensystem werden dann,
wie in der 1a gezeigt, mittels Interpolation
generiert, wobei die Kalibrier-Ebene
zum Beispiel wie auf einem Schienensystem mit drei, entsprechende
Punkte der End-Ebenen
verbindenden, Schienen virtuell um eine vorbestimmte Strecke verschiebbar
ist. Zwischen den bekannten oder gemessenen oder kalibrierten End-Ebenen
bei x3min und bei x3max wird
die Kalibrier-Ebene an einer gewünschten Position
x3 zwischen x3min und
x3max positioniert, indem ihr ein gewünschter
Wert x3 in dem Intervall [x3min, x3max] zugewiesen wird. Gemäß Strahlensatz
kann die Kalibrier-Ebene auch dadurch positioniert werden, dass
ihr eine bestimmte Schienenlänge
entlang einer der drei Schienen zugewiesen wird.
-
Die
2D-Raumkoordinatensysteme 12, 13, 14 sind
werden dadurch generiert, dass ein 2D-Raumkoordinatensystem in einem ersten
z3,1, einem zweiten z3,2,
und einem dritten Abstand z3,3 von den Aufnahmevorrichtungen 16, 18 aufgestellt
und sukzessive von den Aufnahmevorrichtungen 16, 18 aufgenommen
werden. Gemäß 2 werden
beim Aufnehmen von jeweils einem 2D-Raumkoordinatensystem mit der
ersten Aufnahmevorrichtung 16 erste korrespondierende Abbildungen 12', 13', 14' oder korrespondierende
Koordinatensysteme 12', 13', 14', und mit der
zweiten Aufnahmevorrichtung 18 zweite korrespondierende
Abbildungen 12'', 13'', 14'' oder
korrespondierende Koordinatensysteme 12'', 13'', 14'' erstellt.
Die 2D-Raumkoordinatensysteme 12, 13, 14 sind
parallel zu den ersten zwei Koordinaten x2,
x2 des globalen, vorzugsweise kartesischen
3D-Koordinatensystems. Ein beliebiger Punkt in der ersten Ebene 12 erhält in beiden
korrespondierenden Koordinatensystemen 12', 12'' gleiche Koordinaten.
Dasselbe gilt für
einen beliebigen Punkt in der zweiten Ebene 13 im Zusammenhang
mit den korrespondierenden Koordinatensystemen 13', 13'' und für einen beliebigen Punkt in
der dritten Ebene 14 im Zusammenhang mit den korrespondierenden
Koordinatensystemen 14', 14''.
-
Die
mit der ersten Aufnahmevorrichtung 16 erstellten ersten
korrespondierenden Koordinatensysteme 12', 13', 14' und die der zweiten Aufnahmevorrichtung 18 erstellten
zweiten korrespondierenden Koordinatensysteme 12'', 13'', 14'', das heißt die ersten 12', 13', 14' und zweiten 12'', 13'', 14'' korrespondierenden Abbildungen
der 2D-Raumkoordinatensysteme 12, 13, 14 werden
durch die Auswerteeinheit 10 in der Speichervorrichtung
gespeichert und stehen für
nachfolgende Positionserfassungen zur Verfügung. Zugleich werden auch
dritte Positionskoordinaten für
jedes korrespondierende Koordinatensystem gespeichert, welche einem
Abstand z3,1, z3,2,
z3,3 der jeweiligen Ebene 12, 13, 14 von
einem Ursprung des 3D-Raumkoordinatensystems entlang einer dritten
Koordinate x3 entsprechen.
-
In
der 3 sind die Funktionselemente der Kameravorrichtung
dargestellt, in einer Anordnung, die zur Umsetzung des Verfahrens
zur Positionserfassung eines Punktes erforderlich ist. Der Punkt, dessen
Position zu bestimmen ist, befindet sich in einem Erfassungsbereich
der ersten 16 und der zweiten Aufnahmevorrichtung 18.
Drei erste korrespondierende Koordinatensysteme 12', 13', 14', und drei zweite
korrespondierende Koordinatensysteme 12'', 13'', 14'',
welche in der Speichervorrichtung der Auswerteeinheit 10 gespeichert
sind, können
durch die Auswerteeinheit 10 abgerufen werden. Die korrespondierenden
Koordinatensysteme 12', 13', 14' und 12'', 13'', 14'' (2) sind
aus einem Satz von 2D-Raumkoordinatensystemen 12, 13, 14 hervorgegangen
(1), welche bei einem zuvor durchgeführten Kalibrieren
durch die Aufnahmevorrichtungen 16, 18 aufgenommen
wurden.
-
Zur
Ermittlung der Position des Punktes wird ein Iterationsverfahren
durchlaufen. In einer ersten Schleife der Iteration wir ein erstes
Paar korrespondierender Koordinatensysteme 12', 12'' durch die Auswerteeinheit 10 aus
dem Speicher hervorgeholt und den mit den Aufnahmevorrichtung 16, 18 gemachten
Aufnahmen des Punktes überlagert.
Das heißt:
Die erste, mit der ersten Aufnahmevorrichtung 16 erstellte,
Aufnahme des Punktes wird mit der ersten korrespondierenden Abbildung 12' des ersten Koordinatensystems 12 überlagert;
Die zweite, mit der zweiten Aufnahmevorrichtung 18 erstellte,
Aufnahme des Punktes wird mit der zweiten korrespondierenden Abbildung 12'' des ersten Koordinatensystems 12 überlagert.
Die Aufnahmen des Punktes ergeben in den korrespondierenden Koordinatensystemen 12', 12'' die Punkte 121, 122.
Die zwei Sätze
von 2D-Positionskoordinaten der Punkte 121, 122 werden
nun miteinander verglichen: Stimmen die zwei Sätze von 2D-Positionskoordinaten
des Punktes in den zwei korrespondierenden Abbildungen 12', 12'' des 2D-Koordinatensystems 12 miteinander überein?
Das Ergebnis der Vergleichs lautet: Nichtübereinstimmung der Punkte 121, 122 oder,
mit anderen Worten, die Punkte 121, 122 sind weiter
voneinander beabstandet als ein vorgegebener Konvergenzschwellwert.
-
Aufgrund
der Nichtübereinstimmung
wird ein weiteres Paar korrespondierender Koordinatensysteme 13', 13'' ausgewählt, das heißt durch
die Auswerteeinheit 10 aus dem Speicher hervorgeholt, und
den mit den Aufnahmevorrichtung 16, 18 gemachten
Aufnahmen des Punktes überlagert.
Die Aufnahmen des Punktes ergeben in den korrespondierenden Koordinatensystemen 13', 13'' die Punkte 131, 132.
Die zwei Sätze
von 2D-Positionskoordinaten
der Punkte 131, 132 werden mm miteinander verglichen.
Diesmal lautet das Ergebnis des Vergleichs: Übereinstimmung der Punkte 131, 132 oder,
mit anderen Worten, die Punkte 131, 132 sind weniger
voneinander beabstandet als der Konvergenzschwellwert.
-
Das
Ergebnis des Vergleichs der zwei Sätze von 2D-Positionskoordinaten
der Punkte 131, 132 ist zugleich auch Abbruchkriterium
für die
Iteration und für
das Verfahren. Nachdem das Ergebnis „Übereinstimmung” lautet,
werden die 2D-Koordinaten x1, x2 des
Punktes 131 oder 132 in dem ersten oder zweiten
korrespondierenden Koordinatensystem 12', 12'', sowie
die dritte, dem Punkt zugeordnete Koordinate x3,2,
gespeichert und das Verfahren wird beendet.
-
Wie
würde das
Verfahren weitergehen, wenn es nicht abgebrochen worden wäre, beispielsweise weil
der Konvergenzschwellwert zu niedrig festgesetzt wurde und der Abstand
zwischen den Punkten 131, 132 größer als
der Konvergenzschwellwert ist? Die Aufnahmen des Punktes überlagert
mit den korrespondierenden Koordinatensysteme 14', 14''beantworten diese Frage: Die Aufnahmen
des Punktes ergeben in den korrespondierenden dritten Koordinatensystemen 14', 14'' die Punkte 141, 142,
welche voneinander weiter als der Konvergenzschwellwert beabstandet
sind. Das heißt,
die Abstandsfunktion der aus den Aufnahmen des Punktes, dessen Position
zu erfassen ist, mit den Aufnahmevorrichtungen 16, 18 resultierenden
beiden Punkte in korrespondierenden Koordinatensystemen in Abhängigkeit
von der dritten Koordinate x3 hat ein eindeutiges
Minimum.
-
In
der 4 sind die Funktionselemente der Erfindung dargestellt,
in einer Anordnung, die zur Umsetzung des Konzepts einer virtuellen
Computermaus erforderlich ist. Zwei optische Aufnahmevorrichtungen 16, 18 sind,
links und rechts, in einem oberen Bereich eines Bildschirms 20 eines
Computers 10 angeordnet. Vor dem Bildschirm 20 befindet sich
ein virtuelles Mauspad 22, welches beispielsweise eine
rechteckige Kunststoff-Matte ist. Der Computer 10 ist Arbeitsmittel
einer Person, welche die virtuelle Maus bedient, und zugleich Auswerteeinheit 10 für das Kamerasystem.
-
Zur
Bedienung der virtuellen Maus bringt die Bedienperson ihren Zeigefinger
in den Bereich des Mauspad 22, wobei mit dem Zeigefinger
auch ein das einfallende Licht reflektierender Fingernagel 11 in den
Bereich des Mauspad 22 eingebracht wird. Das einfallende
Licht kann das Umgebungslicht sein. Die Aufnahmevorrichtungen 16, 18 nehmen
dabei sukzessive, kontinuierlich und zeitdiskret Aufnahmen des Fingers
einschließlich
Fingernagel 11 auf, woraus die Auswerteeinheit 10 eine
charakteristische Bewegungszeitreihe ermittelt. Wird der Finger
auf das Mauspad 22 aufgesetzt und kurz angehalten, so erkennt
die Auswerteeinheit 10 ein Bewegungsmuster des Fingers,
welches zuvor im Rahmen einer Definitionsphase definiert wurde,
mit einer bestimmten Cursoroperation verknüpft ist, beispielsweise einer Startbewegung
eines Cursors 19 auf dem Bildschirm 20. Ab diesem
Zeitpunkt wird die Position des Fingernagels 11 mit der
Position des Cursors 19 auf dem Bildschirm 20 korreliert.
Das heißt,
Bewegungen des Zeigefingers 11 in geringem Abstand über dem
Mauspad 22 führen
zu entsprechenden Bewegungen des Cursors 19 auf dem Bildschirm 20.
-
Wenn
die Bedienperson den Cursor 19 an eine gewünschte Position
des Bildschirms 20 oder einer auf dem Bildschirm 20 dargestellten
graphischen Oberfläche
gebracht hat, bringt sie den Finger zum Stillstand oder bringt den
Finger aus der Mauspad-Umgebung heraus. Ab diesem Zeitpunkt wird die
Position des Cursors 14 auf dem Bildschirm 20 von
der Position des Fingernagels 11 entkoppelt. Sofern ein „Hausklick” gewünscht wird,
bewegt die Bedienperson den Finger kurz nach oben und anschließend wieder
zurück.
Diese Bewegung wurde zuvor im Rahmen der Definitionsphase als ein „Hausklick”-Bewegungsmuster
definiert und wird jetzt von der Auswerteeinheit 10 erkannt
und der entsprechenden Cursoroperation zugeordnet, wobei die Cursoroperation
anschließend
von dem PC-System ausgeführt
wird.
-
Neben
den dargelegten Bewegungsmustern sind auch andere Bewegungsmuster,
welche vorab im Rahmen der Definitionsphase definiert und mittels Analyse
der charakteristischen Bewegungszeitreihe des Fingernagels 11 erkannt
werden können,
zur Steuerung der virtuellen Computermaus einsetzbar. Hierzu können die
gängigen
Techniken der Mustererkennung, beispielsweise künstliche Intelligenz Verfahren,
verwendet werden.
-
Bezugszeichenliste
-
- 10
- Auswerteeinheit
oder PC-System
- 11
- Punkt,
dessen Position zu erfassen ist, oder Finger einer Bedienperson
- 12
- erstes
2D-Raumkoordinatensystem oder dazugehörende Ebene
- 12'
- erste
korrespondierende Abbildung des ersten Raumkoordinatensystems
- 12''
- zweite
korrespondierende Abbildung des ersten Raumkoordinatensystems
- 121
- Aufnahme
des Punktes mit der ersten Aufnahmevorrichtung vor der ersten korrespondierenden
Abbildung des ersten Raumkoordinatensystems
- 122
- Aufnahme
des Punktes mit der zweiten Aufnahmevorrichtung vor der zweiten
korrespondierenden Abbildung des ersten Raumkoordinatensystems
- 13
- zweites
2D-Raumkoordinatensystem oder dazugehörende Ebene
- 13'
- erste
korrespondierende Abbildung des zweiten Raumkoordinatensystems
- 13''
- zweite
korrespondierende Abbildung des zweiten Raumkoordinatensystems
- 131
- Aufnahme
des Punktes mit der ersten Aufnahmevorrichtung vor der ersten korrespondierenden
Abbildung des zweiten Raumkoordinatensystems
- 132
- Aufnahme
des Punktes mit der zweiten Aufnahmevorrichtung vor der zweiten
korrespondierenden Abbildung des zweiten Raumkoordinatensystems
- 14
- drittes
2D-Raumkoordinatensystem oder dazugehörende Ebene
- 14'
- erste
korrespondierende Abbildung des dritten Raumkoordinatensystems
- 14''
- zweite
korrespondierende Abbildung des dritten Raumkoordinatensystems
- 141
- Aufnahme
des Punktes mit der ersten Aufnahmevorrichtung vor der ersten korrespondierenden
Abbildung des dritten Raumkoordinatensystems
- 142
- Aufnahme
des Punktes mit der zweiten Aufnahmevorrichtung vor der zweiten
korrespondierenden Abbildung des dritten Raumkoordinatensystems
- 16
- erste
Aufnahmevorrichtung
- 18
- zweite
Aufnahmevorrichtung
- 19
- Cursor
- 20
- Bildschirm
- 22
- virtuelles
Mauspad
- x1
- erste
Koordinate des kartesischen 3D-Raumkoordinatensystems
- x2
- zweite
Koordinate des kartesischen 3D-Raumkoordinatensystems
- x3
- dritte
Koordinate des kartesischen 3D-Raumkoordinatensystems
- z3,1
- dritte
Koordinate, welche dem ersten 2D-Raumkoordinatensystem zugeordnet
ist
- z3,2
- dritte
Koordinate, welche dem zweiten 2D-Raumkoordinatensystem zugeordnet
ist
- z3,3
- dritte
Koordinate, welche dem dritten 2D-Raumkoordinatensystem zugeordnet
ist