-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf eine Technik zum Vermessen einer dreidimensionalen Form eines Vermessungsobjekts.
-
Beschreibung der verwandten Technik
-
Eine dreidimensionale Formvermessung einer Objektoberfläche unter Verwendung eines Bilds wird für verschiedene Zwecke verwendet, wie etwa die Erzeugung eines dreidimensionalen Modells basierend auf einem realen Gegenstand und die Messung einer Position und einer Ausrichtung eines Objekts. Bei den Techniken einer dreidimensionalen Formvermessung unter Verwendung eines Bilds wird aufgrund seiner hohen Zuverlässigkeit bei der Vermessung weithin ein aktives Verfahren verwendet, bei dem ein Musterlicht bzw. Lichtmuster, das als strukturiertes Licht bezeichnet wird, ausgestrahlt wird. Als eine Vorrichtung, die eine Ausstrahlung eines solchen Musterlichts bzw. Lichtmusters durchführt, wird gemeinhin ein Projektor verwendet, der eine Projektionsbild-Anzeigevorrichtung darstellt. Typische Beispiele des dreidimensionalen Formvermessungsverfahrens unter Verwendung eines Projektors umfassen ein Raumcodierungsverfahren und ein Phasenverschiebungsverfahren. Das Raumcodierungsverfahren und das Phasenverschiebungsverfahren sind Verfahren zur Durchführung einer dreidimensionalen Formvermessung durch Projektion eines zweidimensionalen gestreiften Musterlichts bzw. Lichtmusters.
-
Bei dem Raumcodierungsverfahren werden Lichtstrahlen, die sich in einem binären gestreiften Muster unterscheiden, in zeitlicher Aufeinanderfolge projiziert, um dadurch Koordinaten auf aufgenommenen Bilddaten mit Koordinaten auf von dem Projektor projizierten Bilddaten auf stabile Weise in Zusammenhang bzw. Verbindung zu bringen bzw. zu assoziieren. Bei dem Phasenverschiebungsverfahren werden eine Vielzahl von gestreiften Musterlichtstrahlen projiziert, die in ihrer Phase gemäß einem Sinuswellenstreifenmuster verschoben sind, und wird eine Veränderung eines Dichtewerts von jedem Bildelement auf den aufgenommenen Bilddaten beobachtet, um dadurch Koordinaten auf aufgenommenen Bilddaten mit Koordinaten auf von dem Projektor projizierten Bilddaten in Zusammenhang bzw. Verbindung zu bringen bzw. zu assoziieren.
-
Eine Kamera und ein Projektor, die bei den vorstehend beschriebenen Verfahren zum Projizieren des gestreiften Musterlichts bzw. Lichtmusters verwendet werden, sind Vorrichtungen, die Licht über Linsen aufnehmen und ausgeben. Daher wird eine Verzerrung bzw. Verwerfung, die verursacht wird, wenn Licht durch eine Linse läuft, wobei diese als Verzerrungsaberration bezeichnet wird, zu durch die Kamera aufgenommenen Bilddaten und von dem Projektor ausgegebenen Bilddaten addiert. Um eine dreidimensionale Formvermessung mit einer hohen Genauigkeit durchzuführen, ist es notwendig, einen Einfluss einer solchen Linsenverzerrung auf geeignete Weise zu berücksichtigen. Beim Korrigieren der Linsenverzerrung der Kamera ist es allgemeine Praxis, dass ein Verzerrungsparameter im Voraus kalibriert wird und zweidimensionale Koordinaten auf den aufgenommenen Bilddaten bei der dreidimensionalen Formvermessung in Koordinaten ohne Verzerrung korrigiert werden, wobei der Verzerrungsparameter verwendet wird. Auch was die Linsenverzerrung des Projektors betrifft, ist es durch Durchführung einer Kalibrierung im Voraus möglich, die Korrektur basierend auf einem Ergebnis der Kalibrierung durchzuführen, ähnlich wie für die Kamera.
-
Bei den vorstehend beschriebenen Verfahren unter Verwendung des gestreiften Musterlichts bzw. Lichtmusters, wie etwa dem Raumcodierungsverfahren und dem Phasenverschiebungsverfahren, ist es jedoch allgemeine Praxis, dass für eine dreidimensionale Formvermessung durch den Projektor ein gestreiftes Musterlicht bzw. Lichtmuster projiziert wird, das im Wesentlichen orthogonal zu einer Richtung einer Basislinie ist, die die Kamera und den Projektor verbindet. Um die Linsenverzerrung des Projektors zu korrigieren, obwohl dies für die dreidimensionale Formvermessung nicht notwendig ist, ist es daher erforderlich, Musterlicht zu projizieren, das orthogonal zu dem gestreiften Musterlicht ist, das für die dreidimensionale Formvermessung notwendig ist. Andererseits offenbart
R. J. Valkenburg und A. M. McIvor, "Accurate 3D measurement using a structured light system", Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998, ein Verfahren zum Korrigieren einer Linsenverzerrung des Projektors ohne Projektion von nicht notwendigem Musterlicht, indem provisorische dreidimensionale Koordinaten, die als die Koordinaten berechnet werden, die durch Ignorieren einer Linsenverzerrung berechnet werden, derart optimiert werden erfüllen, dass sie ein Projektionsmodell, das eine Linsenverzerrung umfasst.
-
Eine Projektion des Musterlichts, das zu dem gestreiften Musterlicht orthogonal ist, das für die dreidimensionale Formvermessung erforderlich ist, um so die Linsenverzerrung des Projektors zu korrigieren, erhöht jedoch natürlich die Anzahl von Musterlichtstrahlen, die zu projizieren sind. Dies verursacht ein Problem dahingehend, dass eine zum Aufnehmen von Bilddaten und zum Verarbeitung von Bilddaten erforderliche Zeit verlängert wird. Bei dem Verfahren, das in
R. J. Valkenburg und A. M. McIvor, "Accurate 3D measurement using a structured light system", Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998, offenbart ist, ist es, obwohl die Messzeit nicht infolge dessen verlängert ist, dass Projektion und Aufnahme von Musterlicht getrennt durchgeführt werden, andererseits erforderlich, eine Verarbeitung durchzuführen, wie etwa eine Berechnung von provisorischen dreidimensionalen Koordinaten, und eine nicht-lineare Optimierung der dreidimensionalen Koordinaten vorzunehmen. Es ist erforderlich, dass diese Verarbeitungsvorgänge mit Bezug auf viele Punkte auf den Bilddaten durchgeführt werden, was ein Problem dahingehend mit sich bringt, dass es erforderlich ist, dass eine Berechnung enorm häufig ausgeführt wird, und es daher eine sehr lange Zeitdauer braucht, um die Berechnung abzuschließen.
-
KURZFASSUNG DER ERFINDUNG
-
Die vorliegende Erfindung stellt eine Informationsverarbeitungsvorrichtung bereit, die eine dreidimensionale Formvermessung mit hoher Genauigkeit bei hoher Geschwindigkeit durchführt, während eine Linsenverzerrung einer Projektionsvorrichtung berücksichtigt wird, wobei ein vorbestimmtes Musterlicht bzw. Lichtmuster verwendet wird, dessen zweidimensionale Position auf einem Bild nicht eindeutig bestimmt ist.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Informationsverarbeitungsvorrichtung bereitgestellt, die aufweist: eine Eingabeeinheit, die konfiguriert ist zum Eingeben von Bilddaten eines Zielobjekts, auf das ein vorbestimmtes Musterbild durch eine Projektionsvorrichtung projiziert wurde und das dann durch eine Bildgebungsvorrichtung fotografiert wurde, eine Assoziationseinheit, die konfiguriert ist zum Bereitstellen bzw. Bilden von Zusammenhängen zwischen Koordinaten auf den Bilddaten des Zielobjekts mit Koordinaten auf Bilddaten des vorbestimmten Musterbilds, eine erste Betrachtungsvektor-Herleitungseinheit, die konfiguriert ist zum Herleiten eines Betrachtungsvektors auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf eine Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde, eine zweite Betrachtungsvektor-Herleitungseinheit, die konfiguriert ist zum Herleiten eines Betrachtungsvektors auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf eine Linsenverzerrung der Projektionsvorrichtung korrigiert wurde, und eine Kreuzungskoordinate-Herleitungseinheit, die konfiguriert ist zum Herleiten von Koordinaten eines Punkts einer Kreuzung zwischen dem Betrachtungsvektor auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf die Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde, und dem Betrachtungsvektor auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf die Linsenverzerrung der Projektionsvorrichtung korrigiert wurde, in einem dreidimensionalen Raum für jeden der durch die Assoziationseinheit bereitgestellten bzw. gebildeten Zusammenhänge.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Informationsverarbeitungsverfahren bereitgestellt, das durch eine Informationsverarbeitungsvorrichtung ausgeführt wird, mit: Eingeben von Bilddaten eines Zielobjekts, auf das ein vorbestimmtes Musterbild durch eine Projektionsvorrichtung projiziert wurde und das dann durch eine Bildgebungsvorrichtung fotografiert wurde, Bereitstellen bzw. Bilden von Zusammenhängen zwischen Koordinaten der Bilddaten des Zielobjekts mit Koordinaten auf Bilddaten des vorbestimmten Musterbilds, Herleiten eines Betrachtungsvektors auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf eine Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde, Herleiten eines Betrachtungsvektors auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf eine Linsenverzerrung der Projektionsvorrichtung korrigiert wurde, und Herleiten von Koordinaten eines Punkts einer Kreuzung zwischen dem Betrachtungsvektor auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf die Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde, und dem Betrachtungsvektor auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf die Linsenverzerrung der Projektionsvorrichtung korrigiert wurde, in einem dreidimensionalen Raum für jeden der bereitgestellten bzw. gebildeten Zusammenhänge.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein nichtvorübergehendes Speichermedium bereitgestellt, das ein Programm zum Veranlassen eines Computers speichert, als jede Einheit einer Informationsverarbeitungsvorrichtung zu arbeiten, wobei das Programm aufweist: Eingeben von Bilddaten eines Zielobjekts, auf das ein vorbestimmtes Musterbild durch eine Projektionsvorrichtung projiziert wurde und das dann durch eine Bildgebungsvorrichtung fotografiert wurde; Bereitstellen bzw. Bilden von Zusammenhängen zwischen Koordinaten auf den Bilddaten des Zielobjekts mit Koordinaten auf Bilddaten des vorbestimmten Musterbilds; Herleiten eines Betrachtungsvektors auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf eine Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde; Herleiten eines Betrachtungsvektors auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf eine Linsenverzerrung der Projektionsvorrichtung korrigiert wurde; und Herleiten von Koordinaten eines Punkts einer Kreuzung zwischen dem Betrachtungsvektor auf der Seite der Bildgebungsvorrichtung, der mit Bezug auf die Linsenverzerrung der Bildgebungsvorrichtung korrigiert wurde, und dem Betrachtungsvektor auf der Seite der Projektionsvorrichtung, der nicht mit Bezug auf die Linsenverzerrung der Projektionsvorrichtung korrigiert wurde, in einem dreidimensionalen Raum für jeden der bereitgestellten bzw. gebildeten Zusammenhänge.
-
Gemäß einem vierten Aspekt der vorliegenden Erfindung ist eine Informationsverarbeitungsvorrichtung bereitgestellt, mit: einer Projektionseinheit, die konfiguriert ist zum Projizieren eines Musterbilds, das in einer vorbestimmten Richtung in seiner Luminanz variiert, auf ein Zielobjekt, eine Bildgebungseinheit, die konfiguriert ist zum Aufnehmen eines Bilds des Zielobjekts, auf das das Musterbild projiziert wurde, und eine Herleitungseinheit, die konfiguriert ist zum Herleiten eines Abstands von der Projektionseinheit oder der Bildgebungseinheit zu dem Zielobjekt, indem Koordinaten auf dem aufgenommenen Bild und Koordinaten des Musterbilds in der Projektionseinheit in Zusammenhang gebracht werden, wobei die Herleitungseinheit umfasst: eine erste Korrektureinheit, die konfiguriert ist zum Korrigieren der Koordinaten auf dem aufgenommenen Bild basierend auf einem Verzerrungsparameter der Bildgebungseinheit, der im Voraus bestimmt ist, und eine zweite Korrektureinheit, die konfiguriert ist zum Korrigieren von zumindest einer Koordinatenkomponente auf dem Musterbild basierend auf einem Verzerrungsparameter der Projektionseinheit, der im Voraus bestimmt ist, den korrigierten Koordinaten auf dem aufgenommenen Bild und Einschränkungsbedingungen, die aus einer Anordnung der Projektionseinheit und der Bildgebungseinheit bestimmt sind.
-
Gemäß einem fünften Aspekt der vorliegenden Erfindung ist ein Informationsverarbeitungsverfahren einer Informationsverarbeitungsvorrichtung bereitgestellt, die umfasst: eine Projektionseinheit, die konfiguriert ist zum Projizieren eines Musterbilds, das in einer vorbestimmten Richtung in seiner Luminanz variiert, auf ein Zielobjekt, und eine Bildgebungseinheit, die konfiguriert ist zum Aufnehmen eines Bilds des Zielobjekts, auf das das Musterbild projiziert wurde, wobei das Informationsverarbeitungsverfahren aufweist: Herleiten eines Abstands von der Projektionseinheit oder der Bildgebungseinheit zu dem Zielobjekt, indem Koordinaten auf dem aufgenommenen Bild und Koordinaten des Musterbilds in der Projektionseinheit in Zusammenhang gebracht werden, Korrigieren der Koordinaten auf dem aufgenommenen Bild basierend auf einem Verzerrungsparameter der Bildgebungseinheit, die im Voraus bestimmt ist, und Korrigieren von zumindest einer Koordinatenkomponente auf dem Musterbild basierend auf einem Verzerrungsparameter der Projektionseinheit, der im Voraus bestimmt ist, den korrigierten Koordinaten auf dem aufgenommenen Bild und Einschränkungsbedingungen, die aus einer Anordnung der Projektionseinheit und der Bildgebungseinheit bestimmt sind.
-
Gemäß einem sechsten Aspekt der vorliegenden Erfindung ist ein nichtvorübergehendes Speichermedium bereitgestellt, das ein Programm zum Veranlassen eines Computers speichert, als jede Einheit einer Informationsverarbeitungsvorrichtung zu arbeiten, die umfasst: eine Projektionseinheit, die konfiguriert ist zum Projizieren eines Musterbilds, das in einer vorbestimmten Richtung in seiner Luminanz variiert, auf ein Zielobjekt, und eine Bildgebungseinheit, die konfiguriert ist zum Aufnehmen eines Bilds des Zielobjekts, auf das das Musterbild projiziert wurde, wobei das Programm aufweist: Herleiten eines Abstands von der Projektionseinheit oder der Bildgebungseinheit zu dem Zielobjekt, indem Koordinaten auf dem aufgenommenen Bild und Koordinaten des Musterbilds in der Projektionseinheit in Zusammenhang gebracht werden, Korrigieren der Koordinaten auf dem aufgenommenen Bild basierend auf einem Verzerrungsparameter der Bildgebungseinheit, der im Voraus bestimmt ist, und Korrigieren von zumindest einer Koordinatenkomponente auf dem Musterbild basierend auf einem Verzerrungsparameter der Projektionseinheit, der im Voraus bestimmt ist, den korrigieren Koordinaten auf dem aufgenommenen Bild und Einschränkungsbedingungen, die aus einer Anordnung der Projektionseinheit und der Bildgebungseinheit bestimmt sind.
-
Gemäß der vorliegenden Erfindung ist es möglich, eine dreidimensionale Formvermessung mit hoher Genauigkeit bei hoher Geschwindigkeit durchzuführen, während eine Linsenverzerrung einer Projektionsvorrichtung berücksichtigt wird, wobei ein vorbestimmtes Musterlicht bzw. Lichtmuster verwendet wird, dessen zweidimensionale Position auf einem Bild nicht bedingungslos bestimmt ist.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von beispielhaften Ausführungsbeispielen unter Bezugnahme auf die beigefügten Zeichnungen deutlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Darstellung der Konfiguration einer Informationsverarbeitungsvorrichtung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung.
-
2 ist eine Darstellung von gestreiftem Musterlicht, das von einem Projektor ausgestrahlt wird.
-
3 ist eine Ansicht der Anordnung eines Bildverarbeitungssystems mit der Informationsverarbeitungsvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung.
-
4 ist eine Darstellung, die zur Erläuterung eines Projektionsmodells einer Kamera nützlich ist.
-
5A und 5B sind Darstellungen, die zur Erläuterung eines Unterschieds einer Linsenverzerrung zwischen der Kamera und dem Projektor nützlich sind.
-
6 ist ein Ablaufdiagramm eines Prozesses zur dreidimensionalen Formvermessung, der durch die Informationsverarbeitungsvorrichtung ausgeführt wird.
-
7 ist ein Ablaufdiagramm eines Prozesses zur dreidimensionalen Koordinatenberechnung, der in einem Schritt gemäß 6 ausgeführt wird.
-
BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
-
Die vorliegende Erfindung wird nun unter Bezugnahme auf die begleitenden Zeichnungen, die Ausführungsbeispiele von dieser veranschaulichen, ausführlich beschrieben.
-
Zunächst wird eine Beschreibung eines ersten Ausführungsbeispiels der vorliegenden Erfindung gegeben. Bei dem ersten Ausführungsbeispiel der vorliegenden Erfindung wird eine Beschreibung eines Vermessungsverfahrens gegeben, das eine Linsenverzerrung eines Projektors berücksichtigt, wenn eine dreidimensionale Formvermessung unter Verwendung eines Raumcodierungsverfahrens durchgeführt wird.
-
1 ist eine Darstellung der Konfiguration einer Informationsverarbeitungsvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Wie es in 1 gezeigt ist, umfasst die Informationsverarbeitungsvorrichtung, die durch Bezugszeichen 101 bezeichnet ist, eine Bildeingabeeinheit 110, eine Assoziationseinheit 120, eine Kalibrierungsdaten-Speichereinheit 130 und eine Dreidimensionalkoordinaten-Berechnungseinheit 140. Ferner ist eine Kamera 110 mit der Informationsverarbeitungsvorrichtung 101 verbunden. Es ist zu beachten, dass die Kamera 100 ein Beispiel einer Bildgebungsvorrichtung ist.
-
Die Bildeingabeeinheit 110 gibt Bilddaten ein, die durch die Kamera 100 fotografiert bzw. aufgenommen sind/werden. Bei dem Raumcodierungsverfahren werden Bilddaten für jeden Vorgang der dreidimensionalen Formvermessung jedes Mal dann fotografiert bzw. aufgenommen, wenn eines von einer Vielzahl von binären gestreiften Musterlichtern bzw. Lichtmustern projiziert wird, die in 2 gezeigt sind, und werden daher eine Vielzahl von Bilddatenelementen an die Bildeingabeeinheit 110 eingegeben.
-
Bei dem vorliegenden Ausführungsbeispiel werden, um eine Grenze zwischen Bitmustern auf den aufgenommenen Bilddaten zu schätzen, nicht nur horizontal gestreifte Musterlichter bzw. Lichtmuster, die einen 5-Bit-Graycode darstellen, sondern auch ihre invertierten Muster projiziert, in denen Schwarz und Weiß vertauscht sind.
-
3 ist eine Ansicht der Anordnung eines Bildverarbeitungssystems mit der Informationsverarbeitungsvorrichtung 101 gemäß dem vorliegenden Ausführungsbeispiel. In dem Bildverarbeitungssystem, das in 3 gezeigt ist, sind die Kamera 100 und der Projektor, der durch Bezugszeichen 105 bezeichnet ist, mit Bezug auf einander fixiert, und sind sie jeweils mit der Informationsverarbeitungsvorrichtung 101 verbunden. Die Informationsverarbeitungsvorrichtung 101 sendet einen Befehl an den Projektor 105 zum Projizieren von einem der in 2 gezeigten gestreiften Musterlichter bzw. Lichtmuster, und sie sendet dann einen Befehl an die Kamera 100 zum Aufnehmen bzw. Fotografieren von Bilddaten. Es ist zu beachten, dass der Projektor 105 ein Beispiel der Projektionsvorrichtung ist.
-
Die Assoziationseinheit
120 assoziiert alle zweidimensionalen Koordinaten auf einer Vielzahl von Bilddatenelementen, die an die Bildeingabeeinheit
110 eingegeben werden, mit dem entsprechenden geometrischen Primitiv bzw. Grund-/Urbild/-element in den Bilddaten, die durch den Projektor
105 projiziert werden. Bei dem vorliegenden Ausführungsbeispiel ist das geometrische Primitiv bzw. Grund-/Urbild/-element eine horizontale gerade Linie und assoziiert die Assoziationseinheit
120 alle zweidimensionalen Koordinaten mit der Koordinate der entsprechenden Linie in vertikalen Richtung auf den Bilddaten des gestreiften Musters. Die Kalibrierungsdaten-Speichereinheit
130 speichert interne Parameter der Kamera
100 und des Projektors
105, die im Voraus kalibriert sind, und eine relative Position und Ausrichtung der Kamera
100 und des Projektors
105. Die internen Parameter umfassen eine Brennweite, eine Hauptpunktposition und Verzerrungsparameter (bei dem vorliegenden Ausführungsbeispiel einen radialen Verzerrungskoeffizienten und einen tangentialen Verzerrungskoeffizienten). Die internen Parameter der Kamera
100 und des Projektors
105 sind im Voraus durch das Zhang-Verfahren (
Z. Zhang, "A flexible new technique for camera calibration", IEEE Transactions an Pattern Analysis and Machine Intelligence, Band 22, Nr. 11, Seiten 1330 bis 1334, 2000) kalibriert. Die relative Position und Ausrichtung zwischen der Kamera
100 und dem Projektor
105 werden basierend auf der relativen Position und Ausrichtung zwischen einem Kalibrierungsmuster und einer Kamera sowie der relativen Position und Ausrichtung zwischen dem kalibrierten Muster und dem Projektor, die erhalten werden, wenn die internen Parameter kalibriert sind, berechnet.
-
Die Dreidimensionalkoordinaten-Berechnungseinheit 140 berechnet die dreidimensionalen Koordinaten unter Verwendung der in der Kalibrierungsdaten-Speichereinheit 130 gespeicherten Kalibrierungsdaten mit Bezug auf jede Assoziation bzw. jeden Zusammenhang der zweidimensionalen Koordinaten auf den aufgenommenen Bilddaten mit der vertikalen Koordinate auf den Bilddaten des gestreiften Musters, die/der durch die Assoziationseinheit 120 erhalten wird.
-
Als Nächstes wird eine Beschreibung von Projektionsmodellen der Kamera 100 und des Projektors 105 gemäß dem vorliegenden Ausführungsbeispiel gegeben. Zunächst wird das Projektionsmodell der Kamera 100 beschrieben. Wie es in 4 gezeigt ist, ist ein (dreidimensionales) Kamerakoordinatensystem derart eingestellt, dass ein Z-Achse mit einer optischen Achse bzw. Kameraachse übereinstimmt, und dass ein X-Achse bzw. eine Y-Achse parallel zu der horizontalen Richtung bzw. der vertikalen Richtung der Bilddaten verlaufen. Ein Punkt mit dreidimensionalen Koordinaten (X, Y, Z) in dem Kamerakoordinatensystem wird unter Verwendung eines Lochkameramodells auf normierte Bildkoordinaten projiziert, die durch die folgenden Gleichungen (1) ausgedrückt werden: x = X / Z
y = Y / Z (1)
-
Bei dem vorliegenden Ausführungsbeispiel stellen die normierten Bildkoordinaten eine Position auf einer Bildebene dar, wenn die Bildebene an einer Position Z = 1 in dem Kamerakoordinatensystem eingestellt ist. Der Ursprung des normierten Bildkoordinatensystem ist ein Punkt einer Kreuzung bzw. ein Schnittpunkt der optischen Achse bzw. Kameraachse (Z-Achse) und der Bildebene, und die X-Achse bzw. die Y-Achse verlaufen parallel zu der horizontalen Richtung bzw. der vertikalen Richtung der Bilddaten. Die tatsächlich beobachteten normierten Bildkoordinaten (x', y') werden durch Addition von Komponenten der Linsenverzerrung zu (x, y) erhalten, wie es durch die folgenden Gleichungen (2) ausgedrückt wird: x' = x{1 + kc1(x2 + y2) + kc2(x2 + y2)2} + 2pc1xy + pc2(3x2 + y2)
y' = y{1 + kc1(x2 + y2) + kc2(x2 + y2)2} + pc1(x2 + 3y2) + 2pc2xy (2)
-
Bei den vorstehenden Gleichungen sind kc1 und kc2 Verzerrungskoeffizienten für radiale Verzerrungen dritter Ordnung und fünfter Ordnung, und sind pc1 und pc2 tangentiale Verzerrungskoeffizienten. Es ist zu beachten, dass das Linsenverzerrungsmodell nicht darauf beschränkt ist. Obwohl die Gleichungen (2) Verzerrungen bis zu der Umfangsverzerrung fünfter Ordnung berücksichtigen, kann das Linsenverzerrungsmodell z. B. vom Typ einer Verzerrung dritter Ordnung oder siebter Ordnung sein. Ferner, obwohl die Gleichungen (2) eine Umfangsverzerrung berücksichtigen, kann angenommen werden, dass keine tangentiale Verzerrung vorliegt. Das heißt, dass jedes andere Modell verwendet werden kann, insofern als das Modell die normierten Bildkoordinaten (x', y') mit Verzerrungen ausdrückt, die zu diesen als eine Funktion der normierten Bildkoordinaten (x, y) vor einer Addition der Verzerrung addiert sind. Die Koordinaten (Bildelementkoordinaten) (uc, vc) auf den tatsächlichen Bilddaten eines Punkts mit normierten Bildkoordinaten (x', y') werden durch die folgenden Gleichungen (3) ausgedrückt: uc = fcxx' + ccx
vc = fcyy' + ccy (3)
-
Bei den vorstehenden Gleichungen stellt fcx und fcy jeweils eine Brennweite dar und stellen ccx und ccy jeweils eine Position des Hauptpunkts dar. Wie es vorstehend erwähnt ist, sind die internen Parameter fcx, fcy, ccx, ccy, kc1, kc2, pc1 und pc2 der Kamera 100 im Voraus kalibriert.
-
Als Nächstes wird das Projektionsmodell des Projektors 105 beschrieben. Wenn der Projektor 105 als ein optisches System unter Verwendung einer Linse betrachtet wird, besteht der Unterscheidungspunkt zwischen der Kamera 100 und dem Projektor 105 nur darin, dass ein Bild über eine Linse eingegeben bzw. aufgenommen oder ausgegeben bzw. abgegeben wird. Daher kann das Projektionsmodell des Projektors 105 grundsätzlich unter Verwendung des gleichen Modells wie demjenigen der Kamera 100 beschrieben werden.
-
5A und 5B sind Darstellungen, die zur Erläuterung des Unterschieds einer Linsenverzerrung zwischen der Kamera 100 und dem Projektor 105 nützlich sind. 5A veranschaulicht eine Verzerrung von Bilddaten, die durch die Kamera 100 aufgenommen werden, und 5B veranschaulicht eine Verzerrung von Bilddaten, die durch den Projektor 105 projiziert werden.
-
Wie es in
5A und
5B gezeigt ist, wird im Fall des Projektors
105, umgekehrt zu der Kamera
100, an die ein Bild über eine Linse eingegeben wird, ein Bild über eine Linse ausgegeben, und daher ist die Beziehung zwischen den normierten Bildkoordinaten (x', y') mit Verzerrung und den normierten Bildkoordinaten (x, y) ohne Verzerrung des Projektors
105 umgekehrt zu derjenigen der Kamera
100. Daher wird die Beziehung zwischen (x', y') und (x, y) durch die folgenden Gleichungen (4) ausgedrückt:
-
Die internen Parameter fpx, fpy, cpx, cpy, kp1, kp2, pp1 und pp2 des Projektors 105 sind, ähnlich zu den internen Parametern der Kamera 100, ebenfalls im Voraus kalibriert. Bei einer Kalibrierung der internen Parameter des Projektors 105 werden gestreifte Musterlichter sowohl in der horizontalen als auch in der vertikalen Richtung auf ein Kalibrierungsmuster mit einer ebenen Form projiziert, um dadurch alle Koordinaten auf dem Kalibrierungsmuster mit allen Koordinaten auf dem von dem Projektor 105 projizierten Bild in Zusammenhang zu bringen bzw. zu assoziieren. Die Kalibrierung der internen Parameter ist ein Vorgang, der vor der eigentlichen Ver-/Messung durchgeführt wird, und es ist verhältnismäßig genügend Zeit für diesen Vorgang vorhanden, und daher ist es möglich, die gestreiften Musterlichter sowohl in der horizontalen als auch in der vertikalen Richtung zu projizieren. Andererseits bezieht sich das vorliegende Ausführungsbeispiel auf eine Projektorverzerrungskorrektur, die während einer tatsächlichen Ausführung der dreidimensionalen Formvermessung unter Verwendung der internen Parameter durchgeführt wird, die im Voraus kalibriert wurden, und besteht die Aufgabe darin, das zu projizierende Musterlicht so gering/wenig wie möglich zu machen, um so die Verarbeitungsgeschwindigkeit zu erhöhen. Ähnlich zu dem Verzerrungsmodell der Kamera 100 kann jedes andere Modell verwendet werden, insofern als das Modell die normierten Bildkoordinaten (x, y,) vor einer Addition der Verzerrung als eine Funktion der normierten Bildkoordinaten (x', y') mit dazu addierten Verzerrungen ausdrückt.
-
6 ist ein Ablaufdiagramm eines Prozesses zur dreidimensionalen Formvermessung, der durch die Informationsverarbeitungsvorrichtung gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung ausgeführt wird. Nachstehend wird hierin der Prozess zur dreidimensionalen Formvermessung gemäß dem ersten Ausführungsbeispiel unter Bezugnahme auf 6 beschrieben.
-
In einem Schritt S1000 gibt die Bildeingabeeinheit Bilddaten einer Szene oder eines Objekts, die oder das durch gestreifte Musterlichter bestrahlt wird, ein, die durch die Kamera 100 aufgenommen wurden. Wie es hierin vorstehend beschrieben ist, wird bei dem Raumcodierungsverfahren das Objekt durch eine Vielzahl von gestreiften Musterlichtern für eine Ver-/Messung bestrahlt, und werden daher in diesem Schritt eine Vielzahl von Bilddatenelementen eingegeben.
-
In einem Schritt S1010 berechnet die Assoziationseinheit
120 einen Satz von Assoziationen bzw. Zusammenhängen zwischen den zweidimensionalen Koordinaten auf den in dem Schritt S1000 eingegeben Bilddaten und den vertikalen Koordinaten auf den Bilddaten des gestreiften Musters. Genauer gesagt berechnet die Assoziationseinheit
120 ein Bitmuster (bei dem vorliegenden Ausführungsbeispiel fünf Bits) für jedes Bildelement durch Binarisierung von jedem Element von eingegebenen Bilddaten. Die Assoziationseinheit
120 assoziiert alle zweidimensionalen Koordinaten auf den aufgenommenen Bilddaten und jede vertikale Koordinate auf den Bilddaten des gestreiften Musters durch Verwendung des berechneten Bitusters. Als Nächstes schätzt die Assoziationseinheit
120 die zweidimensionalen Koordinaten (u
c, v
c) eines Grenzabschnitts, an dem sich das Bitmuster auf den aufgenommenen Bilddaten ändert. Wie es z. B. in
Inokuchi, Sato, "The threedimensional image measurement", Shokodo, 1990, offenbart ist, wird die Schätzung des Grenzabschnitts basierend auf einem Graywertprofil durchgeführt wird, das aus den Bilddaten, die in einem Zustand aufgenommen sind, in dem durch das negative gestreifte Musterlicht bestrahlt wird, und den Bilddaten, die in einem Zustand aufgenommen sind, in dem durch das positive gestreifte Musterlicht bestrahlt wird, bestimmt ist. Schließlich bestimmt die Assoziationseinheit
120 mit Bezug auf alle Punkte des Grenzabschnitts die vertikale Koordinate v
p auf den Bilddaten des gestreiften Musters basierend auf allen benachbarten Bitmustern.
-
In einem Schritt S1020 führt die Dreidimensionalkoordinaten-Berechnungseinheit 140 einen Dreidimensionalkoordinaten-Berechnungsprozess durch, um dadurch die dreidimensionalen Koordinaten von jedem Punkt mit Bezug auf das Kamerakoordinatensystem zu berechnen, und zwar basierend auf der Assoziation der zweidimensionalen Koordinaten (uc, vc) auf den aufgenommenen Bilddaten und der vertikalen Koordinate vp auf den Bilddaten des gestreiften Musters. Die dreidimensionalen Koordinaten von jedem Punkt werden als die Koordinaten eines Punkts einer Kreuzung bzw. eines Schnittpunkts zwischen einem Betrachtungsvektor der Kamera 100 (der hierin nachstehend als der Kamera-Betrachtungsvektor bezeichnet wird) mit einem Betrachtungsvektor des Projektors 105 (der hierin nachstehend als der Projektor-Betrachtungsvektor bezeichnet wird) berechnet. In diesem Schritt stellt der Betrachtungsvektor einen dreidimensionalen Vektor dar, der eine Verbindung zwischen der optischen Mitte der Kamera 100 (oder des Projektors 105) und einem Punkt auf dem Bild darstellt. Der Kamera-Betrachtungsvektor (oder der Projektor-Betrachtungsvektor) in dem Kamerakoordinatensystem (oder dem Projektorkoordinatensystem) kann durch Verwendung der normierten Bildkoordinaten (x, y) als [xy1]t ausgedrückt werden. Wenn ein Bild in einem Raum durch den Projektor 105 projiziert wird, wird eine durch die Linse verursachte Verzerrung zu der Richtung eines Ausgabelichts addiert und wird daher der Projektor-Betrachtungsvektor zu einem Vektor, zu dem die Linsenverzerrung addiert wurde. Andererseits ist es notwendig, einen Vektor, entlang dessen von dem Raum reflektiertes Licht in die Kamera 100 eintritt, als den Kamera-Betrachtungsvektor zu verwenden, und ist es daher erforderlich, dass der Kamera-Betrachtungsvektor ein Vektor ist, aus dem die Linsenverzerrung eliminiert ist. Wenn gestreiftes Musterlicht durch den Projektor 105 projiziert wird, macht es die in dem Schritt S1010 durchgeführte Assoziation möglich, nur jede Koordinate in einer Richtung (bei dem vorliegenden Ausführungsbeispiel jede vertikale Koordinate) auf dem gestreiften Muster zu bestimmen, und kann daher der Projektor-Betrachtungsvektor nicht bestimmt werden. Bei dem vorliegenden Ausführungsbeispiel wird der Projektor-Betrachtungsvektor bestimmt, indem sowohl eine Gleichung, die aus epipolaren Einschränkungen zwischen der Kamera 100 und dem Projektor 105 erhalten wird, als auch eine Gleichung, die aus dem Linsenverzerrungsmodell des Projektors 105 erhalten wird, als Gleichungssystem gelöst werden.
-
7 ist ein Ablaufdiagramm des Prozesses zur dreidimensionalen Koordinatenberechnung in dem Schritt S1020 gemäß 6. Nachstehend wird hierin der Dreidimensionalkoordinaten-Berechnungsprozess in dem Schritt S1020 unter Bezugnahme auf 7 ausführlich beschrieben.
-
In einem Schritt S1100 berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 den Kamera-Betrachtungsvektor, der eine Verbindung zwischen einem Punkt auf den durch die Kamera 100 aufgenommenen Bilddaten und der optischen Mitte der Kamera 100 darstellt. In diesem Schritt, wie es vorstehend erwähnt ist, wird der Kamera-Betrachtungsvektor berechnet, aus dem die Linsenverzerrung eliminiert ist. Genauer gesagt wird der Kamera-Betrachtungsvektor xc (= [xcxc1]t) unter Verwendung der Gleichungen (2) und (3) basierend auf den Koordinaten (uc, vc) auf den aufgenommenen Bilddaten berechnet. Zunächst berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die normierten Bildkoordinaten (x'c, y'c) mit Verzerrung unter Verwendung der Gleichungen (3), wie es durch die folgenden Gleichungen (5) ausgedrückt wird. Es ist zu beachten, dass der Schritt S1100 als ein Beispiel einer Verarbeitung ist, die durch eine erste Betrachtungsvektor-Berechungseinheit ausgeführt wird.
-
-
Als Nächstes löst die Dreidimensionalkoordinaten-Berechnungseinheit 140 die Gleichungen für xc und yc, die durch Substituieren der berechneten Parameter x'c und y'c in den Gleichungen (2) erhalten werden, als das Gleichungssystem, um dadurch die normierten Bildkoordinaten xc und yc ohne Verzerrung zu berechnen. Es ist zu beachten, dass dieses Gleichungssystem nicht analytisch gelöst werden kann und daher die Dreidimensionalkoordinaten-Berechnungseinheit 140 Anfangswerte von xc und yc bereitstellt (z. B. x'c und y'c) und xc und yc durch iterative Berechnung z. B. basierend auf dem Newton-Verfahren berechnet. Der Kamera-Betrachtungsvektor xc wird aus xc und yc erhalten, die wie vorstehend dargelegt berechnet werden.
-
In einem Schritt S1110 berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 den Projektor-Betrachtungsvektor, der eine Verbindung zwischen einem Punkt auf den Bilddaten des durch den Projektor 105 projizierten gestreiften Musters und der optischen Mitte des Projektors 105 darstellt. Hierbei, wie es vorstehend erwähnt ist, wird der Projektor-Betrachtungsvektor berechnet, zu dem die Linsenverzerrung addiert ist. Genauer gesagt wird der Projektor-Betrachtungsvektor x'p (= [x'py'p1]t) aus der vertikalen Koordinate v'p der Bilddaten des durch den Projektor 105 projizierten gestreiften Musters berechnet. Zunächst berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die normierte Bildkoordinate yp (ohne Verzerrung) der Koordinate vp durch die folgende Gleichung (6). Es ist beachten, dass der Schritt S1110 ein Beispiel einer Verarbeitung ist, die durch eine zweite Betrachtungsvektor-Berechungseinheit ausgeführt wird.
-
-
Die Dreidimensionalkoordinaten-Berechnungseinheit 140 substituiert die Gleichung (6) in den Gleichungen (4), um dadurch eine Gleichung für x'p und y'p zu erhalten, die durch die folgende Gleichung (7) ausgedrückt wird: yp = y'p{1 + kp1(x'p 2 + y'p 2) + kp2(x'p 2 + y'p 2)2} + pp1(x'p 2 + 3y'p 2) + 2pp2x'py'p (7)
-
Anderseits, um die dreidimensionalen Koordinaten basierend auf dem Prinzip der Triangulation zu schätzen, ist es erforderlich, dass sich der Kamera-Betrachtungsvektor und der Projektor-Betrachtungsvektor an einem Punkt in dem dreidimensionalen Raum miteinander kreuzen bzw. schneiden. Diese Bedingung wird als die epipolare Einschränkung bezeichnet und wird durch folgende Gleichung (8) ausgedrückt:
-
Jedoch stellt E eine 3×3-Matrix dar, die als die essentielle Matrix bezeichnet wird. Die essentielle Matrix E wird durch die folgenden Gleichungen (9) unter Verwendung eines dreidimensionalen Vektors t = [t
xt
yt
Z]
t, der die Position des Projektors
105 in dem Kamerakoordinatensystem darstellt, und einer 3×3-Matrix R, die die Ausrichtung des Projektors
105 darstellt, ausgedrückt:
-
Die relative Position und Ausrichtung der Kamera 100 und des Projektors 105 wurden im Voraus kalibriert und sind bekannt, und daher ist auch die E-Matrix bekannt. Ferner ist auch der Kamera-Betrachtungsvektor xc bekannt, und daher wird aus der Gleichung (8) eine lineare Gleichung für x'p und y'p erhalten, die durch die folgende Gleichung (10) ausgedrückt wird: ax'p + by'p + c = 0
vorausgesetzt, dass gilt:
a = xce11 + yce21 + e31
b = xce12 + yce22 + e32
c = xce13 + yce23 + e33 (10)
-
Die Dreidimensionalkoordinaten-Berechnungseinheit
140 kann den Projektor-Betrachtungsvektor durch Verwendung der Gleichungen (7) und (10) als die Bedingung einer Einschränkung, die mit x'
p und y'
p in Zusammenhang steht, direkt berechnen, ohne die provisorischen dreidimensionalen Koordinaten zu berechnen, wie es in
R. J. Valkenburg und A. M. McIvor, "Accurate 3D measurement using a structured light system", Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998, offenbart ist. Es ist zu beachten, dass (x'
p, y'
p) geometrisch die Koordinaten eines Punkts einer Kreuzung bzw. eines Schnittpunkts zwischen einer geraden Linie (einer epipolaren Linie), die durch die Gleichung (10) ausgedrückt wird, und einer Kurve, die durch die Gleichung (7) ausgedrückt wird, auf der x-y-Ebene darstellt. Die Dreidimensionalkoordinaten-Berechnungseinheit
140 löst die Gleichungen (7) und (10) als das Gleichungssystem für x'
p und y'
p, um dadurch x'
p und y'
p zu berechnen.
-
Nachstehend wird hierin ein Verfahren zum Berechnen von x'p und y'p ausführlich beschrieben. Zunächst eliminiert bzw. beseitigt die Dreidimensionalkoordinaten-Berechnungseinheit 140 y'p in der Gleichung (7), indem y'p durch x'p mittels der Gleichung (10) ausgedrückt wird, um dadurch eine Gleichung x'p zu erhalten, die durch die folgende Gleichung (11) ausgedrückt wird: Ax'p 5 + Bx'p 4 + Cx'p 3 + Dx'p 2 + Ex'p + F = 0
vorausgesetzt, dass gilt:
A = –kp2(ab4 + 2a3b2 + a5)
B = –kp2c(b4 + 6a2b2 + 5a4)
C = –kp2(6ab2 + 10a3)c2 – kp1(ab4 + a3b2)
D = –2pp2ab4 + pp1(3a2b3 + b5) – kp2(2b2 + 10a2)c3 – kp1(b4 + 3a2b2)c
E = –2pp2b4 + 6pp1ab3c – 5kp2ac4 – 3kp1ab2c2 – ab4
F = 3pp1b3c2 – kp2c5 – kp1b2c3 – b4c – b5y (11)
-
Die Gleichung (11) ist eine Gleichung fünften Grades für x'p. Die Gleichung fünften Grades kann nicht analytisch gelöst werden, und daher berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 x'p unter Verwendung der folgenden Gleichung (12), die nachstehend gezeigt ist. Zunächst stellt die Dreidimensionalkoordinaten-Berechnungseinheit 140 einen Anfangswert von x'p bereit. Für den Anfangswert x'p0 von x'p wird z. B. ein Wert von x'p verwendet, der erhalten wird, wenn y'p = yp in der Gleichung (10) gesetzt wird.
-
-
Als Nächstes nähert die Dreidimensionalkoordinaten-Berechnungseinheit 140 die linke Seite der Gleichung (11) für x'p in der Nähe von x'p0 linear an, und stellt sie eine erfüllende Gleichung, wie sie durch die folgende Gleichung (13) ausgedrückt wird, in der die rechte Seite gleich 0 wird, durch eine infinitesimale Änderung Δx'p von x'p auf. Ax'p0 5 + bx'p0 4 + Cx'p0 3 + Dx'p0 2 + Ex'p0 + F + (5Ax'p0 4 + 4Bx'p0 3 + 3Cx'p0 2 + 2Dx'p0 + E)Δx'p = 0 (13)
-
Die Dreidimensionalkoordinaten-Berechnungseinheit 140 berechnet Δx'p aus der Gleichung (13), und sie korrigiert x'p0 auf x'p0 + Δx'p. Die Dreidimensionalkoordinaten-Berechnungseinheit 140 wiederholt den vorstehend beschriebenen Prozess unter Verwendung des erhaltenen Parameters x'p0 als einen neuen Anfangswert, bis die Lösung konvergiert. Die Dreidimensionalkoordinaten-Berechnungseinheit 140 berechnet y'p aus der Gleichung (10), indem die erhaltene Lösung als x'p gesetzt wird. Indem auf diese Weise x'p und y'p berechnet werden, wird der Projektor-Betrachtungsvektor x'p erhalten. Obwohl bei dem vorliegenden Ausführungsbeispiel, wenn x'p und y'p berechnet werden, x'p durch Eliminieren von y'p berechnet wird, ist dies nicht einschränkend. Der Wert y'p kann auf die gleiche Art und Weise durch Eliminieren von x'p berechnet werden.
-
In einem Schritt S1120 berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die dreidimensionalen Koordinaten basierend auf dem in dem Schritt S1100 berechnet Kamera-Betrachtungsvektor X und dem in dem Schritt S1110 berechneten Projektor-Betrachtungsvektor x'p. Alle dreidimensionalen Koordinaten werden als die Koordinaten eines Punkts einer Kreuzung bzw. eines Schnittpunkts zwischen einer dreidimensionalen Linie als eine Verlängerung des Kamera-Betrachtungsvektors Xc und einer dreidimensionalen Linie als eine Verlängerung des Projektor-Betrachtungsvektors x'p bestimmt. Der Punkt einer Kreuzung bzw. der Schnittpunkt zwischen den dreidimensionalen Linien wird z. B. auf die folgenden Art und Weise berechnet: Die dreidimensionalen Koordinaten (X, Y, Z) eines Punkts an einer Position, wo der Projektor-Betrachtungsvektor x'p in dem Kamerasystem α-Mal verlängert ist, wird durch die folgende Gleichung (14) ausgedrückt. Es ist zu beachten, dass der Schritt S1120 ein Beispiel einer Verarbeitung ist, die durch eine Dreidimensionalkoordinaten-Berechnungseinheit ausgeführt wird.
-
-
Wenn ein Vektor, der diesen Punkt und die optische Mitte der Kamera
100 verbindet, mit dem Kamera-Betrachtungsvektor X
c übereinstimmt, ist es möglich, die folgenden Gleichungen (15) zu erhalten:
-
Die Dreidimensionalkoordinaten-Berechnungseinheit
140 löst eine erste oder eine zweite der Gleichungen (15) für α auf, um dadurch α zu berechnen, wie durch die folgende Gleichung (16) ausgedrückt wird:
-
Ferner substituiert die Dreidimensionalkoordinaten-Berechnungseinheit 140 den berechneten Wert α in der Gleichung (11), um dadurch die dreidimensionalen Koordinaten (X, Y, Z) zu berechnen. Es ist zu beachten, dass das Verfahren zum Berechnen der dreidimensionalen Koordinaten (X, Y, Z) nicht darauf beschränkt ist. Zum Beispiel können die dreidimensionalen Koordinaten (X, Y, Z) basierend auf der Tatsache, dass die normierten Bildkoordinaten, die erhalten werden, wenn die dreidimensionalen Koordinaten (x, Y, Z) auf die aufgenommenen Bilddaten projiziert werden, gleich (xc, yc) sind und die Bilddaten des gestreiften Musters gleich (x'p, y'p) sind, direkt berechnet werden. Der vorstehend beschriebene Dreidimensionalkoordinaten-Berechnungsprozess wird mit Bezug auf alle Assoziationen bzw. Zusammenhänge der zweidimensionalen Koordinaten auf den aufgenommenen Bilddaten mit den vertikalen Koordinaten auf den Bilddaten des Streifenmusters durchgeführt, die in dem Schritt S1010 erhalten werden.
-
Wie es vorstehend beschrieben ist, wurde bei dem ersten Ausführungsbeispiel die Beschreibung des Verfahrens zur dreidimensionalen Formvermessung gegeben, bei dem, wenn die dreidimensionale Formvermessung mit Projektion von gestreiftem Musterlicht durchgeführt wird, die Linsenverzerrung korrekt widergespiegelt wird, indem der Projektor-Betrachtungsvektor geschätzt wird, zu dem die Linsenverzerrung addiert wurde. Bei diesem Verfahren ist es nicht notwendig, provisorische dreidimensionale Koordinaten einmalig zu berechnen, wie es bei dem herkömmlichen Verfahren der Fall ist, und ist es daher möglich, die dreidimensionale Formvermessung mit hoher Genauigkeit bei hoher Geschwindigkeit durchzuführen, die durch Projektion von Musterlicht ausgeführt wird, dessen zweidimensionale Positionen auf einem Bild nicht eindeutig bestimmt sind.
-
Als Nächstes wird eine Beschreibung eines zweiten Ausführungsbeispiels der vorliegenden Erfindung gegeben. Bei dem vorstehend beschriebenen ersten Ausführungsbeispiel wurde die Beschreibung einer Berechnung der dreidimensionalen Koordinaten unter Verwendung der Koeffizienten (Gleichungen (2)) zum Umwandeln der idealen Bildkoordinaten ohne Verzerrung in die Bildkoordinaten mit Verzerrung als die Parameter gegeben, die für eine Linsenverzerrung der Kamera 100 und des Projektors 105 bezeichnend sind. Jedoch sind die Parameter, die für die Linsenverzerrungen bezeichnend sind, nicht auf diese beschränkt. Bei dem zweiten Ausführungsbeispiel wird ein Verfahren zum Berechen der dreidimensionalen Koordinaten in einem Fall beschrieben, in dem die Parameter, die für die Linsenverzerrungen bezeichnend sind, Koeffizienten zum Umwandeln der Bildkoordinaten mit Verzerrung in die Bildkoordinaten ohne Verzerrung sind. Es ist zu beachten, dass eine Informationsverarbeitungsvorrichtung und ein Informationsverarbeitungssystem gemäß dem zweiten Ausführungsbeispiel in ihrer Konfiguration gleich denjenigen sind, die in 1 und 3 gezeigt sind, und daher wird eine Beschreibung von diesen ausgelassen, während die gleichen Bezugszeichen wie diejenigen in 1 und 3 für die gleichen Komponentenelemente verwendet werden.
-
Bei dem zweiten Ausführungsbeispiel werden die normierten Bildkoordinaten (x', y') mit Verzerrung für die Kamera 100 in die normierten Bildkoordinaten (x, y) ohne Verzerrung durch die folgenden Gleichungen (17) umgewandelt: x = x'{1 + k1(x'2 + y'2) + k2(x'2 + y'2)2} + 2p1x'y' + p2(3x'2 + y'2)
y = y'{1 + k1(x'2 + y'2) + k2(x'2 + y'2)2} + p1(x'2 + 3y'2) + 2p2x'y' (17)
-
Im Fall des Projektors 105 wird, umgekehrt zu der Kamera 100, an die ein Bild über eine Linse eingegeben wird, ein Bild über eine Linse ausgegeben, und daher ist die Beziehung zwischen den normierten Bildkoordinaten (x', y') mit Verzerrung und den normierten Bildkoordinaten (x, y) ohne Verzerrung des Projektors 105 umgekehrte zu derjenigen der Kamera 100. Daher wird die Beziehung zwischen (x', y') und (x, y) durch die folgenden Gleichungen (18) ausgedrückt: x' = x{1 + k1(x2 + y2) + k2(x2 + y2)2} + 2p1xy + p2(3x2 + y2)
y' = y{1 + k1(x2 + y2) + k2(x2 + y2)2} + p1(x2 + 3y2) + 2p2xy (18)
-
Es ist zu beachten, dass ähnlich zu dem ersten Ausführungsbeispiel das Verzerrungsmodell nicht darauf beschränkt ist. Das heißt, dass im Fall der Kamera 100 jedes andere Modell verwendet werden kann, insofern als das Modell die normierten Bildkoordinaten (x, y) vor einem Addieren einer Verzerrung als eine Funktion der normierten Bildkoordinaten (x', y') ausdrückt, zu denen eine Verzerrung addiert wurde. Im Fall des Projektors 105 kann jedes andere Modell verwendet werden, insofern als das Modell die normierten Bildkoordinaten (x', y'), zu denen eine Verzerrung addiert wurde, als eine Funktion der normierten Bildkoordinaten (x, y) vor einem Addieren einer Verzerrung ausdrückt.
-
Der Prozess gemäß dem zweiten Ausführungsbeispiel ist im Wesentlichen gleich zu demjenigen gemäß dem ersten Ausführungsbeispiel, und daher wird nur ein Verfahren zum Berechnen des Kamera-Betrachtungsvektors und des Projektor-Betrachtungsvektors beschrieben, das sich von demjenigen beim ersten Ausführungsbeispiel unterscheidet.
-
Bei dem zweiten Ausführungsbeispiel wird der Kamera-Betrachtungsvektor auf die folgende Art und Weise berechnet: Zunächst berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die normierten Bildkoordinaten (x'c, y'c) mit Verzerrung unter Verwendung der Gleichungen (5) aus den Koordinaten (uc, vc) auf den durch die Kamera 100 aufgenommenen Bilddaten. Als Nächstes berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die normierten Bildkoordinaten (xc, yc) ohne Verzerrung unter Verwendung der Gleichungen (17), um dadurch den Kamera-Betrachtungsvektor zu berechnen.
-
Ferner wird bei dem zweiten Ausführungsbeispiel der Projektor-Betrachtungsvektor auf die folgende Art und Weise berechnet: Zunächst berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 die normierte Bildkoordinate (ohne Verzerrung) yp der Koordinate vp in der vertikalen Richtung unter Verwendung der Gleichung (6). Als Nächstes substituiert die Dreidimensionalkoordinaten-Berechnungseinheit 140 ein Ergebnis, das durch Substituieren von yp in der Gleichung (18) erhalten wird, in der Gleichung (10), um dadurch eine Gleichung fünften Grades für xp zu erhalten. Schließlich bestimmt die Dreidimensionalkoordinaten-Berechnungseinheit 140 xp durch Lösen der Gleichung fünften Grades. Diese Gleichung fünften Grades kann nicht analytisch gelöst werden, und daher wird xp durch Verwendung des Verfahrens berechnet, wie es bei dem ersten Ausführungsbeispiel beschrieben ist. Die dreidimensionalen Koordinaten werden durch Verwendung des gleichen Verfahrens berechnet, wie es bei dem ersten Ausführungsbeispiel bereitgestellt ist, und zwar basierend auf dem Kamera-Betrachtungsvektor und dem Projektor-Betrachtungsvektor, die durch den vorstehend beschriebenen Prozess erhalten werden.
-
Wie es vorstehend beschrieben ist, wurde bei dem zweiten Ausführungsbeispiel die Beschreibung des Verfahrens zum Durchführen der dreidimensionalen Formvermessung gegeben, während die Verzerrung des Projektors 105 berücksichtigt wird, und zwar in dem Fall, in dem der Parameter, der für die Linsenverzerrung bezeichnend ist, ein Koeffizient zum Umwandeln der Bildkoordinaten mit Verzerrung in die Bildkoordinaten ohne Verzerrung ist.
-
Bei den vorstehend beschriebenen Ausführungsbeispielen wurde die Beschreibung des Verfahrens zum Berücksichtigen der Linsenverzerrung des Projektors 105 bei der dreidimensionalen Formvermessung basierend auf dem Raumcodierungsverfahren beschrieben, das ein Objekt mit Lichtern, die sich in ihrem binären Codemuster unterscheiden, in zeitlicher Aufeinanderfolge unter Verwendung des Projektors 105 bestrahlt. Das Verfahren zur dreidimensionalen Formvermessung ist jedoch nicht auf das Raumcodierungsverfahren beschränkt. Zum Beispiel kann jedes andere Verfahren, wie etwa das Phasenverschiebungsverfahren, eingesetzt werden, insofern als das Verfahren das gestreifte Musterlicht in ähnlicher Weise wie das Raumcodierungsverfahren verwendet. Ferner kann ein Verfahren zum Bestrahlen eines Vermessungsobjekts mit Licht in einem eindimensionalen Linienmuster, wie etwa einem Laserschlitzlicht, eingesetzt werden, insofern als es das Verfahren zum Bestrahlen eines Objekts mit Licht in einem gestreiften Muster durch eine Linse ist.
-
Ferner wurde bei den vorstehend beschriebenen Ausführungsbeispielen die Beschreibung des Falls gegeben, in dem die Richtung der Streifen des gestreiften Musterlichts, das durch den Projektor 105 projiziert wird, die horizontale Richtung auf den Bilddaten des gestreiften Musterlichts ist. Das durch den Projektor 105 projizierte Musterlicht ist jedoch nicht auf das gestreifte Musterlicht in der horizontalen Richtung beschränkt, sondern kann Musterlicht in jeder anderen Richtung sein, wie etwa das gestreifte Musterlicht in der vertikalen Richtung. Dies gilt auch für die Richtung der Linie des eindimensionalen Linienmusterlichts. Eine Berechnung des Projektor-Betrachtungsvektors in einem Fall, in dem ein Objekt durch das gestreifte Musterlicht in der vertikalen Richtung bestrahlt wird, wird auf die folgende Art und Weise durchgeführt.
-
Zunächst berechnet die Dreidimensionalkoordinaten-Berechnungseinheit
140 die normierte Bildkoordinate (ohne Verzerrung) x
p der Koordinate u
p eines durch den Projektor
105 projizierten Bilds in der horizontalen Richtung die folgende Gleichung (19):
-
Als Nächstes substituiert die Dreidimensionalkoordinaten-Berechnungseinheit 140 die Gleichung (19) in der ersten der Gleichungen (4), um dadurch eine Gleichung für x'p und y'p zu erhalten, die durch die folgende Gleichung (20) ausgedrückt wird: xp = x'p{1 + k1(x'p 2 + y'p 2) + k2(x'p 2 + y'p 2)2} + 2p1x'py'p+ p2(3x'p 2 + y'p 2) (20)
-
Als Nächstes, ähnlich zu dem ersten Ausführungsbeispiel, berechnet die Dreidimensionalkoordinaten-Berechnungseinheit 140 x'p und y'p durch Lösen der Gleichungen (10) und (20) als das Gleichungssystem für x'p und x'p, um dadurch den Projektor-Betrachtungsvektor zu berechnen.
-
Ferner ist bei den vorstehend beschriebenen Ausführungsbeispielen das Modell mit Verzerrungen bis zu den radialen und tangentialen Verzerrungen fünfter Ordnung als das Linsenverzerrungsmodell des Projektors 105 angenommen. Jedoch ist das Linsenverzerrungsmodell nicht darauf beschränkt. Zum Beispiel kann ein Modell ohne eine Umfangsverzerrung oder ein Modell eingesetzt werden, das eine radiale Verzerrung niedrigerer oder höherer Ordnung als die radiale Verzerrung fünfter Ordnung aufweist. Falls die Ordnung der Linsenverzerrung des Linsenverzerrungsmodells in der radialen Richtung anders ist, wird der Grad von x'p in der Gleichung (11) gemäß der Ordnung der Verzerrung geändert. Zum Beispiel ist die Gleichung (11) eine Gleichung dritten Grades für x'p für ein Modell mit Verzerrungen bis zu einer Verzerrung dritter Ordnung, und ist sie eine Gleichung siebten Grades für x'p für ein Modell mit Verzerrungen bis zu einer Verzerrung siebter Ordnung, und ist es daher nur erforderlich, die Gleichung dritten Grades oder siebten Grades zu lösen. Andererseits, in einem Fall, in dem keine tangentiale Verzerrung vorliegt, ist es möglich, ähnliche Gleichungen zu erhalten, die sich nur auf der rechten Seite der Gleichung (12) unterscheiden, und ist es daher nur erforderlich, diese zu lösen. Das heißt, dass es selbst dann, wenn das Linsenverzerrungsmodell anders ist, möglich ist, den Projektor-Betrachtungsvektor zu berechnen, indem Gleichungen, die aus den epipolaren Einschränkungen zwischen der Kamera 100 und dem Projektor 105 erhalten werden, und Gleichungen, die aus dem Linsenverzerrungsmodell erhalten werden, gelöst werden, wie es vorstehend beschrieben ist.
-
Zum Beispiel, wenn ein Modell, das nur Verzerrungen in der radialen Richtung bis zu einer Verzerrung dritter Ordnung aufweist, als das Linsenverzerrungsmodell des Projektors 105 verwendet wird, wird die Gleichung (7) in die folgende Gleichung (21) transformiert: yp = y'p{1 + kp1(x'p 2 + y'p 2)} (21)
-
Aus den Gleichungen (21) und (10) wird eine Gleichung dritten Grades für x'p erhalten, die durch die folgende Gleichung (22) ausgedrückt wird: Gx'p 3 + Hx'p 2 + Ix'p + J = 0
vorausgesetzt, dass gilt:
G = –kp1(ab4 + a3b2)
H = –kp1(b4 + 3a2b2)c
I = –3kp1ab2c2 – ab4
J = –kp1b2c3 – b4c – b5yp (22)
-
Die Dreidimensionalkoordinaten-Berechnungseinheit 140 kann den Projektor-Betrachtungsvektor durch Berechnung von x'p unter Verwendung der Gleichung (22) berechnen.
-
Gemäß den vorstehend beschriebenen Ausführungsbeispielen ist es möglich, die dreidimensionale Formvermessung unter Verwendung einer Projektion des Musterlichts bzw. Lichtmusters, das in seiner zweidimensionalen Position auf einem Bild nicht eindeutig bestimmt ist, mit hoher Genauigkeit bei hoher Geschwindigkeit durchzuführen.
-
Aspekte der vorliegenden Erfindung können auch durch einen Computer eines Systems oder einer Vorrichtung (oder Bauelemente wie etwa ein CPU oder MPU) realisiert werden, der ein auf einem Speicherbauelement aufgezeichnetes Programm ausliest und ausführt, um die Funktionen der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, sowie durch ein Verfahren, dessen Schritte durch einen Computer eines Systems oder einer Vorrichtung durchgeführt werden, indem zum Beispiel ein auf einem Speicherbauelement aufgezeichnetes Programm ausgelesen und ausgeführt wird, um die Funktionen der vorstehend beschriebenen Ausführungsbeispiele durchzuführen. Zu diesem Zweck wird das Programm an den Computer zum Beispiel über ein Netzwerk oder von einem Aufzeichnungsmedium verschiedener Typen bereitgestellt, das als das Speicherbauelement dient (z. B. ein computerlesbares Medium).
-
Während die vorliegende Erfindung unter Bezugnahme auf beispielhafte Ausführungsbeispiele beschrieben wurde, ist es selbstverständlich, dass die Erfindung nicht auf die offenbarten beispielhaften Ausführungsbeispiele beschränkt ist. Dem Umfang der folgenden Patentansprüche ist die breiteste Auslegung zu zugestehen, um so alle derartigen Modifikationen und äquivalente Strukturen und Funktionen zu umfassen.
-
Diese Anmeldung beansprucht den Prioritätsvorteil der
japanischen Patentanmeldung Nr. 2012-084909 , die am 3. April 2012 eingereicht wurde, wobei diese hiermit mittels Bezugnahme hierin in ihrer Gesamtheit eingebunden ist.
-
Eine Informationsverarbeitungsvorrichtung, die eine dreidimensionale Formvermessung mit hoher Genauigkeit bei hoher Geschwindigkeit durchführt, während eine Linsenverzerrung einer Projektionsvorrichtung berücksichtigt wird. Eine Bildeingabeeinheit einer Informationsverarbeitungsvorrichtung gibt Bilddaten eines Vermessungsobjekts ein, das durch eine Kamera in einem Zustand fotografiert ist, in dem ein vorbestimmtes Musterlicht bzw. ein Licht vorbestimmten Musters durch einen Projektor projiziert wird. Eine Assoziationseinheit berechnet Zusammenhänge bzw. Assoziationen zwischen Koordinaten auf den Bilddaten des Vermessungsobjekts und Koordinaten auf Bilddaten des vorbestimmten Musterlichts bzw. des Lichts vorbestimmten Musters. Eine Dreidimensionalkoordinaten-Berechnungseinheit berechnet einen Betrachtungsvektor der Kamera, aus dem eine Linsenverzerrung von dieser eliminiert wurde, und einen Betrachtungsvektor des Projektors, zu dem eine Linsenverzerrung von diesem addiert wurde. Die Berechnungseinheit berechnet Koordinaten eines Punkts einer Kreuzung zwischen dem Kamera-Betrachtungsvektor und dem Projektor-Betrachtungsvektor in einem dreidimensionalen Raum für jeden Zusammenhang bzw. jede Assoziation.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- R. J. Valkenburg und A. M. McIvor, ”Accurate 3D measurement using a structured light system”, Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998 [0005]
- R. J. Valkenburg und A. M. McIvor, ”Accurate 3D measurement using a structured light system”, Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998 [0006]
- Z. Zhang, ”A flexible new technique for camera calibration”, IEEE Transactions an Pattern Analysis and Machine Intelligence, Band 22, Nr. 11, Seiten 1330 bis 1334, 2000 [0029]
- Inokuchi, Sato, ”The threedimensional image measurement”, Shokodo, 1990 [0041]
- R. J. Valkenburg und A. M. McIvor, ”Accurate 3D measurement using a structured light system”, Image and Vision Computing, Band 16, Nr. 2, Seiten 99 bis 110, 1998 [0051]