DE102013211240B4 - Bereichsmessvorrichtung und Bereichsmessverfahren - Google Patents

Bereichsmessvorrichtung und Bereichsmessverfahren Download PDF

Info

Publication number
DE102013211240B4
DE102013211240B4 DE102013211240.8A DE102013211240A DE102013211240B4 DE 102013211240 B4 DE102013211240 B4 DE 102013211240B4 DE 102013211240 A DE102013211240 A DE 102013211240A DE 102013211240 B4 DE102013211240 B4 DE 102013211240B4
Authority
DE
Germany
Prior art keywords
image
region
target object
light pattern
orientation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102013211240.8A
Other languages
English (en)
Other versions
DE102013211240A1 (de
Inventor
Yuichiro Hirota
Hisayoshi Furihata
Yusuke Nakazato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE102013211240A1 publication Critical patent/DE102013211240A1/de
Application granted granted Critical
Publication of DE102013211240B4 publication Critical patent/DE102013211240B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/14Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Measurement Of Optical Distance (AREA)

Abstract

Bereichsmessvorrichtung, mit: einer ersten Beschaffungseinrichtung (202), die dazu konfiguriert ist, geometrische Merkmale eines Modells eines Zielobjekts zu beschaffen; einer zweiten Beschaffungseinrichtung (203), die dazu konfiguriert ist, anfängliche ungefähre Positions- und Orientierungsinformationen des Zielobjekts zu beschaffen; einer Bilderfassungseinrichtung (103), die dazu konfiguriert ist, ein Bild, das das Zielobjekt enthält, auf das ein Lichtmuster projiziert wird, zu erfassen; einer Spezifizierungseinrichtung (205), die dazu konfiguriert ist, basierend auf Pixelwerten in dem erfassten Bild, eine mit dem Lichtmuster projizierte Region in dem Bild, das durch die Bilderfassungseinrichtung erfasst wird, zu spezifizieren; einer Sucheinrichtung (205), die dazu konfiguriert ist, geometrische Merkmale des Modells auf das erfasste Bild basierend auf den anfänglichen ungefähren Positions- und Orientierungsinformationen zu projizieren, und nach Bildmerkmalen des Zielobjekts, die den projizierten geometrischen Merkmalen entsprechen, in einer anderen Region als der spezifizierten Region basierend auf den Pixelwerten in dem erfassten Bild zu suchen; und einer Herleitungseinrichtung (201), die dazu konfiguriert ist, eine Position und eine Orientierung des Zielobjekts durch Minimieren von Entfernungen zwischen den Bildmerkmalen des Zielobjekts, die durch die Sucheinrichtung gesucht werden, und geometrischen Merkmalen des Modells herzuleiten, wobei die Sucheinrichtung (205) aufweist: eine Erzeugungseinrichtung (205), die dazu konfiguriert ist, eine Region mit dem Lichtmuster in dem erfassten Bild als eine Lichtmusterregion zu definieren, ein Maskenbild entsprechend der Lichtmusterregion zu erzeugen, und das Maskenbild entsprechend der Lichtmusterregion zu vergrößern und die Sucheinrichtung (205) weiter dazu konfiguriert ist, nach den Bildmerkmalen des Zielobjekts, die den projizierten geometrischen Merkmalen entsprechen, in einer anderen Region als der Region, die dem vergrößerten Maskenbild entspricht, zu suchen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Technik zum Messen einer Position und Orientierung eines Objekts, dessen dreidimensionale Form gegeben ist.
  • Beschreibung des Standes der Technik
  • In den letzten Jahren, einher mit einer Entwicklung der Robotertechnologie, bearbeiten Roboter allmählich komplizierte Aufgaben anstelle von Menschen. Ein typisches Beispiel von komplizierten Aufgaben umfasst einen Zusammenbau von Industrieprodukten. Um einen Roboter zu steuern, um autonom eine Montageaufgabe auszuführen, muss der Roboter eine Komponente mit einem Greiforgan, wie etwa einer Hand, greifen. Um eine Komponente durch eine Roboterhand zu greifen, müssen die relative Position und Orientierung zwischen der zu greifenden Komponente und dem Roboter gemessen werden und basierend auf den Messergebnissen muss ein Bewegungsplan erzeugt werden, um Stellglieder tatsächlich zu steuern.
  • In weiteren Gebieten außer bei Robotern müssen Positionen und Orientierungen mit Bezug auf Umgebungen und Objekte gemessen werden. Bei einer MR („Mixed Reality”) zum Beispiel müssen eine Position und Orientierung gemessen werden, um ein virtuelles Objekt, das durch einen Computer erzeugt wird, auf einem realen Bild zusammenzusetzen. Die Positions-/Orientierungsmessung eines Roboters wird unter Verwendung einer Kamera oder eines Bereichssensors, der an dem Roboter angebracht ist, ausgeführt, und typischerweise wird ein Verfahren verwendet, das ein zweidimensionales Bild oder ein Bereichsbild verwendet. Auf dem Gebiet der MR wurde eine Technik zum Ausführen einer Positions-/Orientierungsmessung eines HMD (”Head Mounted Display”) unter Verwendung eines Bildes, das durch eine Kamera aufgenommen wird, die an der HMD angebracht ist, erforscht.
  • Patentliteratur 1 (Japanische Patentanmeldung JP 2010-137680 A ) offenbart ein Verfahren des präzisen und schnellen Messens einer Position und einer Orientierung eines Objekts, das sich mit hoher Geschwindigkeit bewegt. Bei diesem Verfahren wird ein Betrachtungsbild, das durch Erfassen eines Bildes eines Objekts, auf das ein Rasterlicht bzw. Lichtraster bzw. Lichtmuster projiziert wird, unter Verwendung einer normalen Kamera erhalten wird, in eine Region, die für eine Kantenextrahierung verwendet wird, und eine, die für eine Bereichsbilderzeugung verwendet wird, aufgeteilt, und eine Kantenextrahierung und eine Bereichsbilderzeugung werden unter Verwendung dieser Regionen ausgeführt. Auf diese Weise wird durch eine komplementäre Verwendung einer Positions-/Orientierungsmessung basierend auf zweidimensionalen Kanten und der basierend auf einem Bereichsbild eine Präzisionsverbesserung und eine Beschleunigung der Positions-/Orientierungsmessung erreicht.
  • Mit dem in der Patentliteratur 1 offenbarten Verfahren können zwar Kanten eines Bildes präzise erfasst werden, da manche der Regionen, die mit dem Lichtmuster projiziert bzw. bestrahlt werden, basierend auf einem Kantenmodell, das durch Projizieren bzw. Bestrahlen eines dreidimensionalen Modells erhalten wird, entfernt werden, aber eine Qualität eines Bereichsbilds, das von dem Lichtmuster erzeugt wird, tendiert dazu, grob zu sein. Dieses Phänomen ist besonders auffällig, wenn ein Zielobjekt derart platziert ist, dass es sich in eine Tiefenrichtung eines Betrachtungsbildes über einen breiten Bereich erstreckt, womit oft eine Verschlechterung einer Präzision der Positions-/Orientierungsmessung verursacht wird.
  • Die Druckschrift US 2012/0098961 A1 offenbart eine Formmessvorrichtung mit einem Laserstrahler, der einen Laser aussendet, und einem Scanner, der den Laserstrahl über einem Bereich, an dem ein Objekt platziert ist, abtastet. Eine Kamera erfasst das vom dem Laserstrahl reflektierte Licht und eine dreidimensionale Messung des Objekts wird basierend auf dem Erfassungsergebnis der Kamera durchgeführt. Eine Steuerung ändert einen Abtastbereich des Scanners gemäß dem Bereich, in dem das Objekt platziert ist.
  • Die Druckschrift WO 2007/083039 A2 offenbart Verfahren zum Positionieren eines Greifarms in einer Arbeitsumgebung.
  • Die Druckschrift „A. Morales at al; „Integrated grasp planning and visual object localization for a humanoid robot with five-fingered hands”; IEEE/RSJ International Conference on Robots and Systems, 2006, S 5663–5668” offenbart ein Verfahren für einen Greifarm zum Greifen eines Objektes basierend auf einer Modelldatenbank, die eine Beschreibung von allen Objekten, die in einem Arbeitsraum des Greifarms vorhanden sind, enthält.
  • Die Druckschrift DE 10 2006 022 104 A1 betrifft ein Vorrichtung zur dreidimensionalen Vermessung eines Festkörpers mit einer ersten Messeinrichtung in der Form eines Durchstrahlungscomputertomographen und einer zweiten Messeinrichtung zum Erfassen der äußeren Kontur des Festkörpers.
  • Die Druckschrift US 2006/0269123 A1 offenbart ein dreidimensionales Vermessungsverfahren zur Vermessung einer Objektform.
  • KUZRFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung wurde unter Berücksichtigung der vorstehend erwähnten Probleme vorgenommen und stellt eine Technik zum Berechnen einer Position und einer Orientierung eines Objekts, insbesondere eines Objekts, das derart platziert ist, dass es eine Ausdehnung in eine Bildtiefenrichtung aufweist, mit hoher Genauigkeit bereit.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine Bereichsmessvorrichtung gemäß Patentanspruch 1 bereitgestellt.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Bereichsmessverfahren gemäß Patentanspruch 4 bereitgestellt.
  • Gemäß weiteren Aspekten der vorliegenden Erfindung sind Computerprogrammprodukte gemäß Patentansprüchen 5 und 6 und ein Speichermedium gemäß Patentanspruch 7 bereitgestellt.
  • Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von beispielhaften Ausführungsbeispielen mit Bezug auf die anhängigen Zeichnungen ersichtlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine Ansicht, die ein Anordnungsbeispiel eines Systems zeigt;
  • 2 ist ein Blockdiagramm, das ein funktionales Anordnungsbeispiel einer Bildverarbeitungsvorrichtung 104 zeigt;
  • 3A bis 3F sind Ansichten zum Erklären eines dreidimensionalen geometrischen Modells;
  • 4 ist ein Ablaufdiagramm einer Verarbeitung, die durch die Bildverarbeitungsvorrichtung 104 auszuführen ist;
  • 5 ist ein Ablaufdiagramm, das Details einer Verarbeitung in Schritt S403 zeigt;
  • 6 ist eine Ansicht, die ein Beispiel eines erfassten Bildes zeigt;
  • 7 ist eine Ansicht, die ein Beispiel eines Binärbildes zeigt;
  • 8 ist eine Ansicht, die ein Beispiel einer Lichtmustermaske zeigt;
  • 9 ist ein Ablaufdiagramm, das Details einer Verarbeitung in Schritt S404 zeigt;
  • 10A und 10B sind Ansichten zum Erklären einer Verknüpfungsverarbeitung;
  • 11 ist eine Ansicht zum Erklären der Beziehung zwischen einem projizierten Bild eines Liniensegments und einer erfassten Kante; und
  • 12 ist eine Ansicht, die ein Anordnungsbeispiel eines Robotersystems zeigt.
  • BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
  • Ausführungsbeispiele der vorliegenden Erfindung werden nachstehend mit Bezug auf die anhängigen Zeichnungen beschrieben. Es sei angemerkt, dass die nachstehend beschriebenen Ausführungsbeispiele Beispiele sind, wenn die vorliegende Erfindung zweckmäßig genutzt wird und praktische Ausführungsbeispiele von Anordnungen sind, die in dem Umfang der Ansprüche beschrieben sind.
  • [Erstes Ausführungsbeispiel]
  • Die Anordnung eines Systems gemäß diesem Ausführungsbeispiel wird zuerst mit Bezug auf 1 beschrieben. Ein Objekt 101 ist ein Zielobjekt als ein Objekt, dessen Position und Orientierung (Position/Orientierung) zu messen sind. In diesem Ausführungsbeispiel wird der Einfachheit halber angenommen, dass nur ein Objekt 101 als ein Positions-/Orientierungsmessziel an einer bestimmten Position platziert ist, wie in 1 gezeigt ist. Eine Positions-/Orientierungsmessverarbeitung hängt jedoch nicht stark von Formen, der Anzahl und Anordnungsformen der Objekte ab. Zum Beispiel ist die vorliegende Erfindung auf einen Fall anwendbar, in dem die Position und Orientierung eines bestimmten Objekts in einem Zustand zu messen sind, in dem eine Vielzahl von Objekten mit unterschiedlichen Formen vermischt und in Stapeln geschichtet sind.
  • Ein Projektor 102 bestrahlt das Objekt mit einem vorgeschriebenen Lichtmuster. In diesem Ausführungsbeispiel wird Schlitzlicht bzw. eine schlitzförmige Lichtquelle als das bzw. die verwendet, mit der das Objekt 101 zu bestrahlen ist. Details des Projektors 102 werden nachstehend beschrieben.
  • Eine Bilderfassungseinrichtung 103 ist erforderlich, um ein Standbild oder ein Bewegtbild im realen Raum zu erfassen, und wird verwendet, um ein Bild des Objekts 101, das mit Schlitzlicht durch den Projektor 102 bestrahlt wird, zu erfassen. Dann gibt die Bilderfassungseinrichtung 103 ein erfasstes. bzw. aufgenommenes Bild (erfasstes Bild oder Betrachtungsbild) an eine Bildverarbeitungsvorrichtung 104 aus. Details der Bilderfassungseinrichtung 103 werden nachstehend beschrieben.
  • Die Bildverarbeitungsvorrichtung 104 führt eine Operationssteuerung des Projektors 102 und der Bilderfassungseinrichtung 103 aus und berechnet eine Position und Orientierung des Objekts 101 unter Verwendung des erfassten Bildes, das von der Bilderfassungseinrichtung 103 erhalten wird.
  • Ein funktionales Anordnungsbeispiel der Bildverarbeitungsvorrichtung 104 wird nachstehend mit Bezug auf das in 2 gezeigte Blockdiagramm beschrieben.
  • Eine Positions-/Orientierungsberechnungseinheit 201 berechnet eine Position und Orientierung des Objekts 101 unter Verwendung von Verarbeitungsergebnissen einer Kantenentsprechungserfassungseinheit 205 und einer Bereichsbilderzeugungseinheit 206 basierend auf dem Bild, das durch die Bilderfassungseinrichtung 103 erfasst wird. Dann gibt die Positions-/Orientierungsberechnungseinheit 201 die berechnete Position und Orientierung des Objekts 101 an ein geeignetes Ausgabeziel aus.
  • Dreidimensionale Modellinformationen 202 werden durch Umwandeln eines CAD-Modells oder eines dreidimensionalen CAD-Modells, das durch eine dreidimensionale CAD-Software verarbeitet werden kann, in eine Vielzahl von Polygonelementen, die auf dem Gebiet der Computergraphiken verwendet werden, erhalten. In diesem Ausführungsbeispiel wird ein dreidimensionales geometrisches Modell verwendet, das die Form des Objekts 101 simuliert und durch Polygonelemente konfiguriert ist. Das dreidimensionale geometrische Modell, das durch Polygonelemente konfiguriert ist, wird nachstehend mit Bezug auf 3A bis 3F beschrieben.
  • Das dreidimensionale geometrische Modell, das durch Polygonelemente konfiguriert ist, umfasst Elemente wie etwa Punkte, Linien und Ebenen, wie in 3A bis 3F gezeigt ist. 3A bis 3C zeigen ein identisches dreidimensionales geometrisches Modell.
  • Modellinformationen des dreidimensionalen geometrischen Modells, das durch Polygonelemente konfiguriert ist, verwalten in Verknüpfung mit Eckpunkten des dreidimensionalen geometrischen Modells, das in 3A veranschaulicht ist, Indizes der entsprechenden Eckpunkte und deren dreidimensionalen Koordinatenwerte, wie in 3D gezeigt ist.
  • Ebenso verwalten diese Modellinformationen in Verknüpfung mit entsprechenden Seiten des dreidimensionalen geometrischen Modells, das in 3B veranschaulicht ist, Indizes der entsprechenden Seiten und diese von Eckpunkten an zwei Enden von jeder Seite, wie in 3E gezeigt ist.
  • Des Weiteren verwalten diese Modellinformationen in Verknüpfung mit entsprechenden Ebenen (Polygonen) des dreidimensionalen geometrischen Modells, das in 3C veranschaulicht ist, Indizes der entsprechenden Polygone, diese von entsprechenden Seiten von jedem Polygon und Normalenvektoren der Polygone, wie in 3F gezeigt ist.
  • Solche dreidimensionalen Modellinformationen 202 werden in einem geeigneten Speicher in der Bildverarbeitungsvorrichtung 104 oder einem externen Speicher, auf den die Bildverarbeitungsvorrichtung 104 zugreifen kann, gespeichert.
  • Anfängliche ungefähre Positions-/Orientierungsinformationen 203 sind als Initialwerte von iterativen Berechnungen gegeben, die erforderlich sind, um die Position und Orientierung des Objekts 101 zu berechnen. Als diese anfänglichen ungefähren Positions-/Orientierungsinformationen 203 werden im Voraus geeignete Werte engestellt und in einem geeigneten Speicher in der Bildverarbeitungsvorrichtung 104 oder einem externen Speicher, auf den die Bildverarbeitungsvorrichtung 104 zugreifen kann, gespeichert. Diese anfänglichen ungefähren Positions-/Orientierungsinformationen 203 können durch den Benutzer unter Verwendung einer (nicht gezeigten) Bedieneinheit eingestellt werden.
  • Es sei angenommen, dass die Position und Orientierung die in einem Koordinatensystem (Kamerakoordinatensystem) mit Bezug auf die der Bilderfassungseinrichtung 103 sind, solange es nicht anders spezifiziert ist. Ebenso wird angenommen, dass ein ”Koordinatensystem des Objekts” in der folgenden Beschreibung ein Koordinatensystem angibt, das für jedes Objekt lokal eingestellt ist.
  • Die Kantenentsprechungserfassungseinheit 205 erfasst entsprechende Kanten zwischen dem dreidimensionalen geometrischen Modell, das auf ein Bild projiziert wird, das durch die Bilderfassungseinrichtung 103 erfasst wird, und dem Bild des Objekts 101, das in dem erfassten Bild enthalten ist.
  • Die Bereichsbilderzeugungseinheit 206 erzeugt aus dem Bild, das durch die Bilderfassungseinrichtung 103 erfasst wird, ein Bereichsbild, das Entfernungen von der Bilderfassungseinrichtung 103 zu entsprechenden Positionen auf dem Objekt 101 für entsprechende Pixel darstellt. In diesem Ausführungsbeispiel werden Entfernungen unter Verwendung von Mehrfachschlitzlicht als Lichtmuster in Verknüpfung mit einer Erzeugung des Bereichsbildes durch Triangulation berechnet. Das Lichtmuster ist jedoch nicht darauf beschränkt und andere Muster können verwendet werden, solange eine Vielzahl von Bilderfassungsoperationen nicht erforderlich ist. Zum Beispiel kann ein zufälliges Punktmuster oder ein lokales Ebenenmuster verwendet werden. Alternativ kann ein Punktlicht bzw. punktuelles Licht bzw. ein Lichtpunkt verwendet werden. Bezüglich einer Region, auf die keine Beleuchtung für eine Bereichsmessung projiziert wird, wird kein spezielles Licht projiziert, wenn eine ausreichende Helligkeit durch Umgebungslicht erhalten werden kann. Ansonsten wird ein Beleuchtungsmuster geändert, um zum Beispiel gleichförmig weißes Licht zu projizieren. Ebenso kann bei einem Musterprojektionsverfahren eine projizierte Region umgekehrt werden, um ein Muster als Schatten auszudrücken.
  • Der Projektor 102 ist ein Flüssigkristallprojektor und ist eine Projektionseinrichtung, die Schlitzlicht als ein vorgeschriebenes Lichtmuster projiziert. Intrinsische Parameter (Fokuslänge, Hauptpunktposition und Linsenverzerrungsparameter) des Projektors werden im Voraus zum Beispiel durch ein Verfahren, das in der folgenden Literatur offenbart ist, kalibriert.
    Z. Zhang, ”A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligente, Vol. 22, Nr. 11, Seiten 1330–1334, 2000.
  • Es sei angemerkt, dass eine andere Einrichtung als der Projektor 102 verwendet werden kann, solange diese Schlitzlicht projizieren kann. Zum Beispiel kann ein Projektor unter Verwendung einer DMD (”Digital Mirror Device”) oder LCOS verwendet werden.
  • Die intrinsischen Parameter (Fokuslänge, Hauptpunktposition und Linsenverzerrungsparameter) der Bilderfassungseinrichtung 103 werden im Voraus durch zum Beispiel das vorstehend erwähnte Verfahren nach Zhang kalibriert. Weiterhin werden die relative Position und Orientierung zwischen der Bilderfassungseinrichtung 103 und dem Projektor 102 im Voraus durch zum Beispiel das vorstehend erwähnte Verfahren nach Zhang oder ein Verfahren, das in der folgenden Literatur offenbart ist, kalibriert, womit eine Triangulation unter Verwendung von Lichtmuster ermöglicht wird.
    Seiji Iguchi und Koseku Sato, ”Three-dimensional Image Measurement” (SHOKODO, 1990)
  • Eine Verarbeitung, die durch die Bildverarbeitungsvorrichtung 104 ausgeführt wird, um die Position und Orientierung des Objekts 101 zu berechnen, wird nachstehend mit Bezug auf 4 beschrieben, die das Ablaufdiagramm dieser Verarbeitung zeigt.
  • In Schritt S401 liest die Positions-/Orientierungsberechnungseinheit 201 die dreidimensionalen Modellinformationen 202 aus einem internen oder externen Speicher der Bildverarbeitungsvorrichtung 104 aus. Es sei angemerkt, dass die Positions-/Orientierungsberechnungseinheit 201 die dreidimensionalen Modellinformationen 202, die durch den Benutzer durch Bedienen einer (nicht gezeigten) Bedieneinheit eingegeben werden, beschaffen kann. Alternativ kann eine Vielzahl von Elementen von dreidimensionalen Modellinformationen 202 von einer Vielzahl von dreidimensionalen geometrischen Modellen in dem Speicher gespeichert werden, kann ein Objekt, das in einem Bild, das durch die Bilderfassungseinrichtung 103 erfasst wird, enthalten ist, erkannt werden und können die dreidimensionalen Modellinformationen 202 entsprechend dem erkannten Objekt ausgelesen werden.
  • Als Nächstes liest in Schritt S402 die Positions-/Orientierungsberechnungseinheit 201 die anfänglichen ungefähren Positions-/Orientierungsinformationen 203 aus dem internen oder externen Speicher der Bildverarbeitungsvorrichtung 104 aus. Es sei angemerkt, dass die Positions-/Orientierungsberechnungseinheit 201 die anfänglichen ungefähren Positions-/Orientierungsinformationen 203, die durch den Benutzer durch Betätigen einer (nicht gezeigten) Bedieneinheit eingegeben werden, beschaffen kann. Alternativ können die anfänglichen ungefähren Positions-/Orientierungsinformationen 203 durch einen optischen Sensor bestimmt und beschafft werden, der die Position und Orientierung misst, durch Erfassen von Markierungen, die auf dem Objekt angeordnet sind, unter Verwendung einer Kamera, die auf eine Szene fixiert ist. Zusätzlich können beliebige Sensoren verwendet werden, solange diese eine Position und Orientierung von sechs Freiheitsgraden messen. Ebenso, wenn eine ungefähren Position und Orientierung, an der das Objekt platziert ist, im Voraus bekannt sind, können diese Werte als die anfänglichen ungefähren Positions-/Orientierungsinformationen 203 verwendet werden.
  • Als Nächstes erzeugen in Schritt S403 die Kantenentsprechungserfassungseinheit 205 und die Bereichsbilderzeugungseinheit 203 entsprechend eine Lichtmustermaske und ein Bereichsbild basierend auf dem Bild, das durch die Bilderfassungseinrichtung 103 erfasst wird. Details dieser Verarbeitung in Schritt S403 werden nachstehend mit Bezug auf das in 5 gezeigte Ablaufdiagramm beschrieben.
  • Als Nächstes festigen in Schritt S404 die Positions-/Orientierungsberechnungseinheit 202, die Kantenentsprechungserfassungseinheit 205 oder eine (nicht gezeigte) Steuerungseinheit die Position und Orientierung des dreidimensionalen geometrischen Modells des Objekts 101 basierend auf den entsprechenden Elementen von Informationen, die in Schritten S401 bis S403 erhalten werden. Somit wird die Position und Orientierung als die des Objekts 101 berechnet.
  • Details der Verarbeitung in Schritt S403 werden nachstehend mit Bezug auf 5 beschrieben, welche das Ablaufdiagramm von dieser Verarbeitung zeigt.
  • In Schritt S501 steuert die (nicht gezeigte) Steuerungseinheit den Projektor 102, um das Objekt 101 mit Schlitzlicht als das vorbestimmte Lichtmuster zu bestrahlen.
  • In Schritt S502 steuert die (nicht gezeigte) Steuerungseinheit die Bilderfassungseinrichtung 103, um ein Bild des Objekts 101, das mit dem vorgeschriebenen Lichtmuster bestrahlt wird, zu erfassen. 6 zeigt ein Beispiel eines durch die Bilderfassungseinrichtung 103 erfassten Bildes. Die folgende Beschreibung wird der Einfachheit halber unter der Annahme vorgenommen, dass das durch die Bilderfassungseinrichtung 103 erfasste Bild das ist, das in 6 veranschaulicht wird.
  • In Schritt S503 steuert die (nicht gezeigte) Steuerungseinheit den Projektor 102, um eine Bestrahlung mit dem Schlitzlichts als das vorgeschriebene Lichtmuster zu beenden.
  • In Schritt S504 erfasst die Kantenentsprechungserfassungseinheit 205 Regionen mit dem Lichtmuster in dem erfassten Bild als mit Lichtmuster projizierte Regionen und erzeugt ein Binärbild, das die gleiche vertikale und horizontale Größe wie die des erfassten Bildes aufweist und drückt die mit Lichtmuster projizierten Regionen und eine nicht mit Lichtmuster projizierte Region unter Verwendung von verschiedenen Pixelwerten aus. Das Binärbild wird wie folgt erzeugt.
  • Das heißt es wird auf einen Luminanzwert an jeder Pixelposition in dem erfassten Bild Bezug genommen und wenn ein Luminanzwert an der bezeichneten Pixelposition (x, y) nicht weniger als ein Schwellenwert ist, wird beurteilt, dass die Pixelposition zu einer mit Lichtmuster projizierten Region gehört, und ein Pixelwert an der Pixelposition (x, y) in dem Binärbild wird auf ”1” gesetzt. Andererseits, wenn der Luminanzwert an der Pixelposition (x, y) in dem erfassten Bild niedriger als der Schwellenwert ist, wird beurteilt, dass die Pixelposition nicht zu der mit Lichtmuster projizierten Region gehört, und ein Pixelwert der Pixelposition (x, y) in dem Binärbild wird auf ”0” eingestellt. Es sei angemerkt, dass die Bedeutungen von ”1” und ”0” umgekehrt werden könnten, und dass die vorliegende Erfindung nicht auf diese Werte beschränkt ist. Das heißt, es muss nur durch einen Pixelwert unterschieden werden, ob ein Pixel an jeder Pixelposition in dem Binärbild an einer Pixelposition liegt, die zu der mit Lichtmuster projizierten Region gehört oder nicht.
  • Ob ein Pixel an einer Pixelposition in dem erfassten Bild zu der mit Lichtmuster projizierten Region gehört, kann durch verschiedene andere Verfahren zusätzlich zum Vergleich zwischen dem Luminanzwert und einem Schwellenwert, wie vorstehend beschrieben, beurteilt werden. Zum Beispiel kann solch eine Beurteilung durch ein Verfahren des Vornehmens von solch einer Unterscheidung basierend auf Komponenteninformationen einer Farbe des Schlitzlichts und der einer Farbe von jedem Pixel in dem erfassten Bild oder ein Verfahren des Vornehmens solch einer Unterscheidung basierend auf der Weise, wie sich Farbinformationen ändern, durchgeführt werden.
  • 7 zeigt ein Beispiel eines Binärbildes, das von dem in 6 gezeigten erfassten Bild erzeugt wird. Regionen mit den mit Lichtmuster projizierten Regionen in dem in 6 gezeigten erfassten Bild sind in 7 durch schwarze Linien angegeben und diese schwarzen Linien werden durch Pixel mit einem Pixelwert ”1” gebildet (eine andere Region als die schwarze Linie wird durch Pixel mit einem Pixelwert ”0” gebildet).
  • Als Nächstes erzeugt in Schritt S505 die Bereichsbilderzeugungseinheit 206 ein Bereichsbild unter Verwendung des in Schritt S504 erzeugten Binärbildes. Eine Entfernung als ein Pixelwert von jedem Pixel des Bereichsbilds kann gemäß einem in der folgenden Literatur beschriebenen Verfahren berechnet werden.
    R. Hartley und A. Zisserman ”Multiple view geometry in computer vision Second Edition” (Cambridge University Press, 2003).
  • In diesem Ausführungsbeispiel werden Entfernungen basierend auf Pixelpositionen in dem Lichtmuster, das durch den Projektor 102 projiziert wird, berechnet, entsprechend Positionen auf dem erfassten Bild, den intrinsischen Parametern des Projektors 102 und der Bilderfassungseinrichtung 103 und der relativen Position und Orientierung zwischen dem Projektor 102 und der Bilderfassungseinrichtung 103. Dann werden visuelle Linienvektoren entsprechend den entsprechenden Pixelpositionen des erfassten Bildes mit den Entfernungen von diesen Pixelpositionen multipliziert, womit Positionen (dreidimensionale Positionen in dem Kamerakoordinatensystem) als Zeigerziele der visuellen Linienvektoren, die durch die entsprechenden Pixelpositionen des erfassten Bildes verlaufen, als Punktgruppendaten berechnet werden.
  • In Schritt S506 erzeugt die Kantenentsprechungserfassungseinheit 205 ein Bild, das durch Ändern des Binärbildes, das heißt durch Vergrößern von Regionen mit einem Pixelwert ”1” in den Binärbildern erhalten wird, als eine Lichtmustermaske (mit der gleichen vertikalen und horizontalen Größe wie die des Binärbildes).
  • Anfangs wird eine Lichtmustermaske als eine Kopie des Binärbildes erzeugt. Dann wird auf eine Pixelposition in der Lichtmustermaske Bezug genommen und wenn ein Pixelwert eines Pixels an der bezeichneten Pixelposition (x, y) gleich ”1” ist, werden Pixelwerte von benachbarten Pixeln (zum Beispiel Pixel, deren Nachbar ein betroffenes Pixel ist) des betreffenden Pixels auf ”1” aktualisiert.
  • 8 zeigt ein Beispiel der Lichtmustermaske, die aus dem in 7 gezeigten Binärbild erzeugt wird. Die mit Lichtmuster projizierten Regionen (durch Pixel eines Pixelwerts ”1” gebildet) in dem in 7 gezeigten Binärbild werden in 8 zu dickeren schwarzen Linien vergrößert und die vergrößerten schwarzen Linien werden durch Pixel mit einem Pixelwert ”1” gebildet (eine andere Region als die vergrößerten schwarzen Linien werden durch Pixel mit einem Pixelwert ”0” gebildet).
  • Diese Lichtmustermaske wird verwendet, um später Abweichungen (Fehler) von Kanten zwischen dem dreidimensionalen geometrischen Modell auf dem erfassten Bild und dem Objekt 101 in der Positions-/Orientierungsberechnungsverarbeitung zu berechnen. Der Grund, warum die mit Lichtmuster projizierten Regionen vergrößert werden, ist ein Risiko von Entsprechungsfehlern zwischen Kanten des dreidimensionalen geometrischen Modells und denen, die durch Lichtmusterprojektion gebildet werden, zu reduzieren. Diese Verknüpfung wird später detailliert beschrieben.
  • Als Nächstes werden Details der Verarbeitung in Schritt S404 nachstehend mit Bezug auf 9 beschrieben, die das Ablaufdiagramm dieser Verarbeitung zeigt. In diesem Ausführungsbeispiel wird bei den iterativen Berechnungen, die erforderlich sind, um die Position und Orientierung des Objekts 101 zu festigen, ein Gauss-Newton-Verfahren verwendet. Somit werden ungefähre Werte der Position und Orientierung (in der folgenden Beschreibung durch ”s” ausgedrückt) des Objekts 101 iterativ durch die iterativen Berechnungen korrigiert, wodurch die Position und Orientierung berechnet werden.
  • In den Berechnungen der Position und Orientierung in diesem Ausführungsbeispiel werden eine geschätzte Position und Orientierung wie folgt optimiert. Das heißt, die geschätzte Position und Orientierung werden durch Minimieren einer Gesamtsumme von Entfernungen zwischen den Kanten des Objekts 101 auf dem erfassten Bild und Liniensegmenten des dreidimensionalen geometrischen Modells, das auf dieses Bild projiziert wird, basierend auf der geschätzten Position und Orientierung und Entfernungen zwischen den entsprechenden Positionen, die durch die Punktgruppendaten angegeben werden, und dem dreidimensionalen geometrischen Modell bei der geschätzten Position und Orientierung optimiert. Genauer werden vorzeichenbehaftete Entfernungen zwischen Punkten und Linien auf einem zweidimensionalen Bild und vorzeichenbehaftete Entfernungen zwischen Punkten und einer Ebene in einem dreidimensionalen Raum als lineare Funktionen von minimalen Änderungen in einer Position und Orientierung des Objekts 101 durch lineare Taylor-Entwicklung ausgedrückt. Dann werden durch Schreiben und Lösen von linearen simultanen Gleichungen, die mit minimalen Änderungen in einer Position und Orientierung verknüpft sind, so dass die vorzeichenbehafteten Entfernungen gleich Null werden, die minimalen Änderungen in Position und Orientierung des Objekts 101 berechnet, um die Position und Orientierung wiederholt zu korrigieren.
  • In Schritt S901 stellt die Positions-/Orientierungsberechnungseinheit 201 die vorstehenden anfänglichen ungefähren Positions-/Orientierungsinformationen 203 so ein, dass sie die Initialwerte (Initialposition und -Orientierung s) der folgenden iterativen Berechnungen sind.
  • In Schritt S902 projiziert die Kantenentsprechungserfassungseinheit 205 ein dreidimensionales geometrisches Modell (in der Praxis nur Seiten) mit einer Position und Orientierung, die durch die momentanen Werte s angegeben sind, auf das erfasste Bild. Weiterhin wandelt die Positions-/Orientierungsberechnungseinheit 201 in Verknüpfung mit entsprechenden Ebenen, die das dreidimensionale geometrische Modell bilden, Koordinatenwerte der entsprechenden Eckpunkte der Ebenen in die des Kamerakoordinatensystems um.
  • Dann verknüpft die Kantenentsprechungserfassungseinheit 205 Kanten zwischen dem Objekt 101 in dem erfassten Bild und dem dreidimensionalen geometrischen Modell, das auf das erfasste Bild projiziert wird. Diese Verknüpfungsverarbeitung wird nachstehend mit Bezug auf 10A und 10B beschrieben. In 10A wird eine Region in dem erfassten Bild entsprechend einer Region, in der ein Pixelwert gleich ”1” in der Lichtmustermaske ist, als eine Lichtmustermaske 1004 ausgedrückt.
  • Ein Liniensegment, das durch Projizieren eines Liniensegments des dreidimensionalen geometrischen Modells mit der Position und Orientierung, die durch die momentanen Werte s angegeben sind, erhalten wird, wird als ein Liniensegment 1001 gezeigt. Ein projiziertes Bild des Liniensegments ist ebenso ein Liniensegment auf dem Bild. Als Nächstes werden Steuerungs- bzw. Kontrollpunkte 1002 auf dem projizierten Liniensegment 1001 gesetzt, um gleiche Intervalle auf dem Bild zu haben, und eine Suchlinie 1003 wird in eine Richtung senkrecht zu dem projizierten Liniensegment 1001 für jeden Steuerungspunkt 1002 gesetzt. Dann wird für jeden Steuerungspunkt 1002 eine eindimensionale Kante auf einer Linie erfasst, die innerhalb einer vorgeschriebenen Entfernung von diesem Steuerungspunkt auf der Suchlinie 1003, die für diesen Steuerungspunkt eingestellt ist, liegt, und nicht die Lichtmustermaske 1004 umfasst. Dann wird ein Punkt, der dem Steuerungspunkt 1002 der erfassten Kanten am nächsten liegt, als ein Entsprechungspunkt 1005 gespeichert. In der Praxis kann, obwohl die Lichtmustermaske 1004 Kanten umfasst, die durch das Lichtmuster gebildet werden, da ein Entsprechungspunkt auf diese Weise gesucht wird, vermieden werden, dass eine Kante, die durch das Lichtmuster gebildet wird, fälschlicherweise verknüpft wird.
  • 10B zeigt einen Graph, in dem ein Ursprung ein Steuerungspunkt ist, die Abszisse Suchlinien darstellt und die Ordinate Absolutwerte eines Luminanzgradienten darstellt. In dem vorhergehenden Bild wird eine Kante als ein Extremwert eines Absolutwerts eines Luminanzgradienten eines Pixelwerts erfasst. Auf diese Weise wird ein Punkt, an dem der Extremwert des Absolutwerts des Luminanzgradienten größer ist als ein vorbestimmter Wert und der am nächsten zu dem Steuerungspunkt liegt, als ein Entsprechungspunkt 1006 erfasst (der Entsprechungspunkt 1005 in 10A).
  • Es sei angemerkt, dass nach einer Erfassung einer Kante, die sich nicht aus dem Lichtmuster ergibt, eine Kante in einer anderen Region als der Lichtmustermaske 1004 in diesem Ausführungsbeispiel erfasst wird. Jedoch kann die Verarbeitungsreihenfolge zu dieser Zeit die folgende Reihenfolge sein, um den gleichen Effekt zu erhalten. Das heißt, nachdem eine Kante erfasst wird, wird unterschieden, ob die erfasste Kante innerhalb einer Maskenregion liegt oder nicht. Wenn die erfasste Kante innerhalb der Maskenregion liegt, wird diese Kante angewendet; wenn sie außerhalb der Region liegt, wird die nächste Kante erfasst.
  • In Schritt S903 berechnet die Positions-/Orientierungsberechnungseinheit 201 eine Koeffizientenmatrix, die erforderlich ist, um die Position und Orientierung (die erforderlich ist, um lineare simultane Gleichungen zu lösen) und Fehlervektoren zu berechnen. Um ein Liniensegment als eine Seite des dreidimensionalen geometrischen Modells mit einer Kante zu verknüpfen und die Position und Orientierung des Objekts 101 zu berechnen, muss die Koeffizientenmatrix berechnet werden, die erforderlich ist, um die Position und Orientierung und Fehlervektoren zu berechnen.
  • Es sei angemerkt, dass Elemente der Koeffizientenmatrix lineare partiell differentielle Koeffizienten für minimale Änderungen in ungefähren Werten der Position und Orientierung sind. Bezüglich Kanten werden partiell differentielle Koeffizienten von Bildkoordinaten berechnet und bezüglich einer Punktgruppe werden partiell differentielle Koeffizienten von dreidimensionalen Koordinaten berechnet. Jeder Fehlervektor ist eine Entfernung zwischen dem projizierten Liniensegment und einer erfassten Kante auf dem Bild in Verknüpfung mit dieser Kante und ist eine Entfernung zwischen einer Ebene und einem Punkt eines Modells im dreidimensionalen Raum in Verknüpfung mit den Punktgruppendaten.
  • 11 ist eine Ansicht zum Erklären eines projizierten Bildes eines Liniensegments und einer erfassten Kante. In 11 werden horizontale und vertikale Richtungen eines Bildes entsprechend als u- und v-Achsen ausgedrückt. Koordinaten eines bestimmten Steuerungspunktes (ein Punkt, der jedes projizierte Liniensegment auf dem Bild gleichmäßig teilt) auf dem Bild werden durch (u0, v0) ausgedrückt und eine Neigung des Liniensegments, zu dem der Steuerungspunkt auf dem Bild gehört, wird als eine Neigung θ mit Bezug auf die u-Achse ausgedrückt. Die Neigung θ wird als eine Neigung einer Linie berechnet, die Koordinaten von zwei Enden auf dem Bild koppelt, durch Projizieren von dreidimensionalen Koordinaten der zwei Enden des Liniensegments. Ein Normalenvektor zu dem Liniensegment auf dem Bild wird durch (sinθ, –cosθ) ausgedrückt. Ebenso werden Koordinaten eines Entsprechungspunktes des Steuerungspunktes auf dem Bild durch (u', v') ausgedrückt. Ein Punkt (u, v) auf einer Linie (einer gestrichelten Linie in 11), der durch die Koordinaten (u', v') des Entsprechungspunktes führt und eine Neigung θ aufweist, kann ausgedrückt werden durch: usinθ – vcosθ = d d = u'sinθ – v'cosθ (1)
  • Die Position des Steuerungspunktes auf dem Bild ändert sich in Abhängigkeit von der Position und Orientierung des Objekts 101. Freiheitsgrade der Position und Orientierung des Objekts 101 sind sechs Freiheitsgrade. Das heißt, s ist ein sechsdimensionaler Vektor, der drei Elemente umfasst, die die Position des Objekts 101 darstellen, und drei Elemente, die die Orientierung darstellen. Die drei Elemente, die die Orientierung darstellen, werden durch zum Beispiel Euler-Winkel oder einen dreidimensionalen Vektor ausgedrückt, in dem eine Richtung eine Rotationsachse darstellt, die durch einen Ursprung läuft, und Normen Rotationswinkel darstellen. Die Koordinaten (u, v) des Punktes, die sich in Abhängigkeit von der Position und Orientierung auf dem Bild ändern, können in der Umgebung von Koordinaten (u0, v0) durch eine lineare Taylor-Entwicklung genähert werden, wie etwa:
    Figure DE102013211240B4_0002
    wobei Δsi (i = 1, 2, ..., 6) eine minimale Änderung von jeder Komponente von s ist.
  • Es kann angenommen werden, dass eine Position eines Steuerungspunktes, der durch die korrekten Werte s auf dem Bild erhalten wird, auf der Linie liegt, die durch Gleichung (1) gegeben ist. Ein Einsetzen von u und v, die durch Gleichungen (2) genähert werden, in Gleichung (1) ergibt:
    Figure DE102013211240B4_0003
  • Dreidimensionale Koordinaten auf dem Kamerakoordinatensystem können in dreidimensionale Koordinaten (x, y, z) auf dem Koordinatensystem des Objekts 101 unter Verwendung der Position und Orientierung s des Objekts 101 umgewandelt werden. Es sei angenommen, dass ein bestimmter Punkt in einen Punkt (x0, y0, z0) auf dem Koordinatensystem des Objekts 101 umgewandelt wird, basierend auf der ungefähren Position und Orientierung. Die Koordinaten (x, y, z) ändern sich in Abhängigkeit von der Position und Orientierung des Objekts 101 und können in der Umgebung des Punktes (X0, y0, z0) durch eine lineare Taylor-Erweiterung wie folgt genähert werden:
    Figure DE102013211240B4_0004
  • Es sei angenommen, dass eine Gleichung einer Ebene des dreidimensionalen Modells, das mit einer Position verknüpft ist, die durch bestimmte Daten in den Punktgruppendaten auf dem Koordinatensystem des Objekts 101 in Schritt S902 verknüpft ist, gegeben ist durch ax + by + cz = e (a2 + b2 + c2 = 1, a, b, c und e sind Konstanten). Es wird ebenso angenommen, dass die Koordinaten (x, y, z), die unter Verwendung der korrekten Werte s umgewandelt werden, die Gleichung ax + by + cz = e (a2 + b2 + c2 = 1) der zweidimensionalen Ebene erfüllen. Wenn Gleichungen (4) in die Gleichung der Ebene eingesetzt werden, wird erhalten:
    Figure DE102013211240B4_0005
  • In diesem Ausführungsbeispiel wird, wie vorstehend beschrieben, ein Fehlerwert in dem dreidimensionalen Raum durch eine Entfernung zwischen einer Ebene des dreidimensionalen geometrischen Modells und einem entsprechenden Messpunkt (Gleichung (5)) ausgedrückt. Jedoch ist das Definitionsverfahren des Fehlerwertes nicht darauf beschränkt und irgendwelche anderen Verfahren können verwendet werden, solange diese Entfernungen (Abweichungsbeträge) zwischen dem dreidimensionalen geometrischen Modell und Punktgruppendaten definieren können. Wenn zum Beispiel die Punktgruppendaten Linieninformationen und Ebeneninformationen umfassen, wenn ein Fehlerwert unter Verwendung einer Zwischenkantenentfernung oder Zwischenebenenentfernung definiert ist, können die Position und Orientierung ähnlich berechnet werden.
  • Gleichung (3) kann für alle verknüpften Kanten wahr sein. Ebenso, da Gleichung (5) für alle verknüpften Punktgruppendaten wahr ist, sind lineare simultane Gleichungen, die mit Δsi verknüpft sind, zutreffend, gegeben durch:
    Figure DE102013211240B4_0006
  • Es sei angemerkt, dass Gleichungen (6) ausgedrückt werden als: JΔs = E (7)
  • Partielle differentielle Koeffizienten, die erforderlich sind, um eine Koeffizientenmatrix J von linearen simultanen Gleichungen (6) zu berechnen, werden gemäß zum Beispiel einem in der folgenden Literatur offenbarten Verfahren berechnet:
    V. Lepetit und P. Fua, ”Keypoint recognition using randomized trees”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, Nr. 9, 2006.
  • In Schritt S904 berechnet die Positions-/Orientierungsberechnungseinheit 201 partielle differentielle Koeffizienten, die erforderlich sind, um die Koeffizientenmatrix J der linearen simultanen Gleichungen zu berechnen. Basierend auf Gleichung (7) berechnet die Positions-/Orientierungsberechnungseinheit 201 einen Positions-/Orientierungskorrekturwert Δs unter Verwendung einer verallgemeinerten inversen Matrix (JT·J)–1·JT der Matrix J. Da Kanten und Punktgruppendaten aufgrund von Erfassungsfehlern jedoch viele Ausreißer umfassen, wird ein robustes Schätzverfahren, das nachstehend beschrieben wird, verwendet. Im Allgemeinen wird an einer Kante (Punktgruppendaten) als ein Ausreißer ein Fehler d – r (e – q) groß. Folglich weist solch eine Kante einen großen Grad einer Mitwirkung auf simultane Gleichungen von Gleichungen (6) und (7) auf und die Präzision von Δs verringert sich entsprechend.
  • Folglich wird Daten mit einem großen Fehler d – r (e – q) eine kleine Gewichtung gegeben und wird Daten mit einem kleinen Fehler d – r (e – q) eine große Gewichtung gegeben. Die Gewichtung wird unter Verwendung einer Tukey-Funktion vorgenommen, die gegeben ist durch:
    Figure DE102013211240B4_0007
    wobei c1 und c2 Konstanten sind. Es sei angemerkt, dass die Funktion, die verwendet wird, um eine Gewichtung vorzunehmen, nicht die Tukey-Funktion sein muss, und irgendwelche anderen Funktionen, wie etwa eine Huber-Funktion, verwendet werden können, solange diese eine kleine Gewichtung an Informationen mit einem großen Fehler und eine große Gewichtung an Informationen mit einem kleinen Fehler geben. Sei wi eine Gewichtung entsprechend jeder Messinformation (Kante oder Punktgruppendaten). Es sei angemerkt, dass eine Gewichtungsmatrix W definiert ist durch:
    Figure DE102013211240B4_0008
  • Die Gewichtungsmatrix W ist eine quadratische Matrix, bei der alle Einträge außer diagonalen Komponenten, die Gewichtungen wi umfassen, gleich ”0” sind. Unter Verwendung dieser Gewichtungsmatrix W wird Gleichung (7) umgeformt, wie: WJΔs = WE (10)
  • Der Korrekturwert Δs wird durch Lösen von Gleichung (10) berechnet, wie etwa: Δs = (JT·WJ)–1·JT·WE (11)
  • In Schritt S905 korrigiert (aktualisiert) die Positions-/Orientierungsberechnungseinheit 201 die ungefähren Positions-/Orientierungswerte s durch Berechnen, unter Verwendung des Positions-/Orientierungskorrekturwerts Δs, der in Schritt S904 berechnet wird: s ← s + Δs
  • In Schritt S906 nimmt die Positions-/Orientierungsberechnungseinheit 201 eine Konvergenzbestimmung von s vor. Wenn s konvergiert ist, endet die Verarbeitung; ansonsten kehrt der Prozess zurück zu Schritt S902, um iterative Berechnungen fortzusetzen. Bei der Konvergenzbestimmung wird eine Konvergenz bestimmt, wenn der Korrekturwert Δs in der Nähe von Null ist oder wenn quadratische Summen von Fehlervektoren vor und nach einer Korrektur fast gleich sind. Auf diese Weise können die Position und Orientierung durch iteratives Vornehmen von Berechnungen bis zu einer Konvergenz berechnet werden.
  • Wie vorstehend beschrieben kann gemäß diesem Ausführungsbeispiel erreicht werden, dass die Positions-/Orientierungsmessung eine höhere Stabilität mit Bezug auf eine Oberflächenform und eine geometrische Form eines Objekts aufweist, und speziell für ein Objekt, das derart angeordnet ist, dass es eine Ausdehnung in eine Bildtiefenrichtung aufweist, eine hohe Präzision aufweist.
  • Es sei angemerkt, dass dieses Ausführungsbeispiel das Berechnungsverfahren unter Verwendung des Gauss-Newton-Verfahrens als ein Beispiel einer Modellanpassung erklärt hat. Das Modellanpassungsverfahren ist nicht darauf beschränkt. Zum Beispiel können Berechnungen unter Verwendung eines Levenberg-Marquardt-Verfahrens vorgenommen werden, das robustere Berechnungen erreichen kann, oder unter Verwendung eines Verfahrens eines steilsten Abstiegs als ein einfaches Verfahren. Ebenso können andere nichtlineare Optimierungsberechnungsverfahren, wie etwa ein konjugiertes Gradientenverfahren und ICCG-Verfahren verwendet werden.
  • Weiterhin werden in diesem Ausführungsbeispiel die Position und Orientierung des Objekts 101 in Schritt S404 durch eine Modellanpassung mit iterativen Berechnungen unter Verwendung des Bereichsbilds und einer Lichtmustermaske, die in Schritt S403 erhalten wird, berechnet. Es kann jedoch ein Verfahren des direkten Berechnens der Position und Orientierung unter Verwendung einer Musterabgleichung anstelle einer Modellanpassung in Schritt S404 verwendet werden.
  • Zum Beispiel wird eine geodätische Sphäre mit gleichen Entfernungen von der Mitte eines CAD-Modells zu Eckpunkten als CAD-Daten eines Objekts eingestellt. Dann werden Kantenbilder, wenn von entsprechenden Eckpunkten der geodätischen Sphäre zu der Mitte des CAD-Modells aus betrachtet, im Voraus vorbereitet und eine Musterabgleichung zwischen diesen vom Betrachtungspunkt abhängigen Kantenmodellen und einem erfassten Bild, das bereits der Lichtmustermaskenverarbeitung unterzogen wurde, wird ausgeführt. Auf diese Weise können eine ungefähre Position und Orientierung des Objekts berechnet werden, während der Einfluss von Lichtmusterrauschen unterdrückt wird. Weiterhin ist die Verwendungsanwendung des Bereichsbilds und der Lichtmustermaske, die in Schritt S403 erhalten werden, nicht auf eine Verwendung bei einer Modellanpassung oder einer Musterabgleichung beschränkt. Zum Beispiel sind das Bereichsbild und die Lichtmustermaske bei einer allgemeinen Kollationsverarbeitung breit einsetzbar, die den Einfluss von Lichtmusterrauschen unter Verwendung der Lichtmustermaske eliminiert.
  • Es sei angemerkt, dass in diesem Ausführungsbeispiel die Bildverarbeitungsvorrichtung 104 ein erfasstes Bild direkt von der Bilderfassungseinrichtung 103 beschafft. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel kann die Bildverarbeitungsvorrichtung 104 ein erfasstes Bild von einem Speicher beschaffen, das Bilder speichert, die von der Bilderfassungseinrichtung 103 erfasst werden. In diesem Fall muss die Bilderfassungsvorrichtung 103 nicht immer mit der Bildverarbeitungsvorrichtung 104 verbunden sein.
  • Das heißt, die Bildverarbeitungsvorrichtung 104 gemäß dem ersten Ausführungsbeispiel und den folgenden Ausführungsbeispielen ist lediglich ein Beispiel der folgenden Anordnung und verschiedene Modifikationen der Anordnung sind anwendbar, solange diese Funktionen aufweisen, die äquivalent zu der folgenden Anordnung sind.
  • Das heißt, ein Bild, das ein Zielobjekt umfasst, auf das ein Lichtmuster projiziert wird, wird beschafft. Dann werden Modellinformationen, die eine Form des Zielobjekts simulieren, auf dem Bild überlagert, Punkte des Zielobjekts, die denen der überlagerten Modellinformationen entsprechen, werden aus einer anderen Region als einer vergrößerten Region, die durch Vergrößern einer Region mit dem Lichtmuster in dem Bild erhalten wird, spezifiziert. Dann werden basierend auf den spezifizierten Punkten positionelle Abweichungen zwischen den Modellinformationen, die auf dem Bild überlagert sind, und dem Zielobjekt berechnet. Dann werden die Position und Orientierung der Modellinformationen als diese des Zielobjekts berechnet, um die positionellen Abweichungen zu minimieren.
  • Bei der vorstehenden Suche wird eine Region mit Lichtmuster in dem erfassten Bild als eine Lichtmusterregion definiert und eine Region ohne irgendwelches Lichtmuster in dem erfassten Bild wird als eine Nichtlichtmusterregion definiert. Ein Maskenbild mit verschiedenen Pixelwerten in einer Region in dem Maskenbild entsprechend der Lichtmusterregion und der in dem Maskenbild entsprechend der Nichtlichtmusterregion wird erzeugt und eine Region in dem erfassten Bild entsprechend einer Region, die durch Vergrößern der Region in dem Maskenbild entsprechend der Lichtmusterregion erhalten wird, wird als eine vergrößerte Region definiert. Dann werden die Suchergebnisse in einer anderen Region als der vergrößerten Region als ”Entsprechungspunkte des Zielobjekts” definiert. Alternativ werden Ergebnisse, die durch Ausschließen von Positionen in der vergrößerten Region von den Suchergebnissen erhalten werden, als ”Entsprechungspunkte des Zielobjekts” definiert.
  • Bei den vorstehenden Berechnungen wird ein Bereichsbild, das Entfernungen von der Bilderfassungseinrichtung zu entsprechenden Positionen auf dem Zielobjekt als Pixelwerte umfasst, von dem Maskenbild erzeugt. Dann werden die iterativen Berechnungen vorgenommen, um positionelle Abweichungen zwischen entsprechenden Positionen auf dem Zielobjekt, die durch das Bereichsbild ausgedrückt werden, und denen entsprechend diesen Positionen auf den Modellinformationen und die Entfernungen zu minimieren.
  • [Zweites Ausführungsbeispiel]
  • Das erste Ausführungsbeispiel hat das Verfahren des Erfassens von mit Lichtmuster projizierten Regionen von einem erfassten Bild und des Erzeugens einer Musterbildmaske basierend auf den erfassten Regionen in Schritt S506 beschrieben. Dieses Verfahren ist breit anwendbar, auch wenn eine Form des Lichtmusters nicht bekannt ist. Als ein weiteres Verfahren, wenn die Form des Lichtmusters gegeben ist, werden projizierte Regionen des Lichtmusters in dem erfassten Bild von dieser Lichtmusterform, einer ungefähren Position und Orientierung eines Objekts und einer geometrischen Form des Objekts berechnet, womit eine Lichtmustermaske erzeugt wird.
  • Basierend auf Lichtquelleninformationen wird in einem Zustand, in dem ein Projektor Lichtmuster projiziert, und Modellinformationen eines Objekts, das an einer ungefähren Position und Orientierung ausgerichtet ist, ein spezifisches Pixel, auf das ein Kameraschlitzlicht, das ein Bild erfasst, projiziert wird, berechnet. Genauer werden solche Pixel durch das Prinzip eines Lichtstrahlverfolgungsverfahrens berechnet, das verfolgt und berechnet, welche Positionen auf einem Bildsensor der Kamera Strahlen, die von einer Schlitzlichtquelle abgestrahlt werden, über eine Kollision auf einer Objektoberfläche erreichen. Somit können Informationen, die zu einer Bitmap (7) äquivalent sind, die in Schritt S504 erzeugt wird, und die mit Lichtmuster projizierte Regionen angeben, erhalten werden. Die nachfolgenden Prozesse sind die gleichen wie die des Verfahrens, das in dem ersten Ausführungsbeispiel beschrieben wird, womit die Position und Orientierung des Objekts gemessen werden.
  • [Drittes Ausführungsbeispiel]
  • Das in dem ersten und zweiten Ausführungsbeispiel beschriebene Verfahren ist das Verfahren des Erfassens von Kanten, während Lichtmuster vermieden wird. Das vorstehend erwähnte Fehlerberechnungsverfahren (nachstehend als ein Entfernungsprioritätsfehlerberechnungsverfahren bezeichnet) legt eine Priorität auf eine Lichtmustererfassung und besitzt eine hohe Erfassungspräzision von Fehlern in der Tiefenrichtung. Im Gegensatz dazu legt das in Patentliteratur 1 offenbarte Verfahren (nachstehend als Kantenprioritätsfehlerberechnungsverfahren bezeichnet) eine Priorität auf eine Kantenerfassung und ist durch eine hohe Erfassungspräzision von Fehlern in einer Richtung einer Ebene eines erfassten Bildes gekennzeichnet.
  • Basierend auf diesen Charakteristika ist ein Mechanismus zum Unterscheiden eingerichtet, basierend auf einer Objektform nach Fehlerberechnungen, ob das Entfernungsprioritätsfehlerberechnungsverfahren oder das Kantenprioritätsfehlerberechnungsverfahren angewendet wird, womit Messungen mit höherer Genauigkeit ermöglicht werden. Praktische Beispiele dieses Unterscheidungskriteriums werden nachstehend beschrieben.
  • Ein erstes Verfahren basiert auf einer Objektform. Zuerst werden Abtastpunkte in einem Raum eines dreidimensionalen geometrischen Modells eines Objekts gleichmäßig eingestellt. Eine Hauptkomponentenanalyse wird auf einen Satz von drei Abtastpunkten angewendet, um Beitragsverhältnisse von ersten, zweiten und dritten Hauptkomponenten zu berechnen (ein Verhältnis von jeder Hauptkomponente zu einer Summe von drei Hauptkomponenten). Des Weiteren werden Beziehungen und Merkmale dieser Beitragsverhältnisse wie folgt klassifiziert.
    • 1) Erstes Hauptkomponentenbeitragsverhältnis >> zweites Hauptkomponentenbeitragsverhältnis → Volumen des Objekts ist linear verteilt
    • 2) Erstes Hauptkomponentenbeitragsverhältnis ≈ zweites Hauptkomponentenbeitragsverhältnis und zweites Hauptkomponentenbeitragsverhältnis >> drittes Hauptkomponentenbeitragsverhältnis → Volumen des Objekts ist zweidimensional verteilt
    • 3) Erstes Hauptkomponentenbeitragsverhältnis zweites Hauptkomponentenbeitragsverhältnis drittes Hauptkomponentenbeitragsverhältnis → Volumen des Objekts ist im dreidimensionalen Raum gleichmäßig verteilt
  • Es sei angemerkt, dass a >> b angibt, dass a deutlich größer ist als b (ein Verhältnis von a zu b ist größer als ein Schwellenwert).
  • Wenn die Beziehung des Hauptkomponentenbeitragsverhältnisses gleich 1) oder 2), wie vorstehend erwähnt, ist und ein Objekt auf einem Messtisch mit flacher Oberfläche platziert ist, ist das Objekt derart platziert, dass es sich entlang der Oberfläche erstreckt, und eine Verteilung einer Beobachtungsbildtiefenrichtung tendiert dazu, klein zu sein. Andererseits, wenn die Beziehung der Hauptkomponentenbeitragsverhältnisse gleich 3) ist, tendiert eine Verteilung der Beobachtungsbildtiefenrichtung des Objekts dazu, groß zu sein.
  • Basierend auf der vorstehenden Beschreibung, wenn das Hauptkomponentenbeitragsverhältnis die Beziehung 3) erfüllt, und eine Volumenverteilung eines Messzielobjekts weit in der Beobachtungsbildtiefenrichtung verteilt ist, wird das Entfernungsprioritätsfehlerberechnungsverfahren angewendet; ansonsten wird das Berechnungsverfahren umgeschaltet, um das Kantenprioritätsfehlerberechnungsverfahren anzuwenden. Es sei angemerkt, dass das Umschaltkriterium des Fehlerberechnungsverfahrens lediglich ein Beispiel ist, und stattdessen ein Kriterium verwendet werden kann, das eine Wichtigkeit auf eine Ausdehnung in der Bildtiefenrichtung des Objekts legt. Das heißt, von den folgenden zwei Prozessen, wird ein Prozess, der gemäß einer Form von Modellinformationen bestimmt wird, ausgeführt.
  • (Prozess 1) Eine Verarbeitung zum Überlagern von Modellinformationen, die eine Form eines Zielobjekts simulieren, auf ein Bild und Suchen nach Punkten des Zielobjekts entsprechend denen der überlagerten Modellinformationen von einer anderen Region als einer vergrößerten Region, die durch Vergrößern einer Region mit Lichtmuster in dem Bild erhalten wird.
  • (Prozess 2) Eine Verarbeitung zum Überlagern eines Kantenmodells von Modellinformationen auf ein Bild, Entfernen einer Region mit Lichtmuster in dem Bild basierend auf dem auf dem Bild überlagerten Kantenmodell und dann Suchen nach Punkten eines Zielobjekts entsprechend denen der Modellinformationen, die auf dem Bild überlagert sind, von einer anderen Region als einer Region mit Lichtmuster in dem Bild.
  • Als ein zweites Verfahren kann ein Berechnungsverfahren basierend auf einer Zweideutigkeit einer Position und Orientierung eines Objekts an einer ungefähren Position und Orientierung in einer Tiefenrichtung verwendet werden. Gemäß der folgenden Literatur, angenommen, dass eine Zweideutigkeit eines Pixels eines Beobachtungsbildes gleich ”1” für alle Pixel ist, wird eine Kovarianzmatrix von Zweideutigkeiten mit Bezug auf eine Richtung an einer bestimmten ungefähren Position und Ausrichtung durch JTJ ausgedrückt.
    W. Hoff und T. Vincent, ”IEEE Trans. Visualization and Computer Graphics, Vol. 6, Nr. 4, 2000.”
  • Wenn u ein Hauptrichtungseinheitsvektor ist, der durch Anwenden einer Eigenwertauflösung auf diese Kovarianzmatrix berechnet wird, kann die Zweideutigkeit der Position und Orientierung des Objekts an der ungefähren Position und Orientierung in der Tiefenrichtung als ein inneres Produkt von u und eines Tiefenrichtungseinheitsvektors ausgedrückt werden. Dieser Wert kann einen Wert im Bereich von 0 bis 1 annehmen und stellt dar, dass eine Position und Orientierung in der Tiefenrichtung zweideutig ist, wenn dieser Wert näher bei 1 ist. Das Berechnungsverfahren dieses Wertes wurde in dem ersten Ausführungsbeispiel beschrieben. Wenn die berechnete Zweideutigkeit nicht weniger als ein vorbestimmter Referenzwert ist, wird das Entfernungsprioritätsfehlerberechnungsverfahren eingesetzt; ansonsten wird das Berechnungsverfahren umgeschaltet, um das Kantenprioritätsfehlerberechnungsverfahren einzusetzen.
  • Unter Verwendung des vorstehend dargestellten Umschaltkriteriums wird das Fehlerberechnungsverfahren eingesetzt, das die entsprechenden Charakteristika berücksichtigt, womit eine Positions-/Orientierungsmessung mit höherer Präzision ermöglicht wird.
  • [Viertes Ausführungsbeispiel]
  • Die Bildverarbeitungsvorrichtung des ersten bis dritten Ausführungsbeispiels kann als eine Vorrichtung zum Messen einer Position und Orientierung eines Objekts in einem System (Robotersystem) verwendet werden, das ein Objekt unter Verwendung eines industriellen Roboterarms greift, bewegt und freigibt. Dieses Anwendungsbeispiel wird nachstehend mit Bezug auf 12 beschrieben.
  • Ein Sensor 1202 wird durch Integrieren einer Bilderfassungseinrichtung 103 und eines Projektors 102 erhalten (diese können unabhängig angeordnet sein). Der Sensor 1202 projiziert Lichtmuster auf ein Objekt 1205 als ein Positions-/Orientierungsmessziel und erfasst ein Bild des Objekts 1205, das mit dem Lichtmuster projiziert wird. Dieser Sensor 1202 ist an einem Roboterarm 1203 angebracht und kann ein Bild des Objekts 1205, das durch den Roboterarm 1203 zu greifen ist, erfassen.
  • Der Roboterarm 1203 besitzt eine bewegliche Achse inklusive einer Rotationsachse und/oder Translationsachse und wird durch eine Robotersteuerung 1204 gesteuert.
  • Ein Computer 1201 dient als eine Bildverarbeitungsvorrichtung 104 und steuert die Robotersteuerung 1204. Die Robotersteuerung 1204 wandelt eine Steuerungsanweisung (inklusiver einer Position und Orientierung des Objekts 1205) für den Roboterarm 1203, die von dem Computer 1201 empfangen wird, in eine praktische Steuerungsanweisung um, womit der Roboterarm 1203 betätigt wird.
  • Die Bildverarbeitungsvorrichtung 104 in diesem Ausführungsbeispiel umfasst zusätzlich zu der vorstehend erwähnten Sequenz die folgende Prozesssequenz. Zuerst speichert der Computer 1201 eine relative Beziehung zwischen einem Kamerakoordinatensystem und einem Roboterkoordinatensystem mit Bezug auf den Roboterarm 1203. Der Computer 1201 misst eine Position und Orientierung des Objekts 1205 und wandelt die Messergebnisse von dem Kamerakoordinatensystem in das Roboterkoordinatensystem um. Als Nächstes steuert der Computer 1201 die Robotersteuerung 1204, um den Roboterarm 1203 zu einer Position und Orientierung zu bewegen, an der der Roboterarm 1203 das Objekt 1205 greifen kann, basierend auf der umgewandelten Position und Orientierung des Objekts in dem Roboterkoordinatensystem.
  • Somit kann das Robotersystem dieses Ausführungsbeispiels den Roboterarm steuern, um ein Objekt zu greifen, durch Messen einer Position und Orientierung des Objekts, auch wenn die Position des Objekts unstabil ist.
  • Es sei angemerkt, dass die Bildverarbeitungsvorrichtung 104 auf beliebige Systeme anwendbar ist, solange erforderlich ist, dass diese eine Position und Orientierung eines Objekts als ein Positions-/Orientierungsmessziel messen. Mit anderen Worten ist ein Verwendungszweck der Position und Orientierung, die durch die Bildverarbeitungsvorrichtung 104 berechnet werden, nicht auf einen speziellen Verwendungszweck beschränkt.
  • [Fünftes Ausführungsbeispiel]
  • Entsprechende Einheiten (Positions-/Orientierungsberechnungseinheit 201, Kantenentsprechungserfassungseinheit 205 und Bereichsbilderzeugungseinheit 206), die in der in 1 gezeigten Bildverarbeitungsvorrichtung 104 enthalten sind, können durch Hardware implementiert werden, aber diese können durch Software (Computerprogramme) implementiert werden. In dem letztgenannten Fall werden in einem Speicher, auf den ein Computer zugreifen kann, die dreidimensionalen Modellinformationen 202 und anfängliche ungefähre Positions-/Orientierungsinformationen 203 als Daten gespeichert und werden die Positions-/Orientierungsberechnungseinheit 201, die Kantenentsprechungserfassungseinheit 205 und die Bereichsbilderzeugungseinheit 203 als Computerprogramme gespeichert. Dann, wenn eine CPU von diesem Computer diese Computerprogramme und Daten ausliest und eine Verarbeitung ausführt, kann dieser Computer als die Bildverarbeitungsvorrichtung 104 dienen.
  • <Effekte der Ausführungsbeispiele>
  • Gemäß dem ersten Ausführungsbeispiel können Positions-/Orientierungsmessungen erreicht werden, die eine höhere Stabilität mit Bezug auf eine Oberflächenform und eine geometrische Form eines Objekts aufweisen und die eine hohe Genauigkeit speziell für ein Objekt, das derart angeordnet ist, dass es eine Ausdehnung in eine Bildtiefenrichtung aufweist, erlangen.
  • Gemäß dem zweiten Ausführungsbeispiel kann, auch wenn Lichtmuster in einem erfassten Bild nicht durch Bildverarbeitung erfasst werden kann, eine Korrekturverknüpfungsverarbeitung erreicht werden.
  • Gemäß dem dritten Ausführungsbeispiel kann durch Auswählen des Fehlerberechnungsverfahrens basierend auf einer Objektform oder einem Zustand einer Objektanordnung eine Messpräzision verbessert werden.
  • Gemäß dem vierten Ausführungsbeispiel kann ein Objekt, das auf einem instabilen Abschnitt angeordnet ist, gegriffen werden.
  • <Definition>
  • Lichtmuster in der vorstehenden Beschreibung muss nur eine projizierte Regionsgrenze in einem erfassten Bild darstellen. Aus diesem Grund können verschiedene Projektionseinrichtungen als eine Einrichtung zum Projizieren von Lichtmuster eingesetzt werden. Das heißt, eine in einem System enthaltene Einrichtung kann aktiv Lichtmuster projizieren oder Lichtmuster kann passiv von einer externen Einrichtung, die nicht durch das System gesteuert werden kann, projiziert werden. Ebenso ist eine projizierte Form von Lichtmuster nicht besonders beschränkt, solange dessen projizierte Regionsgrenze spezifiziert werden kann. Das Lichtmuster kann eine Schlitzform, ein Zufallspunktmuster oder ein lokales ebenes Muster aufweisen. Alternativ kann Punktlicht bzw. ein Lichtpunkt projiziert werden.
  • Das Spezifizierungsverfahren von jeder projizierten Region von Lichtmuster in einem erfassten Bild ist nicht besonders beschränkt. Das heißt, wie in dem ersten Ausführungsbeispiel beschrieben ist, kann die projizierte Region basierend auf einem Luminanzwert unter Verwendung eines Schwellenwerts oder andere Farbinformationen als ein Schwellenwert spezifiziert werden. Ebenso, wie in dem zweiten Ausführungsbeispiel beschrieben ist, wenn die projizierte Form des Lichtmusters gegeben ist, kann die projizierte Region basierend auf dieser Form, einer ungefähren Position und Orientierung eines Objekts und einer geometrischen Form des Objekts berechnet und spezifiziert werden.
  • Des Weiteren ist das Positions-/Orientierungsberechnungsverfahren in der vorstehenden Beschreibung nicht besonders beschränkt, solange ein Verfahren ausgeführt wird, das ein Bild mit Lichtmuster verwendet. Zum Beispiel kann eine Modellanpassung, die dreidimensionale Positions-/Orientierungsparameter eines Objekts, das in einem erfassten Bild enthalten ist, basierend auf einem dreidimensionalen Objektmodell, das im Voraus gespeichert ist, bestimmt, verwendet werden. Alternativ kann eine Vorlagenanpassung, die eine Position einer vorbestimmten Vorlage, die in einem erfassten Bild enthalten ist, basierend auf einer Vorlage, die im Voraus gespeichert ist, bestimmt, verwendet werden.
  • Weitere Ausführungsbeispiele
  • Aspekte der vorliegenden Erfindung können ebenso durch einen Computer eines Systems oder einer Vorrichtung (oder Einrichtungen, wie etwa eine CPU oder MPU), die ein Programm, das auf einer Speichereinrichtung gespeichert ist, ausliest und ausführt, um die Funktionen des vorstehend beschriebenen Ausführungsbeispiels/der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, und durch ein Verfahren, dessen Schritte durch einen Computer eines Systems oder einer Vorrichtung durch zum Beispiel Auslesen und Ausführen eines Programms, das auf einer Speichereinrichtung gespeichert ist, um die Funktionen des vorstehend beschriebenen Ausführungsbeispiels/der vorstehend beschriebenen Ausführungsbeispiele durchzuführen, realisiert werden. Zu diesem Zweck wird das Programm dem Computer zum Beispiel über ein Netzwerk oder von einem Aufzeichnungsmedium von verschiedenen Arten, die als eine Speichereinrichtung dienen (zum Beispiel ein computerlesbares Medium), bereitgestellt.
  • Während die vorliegende Erfindung mit Bezug auf beispielhafte Ausführungsbeispiele beschrieben wurde, ist zu verstehen, dass die Erfindung nicht auf die offenbarten beispielhaften Ausführungsbeispiele beschränkt ist. Dem Umfang der folgenden Ansprüche ist die breiteste Interpretation zuzugestehen, so dass alle solche Modifikationen und äquivalenten Strukturen und Funktionen mit umfasst sind.
  • Eine mit Lichtmuster projizierte Region in einem Bild, das durch eine Bilderfassungseinheit 103 erfasst wird, die ein Bild eines Zielobjekts 101, das mit Lichtmuster projiziert wird, erfasst, wird spezifiziert. In einer anderen Region als der mit dem Lichtmuster projizierten Region in dem erfassten Bild werden basierend auf der spezifizierten Region geometrische Merkmale des Zielobjekts 101 gesucht. Eine Position und Orientierung des Zielobjekts werden basierend auf den gesuchten geometrischen Merkmalen des Zielobjekts und geometrischen Merkmalen eines Modells des Zielobjekts hergeleitet.

Claims (7)

  1. Bereichsmessvorrichtung, mit: einer ersten Beschaffungseinrichtung (202), die dazu konfiguriert ist, geometrische Merkmale eines Modells eines Zielobjekts zu beschaffen; einer zweiten Beschaffungseinrichtung (203), die dazu konfiguriert ist, anfängliche ungefähre Positions- und Orientierungsinformationen des Zielobjekts zu beschaffen; einer Bilderfassungseinrichtung (103), die dazu konfiguriert ist, ein Bild, das das Zielobjekt enthält, auf das ein Lichtmuster projiziert wird, zu erfassen; einer Spezifizierungseinrichtung (205), die dazu konfiguriert ist, basierend auf Pixelwerten in dem erfassten Bild, eine mit dem Lichtmuster projizierte Region in dem Bild, das durch die Bilderfassungseinrichtung erfasst wird, zu spezifizieren; einer Sucheinrichtung (205), die dazu konfiguriert ist, geometrische Merkmale des Modells auf das erfasste Bild basierend auf den anfänglichen ungefähren Positions- und Orientierungsinformationen zu projizieren, und nach Bildmerkmalen des Zielobjekts, die den projizierten geometrischen Merkmalen entsprechen, in einer anderen Region als der spezifizierten Region basierend auf den Pixelwerten in dem erfassten Bild zu suchen; und einer Herleitungseinrichtung (201), die dazu konfiguriert ist, eine Position und eine Orientierung des Zielobjekts durch Minimieren von Entfernungen zwischen den Bildmerkmalen des Zielobjekts, die durch die Sucheinrichtung gesucht werden, und geometrischen Merkmalen des Modells herzuleiten, wobei die Sucheinrichtung (205) aufweist: eine Erzeugungseinrichtung (205), die dazu konfiguriert ist, eine Region mit dem Lichtmuster in dem erfassten Bild als eine Lichtmusterregion zu definieren, ein Maskenbild entsprechend der Lichtmusterregion zu erzeugen, und das Maskenbild entsprechend der Lichtmusterregion zu vergrößern und die Sucheinrichtung (205) weiter dazu konfiguriert ist, nach den Bildmerkmalen des Zielobjekts, die den projizierten geometrischen Merkmalen entsprechen, in einer anderen Region als der Region, die dem vergrößerten Maskenbild entspricht, zu suchen.
  2. Vorrichtung gemäß Anspruch 1, weiterhin mit: einer Bereichsbilderzeugungseinrichtung (206), die dazu konfiguriert ist, von der Lichtmusterregion, ein Bereichsbild mit Entfernungen von der Bilderfassungseinrichtung zu entsprechenden Positionen des Zielobjekts als Pixelwerte zu erzeugen; und einer Einrichtung (201), die dazu konfiguriert ist, eine Position und eine Orientierung des Zielobjekts zu berechnen, basierend auf Entfernungen im dreidimensionalen Raum, die von den entsprechenden Positionen auf dem Zielobjekt, das durch das Bereichsbild dargestellt ist, und Positionen entsprechend diesen Positionen auf dem Modell und Entfernungen, in einer zweidimensionalen Ebene, zwischen entsprechenden Punkten eines Modells, das auf dem erfassten Bild überlagert ist, und Punkten des Zielobjekts, die in Verknüpfung mit den Punkten gesucht werden, berechnet werden.
  3. Vorrichtung gemäß einem der vorstehenden Ansprüche, weiterhin mit: einer Ausgabeeinrichtung, die dazu konfiguriert ist, die Position und die Orientierung, die durch die Herleitungseinrichtung hergeleitet werden, an eine Steuerung, die einen Roboterarm steuert, der das Zielobjekt handhabt, auszugeben.
  4. Bereichsmessverfahren, mit: einem ersten Beschaffungsschritt des Beschaffens von geometrischen Merkmalen eines Modells eines Zielobjekts; einem zweiten Beschaffungsschritt des Beschaffens von anfänglichen ungefähren Positions- und Orientierungsinformationen des Zielobjekts; einem Bilderfassungsschritt des Erfassens eines Bildes, das das Zielobjekt enthält, auf das ein Lichtmuster projiziert wird; einem Spezifizierungsschritt des Spezifizierens, basierend auf Pixelwerten in dem erfassten Bild, einer mit dem Lichtmuster projizierten Region in dem Bild, das durch den Bilderfassungsschrift erfasst wird; einem Suchschritt des Projizierens von geometrischen Merkmalen des Modells auf das erfasste Bild basierend auf den anfänglichen ungefähren Positions- und Orientierungsinformationen und des Suchens nach Bildmerkmalen des Zielobjekts in einer anderen Region als der spezifizierten Region basierend auf den Pixelwerten in dem erfassten Bild; und einem Herleitungsschritt des Herleitens einer Position und einer Orientierung des Zielobjekts durch Minimieren von Entfernungen zwischen den Bildmerkmalen des Zielobjekts, die in dem Suchschritt gesucht werden, und geometrischen Merkmalen des Modells, wobei der Suchschritt aufweist: einen Erzeugungsschritt des Definierens einer Region mit dem Lichtmuster in dem erfassten Bild als eine Lichtmusterregion, einem Erzeugen eines Maskenbilds entsprechend der Lichtmusterregion, und einem Vergrößern des Maskenbilds entsprechend der Lichtmusterregion und der Suchschritt weiter nach den Bildmerkmalen des Zielobjekts, die den projizierten geometrischen Merkmalen entsprechen, in einer anderen Region als der Region, die dem vergrößerten Maskenbild entspricht, sucht.
  5. Computerprogrammprodukt, das computerlesbare Anweisungen speichert, die, wenn sie in einen Computer einer Bereichsmessvorrichtung geladen werden, die Bereichsmessvorrichtung veranlassen, als die Bereichsmessvorrichtung gemäß einem der Ansprüche 1 bis 3 zu arbeiten.
  6. Computerprogrammprodukt, das computerlesbare Anweisungen speichert, die, wenn durch einen Computer ausgeführt, den Computer veranlassen, das Verfahren von Anspruch 4 auszuführen.
  7. Speichermedium, das ein Programm gemäß Anspruch 5 oder Anspruch 6 speichert.
DE102013211240.8A 2012-06-18 2013-06-17 Bereichsmessvorrichtung und Bereichsmessverfahren Active DE102013211240B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012137268A JP6092530B2 (ja) 2012-06-18 2012-06-18 画像処理装置、画像処理方法
JP2012-137268 2012-06-18

Publications (2)

Publication Number Publication Date
DE102013211240A1 DE102013211240A1 (de) 2013-12-19
DE102013211240B4 true DE102013211240B4 (de) 2017-06-29

Family

ID=48875916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013211240.8A Active DE102013211240B4 (de) 2012-06-18 2013-06-17 Bereichsmessvorrichtung und Bereichsmessverfahren

Country Status (5)

Country Link
US (1) US10203197B2 (de)
JP (1) JP6092530B2 (de)
CN (1) CN103512548B (de)
DE (1) DE102013211240B4 (de)
GB (1) GB2504822B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6004809B2 (ja) 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
JP2015147256A (ja) * 2014-02-04 2015-08-20 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP6233091B2 (ja) * 2014-02-24 2017-11-22 株式会社島津製作所 動体画像処理装置
RU2621823C1 (ru) * 2014-02-24 2017-06-07 Ниссан Мотор Ко., Лтд. Устройство вычисления собственного местоположения и способ вычисления собственного местоположения
JP5829306B2 (ja) * 2014-05-12 2015-12-09 ファナック株式会社 レンジセンサの配置位置評価装置
CN104112687A (zh) * 2014-06-24 2014-10-22 京东方科技集团股份有限公司 膜边检测方法和膜边检测装置
US20160147408A1 (en) * 2014-11-25 2016-05-26 Johnathan Bevis Virtual measurement tool for a wearable visualization device
JP6614905B2 (ja) * 2014-12-01 2019-12-04 キヤノン株式会社 三次元計測装置およびその制御方法
JP6736257B2 (ja) 2015-04-02 2020-08-05 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6512058B2 (ja) 2015-10-08 2019-05-15 富士通株式会社 投影装置、映像投影方法及び映像投影用コンピュータプログラム
WO2017109918A1 (ja) * 2015-12-24 2017-06-29 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
GB201607639D0 (en) 2016-05-02 2016-06-15 Univ Leuven Kath Sensing method
JP2018084954A (ja) * 2016-11-24 2018-05-31 セイコーエプソン株式会社 プログラム、姿勢導出方法、姿勢導出装置
CN108152823B (zh) * 2017-12-14 2021-09-03 北京信息科技大学 一种基于视觉的无人驾驶叉车导航***及其定位导航方法
US20240104865A1 (en) * 2022-09-22 2024-03-28 Faro Technologies, Inc. Feature extraction using a point of a collection of points
WO2024106468A1 (ja) * 2022-11-18 2024-05-23 株式会社Preferred Networks 三次元再構成方法、及び三次元再構成システム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060269123A1 (en) * 2005-05-30 2006-11-30 Konica Minolta Sensing, Inc. Method and system for three-dimensional measurement
WO2007083039A2 (fr) * 2006-01-23 2007-07-26 Grosbois Jerome Procede et systeme permettant la prehension automatisee de piece(s)
DE102006022104A1 (de) * 2006-05-11 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zur dreidimensionalen Vermessung eines Festkörpers
WO2009127526A1 (en) * 2008-04-18 2009-10-22 3D Scanners Ltd Method and computer program for improving the dimensional acquisition of an object
JP2010137680A (ja) * 2008-12-11 2010-06-24 Daimler Ag 車両のインスペクションカバーの構造
US20100328682A1 (en) * 2009-06-24 2010-12-30 Canon Kabushiki Kaisha Three-dimensional measurement apparatus, measurement method therefor, and computer-readable storage medium
US20120098961A1 (en) * 2010-10-25 2012-04-26 Kabushiki Kaisha Yaskawa Denki Shape measuring apparatus, robot system, and shape measuring method
US20120105868A1 (en) * 2010-10-29 2012-05-03 Canon Kabushiki Kaisha Measurement device and measurement method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1179997B (it) * 1984-02-24 1987-09-23 Consiglio Nazionale Ricerche Procedimento ed apparecchiatura per il rilievo dell impronta lasciata in un provino nella misura della durezza alla penetrazione
US5471541A (en) * 1993-11-16 1995-11-28 National Research Council Of Canada System for determining the pose of an object which utilizes range profiles and synethic profiles derived from a model
US5721565A (en) * 1994-04-29 1998-02-24 Proxima Corporation Zooming protection display control system and method of using same
US5657047A (en) * 1995-01-12 1997-08-12 Accelgraphics, Inc. Method and apparatus for zooming images on a video display
JPH10160464A (ja) * 1996-12-04 1998-06-19 Tokyo Electric Power Co Inc:The 認識対象物体の位置姿勢認識装置および位置姿勢認識方法
JP2003030776A (ja) * 2001-07-17 2003-01-31 Japan Radio Co Ltd 物体検知システムおよびその方法
JP3892838B2 (ja) * 2003-10-16 2007-03-14 ファナック株式会社 3次元測定装置
JP4789745B2 (ja) 2006-08-11 2011-10-12 キヤノン株式会社 画像処理装置および方法
US7844105B2 (en) 2007-04-23 2010-11-30 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining objects poses from range images
US7844106B2 (en) 2007-04-23 2010-11-30 Mitsubishi Electric Research Laboratories, Inc Method and system for determining poses of objects from range images using adaptive sampling of pose spaces
US8520930B2 (en) 2008-04-18 2013-08-27 3D Scanners Ltd. Method and computer program for improving the dimensional acquisition of an object
JP2011175477A (ja) * 2010-02-24 2011-09-08 Canon Inc 3次元計測装置、処理方法及びプログラム
JP5615055B2 (ja) 2010-06-18 2014-10-29 キヤノン株式会社 情報処理装置及びその処理方法
JP5671281B2 (ja) * 2010-08-20 2015-02-18 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP6004809B2 (ja) 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060269123A1 (en) * 2005-05-30 2006-11-30 Konica Minolta Sensing, Inc. Method and system for three-dimensional measurement
WO2007083039A2 (fr) * 2006-01-23 2007-07-26 Grosbois Jerome Procede et systeme permettant la prehension automatisee de piece(s)
DE102006022104A1 (de) * 2006-05-11 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zur dreidimensionalen Vermessung eines Festkörpers
WO2009127526A1 (en) * 2008-04-18 2009-10-22 3D Scanners Ltd Method and computer program for improving the dimensional acquisition of an object
JP2010137680A (ja) * 2008-12-11 2010-06-24 Daimler Ag 車両のインスペクションカバーの構造
US20100328682A1 (en) * 2009-06-24 2010-12-30 Canon Kabushiki Kaisha Three-dimensional measurement apparatus, measurement method therefor, and computer-readable storage medium
US20120098961A1 (en) * 2010-10-25 2012-04-26 Kabushiki Kaisha Yaskawa Denki Shape measuring apparatus, robot system, and shape measuring method
US20120105868A1 (en) * 2010-10-29 2012-05-03 Canon Kabushiki Kaisha Measurement device and measurement method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Morales et al.; "Integrated grasp planning and visual object localization for a humanoid robot with five-fingered hands"; IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006,S. 5663 – 5668 *

Also Published As

Publication number Publication date
CN103512548B (zh) 2016-03-16
GB201310162D0 (en) 2013-07-24
US20130335751A1 (en) 2013-12-19
JP6092530B2 (ja) 2017-03-08
JP2014002033A (ja) 2014-01-09
DE102013211240A1 (de) 2013-12-19
CN103512548A (zh) 2014-01-15
US10203197B2 (en) 2019-02-12
GB2504822B (en) 2015-03-11
GB2504822A (en) 2014-02-12

Similar Documents

Publication Publication Date Title
DE102013211240B4 (de) Bereichsmessvorrichtung und Bereichsmessverfahren
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE112011100652T5 (de) Dreidimensionale messvorrichtung, verarbei- tungsverfahren und nichtflüchtiges computer- lesbares speichermedium
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102014000982A1 (de) Positions- und Orientierungsmessvorrichtung, Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE102014212304B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE102012108567B4 (de) Verfahren zum Erlangen von Tiefeninformationen unter Verwendung eines Lichtmusters
CN109443209B (zh) 一种基于单应性矩阵的线结构光***标定方法
DE102016014658B4 (de) 1, 2Modellerzeugungsvorrichtung, Positions- und Orientierungsberechnungsvorrichtung und Handling Robotervorrichtung
DE102015005267B4 (de) Informationsverarbeitungsvorrichtung, Verfahren dafür und Messvorrichtung
DE102013216902A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE102013205762B4 (de) Informationsverarbeitungsvorrichtung, die eine dreidimensionale Formvermessung durchführt, Informationsverarbeitungsverfahren und Speichermedium
DE102016013274A1 (de) Bildverarbeitungsvorrichtung und verfahren zur erkennung eines bilds eines zu erkennenden objekts aus eingabedaten
US20130271577A1 (en) Information processing apparatus and method
DE102015015194A1 (de) Bildverarbeitungsvorrichtung und -verfahren und Programm
DE102016003294A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE112014003823T5 (de) Echtzeitprüfführung eines Triangulationsscanners
WO2011145285A1 (ja) 画像処理装置、画像処理方法およびプログラム
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102019104310A1 (de) System und Verfahren zur simultanen Betrachtung von Kanten und normalen bei Bildmerkmalen durch ein Sichtsystem
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE112018003571T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
CA3233222A1 (en) Method, apparatus and device for photogrammetry, and storage medium

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final