-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf Informationsverarbeitung zum Messen von dreidimensionalen Positionen auf der Oberfläche eines Objekts aus einem Bild, welches erhalten wurde durch Aufnehmen des Objekts, auf das ein geometrisches Muster projiziert worden ist, sowie auf eine Messvorrichtung.
-
Beschreibung des Standes der Technik
-
Als eines von Messverfahren für dreidimensionale Position ist ein ”Aktives Stereoverfahren” genanntes Verfahren bekannt, zum Projizieren eines geometrischen Musters auf ein zu messendes Objekt sowie Messen von dreidimensionalen Positionen auf der Oberfläche des Objekts basierend auf Information eines durch Aufnehmen des Objekts erhaltenen Bilds. Zum Messzeitpunkt durch das aktive Stereoverfahren variieren die Größe und Form eines Projektionsbilds auf dem Bild aufgrund des Einflusses einer Unschärfe und Bewegungsunschärfe oder des Einflusses der Position und Winkel der Objektoberfläche. Dies macht es schwierig, die Position des Projektionsbilds auf dem Bild mit hoher Genauigkeit zu entscheiden.
-
Um dieses Problem zu bewältigen, ist es gemäß der
Japanischen Patentoffenlegungsschrift Nr. 2011-204280 (Literatur 1) möglich, die Position eines Projektionsbilds gemäß einer Variation der Größe des Projektionsbilds auf einem Bild zu entscheiden durch Vorbereiten von Bildern mehrerer Auflösungen und Überprüfen einer Filterantwort auf das Bild jeder Auflösung.
-
Jedoch entscheidet das in Literatur 1 beschriebene Verfahren zwar die Position des Projektionsbilds basierend auf den Bildern mehrerer Auflösungen, aber es stellt nicht eine Bildauflösung gemäß der Größe des auf dem Bild beobachteten Projektionsbilds ein. Somit ist die Positionsentscheidungsgenauigkeit niedrig. Folglich ist, selbst falls das in Literatur 1 beschriebene Verfahren auf Messung einer dreidimensionalen Position angewandt wird, die Positionsmessgenauigkeit unzureichend.
-
OFFENBARUNG DER ERFINDUNG
-
In einem Aspekt umfasst eine Informationsverarbeitungsvorrichtung: eine Schätzeinrichtung (101), die konfiguriert ist, einen Ausdehnungsgrad eines auf eine Oberfläche eines zu messenden Objekts projizierten geometrischen Merkmals zu schätzen, wobei das geometrische Merkmal in einem auf die Oberfläche des zu messenden Objekts projizierten geometrischen Muster enthalten ist, und in einem Bild beobachtet wird, welches erhalten ist durch eine Bildaufnahmeeinrichtung, die ein Bild des Objekts aufnimmt, auf das das geometrische Muster projiziert wird; eine Parametereinstelleinrichtung (102), die konfiguriert ist, basierend auf dem geschätzten Ausdehnungsgrad einen Parameter einzustellen; eine Punkteinstelleinrichtung (104), die konfiguriert ist, basierend auf dem Parameter einen Punktstandort des geometrischen Musters in einem aufgenommenen Bild zu bestimmen, das erhalten wurde durch Aufnehmen des Bild des zu messenden Objekts, auf das das geometrische Muster projiziert wird; sowie eine Berechnungseinrichtung (105), die konfiguriert ist, eine dreidimensionale Position auf der Oberfläche des Objekts entsprechend zum bestimmten Punkt zu berechnen.
-
Gemäß dem Aspekt ist es möglich, dreidimensionale Positionen auf der Oberfläche eines Objekts mit hoher Genauigkeit zu messen unter Verwendung eines Bilds, das erhalten wurde durch Aufnehmen des Objekts, auf das ein geometrisches Muster projiziert worden ist.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Zeichnungen deutlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Ansicht, die die Anordnung einer Messvorrichtung für dreidimensionale Position gemäß einer Ausführungsform zeigt.
-
2 ist ein Flussdiagramm, das Messverarbeitung für dreidimensionale Position gemäß der Ausführungsform illustriert.
-
3A und 3B sind Ansichten zum Erklären eines Verfahrens zum Schätzen des Ausdehnungsgrads einer Messlinie.
-
4 ist ein Flussdiagramm, das Ausdehnungsgradschätzverarbeitung illustriert.
-
5A und 5B sind Ansichten zum Erklären eines Detektionsfilter-Einstellverfahrens.
-
6 ist eine Ansicht, die ein Beispiel eines mehrere Messpunkte beinhaltenden geometrischen Musters zeigt.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nachstehend im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Man beachte, dass in den folgenden Ausführungsformen zu beschreibende Anordnungen lediglich Beispiele sind, und die vorliegende Erfindung nicht auf die illustrierten Anordnungen beschränkt ist.
-
Erste Ausführungsform
-
In dieser Ausführungsform wird ein Verfahren beschrieben zum Messen mit hoher Genauigkeit von dreidimensionalen Positionen auf der Oberfläche eines zu messenden Objekts (nachstehend als ”Zielobjekt” bezeichnet) aus einem Bild erhalten durch Projizieren von schlitzförmigem Licht (nachstehend als ”Messlinie” bezeichnet) auf das Zielobjekt unter der Bedingung, dass eine Unschärfe und Bewegungsunschärfe auftreten.
-
In dieser Ausführungsform werden Punkte auf einer Messlinie eingestellt durch Überprüfen eines lokalen Maximums (oder lokalen Minimums) von einem eine hügelförmige (oder talförmige) Luminanzverteilung besitzenden Gebiet auf einem Bild. Das lokale Maximum wird detektiert durch Durchführen der Faltungsberechnung von Luminanzwerten in einer die Messlinie kreuzenden Richtung auf dem Bild unter Verwendung eines Differenzierungsfilters wie etwa ein Sobel-Filter und dann Überprüfen des Nulldurchgangspunkts des Berechnungsergebnisses. Um einen Nulldurchgangspunkt korrekt zu detektieren, ist es notwendig, einen Detektionsfilter gemäß der auf dem Bild beobachteten Breite der Messlinie einzustellen. Es ist möglich, die Positionsgenauigkeit von auf der Messlinie eingestellten Punkten zu verbessern durch Anpassen eines eine große Größe besitzenden Filters an die mit einer großen Breite beobachteten Messlinie, sowie Anpassen eines eine kleine Größe besitzenden Filters an die Messlinie mit einer kleinen Breite. Man beachte, dass die Breite der Messlinie den Ausdehnungsgrad der Messlinie angibt. Der Ausdehnungsgrad ist eine Kennzahl, die die Ausdehnung der Verteilung von Luminanzwerten beim Betrachten der Luminanzwerte in der die Messlinie kreuzenden Richtung angibt.
-
In dieser Ausführungsform wird durch Schätzen des durch eine Unschärfe, eine Bewegungsunschärfe, sowie die Position und Winkel des Zielobjekts bewirkten Ausdehnungsgrads einer Messlinie und dann Einstellen der Form (Antwortkennline) eines Detektionsfilters basierend auf dem geschätzten Wert die Messlinie mit hoher Genauigkeit detektiert, und Punkte auf der Messlinie werden mit hoher Genauigkeit eingestellt. Dies ermöglicht es, die Genauigkeit von in Bezug auf die eingestellten Punkte berechneten dreidimensionalen Positionen zu verbessern.
-
[Vorrichtungsanordnung]
-
1 zeigt die Anordnung einer Messvorrichtung für dreidimensionale Position gemäß dieser Ausführungsform. Die Messvorrichtung für dreidimensionale Position gemäß dieser Ausführungsform beinhaltet eine Informationsverarbeitungsvorrichtung 100, eine Projektionsvorrichtung 110, eine Aufnahmevorrichtung 120, sowie eine Bewegungsvorrichtung 130.
-
Die Projektionsvorrichtung 110 projiziert ein geometrisches Muster 111 auf ein Zielobjekt 140 als zu messendes Objekt. Die Aufnahmevorrichtung 120 gibt ein durch Aufnehmen des Zielobjekts 140 erhaltenes Bild 121 aus. Das geometrische Muster 111 beinhaltet mehrere Messlinien 112. Man beachte, dass die Messlinien 112 durch schwarze Bänder in 1 ausgedrückt werden. Jedoch nimmt die folgende Beschreibung an, dass die Messlinien 112 als Bänder hoher Luminanz projiziert werden, um eine Aufnahmeoperation durchzuführen. Bänder niedriger Luminanz können selbstverständlich als Messlinien verwendet werden durch Einstellen eines Zustands, in dem Licht hoher Luminanz auf den gesamten Aufnahmebereich projiziert wird.
-
Das Zielobjekt 140 ist auf der Bewegungsvorrichtung 130 platziert. Die Bewegungsvorrichtung 130 ist zum Beispiel ein Transportmittel, das das Zielobjekt 140 um einen vorbestimmten Bewegungsvektor V bewegt. Man beachte, dass V für einen Bewegungsvektor von dreidimensionalen Koordinaten bezüglich der Aufnahmevorrichtung 120 steht.
-
Die Projektionsvorrichtung 110 ist ein Projektor, der ein Bild (das geometrische Muster 111) projiziert, das durch die Dichte ein geometrisches Muster angibt. Intrinsische Parameterinformation wie etwa die Brennweite, Hauptpunkt, und Objektivverzerrungsparameter der Projektionsvorrichtung 110 sowie Information, die die relative Position und Orientierung der Projektionsvorrichtung 110 bezüglich der Aufnahmevorrichtung 120 angibt, werden im Voraus kalibriert. Man beachte, dass ein in Literatur 2 unten beschriebenes Verfahren als Kalibrierungsverfahren verwendet wird.
-
-
Die Aufnahmevorrichtung 120 ist eine Kamera, die ein Bild aufnimmt. Intrinsische Parameterinformation wie etwa die Brennweite, Hauptpunkt, und Objektivverzerrungsparameter der Aufnahmevorrichtung 120 wird im Voraus kalibriert. Man beachte, dass ein in Literatur 3 beschriebenes Verfahren als Kalibrierungsverfahren verwendet wird.
-
-
In dieser Ausführungsform sind die Projektionsvorrichtung 110 und Aufnahmevorrichtung 120 derart angeordnet, dass deren Epipolarlinien parallel zur horizontalen Richtung einer Bildebene sind. In der folgenden Beschreibung werden beim Darstellen einer dreidimensionalen Position und Richtung Werte erhalten durch Einstellen des Koordinatensystem der Aufnahmevorrichtung 120 als Weltkoordinatensystem verwendet.
-
In der Informationsverarbeitungsvorrichtung 100 schätzt eine Ausdehnungsgradschätzeinheit 101 den Ausdehnungsgrad eines geometrischen Merkmals im geometrischen Muster 111, das auf einem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild beobachtet wird. In dieser Ausführungsform gibt das geometrische Merkmal eine Line an, und die Ausdehnungsgradschätzeinheit 101 schätzt den Ausdehnungsgrad der Messlinie in der Epipolarlinienrichtung (die horizontale Richtung des Bilds in dieser Ausführungsform) auf dem Bild.
-
Basierend auf dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad des geometrischen Merkmals stellt eine Parametereinstelleinheit 102 einen Parameter ein, der verwendet werden soll, um Punkte auf dem geometrischen Merkmal einzustellen. In dieser Ausführungsform wird als der Parameter die Form eines Detektionsfilters zum Detektieren des lokalen Maximums der Luminanzverteilung auf dem Bild eingestellt.
-
Eine Bilderfassungseinheit 103 erfasst das Bild 121 erhalten durch Aufnehmen des von der Projektionsvorrichtung 110 zum Zielobjekt 140 projizierten geometrischen Musters 111 mit der Aufnahmevorrichtung 120.
-
Eine Punkteinstelleinheit 104 stellt Punkte auf dem geometrischen Merkmal auf dem mit der Bilderfassungseinheit 103 erfassten Bild ein basierend auf dem durch die Parametereinstelleinheit 102 eingestellten Parameter. In dieser Ausführungsform wird ein Punkt, an dem eines lokales Maximums der Luminanzverteilung auf dem Bild detektiert wird, als ein Punkt auf dem geometrischen Merkmal eingestellt, was im Detail später beschrieben wird. Daher wird der durch die Punkteinstelleinheit 104 eingestellte Punkt nachstehend auch als ”detektierter Punkt” bezeichnet.
-
Eine Berechnungseinheit für dreidimensionale Position 105 berechnet eine dreidimensionale Position auf der Oberfläche des Zielobjekts 140, die dem durch die Punkteinstelleinheit 104 eingestellten detektierten Punkt entspricht.
-
Ein Mikroprozessor 100a der Informationsverarbeitungsvorrichtung 100 führt ein in einem Nur-Lese-Speicher (ROM) 100b oder einer Speichereinheit 100d gespeichertes Messverarbeitungsprogramm für dreidimensionale Position unter Verwendung eines Speichers mit wahlfreiem Zugriff (RAM) 100c als Arbeitsspeicher aus, um dadurch die Ausdehnungsgradschätzeinheit 101, Parametereinstelleinheit 102, Punkteinstelleinheit 104, und Berechnungseinheit für dreidimensionale Position 105 zu implementieren. Ferner wird die Bilderfassungseinheit 103 implementiert, wenn die CPU 100a die Projektionsvorrichtung 110 und Aufnahmevorrichtung 120 über ein Universalinterface (I/F) 100e wie etwa USB (Universal Serial Bus) gemäß dem Messverarbeitungsprogramm für dreidimensionale Position steuert. Man beachte, dass die Speichereinheit 100d eine Speichereinheit wie etwa ein Festplattenlaufwerk (HDD) oder Solid-State-Laufwerk (SSD) ist.
-
[Messverarbeitung für Dreidimensionale Position]
-
Die durch die Messvorrichtung für dreidimensionale Position ausgeführte Messverarbeitung gemäß dieser Ausführungsform wird mit Bezug auf ein in 2 gezeigtes Flussdiagramm beschrieben.
-
• Schätzung eines Ausdehnungsgrads (S201)
-
Die Ausdehnungsgradschätzeinheit 101 schätzt den Ausdehnungsgrad eines geometrischen Merkmals, beobachtet in einem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild (S201). Der Ausdehnungsgrad des geometrischen Merkmals ist der einer Messlinie auf dem Bild, beobachtet beim Abtasten von Pixeln in der Epipolarlinienrichtung (in dieser Ausführungsform die horizontale Richtung des Bilds). In dieser Ausführungsform wird, wenn die Luminanzverteilung (nachstehend auch als ”Wellenform” bezeichnet) der auf dem Objekt, wenn es ruht, vorhergesagten Messlinie durch eine Gaußglockenfunktion mit Standardabweichung D approximiert wird, und der Ausdehnungsbetrag der durch eine Bewegungsunschärfe bewirkten Gaußglockenfunktion durch B dargestellt wird, ein D und B verwendender Kennzahlwert als der Ausdehnungsgrad berechnet.
-
Ein Verfahren zum Schätzen des Ausdehnungsgrads der Messlinie wird mit Bezug auf 3A und 3B beschrieben. Wenn das Zielobjekt 140 in einem Ruhezustand ist, wird die beobachtete Wellenform der Messlinie durch die Gaußglockenfunktion approximiert. 3B zeigt ein Beispiel der Wellenform der Messlinie beobachtet auf einem in 3A gezeigten Bild 300. Man beachte, dass die Anzahl Messlinien für das Bild 300 der Einfachheit halber eins ist.
-
Eine Wellenform 301 steht für die beobachtete Wellenform der Messlinie, wenn das Zielobjekt 140 in einem Ruhezustand ist. Das Aussehen des Ausdehnungsgrads der Wellenform beim Beobachten des Zielobjekts 140 in einem Ruhezustand mittels der Aufnahmevorrichtung 120 ändert sich gemäß Defokussierung der Oberflächenposition des Zielobjekts 140 sowie der Position und Winkel der Oberfläche des Zielobjekts 140 bezüglich jedem aus der Projektionsvorrichtung 110 und der Aufnahmevorrichtung 120. In dieser Ausführungsform beeinflusst, da das Zielobjekt 140 beobachtet wird, wenn es sich bewegt, weiterhin eine Bewegungsunschärfe, dass der Ausdehnungsgrad vergrößert wird.
-
Eine rechteckige Wellenform 302 steht für den Bereich der durch eine Bewegungsunschärfe bewirkten Ausdehnung. Daher wird eine Wellenform 303 erhalten durch Faltung der Wellenform 302 und der die Gaußglockenfunktion angebenden Wellenform 301 als die Ausdehnung der Messlinie beobachtet. Mit anderen Worten, die Wellenform 303 simuliert die Wellenform der auf dem Bild 300 beobachteten Messlinie, die durch eine Unschärfe, eine Bewegungsunschärfe, sowie die Position und Winkel der Zielobjektoberfläche beeinflusst wird. In dieser Ausführungsform werden ein Ausdehnungsbetrag D [Pixel] als die Standardabweichung der Gaußglockenfunktion in der Wellenform 301 und ein Bewegungsunschärfebetrag B [Pixel] als die Breite der Wellenform 302, die den Bereich der durch eine Bewegungsunschärfe bewirkten Ausdehnung darstellt, als der Ausdehnungsgrad geschätzt.
-
In dieser Ausführungsform werden die Werte des Ausdehnungsbetrags D und des Bewegungsunschärfebetrags B durch Simulation geschätzt. 4 ist ein Flussdiagramm, das ein Verfahren zum Berechnen des Ausdehnungsbetrags D und des Bewegungsunschärfebetrags B illustriert. Die in 4 gezeigte Verarbeitung ist die Ausdehnungsgradschätzverarbeitung in Schritt S201.
-
Die Ausdehnungsgradschätzeinheit 101 schätzt die dreidimensionalen Positionen und Flächennormalenrichtungen einer Gruppe Punkte auf einer Messlinie auf der Oberfläche des auf dem Bild zu beobachtenden Zielobjekts 140 (S401). In dieser Ausführungsform soll angenommen werden, dass der Benutzer das Formmodel und die schematischen Werte der Position und Orientierung des Zielobjekts 140 im Voraus einstellt, und dass diese Werte zum Schätzen verwendet werden können. Eine Position auf dem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild, an der die von der Projektionsvorrichtung 110 projizierte Messlinie beobachtet wird, wird unter Verwendung des Formmodels und der Position und Orientierung des Zielobjekts 140 simuliert. Zum diesem Zeitpunkt werden für jeden von mehreren Punkten (n Punkte) auf der Messlinie beobachtet auf dem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild die dreidimensionale Position und Flächennormalenrichtung eines entsprechenden Punkts auf der Oberfläche des Zielobjekts 140 erfasst.
-
Die Ausdehnungsgradschätzeinheit 101 berechnet stellvertretende Werte aus den in Schritt S401 geschätzten dreidimensionalen Positionen und Flächennormalenrichtungen der n Punkte (S402). Das heißt, der Durchschnittswert der n dreidimensionalen Positionen und der der n Flächennormalenrichtungen werden als stellvertretende Werte eingestellt, und eine stellvertretende dreidimensionale Position X und eine stellvertretende Normalenrichtung N werden erfasst.
-
Die Ausdehnungsgradschätzeinheit 101 schätzt den Ausdehnungsbetrag D und Bewegungsunschärfebetrag B, die den Ausdehnungsgrad der Messlinie angeben, durch Berechnung basierend auf der stellvertretenden dreidimensionalen Position X, der stellvertretenden Normalenrichtung N, und dem Bewegungsvektor V des Zielobjekts 140 wie folgt.
-
Der durch eine Unschärfe sowie die Position und Winkel der Zielobjektfläche bewirkte Ausdehnungsbetrag D [Pixel] wird berechnet durch:
-
In Gleichung (1) steht ein tiefgestellter Index P für einen Parameter der Projektionsvorrichtung 110, und ein tiefgestellter Index C steht für einen Parameter der Aufnahmevorrichtung 120. Jeder Parameter ist wie folgt:
K steht für den Abstand [mm] von jeder Vorrichtung (die Projektionsvorrichtung 110 oder Aufnahmevorrichtung 120) zu einer Fokusposition,
F steht für die f-Zahl des Objektivs jeder Vorrichtung,
f steht für die Brennweite [mm] jeder Vorrichtung,
Δd steht für die Pixeldichte [mm/Pixel] jeder Vorrichtung,
L steht für den Abstand vom optischen Mittelpunkt jeder Vorrichtung zur stellvertretenden dreidimensionalen Position X in der Richtung einer optischen Achse,
θ steht für einen Winkel [rad] gebildet aus der Richtung einer optischen Achse jeder Vorrichtung und der stellvertretenden Normalenrichtung
N der Oberfläche des Zielobjekts 140, und
w steht für die Breite [Pixel] der Messlinie auf dem geometrischen Muster.
-
Man beachte, dass die Breite erhalten wird durch Approximieren der Wellenform des Querschnitts der Messlinie mit der Gaußglockenfunktion. Der Winkel θ ist ein Winkel auf einer Epipolar-Ebene, die die optischen Mittelpunkte der Projektionsvorrichtung 110 und Aufnahmevorrichtung 120 und die stellvertretende dreidimensionale Position X beinhaltet. Ferner steht in Gleichung (1) g1 für die Größe [mm] eines Punkts, der auf der Bildebene der Aufnahmevorrichtung 120 beim Beobachten eines Punkts in einem Ortsraum auftritt, g2 steht für die Größe [mm] der Ausdehnung der Messlinie auf der Oberfläche des Zielobjekts 140, und g3 steht für die Größe [mm] eines auf einer Projektionsebene auftretenden Punkts, wenn die Projektionsvorrichtung 110 einen Punkt auf eine zugewandte Oberfläche projiziert.
-
Man beachte, dass die Brennweite, Fokusposition, f-Zahl, und Pixeldichte des Aufnahmeobjektivs der Aufnahmevorrichtung 120 erhalten werden durch Bezugnahme auf die Spezifikationen der zu verwendenden Vorrichtung. Wahlweise werden diese Werte durch das in Literatur 3 offenbarte Verfahren im Voraus berechnet.
-
Der Bewegungsunschärfebetrag B [Pixel] wird berechnet durch: B = |h(X) – h(X + Δ)| (2) wobei Δ für eine Änderung in der dreidimensionalen Position eines Punkts auf der sich während einer Belichtungszeit bewegenden Messlinie steht, und
die Funktion h steht für Projektionsberechnung zum Umwandeln der Koordinaten der dreidimensionalen Position in Bildkoordinaten
-
Das heißt, der durch Gleichung (2) berechnete Bewegungsunschärfebetrag B steht für eine Änderung in der zweidimensionalen Position auf dem Bild des Punkts auf der sich während der Belichtungszeit bewegenden Messlinie. Der Wert von Δ in Gleichung (2) wird berechnet durch: Δ = |V| |cosα| / |cosβ|T (3) wobei T für einen Einheitsvektor vom optischen Mittelpunkt der Projektionsvorrichtung 110 zur stellvertretenden dreidimensionalen Position X auf der Oberfläche des Zielobjekts 140 steht,
α steht für einen Winkel [rad] gebildet aus der stellvertretenden Normalenrichtung N und dem Bewegungsvektor V, und
β steht für einen Winkel [rad] gebildet aus der stellvertretenden Normalenrichtung N und dem Einheitsvektor T.
-
• Parametereinstellung (S202)
-
Wenn der Ausdehnungsbetrag D und Bewegungsunschärfebetrag B als der Ausdehnungsgrad der Messlinie in Schritt S201 wie oben beschrieben geschätzt werden, stellt die Parametereinstelleinheit 102 die Form des Detektionsfilters als Parameter gemäß dem Ausdehnungsgrad der Messlinie ein (S202). Zuerst berechnet die Parametereinstelleinheit 102 die vorhergesagte Wellenform der Messlinie basierend auf dem Ausdehnungsbetrag D und dem Bewegungsunschärfebetrag B. Das heißt, die vorhergesagte Wellenform der Messlinie wird berechnet durch Durchführen der Faltungsberechnung der Gaußglockenfunktion mit der Standardabweichung D und einer Wellenform mit Breite B und Höhe 1. Bezug nehmend auf 5A, zeigt eine Wellenform 501 die basierend auf dem Ausdehnungsbetrag D und dem Bewegungsunschärfebetrag B berechnete vorhergesagte Wellenform an.
-
Als nächstes führt die Parametereinstelleinheit 102 die numerische Berechnung zur Differenzierung der vorhergesagten Wellenform 501 der Messlinie durch, um dadurch eine Ausgabewellenform 502 des Detektionsfilters entsprechend zur vorhergesagten Wellenform 501 zu berechnen. Die Parametereinstelleinheit 102 quantisiert die Ausgabewellenform 502 des Detektionsfilters mit einem vorbestimmten Schwellenwert für Faltung mit dem Bild, um dadurch eine in 5B gezeigte Form 503 des Detektionsfilters einzustellen.
-
Mit der obigen Verarbeitung wird der Ausdehnungsgrad der Messlinie gemäß einer Unschärfe und Bewegungsunschärfe, deren Auftreten im Bild des Zielobjekts 140 vorhergesagt werden, sowie der Position und Winkel der Zielobjektoberfläche geschätzt, und der Parameter (in dieser Ausführungsform die Form des Detektionsfilters), der Punkte auf der Messlinie mit hoher Genauigkeit einstellen kann, wird gemäß dem Ausdehnungsgrad eingestellt. Man beachte, dass der Parameter für das gesamte mit der Aufnahmevorrichtung 120 aufzunehmende Bild eingestellt wird.
-
• Erfassung eines Bilds (S203) bis Berechnung einer Dreidimensionalen Position (S205)
-
In Schritte S203 bis S205 wird das Zielobjekt 140 unter Verwendung des in Schritt S202 eingestellten Detektionsfilters gemessen. Zuerst erfasst die Bilderfassungseinheit 103 das Bild erhalten durch mit der Aufnahmevorrichtung 120 Aufnehmen des von der Projektionsvorrichtung 110 zum Zielobjekt 140 projizierten geometrischen Musters 111 (S203).
-
Basierend auf dem durch die Parametereinstelleinheit 102 eingestellten Detektionsfilter stellt die Punkteinstelleinheit 104 Punkte auf der Messlinie auf dem mit der Bilderfassungseinheit 103 erfassten Bild ein (S204). Punkte werden durch Anwenden des Detektionsfilters in einer Richtung (in dieser Ausführungsform die horizontale Richtung des Bilds) entlang der Epipolarlinie auf dem Bild, eingestellt. Das heißt, die Punkteinstelleinheit 104 führt die Faltungsberechnung des Detektionsfilters und einer Abtastlinie in der Epipolarlinienrichtung des Bilds durch, und sucht nach dem Nulldurchgangspunkt des Antwortwerts der Faltungsberechnung in der horizontalen Richtung des Bilds. Falls der Gradient der Antwortwerte vor und nach dem detektierten Nulldurchgangspunkt gleich oder größer wie ein Schwellenwert ist, das heißt, falls eine Änderung im Luminanzwert auf dem Bild genügend scharf ist, wird der Nulldurchgangspunkt als ein Punkt (detektierter Punkt) auf der Messlinie eingestellt. Punkte auf den jeweiligen Messlinien werden in Schritt S204 eingestellt. Mit anderen Worten, es werden Punkte auf dem geometrischen Muster des Bilds eingestellt.
-
Basierend auf Triangulierung berechnet die Berechnungseinheit für dreidimensionale Position 105 dreidimensionale Positionen auf der Oberfläche des Zielobjekts 140, die den durch die Punkteinstelleinheit 104 eingestellten detektierten Punkten entsprechen (S205). Zuerst identifiziert die Berechnungseinheit für dreidimensionale Position 105 eine Messlinie auf dem geometrischen Muster, zu der der jeweils detektierte Punkt auf dem Bild gehört. In dieser Ausführungsform werden detektierte Punkte, die nebeneinander angeordnet sind und nahe zueinander auf dem Bild liegen, als eine Linie markiert, und eine Messlinie, zu der jeder detektierte Punkt gehört, wird identifiziert basierend auf der Reihenfolge der Linien angegeben durch Markieren auf dem Bild. Dann wird eine dreidimensionale Position basierend auf dem Prinzip eines Lichtschnittverfahrens berechnet aus der Beziehung zwischen der Position des detektierten Punkts auf dem Bild und der Position der entsprechenden Messlinie auf dem geometrischen Muster. Durch Durchführen der obigen Verarbeitung für alle detektierten Punkte auf der Abtastlinie ist es möglich, dreidimensionale Positionen auf der Oberfläche des Zielobjekts 140 zu berechnen, die der Abtastlinie entsprechen.
-
Gemäß dieser Ausführungsform wird, wie oben beschrieben, der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel der Zielobjektfläche bewirkte Ausdehnungsgrad eines geometrischen Merkmals geschätzt, und die Form eines Detektionsfilters zur Verwendung, um Punkte auf dem geometrischen Merkmal einzustellen, wird basierend auf dem geschätzten Wert eingestellt. Dies kann Punkte auf dem geometrischen Merkmal mit hoher Genauigkeit einstellen, und die Genauigkeit von dreidimensionalen Positionen berechnet aus den eingestellten Punkten auf dem geometrischen Merkmal verbessern.
-
Modifikation der Ausführungsform
-
Die Projektionsvorrichtung 110 und Aufnahmevorrichtung 120 sind derart angeordnet, dass deren Epipolarlinien parallel zur horizontalen Richtung einer Bildebene sind. Nicht erforderlich jedoch ist die Anordnung, in der die Epipolarlinien parallel zur horizontalen Richtung der Bildebene auf dem Bild sind. Falls die Epipolarlinien nicht parallel sind, kann Einstellverarbeitung für detektierte Punkte basierend auf einem Bild durchgeführt werden, in dem die Epipolarlinien durch Rotieren des Bilds ungefähr parallel gemacht werden, oder es kann eine Abtastrichtung, in der Faltungsberechnung mit einem Detektionsfilter durchgeführt wird, in eine Richtung entlang der Epipolarlinien anstelle der horizontalen Richtung geändert werden.
-
Der durch die Ausdehnungsgradschätzeinheit 101 geschätzte Wert des Ausdehnungsbetrags D kann jegliche Kennzahl sein, die den vorhergesagten Ausdehnungsgrad der Messlinie auf dem Bild bei Aufnehmen des Zielobjekts in einem Ruhezustand darstellt. Zum Beispiel kann eine Standardabweichung oder die Halbwertsbreite der Wellenform verwendet werden. Die ungefähre Funktion der Wellenform kann jegliche Funktion sein, die eine Hügelform (oder Talform) zu approximieren vermag, oder sie kann eine Dreieckswelle oder eine beliebige Punktspreizfunktion sein. Ferner kann anstelle von Umwandeln des Ausdehnungsgrads in einen numerischen Wert durch die Funktion verwendende Approximation auch eine selbst zu beobachtende Wellenform geschätzt werden. In diesem Fall stellt die Parametereinstelleinheit 102 einen Detektionsfilter durch Differenzieren der geschätzten Wellenform ein.
-
Was die Gleichung zum Berechnen des Ausdehnungsbetrags D aus der stellvertretenden dreidimensionalen Position X und der stellvertretenden Normalenrichtung N durch die Ausdehnungsgradschätzeinheit 101 betrifft, kann der Ausdehnungsbetrag D für die stellvertretende dreidimensionale Position X und die stellvertretende Normalenrichtung N aus einem tatsächlichen Bild in eine Tabelle gespeichert werden, um Berechnung durchzuführen, anstelle von Schätzen des Ausdehnungsbetrags D gemäß dem logischen Ausdruck. In diesem Fall wird eine Ausdehnungsbetragstabelle als Vorbereitung zur Berechnung des Werts des Ausdehnungsbetrags D der auf dem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild beobachteten Messlinie aus einem tatsächlichen Bild durch Anordnen von ebenen Objekten an mehreren Positionen in mehreren Richtungen erzeugt. Beim Erzeugen einer Ausdehnungsbetragstabelle wird der Wert von D für jeden Satz X und N aus einer Standardabweichung erhalten, wenn die Gaußglockenfunktion durch die Methode der kleinsten Quadrate bezüglich der auf dem Bild beobachteten Messlinie gefitted wird.
-
Ähnlich kann der Bewegungsunschärfebetrag B für X, N und V in einer Tabelle gespeichert werden, um Berechnung durchzuführen. In diesem Fall wird eine Bewegungsunschärfebetragstabelle als Vorbereitung zur Berechnung des Werts des Bewegungsunschärfebetrags B der auf dem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild beobachteten Messlinie aus dem Bild durch Bewegen der an den mehreren Positionen in den mehreren Richtungen angeordneten ebenen Objekte um einen Bewegungsvektor erzeugt. Beim Erzeugen einer Bewegungsunschärfebetragstabelle wird der Wert des Bewegungsunschärfebetrags B für jeden Satz X, N und V aus einer Standardabweichung erhalten, wenn eine rechteckigen Wellenform durch die Methode der kleinsten Quadrate bezüglich der auf dem Bild beobachteten Messlinie gefitted wird.
-
Als Verfahren zum Erfassen der Position und Orientierung des Zielobjekts durch die Ausdehnungsgradschätzeinheit 101 ist es nur notwendig die Information zu erfassen durch Annahme, dass die Position und Orientierung des zu beobachtenden Zielobjekts bekannt sind. Wahlweise kann ein Bild des Zielobjekts aufgenommen werden, und die Position und Orientierung des Zielobjekts kann auf dem Bild durch Vorlagenabgleich erhalten werden. Als Verfahren zum Erfassen des Bewegungsvektors V des Zielobjekts kann der Bewegungsvektor zum Aufnahmezeitpunkt des Zielobjekts bekannt sein, oder es kann angenommen werden, dass das Zielobjekt auf einer Bewegungsvorrichtung wie etwa ein Transportmittel angeordnet ist, um den Bewegungsvektor aus dem Steuerungswert des Transportmittels oder dergleichen zu erfassen. Auch kann angenommen werden, dass das Zielobjekt durch einen mehrgelenkigen Roboterarm oder dergleichen ergriffen wird, um dadurch den Bewegungsvektor aus dem Steuerungswert des Roboterarm oder dergleichen zu erfassen.
-
Als Verfahren zum Berechnen der stellvertretenden dreidimensionalen Position X und der stellvertretenden Normalenrichtung N durch die Ausdehnungsgradschätzeinheit 101 kann jegliches Berechnungsverfahren verwendet werden, das einen Wert zu berechnen vermag, der eine beobachtete Gruppe Punkte approximieren kann, und es kann ein Durchschnittswert oder Median verwendet werden.
-
In der obigen Beschreibung wird Bewegung des Zielobjekts durch den Bewegungsvektor V der dreidimensionalen Position dargestellt. Unter der Annahme, dass die dreidimensionale Orientierung sich auch ändert, kann ein sechsdimensionaler Änderungsvektor für Position und Orientierung U verwendet werden. In diesem Fall wird der Bewegungsvektor V in Gleichung (3) berechnet durch: V = ∂X / ∂U (4) wobei ∂X/∂U für eine Jacobi-Determinante steht, die eine Änderung in der stellvertretenden dreidimensionalen Position X bezüglich der Änderung in der Position und Orientierung des Zielobjekts angibt.
-
Der durch die Parametereinstelleinheit 102 eingestellte Detektionsfilter für Faltungsberechnung kann ein eindimensionaler Detektionsfilter oder ein zweidimensionaler Detektionsfilter mit einer zweidimensionalen Breite wie ein Sobel-Filter sein. Der eingestellte Filter kann jeglicher Detektionsfilter sein, dessen Größe gemäß dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad der Messlinie zunimmt. Zum Beispiel kann ein Differenzierungsfilter wie etwa ein Sobel-Filter eingestellt werden, dessen Größe proportional zu den Größen von D und B zunimmt.
-
Ein Verfahren zum durch die Berechnungseinheit für dreidimensionale Position
105 Identifizieren einer Messlinie, zu der ein detektierter Punkt gehört, kann jegliches Verfahren sein, das eine Messlinie des geometrischen Musters zu identifizieren vermag, zu der ein detektierter Punkt gehört. Zum Beispiel kann ein Verfahren zum Identifizieren einer Messlinie basierend auf den Messlinien eines geometrischen Musters gegebenen Merkmalen verwendet werden, das in der
Japanischen Patentoffenlegungsschrift Nr. 1-274007 offenbart ist. Ferner kann eine Messlinie durch eine Farbe unter Verwendung einer Farbbeleuchtungsvorrichtung/Aufnahmevorrichtung identifiziert werden. Wenn die schematische Position und Orientierung und das Formmodel eines zu messenden Objekts bekannt sind, können die Positionen von auf einem Bild zu beobachtenden Messlinien vorhergesagt werden, und eine Messlinie kann durch Korrespondenz zwischen einem detektierten Punkt und einer Messlinie nahe beim detektierten Punkt identifiziert werden. Falls nur eine Messlinie projiziert wird, ist Identifikation nicht notwendig. Was Berechnung von dreidimensionalen Positionen betrifft, ist es nicht immer notwendig dreidimensionale Positionen aus allen detektierten Punkten zu berechnen. Zum Beispiel können nur dreidimensionale Positionen innerhalb einer ausgewiesenen Region auf einem Bild berechnet werden, oder die detektierten Punkte können an vorbestimmten Intervallen ausgedünnt werden, um dreidimensionale Positionen zu berechnen.
-
• Verwendung einer Vor-Messung
-
Oben ist ein Fall beschrieben worden, in dem die Ausdehnungsgradschätzeinheit 101 den Ausdehnungsgrad eines geometrischen Merkmals schätzt durch Berechnen der stellvertretenden dreidimensionalen Position X und stellvertretenden Normalenrichtung N auf der Oberfläche einer Zielobjektfläche basierend auf der Position und Orientierung und dem Formmodel des Zielobjekts. Nachstehend wird ein Verfahren erklärt zum Berechnen der stellvertretenden dreidimensionalen Position X und stellvertretenden Normalenrichtung N auf der Zielobjektfläche aus der Positionsinformation der Gruppe dreidimensionaler Punkte auf der Zielobjektfläche, die unter Verwendung eines vorbestimmten Detektionsfilters erhalten worden ist.
-
Zuerst stellt die Punkteinstelleinheit 104 Punkte auf der Messlinie auf einem mit der Aufnahmevorrichtung 120 aufgenommenen Bild des Zielobjekts 140 ein unter Verwendung eines eine vorbestimmte Form besitzenden Detektionsfilters. Die Berechnungseinheit für dreidimensionale Position 105 berechnet die dreidimensionalen Positionen der durch die Punkteinstelleinheit 104 eingestellten detektierten Punkte (die obige Messung wird nachstehend als ”Vor-Messung” bezeichnet).
-
Als nächstes generiert die Ausdehnungsgradschätzeinheit 101 ein Polygonmodel des Zielobjekts 140 durch Verbinden von benachbarten Punkten der berechneten Gruppe dreidimensionaler Punkte, um ein Dreiecksnetz anzuordnen. Basierend auf dem generierten Polygonmodel simuliert die Ausdehnungsgradschätzeinheit 101 die Position der von der Projektionsvorrichtung 110 projizierten Messlinie, die auf dem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild beobachtet werden soll. Die Ausdehnungsgradschätzeinheit 101 erfasst eine dreidimensionale Position und Flächennormalenrichtung auf der Oberfläche des Zielobjekts 140 für jeden der Punkte (n Punkte) auf der auf dem aufzunehmenden Bild beobachteten Messlinie. Die Ausdehnungsgradschätzeinheit 101 erhält die stellvertretende dreidimensionale Position X und die stellvertretende Normalenrichtung N durch Berechnen des Durchschnittswerts der n dreidimensionalen Positionen und von dem der n Flächennormalenrichtungen. Man beachte, dass ein Verfahren zum Berechnen des Ausdehnungsbetrags D und des Bewegungsunschärfebetrag B basierend auf X und N das gleiche wie das oben beschriebene Verfahren ist.
-
Wie oben beschrieben, kann als die stellvertretende dreidimensionale Position X und die stellvertretende Normalenrichtung N des Zielobjekts 140, die verwendet werden sollen, um den Ausdehnungsgrad der Messlinie zu schätzen, die Positionsinformation der Gruppe dreidimensionaler Punkte auf der Zielobjektoberfläche verwendet werden, die durch Vor-Messung erhalten worden ist. Schätzen des Ausdehnungsgrads des geometrischen Merkmals basierend auf einem tatsächlichen Bild verbessert die Schätzgenauigkeit.
-
• Verwendung von tatsächlichen Bild oder Simulationsbild
-
Oben ist ein Fall beschrieben worden, in dem die Ausdehnungsgradschätzeinheit 101 den Ausdehnungsgrad der Messlinie schätzt durch Berechnen der stellvertretenden dreidimensionalen Position X und der stellvertretenden Normalenrichtung N auf der Zielobjektfläche basierend auf der Position und Orientierung und dem Formmodel des Zielobjekts. Nachstehend wird ein Verfahren erklärt zum Schätzen des Ausdehnungsbetrags D und des Bewegungsunschärfebetrags B aus einem Bild erhalten durch im Voraus Aufnehmen eines Zielobjekts oder eines es simulierenden Objekts unter Verwendung der Aufnahmevorrichtung 120.
-
Die Bilderfassungseinheit 103 erfasst ein Bild (nachstehend als ”Vor-Bild” bezeichnet) erhalten durch Aufnehmen eines Zielobjekts, auf das ein geometrisches Muster projiziert worden ist, oder eines das Zielobjekt simulierenden Objekts unter Verwendung der Aufnahmevorrichtung 120. Die Punkteinstelleinheit 104 detektiert schematisch als detektierte Punkte Punkte auf einer Messlinie beobachtet auf dem Vor-Bild unter Verwendung eines vorbestimmten Detektionsfilters.
-
Die Ausdehnungsgradschätzeinheit 101 berechnet den Ausdehnungsbetrag D und den Bewegungsunschärfebetrag B an jedem detektierten Punkt durch Fitten einer Funktion, die den Ausdehnungsbetrag D und Bewegungsunschärfebetrag B als Parameter besitzt, unter Verwendung der Methode der kleinsten Quadrate, und berechnet den Durchschnittswert der Ausdehnungsbeträge und den der Bewegungsunschärfebeträge, um dadurch den Ausdehnungsbetrag D und den Bewegungsunschärfebetrag B als stellvertretende Werte auf dem Bild zu erhalten.
-
Man beachte, dass zur Berechnung des Ausdehnungsbetrags D und Bewegungsunschärfebetrags B anstelle von Fitten durch die Methode der kleinsten Quadrate eine schematische Berechnung des Ausdehnungsbetrags mit D = G/2 und des Bewegungsunschärfebetrags mit B = G/2 verwendet werden kann durch Extrahieren von Regionen, wo eine Messlinie beobachtet wird, über Binarisieren des Bilds, und durch Einstellen von G als der Durchschnittswert des Breiten der Regionen.
-
Anstelle eines tatsächlichen Bilds kann ein Simulationsbild als Bild verwendet werden, das verwendet wird, um den Ausdehnungsbetrag D und Bewegungsunschärfebetrag B zu schätzen. Zum Beispiel ist es möglich, ein Bild zu verwenden erhalten durch Simulieren eines Bilds beobachtet als aufgenommenes Bild basierend auf dem Formmodel sowie der Position und Orientierung des Zielobjekts 140. Rendering-Software zum Durchführen von Jittering oder dergleichen kann verwendet werden, um ein Simulationsbild zu generieren.
-
Wie oben beschrieben, kann der Ausdehnungsgrad der Messlinie unter Verwendung eines aufgenommenen oder im Voraus erzeugten Bilds berechnet werden. Schätzen des Ausdehnungsgrads des geometrischen Merkmals unter Verwendung eines tatsächlichen Bilds oder Simulationsbilds verbessert die Schätzgenauigkeit.
-
• Verwendung eines festen Werts
-
Oben ist ein Fall beschrieben worden, in dem die Ausdehnungsgradschätzeinheit 101 beides den Ausdehnungsbetrag D und den Bewegungsunschärfebetrag B schätzt. Jedoch kann einer dieser Werte geschätzt werden und der andere Wert kann als im Voraus eingestellter Parameter gegeben werden. Zum Beispiel ist der Bewegungsunschärfebetrag mit B = 0 [Pixel] gegeben, wenn keine Bewegungsunschärfe angenommen wird. Wahlweise kann, falls eine Unschärfe kaum auftreten kann oder die Position und Winkel der Objektoberfläche innerhalb eines Bildschirms gleichförmig ist, der Ausdehnungsbetrag D des geometrischen Merkmals in einem Ruhezustand ein durch den Benutzer voreingestellter fester Wert sein.
-
Der Bewegungsvektor V kann auch ein fester Wert sein. Mit anderen Worten, die Ausdehnungsgradschätzeinheit 101 braucht nur den Ausdehnungsgrad des geometrischen Merkmals basierend auf mindestens eins aus der dreidimensionalen Position, Flächennormalenrichtung, und Bewegungsvektor von jedem der mehreren Punkte auf der Messlinie schätzen.
-
• Verwendung eines Vorlagenabgleichs
-
Oben ist ein Fall beschrieben worden, in dem die Punkteinstelleinheit 104 die Faltungsberechnung eines Bilds und eines Detektionsfilters durchführt und Punkte auf dem geometrischen Merkmal basierend auf dem Antwortwert der Faltungsberechnung einstellt. Das Punkteinstellverfahren kann jegliches Verfahren sein, das das geometrische Merkmal auf dem Bild zu detektieren vermag gemäß als der Ausdehnungsgrad des geometrischen Merkmals angegebenen Werten. Zum Beispiel kann Detektion durch Vorlagenabgleich durchgeführt werden. In diesem Fall stellt die Parametereinstelleinheit 102 die Form einer Vorlage gemäß dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad ein. Als Form der Vorlage wird ein Ergebnis aus Quantisieren mit einen vorbestimmten Schwellenwert der Wellenform (die in 5A gezeigte Wellenform 501) der Messlinie eingestellt, die aus dem Ausdehnungsbetrag D und Bewegungsunschärfebetrag B geschätzt werden kann. Die Punkteinstelleinheit 104 sucht nach einem Bild unter Verwendung der durch die Parametereinstelleinheit 102 eingestellten Vorlage, berechnet einen Fehlerwert durch Durchführen von Abgleich mit der Vorlage, und detektiert eine lokale Minimumposition, um dadurch einen Punkt auf der Messlinie einzustellen.
-
Zweite Ausführungsform
-
Die zweite Ausführungsform der vorliegenden Erfindung wird nachstehend beschrieben. In der zweiten Ausführungsform wird ein Verfahren erklärt zum Einstellen als ein durch eine Parametereinstelleinheit 102 eingestellter Parameter des Größenänderungsverhältnisses eines Bilds, für das Faltungsberechnung unter Verwendung eines Detektionsfilters durchgeführt wird. Mit anderen Worten, in der ersten Ausführungsform wird die Form des Detektionsfilters gemäß dem Ausdehnungsgrad der Messlinie adjustiert. Im Gegensatz dazu besitzt der Detektionsfilter in der zweiten Ausführungsform eine feste Form, und die Größe des Bilds selbst wird gemäß dem Detektionsfilter adjustiert.
-
In der zweiten Ausführungsform sind die Parametereinstellverarbeitung in Schritt S202 und die Einstellverarbeitung für detektierte Punkte in Schritt S204 im in 2 gezeigten Flussdiagramm verschieden von jenen in der ersten Ausführungsform. Die verbleibenden Komponenten und Abläufe sind die gleichen wie in der ersten Ausführungsform, und eine Beschreibung davon wird ausgelassen. Die Abläufe in Schritte S202 und S204 gemäß der zweiten Ausführungsform werden nachstehend beschrieben.
-
• Parametereinstellung (S202)
-
Die Parametereinstelleinheit 102 stellt das Größenänderungsverhältnis eines Bilds gemäß dem durch eine Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad einer Messlinie ein. Wie in der ersten Ausführungsform berechnet die Parametereinstelleinheit 102 eine Wellenform S der auf dem Bild beobachten Messlinie basierend auf den Werten eines Ausdehnungsbetrags D und Bewegungsunschärfebetrags B. Die Parametereinstelleinheit 102 stellt ein Größenänderungsverhältnis R derart ein, dass die Ausdehnung der Wellenform S innerhalb eines vorbestimmten Ausdehnungsgrads fällt. In der zweiten Ausführungsform berechnet die Parametereinstelleinheit 102 einer Standardabweichung Z der Wellenform S, und berechnet das Größenänderungsverhältnis R = E/Z derart, dass die Standardabweichung Z gleich zu einem vorbestimmten Wert E wird.
-
Der Wert des Größenänderungsverhältnisses R entspricht einem Parameter zum Umwandeln der Wellenform S der Messlinie beobachtet auf dem mit einer Aufnahmevorrichtung 120 aufgenommenen Bild in eine Wellenform S', die eine Standardabweichung mit dem vorbestimmten Werts E besitzt. Ferner wird in der zweiten Ausführungsform die Form eines Detektionsfilters durch einen durch den Parameter E vorbestimmten Wert angegeben, und ein Detektionsfilter generiert aus einer Wellenform erhalten durch Differenzieren der Gaußglockenfunktion mit der Standardabweichung E wird vorbereitet.
-
• Einstellung für Detektierte Punkte (S204)
-
Eine Punkteinstelleinheit 104 stellt Punkte auf der Messlinie auf dem mit einer Bilderfassungseinheit 103 erfassten Bild ein basierend auf dem durch die Parametereinstelleinheit 102 eingestellten Größenänderungsverhältnis R. Zuerst ändert die Punkteinstelleinheit 104 das Bild um R in Größe. Das Bild wird in einer Richtung (zum Beispiel die horizontale Richtung des Bilds) entlang einer Epipolarlinie auf dem Bild in Größe geändert. Als nächstes wird die Faltungsberechnung des im Voraus vorbereiteten Detektionsfilters und des größengeänderten Bilds durchgeführt, um den Nulldurchgangspunkt eines Antwortwerts in der horizontalen Richtung des Bilds zu suchen. Falls der Gradient der Antwortwerte vor und nach dem detektierten Nulldurchgangspunkt gleich oder größer als ein Schwellenwert ist, wird der Nulldurchgangspunkt als ein Punkt (detektierter Punkt) auf der Messlinie eingestellt, und die Position des detektierten Punkts vor Größenänderung wird berechnet durch Multiplizieren der Positionsinformation des detektierten Punkts auf dem größengeänderten Bild mit 1/R.
-
Wie oben beschrieben, wird gemäß der zweiten Ausführungsform der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel der Zielobjektfläche bewirkte Ausdehnungsgrad eines geometrischen Merkmals geschätzt, und das Bild, aus dem das geometrische Merkmal detektiert wird, wird basierend auf dem geschätzten Wert in Größe geändert, um dadurch Punkte auf dem geometrischen Merkmal mit hoher Genauigkeit zu berechnen und einzustellen. Dies kann die Genauigkeit von dreidimensionalen Positionen berechnet aus den eingestellten Punkten auf dem geometrischen Merkmal verbessern.
-
Man beachte, dass als das Größenänderungsverhältnis R gemäß der zweiten Ausführungsform ein Wert zum Reduzieren des Bilds eingestellt wird gemäß der Größe des Ausdehnungsbetrags D und der des Bewegungsunschärfebetrags B. Zum Beispiel kann schematische Berechnung gemäß R = E/(D + B) durchgeführt werden.
-
Dritte Ausführungsform
-
Die dritte Ausführungsform der vorliegenden Erfindung wird nachstehend beschrieben. In der dritten Ausführungsform wird ein Verfahren erklärt zum Einstellen von mehreren Detektionsfiltern mit verschiedenen Formen als durch eine Parametereinstelleinheit 102 eingestellte Parameter sowie zum Einstellen von Punkten auf einer Messlinie. In der dritten Ausführungsform werden unter Berücksichtigung, dass ein Ausdehnungsbetrag D und Bewegungsunschärfebetrag B, die durch eine Ausdehnungsgradschätzeinheit 101 geschätzt werden, Fehler beinhalten, verschiedene Sätzen D und B innerhalb vorbestimmter Bereiche mit Bezug auf die geschätzten Werte vorbereitet. Nach Einstellen von Punkten auf einer Messlinie unter Verwendung eines Detektionsfilters für jeden Satz werden die Antwortwerte der jeweiligen Detektionsfilter miteinander verglichen, und ein Punkt mit vermutlich relativ hoher Detektionsgenauigkeit wird wahlweise als ein detektierter Punkt eingestellt.
-
In der dritten Ausführungsform sind die Parametereinstellverarbeitung in Schritt S202 und die Einstellverarbeitung für detektierte Punkte in Schritt S204 im in 2 gezeigten Flussdiagramm verschieden von jenen in der ersten Ausführungsform. Die verbleibenden Komponenten und Abläufe sind die gleichen wie jene in der ersten Ausführungsform und eine Beschreibung davon wird ausgelassen. Die Abläufe in Schritte S202 und S204 gemäß der dritten Ausführungsform werden nachstehend beschrieben.
-
• Parametereinstellung (S202)
-
Die Parametereinstelleinheit 102 stellt mehrere Detektionsfilterformen gemäß dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad einer Messlinie ein. Mehrere Werte Dj und mehrere Werte Bk werden innerhalb Bereiche von D ± ΔD und B ± Δ erhalten durch Ändern des Ausdehnungsbetrags D und Bewegungsunschärfebetrags B um vorbestimmte Bereiche (ΔD und ΔB) eingestellt. Man beachte, dass die Anzahl einzustellender Werte und eine Schrittbreite als Parameter im Voraus gegeben werden. Mehrere verschiedene Formen besitzende Detektionsfilter werden basierend auf mehreren Sätzen Dj und Bk eingestellt. Man beachte, dass das Verfahren zum Einstellen der Form eines Detektionsfilters das gleiche ist wie in der ersten Ausführungsform.
-
• Einstellung für Detektierte Punkte (S204)
-
Basierend auf den durch die Parametereinstelleinheit 102 eingestellten mehreren Detektionsfiltern stellt eine Punkteinstelleinheit 104 Punkte auf einer Messlinie auf einem mit einer Bilderfassungseinheit 103 erfassten Bild ein. Zuerst werden durch Einstellen von Punkten auf der Messlinie auf dem Bild unter Verwendung jedes Detektionsfilters detektierte Punkte auf dem Bild für jeden Detektionsfilter erhalten. Unter zu den mehreren Detektionsfiltern entsprechenden Gruppen Punkte, die detektierte Punkte auf einer Messlinie besitzen, werden Punkte mit vermutlich relativ hoher Detektionsgenauigkeit wahlweise als detektierte Punkte eingestellt. Das heißt, falls benachbarte Punkte innerhalb eines vorbestimmten Bereichs E [Pixel], die durch die verschiedenen Detektionsfilter detektiert worden sind, in jeder Abtastlinie (zum Beispiel die horizontale Linie des Bilds) vorhanden sind, wird der Gradient vor und nach dem Nulldurchgangspunkt des Antwortwerts jedes Detektionsfilters überprüft, und ein Punkt entsprechend zu einem Nulldurchgangspunkt detektiert aus einem Antwortwert, für den der Gradient am größten ist, das heißt, eine Änderung in Luminanzwert auf dem Bild am schärfsten ist, wird als ein detektierter Punkt ausgewählt.
-
Wie oben beschrieben, wird gemäß der dritten Ausführungsform der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel der Zielobjektfläche bewirkte Ausdehnungsgrad des geometrischen Merkmals geschätzt, und mehrere Parameter werden mit Bezug auf den geschätzten Wert eingestellt unter Berücksichtigung, dass der geschätzte Wert einen Fehler beinhaltet. Verglichen mit einem Verfahren zum Einstellen von nur einem Parameter verbessert sich die Einstellgenauigkeit von Punkten auf dem geometrischen Merkmal. Dies kann die Genauigkeit von dreidimensionalen Positionen berechnet aus den eingestellten Punkten auf dem geometrischen Merkmal verbessern.
-
Man beachte, dass in der dritten Ausführungsform ein Fall erklärt worden ist, in dem mehrere Detektionsfilter als Parameter eingestellt werden. Jedoch können, wie in der zweiten Ausführungsform beschrieben, mehrere Größenänderungsverhältnisse des Bilds als Parameter eingestellt werden.
-
Ferner können ΔD und ΔB zum Definieren des Einstellbereichs der Parametereinstelleinheit 102 wie folgt eingestellt werden. Das heißt, in Schritt S401 berechnet die Ausdehnungsgradschätzeinheit 101 eine stellvertretende dreidimensionale Position X und stellvertretende Normalenrichtung N als stellvertretende Werte der dreidimensionalen Positionen und Flächennormalenrichtungen einer Gruppe Punkte auf der Messlinie, und berechnet auch Variationen ΔX und ΔN. Man beachte, dass als Variationskennzahl zum Beispiel eine Standardabweichung verwendet werden kann. Durch Substituieren von Werten basierend auf X ± ΔX und N ± ΔN in Schätzgleichungen (1) und (2) werden oben Werte von D ± ΔD und B ± ΔB erfasst.
-
Vierte Ausführungsform
-
Die vierte Ausführungsform der vorliegenden Erfindung wird nachstehend beschrieben. In der vierten Ausführungsform wird ein Verfahren erklärt zum Einstellen eines Parameters für jede durch Aufteilen einer Bildregion erhaltene Region, und zum Einstellen von Punkten auf einer Messlinie. In der ersten Ausführungsform wird eine Typ Ausdehnungsgrad für das gesamte Bild geschätzt. Jedoch ist der Ausdehnungsgrad für jede Region eines auf einem Bild tatsächlich beobachten Objekts verschieden. Um dies zu bewältigen, wird in der vierten Ausführungsform ein Parameter für jede Region eingestellt.
-
In der vierten Ausführungsform sind die Ausdehnungsgradschätzverarbeitung in Schritt S201, die Parametereinstellverarbeitung in Schritt S202, und die Einstellverarbeitung für detektierte Punkte in Schritt S204 im in 2 gezeigten Flussdiagramm verschieden von jenen in der ersten Ausführungsform. Die verbleibenden Komponenten und Abläufe sind die gleichen wie in der ersten Ausführungsform und eine Beschreibung davon wird ausgelassen. Die Abläufe in Schritte S201, S202 und S204 gemäß der vierten Ausführungsform werden nachstehend beschrieben.
-
• Schätzung eines Ausdehnungsgrads (S201)
-
Eine Ausdehnungsgradschätzeinheit 101 schätzt den Ausdehnungsgrad einer Messlinie beobachtet auf einem mit einer Aufnahmevorrichtung 120 aufzunehmenden Bild für jede Region des Bilds. In der vierten Ausführungsform wird das mit der Aufnahmevorrichtung 120 aufgenommene Bild in K Makroblöcke aufgeteilt, und der Ausdehnungsgrad der Messlinie wird für jeden Makroblock geschätzt.
-
Zuerst werden der stellvertretende Wert von dreidimensionalen Positionen und der von Flächennormalenrichtungen auf einer Zielobjektfläche entsprechend zur auf dem Bild beobachteten Messlinie geschätzt. In der vierten Ausführungsform wird eine Position, wo die von der Projektionsvorrichtung 110 projizierte Messlinie auf einem mit der Aufnahmevorrichtung 120 aufzunehmenden Bild beobachtet wird, unter Verwendung des Formmodels und der Position und Orientierung eines Zielobjekts 140 simuliert. Zu diesem Zeitpunkt werden eine dreidimensionale Position und Flächennormalenrichtung auf der Zielobjektfläche erfasst für jeden von n Punkten auf der Messlinie beobachtet auf dem mit der Aufnahmevorrichtung 120 aufgenommenen Bild. Als nächstes werden die Durchschnittswerte der dreidimensionalen Positionen und Flächennormalenrichtungen von Punkten beobachtet in jedem Makroblock i (i = 1, 2, ..., K) unter den n Punkten berechnet, um dadurch eine stellvertretende dreidimensionale Position Xi und eine stellvertretende Normalenrichtung Ni zu erhalten. Ein Verfahren zum Berechnen eines Ausdehnungsbetrags D und eines Bewegungsunschärfebetrags B aus der stellvertretenden dreidimensionalen Position Xi und der stellvertretenden Normalenrichtung Ni ist das gleiche wie in der ersten Ausführungsform. Der Ausdehnungsbetrag D und der Bewegungsunschärfebetrag B werden für jeden Makroblock berechnet.
-
• Parametereinstellung (S202)
-
Eine Parametereinstelleinheit 102 stellt die Wellenform eines Detektionsfilters gemäß dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad der Messlinie für jede Region des Bilds ein. Ein Verfahren zum Einstellen eines Detektionsfilters basierend auf der stellvertretenden dreidimensionalen Position Xi und der stellvertretenden Normalenrichtung Ni für jeden Makroblock i ist das gleiche wie in der ersten Ausführungsform.
-
• Einstellung für Detektierte Punkte (S204)
-
Basierend auf den durch die Parametereinstelleinheit 102 für die jeweiligen Regionen des Bilds eingestellten mehreren Detektionsfiltern stellt eine Punkteinstelleinheit 104 Punkte auf der Messlinie auf einem mit einer Bilderfassungseinheit 103 erfassten Bild ein. Ein Verfahren zum Einstellen von Punkten auf der Messlinie durch Anwenden der für die jeweiligen Makroblöcke eingestellten Detektionsfilter ist das gleiche wie in der ersten Ausführungsform.
-
Wie oben beschrieben, wird gemäß der vierten Ausführungsform der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel der Zielobjektfläche bewirkte Ausdehnungsgrad des geometrischen Merkmals für jede Region des Bilds geschätzt, und es wird ein Parameter für jede Region eingestellt. Daher verbessert sich verglichen mit einem Verfahren zum Einstellen von nur einem Parameter für das gesamte Bild die Einstellgenauigkeit von Punkten auf dem geometrischen Merkmal. Dies kann die Genauigkeit von dreidimensionalen Positionen berechnet aus eingestellten detektierten Punkten verbessern.
-
Man beachte, dass in der vierten Ausführungsform jegliches Verfahren zum Aufteilen eines Bilds in Regionen verwendet werden kann. Ein Bild kann in einem Gittermuster aufgeteilt werden, oder ein im Voraus aufgenommenes Bild eines Zielobjekts kann durch Segmentierung in Regionen aufgeteilt werden. Auch können Regionen von Oberflächen des mit der Aufnahmevorrichtung 120 beobachten Zielobjekts geschätzt werden basierend auf dem Formmodel sowie der Position und Orientierung des Zielobjekts, und ein Bild kann für jede Oberfläche aufgeteilt werden.
-
Fünfte Ausführungsform
-
Die fünfte Ausführungsform der vorliegenden Erfindung wird nachstehend beschrieben. In der ersten Ausführungsform ist das Verfahren beschrieben worden zum Projizieren des die mehreren Messlinien beinhaltenden geometrischen Musters und zum Detektieren von Punkten auf den auf dem Bild beobachteten Messlinien mit hoher Genauigkeit. Jedoch sind die geometrischen Merkmale des geometrischen Musters nicht notwendigerweise Linien. In der fünften Ausführungsform wird ein aus mehreren Punkten gebildetes geometrisches Muster verwendet.
-
In der fünften Ausführungsform wird, wie in 6 gezeigt, ein mehrere Punkte (Messpunkte) 601 beinhaltendes geometrisches Muster 600 verwendet. In diesem Fall werden, um die Messpunkte 601 einzustellen, die zweidimensionalen Positionen der Messpunkte 601, die die vertikalen und horizontalen Positionen der Messpunkte 601 angeben, eingestellt durch Anwenden von jeweils die vertikalen und horizontalen Richtungen eines Bilds besitzenden Differenzierungsfiltern sowie Detektieren der Nulldurchgangspunkte der Antwortwerte der Filter. Zu diesem Zeitpunkt ist es möglich, die Detektionsgenauigkeit zu verbessern durch Schätzen des Ausdehnungsgrads (Ausdehnungsbeträge Dx und Dy und Bewegungsunschärfebeträge Bx und By) der Messpunkte 601 in den vertikalen und horizontalen Richtungen des Bilds, sowie Einstellen der Formen von Detektionsfiltern in den vertikalen und horizontalen Richtungen basierend auf dem geschätzten Wert.
-
Man beachte, dass als Verfahren zum Identifizieren jedes Messpunkts 601 zum Beispiel die Epipolarlinie des geometrischen Musters gesucht wird basierend auf der Position jedes auf dem Bild beobachteten Messpunkts 601, und ein Abgleichen mit der Position jedes Messpunkts 601 auf dem geometrischen Muster durchgeführt wird, um dadurch den Messpunkt zu identifizieren. Wahlweise kann jedem Messpunkt 601 auf dem geometrischen Muster eine verschiedene Farbe gegeben werden, und jeder Messpunkt 601 kann basierend auf der Farbe jedes auf dem Bild beobachten Messpunkts identifiziert werden.
-
Wie oben beschrieben, werden gemäß der fünften Ausführungsform die durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel der Zielobjektfläche bewirkten Ausdehnungsgrade des geometrischen Merkmals in den zwei Richtungen auf dem Bild geschätzt, und ein Parameter wird basierend auf den geschätzten Werten eingestellt. Dies ermöglicht es die zweidimensionalen Positionen von Punkten auf dem geometrischen Merkmal mit hoher Genauigkeit zu berechnen, um dadurch die Genauigkeit von dreidimensionalen Positionen berechnet aus den eingestellten Punkten auf dem geometrischen Merkmal zu verbessern.
-
[Ergebnisse in jeder Ausführungsform]
-
Ergebnisse erhalten in jeder der oben beschriebenen Ausführungsformen werden nachstehend gemeinsam beschrieben.
-
Gemäß der ersten Ausführungsform ist es möglich, Punkte auf einem geometrischen Merkmal mit hoher Genauigkeit einzustellen durch Schätzen des durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel einer Zielobjektoberfläche bewirkten Ausdehnungsgrads des geometrischen Merkmals, und durch Einstellen der Form eines Detektionsfilters, der verwendet werden soll, um Punkte auf dem geometrischen Merkmal basierend auf dem geschätzten Wert einzustellen.
-
Wie in der ersten Ausführungsform beschrieben, wird beim Schätzen des Ausdehnungsgrads des geometrischen Merkmals basierend auf Simulation die Gesamtverarbeitung mit hoher Geschwindigkeit durchgeführt, da kein Zielobjekt im Voraus aufgenommen wird. Andererseits ist, wie in der Modifikation der ersten Ausführungsform beschrieben, die Schätzgenauigkeit des Ausdehnungsgrads hoch beim Schätzen des Ausdehnungsgrads des geometrischen Merkmals basierend auf einem tatsächlichen Bild oder Simulationsbild.
-
Gemäß der zweiten Ausführungsform ist es möglich, Punkte auf einem geometrischen Merkmal mit hoher Genauigkeit zu berechnen und einzustellen durch Schätzen des durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel einer Zielobjektoberfläche bewirkten Ausdehnungsgrads des geometrischen Merkmals, und durch Größenändern eines Bilds, aus dem das geometrische Merkmal detektiert wird, basierend auf dem geschätzten Wert.
-
Gemäß der dritten Ausführungsform wird der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel einer Zielobjektfläche bewirkte Ausdehnungsgrad eines geometrischen Merkmals geschätzt, und mehrere Parameter (mehrere Detektionsfilter) werden mit Bezug auf den geschätzten Wert eingestellt unter Berücksichtigung, dass der geschätzte Wert einen Fehler beinhaltet. Verglichen mit einem Verfahren zum Einstellen von nur einem Parameter verbessert sich die Einstellgenauigkeit von Punkten auf dem geometrischen Merkmal.
-
Gemäß der vierten Ausführungsform wird der durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel einer Zielobjektfläche bewirkte Ausdehnungsgrad eines geometrischen Merkmals für jede Region eines Bilds geschätzt, und ein Parameter wird für jede Region eingestellt. Verglichen mit einem Verfahren zum Einstellen von nur einem Parameter für das gesamte Bild verbessert sich daher die Einstellgenauigkeit von Punkten auf dem geometrischen Merkmal.
-
Gemäß der fünften Ausführungsform werden die durch den Einfluss einer Unschärfe, einer Bewegungsunschärfe, sowie der Position und Winkel einer Zielobjektfläche bewirkten Ausdehnungsgrade eines geometrischen Merkmals in zwei Richtungen auf einem Bild geschätzt, und ein Parameter wird basierend auf den geschätzten Werten eingestellt, um es dadurch zu ermöglichen die zweidimensionalen Positionen von Punkten auf dem geometrischen Merkmal mit hoher Genauigkeit zu berechnen.
-
Gemäß jeder der obigen Ausführungsformen ist es möglich, Punkte auf einem geometrischen Merkmal mit hoher Genauigkeit einzustellen in einem Bild erhalten durch Aufnehmen eines Objekts, auf das ein geometrisches Muster projiziert worden ist, um dadurch die Genauigkeit von aus den eingestellten Punkten (detektierte Punkte) berechneten dreidimensionalen Positionen zu verbessern. Mit anderen Worten, durch Verwenden eines Bilds erhalten durch Aufnehmen eines Objekts, auf das ein geometrisches Muster projiziert worden ist, ist es möglich, dreidimensionale Positionen auf der Oberfläche des Objekts mit hoher Genauigkeit zu messen.
-
Modifikation der Ausführungsformen
-
Die Projektionsvorrichtung 110 kann jegliche Vorrichtung sein, die ein ein geometrisches Merkmal beinhaltendes Muster projiziert. Zum Beispiel kann ein Projektor, der ein zweidimensionales Bild projiziert, oder eine Vorrichtung gebildet aus einer Kombination einer Lichtquelle und eines Maskenmusters verwendet werden. Ein zu projizierendes Muster kann ein Graustufenmuster oder Farbmuster sein.
-
Das geometrische Merkmal kann jegliches Merkmal sein, in dem eine Wellenform erhalten werden kann, die eine hügelförmige (oder talförmige) Änderung im Luminanzwert auf einem Bild angibt. Das geometrische Merkmal kann linear oder getüpfelt sein.
-
Das mit der Aufnahmevorrichtung 120 erfasste Bild kann jegliches zweidimensionale Bild sein. Zum Beispiel kann das Bild ein Graustufenbild oder Farbbild sein
-
Der Ausdehnungsgrad des geometrischen Merkmals beobachtet auf dem mit der Aufnahmevorrichtung 120 aufgenommenen Bild, der durch die Ausdehnungsgradschätzeinheit 101 geschätzt wird, kann jegliche Information sein, die die Ausdehnung des auf dem Bild beobachten geometrischen Merkmals angibt. Zum Beispiel kann nur ein Ausdehnungsbetrag, der die Luminanzverteilung darstellt, die beobachtet wird, wenn das Zielobjekt in einem Ruhezustand ist, verwendet werden, oder es kann nur ein Bewegungsunschärfebetrag verwendet werden, oder es können beide von diesen verwendet werden. Auch kann das Profil der Wellenform selbst von einer tatsächlich auf dem Bild beobachteten Änderung in Luminanz verwendet werden. Der Ausdehnungsbetrag/Bewegungsunschärfebetrag kann durch Simulation geschätzt werden basierend auf dem Formmodel sowie der Position und Orientierung des Zielobjekts oder der Information zur dreidimensionalen Position auf der Zielobjektoberfläche, oder kann aus einem tatsächlichen Bild geschätzt werden erhalten durch Aufnehmen des Zielobjekts oder eines es simulierenden Objekts.
-
Der durch die Parametereinstelleinheit 102 eingestellte Parameter kann jeglicher Parameter sein zum Detektieren des geometrischen Merkmals aus dem Bild gemäß dem durch die Ausdehnungsgradschätzeinheit 101 geschätzten Ausdehnungsgrad des geometrischen Merkmals. Falls ein Detektionsfilter verwendet wird, um das geometrische Merkmal zu detektieren, braucht die Form des Detektionsfilters nur gemäß dem Ausdehnungsgrad des geometrischen Merkmals eingestellt werden. Auch kann das Größenänderungsverhältnis des Bilds, aus dem das geometrische Merkmal detektiert werden soll, gemäß dem Ausdehnungsgrad des geometrischen Merkmals eingestellt werden. Falls Detektionsverarbeitung unter Verwendung von Vorlagenabgleich durchgeführt wird, ist es nur notwendig die Form einer Vorlage gemäß dem Ausdehnungsgrad des geometrischen Merkmals einzustellen.
-
As das Bilderfassungsverfahren durch die Bilderfassungseinheit 103 kann ein aufgenommenes Bild direkt von der Aufnahmevorrichtung 120 erfasst werden, oder ein in einem Speicher zeitweise gespeichertes Bild kann später erfasst werden, oder ein Bild kann über ein Netzwerk erfasst werden.
-
Die Punkteinstelleinheit 104 kann jegliches Verfahren verwenden zum Einstellen von Punkten auf dem geometrischen Merkmal gemäß der Ausdehnung des auf dem Bild beobachten geometrischen Merkmals basierend auf dem durch die Parametereinstelleinheit 102 eingestellten Parameter für das mit der Bilderfassungseinheit 103 erfasste Bild. Es kann ein Verfahren zum Durchführen von Faltungsberechnung unter Verwendung eines Detektionsfilters sowie zum Einstellen von Punkten auf dem geometrischen Merkmal basierend auf dem Antwortwert der Faltungsberechnung verwendet werden, oder ein Verfahren zum Einstellen von Punkten auf dem geometrischen Merkmal durch Abgleichen mit einer Vorlage.
-
Ein Verfahren, in dem die Berechnungseinheit für dreidimensionale Position 105 dreidimensionale Positionen berechnet entsprechend zu den durch die Punkteinstelleinheit 104 eingestellten Punkten auf dem geometrischen Merkmal, kann jegliches auf Triangulierung basierendes Verfahren sein.
-
Andere Ausführungsformen
-
Ausführungsform(en) der vorliegenden Erfindung können auch durch einen Computer eines Systems oder Vorrichtung realisiert werden, der auf einem Speichermedium (das vollständiger auch als ein 'nicht-flüchtiges computerlesbares Speichermedium' bezeichnet werden kann) aufgezeichnete computerausführbare Anweisungen (z. B. ein oder mehr Programme) ausliest und ausführt, um die Funktionen von einer oder mehr der oben beschriebenen Ausführungsform(en) durchzuführen, und/oder der ein oder mehr Schaltungen (z. B. eine anwenderspezifisch-integrierte Schaltung (ASIC)) beinhaltet zum Durchführen der Funktionen von einer oder mehr der oben beschriebenen Ausführungsform(en), sowie durch ein durch den Computer des Systems oder Vorrichtung durchgeführtes Verfahren durch, zum Beispiel, Auslesen und Ausführen der computerausführbaren Anweisungen von dem Speichermedium, um die Funktionen von einer oder mehr der oben beschriebenen Ausführungsform(en) durchzuführen, und/oder Steuern der ein oder mehr Schaltungen, um die Funktionen von einer oder mehr der oben beschriebenen Ausführungsform(en) durchzuführen. Der Computer kann einen oder mehr Prozessoren (z. B. eine zentrale Verarbeitungseinheit (CPU), eine Mikroprozessoreinheit (MPU)) umfassen, und kann ein Netzwerk von separaten Computern oder separaten Computerprozessoren enthalten, um die computerausführbaren Anweisungen auszulesen und auszuführen. Die computerausführbaren Anweisungen können dem Computer zum Beispiel von einem Netzwerk oder dem Speichermedium zur Verfügung gestellt werden. Das Speichermedium kann zum Beispiel eins oder mehr aus einer Festplatte, einem Speicher mit wahlfreiem Zugriff (RAM), einem Nur-Lese-Speicher (ROM), einem Speicher von verteilten Computersystemen, einer optischen Platte (wie etwa eine Compact Disc (CD), Digital Versatile Disc (DVD) oder Blu-ray Disc (BD)TM), einer Flashspeichervorrichtung, einer Speicherkarte, und dergleichen enthalten.
-
Obwohl die vorliegende Erfindung unter Bezugnahme auf Ausführungsbeispiele beschrieben worden ist, ist selbstverständlich, dass die Erfindung nicht auf die offenbarten Ausführungsbeispiele begrenzt ist. Dem Umfang der folgenden Ansprüche soll die weitestgehende Interpretation zugestanden werden, sodass alle solchen Modifikationen und äquivalenten Strukturen und Funktionen erfasst sind.
-
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
-
- JP 2011-204280 [0003]
- JP 1-274007 [0062]
-
Zitierte Nicht-Patentliteratur
-
- M. Kimura, ”Projector Calibration using Arbitrary Planes and Calibrated Camera” (dt. Projektorkalibrierung mittels beliebiger Ebenen und kalibrierter Kamera), Computer Vision and Pattern Recognition, CVPR, 2007 [0022]
- R. Y. Tsai, ”A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses” (zu deutsch: Eine vielseitige Kamerakalibrierungsmethode für hochgenaue Messtechnik für 3D-Maschinelles-Sehen unter Verwendung von handelsüblichen TV-Kameras und Objektiven), IEEE Journal of Robotics and Automation, Vol. RA-3, No. 4, 1987 [0024]