-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein Bildverarbeitungssystem.
-
Verwandte Technik
-
Als Bildverarbeitungssystem zur Erkennung eines Bildes eines Objekts aus einem Bild, in dem das Objekt erfasst ist, ist ein System zur Erkennung eines Bildes des Objekts auf Grundlage eines Modellmusters bekannt, das ein Merkmal des Bildes des Objekts darstellt (siehe beispielsweise Japanische ungeprüfte Patentanmeldung, Veröffentlichung Nr. 2017-91079).
-
Darüber hinaus ist als Bildverarbeitungssystem zur Erkennung eines Bildes eines Objekts aus einem Bild, in dem ein Objekt erfasst ist, ein System zum Lernen geeigneter Merkmale entsprechend dem Objekt unter Verwendung von Maschinenlernen und zur Erkennung eines Bildes des Objekts bekannt (siehe beispielsweise japanische ungeprüfte Patentanmeldung, Veröffentlichung Nr. 2018-200531).
-
- Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichung Nr. 2017 -91079
- Patentdokument 2: Japanische ungeprüfte Patentanmeldung, Veröffentlichung Nr. 2018-200531
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In einem Bildverarbeitungssystem, das ein Modellmuster verwendet, das ein Merkmal eines Bildes eines Objekts darstellt, kann, da die Detektion durch Fokussierung auf eines der Merkmale des Objekts (beispielsweise Kontur) erfolgt, das Merkmal aufgrund einer Änderung der Helligkeit oder ähnlichem unsichtbar werden, und manchmal wird es unmöglich, das Objekt zu detektieren.
-
In dieser Hinsicht kann das Bildverarbeitungssystem, das Maschinenlernen verwendet, die Robustheit mehr verbessern als das Bildverarbeitungssystem, das das Modellmuster verwendet, das die Eigenschaft des Bildes des Objekts darstellt. In einem Fall von tiefem Lernen ist es jedoch beispielsweise notwendig, viele Bilder mit unterschiedlichen Positionen und Lagen von Objekten zu annotieren (beispielsweise mit einem Label zu versehen), um Trainingsdaten zu erzeugen. Eine solche Einstellungsarbeit veranlasst die Benutzer dazu, von der Anwendung des Tiefenlernens abzugehen. Darüber hinaus führen Anwender im Allgemeinen das Labeling manuell durch. Eine solche Einstellarbeit ist ein Faktor, der die Genauigkeit mindert.
-
Im Bereich der Bildverarbeitung zur Detektion eines Bildes eines Objekts aus einem Bild, in dem das Objekt erfasst ist, ist daher die Verbesserung der Robustheit, der Funktionsfähigkeit der Einstellung und der Detektionsgenauigkeit erwünscht.
-
Ein Bildverarbeitungssystem gemäß einem Aspekt der vorliegenden Offenbarung ist ein Bildverarbeitungssystem, das ein Bild eines Objekts aus einem Bild, in dem das Objekt erfasst ist, detektiert, und das System umfasst: einen ersten Detektor, der ein Bild des Objekts aus dem Bild auf Grundlage eines Modellmusters, das ein Merkmal des Bildes des Objekts darstellt, detektiert; eine Lernvorrichtung, die ein Lernmodell unter Verwendung des zur Detektion durch den ersten Detektor verwendeten Bildes als Eingangsdaten und unter Verwendung eines Detektionsergebnisses durch den ersten Detektor als Trainingsdaten lernt; und einen zweiten Detektor, der das Bild des Objekts aus dem Bild auf Grundlage des durch die Lernvorrichtung gelernten Lernmodells detektiert.
-
Gemäß der vorliegenden Offenbarung ist es im Bereich der Bildverarbeitung zur Detektion eines Bildes eines Objekts aus einem Bild, in dem das Objekt erfasst ist, möglich, die Robustheit, die Funktionsfähigkeit der Einstellung und die Detektionsgenauigkeit zu verbessern.
-
Figurenliste
-
- 1 ist ein Diagramm, das ein Beispiel eines Bildverarbeitungssystems gemäß der vorliegenden Ausführungsform zeigt;
- 2 ist ein Schema, das ein weiteres Beispiel eines Bildverarbeitungssystems gemäß der vorliegenden Ausführungsform zeigt;
- 3 ist ein Schema, das die Konfigurationen einer Bildverarbeitungsvorrichtung (erster Detektor) und einer Lernvorrichtung (zweiter Detektor) im Bildverarbeitungssystem gemäß der vorliegenden Ausführungsform zeigt;
- 4 ist ein Flußdiagramm, das ein Verfahren zur Erstellung eines Modellmusters zeigt;
- 5 ist ein Diagramm, das einen Zustand zeigt, in dem ein Bereich zur Bezeichnung eines Modellmusters in einem Bild bezeichnet wird;
- 6 ist ein Diagramm, das ein Modellmuster zeigt, das aus einer Vielzahl von Merkmalspunkten zusammengesetzt ist;
- 7 ist ein Flussdiagramm, das ein Verfahren zum Lernen eines Lernmodells zeigt;
- 8 ist ein Diagramm, das schematisch ein Beispiel für ein Bildverarbeitungssystem 201 zeigt, an das eine Vielzahl von Sichtsensoren gemäß der vorliegenden Ausführungsform angeschlossen sind; und
- 9 zeigt schematisch ein Beispiel für ein Bildverarbeitungssystem 301, an das mehrere Bildverarbeitungsvorrichtungen gemäß der vorliegenden Ausführungsform angeschlossen sind.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Im Folgenden wird ein Beispiel für eine Ausführungsform der vorliegenden Erfindung anhand der beigefügten Zeichnungen beschrieben. Es wird darauf hingewiesen, dass die gleichen Bezugszeichen für gleiche oder gleichwertige Teile in den Zeichnungen angegeben werden.
-
1 ist ein Diagramm, das ein Beispiel für ein Bildverarbeitungssystem nach der vorliegenden Ausführungsform zeigt. 2 ist ein Schema, das ein weiteres Beispiel für ein Bildverarbeitungssystem nach der vorliegenden Ausführungsform zeigt. Das Bildverarbeitungssystem 1 ist ein System mit den zwei Detektionsfunktionen: eine Funktion der Detektion eines Bildes eines Objekts 2 aus einem Eingangsbild 5 (siehe 5) auf Grundlage eines Modellmusters 50 (siehe 6), das ein Merkmal des Bildes des Objekts 2 darstellt; und eine Funktion der Detektion eines Bildes des Objekts 2 aus dem Eingangsbild 5 auf Grundlage eines Lernmodells.
-
Das in 1 dargestellte Bildverarbeitungssystem 1 umfasst einen Sichtsensor 11, eine Bildverarbeitungsvorrichtung (erster Detektor) 10 und eine Lernvorrichtung (zweiter Detektor) 30, und die Position des Sichtsensors 11 ist fest vorgegeben. Das Objekt 2 ist auf einem Arbeitstisch 4 montiert. Der Sichtsensor 11 ist eine Bildaufnahmevorrichtung wie beispielsweise eine Kamera zur Abbildung des Objekts 2. Der Sichtsensor 11 ist an einer Stelle fixiert, an der das Objekt 2 durch eine Halterung (nicht abgebildet) abgebildet werden kann. Die vom Sichtsensor 11 erfassten Bildinformationen werden an die Bildverarbeitungsvorrichtung 10 übertragen.
-
Die Bildverarbeitungsvorrichtung (erster Detektor) 10 detektiert ein Bild des Objekts 2 aus dem Eingangsbild 5 (siehe 5), das vom Sichtsensor 11 durch die später beschriebene Bildverarbeitung empfangen wird. Die Lernvorrichtung (zweiter Detektor) 30 lernt das Lernmodell auf Grundlage des Detektionsergebnisses der Bildverarbeitungsvorrichtung (erster Detektor) 10 und detektiert ein Bild des Objekts 2 aus dem Eingangsbild 5 (siehe 5), das vom Sichtsensor 11 auf Grundlage des Lernmodells empfangen wurde.
-
Andererseits umfasst das in 2 dargestellte Bildverarbeitungssystem 1 weiterhin einen Roboter 20 und eine Robotersteuerung 25 in dem in 1 dargestellten Bildverarbeitungssystem 1, und der Sichtsensor 11 ist in seiner Position beweglich. Der Roboter 20 ist ein Armroboter, an dessen Spitze eine Roboterhand 21 angebracht ist. Der Sichtsensor 11 ist an der Roboterhand 21 befestigt, die als Hand des Roboters 20 dient. Die Roboterhand 21 ist ein beweglicher Teil, der sich durch den Roboter 20 oder seinen eigenen Mechanismus bewegt. Daher bewegt sich auch die Position des Sichtsensors 11. Es ist zu beachten, dass die Roboterhand 21 des Roboters 20 das Objekt 2 greifen kann und dazu führen kann, dass sich das Objekt 2 im Sichtfeld des fest installierten Sichtsensors 11 bewegt.
-
Die Bildverarbeitungsvorrichtung 10, die die Bildverarbeitung durchführt, ist so konfiguriert, dass sie mit der Robotersteuerung 25 kommuniziert, die die Bewegung des Roboters 20 oder dergleichen steuert, und Informationen zwischen der Bildverarbeitungsvorrichtung 10 und dem Roboter 20 austauschen kann. Die Bildverarbeitungsvorrichtung (erster Detektor) 10 detektiert das Bild des Objekts 2, indem sie die später zu beschreibende Bildverarbeitung aus dem Eingangsbild 5 des Sichtsensors 11 (siehe 5) unter Berücksichtigung der Bewegung und des Zustands des Roboters 20 und der Roboterhand 21 durchführt. Im Folgenden werden die Bildverarbeitungsvorrichtung (erster Detektor) 10 und die Lernvorrichtung (zweiter Detektor) 30 im Bildverarbeitungssystem 1, die in 1 und 2 dargestellt sind, im Detail beschrieben.
-
3 ist ein Diagramm, das die Konfigurationen der Bildverarbeitungsvorrichtung (erster Detektor) 10 und der Lernvorrichtung (zweiter Detektor) 30 im Bildverarbeitungssystem 1 entsprechend der vorliegenden Ausführungsform zeigt.
-
Erstens umfasst die Bildverarbeitungsvorrichtung 10 eine Bildverarbeitungseinheit 12 und eine Speichereinheit 13. Die Bildverarbeitungseinheit 12 erzeugt ein Modellmuster, das ein Bild des Objekts 2 modelliert, beispielsweise ein Modellmuster, das ein Merkmal des Bildes des Objekts 2 darstellt. Die Speichereinheit 13 speichert dieses Modellmuster. Im Folgenden wird ein Beispiel für die Erstellung des Modellmusters 50 beschrieben.
-
4 ist ein Flussdiagramm, das ein Verfahren zur Erstellung des Modellmusters 50 zeigt. 5 ist ein Diagramm, das einen Zustand zeigt, in dem ein Modellmuster-Bezeichnungsbereich 60 in einem Bild bezeichnet ist. 6 ist ein Diagramm, das ein Modellmuster 50 zeigt, das aus einer Vielzahl von Merkmalspunkten P_i besteht.
-
Wie in 5 dargestellt, platziert das Bildverarbeitungssystem 1 das zu lehrende Objekt 2 als Modellmuster 50 in das Sichtfeld des Sichtsensors 11, um ein Bild des Objekts 2 zu erfassen, und nimmt ein Eingangsbild 5 auf, in dem das Objekt 2 umfassend enthalten ist (Schritt S11). Zu diesem Zeitpunkt ist es vorzuziehen, dass die Positionsbeziehung zwischen dem Sichtsensor 11 und dem Objekt 2 die gleiche ist wie die Positionsbeziehung, wenn das Objekt 2 im tatsächlichen Gebrauch erkannt wird.
-
Das Bildverarbeitungssystem 1 bezeichnet einen Bereich, in dem das Objekt 2 im aufgenommenen Bild als ein Bereich des Modellmusters 50 erscheint (Schritt S12). Im Folgenden wird der in Schritt S12 bezeichnete Bereich als Modellmuster-Bezeichnungsbereich 60 bezeichnet. Der Modellmuster-Bezeichnungsbereich 60 der vorliegenden Ausführungsform wird als rechteckige oder runde Form bezeichnet, so dass er das Objekt 2 umgibt.
-
Als nächstes extrahiert das Bildverarbeitungssystem 1 Merkmalspunkte (Schritt S13). Die Merkmalspunkte bilden das Modellmuster 50. Eine Vielzahl von Merkmalspunkten P_i (i=1 bis NP) wird aus dem Modellmuster-Bezeichnungsbereich 60 extrahiert. Die Verfahren zur Extraktion der Merkmalspunkte P_i umfassen umfassend verschiedene Verfahren. In der vorliegenden Ausführungsform ist der Helligkeitsgradient ein großer Punkt im Bild, und als Merkmalspunkte P_i werden Kantenpunkte verwendet, die zur Erfassung der Konturform des Objekts verwendet werden können.
-
Die physikalische Größe des Kantenpunktes umfasst die Position, die Richtung des Helligkeitsgradienten, die Größe des Helligkeitsgradienten u.ä. des Kantenpunktes. Wenn die Richtung des Helligkeitsgradienten des Kantenpunktes als Lage des Merkmalspunktes definiert wird, ist es möglich, die Lage des Merkmalspunktes zusammen mit der Position zu definieren. Als physikalische Größe des Merkmalspunktes wird die physikalische Größe des Kantenpunktes, d.h. die Position des Kantenpunktes, die Lage (die Richtung des Helligkeitsgradienten), die Größe des Helligkeitsgradienten, gespeichert.
-
Das Modellmuster-Koordinatensystem 51 wird definiert, und die physikalische Größe wird durch einen Lagevektor v_Pi, einen Positionsvektor t_Pi o.ä. des Merkmalspunkts P_i dargestellt, basierend auf dem Modellmuster-Koordinatensystem 51 und dem Ursprung O. Der im Modellmuster-Koordinatensystem 51 gesetzte Ursprung O wird beispielsweise als Ursprung O der Schwerpunkte aller Merkmalspunkte P_i definiert, die das Modellmuster 50 bilden. Es ist zu beachten, dass es, wie bei dem Definitionsverfahren für den Ursprung O, möglich ist, ein geeignetes Verfahren anzuwenden, wie beispielsweise die Auswahl eines beliebigen Punktes aus den Merkmalspunkten P_i. Darüber hinaus ist auch das Verfahren mit dem Modellmuster-Koordinatensystem 51 ein Beispiel dafür, und die Position und Lage des Merkmalspunkts P_i kann mit einem anderen Verfahren dargestellt werden. Darüber hinaus kann die axiale Richtung (Lage) des Modellmuster-Koordinatensystems 51 so definiert werden, dass beispielsweise aus den Merkmalspunkten P_i, die das Modellmuster 50 bilden, zwei beliebige Punkte ausgewählt werden, und die Richtung von einem Punkt zum anderen Punkt ist die X-Achsen-Richtung, und die Richtung orthogonal zur X-Achsen-Richtung ist die Y-Achsen-Richtung. Es ist auch möglich, so zu definieren, dass das Bildkoordinatensystem und das Modellmuster-Koordinatensystem 51 in dem Bild, in dem das Modellmuster 50 erzeugt wird, parallel zueinander liegen. Auf diese Weise kann die Einstellung des Modellmuster-Koordinatensystems 51 und des Ursprungs O den Umständen entsprechend geändert werden. Es ist zu beachten, dass das Verfahren selbst zur Extraktion von Kantenpunkten als Merkmalspunkte ein bekanntes Verfahren ist und andere detaillierte Beschreibungen davon weggelassen werden.
-
Anschließend erzeugt das Bildverarbeitungssystem 1 das Modellmuster 50 auf Grundlage der physikalischen Größe des extrahierten Merkmalspunkts P_i (Schritt S14). Die physische Menge des extrahierten Merkmalspunkts P_i wird in der Speichereinheit 13 als Merkmalspunkt P_i gespeichert, der das Modellmuster 50 bildet. In der vorliegenden Ausführungsform ist das Modellmuster-Koordinatensystem 51 im Modellmuster-Bezeichnungsbereich 60 definiert, und die Position und Lage des Merkmalspunkts P_i werden aus dem durch das Bildkoordinatensystem 70 (siehe 5) dargestellten Wert mit dem durch das Modellmuster-Koordinatensystem 51 (siehe 6) dargestellten Wert gespeichert.
-
Unter Bezugnahme auf 3 wiederum erkennt die Bildverarbeitungseinheit 12 (erste Detektionseinheit) aus dem Eingangsbild 5 anhand eines Modellmusters, das ein Merkmal des Bildes des Objekts 2 darstellt, ein Bild des Objekts 2. Zunächst extrahiert die Bildverarbeitungseinheit 12 Merkmalspunkte aus dem Eingangsbild 5. Der Merkmalspunkt kann mit dem gleichen Verfahren extrahiert werden wie der Merkmalspunkt bei der Erstellung des Modellmusters. In der vorliegenden Ausführungsform werden Kantenpunkte aus dem Eingangsbild extrahiert und als Merkmalspunkte verwendet.
-
Als nächstes führt die Bildverarbeitungseinheit (erste Erkennungseinheit) 12 einen Abgleich zwischen den Merkmalspunkten, die aus dem Eingangsbild 5 extrahiert wurden, und den Merkmalspunkten durch, die das Modellmuster 50 bilden, um das Objekt 2 zu erkennen. Es gibt verschiedene Verfahren zur Erkennung eines Objekts; es können jedoch bekannte Verfahren wie eine verallgemeinerte Hough-Transformation, RANSAC und ICP-Algorithmus verwendet werden.
-
Die Speichereinheit 13 speichert ein Detektionsergebnis des Bildes des Objekts 2 durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 und Daten des Eingangsbildes 5, die dem Detektionsergebnis entsprechen.
-
Als nächstes wird eine Beschreibung der Lernvorrichtung (zweiter Detektor) 30 unter Bezugnahme auf 3 gegeben. Die Lernvorrichtung 30 führt Maschinenlernen durch, indem sie ein Eingangsbild, das zur Detektion durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 verwendet wird, als Eingangsdaten und ein Detektionsergebnis (beispielsweise Position, Lage, Größe) durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 als Trainingsdaten verwendet. Danach erkennt die Lernvorrichtung (zweiter Detektor) 30 unter Verwendung des durch dieses Maschinenlernen erstellten Lernmodells ein Bild des Objekts 2 aus dem Eingangsbild 5 einschließlich des Objekts 2 aus dem Sichtsensor 11.
-
Um ein solches Lernmodell aufzubauen, umfasst die Lernvorrichtung (zweiter Detektor) 30 eine Zustands-Beobachtungseinheit 31, eine Label-Erfassungseinheit 32, eine Lerneinheit 33, eine Speichereinheit 34 und eine Ausgabe-Darstellungseinheit (Ausgabe-Nutzungseinheit) 35.
-
Die Zustands-Beobachtungseinheit 31 erfasst die Eingangsdaten von der Bildverarbeitungsvorrichtung (erster Detektor) 10 und gibt die erfassten Eingangsdaten an die Lerneinheit 33 aus. Dabei handelt es sich, wie oben beschrieben, bei den Eingangsdaten um Daten, die für die Erkennung durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 verwendet werden, und um Daten des Eingangsbildes 5, das das Objekt 2 umfasst.
-
Die Label-Erfassungseinheit 32 erfasst ein Label von der Bildverarbeitungsvorrichtung (erster Detektor) 10 und gibt das erfasste Label an die Lerneinheit 33 aus. Das Label sind hier die oben genannten Trainingsdaten, d.h. das Detektionsergebnis (beispielsweise Position, Lage, Größe) durch die Bildverarbeitungsvorrichtung (erster Detektor) 10.
-
Die Lerneinheit 33 baut ein Lernmodell auf, indem sie auf Grundlage der Eingangsdaten und des Labels überwachtes Lernen durchführt. Als Lerneinheit 33 kann ein bekanntes Verfahren wie YOLO (You Only Look Once) oder SSD (Single Shot Multibox Detector) verwendet werden.
-
Zum Beispiel führt die Lerneinheit 33 überwachtes Lernen mit Hilfe eines neuronalen Netzes durch. In diesem Fall liefert die Lerneinheit 33 einen Satz der Eingangsdaten und das Label (Trainingsdaten) an ein neuronales Netz, das aus einer Kombination von Perzeptronen besteht. Danach führt die Lerneinheit 33 eine Vorwärtsfortpflanzung durch, um die Gewichtung für jedes Perzeptron, das das neuronale Netz umfasst, so zu ändern, dass die Ausgabe des neuronalen Netzes die gleiche ist wie das Label. In der vorliegenden Ausführungsform führt die Lerneinheit 33 beispielsweise eine Vorwärtsfortpflanzung durch, so dass das vom neuronalen Netz ausgegebene Detektionsergebnis (beispielsweise Position, Lage, Größe) des Objekts mit dem Detektionsergebnis (beispielsweise Position, Lage, Größe) des Objekts des Labels übereinstimmt.
-
Dann, nachdem die Vorwärtsausbreitung auf diese Weise durchgeführt wurde, passt die Lerneinheit 33 den Gewichtungswert so an, dass der Fehler der Ausgabe jedes Perceptrons durch ein Verfahren namens Rückwärtsausbreitung (auch Fehler-Rückwärtsausbreitungsverfahren) reduziert wird. Genauer gesagt berechnet die Lerneinheit 33 den Fehler zwischen dem Ausgang des neuronalen Netzes und dem Label und kompensiert den Gewichtungswert, um den berechneten Fehler zu reduzieren. Auf diese Weise lernt die Lerneinheit 33 die Merkmale der Trainingsdaten und erwirbt rekursiv ein Lernmodell zur Schätzung des Ergebnisses aus den Eingangsdaten.
-
Die Speichereinheit 34 speichert das von der Lerneinheit 33 erstellte Lernmodell. Es ist zu beachten, dass in einem Fall, in dem nach der Erstellung des Lernmodells neue Trainingsdaten erfasst werden, das in der Speichereinheit 34 gespeicherte Lernmodell weiterhin einem überwachten Lernen unterzogen wird, wodurch das einmal erstellte Lernmodell entsprechend aktualisiert wird.
-
Das in der Speichereinheit 34 gespeicherte Lernmodell kann mit anderen Lernvorrichtungen gemeinsam genutzt werden. Wenn das Lernmodell von mehreren Lernvorrichtungen gemeinsam genutzt wird, ist es möglich, überwachtes Lernen verteilt in jeder Lernvorrichtung durchzuführen; daher ist es möglich, die Effizienz des überwachten Lernens zu verbessern.
-
Unter Verwendung des so konstruierten Lernmodells detektiert die Lernvorrichtung (zweiter Detektor) 30 das Bild des Objekts 2 aus dem Eingangsbild 5 einschließlich des vom Sichtsensor 11 erfassten Objekts 2.
-
Die Ausgabe-Darstellungseinheit 35 gibt das Detektionsergebnis (beispielsweise Position, Lage, Größe) der Lernvorrichtung (zweiter Detektor) 30 aus, d.h. die Ausgabe der Lerneinheit 33. Die Ausgabe-Darstellungseinheit 35 präsentiert dem Benutzer den Inhalt der Ausgabe der Lerneinheit 33, indem sie beispielsweise den Inhalt auf dem Bildschirm anzeigt.
-
Die Bildverarbeitungsvorrichtung (erster Detektor) 10 und die Lernvorrichtung (zweiter Detektor) 30 bestehen aus arithmetischen Prozessoren wie beispielsweise DSP (Digital Signal Processor) und FPGA (Field-Programmable Gate Array). Verschiedene Funktionen der Bildverarbeitungsvorrichtung 10 und der Lernvorrichtung 30 werden beispielsweise durch Ausführen einer vorgegebenen Software (Programm, Anwendung) realisiert, die in der Speichereinheit gespeichert ist. Die verschiedenen Funktionen der Bildverarbeitungsvorrichtung 10 und der Lernvorrichtung 30 können durch Zusammenarbeit von Hardware und Software oder nur durch Hardware (elektronische Schaltungen) realisiert werden.
-
Die Speichereinheit 13 in der Bildverarbeitungsvorrichtung 10 und die Speichereinheit 34 in der Lernvorrichtung 30 sind wiederbeschreibbare Speicher wie beispielsweise ein EEPROM.
-
Nachfolgend wird ein Beispiel für das Lernen eines Lernmodells durch die Bildverarbeitungsvorrichtung 10 und die Lernvorrichtung 30 beschrieben. 7 ist ein Flussdiagramm, das ein Verfahren zum Lernen eines Lernmodells zeigt.
-
Zunächst nimmt die Bildverarbeitungsvorrichtung 10 ein Eingangsbild 5 auf, das das vom Sichtsensor 11 (S21) erfasste Objekt 2 umfassend umfasst.
-
Anschließend detektiert die Bildverarbeitungseinheit 12 der Bildverarbeitungsvorrichtung 10 ein Bild des Objekts 2 aus dem Eingangsbild 5 auf Grundlage des Modellmusters, das das Merkmal des Bildes des Objekts 2 darstellt (S22). Zunächst extrahiert die Bildverarbeitungseinheit 12 Merkmalspunkte aus dem Eingangsbild 5. Der Merkmalspunkt kann mit dem gleichen Verfahren extrahiert werden wie der Merkmalspunkt bei der Erstellung des Modellmusters. In der vorliegenden Ausführungsform werden Kantenpunkte aus dem Eingangsbild extrahiert, und die extrahierten Kantenpunkte werden als Merkmalspunkte verwendet. Als nächstes führt die Bildverarbeitungseinheit 12 einen Abgleich zwischen den aus dem Eingangsbild 5 extrahierten Merkmalspunkten und den Merkmalspunkten durch, die das Modellmuster 50 bilden, und detektiert das Objekt 2.
-
Das zur Detektion durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 verwendete Eingangsbild und das Detektionsergebnis (beispielsweise Position, Lage, Größe) durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 werden in der Speichereinheit 13 gespeichert (Schritt S23). Der Datensatz zwischen dem Eingangsbild und dem Detektionsergebnis kann automatisch oder zu einem vom Benutzer festgelegten Zeitpunkt aufgezeichnet werden.
-
Die Verarbeitung von Schritt S21 bis Schritt S23 wird mehrfach ausgeführt. Somit werden mehrere Datensätze zwischen dem Eingangsbild und dem Detektionsergebnis in der Speichereinheit 13 gespeichert.
-
Als nächstes lernt die Lernvorrichtung 30 das Lernmodell unter Verwendung des Eingangsbildes, das für die Detektion durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 als Eingangsdaten verwendet wird, und unter Verwendung des Detektionsergebnisses (beispielsweise Position, Lage, Größe) durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 als Trainingsdaten (Schritt S24).
-
Der so erlernte Lernmodus I wird in der Lerneinheit 34 gespeichert. Alternativ wird das in der Speichereinheit 34 gespeicherte Lernmodell in Schritt S25 aktualisiert.
-
Die Verarbeitung von Schritt S24 und Schritt S25 wird mehrfach ausgeführt. Dadurch wird die Genauigkeit des Lernmodells verbessert.
-
Nach dem Lernen wird in der Lernvorrichtung (zweiter Detektor) 30 ein Lernmodell gelernt, in dem ein Detektionsergebnis zurückgegeben wird, wenn das Bild gegeben wird. In einem Fall, in dem das Lernmodell auf diese Weise gelernt wird, werden sowohl die Detektion (erste Detektion) durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 auf Grundlage des Modellmusters als auch die Detektion (zweite Detektion) durch die Lernvorrichtung (zweiter Detektor) 30 auf Grundlage des Lernmodells ausgeführt.
-
Zu diesem Zeitpunkt kann das Bildverarbeitungssystem 1 das Detektionsergebnis durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 mit dem Detektionsergebnis durch die Lernvorrichtung (zweiter Detektor) 30 vergleichen, und das Bildverarbeitungssystem 1 kann ein Detektionsergebnis auswählen, das in Bezug auf die Detektionsergebnisse einen höheren Bewertungswert (Score) hat. Zum Beispiel umfassen Beispiele für den Bewertungswert des Detektionsergebnisses durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 unter Verwendung des Modellmusters ein Verhältnis der Anzahl der Punkte der übereinstimmenden Modellpunkte. Andererseits umfassen Beispiele für den Beurteilungswert des Detektionsergebnisses durch die Lernvorrichtung (zweiter Detektor) 30 unter Verwendung des Lernmodells einen Vertrauensgrad, den die Lernvorrichtung ausgibt.
-
Alternativ kann der Auswertewert des Detektionsergebnisses durch die Lernvorrichtung (zweiter Detektor) 30 durch das gleiche Verfahren wie der Auswertewertungswert des Detektionsergebnisses durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 ermittelt werden. Beispielsweise kann die Lernvorrichtung (zweiter Detektor) 30 eine Bewertung des vom Lernmodell ausgegebenen Detektionsergebnisses durchführen, indem sie dieselbe Methode für das Detektionsergebnis durch die Bildverarbeitungsvorrichtung (erster Detektor) verwendet 10. So kann beispielsweise das Verhältnis der Anzahl der Punkte der übereinstimmenden Modellpunkte auf das vom Lernmodell ausgegebene Detektionsergebnis angewendet werden. Auf diese Weise ist es möglich, das Detektionsergebnis der Bildverarbeitungsvorrichtung (erster Detektor) 10 mit dem Detektionsergebnis der Lernvorrichtung (zweiter Detektor) 30 auf der gleichen Skala zu vergleichen.
-
Alternativ kann das Bildverarbeitungssystem 1 einen statistischen Wert in einer vorbestimmten Periode des Detektionsergebnisses durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 mit einem statistischen Wert in einer vorbestimmten Periode des Detektionsergebnisses durch die Lernvorrichtung (zweiter Detektor) 30 vergleichen und Umschaltungen durchführen, um die Detektion unter Verwendung eines Detektors mit einem höheren, aus den statistischen Werten berechneten Auswertungswert durchzuführen. Die Umschaltung kann automatisch erfolgen, oder sie kann dem Benutzer präsentiert und zu einem vom Benutzer erlaubten Zeitpunkt durchgeführt werden.
-
Wie oben beschrieben, detektiert die Bildverarbeitungsvorrichtung (erster Detektor) 10 gemäß dem Bildverarbeitungssystem 1 der vorliegenden Ausführungsform ein Bild des Objekts 2 aus dem Eingangsbild 5 auf Grundlage des Modellmusters 50, das das Merkmal des Bildes des Objekts 2 darstellt. Die Lernvorrichtung 30 lernt das Lernmodell auf Grundlage des Detektionsergebnisses durch die Bildverarbeitungsvorrichtung 10 und deren Eingangsbild. Die Lernvorrichtung (zweiter Detektor) 30 detektiert ein Bild des Objekts 2 aus dem Eingangsbild 5 auf Grundlage des Lernmodells. Mit einer solchen Konfiguration können die Trainingsdaten, auch wenn gelernt wird, automatisch von der Bildverarbeitungsvorrichtung (erster Detektor) 10 erzeugt werden. Daher ist es für den Benutzer nicht notwendig, eine große Menge an Trainingsdaten zu erfassen. Darüber hinaus ist es möglich, die Funktionsfähigkeit der Einstellung der Lernvorrichtung (zweiter Detektor) zu verbessern 30. Darüber hinaus ist es schwierig, die Position und Lage korrekt anzugeben, wenn der Benutzer das Label manuell vornimmt. Gemäß der gegenwärtigen Ausführungsform ist es jedoch nicht notwendig, dass der Benutzer die Beschriftung manuell vornimmt. Zudem ist es möglich, die Detektionsgenauigkeit der Lernvorrichtung (zweiter Detektor) zu verbessern 30. Darüber hinaus ist es möglich, die Robustheit der Lernvorrichtung (zweiter Detektor) 30 durch Lernen zu verbessern.
-
Darüber hinaus ist es gemäß dem Bildverarbeitungssystem 1 der vorliegenden Ausführungsform möglich, die Linienoperation durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 vor dem Lernen des Lernmodells zu starten. Danach, nachdem die Trainingsdaten während der Linienoperation ausreichend gesammelt wurden, ist es möglich, basierend auf dem Lernmodell auf die Lernvorrichtung (zweiter Detektor) 30 umzuschalten.
-
Es ist zu beachten, dass selbst wenn das Lernen unter Verwendung der von der Bildverarbeitungsvorrichtung (erster Detektor) 10 detektierten Lerndaten durchgeführt wird, das von der Lernvorrichtung (zweiter Detektor) 30 zu erfassende Merkmal, um die Lerndaten zu detektieren, sich von dem von der Bildverarbeitungsvorrichtung (erster Detektor) 10 verwendeten Merkmal unterscheiden wird. Daher ist es möglich, ein Lernmodell zu erhalten, das bessere Merkmale zum Auffinden der Lerndaten verwendet.
-
Obwohl Ausführungsformen der vorliegenden Ausführungsform oben beschrieben wurden, ist die vorliegende Erfindung nicht auf die oben beschriebenen Ausführungsformen beschränkt, und es sind verschiedene Modifikationen und Variationen möglich.
-
Zum Beispiel wurde in der oben beschriebenen Ausführungsform ein Beispiel beschrieben, in dem Kantenpunkte als Merkmalspunkte verwendet werden, die das Modellmuster 50 bilden; die vorliegende Ausführungsform ist jedoch nicht auf diese Konfiguration beschränkt. Als nächstes wird ein Fall beschrieben, in dem eine andere als die oben beschriebene Ausführungsform als Verfahren zur Erzeugung des Modellmusters 50 verwendet wird.
-
Zuerst wird ein Verfahren beschrieben, mit dem ein Merkmalspunkt durch ein anderes Verfahren als einen Kantenpunkt extrahiert werden kann. Der Merkmalspunkt kann mit verschiedenen anderen Verfahren als dem Kantenpunkt detektiert werden. Zum Beispiel kann ein Merkmalspunkt wie SIFT (Scale-Invariant Feature Transform) verwendet werden. Es ist zu beachten, dass es sich bei den Verfahren zur Extraktion von SIFT-Merkmalspunkten aus Bildern um bekannte Verfahren handelt, deren ausführliche Beschreibung weggelassen wird.
-
Um der Kontur des im Bild aufgenommenen Objekts 2 zu entsprechen, kann das Modellmuster 50 außerdem durch Anordnen einer geometrischen Figur wie Liniensegmenten, einem Rechteck und einem Kreis erstellt werden. In diesem Fall reicht es aus, wenn die Merkmalspunkte in geeigneten Abständen auf der geometrischen Figur, die die Konturlinie für die Erstellung des Modellmusters 50 bildet, vorhanden sind. Als Modellmuster kann auch ein aus jedem Pixel zusammengesetztes Bild verwendet werden.
-
Darüber hinaus ist das Modellmuster 50 nicht auf ein aus Merkmalspunkten zusammengesetztes Modell beschränkt. Beispielsweise kann ein Modellmuster unter Verwendung einer Bedingung erstellt werden, bei der es gleich oder mehr als ein paar Pixel von Bereichen gibt, die gleich oder mehr als ein bestimmter Leuchtdichtewert haben.
-
In der obigen Ausführungsform ist das vom Sichtsensor (Kamera) 11 detektierte Bild das Eingangsbild 5; in der vorliegenden Ausführungsform kann das Bild jedoch ein Bild sein, das mit anderen Mitteln erfasst wurde. Zum Beispiel können CAD-Daten als Eingangsbild 5 verwendet werden. Im Falle von zweidimensionalen CAD-Daten kann ein Modellmuster auf die gleiche Weise wie bei einem Verfahren unter Verwendung der oben beschriebenen geometrischen Figuren erstellt werden. Bei dreidimensionalen CAD-Daten genügt es ferner, wenn die durch CAD-Daten dargestellte Form des Objekts 2 auf das Bild projiziert wird, um Merkmalspunkte aus dem projizierten Bild zu extrahieren.
-
Die Erstellung des Modellmusters 50 unter Verwendung der CAD-Daten wird wie folgt durchgeführt.
- (1) Definition eines lokalen Bildkoordinatensystems, in dem der Ursprung O auf einem vom Sichtsensor (Kamera) aufgenommenen Bild (Bildebene) liegt 11.
- (2) Der Sichtsensor (Kamera) 11 wird im Voraus kalibriert. Dadurch kann der durch das lokale Koordinatensystem dargestellte dreidimensionale Punkt in einen zweidimensionalen Punkt auf dem erfassten Bild umgewandelt werden.
- (3) Das als CAD-Daten dargestellte Objekt 2 ist virtuell im lokalen Koordinatensystem angeordnet. Infolgedessen werden die angeordneten CAD-Daten durch das lokale Koordinatensystem dargestellt. Die relative Beziehung zwischen dem Sichtsensor (Kamera) 11 und dem Objekt 2 wird so eingestellt, dass sie im Wesentlichen die gleiche ist wie die relative Beziehung beim tatsächlichen Detektieren des Objekts.
- (4) Erhalten einer dreidimensionalen Punktgruppe auf einer Konturlinie in vorbestimmten Abständen von der Konturlinie. Falls erforderlich, wird aus den CAD-Daten eine Konturlinie bestimmt, die als Modellmuster verwendet werden soll.
- (5) Eine dreidimensionale Punktgruppe wird auf ein durch den Sichtsensor (Kamera) 11 erfasstes Bild projiziert, um eine zweidimensionale Punktgruppe auf dem Bildkoordinatensystem zu erhalten. Wenn die Richtung der Helligkeit auf den CAD-Daten bezeichnet wird, kann auch die Richtung des Helligkeitsgradienten hinzugefügt werden. Hier gibt die Richtung der Helligkeit an, welcher der beiden Bereiche mit der Konturlinie als Begrenzung heller ist.
- (6) Die erhaltene zweidimensionale Punktgruppe auf dem Bildkoordinatensystem wird so konvertiert, dass sie durch das Modellkoordinatensystem dargestellt wird, und in der Speichereinheit 13 als Merkmalspunkt gespeichert.
-
Wie oben beschrieben, kann das Eingangsbild 5 aus Bildinformationen bestehen, die auf der Basis von CAD-Daten erzeugt wurden. Wie oben beschrieben, können für das Eingangsbild 5 verschiedene Verfahren verwendet werden. Zum Beispiel kann ein Abstandsbild oder dreidimensionale Punktgruppendaten als Eingangsbild 5 verwendet werden.
-
Darüber hinaus wurde in der oben beschriebenen Ausführungsform das Bildverarbeitungssystem 1, bestehend aus der Bildverarbeitungsvorrichtung 10 und der Lernvorrichtung 30, an die ein einzelner Sichtsensor 11 angeschlossen ist, als Beispiel beschrieben. Die vorliegende Erfindung ist jedoch nicht auf diese Konfiguration beschränkt. Als nächstes wird ein Bildverarbeitungssystem mit einer von der oben beschriebenen Ausführungsform abweichenden Konfiguration beschrieben. Es ist zu beachten, dass in den folgenden Beispielen dieselben Bezugszeichen denselben Konfigurationen zugeordnet sind wie in der obigen Ausführungsform, und eine detaillierte Beschreibung dieser Konfigurationen unterbleibt.
-
8 zeigt schematisch ein Beispiel für ein Bildverarbeitungssystem 201, an das eine Vielzahl von Sichtsensoren 11 gemäß der vorliegenden Ausführungsform angeschlossen sind. In 8 sind N Stück der Sichtsensoren 11 als Bildaufnahmevorrichtungen (Eingangsbild-Erfassungseinrichtung) über einen Netzwerkbus 110 mit einer Zellensteuerung 100 verbunden. Die Zellensteuerung 100 hat die gleiche Funktion wie die oben beschriebene Bildverarbeitungsvorrichtung 10 und die Lernvorrichtung 30 und erfasst das Eingangsbild 5 der N Stücke der Objekte 2, die von den N Stücken der Sichtsensoren 11 erfasst werden.
-
So detektiert in der Zellensteuerung 100 des in 8 dargestellten Bildverarbeitungssystems 201 die Bildverarbeitungsvorrichtung (erster Detektor) 10 das Bild der N Teile der Objekte 2 aus den N Teilen der Eingangsbilder 5, in denen die N Teile der Objekte 2 auf Grundlage der N Teile der Modellmuster erfasst werden, die die Merkmale der Bilder der N Teile der Objekte 2 darstellen. Darüber hinaus führt die Lernvorrichtung (zweiter Detektor) 30 das Lernen des Lernmodells auf Grundlage der N Stücke der Eingangsbilder durch, die für die Detektion durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 und die N Stücke der Detektionsergebnisse durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 verwendet werden. In diesem Beispiel kann der Lernprozess sequentiell online verarbeitet werden.
-
Gemäß dieser ist es möglich, eine universelle Lernvorrichtung zu erlernen, indem man mit Lerndaten verschiedener Objekte lernt 2.
-
9 ist eine schematische Darstellung eines Beispiels für ein Bildverarbeitungssystem 301, an das eine Vielzahl von Bildverarbeitungsvorrichtungen 10 gemäß der vorliegenden Ausführungsform angeschlossen sind. In 9 sind m-Anzahl der Bildverarbeitungsvorrichtungen 10 als Bildaufnahmevorrichtungen (Eingangsbilderfassungsvorrichtungen) über einen Netzwerkbus 110 mit einer Zellensteuerung 100 verbunden. An jede der Bildverarbeitungsvorrichtungen 10 sind ein oder mehrere Sichtsensoren 11 angeschlossen. Das gesamte Bildverarbeitungssystem 301 umfasst insgesamt eine n-Anzahl von Sichtsensoren 11.
-
Wie oben beschrieben, detektiert in der Zellensteuerung 100 des in 9 dargestellten Bildverarbeitungssystems 201 jede der mehreren Bildverarbeitungsvorrichtungen (erste Detektoren) 10 ein Bild des Objekts 2 aus dem Eingangsbild 5, in dem das Objekt 2 erfasst wird, auf Grundlage des Modellmusters, das das Merkmal des Bildes des Objekts 2 darstellt. Danach führt die Lernvorrichtung (zweiter Detektor) 30 das Lernen des Lernmodells auf Grundlage der N-Anzahl der Eingangsbilder 5, die für die Detektion durch die Vielzahl von Bildverarbeitungsvorrichtungen (erste Detektoren) 10 verwendet werden, und der N-Anzahl der Detektionsergebnisse durch die Bildverarbeitungsvorrichtung (erster Detektor) 10 durch. In diesem Beispiel kann der Lernprozess sequentiell online verarbeitet werden.
-
Entsprechend ist es möglich, eine universelle Lernvorrichtung zu erlernen, indem man mit Lerndaten verschiedener Objekte 2 lernt.
-
Bezugszeichenliste
-
- 1, 201, 301
- Bildverarbeitungssystem
- 2
- Objekt
- 4
- Arbeitstisch
- 5
- Eingangsbild
- 10
- Bildverarbeitungsvorrichtung (erster Detektor)
- 11
- Sichtsensor
- 12
- Bildverarbeitungseinheit
- 13
- Speichereinheit
- 20
- Roboter
- 21
- Roboterhand
- 25
- Robotersteuerung
- 30
- Lernvorrichtung (zweiter Detektor)
- 50
- Modellmuster
- 51
- Modellmuster-Koordinatensystem
- 60
- Modellmuster-Bezeichnungsbereich
- 70
- Bildkoordinatensystem
- 100
- Zellensteuerung
- 110
- Netzwerkbus
-
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 201791079 [0003]
- JP 2018200531 [0003]