-
Die Erfindung betrifft ein Verfahren zum Erfassen dreidimensionaler Daten eines zu vermessenden Objekts, die Verwendung eines derartigen Verfahrens zur Gesichtserkennung und eine Vorrichtung zur Durchführung eines derartigen Verfahrens.
-
Aus dem Stand der Technik ist es bekannt, ein Streifenmuster auf ein zu vermessendes Objekt zu projizieren. Die projizierten Streifen des Streifenmusters spannen jeweils im Raum eine Lichtebene auf, deren Position a priori bekannt sein muss. Dies kann beispielsweise durch eine Kalibrierung der Streifen, insbesondere mittels einer rechtwinkligen Projektionsfläche, erfolgen. Aus der Position der Streifen auf der Projektionsfläche kann bei Kenntnis der Geometrie der Projektionsfläche die Lage aller Streifen im Raum bestimmt werden. Ein derartiges Verfahren ist vorteilhaft, weil sämtliche dreidimensionalen Daten des zu vermessenden Objekts mit einer einzigen Aufnahme im sogenannten „single-shot“-Verfahren erfasst werden können. Die Verwendung eines festen Streifenmusters ist erwünscht, um den Aufwand bei der Ausführung des Projektors gering zu halten. Die Streifen eines festen Streifenmusters müssen für die Bestimmung der dreidimensionalen Daten in einem aufgenommenen Bild detektiert und indiziert werden. Den Streifen wird im aufgenommenen Bild eine Streifennummer oder ein Streifenindex sowie eine Sequenz zugewiesen. Sowohl Detektion als auch Indizierung der Streifen ist problematisch. Beispielsweise ist es möglich, dass die Streifen nicht vollständig sichtbar sind. Beispielsweise ist es denkbar, dass ein Streifen aufgrund der Textur des zu vermessenden Objekts oder wegen dunkler Färbung des zu vermessenden Objekts nicht detektierbar ist. Es ist auch denkbar, dass das zu vermessende Objekt zumindest abschnittsweise Hinterschneidungen und/oder Höhensprünge derart aufweist, dass Streifen nicht durchgängig sichtbar sind. Insbesondere ist es denkbar, dass aufgrund eines Höhensprungs ein Streifen als durchgängig sichtbar erscheint, real aber ein Versatz zwischen zwei Streifen vorliegt. Im Bereich der Gesichtserkennung sind Höhensprünge insbesondere im Bereich der Nase und insbesondere bei leicht gedrehter Kopfposition bezüglich eines Projektors und/oder einer Kamera möglich.
-
Aus der
US 2008/0237505 A1 ist die Einführung geometrischer Randbedingungen bekannt, um eine Indexierung der Streifen zu vereinfachen. Jedoch gewährleistet ein derartiges Verfahren nicht, dass ein Streifenversatz infolge eines Höhensprungs an dem zu vermessenden Objekt zuverlässig detektiert werden kann. Eine absolute Indexierung, d. h. ein Zuweisen einer absoluten Position eines Streifenmusters ist mit dem genannten Verfahren nicht möglich.
-
Die
US 7,768,656 B2 beschreibt neben geometrischen Randbedingungen bei einer Streifenindexierung die Verwendung einer Codierung der Streifen. Jedoch ist damit nicht gewährleistet, dass eine eindeutige Identifizierung mit vertretbarem Rechenaufwand möglich ist.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Erfassen dreidimensionaler Daten eines zu vermessenden Objekts dahingehend zu verbessern, dass die Bestimmung der dreidimensionalen Daten zuverlässig möglich ist.
-
Die Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst. Der Kern der Erfindung besteht darin, dass ein Streifenmuster mit mehreren Streifen, die jeweils Einzel-Codes aufweisen, in einer bekannten Folge angeordnet sind und jedem Streifen ein eindeutiger Streifenindex zugewiesen ist, auf ein zu vermessendes Objekt projiziert wird. Das projizierte Streifenmuster wird mittels einer Kamera aufgenommen und an einen Auswerterechner übermittelt. Mittels des Auswerterechners werden die jeweiligen Einzel-Codes aller Streifen des Streifenmusters bestimmt. Benachbarte Streifen werden zu einer Streifengruppe zusammengefasst und eine Abfolge der Einzel-Codes der Streifengruppe bestimmt. Die Folge der Einzel-Codes der Streifengruppe wird mit der a priori bekannten Folge von Einzel-Codes des Streifenmusters verglichen. Dadurch werden die Streifenindizes der Streifen, insbesondere aller Streifen, des Streifenmusters identifiziert. Aus den indizierten Streifen werden abschließend dreidimensionale Daten des Objekts erfasst. Dies kann beispielsweise durch Triangulation erfolgen. Das erfindungsgemäße Verfahren ermöglicht also insbesondere die eindeutige, absolute und zuverlässige Identifizierung einer Folge von Einzel-Codes einer Streifengruppe, unabhängig von der Geometrie des zu vermessenden Objekts. Insbesondere ist es dadurch möglich beispielsweise nur einen reduzierten Teilbereich der Bildaufnahmefläche auszuwerten. Das Verfahren ist robust und wenig fehleranfällig.
-
Ein Verfahren nach Anspruch 2 ermöglicht verschiedenwertige Codierungen des Streifenmusters. Ein binärer Code, also die Verwendung von zwei verschiedenen Einzel-Codes, ist unkompliziert und schnell auszuwerten. Derartige Einzel-Codes können vorteilhaft in einem binären System durch die Code-Zustände 0 und 1 abgebildet werden. Ein derartiger Code kann automatisiert sehr gut verarbeitet werden. Es ist auch möglich, dreiwertige, sogenannte ternäre, vierwertige, fünfwertige, sechswertige, siebenwertige, achtwertige Codes oder höherwertige Codes zu verwenden. Dadurch ist es möglich, mit weniger Streifen, mehr Informationen darstellen zu können. Ein derartiger Code weist eine erhöhte Informationsdichte auf. Das bedeutet, dass bei einem höherwertigen Code eine geringere Anzahl an zu identifizierenden Streifen ausreichend ist, um eine eindeutige Mustererkennung durchführen zu können.
-
Ein Verfahren nach Anspruch 3 ermöglicht das zuverlässige Detektieren eines fehlerhaft durchgängigen Streifens. Als fehlerhaft durchgängiger Streifen werden zwei Streifen des Streifenmusters verstanden, die aufgrund eines Höhensprungs in dem zu vermessenden Objekt bei der Auswertung, insbesondere bei der Bilddarstellung der projizierten Streifenfläche, als ein einziger durchgängiger Streifen entlang der Streifenrichtung wahrgenommen werden können. Dadurch, dass das Verfahren einen häufigen Wechsel der Einzel-Codes aufweist, kann ein fehlerhaft durchgängiger Streifen mit erhöhter Zuverlässigkeit detektiert werden. Ein maximaler Wechsel der Einzel-Codes ist dann gegeben, wenn zwei aufeinanderfolgende Einzel-Streifen verschiedene Einzel-Codes aufweisen wie beispielsweise 1 0 1 0 1 usw. Mit einem derartigen Streifenmuster kann ein Versatz eines Streifens sicher detektiert werden. Jedoch würde aufgrund der Periodizität des Musters bei einem Versatz von zwei Streifen, da das Ausgangs-Streifenmuster und das erfasste Streifenmuster bei einem Zweistreifen-Versatz identisch übereinander angeordnet werden, nicht erfasst werden. Es ist also vorteilhaft, wenn ein häufiger Wechsel der Einzel-Codes vorgesehen ist, wobei gleichzeitig die Detektion eines Streifen-Versatzes gewährleistet sein muss. Besonders vorteilhaft ist es beispielsweise, wenn ein Streifenmuster beispielsweise als Pseudozufallsrauschen zufällig generiert ist und insbesondere keine periodische Anordnung der Einzel-Codes aufweist. Für die Darstellung eines derartigen Streifenmusters hat sich ein sogenannter PN-Code, der im Folgenden noch beschrieben, als vorteilhaft erwiesen. Der PN-Code kann die Länge 31 aufweisen, sodass das Streifenmuster 31 Einzel-Codes aufweist. Ein PN-Code dieser Länge weist maximal fünf identische aufeinanderfolgende Einzel-Codes auf. Ein PN-Code gewährleistet einen häufigen Wechsel der Einzel-Codes.
-
Ein Verfahren nach Anspruch 4 ermöglicht eine besonders vorteilhafte Auswertung des aufgenommenen Streifenmusters. Dazu weist eine verwendete Codierung perfekte oder fast perfekte Autokorrelationseigenschaften auf. Das bedeutet, dass eine derartige Codierung für eine Synchronisation vorteilhaft ist. Dadurch ist es möglich, einen Zusammenhang zwischen den benachbarten Einzel-Codes zuverlässig und eindeutig festzustellen. Perfekte Autokorrelationseigenschaften im Sinne dieser Anmeldung sind dann gegeben, wenn das Streifenmuster eine Folge von Einzel-Codes derart aufweist, dass eine zugehörige Autokorrelationsfunktion ein ausgeprägtes Maximum hat. Insbesondere ist das Maximum mittig und insbesondere an einer Stelle „Null“ angeordnet. Insbesondere ist die Autokorrelationsfunktion symmetrisch bezüglich der Position des Maximums ausgebildet. Der Wert der Autokorrelationsfunktion an der Stelle des Maximums entspricht der Länge der Folge der Einzel-Codes. Die übrigen Funktionswerte der Autokorrelationsfunktion neben dem Maximum sind 0. Fast perfekte Autokorrelationseigenschaften im Sinne dieser Anmeldung sind dann gegeben, wenn die Funktionswerte der Autokorrelationsfunktion neben dem Maximum deutlich kleiner sind und beispielsweise 1 oder –1 betragen. Codierungen, die fast perfekte Autokorrelationseigenschaften aufweisen, sind beispielsweise ein PN-Code oder ein Barker-Code, die später noch erläutert werden. Unter Synchronisation ist in diesem Zusammenhang die Zuweisung der a priori bekannten Streifengruppe mit Einzel-Codes zu verstehen. Die Zuweisung ermöglicht die Zuordnung der absoluten Streifenindizes.
-
Insbesondere ist ein Ausgabewert der fast perfekten Autokorrelationsfunktion neben dem Maximum deutlich kleiner als das Maximum, insbesondere kleiner als 20 Prozent des Maximalwerts und insbesondere kleiner als 10 Prozent des Maximalwerts der Autokorrelationsfunktion.
-
Ein Verfahren nach Anspruch 5 ermöglicht eine schnelle und zuverlässige Durchführung der Synchronisierung bei der Indexierung der Folgen der Einzel-Codes. Insbesondere ist es möglich, auf aus der Literatur bekannte binäre Codierungen, insbesondere auf einen Barker-Code oder auf ein Pseudozufallsrauschen, eine sogenannte PN-Sequenz, zurückzugreifen. Weitere binäre Codierungen, die fast perfekte Autokorrelationseigenschaften aufweisen und daher für die Durchführung der Synchronisierung besonders geeignet sind, sind an sich bekannte Codierungen von Lindner, Golay, Boehmer und Schroeder. Eine ternäre Codierung, die perfekte Autokorrelationseigenschaften aufweist, ist eine Codierung von Ipatov. Es ist insbesondere nicht erforderlich, neue Codierungen zu generieren. Erfindungsgemäß wurde also erkannt, dass an sich bekannte Codierungen besonders vorteilhaft bei der Auswertung eines Streifenmusters eingesetzt werden können.
-
Ein Verfahren nach Anspruch 6 gewährleistet eine zuverlässige, sichere und insbesondere schnelle Auswertung eines Streifenmusters. Es ist möglich nur eine reduzierte Anzahl an Streifen eines Streifenmusters auszuwerten, um eine eindeutige Identifikation sämtlicher Streifen des Streifenmusters zu erhalten. Es ist also möglich, einen reduzierten Teilbereich des aufgenommenen Bildes auszuwerten, um daraus die gesamte Sequenz aller Streifen des Bildes zu rekonstruieren. Eine Mindeststreifenzahl, die zur zuverlässigen Auswertung des Streifenmusters erforderlich ist und die vorteilhafterweise möglichst klein sein sollte, ergibt sich aus einer Gesamtzahl der verwendeten Einzel-Codes einer PN-Sequenz. Insbesondere ist es ausreichend, dass sechs oder sieben Einzel-Codes einer Streifengruppe ausgewertet werden, um ein gesamtes Streifenmuster auswerten und identifizieren zu können. Die Größe des gesamten Streifenmusters, also die Anzahl der Streifen des Streifenmusters wird durch die zu erzielende Messauflösung vorgegeben. Es ist möglich, eine PN-Sequenz derart auswählen, dass das gesamte Streifenmuster mit einer einzigen PN-Sequenz abgebildet werden kann. Das bedeutet, dass eine derartige PN-Sequenz mindestens so viele Einzel-Codes aufweist wie die Anzahl der Streifen des Streifenmusters, die durch die zu erzielende Messauflösung vorgegeben ist. Es ist auch möglich, das gesamte Streifenmuster in Teil-Streifenmuster zu unterteilen, wobei jedes der Teil-Streifenmuster entsprechend ausgewertet wird. Für die Auswertung eines derartigen Teil-Streifenmusters kann die verwendete PN-Sequenz eine reduzierte Länge aufweisen, sodass zur Indizierung einer derartigen, reduzierten PN-Sequenz eine reduzierte Anzahl von Einzel-Codes zur eindeutigen Indizierung ausreichend ist. Die Erfassung der dreidimensionalen Daten des zu vermessenden Objekts erfolgt auf Basis einer möglichst geringen Untermenge an Einzel-Codes. Auf Basis der klassifizierten Streifen kann eine korrekte Streifenindizierung erfolgen. Die einzelnen Teil-Streifenmuster werden dann zu einem Gesamtbild zusammengefügt.
-
Ein Verfahren nach Anspruch 7 ermöglicht eine Fehlertoleranz bei der Identifizierung der Streifenindizes. Sofern beispielsweise eine Mindestanzahl an Streifen für eine eindeutige Identifikation erreicht ist, können zusätzliche identifizierte Streifen einer derartigen Streifengruppe, die zu einer Überbestimmung des Ergebnisses führen, eine Fehlertoleranz bei der Identifizierung der Streifenindizes ermöglichen.
-
Ein Verfahren nach Anspruch 8 ermöglicht eine zusätzliche Beschleunigung bei der Durchführung der Identifikation der Streifenindizes. Dadurch, dass vor dem Projizieren des Streifenmusters ein Aufteilen des zu vermessenden Objekts in mehrere Teilbereiche erfolgt, wobei anschließend die weiteren Verfahrensschritte für jeden der Teilbereiche analog durchgeführt werden, ist es möglich, die Mindestanzahl der zu identifizierenden Einzel-Codes für eine eindeutige Identifikation zu reduzieren. Beispielsweise ist es denkbar, ein Bild in einen oberen Bildteil und in einen unteren Bildteil aufzuteilen, wobei eine Zuordnung einer Folge von Einzel-Codes zu dem jeweiligen Bildteil direkt und unkompliziert möglich ist. Die Teilbereiche für sich sind kleiner als das Gesamtobjekt, sodass die Identifikation der Folge von Einzel-Codes schneller erfolgen kann. In Abhängigkeit des zu vermessenden Objekts kann eine Aufteilung in mehr als zwei Teilbereiche erfolgen. Dadurch ist es möglich, besonders große Bilder in mehrere Bildteile zu unterteilen. Jeder einzelne Bildteil kann eindeutig auf Basis einer vorher festgelegten Mindeststreifenzahl indiziert werden. Es ist möglich, große Bildbereiche, die in mehrere Bildteile unterteilt sind, auf Basis weniger Einzel-Codes eindeutig und direkt zu identifizieren.
-
Ein Verfahren nach Anspruch 9 ermöglicht eine besonders vorteilhafte Realisierung der Codierung. Eine derartige Codierung ist besonders unkompliziert umzusetzen. Es ist beispielsweise denkbar, ein festes, also statisches Muster zu erzeugen, das mittels eines feststehenden Dias und einer Lichtquelle in einem Projektor auf das zu vermessende Objekt projiziert wird. Eine Helligkeits-Codierung ermöglicht die Gestaltung geometrisch identischer Streifen, wobei die Helligkeit der Streifen auf dem zu vermessenden Objekt unterschiedlich ist. Um eine Helligkeits-Codierung erzeugen zu können, können verschiedene Grauwertstufen-Codes oder Rasterungen verschiedener Dichten für die jeweiligen Streifen verwendet werden. Unter einer Helligkeits-Codierung im Sinne dieser Anmeldung wird auch eine Codierung der Farbe verstanden. Eine Helligkeits-Codierung kann also dadurch erzeugt werden, dass Einzel-Codes verschiedene Farben, also verschiedene Farb-Codes aufweisen, die beispielsweise durch eine RGB-Codierung oder durch eine CMYK-Codierung identifiziert werden können. Für die Projektion unterschiedlicher Farb-Codierungen wird Licht verschiedener Wellenlängen verwendet.Ein Verfahren mit einer periodischen Modulation der Helligkeits-Codierung ermöglicht eine verbesserte Zuverlässigkeit bei der Auswertung bzw. bei der Erfassung des Codes. Die periodische Modulation erfolgt insbesondere entlang der Streifenrichtung.
-
Ein Verfahren nach Anspruch 10 ermöglicht eine vorteilhafte und unkomplizierte anlagentechnische Umsetzung der Codierung.
-
Ein Verfahren nach Anspruch 11 ermöglicht eine besonders robuste und unkomplizierte Erzeugung der Codierung. Die Codierung durch unterschiedliche Streifenbreiten kann durch die Verwendung einer Maske in dem Projektor erfolgen. In ähnlicher Weise kann auch die Streifenstruktur, insbesondere entlang einer Streifenlängsrichtung, codiert werden. Die Streifenstruktur kann beispielsweise durch eine Unterbrechung des Streifens entlang der Streifenlängsrichtung und/oder durch die Verwendung von in dem Streifen integrierten Strichcodes erzeugt werden.
-
Bei einem Verfahren nach Anspruch 12 kann eine zeitlich veränderliche Codierung dadurch erfolgen, dass in zwei oder mehr nacheinander folgenden Aufnahmen die Darstellung eines Streifens variiert, wobei die Position eines derart variierten Streifens im Streifenmuster unverändert ist. Durch die Veränderung der Streifen von Bild zu Bild ergibt die zeitlich veränderliche Codierung.
-
Zur Verbesserung der Streifendetektion ist es auch möglich, mindestens zwei der vorteilhaften Codierungen gemäß den Ansprüchen 9 bis 12 zu kombinieren. Beispielsweise kann eine Helligkeits-Codierung des Verfahrens nach Anspruch 9 mit einer geometrischen Codierung eines Verfahrens nach Anspruch 11 kombiniert werden. Die Einzel-Codes eines derartigen Streifenmusters unterscheiden sich also beispielsweise durch deren Helligkeit und deren geometrische Form. Es ist auch möglich, verschiedene andere Kombinationen von Codierungen anzuwenden.
-
Ein Verfahren nach Anspruch 13 ermöglicht eine unsichtbare Projektion des Streifenmusters, insbesondere mittels einer Lichtquelle im nahen Infrarot-Bereich. Eine derartige Projektion ist insbesondere vorteilhaft bei der Anwendung zur Gesichtserkennung. Eine Person wird durch das unsichtbare Licht nicht geblendet. Insbesondere ist es möglich, das Verfahren zur Gesichtserkennung einer Person von dieser unbemerkt durchzuführen. Das Verfahren erfolgt unauffällig und wird insbesondere als nicht störend empfunden.
-
Ein Verfahren nach Anspruch 14 ermöglicht die vorteilhafte Anwendung des Verfahrens zur Gesichtserkennung.
-
Es ist eine weitere Aufgabe der vorliegenden Erfindung eine Vorrichtung zur Durchführung des Verfahrens zum Erfassen dreidimensionaler Daten eines zu vermessenden Objekts zu vereinfachen.
-
Diese Aufgabe wird durch die Merkmale des Anspruchs 15 gelöst. Der Kern der Erfindung besteht darin, dass der Projektor eine Codierung eines zu projizierenden Streifenmusters derart ermöglicht, dass eine schnelle, robuste und zuverlässige Identifikation des Streifenmusters und insbesondere eine eindeutige Indexierung der Streifen möglich ist. Die Vorteile einer derartigen Vorrichtung entsprechen denen des erfindungsgemäßen Verfahrens, worauf hiermit verwiesen wird.
-
Weitere vorteilhafte Ausgestaltungen der Erfindung, zusätzliche Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen anhand der Zeichnung. Es zeigen:
-
1 eine schematische Seitenansicht einer erfindungsgemäßen Vorrichtung,
-
2 ein Flussdiagramm zur Darstellung der Verfahrensschritte des Verfahrens zum Erfassen dreidimensionaler Daten eines zu vermessenden Objekts,
-
3 eine schematische Darstellung eines von einem Projektor erzeugten Streifenmusters,
-
4 eine perspektivische Ansicht eines zu vermessenden Objekts mit projiziertem Streifenmuster,
-
5 eine 4 entsprechende perspektivische Darstellung mit der Projektion eines Einzelstreifens,
-
6 eine 5 entsprechende Frontaufnahme eines Einzelstreifens,
-
7 eine Ausschnittsvergrößerung eines realen aufgenommenen Streifenmusters,
-
8 eine Aufnahme des in 7 dargestellten Streifenmusters,
-
9 eine schematische Darstellung einer Autokorrelationsfunktion für eine Barker-Codierung,
-
10 eine vergrößerte Detaildarstellung einer Codierung in Form einer Helligkeits-Codierung gemäß einem ersten Ausführungsbeispiel,
-
11 eine 10 entsprechende Darstellung einer Helligkeits-Codierung gemäß einem zweiten Ausführungsbeispiel,
-
12 eine 10 entsprechende Darstellung eines weiteren Ausführungsbeispiels einer Codierung und
-
13 eine 10 entsprechende Darstellung eines Streifenmusters eines binären Codes der Länge 15.
-
Eine in 1 als Ganzes mit 1 dargestellte Vorrichtung ermöglicht die Durchführung eines Verfahrens zum Erfassen dreidimensionaler Daten eines zu vermessenden Objekts, hier in der Form des Gesichts einer Person 2. Die Vorrichtung 1 umfasst einen Projektor 3 mit dem ein Streifenmuster auf das Gesicht der Person 2 projiziert wird. Der Projektor 3 umfasst eine Lichtquelle 4, eine feste Maske 5 zum Erzeugen des Streifenmusters und ein Objektiv 6 zum Abbilden des Streifensmusters auf dem zu vermessenden Objekt 2. Bei der Maske 5 handelt es sich insbesondere um ein Diapositiv. Insbesondere kann die Maske 5 als Dia ausgeführt, das zwischen der Lichtquelle 4 und dem Objektiv 6 angeordnet ist. Der Projektor 3 gibt das Streifenmuster mit einem Beleuchtungskegel 7 ab und ermöglicht damit ein Ausleuchten des gewünschten Objekts 2.
-
Die Vorrichtung 1 umfasst weiterhin eine Kamera 8 mit einem Blickwinkel 9. Der Blickwinkel 9 ist derart orientiert, dass das gesamte zu vermessende Objekt 2 erfassbar ist. Das bedeutet, dass sämtliche Streifen des von dem auf das zu vermessende Objekt 2 des projizierten Streifenmusters mittels der Kamera 8 aufgenommen werden.
-
Sowohl die Kamera 8 als auch der Projektor 3 sind jeweils in Signalverbindung mit einem Auswerterechner 10. Gemäß dem gezeigten Ausführungsbeispiel ist die Signalverbindung durch eine kabelgebundene Signalübertragung ermöglicht. Es ist auch denkbar, die Signalverbindung in anderer Weise, insbesondere kabellos wie beispielsweise durch Infrarot oder Bluetooth auszuführen. Der Auswerterechner 10 ermöglicht eine Steuerung der Bildaufnahme mit der Kamera 8. Gleichzeitig können mit der Kamera 8 aufgenommene, digitale Bilder zur Auswertung an den Auswerterechner 10 übertragen werden. Der Auswerterechner 10 steuert den Projektor 3.
-
Gemäß der Darstellung in 1 sind sowohl der Projektor 3 als auch die Kamera 8 gegenüber einer Horizontalen geneigt angeordnet. Dadurch können der Blickwinkel 9 und der Beleuchtungskegel 7 im Bereich des Objekts 2 überlappen. Der Projektor 3 und die Kamera 8 sind vertikal übereinander angeordnet. Die jeweiligen Mittelpunkte der Objektive von Projektor 3 und Kamera 8 sind entlang einer gemeinsamen vertikalen Achse angeordnet. In Abhängigkeit des Abstands von Projektor 3 und/oder Kamera 8 zu dem Objekt 2 kann ein entsprechender Neigungswinkel variieren. Insbesondere ist es möglich, nur eine der Komponenten, also entweder den Projektor 3 oder die Kamera 8 gegenüber dem Objekt 2 zu neigen. Die jeweils andere Komponente, also die Kamera 8 oder der Projektor 3 ist dann jeweils horizontal ausgerichtet. Es ist auch möglich, den Projektor 3 und die Kamera 8 in einer gemeinsamen Horizontalebene beispielsweise auf einem Tisch anzubringen, wobei eine Neigung des Projektors 3 und/oder der Kamera 8 innerhalb einer Horizontalebene möglich ist. Bei einer Anordnung des Projektors 3 und der Kamera 8 nebeneinander in der gemeinsamen Horizontalebene sind die jeweiligen Mittelpunkte der beiden Objektive von Projektor 3 und Kamera 8 entlang einer gemeinsamen horizontalen Achse angeordnet. Die Mittelpunkte der Objektive von Projektor 3 und Kamera 8 haben also jeweils identischen Abstand von einem Boden. Es ist auch möglich, jeweils ein Weitwinkelobjektiv für den Projektor 3 und/oder für die Kamera 8 zu verwenden. In diesem Fall kann auf eine geneigte Anordnung des Projektors 3 und/oder der Kamera 8 verzichtet werden.
-
Im Folgenden wird anhand der 1 bis 6 ein Verfahren zum Erfassen dreidimensionaler Daten näher erläutert. In 2 ist eine Abfolge von Verfahrensschritten mittels eines Flussdiagramms schematisch dargestellt. In einem ersten Verfahrensschritt 11 erfolgt ein Projizieren eines Streifenmusters mittels des Projektors 3 auf das zu vermessende Objekt 2. Dabei liegen die Streifen des Streifenmusters wie nachfolgend noch näher erläutert eine Codierung in Form einer bekannten Folge von Einzel-Codes fest. Weiterhin ist jedem Streifen ein eindeutiger Streifenindex zugewiesen. In einem nächsten Verfahrensschritt 12 wird das projizierte Streifenmuster mittels der Kamera 8 aufgenommen. In einem weiteren Verfahrensschritt 13 wird das aufgenommene Streifenmuster, insbesondere als Bilddatei, an den Auswerterechner 10 übermittelt. In einem weiteren Verfahrensschritt 14 werden die Streifen des Streifenmusters mittels des Auswerterechners 10 detektiert. Das bedeutet, dass für jeden Streifen ein jeweiliger Einzel-Code bestimmt wird. Insbesondere wird jedem Streifen der jeweils bestimmte Einzel-Code zugewiesen. Es ist denkbar, den Verfahrensschritt 14 derart sequentiell ausführen, dass zunächst die Streifen in dem aufgenommenen Bild erfasst werden und anschließend für jeden Streifen ein entsprechender Einzel-Code erfasst und der jeweilige Einzel-Codierung zugewiesen werden.
-
In einem weiteren Verfahrensschritt 15 werden mehrere benachbarte Streifen, also Streifen die senkrecht zu einer Streifenrichtung nebeneinander angeordnet sind, zu einer Streifengruppe zusammengefasst. In einem weiteren Verfahrensschritt 16 wird die bestimmte Folge der Einzel-Codes der Streifengruppe mit der bekannten Folge der Einzell-Codes des Streifenmusters verglichen. In einem weiteren Verfahrensschritt 17 erfolgt ein eindeutiges Identifizieren der Streifenindizes aller Streifen des Streifenmusters. Insbesondere werden den Streifen des Streifenmusters die absoluten Streifenindizes zugewiesen. Nach dem Identifizieren der Streifenindizes erfolgt eine Abfrage 18, ob sämtliche Streifen des Streifenmusters indiziert sind. Sofern dies der Fall ist, erfolgt in einem abschließenden Verfahrensschritt 19 das Erfassen der dreidimensionalen Daten des Objekts 2 auf Basis der identifizierten Streifen. Dies kann beispielsweise durch Triangulation erfolgen. Sofern die Abfrage 18 ergibt, dass noch nicht alle Streifen des Streifenmusters indiziert sind, erfolgt eine Schleife derart, dass das Verfahren ab dem Verfahrensschritt 15, also die Verfahrensschritte 15 bis 17, nochmals abgearbeitet werden. Eine derartige Schleife wird so oft wiederholt, bis die Abfrage 18 ergibt, dass sämtliche Streifen des Streifenmusters indiziert sind.
-
Ein von dem Projektor 3 erzeugtes Streifenprofil ist in 3 schematisch dargestellt. Bei dem Streifenmuster handelt es sich um ein homogenes Streifenmuster. Das bedeutet, dass die Streifen 20 des Streifenmusters 21 in einer Bildebene Z entlang einer Vertikalrichtung jeweils einen identischen Abstand W aufweisen. Ein Mittelstreifen 20, der durch eine optische Achse des Projektors 3 verläuft und die Vertikalachse Y in der Bildebene Z im Ursprung schneidet, hat den Streifenindex „0“. Streifen im positiven Bereich der Y-Achse, die in 3 oberhalb des Mittelstreifens angeordnet sind, tragen positive Streifenindizes. Die Streifen im Bereich der negativen Y-Achse, die in 3 unterhalb des Mittelstreifens angeordnet sind, haben negative Indizes.
-
In 4 ist ein auf ein Gesicht als zu vermessendes Objekt 2 projiziertes Streifenmuster 21 schematisch dargestellt. Das homogene Streifenmuster 21 umfasst, wie insbesondere auf der Projektion der Streifen 20 der Projektionsebene seitlich neben dem zu vermessenden Objekt 2 dargestellt, parallele Streifen 20. Für die Abbildung des Gesichts 2 sind n Streifen vorgesehen. Die perspektivische Darstellung in 4 zeigt, dass durch die Projektion des homogenen Streifenmusters auf der unebenen, dreidimensional gestalteten Oberfläche des Gesichts 2 eine Verformung der Streifen resultiert. Dies ist insbesondere in 5 näher dargestellt.
-
6 zeigt das von der Kamera 8 aufgenommene Bild des Gesichts 2 mit dem darauf projizierten Streifen gemäß 5.
-
7 zeigt einen vergrößerten Detailausschnitt eines real aufgenommenen Bildes mit projiziertem Streifenmuster 21. Der Auswerterechner 10 kann beispielweise mittels einer dafür vorgesehenen Software das Streifenmuster, insbesondere den Verlauf der einzelnen Streifen 20, detektieren. Ein derart detektiertes Muster ist in 8 dargestellt. Um die dreidimensionalen Daten des vermessenen Objekts 2 bestimmen zu können, ist eine Ermittlung der Streifenindizes erforderlich. Das heißt, dass für jeden der dargestellten Streifen 20 ein eindeutiger, absoluter Streifenindex bestimmt werden muss. Dazu ist eine Codierung der Streifen 20 erforderlich. Die Codierung der Streifen 20 wird im Folgenden anhand der 9 bis 13 im Einzelnen erläutert. Die Codierung ermöglicht eine in 7 innerhalb des Kreises 22 dargestellten, fehlerhaft durchgängigen Streifen zu identifizieren. Eine Codierung des Streifenmusters 21 wird dadurch erreicht, dass die Streifen 20 verschiedenartig ausgeführt sind. In Anzahl der zugelassenen, verschiedenen Streifentypen wird die Wertigkeit des Codes definiert. Gemäß den weiteren Ausführungen sind die Beispiele anhand jeweils eines binären Codes dargestellt. Das bedeutet, dass zwei verschiedene Streifentypen existieren, die nach einer Detektion mittels eines Binärcodes durch einen Code-Zustand „0“ oder einen Code-Zustand „1“ repräsentiert werden.
-
Es ist grundsätzlich auch möglich, höherwertige Codes wie beispielsweise einen ternären Code mit drei unterschiedlichen Streifentypen zu verwenden, um insbesondere die Funktionsdichte bei der Codierung zu erhöhen.
-
Für die Detektion des Codes an sich ist es erforderlich, dass eine Folge von Einzel-Codes verwendet wird, die vorteilhafte Eigenschaften für die Synchronisation aufweist. Eine derartige Folge von Einzel-Codes hat gute Autokorrelationseigenschaften. Eine derartige Code-Folge ist der sogenannte Barker-Code der Länge 7. Der Code lautet: 1 1 1 0 0 1 0.
-
Die Autokorrelationsfunktion 23 des Barker-Codes ist in 9 dargestellt. Daraus geht eindeutig hervor, dass die Autokorrelationsfunktion ein globales Maximum bei dem Zählparameter 7 aufweist. An dieser Stelle weist die Autokorrelationsfunktion ein Intensitätsmaximum vom Wert 7 auf, an allen anderen Stellen ist der Wert der Intensität der Autokorrelationsfunktion verschwindend. Der Wert des Maximums der Autokorrelationsfunktion entspricht damit insbesondere der Länge des Codes. Der Barker-Code weist ein signifikantes Maximum für die Autokorrelationsfunktion auf. Ein Abgleich des Barker-Codes mit jeder anderen Folge von Einzel-Codes, also eine Kreuzkorrelation, ergibt dagegen geringe Intensitäten der Korrelationsfunktion. Auf Basis der Unterschiede der Korrelationsfunktionen kann eine Übereinstimmung bzw. eine Abweichung der überprüften Folge von Einzel-Codes zuverlässig und eindeutig identifiziert werden. Es ist möglich, die Abfolge der sieben Streifen, die für eine Darstellung des Barker-Codes erforderlich sind, zuverlässig zu identifizieren.
-
Im Folgenden werden anhand der 10 bis 13 verschiedene Codierungs-Varianten im Einzelnen erläutert. Eine Codierung der Streifen 20 kann beispielsweise durch eine Helligkeits-Codierung gemäß 10 erfolgen. 10 zeigt beispielsweise eine Folge von Einzel-Codes vom Typ „1, 1, 0, 0“. Das bedeutet, dass die beiden ersten Streifen vom Typ „1“ mit einer reduzierten Helligkeit und die beiden nachfolgenden Streifen vom Typ „0“ mit maximaler Helligkeit ausgeführt sind. Die reduzierte Helligkeit kann beispielsweise dadurch erfolgen, dass das verwendete Dia 5 in dem Projektor 3 einen Streifen mit einem Graustufenwert projiziert. Sofern die technische Realisierung eines Graustufenwertes beispielsweise durch einen fotografischen Grauwert nicht möglich ist, kann die Absenkung der Helligkeit mittels einer Rasterung erreicht werden. Verschiedene Helligkeiten können durch verschieden dichte Rasterungen realisiert. Dies kann beispielsweise mittels eines Halbton-Verfahrens erfolgen, das aus dem Bereich des Tiefdruckverfahrens bekannt ist und insbesondere im Zeitungsdruck Anwendung findet. Dabei werden lichtundurchlässige Rasterelemente verwendet, die insbesondere rautenförmig ausgeführt sind. Die Ortsfrequenz dieser Elemente übersteigt die Auflösung des Projektionsobjektivs, sodass die Rasterelemente nicht abgebildet werden und somit reduzierte Helligkeit sichtbar ist.
-
Ein hinsichtlich der Detektion verbessertes Streifenmuster gemäß einem weiteren Ausführungsbeispiel 21a ist in 11 dargestellt. Das Streifenmuster 21a unterscheidet sich von den vorstehend beschriebenen Mustern dadurch, dass die Streifen 20a mit reduzierter Helligkeit eine periodische Modulation entlang einer Streifenrichtung aufweisen. Das bedeutet, dass entlang der Streifenrichtung die Streifen reduzierter Helligkeit dunkle Abschnitte 24 und helle Abschnitte 25 jeweils abwechselnd angeordnet aufweisen. Durch die Verwendung der periodischen Modulation der Helligkeit gemäß dem Streifenmuster 21a ist die Gefahr einer Fehlklassifizierung bei der Detektion der Streifen reduziert. Eine derartige Fehlklassifikation kann beispielsweise dadurch auftreten, dass das zu vermessende Objekt beispielsweise aufgrund unterschiedlichen Reflektionsverhaltens hellere bzw. dunklere Bereiche aufweist. Die Gefahr einer Fehlklassifizierung kann bei dem Streifenmuster 21a gemäß 11 zusätzlich dadurch reduziert werden, dass die Streifen in Streifenrichtung eine Mindestlänge aufweisen, um die periodische Helligkeitsmodulation zweifelsfrei nachweisen zu können.
-
Die geometrischen Abmessungen der Streifen und eine Periodendauer der Helligkeitsmodulation hängen insbesondere von der Auflösung der Kamera 8 ab. Insbesondere ist eine Streifenbreite, also eine Ausdehnung des Streifens senkrecht zur Streifenlängsrichtung, von 7 Pixeln im aufgenommenen Bild besonders vorteilhaft. Ein Streifen mit dieser Streifenbreite kann robust und insbesondere wenig fehleranfällig ausgewertet werden. Die damit zu erreichende optische Auflösung bei der Auswertung der Daten ist gut.
-
Eine Verbesserung der Auflösung kann dadurch erreicht werden, dass die Streifenbreite reduziert wird und insbesondere beispielsweise 5 Pixel oder weniger Pixel aufweisen kann. Dadurch kann die Anzahl der Streifen pro Dia erhöht werden. Jedoch steigt bei einer reduzierten Streifenbreite das Risiko einer fehlerhaften Detektion. Insbesondere ist dadurch die Identifizierung der Streifen erschwert. Eine Vergrößerung der Streifenbreite vereinfacht die Detektion der Streifen an sich. Das Verfahren ist besonders robust durchführbar und weist eine hohe Zuverlässigkeit auf. Allerdings ist die Auflösung der dreidimensionalen Messung bei erhöhter Streifenbreite aufgrund der reduzierten Streifenanzahl pro Bild reduziert.
-
Dies gilt in ähnlicher Weise für die Helligkeitsmodulation. Je kürzer eine Periodendauer der Helligkeitsmodulation ist, also je kürzer die jeweilige Längenausdehnung der Abschnitte 24, 25 in Streifenlängsrichtung ist, desto geringer kann ein Ausschnitt aus einem einzelnen Streifen gewählt werden, um den Streifentyp, also den jeweiligen Einzel-Code, zu detektieren. Fehlklassifikationen können insbesondere dann auftreten, wenn Textur und/oder Struktur des zu vermessenden Objektes die projizierte, modulierende Helligkeit verfälschen. Die Gefahr einer Fehlklassifikation kann dadurch reduziert werden, dass längere Hell- und Dunkel-Perioden vorgesehen sind. Dadurch ist die Klassifikation an sich robust ausgeführt.
-
Eine weitere Ausführungsform eines Streifenmusters 21b ist in 12 dargestellt. Die Streifen vom Typ „1“ sind gemäß 12 durch eine Modulation des Streifenrandes ausgeführt. Die Streifen 20b weisen an dem jeweiligen Rand entlang der Streifenrichtung ein gestuftes bzw. gezacktes Profil auf. Eine derartige Form der Streifen 20b kann mit hoher Zuverlässigkeit automatisiert gut erkannt und somit detektiert werden. In einem mittleren Bereich der Streifen 20, 20b weisen diese jeweils maximale Helligkeit auf.
-
Anstelle eines Barker-Codes kann auch ein sogenanntes Pseudozufallsrauschen verwendet werden, das auch als PN-Sequenz bezeichnet wird. Eine PN-Sequenz umfasst eine Aneinanderreihung der Binärziffern 0, 1, die scheinbar zufällig angeordnet sind. PN-Sequenzen weisen perfekte Autokorrelationseigenschaften auf.PN-Sequenzen haben sich als für die Verwendung in dem erfindungsgemäßen Verfahren als besonders geeignet erwiesen. PN-Sequenzen an sich sind aus dem Stand der Technik bekannt. Ein Beispiel für eine PN-Sequenz der Länge 15 gemäß 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 ist in 13 dargestellt. Die Streifen vom Typ „1“ sind mit reduzierter Helligkeit dargestellt. Das in 13 dargestellte Streifenmuster 21 weist eine Helligkeits-Codierung gemäß 10 auf.
-
Eine PN-Sequenz mit der Länge 31 lautet beispielsweise: 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1.
-
Wesentliches Merkmal der PN-Sequenz ist die Eigenschaft, dass bereits eine reduzierte Anzahl, also eine Mindestanzahl s, der Streifen einer Streifengruppe ausreichend ist, um eine eindeutige Identifizierung der Folge der Einzel-Codes aller Streifen n des gesamten Streifenmusters zu ermöglichen. Die Bestimmungsgleichung hierfür lautet: n = 2s – 1.
-
Das bedeutet, dass bei der gegebenen Länge der Codierung von 31, also einer Streifenanzahl n = 31, eine Mindeststreifenanzahl s = 5 erforderlich ist, um die gezeigte Streifenfolge der PN-Sequenz eindeutig zu identifizieren. Sobald fünf aufeinanderfolgende Einzel-Codes identifiziert sind, können sämtliche Streifenindizes eindeutig und mit absoluter Position innerhalb des Streifenmusters angegebenen werden. Auf Basis dieser Daten kann zuverlässig eine Berechnung der dreidimensionalen Daten mittels Triangulation erfolgen.
-
Sofern die Mindeststreifenanzahl innerhalb einer identifizierten Streifengruppe überschritten ist, kann dies einer Fehlertoleranz dienen, um trotz einer fehlerhaften Klassifizierung eines Einzel-Codes eine fehlerfreie Zuordnung der Streifenindizes zu erhalten. Beispielsweise kann bei einer ermittelten Code-Folge von sechs Einzel-Codes und bei einer erforderlichen Mindeststreifenanzahl von fünf ein Einzel-Code fehlerhaft klassifiziert worden sein, ohne das Ergebnis, also die Erfassung des Streifenmusters, zu verfälschen. Unter einer fehlerhaften Klassifizierung ist insbesondere eine irrtümliche Vertauschung eines Einzel-Codes zu verstehen, wobei ein Einzel-Code des Typs „1“ irrtümlich als Einzel-Code des Typs „0“ klassifiziert worden ist oder umgekehrt. Bei großen Bildern, also wenn beispielsweise mehr als 100 Streifen pro Bild zur Abbildung des zu vermessenden Objekts erforderlich sind, kann dennoch eine ausreichend hohe Auflösung der dreidimensionalen Koordinaten mit einer Code-Folge mit einer Mindeststreifenzahl von maximal 6 erreicht werden. In einem vorgelagerten Schritt wird das zu identifizierende Bild in zwei Bildteile, nämlich ein Bildoberteil und ein Bildunterteil aufgeteilt werden. Die beiden Bildteile könnten jeweils identische Größe aufweisen. Es ist möglich, die beiden Bildteile beispielsweise mit jeweils 63 Einzelstreifen abzubilden. Die Gesamtfolge des Bildoberteils und des Bildunterteils hätte somit eine Länge von 2 × 63 = 126 und könnte die Gesamtlänge des abzubildenden Gesamtbildes von mehr als 100 Streifen abbilden. Hier wäre es für die absolute Identifizierung des Streifenmusters nun ausreichend, bereits sechs aufeinanderfolgende Streifentypen zu identifizieren. Eine Zuordnung eines Bildausschnitts zu dem oberen bzw. unteren Bildteil ist möglich.
-
Insbesondere aufgrund der Wechsel des Streifentyps, also dem Einzel-Code „0“ bzw. „1“ ist es möglich fehlerhaft durchgehend Streifen zuverlässig zu detektieren. Bei der oben angegebenen PN-Sequenz ist die Anzahl der aufeinanderfolgenden, identischen Einzel-Codes maximal 5. Das bedeutet, dass die Anzahl der maximal aufeinanderfolgenden Einzel-Codes durch den Exponenten n begrenzt ist. Dadurch ist gewährleistet, dass die PN-Sequenz einen häufigen Wechsel der Einzel-Codes ermöglicht. Gleichzeitig ist die Folge der Einzel-Codes zufällig und insbesondere nicht periodisch erzeugt und gewährleistet somit, dass ein Streifenversatz erfasst und somit ein fehlerhaft durchgängiger Streifen entdeckt werden kann.
-
Dadurch, dass ein feststehendes, homogenes Streifenmuster für die Codierung verwendet wird, ist der apparative Aufwand für die Durchführung des Verfahrens reduziert.
-
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 Patentliteratur
-
- US 2008/0237505 A1 [0003]
- US 7768656 B2 [0004]