DE102020121396A1 - Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn - Google Patents

Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn Download PDF

Info

Publication number
DE102020121396A1
DE102020121396A1 DE102020121396.4A DE102020121396A DE102020121396A1 DE 102020121396 A1 DE102020121396 A1 DE 102020121396A1 DE 102020121396 A DE102020121396 A DE 102020121396A DE 102020121396 A1 DE102020121396 A1 DE 102020121396A1
Authority
DE
Germany
Prior art keywords
degree
area
image
partial
correspondence
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.)
Pending
Application number
DE102020121396.4A
Other languages
English (en)
Other versions
DE102020121396A8 (de
Inventor
Shoutarou Ogura
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020121396A1 publication Critical patent/DE102020121396A1/de
Publication of DE102020121396A8 publication Critical patent/DE102020121396A8/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30152Solder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Robotics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Automation & Control Theory (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

Eine Objektdetektionsvorrichtung, welche ein Zielobjekt in einem Bild mit hoher Genauigkeit detektieren kann, wird bereitgestellt. Die Objektdetektionsvorrichtung enthält eine Merkmalsextraktionseinheit (41), welche eine Mehrzahl vorgegebener Merkmale aus einem Bild extrahiert, in dem ein Zielobjekt wiedergegeben ist, und eine Vergleichseinheit (42), welche das Ausmaß einer Gesamtübereinstimmung berechnet zwischen der Mehrzahl vorgegebener Merkmale, die für ein Gesamtmodellmuster gesetzt sind, wenn das Zielobjekt aus einer vorgegebenen Richtung betrachtet wird, und der Mehrzahl vorgegebener Merkmale, die aus einem entsprechenden Bereich in dem Bild extrahiert sind unter Änderung einer Relativpositionsbeziehung zwischen dem Bild und dem Modellmuster, welche weiterhin für jeden Teilbereich, der einen Teil des Modellmusters enthält, einen Teilübereinstimmungsgrad berechnet zwischen einem oder mehreren vorgegebenen Merkmalen in dem Teilbereich und einem oder mehreren der vorgegebenen Merkmale, die aus einem Bereich entsprechend dem Teilbereich in dem Bild extrahiert sind, und welche schließlich feststellt, dass das Zielobjekt in einem Bereich in dem Bild entsprechend dem Modellmuster wiedergegeben ist, wenn der Gesamtübereinstimmungsgrad gleich oder größer ist als ein Schwellenwert für den Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad gemäß Berechnung für jeden Teilbereich gleich oder größer ist als ein Schwellenwert für den Teilübereinstimmungsgrad.

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft beispielsweise eine Objektdetektionsvorrichtung und ein Objektdetektionscomputerprogramm, welche ein in einem Bild gegebenes Objekt (Gegenstand) detektieren.
  • Zum Stand der Technik
  • Bekannt ist eine Technik zum Detektieren eines Bereiches, in dem ein Zielobjekt aus einem Bild detektiert wird, in dem es vorliegt. Unter derartigen Techniken wurde insbesondere eine Technik vorgeschlagen, mit der eine Positionierung auf ein Zielobjekt mit hoher Genauigkeit ausgeführt wird, wobei das Zielobjekt eine Form hat, bei der eine Position und eine Stellung nicht genau bestimmt werden, wenn nicht ein bestimmter Bereich fokussiert wird, da das Zielobjekt eine hochsymmetrische Form hat, wie beispielsweise das Rad eines Fahrzeuges. Beispielsweise stellt das Positionierungsverfahren gemäß der veröffentlichten japanischen Patentanmeldung (Kokai) 2017-96749 einen ersten Bereich ein, der ein Standardmuster in einem Standardbild eines Produktes als Standard für ein Inspektionsziel setzt, und einen zweiten Bereich, welcher eine Position und eine Stellung des Standardmusters wiedergibt. Sodann ermittelt das Positionierungsverfahren grob eine Position und eine Stellung des Standardmusters in einem Inspektionszielbild durch Absuchen des Inspektionszielbildes nach einem Merkmal, welches dem ersten Bereich entnommen ist (erster Suchschritt) und es wird genau die Position und/oder die Stellung bestimmt, die grob ermittelt sind, durch Absuchen des Inspektionszielbildes nach einem Merkmal, welches dem zweiten Bereich entnommen ist (zweiter Suchschritt).
  • Ein in der veröffentlichten japanischen Patentanmeldung (Kokai) 2004-318488 beschriebenes Produktinspektionsverfahren stellt in einem Bild, in dem eine Mehrzahl von Produkten aufgenommen sind, ein Inspektionsfenster ein, in dem das einzelne Produkt wiedergegeben ist bei einer Musterübereinstimmung wechselseitig zwischen Produkten in einer Ansammlung der Mehrzahl von Produkten. Das Produktinspektionsverfahren teilt ein Inspektionsfenster in einer Referenzposition in eine Mehrzahl von unterteilten Bildern, die jeweils ein charakteristisches Muster wiedergeben und es wird eine Musterübereinstimmung gesucht zwischen dem Inspektionsfenster und einem anderen Inspektionsfenster unter Einsatz von sowohl dem Gesamtbild, welches das gesamte Inspektionsfenster in der Referenzposition wiedergibt und den unterteilten Bildern als eine Schablone. Sodann bestimmt das Produktinspektionsverfahren, ob ein Produkt gut oder schlecht ist mittels Vergleich eines Gesamtmodell-Korrelationswertes, der berechnet ist durch Mustervergleich bezüglich des Gesamtbildes und eines Teilmodell-Korrelationswertes, der berechnet ist durch Mustervergleich des Teilbildes mit einem Schwellenwert.
  • KURZBESCHREIBUNG
  • Bei der in der veröffentlichten japanischen Patentanmeldung (Kokai) 2017-96749 beschriebenen Technik muss eine Bedienungsperson aber ein Suchverfahren einstellen entsprechend einer Form eines Inspektionsziels, um den zweiten Suchschritt ausführen zu können. Bei der Einstellung des Suchverfahrens im zweiten Suchschritt muss festgelegt werden, ob eine Rotationssuche auszuführen ist zum Suchen eines Inspektionsziels durch Rotation eines Inspektionszielbildes oder ob eine lineare Suche auszuführen ist zum Suchen eines Inspektionsziels durch Verschiebung eines Positionsstellungsmerkmals entlang einer Suchrichtung in einem Inspektionszielbild, und es muss ein Rotationszentrum eingestellt werden, falls eine Rotationssuche erfolgt, während eine Suchrichtung einzustellen ist, falls eine lineare Suche ausgeführt werden soll. Ist die Einstellung des Suchverfahrens nicht korrekt, dann fällt im zweiten Suchschritt der eingestellte zweite Bereich nicht mit einem Inspektionszielbild zusammen, in dem ein Inspektionsziel dargestellt ist, und deshalb kann kein genaues Positionierungsergebnis gewonnen werden. Insbesondere dann, wenn bezüglich des Rotationszentrums und der Suchrichtung auch nur ein geringer Fehler vorliegt, werden ein Winkel und eine Position, bei welchen der zweite Bereich und das Inspektionszielbild zusammenfallen, nicht detektiert und eine Bedienungsperson muss das Suchverfahren mit höchster Aufmerksamkeit einstellen. Da weiterhin der zweite Suchschritt auf ein Suchergebnis im ersten Suchschritt eingeschränkt ist, können eine genaue Position und eine genaue Stellung des Inspektionsziels nicht gewonnen werden, wenn nicht das Suchergebnis im ersten Suchschritt selbst genau ist. Bei der Technik gemäß der veröffentlichten japanischen Patentanmeldung (Kokai) 2004-318488 erfolgt eine Übereinstimmungsprüfung zwischen Inspektionsfenstern, nachdem das einzelne Inspektionsfenster zuvor für ein Bild eingestellt wurde, in dem eine Produktgruppe wiedergegeben ist. Wenn also das einzelne Inspektionsfenster nicht genau derart eingestellt ist, dass es ein Produkt wiedergibt bei Einstellung des Inspektionsfensters, kann kein genaues Ergebnis bezüglich „schlecht“ oder „gut“ gewonnen werden, auch wenn die Musterübereinstimmungsprüfung bezüglich des Gesamtbildes und jedes Teilbildes ausgeführt wird.
  • Gemäß einer Ausführung ist ein Ziel (der vorliegenden Erfindung) die Bereitstellung einer Objektdetektionsvorrichtung, welche ein in einem Bild wiedergegebenes symmetrisches Zielobjekt mit hoher Genauigkeit detektieren kann.
  • Gemäß einem Ausführungsbeispiel wird eine Objektdetektionsvorrichtung bereitgestellt. Die Objektdetektionsvorrichtung enthält: eine Speichereinheit (33), welche ein Modellmuster speichert, welches eine Mehrzahl von vorgegebenen Merkmalen eines Zielobjektes (10) abbildet, welches in Positionen angeordnet ist, die voneinander verschieden sind, wenn das Zielobjekt (10) aus einer vorgegebenen Richtung gesehen wird, und zumindest einen Teilbereich, der einen Teil des Modellmusters enthält; eine Merkmalsextraktionseinheit (21), welche die Mehrzahl von vorgegebenen Merkmalen aus einem Bild extrahiert, in dem das Zielobjekt (10) wiedergegeben ist; und eine Vergleichseinheit (42), welche einen Gesamtübereinstimmungsgrad berechnet, der das Ausmaß der Übereinstimmung wiedergibt zwischen der Mehrzahl der für das Gesamtmodellmuster eingestellten vorgegebenen Merkmale und der Mehrzahl der vorgegebenen Merkmale, wie sie aus einem Bereich entsprechend dem Modellmuster des Bildes extrahiert sind unter Änderung einer Relativpositionsbeziehung zwischen dem Bild und dem Modellmuster, weiterhin für jeden Teilbereich einen Teilübereinstimmungsgrad berechnet, welcher das Ausmaß der Übereinstimmung wiedergibt zwischen einem oder mehreren Merkmalen unter der Mehrzahl von vorgegebenen Merkmalen, die für das Gesamtmodellmuster eingestellt sind, in dem Teilbereich und einem oder mehreren vorgegebenen Merkmalen, die aus einem Bereich entsprechend dem Teilbereich des Bildes extrahiert sind unter Änderung der Relativpositionsbeziehung, und welche weiterhin ermittelt, dass das Zielobjekt (10) in einem Bereich des Bildes wiedergegeben ist entsprechend dem Modellmuster, wenn der Gesamtübereinstimmungsgrad gleich ist oder größer als ein vorgegebener Schwellenwert für den Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad, wie er für jeden Teilbereich berechnet ist, gleich oder größer ist als ein vorgegebener Schwellenwert für den Teilüberein-stimmungsgrad.
  • Gemäß einem weiteren Ausführungsbeispiel wird ein Objektdetektionscomputerprogramm bereitgestellt. Das Objektdetektionscomputerprogramm enthält Instruktionen, die einen Computer veranlassen auszuführen:
  • Extrahieren einer Mehrzahl von vorgegebenen Merkmalen aus einem Bild, in dem ein Zielobjekt (10) wiedergegeben ist; Berechnen eines Gesamtübereinstimmungsgrades unter Änderung einer Relativpositionsbeziehung zwischen dem Bild und einem Modellmuster, welches die Mehrzahl von vorgegebenen Merkmalen des Zielobjektes (10) wiedergibt, welches an voneinander verschiedenen Positionen angeordnet ist, wenn das Zielobjekt (10) aus einer vorgegebenen Richtung gesehen wird, wobei der Gesamtübereinstimmungsgrad ein Übereinstimmungsausmaß wiedergibt zwischen der Mehrzahl von vorgegebenen Merkmalen, die für das Gesamtmodellmuster eingestellt sind, und der Mehrzahl von vorgegebenen Merkmalen, die aus einem Bereich extrahiert sind entsprechend dem Modellmuster im Bild; Berechnen eines Teilübereinstimmungsgrades unter Änderung der Relativpositionsbeziehung jedes Teilbereichs, der einen Teil des Modellmusters enthält, wobei der Teilübereinstimmungsgrad das Übereinstimmungsausmaß wiedergibt zwischen einem oder mehreren der vorgegebenen Merkmale unter der Mehrzahl von Merkmalen, die in dem Teilbereich enthalten sind gemäß Einstellung für das Modellmuster und einem oder mehreren der vorgegebenen Merkmale, die aus einem Bereich entsprechend dem Teilbereich des Bildes extrahiert sind, und Bestimmen, dass das Zielobjekt (10) in einem Bereich des Bildes entsprechend dem Modellmuster gegeben ist, wenn der Gesamtübereinstimmungsgrad gleich oder größer ist als ein vorgegebener Schwellenwert für den Gesamtübereinstimmungsgrad und wenn der für jeden Teilbereich berechnete Teilübereinstimmungsgrad gleich oder größer ist als ein vorgegebener Schwellenwert für den Teilübereinstimmungsgrad. Damit kann ein symmetrisches Zielobjekt in einem Bild mit hoher Genauigkeit detektiert werden.
  • Figurenliste
    • 1 zeigt schematisch den Aufbau eines Robotersystems gemäß einem Ausführungsbeispiel.
    • 2 ist ein schematisches Blockdiagramm einer Steuervorrichtung.
    • 3A zeigt ein Beispiel einer Form eines Werkstückes aus Sicht in einer vorgegebenen Richtung.
    • 3B zeigt ein Beispiel für ein Modellmuster des Werkstückes.
    • 4 ist ein funktionales Blockdiagramm eines Prozessors in der Steuervorrichtung bezüglich des Prozesses der Steuerung eines bewegbaren Bauteils unter Einschluss eines Objektdetektionsprozesses.
    • 5A bis 5E sind jeweils schematische Darstellungen von Vergleichen zwischen Modellmustern und Bildern.
    • 6 ist ein Betriebsflussdiagramm der Prozesssteuerung eines bewegbaren Bauteils unter Einschluss eines Objektdetektionsprozesses.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • Eine Objektdetektionsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird nunmehr nachfolgend mit Bezug auf die Figuren näher beschrieben. Die Objektdetektionsvorrichtung detektiert beispielsweise ein Objekt als ein Suchziel (nachfolgend der Einfachheit halber als „Zielobjekt“ bezeichnet) aus einem Bild, in dem das Zielobjekt wiedergegeben ist und welches erzeugt ist durch Aufnahme des Zielobjektes mittels einer Bildaufnahmeeinheit. Dabei berechnet die Objektdetektionsvorrichtung einen Gesamtübereinstimmungsgrad, der das Ausmaß der Übereinstimmung angibt zwischen einer Mehrzahl von Merkmalen, die für ein Gesamtmodellmuster gesetzt sind, welches eine Erscheinung repräsentiert bei Sicht auf das Zielobjekt aus einer vorgegebenen Richtung, und einer Mehrzahl von Merkmalen, die aus einem Vergleichsbereich extrahiert sind, der dem Modellmuster aus dem Bild entspricht, unter Änderung einer Relativpositionsbeziehung zwischen dem Bild und dem Modellmuster. Weiterhin berechnet die Objektdetektionsvorrichtung für zumindest einen Teilbereich, der einen Teil des Modellmusters wiedergibt, einen Teilübereinstimmungsgrad, der das Ausmaß der Übereinstimmung angibt zwischen einem oder mehreren Merkmalen in dem Teilbereich und einem oder mehreren Merkmalen, die aus einem Teilvergleichsbereich des Bildes entsprechend dem Teilbereich extrahiert sind. Wenn dann der Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad gemäß Berechnung für jeden Teilbereich gleich oder größer sind als ein Schwellenwert, stellt die Objektdetektionsvorrichtung fest, dass das Zielobjekt in dem Vergleichsbereich des Bildes entsprechend dem Modellmuster wiedergegeben ist.
  • Ein Beispiel, bei dem die Objektdetektionsvorrichtung in ein Robotersystem integriert ist, wird nachfolgend beschrieben. Bei diesem Beispiel nimmt die an einem bewegbaren Bauteil des Roboters angebrachte Bildaufnahmeeinheit als Zielobjekt ein Werkstück auf, welches von einer automatischen Maschine bearbeitet wird, wodurch ein Bild erzeugt wird, in dem das Zielobjekt wiedergegeben ist. Die Steuervorrichtung des Roboters, von der die Objektdetektionsvorrichtung ein Teil ist, detektiert das Zielobjekt aus dem Bild und steuert das bewegbare Bauteil auf Basis des Ergebnisses der Detektion.
  • 1 zeigt schematisch den Aufbau eines Robotersystems 1, in dem eine Objektdetektionsvorrichtung gemäß einem Ausführungsbeispiel montiert ist. Das Robotersystem 1 enthält einen Roboter 2, eine Steuervorrichtung 3, welche den Roboter 2 steuert, und eine Kamera 4, die an einem bewegbaren Bauteil des Roboters 2 angebracht ist und die eingesetzt wird zum Aufnehmen eines Bildes eines Werkstückes 10, welches ein Beispiel für ein Zielobjekt ist. Das Robotersystem 1 ist ein Beispiel für eine automatische Maschine.
  • Der Roboter 2 hat eine Basis 11, eine Drehbühne 12, einen ersten Arm 13, einen zweiten Arm 14, ein Gelenk 15 und ein Werkzeug 16. Die Drehbühne 12, der erste Arm 13, der zweite Arm 14, das Gelenk 15 und das Werkzeug 16 sind jeweils ein Beispiel für ein bewegbares Bauteil. Die Drehbühne 12, der erste Arm 13, der zweite Arm 14 und das Gelenk 15 sind jeweils von einer Welle in einem Gelenk abgestützt, an welchem die Drehbühne 12, der erste Arm 13, der zweite Arm 14 und das Gelenk 15 angebracht sind und welches die Welle mittels eines Servomotors antreibt. Das Werkstück 10 wird durch beispielsweise einen Riemenförderer transportiert und der Roboter 2 führt vorgegebene Arbeiten an dem Werkstück 10 aus, wobei das Werkstück 10 in einem vorgegebenen Bereich angeordnet ist.
  • Die Basis 11 dient als Gestell bei Installation des Roboters 2 auf einem Boden. Die Drehbühne 12 ist drehbar an der oberen Fläche der Basis 11 an einem Verbindungsteil 21 angebracht und als Drehzentrum dient eine Welle (nicht dargestellt), die senkrecht auf der oberen Fläche der Basis 11 steht.
  • Der erste Arm 13 ist an einem Ende an der Drehbühne 12 über eine Verbindung 22 auf der Drehbühne 12 angebracht. Beim vorliegenden Ausführungsbeispiel gemäß 1 ist der erste Arm 13 um eine Welle (nicht dargestellt) drehbar, die an der Verbindung 22 parallel zur Oberfläche der Basis 11 verläuft, an welcher die Drehbühne 12 angeordnet ist.
  • Der zweite Arm 14 ist an einem Ende an einer Verbindung 23 mit dem ersten Arm 13 verbunden, also auf der anderen Seite des ersten Armes 13, der Verbindung 22 gegenüberliegend. Beim vorliegenden Ausführungsbeispiel gemäß 1 ist der zweite Arm 14 um eine Welle drehbar (nicht dargestellt), die an der Verbindung 23 vorgesehen ist und parallel zur Oberfläche der Basis 11 verläuft, an welcher die Drehbühne 12 angebracht ist.
  • Das Gelenk 15 ist über eine Verbindung 24 mit der Spitze des zweiten Armes 14, der Verbindung 23 gegenüberliegend angebracht. Das Gelenk 15 hat eine Verbindung 25 und kann geschwenkt werden um eine Welle (nicht dargestellt) als Drehzentrum, die in der Verbindung 25 vorgesehen ist und parallel zur Welle der Verbindung 22 und der Welle der Verbindung 23 verläuft. Das Gelenk 15 kann drehbar sein in einer Fläche senkrecht zu einer Längsrichtung des zweiten Armes 14 mittels einer Welle (nicht dargestellt) als Drehzentrum, die parallel verläuft zur Längsrichtung des zweiten Armes 14.
  • Das Werkzeug 16 ist an der Spitze des Gelenks 15, der Verbindung 24 gegenüberliegend, angebracht. Das Werkzeug 16 hat einen Mechanismus oder eine Einrichtung zum Ausführen einer Bearbeitung an dem Werkstück 10. Beispielsweise kann das Werkzeug 16 einen Laser aufweisen zum Bearbeiten des Werkstückes 10 oder es kann eine Schweißvorrichtung aufweisen für Schweißarbeiten am Werkstück 10. Andererseits kann das Werkzeug 16 auch eine mechanische Hand aufweisen zum Halten des Werkstückes 10 oder eines am Werkstück 10 anzubringenden Teiles.
  • Die Kamera 4 ist ein Beispiel für eine Bildaufnahmeeinheit und sie ist beispielsweise am Werkzeug 16 angebracht. Die Kamera 4 kann auch an einem anderen bewegbaren Bauteil angebracht sein, wie an dem Gelenk 15 oder an dem zweiten Arm 14. Führt der Roboter 2 Arbeiten an dem Werkstück 10 aus, ist die Kamera 4 so ausgerichtet, dass das Werkstück 10 in einem Bildaufnahmebereich der Kamera 4 enthalten ist. Die Kamera 4 erzeugt dann ein Bild, in dem das Werkstück 10 enthalten ist, wobei die Bildaufnahme im Bildaufnahmebereich, welcher das Werkstück 10 enthält, über jeweils eine vorgegebene Bildaufnahmezeitspanne erfolgt. Jedes Mal, wenn die Kamera 4 ein Bild erzeugt, gibt die Kamera 4 das erzeugte Bild über eine Kommunikationsleitung 5 an die Steuervorrichtung 3.
  • Die Steuervorrichtung 3 ist mit dem Roboter 2 über die Kommunikationsleitung 5 verbunden und empfängt Informationen, die den Betriebszustand des Servomotors angeben, welcher jeweils die Welle in der zugehörigen Verbindung des Roboters antreibt und es werden Bilder von der Kamera 4 und weitere Informationen vom Roboter 2 über die Kommunikationsleitung 5 empfangen. Die Steuervorrichtung 3 steuert den Servomotor auf Basis der empfangenen Informationen und des empfangenen Bildes sowie von Betriebsbefehlen für den Roboter 2, die von einer übergeordneten Steuervorrichtung (nicht dargestellt) empfangen werden oder die vorab eingestellt sind, so dass damit die Position und die Stellung (Ausrichtung) eines jeden der bewegbaren Teile des Roboters 2 gesteuert wird.
  • 2 zeigt schematisch den Aufbau der Steuervorrichtung 3. Die Steuervorrichtung 3 enthält eine Kommunikationsschnittstelle 31, eine Antriebsschaltung 32, einen Speicher 33 und einen Prozessor 34. Weiterhin kann die Steuervorrichtung 3 eine Nutzerschnittstelle (nicht dargestellt) aufweisen, wie ein Tastfeld.
  • Die Kommunikationsschnittstelle 31 enthält beispielsweise eine Schnittstelle zum Verbinden der Steuervorrichtung 3 mit der Kommunikationsleitung 5, und eine Schaltung zum Ausführen von Prozessen bezüglich des Empfangs und der Sendung von Signalen über die Kommunikationsleitung 5 und dergleichen. Die Kommunikationsschnittstelle 31 erhält Informationen bezüglich des Betriebszustandes eines Servomotors 35 als ein Beispiel für eine Antriebseinheit, wie einen Messwert des Betrages der Drehung des Servomotors 35 von einem Codierer zum Detektieren des Betrages der Drehung über die Kommunikationsleitung 5 von dem Roboter 2 und gibt die Information an den Prozessor 34. 2 zeigt einen Servomotor 35 beispielhaft, jedoch weist der Roboter 2 für jede Verbindung einen Servomotor auf, welcher die jeweilige Welle der Verbindung antreibt. Weiterhin empfängt die Kommunikationsschnittstelle 31 Bilder von der Kamera 4 und gibt das jeweils empfangene Bild an den Prozessor 34.
  • Die Antriebsschaltung 32 ist über ein Stromversorgungskabel mit dem Servomotor 35 verbunden und liefert elektrische Energie entsprechend dem durch den Servomotor 35 erzeugten Drehmoment, wobei die Rotationsrichtung und die Rotationsgeschwindigkeit des Servomotors 35 entsprechend Steuerungen seitens des Prozessors 34 eingestellt sind.
  • Der Speicher 33 ist ein Beispiel für eine Speichereinheit und enthält beispielsweise einen lesbaren/beschreibbaren Halbleiterspeicher und einen Lese-Halbleiterspeicher. Weiterhin kann der Speicher 33 ein Speichermedium enthalten, wie eine Halbleiter-Speicherkarte, eine Festplatte oder ein optisches Speichermedium sowie eine Einrichtung für den Zugriff auf das Speichermedium.
  • Der Speicher 33 speichert verschiedene Computerprogramme zum Steuern des Roboters 2, welche durch den Prozessor 34 der Steuervorrichtung 3 und dergleichen abgearbeitet werden. Weiterhin speichert der Speicher 33 Informationen zum Steuern des Betriebs des Roboters 2. Weiterhin speichert der Speicher 33 Informationen bezüglich des Betriebszustandes des Servomotors 35, die während des Betriebs des Roboters 2 von diesem gewonnen werden. Der Speicher 33 speichert auch verschiedene Daten-sätze zum Einsatz beim Prozess der Objektdetektion. Derartige Daten enthalten beispielsweise ein Modellmuster eines Werkstückes 10, welches eingesetzt wird für die Detektion des Werkstückes 10, einen Kameraparameter, der Informationen bezüglich der Kamera 4 angibt, wie einen Brennpunktabstand, eine Anbringungsposition und eine Orientierung der Kamera 4 und weiterhin enthalten diese Daten Bilder von der Kamera 4.
  • Beim vorliegenden Ausführungsbeispiel gibt das Modellmuster eine Mehrzahl von vorgegebenen Merkmalen des Werkstückes 10 aus einer vorgegebenen Blickrichtung (beispielsweise von vertikal oben) auf das Werkstück 10 wieder, die an Positionen angeordnet sind, die voneinander verschieden sind. Weiterhin ist zumindest ein Teilbereich in dem Modellmuster derart gesetzt, dass er einen Teil des Werkstückes 10 enthält. Der Teilbereich ist beispielsweise auf einen Ortsbereich eingestellt, welcher eine Stellung des Werkstückes 10 repräsentiert (beispielsweise ein Bereich, dessen Position und Stellung sich ändert in Bezug auf einen Referenzpunkt des Werkstückes 10) (beispielsweise der Mittelpunkt eines Bereiches, in dem das Werkstück 10 dargestellt ist bei Sicht in der vorgegebenen Richtung) entsprechend der Stellung des Werkstückes 10 bei Sicht aus der vorgegebenen Richtung auf das Werkstück 10. Dieser Teilbereich ist nicht auf einen einzigen beschränkt und es können mehrere Teilbereiche eingestellt werden. Weiterhin kann das Werkstück 10 beispielsweise eine Form mit Symmetrie aufweisen bei Sicht aus der vorgegebenen Richtung (beispielsweise eine Form mit Achsensymmetrie). Das vorgegebene Merkmal in dem Modellmuster kann ein Merkmalspunkt sein, der einer Kontur eines Abschnittes des Werkstückes 10 entspricht, wie beispielsweise ein Punkt auf dem Umfang des Werkstückes 10 oder ein Punkt auf dem Rand eines Loches im Werkstück 10. Andererseits kann es sich bei dem vorgegebenen Merkmal auch um eine gerade Linie oder eine gekrümmte Linie handeln, die auf einem bestimmten Abschnitt des Werkstückes 10 gegeben ist, oder um eine Form, die die Form eines spezifischen Abschnittes des Werkstückes 10 wiedergibt (wie ein Dreieck oder ein Kreis).
  • 3A ist eine Darstellung eines Beispiels einer Form eines Werkstückes 10 aus Sicht in einer vorgegebenen Richtung. 3B ist eine Darstellung eines Beispiels eines Modellmusters für das Werkstück 10. Gemäß 3A hat bei diesem Beispiel das Werkstück 10 bei Sicht aus der vorgegebenen Richtung eine Form mit Achsensymmetrie und eine im Wesentlichen kreisförmige Kontur mit einem fehlenden Teil 10a in der Kontur in Form einer Ausnehmung. Gemäß 3B sind eine Mehrzahl von Punkten 301 auf der Kontur des Werkstückes 10 gesetzt und bilden jeweils ein Merkmal in dem Modellmuster 300. Beispielsweise werden die mehreren Merkmale 301 detektiert durch Ausführung eines Prozesses seitens der Merkmalsextraktionseinheit 41 eines Prozessors 34, der später näher beschrieben wird, aus einem Referenzbild, welches erzeugt wird durch Aufnahme des Werkstückes 10 aus der vorgegebenen Richtung. In dem Modellmuster 300 ist ein Teilbereich 310 für den Teil 10a eingestellt, der in der Kontur des Werkstückes in Form einer Ausnehmung fehlt. Der Teilbereich 310 wird so eingestellt, dass er einen Abschnitt enthält, dessen Position und Stellung (Ausrichtung) sich ändern in Bezug auf den Mittelpunkt eines Bereiches, in dem das Werkstück 10 entsprechend einer Stellung des Werkstückes 10 wiedergegeben ist. Somit kann durch Vergleich nicht nur des Gesamtmodellmusters 300, sondern auch des Teilbereichs 310 mit einem Bild, in dem das Werkstück 10 wiedergegeben ist, eine Position und eine Stellung des Werkstückes 10 in dem Bild genau detektiert werden. Beispielsweise kann eine Bedienungsperson den Teilbereich einstellen unter visueller Beobachtung des Referenzbildes, wie oben beschrieben. Das Modellmuster 300 kann beispielsweise durch ein binäres Bild repräsentiert werden, in dem ein Pixel, der zu einem Merkmal gehört, mit gegenüber den anderen Pixeln verschiedenen Werten dargestellt ist.
  • Der Prozessor 34 ist ein Beispiel für eine Steuereinheit und enthält beispielsweise eine zentrale Prozessoreinheit (CPU) und eine periphere Schaltung der CPU. Auch kann der Prozessor 34 einen Prozessor für arithmetische Operationen enthalten. Der Prozessor 34 steuert die Gesamtheit des Robotersystems 1. Weiterhin führt der Prozessor 34 eine Steuerung des bewegbaren Bauteils aus einschließlich des Prozesses der Objektdetektion.
  • 4 ist ein funktionales Blockdiagramm eines Prozessors 34 und zeigt die Komponenten bezüglich des Prozesses der Steuerung des bewegbaren Bauteils einschließlich des Prozesses der Objektdetektion. Der Prozessor 34 enthält die Merkmalsextraktionseinheit 41, eine Vergleichseinheit 42 und eine Steuereinheit 43 für das bewegbare Bauteil. jede dieser Einheiten ist in dem Prozessor 34 realisiert, beispielsweise als Funktionsmodul in Form eines Computerprogramms, welches durch den Prozessor 34 ausgeführt wird. Andererseits kann auch jede dieser Einheiten verwirklicht sein als eine besondere arithmetische Schaltung als Teil des Prozessors 34. Der von der Merkmalsextraktionseinheit 41 ausgeführte Prozess und der von der Vergleichseinheit 42 ausgeführte Prozess im Prozessor 34 sind Teil des Objektdetektionsprozesses.
  • Die Merkmalsextraktionseinheit 41 extrahiert eine Mehrzahl von Merkmalen des gleichen Typs, wie sie in dem Modellmuster wiedergegeben sind, aus jeder Zeitfolge von Bildern, die mit der Kamera 4 erzeugt werden. Da die Merkmalsextraktionseinheit 41 den gleichen Prozess für jedes Bild ausführt, wird nachfolgend der Prozess bezüglich eines Bildes näher beschrieben.
  • Handelt es sich bei einem Merkmal um einen Merkmalspunkt, der auf der Kontur (dem Umfang) des Werkstückes 10 liegt, setzt die Merkmalsextraktionseinheit 41 einen Kantendetektionsfilter, wie einen Sobel-Filter, für jedes Pixel im Bild ein und extrahiert als das zu suchende Merkmal einen Pixel mit einer Kantenintensität größer oder gleich einem vorgegebenen Wert. Andererseits kann die Merkmalsextraktionseinheit 41 auch für das zu ermittelnde Merkmal ein Pixel extrahieren, welches eine Ecke darstellt durch Einsatz eines Eckendetektionsfilters, wie ein Harris-Filter, in Bezug auf das Bild. Schließlich kann als ein weiteres Beispiel die Merkmalsextraktionseinheit 41 für das zu suchende Merkmal ein Pixel extrahieren, welches ermittelt wird durch Einsatz eines SIFT-Algorithmus in Bezug auf das Bild.
  • Handelt es sich bei dem Merkmal um beispielsweise eine gerade Linie, kann die Merkmalsextraktionseinheit 41 durch Extraktion einer Mehrzahl von Merkmalspunkten aus dem Bild, wie oben beschrieben, und Ausführung einer Hough-Transformation bezüglich der Mehrzahl extrahierter Merkmalspunkte als das zu suchende Merkmal jede gerade Linie extrahieren, in der eine vorgegebene Anzahl oder mehr von Merkmalspunkten ausgerichtet sind. Handelt es sich bei dem Merkmal um eine vorgegebene gekrümmte Linie (beispielsweise eine quadratische Kurve, einen kreisförmigen Bogen, eine Kurve dritter Ordnung oder eine Kurve höherer Ordnung), extrahiert die Merk-malsextraktionseinheit 41 eine Mehrzahl von Merkmalspunkten aus dem Bild, wie oben beschrieben, und führt eine verallgemeinerte Hough-Transformation aus bezüglich der Mehrzahl extrahierter Merkmalspunkte. Auf diese Weise kann die Merkmalsextraktionseinheit 41 als Merkmal jede vorgegebene gekrümmte Linie extrahieren, in welcher eine vorgegebene Anzahl oder mehr Merkmalspunkte zueinander entsprechend angeordnet sind.
  • Handelt es sich andererseits bei einem Merkmal um eine Figur mit einer vorgegebenen Form (beispielsweise ein Dreieck oder ein Kreis), kann die Merkmalsextraktionseinheit 41 durch Ausführung einer Schablonenanpassung zwischen einer Schablone, welche die Figur wiedergibt, und dem Bild als Merkmal eine Figur extrahieren, welche die vorgegebene Form aufweist. Auch kann die Merkmalsextraktionseinheit 41 eine Figur mit einer vorgegebenen Form extrahieren durch Eingabe eines Bildes in einen Klassierer, wie ein neuronales Netzwerk, welches zuvor darauf trainiert worden ist, die Figur zu detektieren.
  • Die Merkmalsextraktionseinheit 41 übermittelt für jedes Bild an die Vergleichseinheit 42 eine Position jedes Merkmals, welches aus dem Bild extrahiert ist. Beispielsweise erzeugt die Merkmalsextraktionseinheit 41 bezüglich der Daten, welche die Position eines jeden Merkmals wiedergeben ein Binärbild, in dem ein Pixel, welches zu einem extrahierten Merkmal gehört, im Vergleich zu anderen Pixeln einen unterschiedlichen Wert hat, und das so erzeugte Binärbild wird an die Vergleichseinheit 42 gegeben.
  • Die Vergleichseinheit 42 detektiert für jede zeitliche Abfolge von Bildern, wie sie von der Kamera 4 erzeugt werden, das Werkstück 10 aus dem Bild durch Vergleich einer Mehrzahl von Merkmalen, die aus dem Bild extrahiert sind, mit einem Modellmuster. Da die Vergleichseinheit 42 den gleichen Prozess für jedes Bild ausführen kann, wird nachfolgend der Prozess nur bezüglich eines Bildes näher beschrieben.
  • Beispielsweise liest die Vergleichseinheit 42 ein Modellmuster aus dem Speicher 33 und vergleicht das Modellmuster mit dem gerade untersuchten Bild und detektiert damit einen Bereich, in dem das Werkstück 10 in dem Bild wiedergegeben ist. Hierzu setzt die Vergleichseinheit 42 eine Mehrzahl von Vergleichsbereichen, die mit dem Modellmuster verglichen werden, unter Änderung der Relativpositionsbeziehung des Modellmusters in Bezug auf das Bild. Die Änderung der Relativpositionsbeziehung erfolgt durch Änderung zumindest eines der nachfolgenden Parameter: Relativposition, Relativorientierung und Maßstab des Modellmusters. Eine derartige Änderung erfolgt beispielsweise durch Ausführung einer affinen Transformation bezüglich des Modellmusters. Sodann berechnet die Vergleichseinheit 42 für die jeweiligen Vergleichsbereiche und das Modellmuster einen Gesamtübereinstimmungsgrad, welcher das Ausmaß der Übereinstimmung angibt zwischen einer Mehrzahl von Merkmalen, die für das Gesamtmodellmuster eingestellt sind, und einer Mehrzahl von Merkmalen, wie sie aus dem Vergleichsbereich extrahiert sind. Weiterhin berechnet die Vergleichseinheit 42 für jeden Vergleichsbereich einen Teilübereinstimmungsgrad, der das Ausmaß der Übereinstimmung angibt zwischen einem oder mehreren Merkmalen in einem Teilbereich, der in dem Modellmuster eingestellt ist, und einem oder mehreren Merkmalen, die in dem Bild aus dem Teilbereich extrahiert sind. Sind mehrere Teilbereiche für das Modellmuster gesetzt, berechnet die Vergleichseinheit 42 einen Teilübereinstimmungsgrad für jeden der mehreren Teilbereiche.
  • Die Vergleichseinheit 42 kann einen Gesamtübereinstimmungsgrad und einen Teilübereinstimmungsgrad entsprechend den nachfolgend beschriebenen Beispielen für Gleichungen berechnen.
  • Gesamtübereinstimmungsgrad = Anzahl der Merkmale unter den Merkmalen, die für das Modellmuster eingestellt sind, deren Abstand zu Merkmalen, die aus einem Vergleichsbereich eines Zielbildes extrahiert sind, gleich oder kleiner ist als ein vorgegebener Wert/(Verhältnis zu) Gesamtzahl der Merkmale, die für das Modellmuster eingestellt sind.
  • Teilübereinstimmungsgrad = Anzahl der Merkmale unter den im Teilbereich eingestellten Merkmalen, deren Abstand zu Merkmalen, die aus einem Teilvergleichsbereich des Zielbildes entsprechend dem Teilbereich des Modellmusters extrahiert sind, gleich oder kleiner ist als ein vorgegebener Wert/(Verhältnis zu) der Gesamtzahl von Merkmalen in dem Teilbereich.
  • Wird ein einzelnes Merkmal durch einen Punkt, wie einen Punkt auf einer Kontur, wiedergegeben (d.h. ist ein einzelnes Merkmal ein Merkmalspunkt), dann ist eine Distanz zwischen zwei Merkmalen in den Berechnungsgleichungen bezüglich des Gesamtübereinstimmungsgrades und des Teilübereinstimmungsgrades, wie oben beschrieben, eine Euklidische Distanz zwischen Merkmalspunkten. Ist ein einzelnes Merkmal eine gerade Linie oder eine gekrümmte Linie, dann kann als Distanz zwischen zwei Merkmalen ein Mittelwert angesetzt werden bezüglich der Euklidischen Distanzen zwischen einer Mehrzahl von vorgegebenen Positionen (beispielsweise beide Endpunkte und ein Punkt in der Mitte) in zwei geraden Linien oder zwei gekrümmten Linien als Merkmale. Ist ein einzelnes Merkmal eine Figur mit einer vorgegebenen Form, wie ein Dreieck oder ein Kreis, dann kann als Distanz zwischen zwei Merkmalen ein Mittelwert angesetzt werden bezüglich der Euklidischen Distanzen zwischen einer Mehrzahl von vorgegebenen Positionen (beispielsweise der Mittelpunkt der Form, gegebenenfalls vorhandene Ecken oder dergleichen) in den zwei gegebenen Formen.
  • Andererseits kann die Vergleichseinheit 42 für ein Einzelmerkmal eines Modellmusters einen Gesamtübereinstimmungsgrad und einen Teilübereinstimmungsgrad berechnen entsprechend der nachfolgenden Beispielsgleichung derart, dass der Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad anwachsen mit fallender Distanz zum nächstliegenden Merkmal in einem Vergleichsbereich. Gesamt bereinstimmunsgrad = n = 1 N ( 1 / ( dn + 1 ) ) / N
    Figure DE102020121396A1_0001
    Teil bereinstimmungsgrad     = m = 1 M ( 1 / ( dm + 1 ) ) / M
    Figure DE102020121396A1_0002
  • Dabei ist dn ein Minimalwert unter den Abständen zu den Merkmalen, die aus einem Vergleichsbereich eines Zielbildes extrahiert sind, ausgehend von dem n-ten Merkmal, welches für das Modellmuster eingestellt ist, während N die Gesamtzahl der Merkmale darstellt, die für das Modellmuster gesetzt sind. Entsprechend ist dm ein Minimalwert unter den Abständen, die aus einem Teilvergleichsbereich des Zielbildes extrahiert sind, ausgehend von einem m-ten Merkmal, welches für den Teilbereich des Modellmusters eingestellt ist, und M ist die Gesamtzahl an Merkmalen, die in dem Teilbereich des Modellmusters enthalten sind.
  • Ist für einen untersuchten Vergleichsbereich der Gesamtübereinstimmungsgrad gleich oder größer als ein hierfür vorgegebener Schwellenwert und ist der für jeden Teilbereich berechnete Teilübereinstimmungsgrad gleich oder größer als ein hierfür vorgegebener Schwellenwert, erkennt die Vergleichseinheit 42, dass das Werkstück in dem betrachteten Vergleichsbereich vorliegt.
  • Die 5A bis 5E zeigen schematisch einen Vergleich zwischen einem Modellmuster und einem Bild. Gemäß 5A hat das in einem Bild 500 dargestellte Werkstück 10 eine Form mit im Wesentlichen kreisförmiger Kontur, wobei ein Teil der Kontur in einer Ausnehmung fehlt. Eine Mehrzahl von Merkmalen 501 werden entlang der Kontur des Werkstückes 10 extrahiert. Gemäß 5B sind andererseits eine Mehrzahl von Merkmalen 511 entlang der Kontur des Werkstückes 10 in einem Modellmuster 510 gesetzt und ein Teilbereich 520 ist für den Bereich mit fehlender Kreiskontur in der Ausnehmung eingestellt.
  • Gemäß 5C wird angenommen, dass ein Vergleichsbereich 530 in dem Bild 500 so gesetzt ist, dass er das Werkstück 10 enthält, und dass die Orientierung des Modellmusters 510 mit der Orientierung des Werkstückes 10 in dem Bild 500 zusammenfällt. In diesem Fall fällt das einzelne Merkmal 501, welches aus dem Bild 500 extrahiert ist, im Wesentlichen zusammen mit dem einzelnen Merkmal 511, welches für das Modellmuster 510 gesetzt ist, und dies gilt nicht nur für das gesamte Modellmuster 510, sondern auch für den Teilbereich 520. Da somit sowohl der Gesamtübereinstimmungsgrad als auch der Teilübereinstimmungsgrad jeweils einen hohen Wert haben, wird festgestellt, dass das Werkstück 10 in dem Vergleichsbereich 530 wiedergegeben ist und es ist klar, dass die Orientierung des Werkstückes 10 in dem Bild 500 die gleiche ist wie die Orientierung des Modellmusters 510.
  • Wenn andererseits gemäß 5D der Vergleichsbereich 540 versetzt ist in Bezug auf den Bereich, in dem das Werkstück 10 wiedergegeben ist, fällt das Einzelmerkmal 501, welches aus dem Bild 500 extrahiert ist, nicht in dem gesamten Vergleichsbereich mit dem Einzelmerkmal 511, welches für das Modellmuster 510 gesetzt ist, zusammen. Auch fällt das Einzelmerkmal 501, welches aus dem Bild 500 extrahiert ist, im Teilbereich 520 nicht mit dem Einzelmerkmal 511 zusammen, welches für das Modellmuster 510 gesetzt ist. Im Ergebnis haben sowohl der Gesamtübereinstimmungsgrad als auch der Teilübereinstimmungsgrad einen geringen Wert. Somit wird festgestellt, dass der Vergleichsbereich 540 verschieden ist von dem Bereich, in dem das Werkstück 10 wiedergegeben ist.
  • In 5E ist angenommen, dass ein Vergleichsbereich 550 so gesetzt ist, dass das Werkstück 10 eingeschlossen ist, jedoch die Orientierung des Werkstückes 10 auf dem Bild 500 verschieden ist von der Orientierung des Modellmusters 510. Da in diesem Fall das Modellmuster 510 so positioniert ist, dass es im Wesentlichen zusammenfällt mit der Kontur des Werkstückes 10, sind viele Merkmale aus der Mehrzahl von Merkmalen 501 in nahem Abstand in Bezug auf die Merkmale 511 und deshalb hat der Gesamtübereinstimmungsgrad einen relativ hohen Wert. Allerdings ist die Position des wegen der Ausnehmung fehlenden Abschnittes des Werkstückes 10 versetzt in Bezug auf die Position des Teilbereichs 520 des Modellmusters 510 und deshalb hat der Teilübereinstimmungsgrad einen geringen Wert. Im Ergebnis wird festgestellt, dass das Werkstück 10 nicht im Vergleichsbereich 550 detektiert ist.
  • Auf diese Weise detektiert die Vergleichseinheit 42 den Bereich, in dem das Werkstück 10 in dem Bild wiedergegeben ist auf Basis von sowohl dem Gesamtübereinstimmungsgrad gemäß Berechnung aus dem Gesamtmodellmuster und dem Teilübereinstimmungsgrad gemäß Berechnung für den Teilbereich und damit kann nicht nur die Position des Werkstückes 10, wie es im Bild wiedergegeben ist, detektiert werden, sondern auch eine Stellung (Orientierung) des Werkstückes 10.
  • Der Schwellenwert für den Gesamtübereinstimmungsgrad und der Schwellenwert für den Teilübereinstimmungsgrad können gleich sein oder voneinander verschieden.
  • Beispielsweise kann eine Art Schatten geworfen sein auf einen Teil des Werkstückes 10 in Abhängigkeit von einer Positionsbeziehung zwischen der Kamera 4 und dem Werkstück 10 und die Merkmalsextraktionseinheit 41 kann dadurch nicht in der Lage sein, hinreichend klar ein Merkmal aus dem Teil zu extrahieren, in dem der Schatten geworfen ist. In einer solchen Situation besteht Gefahr, dass der Gesamtübereinstimmungsgrad einen relativ geringen Wert hat. Deshalb ist vorzuziehen, den Schwellenwert für den Gesamtübereinstimmungsgrad und den Schwellenwert für den Teilübereinstimmungsgrad so einzustellen, dass der Schwellenwert für den Teilübereinstimmungsgrad größer ist als der Schwellenwert für den Gesamtübereinstimmungsgrad. Auf diese Weise kann das Werkstück 10 detektiert werden, auch wenn ein Überein-stimmungsgrad bezüglich der Gesamtübereinstimmung relativ klein ist und es ist ein relativ hoher Übereinstimmungsgrad erforderlich bezüglich der Teilübereinstimmung zum Detektieren des Werkstückes 10. Somit kann die Vergleichseinheit 42 ein Versagen bei der Detektion des Werkstückes 10 vermeiden unter Ausschaltung einer Fehldetektion bezüglich eines anderen Objektes als dem Werkstück 10. Auch wenn ein Teil des Werkstückes 10 eine besondere Form hat und ein Teilbereich eingestellt ist derart, dass die besondere Form enthalten ist, ist es vorzuziehen, den Schwellenwert für den Gesamtübereinstimmungsgrad und den Schwellenwert für den Teilübereinstimmungsgrad so einzustellen, dass der Schwellenwert für den Teilübereinstimmungsgrad höher ist als der Schwellenwert für den Gesamtübereinstimmungsgrad. Auf diese Weise kann die Vergleichseinheit 42 das Werkstück 10 mit der besonderen Form mit besserer Genauigkeit detektieren.
  • Wurde das Werkstück 10 bereits früher, wie oben beschrieben, untersucht, kann ein Abschnitt mit einer unklaren Form in einem Teil des Werkstückes 10 enthalten sein, wie der Fall, bei dem ein Loch mit unklarer Form im Werkstück 10 ausgeformt ist, und es kann ein Teilbereich eingestellt werden derart, dass der Bereich mit der unklaren Form eingeschlossen ist. In einer derartigen Situation fällt die Position eines Merkmals in dem Teilbereich des Modellmusters nicht notwendigerweise zusammen mit einer Position des Merkmals in dem Bereich entsprechend dem realen Werkstück und im Ergebnis ist der Teilübereinstimmungsgrad kleiner als der Gesamtübereinstimmungsgrad, auch wenn das Werkstück 10 in einem Vergleichsbereich, der untersucht wird, gegeben ist. In einem solchen Fall ist es vorzuziehen, den Schwellenwert für den Gesamtübereinstimmungsgrad und den Schwellenwert für den Teilübereinstimmungsgrad so einzustellen, dass der Schwellenwert für den Gesamtübereinstimmungsgrad größer ist als der Schwellenwert für den Teilübereinstimmungsgrad. Auf diese Weise kann die Vergleichseinheit 42 auch dann, wenn ein Bereich mit unklarer Form in einem Teil des Werkstückes 10 vorliegt, eine Stellung des Werkstückes 10 in dem Bild detektieren unter Einsatz eines Merkmals des Bereichs mit unklarer Form.
  • Sind mehrere Teilbereiche in dem Modellmuster eingestellt, können die jeweils für die Teilbereiche verwendeten Schwellenwerte bezüglich des Teilübereinstimmungsgrades voneinander verschieden sein oder es können auch die Werte, welche für den Teilübereinstimmungsgrad-Schwellenwert bei den einzelnen Teilbereichen eingesetzt werden, gleich sein.
  • Vorab können mehrere Modellmuster vorbereitet werden. In diesem Fall können sich die Modellmuster unterscheiden entsprechend der Richtung, aus welcher das Werkstück 10 betrachtet (aufgenommen) wird. In diesem Fall berechnet die Vergleichseinheit 42 für jedes der mehreren Modellmuster einen Gesamtübereinstimmungsgrad und einen Teilübereinstimmungsgrad für jeden Vergleichsbereich, entsprechend wie oben beschrieben. Dann kann die Vergleichseinheit 42 feststellen, dass das Werkstück 10, welches aus einer Richtung gemäß dem Modellmuster betrachtet wird, in einem Vergleichsbereich gegeben ist entsprechend einer Position des Modellmusters, in welcher eine Summe aus dem Gesamtübereinstimmungsgrad und dem Teilübereinstimmungsgrad maximal ist, weiterhin der Gesamtübereinstimmungsgrad gleich oder größer ist als ein Schwellenwert für den Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad gleich oder größer ist als ein Schwellenwert für den Teilübereinsti mmungsgrad.
  • Wird eine Position des Werkstückes 10 in dem Bild ermittelt, detektiert die Vergleichseinheit 42 eine Position des Werkstückes 10 im realen Raum auf Basis der entsprechenden Position. Dabei hat die Position eines jeden Pixels in dem Bild eine Eins-zu-Eins-Beziehung zu der Richtung aus Sicht der Kamera 4. Somit kann die Vergleichseinheit 42 beispielsweise eine Richtung entsprechend dem Mittelpunkt des Bereiches identifizieren, in dem das Werkstück 10 in dem Bild wiedergegeben ist als diejenige Richtung von der Kamera 4 zum Werkstück 10. Weiterhin kann die Vergleichseinheit 42 eine Distanz von der Kamera 4 zum Werkstück 10 abschätzen durch Multiplikation einer vorgegebenen Referenzdistanz mit dem Verhältnis einer Fläche des Werkstückes 10 im Bild, wenn die Distanz von der Kamera 4 zum Werkstück 10 die Referenzdistanz ist, zu der Fläche des Bereichs, in dem das Werkstück 10 in dem Bild wiedergegeben ist. Somit kann die Vergleichseinheit 42 eine Position des Werkstückes 10 im Kamerakoordinatensystem detektieren in Bezug auf eine Position der Kamera 4 auf Basis der Richtung von der Kamera 4 zum Werkstück 10 und der abgeschätzten Distanz.
  • Weiterhin kann die Vergleichseinheit 42 einen momentanen Betrag der Drehung des Werkstückes 10 in Bezug auf die Orientierung des Werkstückes 10 gemäß der Darstellung in dem Modellmuster bei Sicht in einer vorgegebenen Richtung auf Basis der Orientierung des Modellmusters in dem Vergleichsbereich, in dem das Werkstück 10 dargestellt ist, bestimmen. Somit kann die Vergleichseinheit 42 eine Stellung (Ausrichtung) der Werkstückes 10 bestimmen auf Basis des Betrags der Drehung. Weiterhin kann die Vergleichseinheit 42 die Stellung des Werkstückes 10 im Kamerakoordinatensystem bestimmen durch Rotation der Stellung des Werkstückes 10 im Bild um eine Differenz zwischen der vorgegebenen Richtung, die für das Modellmuster definiert ist, und einer Richtung von der Kamera 4 auf den Mittelpunkt des Bereichs, in dem das Werkstück 10 dargestellt ist.
  • Jedes Mal dann, wenn die Vergleichseinheit 42 eine Position des Werkstückes 10 im Realraum bestimmt, gibt die Vergleichseinheit 42 die Position des Werkstückes 10 an die Steuereinheit 43 für das bewegbare Bauteil.
  • Die Steuereinheit 43 für das bewegbare Bauteil steuert das bewegbare Bauteil des Roboters 2 auf Basis der Position und der Stellung des Werkstückes 10, wie sie durch die Vergleichseinheit 42 detektiert sind. Beispielsweise steuert die Steuereinheit 43 für das bewegbare Bauteil jedes der bewegbaren Bauteile des Roboters 2 so, dass das Werkzeug 16 des Roboters 2 sich in eine Position bewegt, in welcher das Werkzeug 16 die Bearbeitung des Werkstückes 10 vornehmen kann. Hierzu steuert beispielsweise die Steuereinheit 43 für das bewegbare Bauteil jedes der bewegbaren Bauteile des Roboters 2 so, dass das Werkstück 10 in einem von der Kamers 4 erzeugten Bild an einer vorgegebenen Position mit einer vorgegebenen Größe entsprechend der Position, in welcher das Werkzeug 16 die Arbeit an dem Werkstück 10 ausführt, dargestellt ist. Dabei kann die Steuereinheit 43 für das bewegbare Bauteil jedes der bewegbaren Bauteile des Roboters 2 entsprechend einer Technik zum Steuern eines Roboters steuern auf Basis eines Bildes eines Zielobjektes, welches von einer Kamera erzeugt wird, derart, dass beispielsweise ein positionsbasiertes oder ein merkmalbasiertes Verfahren eingesetzt wird. Zu diesen Techniken siehe Hashimoto, „Vision and Control", The Society of Instrument and Control Engineers, Control Division Convention Workshop, Hyoto, Seiten 37 bis 68, 2001, beispielsweise.
  • 6 ist ein Flussdiagramm für den Prozess der Steuerung des bewegbaren Bauteils unter Einschluss des Prozesses der Objektdetektion. Der Prozessor 34 führt den Prozess der Steuerung des bewegbaren Bauteils jedes Mal dann aus, wenn von der Kamera 4 ein Bild gewonnen wird, wobei dieser Prozess gemäß dem nachfolgend beschriebenen Flussdiagramm ausgeführt wird. Die Prozessschritte S101 bis S107 im Flussdiagramm sind im Objektdetektionsprozess enthalten.
  • Die Merkmalsextraktionseinheit 41 extrahiert aus einem Bild eine Mehrzahl von Merkmalen einer Darstellung des Werkstückes 10 an verschiedenen Stellen (Schritt S101). Die Vergleichseinheit 42 setzt in dem Bild einen Vergleichsbereich, der mit einem Modellmuster verglichen wird (Schritt S102). Die Vergleichseinheit 42 berechnet einen Gesamtübereinstimmungsgrad Seitenansicht und einen Teilübereinstimmungsgrad Sp zwischen dem Modellmuster und dem Vergleichsbereich für jeden Teilbereich (Schritt S103). Sodann ermittelt die Vergleichseinheit 42, ob der Gesamtübereinstimmungsgrad Seitenansicht gleich oder größer ist als ein Schwellenwert Thermostatanordnung für den Gesamtübereinstimmungsgrad und ermittelt weiterhin, ob der Teilübereinstimmungsgrad Sp gleich oder größer ist als ein Schwellenwert Thp für den Teilübereinstimmungsgrad, wobei die Berechnungen ausgeführt werden für jeden Teilbereich (Schritt S104).
  • Ist der Gesamtübereinstimmungsgrad kleiner als der Schwellenwert Thermostatanordnung für den Gesamtübereinstimmungsgrad oder ist der Teilübereinstimmungsgrad kleiner als der Schwellenwert Thp für den Teilübereinstimmungsgrad bei jedem Teilbereich (Schritt S104: NEIN), stellt die Vergleichseinheit 42 fest, dass das Werkstück 10 nicht in dem Vergleichsbereich mit der gleichen Orientierung wie das Modellmuster vorliegt. Sodann ändert die Vergleichseinheit 42 den Vergleichsbereich durch Änderung zumindest einer der nachfolgenden Parameter: einer Relativposition, einer Relativorientierung und eines Maßstabes des Modellmusters in Bezug auf das Bild (Schritt S105). Anschließend wiederholt die Vergleichseinheit 42 die Prozesse nach Schritt S103.
  • Ist andererseits der Gesamtübereinstimmungsgrad gleich oder größer als der Schwellenwert Thermostatanordnung für den Gesamtübereinstimmungsgrad und ist der Teilübereinstimmungsgrad gleich oder größer als der Schwellenwert Thp für den Teilübereinstimmungsgrad für jeden Teilbereich (Schritt S104: JA), stellt die Vergleichseinheit 42 fest, dass das Werkstück 10 mit gleicher Orientierung wie das verglichene Modellmuster in dem Vergleichsbereich vorliegt (Schritt S106). Sodann detektiert die Vergleichseinheit 42 eine Position und eine Stellung des Werkstückes 10 im Realraum auf Basis der Position und der Orientierung des Werkstückes 10 in dem Bild (Schritt S107).
  • Die Steuereinheit 43 für das bewegbare Bauteil steuert das bewegbare Bauteil des Roboters 2 so, dass sich das Werkzeug 16 in eine Position bewegt, in welcher es die Arbeit an dem Werkstück 10 ausführen kann, wobei die Steuerung erfolgt auf Basis der Position und der Stellung des Werkstückes 10 im Realraum (Schritt S108).
  • Nach Schritt S108 beendet der Prozessor 34 den Prozess der Steuerung des bewegbaren Bauteils. Im Falle, dass das Werkstück 10 nicht in einem Bild detektiert wird, auch wenn die Vergleichseinheit 42 den Prozess der Schritte S103 bis S105 für eine vorgegebene Anzahl von Versuchen wiederholt, kann die Vergleichseinheit 42 feststellen, dass das Werkstück 10 nicht in dem Bild wiedergegeben ist. In diesem Falle kann die Steuereinheit 42 das bewegbare Bauteil stoppen.
  • Wie oben beschrieben, berechnet die Objektdetektionsvorrichtung für jeden aus einer Mehrzahl von Vergleichsbereichen in einem Bild einen Gesamtübereinstimmungsgrad zwischen einer Mehrzahl von Merkmalen, die für ein Gesamtmodellmuster gesetzt sind, welches ein Zielobjekt darstellt, und einer Mehrzahl von Merkmalen, die aus dem Vergleichsbereich extrahiert sind. Für jeden Vergleichsbereich berechnet die Objektdetektionsvorrichtung für zumindest einen Teilbereich, welcher einen Teil des Modellmusters wiedergibt, einen Teilübereinstimmungsgrad zwischen einem oder mehreren in dem Teilbereich enthaltenen Merkmalen und einem oder mehreren Merkmalen, die aus einem Teilvergleichsbereich im Zielbild entsprechend dem Teilbereich extrahiert sind. Sodann ermittelt die Objektdetektionsvorrichtung, dass das Zielobjekt in dem Vergleichsbereich enthalten ist, in dem der Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad für jeden Teilbereich gleich oder größer sind als ein jeweiliger Schwellenwert. Damit kann die Objektdetektionsvorrichtung auch dann eine ungewollte Detektion eines anderen Objektes als das Zielobjekt verhindern, wenn das andere Objekt eine ähnliche Form hat wie das Zielobjekt. Da die Objektdetektionsvorrichtung den Teilübereinstimmungsgrad für einen oder mehrere Teilbereiche verwendet, welche für das Modellmuster eingerichtet sind, um das Zielobjekt zu detektieren, kann die Objektdetektionsvorrichtung eine Orientierung des Zielobjektes im Bild genau detektieren auf Basis der Orientierung des Modellmusters im Vergleich mit dem Bild. Somit kann die Objektdetektionsvorrichtung auch eine Stellung des Zielobjektes detektieren. Wie oben beschrieben, kann die Objektdetektionsvorrichtung das in dem Bild wiedergegebene Zielobjekt mit hoher Genauigkeit detektieren. Insbesondere dann, wenn das Zielobjekt eine Symmetrie aufweist, kann die Objektdetektionsvorrichtung das Zielobjekt aus dem Bild mit hoher Genauigkeit detektieren durch Ausführung des oben beschriebenen Prozesses.
  • Gemäß einem abgewandelten Ausführungsbeispiel kann die Art eines Merkmales, wie es für die Berechnung des Teilübereinstimmungsgrades eingesetzt wird, verschieden sein von der Art eines Merkmales, wie es für die Berechnung des Gesamtübereinstimmungsgrades verwendet wird. Beispielsweise kann das Merkmal zum Berechnen des Gesamtübereinstimmungsgrades ein Punkt auf einer Kontur (Umfang) eines Detektionsziels sein (d.h. ein Merkmalspunkt), wobei andererseits das Merkmal zum Berechnen des Teilübereinstimmungsgrades eine Form sein kann, wie eine gerade Linie oder eine gekrümmte Linie, die einen charakteristischen Bereich des Detektionsziels wiedergeben. Werden mehrere Teilbereiche für das Modellmuster gesetzt, kann die Art eines Merkmals, welches eingesetzt wird zum Berechnen des Teilübereinstimmungsgrades, verschieden sein für jeden Teilbereich.
  • In diesem Falle extrahiert die Merkmalsextraktionseinheit 41 aus dem Bild nicht nur ein Merkmal der Art, wie es für die Berechnung des Gesamtübereinstimmungsgrades verwendet wird (d.h. ein Merkmal vom zweiten Typ), sondern auch ein Merkmal der Art, wie es zum Berechnen des Teilübereinstimmungsgrades verwendet wird (d.h. ein Merkmal vom ersten Typ). Sodann kann die Vergleichseinheit 42 den Gesamtübereinstimmungsgrad berechnen auf Basis einer Übereinstimmung zwischen Merkmalen des zweiten Typs und es kann den Teilübereinstimmungsgrad berechnen auf Basis der Übereinstimmung zwischen Merkmalen des ersten Typs. Die Berechnungsgleichungen bezüglich des Gesamtübereinstimmungsgrades und bezüglich des Teilübereinstimmungsgrades können die gleichen sein, wie die oben beschriebenen Gleichungen.
  • Durch den Einsatz von Merkmalen unterschiedlicher Typen für den Vergleich des Gesamtmodellmusters und den Vergleich eines Teils des Modellmusters kann die Vergleichseinheit 42 Merkmale verwenden, die geeignet sind zum Vergleich des Gesamtmodellmusters (beispielsweise einen Merkmalspunkt), und ein Merkmal, welches geeignet ist zum Vergleichen des Teils des Modellmusters (beispielsweise eine Form, eine gerade Linie oder eine gekrümmte Linie). Somit kann die Objektdetektionsvorrichtung die Genauigkeit der Detektion eines Zielobjektes weiter verbessern.
  • Auch kann die Vergleichseinheit 42 automatisch ein Suchmuster bezüglich eines Teilvergleichsbereiches setzen zum Berechnen eines Teilübereinstimmungsgrades entsprechend einem Rechenergebnis bezüglich eines Gesamtübereinstimmungsgrades. Beispielsweise kann die Vergleichseinheit 42 mit fallendem Gesamtübereinstimmungsgrad engere Teilvergleichsbereiche setzen. Auf diese Weise kann die Objektdetektionsvorrichtung ein Zielobjekt mit hoher Genauigkeit detektieren, ohne dass durch eine Bedienungsperson ein Suchverfahren eingestellt werden müsste.
  • Auch kann die Objektdetektionsvorrichtung eingesetzt werden für Zwecke, die von der Steuerung einer automatischen Maschine verschieden sind. Beispielsweise kann die Objektdetektionsvorrichtung eingesetzt werden zum Ermitteln, ob ein auf einem Förderband transportiertes Werkstück 10 geeignet ist oder nicht. In diesem Falle kann die Kamera 4 so fest installiert sein, dass ein Teil des Förderbandes für die Werkstücke im Bildaufnahmebereich der Kamera 4 enthalten ist. Dann kann die Objektdetektionsvorrichtung eine Konfiguration aufweisen ähnlich der in 2 gezeigten Konfiguration der Steuervorrichtung 3. Die Antriebsschaltung 32 kann weggelassen werden. In diesem Falle wird ein Modellmuster in dem Speicher der Objektdetektionsvorrichtung abgespeichert, welches ein geeignetes Werkstück 10 wiedergibt. Der Prozessor der Objektdetektionsvorrichtung kann den Prozess der Merkmalsextraktionseinheit 41 und den Prozess der Vergleichseinheit 42 bezüglich eines Bildes ausführen, welches von der Kamera 4 erzeugt wird. Sodann detektiert die Vergleichseinheit 42 das Werkstück 10 aus dem mit der Kamera 4 erzeugten Bild für einen Vergleich mit dem Modellmuster und die Vergleichseinheit 42 kann feststellen, dass es sich bei dem Werkstück 10 um ein geeignetes Produkt handelt. Kann andererseits die Vergleichseinheit 42 das Werkstück 10 nicht aus dem Bild detektieren, dann kann die Vergleichseinheit 42 feststellen, dass es sich bei dem im Bildaufnahmebereich der Kamera 4 angeordneten Werkstück 10 um ein ungeeignetes Produkt handelt. Der Prozessor der Objektdetektionsvorrichtung kann ein Bestimmungsergebnis bezüglich „geeignet“ oder „ungeeignet“ zur Anzeige bringen oder er kann ein entsprechendes Bestimmungsergebnis an eine andere Apparatur geben, die über eine Kommunikationsschnittstelle angeschlossen ist.
  • Mit dem abgewandelten Ausführungsbeispiel kann die Objektdetektionsvorrichtung auch dann, wenn eine Position und eine Stellung eines Inspektionsziels nicht spezifiziert sind, feststellen, ob das Inspektionsziel geeignet oder ungeeignet ist.
  • Ein Computerprogramm zum Ausführen der jeweiligen Prozesse durch die verschiedenen Einheiten des Prozessors 34 der Steuervorrichtung 3 kann bereitgestellt werden in Form einer Aufzeichnung auf einem computerlesbaren, tragbaren Medium, wie einem Halbleiterspeicher, einem magnetischen Aufzeichnungsmedium oder einem optischen Aufzeichnungsmedium.
  • Alle hier gegebenen Beispiele und einschränkenden Begriffe dienen dem Zweck der Unterrichtung des Lesers für ein Verständnis der grundlegenden Beiträge des Erfinders zur Weiterentwicklung des Standes der Technik und sind nicht im Sinne einer Einschränkung auf die speziell gegebenen Ausführungsbeispiele und Begriffe zu verstehen und auch die Anordnung der Beispiele in der Beschreibung beinhaltet keine Aussage über eine Überlegenheit oder Unterlegenheit derselben. Zwar ist das Ausführungsbeispiel der Erfindung hier mit Einzelheiten beschrieben, jedoch versteht sich, dass verschiedene Änderungen, Austauschmittel und Abwandlungen diesbezüglich möglich sind, ohne den Gedanken und den Umfang der Erfindung zu verlassen.
  • 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 201796749 [0002, 0004]
    • JP 2004318488 [0003]
  • Zitierte Nicht-Patentliteratur
    • Hashimoto, „Vision and Control“, The Society of Instrument and Control Engineers, Control Division Convention Workshop, Hyoto, Seiten 37 bis 68, 2001 [0056]

Claims (6)

  1. Objektdetektionsvorrichtung, aufweisend: eine Speichereinheit (33) zum Speichern eines Modellmusters, welches eine Mehrzahl von vorgegebenen Merkmalen eines Zielobjektes (10) an verschiedenen Stellen des Zielobjektes (10) aus Sicht in einer vorgegebenen Richtung wiedergibt, und zumindest eines Teilbereiches, der einen Teil des Modellmusters enthält; eine Merkmalsextraktionseinheit (41) zum Extrahieren der Mehrzahl vorgegebener Merkmale aus einem Bild, in dem das Zielobjekt (10) wiedergegeben ist; und eine Vergleichseinheit (42) zum Berechnen eines Gesamtübereinstimmungsgrades, der das Ausmaß der Übereinstimmung angibt zwischen der Mehrzahl von vorgegebenen Merkmalen, die für das Gesamtmodellmuster eingestellt sind, und der Mehrzahl von vorgegebenen Merkmalen, die aus einem Bereich entsprechend dem Modellmuster in dem Bild extrahiert sind unter Änderung der Relativpositionsbeziehung zwischen dem Bild und dem Modellmuster, zum Berechnen eines Teilübereinstimmungsgrades für zumindest einen Teilbereich, der das Ausmaß der Übereinstimmung angibt zwischen einem oder mehreren Merkmalen in dem Teilbereich unter den mehreren vorgegebenen Merkmalen, die für das Gesamtmodellmuster eingestellt sind, und einem oder mehreren der vorgegebenen Merkmale, die aus einem Bereich entsprechend dem Teilbereich in dem Bild extrahiert sind unter Änderung der Relativpositionsbeziehung, und zum Bestimmen, dass das Zielobjekt (10) in einem Bereich in dem Bild entsprechend dem Modellmuster wiedergegeben ist, wenn der Gesamtübereinstimmungsgrad gleich oder größer ist als ein vorgegebener Schwellenwert für den Gesamtübereinstimmungsgrad und der für zumindest einen Teilbereich berechnete Teilübereinstimmungsgrad gleich oder größer ist als ein vorgegebener Schwellenwert für den Teilübereinstimmungsgrad.
  2. Objektdetektionsvorrichtung gemäß Anspruch 1, wobei ein Merkmal unter der Mehrzahl von Merkmalen in einem ersten Teilbereich des zumindest einen Teilbereiches ein Merkmal von einem ersten Typ ist und wobei ein Merkmal, welches nicht in dem ersten Teilbereich enthalten ist, ein Merkmal eines zweiten Typs ist, der vom ersten Typ verschieden ist, die Merkmalsextraktionseinheit (41) jedes der Merkmale des ersten Typs und des zweiten Typs aus dem Bild extrahiert, und die Vergleichseinheit (42) den Teilübereinstimmungsgrad für den ersten Teilbereich berechnet auf Basis eines Übereinstimmungsausmaßes zwischen dem Merkmal des ersten Typs und dem Merkmal des zweiten Typs gemäß Extraktion aus einem Bereich entsprechend dem ersten Teilbereich in dem Bild, und den Gesamtübereinstimmungsgrad berechnet auf Basis des Übereinstimmungsausmaßes zwischen dem Merkmal des zweiten Typs und dem Merkmal des zweiten Typs, wie es aus einem Bereich entsprechend dem Modellmuster in dem Bild extrahiert ist.
  3. Objektdetektionsvorrichtung gemäß Anspruch 2, wobei das Merkmal des ersten Typs eine gerade Linie, eine vorgegebene gekrümmte Linie oder eine Figur ist mit einer vorgegebenen Form, und wobei das Merkmal des zweiten Typs ein Merkmalspunkt ist.
  4. Objektdetektionsvorrichtung gemäß einem der Ansprüche 1 bis 3, wobei der Schwellenwert für den Gesamtübereinstimmungsgrad größer ist als der Schwellenwert für den Teilübereinstimmungsgrad.
  5. Objektdetektionsvorrichtung gemäß einem der Ansprüche 1 bis 3, wobei der Schwellenwert für den Gesamtübereinstimmungsgrad kleiner ist als der Schwellenwert für den Teilübereinstimmungsgrad.
  6. Objektdetektionscomputerprogramm zum Veranlassen eines Computers, Folgendes auszuführen: Extraktion einer Mehrzahl von vorgegebenen Merkmalen aus einem Bild, in dem ein Zielobjekt (10) wiedergegeben ist; Berechnen eines Gesamtübereinstimmungsgrades unter Änderung einer Relativpositionsbeziehung zwischen dem Bild und einem Modellmuster, welches die Mehrzahl vorgegebener Merkmale des Zielobjektes (10) an verschiedenen Stellen aus Sicht auf das Zielobjekt (10) in einer vorgegebenen Richtung wiedergibt, wobei der Gesamtübereinstimmungsgrad das Ausmaß der Übereinstimmung angibt zwischen der Mehrzahl der vorgegebenen Merkmale, wie sie für das Gesamtmodellmuster gesetzt sind, und der Mehrzahl vorgegebener Merkmale, die aus einem Bereich extrahiert sind entsprechend dem Modellmuster in dem Bild; Berechnen eines Teilübereinstimmungsgrades unter Änderung der Relativpositionsbeziehung für jeden Teilbereich, der einen Teil des Modellmusters beinhaltet, wobei der Teilübereinstimmungsgrad das Ausmaß der Übereinstimmung angibt zwischen einem oder mehreren Merkmalen in dem Teilbereich unter den mehreren vorgegebenen Merkmalen, die für das Modellmuster eingestellt sind, und einem oder mehreren der vorgegebenen Merkmale, die aus einem Bereich entsprechend dem Teilbereich in dem Bild extrahiert sind; und Feststellen, dass das Zielobjekt (10) in einem Bereich in dem Bild wiedergegeben ist entsprechend dem Modellmuster, wenn der Gesamtübereinstimmungsgrad gleich oder größer ist als ein vorgegebener Schwellenwert für den Gesamtübereinstimmungsgrad und der Teilübereinstimmungsgrad gemäß Berechnung für den zumindest einen Teilbereich gleich oder größer ist als ein vorgegebener Schwellenwert für den Teilübereinstimmungsgrad.
DE102020121396.4A 2019-08-22 2020-08-14 Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn Pending DE102020121396A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-151809 2019-08-22
JP2019151809A JP7488033B2 (ja) 2019-08-22 2019-08-22 物体検出装置及び物体検出用コンピュータプログラム

Publications (2)

Publication Number Publication Date
DE102020121396A1 true DE102020121396A1 (de) 2021-02-25
DE102020121396A8 DE102020121396A8 (de) 2021-05-06

Family

ID=74495632

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020121396.4A Pending DE102020121396A1 (de) 2019-08-22 2020-08-14 Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn

Country Status (4)

Country Link
US (1) US11961255B2 (de)
JP (1) JP7488033B2 (de)
CN (1) CN112419406A (de)
DE (1) DE102020121396A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6863946B2 (ja) * 2018-10-31 2021-04-21 ファナック株式会社 画像処理装置
WO2023074235A1 (ja) * 2021-10-27 2023-05-04 パナソニックIpマネジメント株式会社 運搬システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133572B2 (en) * 2002-10-02 2006-11-07 Siemens Corporate Research, Inc. Fast two dimensional object localization based on oriented edges
JP2004318488A (ja) * 2003-04-16 2004-11-11 Konica Minolta Photo Imaging Inc 製品検査方法及び製品検査装置
JP4492036B2 (ja) * 2003-04-28 2010-06-30 ソニー株式会社 画像認識装置及び方法、並びにロボット装置
JP4577580B2 (ja) * 2007-04-10 2010-11-10 ソニー株式会社 位置合わせ方法、位置合わせ装置及びプログラム
JP5301239B2 (ja) * 2008-08-09 2013-09-25 株式会社キーエンス 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体
JP5267110B2 (ja) * 2008-12-24 2013-08-21 富士通株式会社 検出装置、検出方法および検出プログラム
JP6197340B2 (ja) * 2013-04-05 2017-09-20 オムロン株式会社 画像処理装置、画像処理方法、およびプログラム
JP2016130979A (ja) 2015-01-14 2016-07-21 株式会社リコー 検知装置、検知処理プログラム及び検知システム
JP6348093B2 (ja) * 2015-11-06 2018-06-27 ファナック株式会社 入力データから検出対象物の像を検出する画像処理装置および方法
JP6608682B2 (ja) 2015-11-24 2019-11-20 株式会社キーエンス 位置決め方法、外観検査装置、プログラム、コンピュータ可読記録媒体および外観検査方法

Also Published As

Publication number Publication date
DE102020121396A8 (de) 2021-05-06
US20210056659A1 (en) 2021-02-25
JP7488033B2 (ja) 2024-05-21
JP2021033555A (ja) 2021-03-01
CN112419406A (zh) 2021-02-26
US11961255B2 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
DE102018200155B4 (de) Kalibrationsvorrichtung, Kalibrationsverfahren und Programm für einen visuellen Sensor
DE102014205726B4 (de) Verfahren zum bestimmen von profildaten für ein kantenmerkmal in einem inspektionssystem mit maschineller bildverarbeitung
DE102020000964A1 (de) Objekterkennungsvorrichtung, Steuervorrichtung und Objekterkennungscomputerprogramm
DE102017128757A1 (de) Schleifvorrichtung
DE102019131284B4 (de) Robotersystem und Koordinatenumwandlungsverfahren
DE112006000360T5 (de) Automatische Ultraschallprüfvorrichtung, automatisches Ultraschallprüfverfahren und Herstellverfahren unter Anwendung des Prüfverfahrens
DE102018109774A1 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102018009023A1 (de) Einlernvorrichtung zum ausführen von robotereinlernvorgängen und einlernverfahren
DE102012216908B4 (de) Verfahren unter Verwendung einer Bildkorrelation zum Bestimmen von Positionsmessungen in einem Maschinenvisionssystem
DE112019001256B3 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102016200386B4 (de) Verfahren zum Steuern eines Manipulatorsystems
DE10254435A1 (de) Verfahren und Vorrichtung zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102020121396A1 (de) Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren
DE102018205913A1 (de) Steuersystem für eine Werkzeugmaschine
DE112017006976B4 (de) Überlagerungspositionskorrektureinrichtung und überlagerungspositionskorrekturverfahren
DE102019215237A1 (de) Steuersystem
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE112019004853T5 (de) Kalibrierungsverfahren für ein Bildverarbeitungssystem mit mehreren Freiheitsgraden
DE102018007287A1 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE102019007721A1 (de) Vorrichtung zur Erfassung einer Anomalie bei der Anfügung eines Werkzeugs
DE102018205443B4 (de) Steuerungssystem einer Werkzeugmaschine
DE112019006604T5 (de) Steuervorrichtung und steuerverfahren

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000

R012 Request for examination validly filed