-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Identifikationscode-Lesevorrichtung und eine maschinelle Lernvorrichtung.
-
Beschreibung des Stands der Technik
-
Beispiele eines Verfahrens zum Zuweisen eines Identifikationscodes wie eines eindimensionalen Strichcodes, eines QR-Codes (eingetragene Marke) oder einer Datenmatrix zu einer Oberfläche eines Produkts umfassen ein Schema zum Befestigen eines mit einem Identifikationscode bedruckten Aufklebers auf der Oberfläche des Produkts und ein direktes Markierungsschema, in dem ein Identifikationscode direkt auf der Oberfläche des Produkts mit einem Drucker, einem Lasermarkierer, einem Bohrer usw. eingraviert wird.
-
Im Allgemeinen wird der der Oberfläche des Produkts zugewiesene Identifikationscode mit einem Sichtsensor usw. gelesen. 6 zeigt ein Diagramm zur Darstellung eines Beispiels eines Roboters, der einen Identifikationscode zur Oberfläche des Produkts zuweisen und den der Oberfläche des Produkts zugewiesenen Identifikationscode lesen kann.
-
Wenn ein Identifikationscode einem Produkt 50 zugewiesen wird, weist ein Robotersteuergerät 2 einen Roboter 5 an, eine Identifikationscode-Zuweisungsvorrichtung 3 zu einer vorgegebenen Position des Produkts 50 zu bewegen, und weist die Identifikationscode-Zuweisungsvorrichtung 3 an, den Identifikationscode der vorgegebenen Position des Produkts 50 zuzuweisen. Anschließend erfasst die Identifikationscode-Zuweisungsvorrichtung 3 eine Form des Identifikationscodes von der Identifikationscode-Erzeugungsvorrichtung 6 und die Identifikationscode-Zuweisungsvorrichtung 3 weist den Identifikationscode einer Oberfläche des Produkts 50 zu. Zusätzlich weist, wenn der dem Produkt 50 zugewiesene Identifikationscode gelesen wird, das Robotersteuergerät 2 den Roboter 5 an, den Sichtsensor 4 zur vorgegebenen Position des Produkts 50 zu bewegen, und weist eine Identifikationscode-Lesevorrichtung 1 an, den dem Produkt 50 zugewiesenen Identifikationscode zu lesen. Anschließend liest die Identifikationscode-Lesevorrichtung 1 den der Oberfläche des Produkts 50 zugewiesenen Identifikationscode über den Sichtsensor 4. In 6 bezeichnet das Bezugszeichen 51 einen Werkstücktisch, auf dem das Produkt 50 platziert ist.
-
Beim Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes kann aber das Lesen des Identifikationscodes aufgrund verschiedener Faktoren wie einem Fall, in dem eine Stelle, welcher der Identifikationscode des Produkts zugewiesen ist, nicht flach ist, und einem Fall, in dem ein Winkel, in dem Licht auf eine mit dem Identifikationscode zugewiesene Position trifft oder eine Betrachtungsposition ungünstig ist, fehlschlagen. Ein Beispiel einer herkömmlichen Technologie zum Lösen solch eines Problems ist in der japanischen offengelegten Patentanmeldung Nr.
2017-059266 offenbart.
-
Beispiele eines Falls, in dem das Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes fehlschlägt, umfasst die folgenden Fälle, in denen:
- der Kontrast zwischen einer schwarzen Zelle (schwarzer Strich) und einer weißen Zelle (weißer Strich) niedrig ist;
- eine schwarze Zelle (schwarzer Strich) und eine weiße Zelle (weißer Strich) umgekehrt und erfasst sind;
- die Form des Identifikationscodes aufgrund einer Oberflächenform des Produkts usw. verzerrt und erfasst ist;
- der Identifikationscode mit Zähnen, Bohrlöchern usw. ausgebildet ist und nicht streng einen Standard des Identifikationscodes erfüllt; und
- eine Farbe usw. eines Teils des Identifikationscodes aufgrund einer auf der Oberfläche haftenden Schneidflüssigkeit usw. anders erfasst wird.
-
In den zuvor beschriebenen Fällen, in denen das Lesen des Identifikationscodes fehlschlägt, variiert beim der gleichen Produktoberfläche zugewiesenen Identifikationscode ein Reflexionsgrad eines vom Sichtsensor usw. erfassten Bildes je nach Situation. Die zuvor beschriebene herkömmliche Technologie kommt aber gegebenenfalls nicht mit verschiedenen Situationen wie zuvor beschrieben zurecht, während sie mit einer spezifischen Situation zurechtkommt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Diesbezüglich besteht eine Aufgabe der vorliegenden Erfindung zum Bereitstellen einer Identifikationscode-Lesevorrichtung und einer maschinellen Lernvorrichtung, die ordnungsgemäß einen Identifikationscode lesen können, der ungeeignet zum Lesen ist.
-
In der vorliegenden Erfindung wird das zuvor beschriebene Problem durch das Wiederherstellen eines leicht lesbaren Bildes von einem Bild eines zum Lesen ungeeigneten Identifikationscodes durch maschinelles Lernen gelöst. Ein in der vorliegenden Erfindung verwendetes Wiederherstellungsverfahren wird durch die folgenden Verfahren durchgeführt.
-
Verfahren 1: Ermitteln einer als ein Identifikationscode zu verwendenden Zeichenfolge.
-
Verfahren 2: Erzeugen eines idealen Identifikationscodes aus der Zeichenfolge und Verwenden des erzeugten Identifikationscodes als Lehrerdaten.
-
Verfahren 3: Zuweisen des Identifikationscodes zu einer Oberfläche, von welcher der Identifikationscode aktuell gelesen wird.
-
Verfahren 4: Festlegen von Bildern als Eingabedaten durch Erfassen des zugewiesenen Identifikationscodes in verschiedenen Situationen.
-
Verfahren 5: Sammeln einer großen Zahl von Paaren der Eingabedaten und der Lehrerdaten als Lerndaten.
-
Verfahren 6: Durchführen des Lernens einer Lernvorrichtung mit den Lerndaten.
-
Wenn ein Bild des Identifikationscodes an der maschinellen Lernvorrichtung beim Fortschreiten des Lernens durch die zuvor beschriebenen Verfahren eingegeben wird, wird ein Bild des idealen Identifikationscodes ausgegeben. Dann kann der Identifikationscode einfach durch Decodieren des Bildes des idealen Identifikationscodes gelesen werden. Ferner können ähnliche Vorgänge an Produkten in verschiedenen Materialien und Formen zum Erfassen von Lerndaten durchgeführt werden, wodurch ein Lernen erfolgt. Auf diese Weise können Produkten in verschiedenen Materialien und Formen zusätzlich zu einem einzelnen Material und einer einzelnen Form zugewiesene Identifikationscodes wiederhergestellt werden.
-
Eine Identifikationscode-Lesevorrichtung gemäß einem Aspekt der vorliegenden Erfindung liest einen einer Oberfläche eines Produkts zugewiesenen Identifikationscode mit einem Sichtsensor und umfasst eine maschinelle Lernvorrichtung, die eine Schätzung eines idealen Bildes eines Identifikationscodes in Bezug auf ein Bild des vom Sichtsensor gelesenen Identifikationscodes lernt. Ferner umfasst die maschinelle Lernvorrichtung eine Zustandsbeobachtungseinheit zum Beobachten von gelesenen Bilddaten in Bezug auf ein Bild des vom Sichtsensor gelesenen Identifikationscodes als eine einen aktuellen Zustand einer Umgebung darstellende Zustandsvariable, eine Aufkleberdaten-Erfassungseinheit zum Erfassen von idealen Bilddaten in Bezug auf ein ideales Bild des Identifikationscodes als Aufkleberdaten und eine Lerneinheit zum Lernen der gelesenen Bilddaten und der idealen Bilddaten in Verbindung miteinander unter Verwendung der Zustandsvariable und der Aufkleberdaten.
-
Die Identifikationscode-Lesevorrichtung kann eine Bildausgabeeinheit umfassen, die ein ideales Bild des Identifikationscodes von den gelesenen Bilddaten unter Verwendung eines Lernergebnisses der Lerneinheit schätzt und ausgibt. Ferner kann die Bildausgabeeinheit ein ideales Bild des Identifikationscodes auf der Basis einer Mehrzahl von idealen Bildern des von jedem einer Mehrzahl von gelesenen Bilddaten geschätzten Identifikationscodes schätzen und ausgeben.
-
Die Zustandsbeobachtungseinheit kann ferner Zuweisungszustandsdaten in Bezug auf ein Material des Produkts, ein Verfahren der Oberflächenbehandlung oder ein Verfahren des Zuweisens eines Identifikationscodes als eine einen aktuellen Zustand einer Umgebung darstellende Zustandsvariable beobachten.
-
Die gelesenen Bilddaten können durch Steuern eines Roboters erfasst werden, in dem der Sichtsensor an einem distalen Armendabschnitt befestigt ist oder das Produkt vom distalen Armendabschnitt zum Lesen des Identifikationscodes ergriffen wird.
-
Eine maschinelle Lernvorrichtung gemäß einem weiteren Aspekt der vorliegenden Erfindung lernt eine Schätzung eines idealen Bildes eines Identifikationscodes in Bezug auf ein Bild des von einem Sichtsensor gelesenen Identifikationscodes und umfasst eine Zustandsbeobachtungseinheit zum Beobachten von gelesenen Bilddaten in Bezug auf ein Bild eines vom Sichtsensor gelesenen Identifikationscodes als eine einen aktuellen Zustand einer Umgebung darstellende Zustandsvariable, eine Aufkleberdaten-Erfassungseinheit zum Erfassen von idealen Bilddaten in Bezug auf ein ideales Bild des Identifikationscodes als Aufkleberdaten und eine Lerneinheit zum Lernen der gelesenen Bilddaten und der idealen Bilddaten in Verbindung miteinander unter Verwendung der Zustandsvariable und der Aufkleberdaten.
-
Gemäß der vorliegenden Erfindung kann, da ein zum Lesen ungeeigneter Identifikationscode zu einem idealen Identifikationscode wiederhergestellt werden kann, ein Identifikationscode ordnungsgemäß gelesen werden, der je nach Situation nicht gelesen werden kann.
-
Figurenliste
-
- 1 zeigt ein schematisches Hardwarekonfigurationsdiagramm einer Identifikationscode-Lesevorrichtung gemäß einer Ausführungsform.
- 2 zeigt ein schematisches Funktionsblockdiagramm der Identifikationscode-Lesevorrichtung gemäß der Ausführungsform.
- 3 zeigt ein schematisches Funktionsblockdiagramm einer Identifikationscode-Lesevorrichtung gemäß einer weiteren Ausführungsform.
- 4A zeigt ein Diagramm zur Beschreibung eines Neurons.
- 4B zeigt ein Diagramm zur Beschreibung eines neuronalen Netzes.
- 5 zeigt ein schematisches Funktionsblockdiagramm zur Darstellung eines Modus eines Systems umfassend die Identifikationscode-Lesevorrichtung.
- 6 zeigt ein schematisches Konfigurationsdiagramm zur Darstellung eines Beispiels einer Identifikationscode-Lesevorrichtung gemäß einer herkömmlichen Technologie.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 zeigt ein schematisches Hardwarekonfigurationsdiagramm zur Darstellung eines Hauptteils einer Identifikationscode-Lesevorrichtung gemäß einer ersten Ausführungsform.
-
Beispielsweise kann die Identifikationscode-Lesevorrichtung 1 als ein Computer ausgeführt sein, etwa als ein mit einem Robotersteuergerät verbundener Personalcomputer, der einen Roboter über eine Schnittstelle oder ein verdrahtetes/drahtloses Netzwerk steuert. Alternativ kann die Identifikationscode-Lesevorrichtung 1 beispielsweise als ein Servercomputer ausgeführt sein, etwa als ein mit dem Robotersteuergerät verbundener Zellenrechner, Hostcomputer oder Cloudcomputer, der einen Roboter über eine Schnittstelle oder ein verdrahtetes/drahtloses Netzwerk steuert.
-
Eine in der Identifikationscode-Lesevorrichtung 1 gemäß der vorliegenden Ausführungsform enthaltene Central Processing Unit (CPU) 11 ist ein Prozessor, der die Identifikationscode-Lesevorrichtung 1 insgesamt steuert. Die CPU 11 liest ein in einem Read Only Memory (ROM) 12 gespeichertes Systemprogramm über einen Bus 20 und steuert die gesamte Identifikationscode-Lesevorrichtung 1 entsprechend dem Systemprogramm. Temporäre Berechnungsdaten oder Anzeigedaten, verschiedene von einem Bediener über eine Eingabeeinheit (nicht dargestellt) eingegebene Daten usw. werden vorübergehend in einem Random Access Memory (RAM) 13 gespeichert.
-
Beispielsweise ist ein nichtflüchtiger Speicher 14 als ein Speicher ausgebildet, der in einem Speicherzustand gehalten wird, selbst wenn eine Stromversorgung der Identifikationscode-Lesevorrichtung 1 ausgeschaltet wird, indem eine Reserveversorgung durch eine Batterie (nicht dargestellt) erfolgt. Verschiedene vom Bediener über eine Eingabevorrichtung (nicht dargestellt) eingegebene Daten usw. werden im nichtflüchtigen Speicher 14 gespeichert. Die im nichtflüchtigen Speicher 14 gespeicherten verschiedenen Daten können zum Zeitpunkt der Verwendung in das RAM 13 geladen werden. Zusätzlich werden verschiedene für einen Betrieb der Identifikationscode-Lesevorrichtung 1 erforderliche Systemprogramme (umfassend ein Systemprogramm zum Steuern des Austauschs mit einer maschinellen Lernvorrichtung 100 wie nachfolgend beschrieben) vorab in das ROM 12 geschrieben.
-
Als Reaktion auf eine Anweisung von einem Robotersteuergerät 2 zum Steuern eines Roboters 5 über eine Schnittstelle 18 liest die Identifikationscode-Lesevorrichtung 1 den Identifikationscode durch Erfassen eines Bildes des Identifikationscodes von einem Sichtsensor 4 über eine Schnittstelle 19.
-
Eine Schnittstelle 21 ist eine Schnittstelle zum Verbinden der Identifikationscode-Lesevorrichtung 1 und der maschinellen Lernvorrichtung 100 miteinander. Die maschinelle Lernvorrichtung 100 umfasst einen Prozessor 101, der die gesamte maschinelle Lernvorrichtung 100 steuert, ein ROM 102, das ein Systemprogramm usw. speichert, ein RAM 103, das ein vorübergehendes Speichern in jedem Prozess in Bezug auf maschinelles Lernen durchführt, und einen zum Speichern eines Lernmodells usw. verwendeten nichtflüchtigen Speicher 104. Die maschinelle Lernvorrichtung 100 kann das Bild des von der Identifikationscode-Lesevorrichtung 1 gelesenen Identifikationscodes usw. über die Schnittstelle 21 beobachten. Ferner führt die Identifikationscode-Lesevorrichtung 1 eine Decodierungsverarbeitung zum Analysieren eines Bildes eines von der maschinellen Lernvorrichtung 100 ausgegebenen idealen Identifikationscodes durch.
-
2 zeigt ein schematisches Funktionsblockdiagramm der Identifikationscode-Lesevorrichtung 1 und der maschinellen Lernvorrichtung 100 gemäß der ersten Ausführungsform.
-
Jeder in 2 dargestellte Funktionsblock wird ausgeführt, wenn die in der Identifikationscode-Lesevorrichtung 1 enthaltene CPU 11 und der Prozessor 101 der in 1 dargestellten maschinellen Lernvorrichtung 100 jedes Systemprogramm ausführt und einen Betrieb von jeder Einheit der Identifikationscode-Lesevorrichtung 1 und der maschinellen Lernvorrichtung 100 steuert. Die Identifikationscode-Lesevorrichtung 1 gemäß der vorliegenden Ausführungsform umfasst eine Decodiereinheit 30 und eine Ausgabeeinheit 40.
-
Die Decodiereinheit 30 decodiert eine originale Zeichenfolge des Identifikationscodes durch Ausführen einer Decodierungsverarbeitung entsprechend einem Typ des Identifikationscodes auf dem Bild des von der maschinellen Lernvorrichtung 100 ausgegebenen idealen Identifikationscodes. Die allgemeine Identifikationscode-Decodierungsverarbeitung kann als von der Decodiereinheit 30 unverändert ausgeführte Decodierungsverarbeitung verwendet werden.
-
Die Ausgabeeinheit 40 gibt die von der Decodiereinheit 30 decodierte Zeichenfolge an eine externe Vorrichtung wie eine Anzeigevorrichtung aus.
-
Gleichzeitig lernt die in der Identifikationscode-Lesevorrichtung 1 enthaltene maschinelle Lernvorrichtung 100 eine Modellstruktur zum Darstellen einer Beziehung zwischen dem Bild des vom Sichtsensor 4 beobachteten Identifikationscodes und dem Bild des idealen Identifikationscodes. Wie durch den Funktionsblock in 2 dargestellt umfasst die in der Identifikationscode-Lesevorrichtung 1 enthaltene maschinelle Lernvorrichtung 100 eine Zustandsbeobachtungseinheit 106, die von vom Sichtsensor 4 beobachteten Identifikationscode als eine Zustandsvariable S umfassend gelesene Bilddaten S1 in Bezug auf das Bild von diesen beobachtet, eine Aufkleberdaten-Erfassungseinheit 108, die Aufkleberdaten L umfassend ideale Bilddaten L1 in Bezug auf das ideale Bild des Identifikationscodes erfasst, eine Lerneinheit 110, die eine Korrelation zwischen dem Bild des gelesenen Identifikationscodes und dem Bild des idealen Identifikationscodes unter Verwendung der Zustandsvariable S und der Aufkleberdaten L lernt und eine Bildausgabeeinheit 122, die ein Bild eines von einem Bild eines Identifikationscodes, der mit einem gelernten Modell durch die Lerneinheit 110 gelesen wird, geschätzten idealen Identifikationscodes ausgibt.
-
Als gelesene Bilddaten S1 von von der Zustandsbeobachtungseinheit 106 beobachteten Zustandsvariablen S können durch Steuern des Roboters 5 zum Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes mit dem Sichtsensor 4 ermittelte Bildinformationen verwendet werden oder es können Bildinformationen verwendet werden, die ermittelt werden, wenn der der Oberfläche des Produkts zugewiesene Identifikationscode von einem anderen Bildgebungsmittel aufgenommen und von der Identifikationscode-Lesevorrichtung 1 über eine Schnittstelle (nicht dargestellt) erfasst wird. Die gelesenen Bilddaten S1 können normalisiert werden, so dass die Zahl von Datenelementen (Zahl von Pixeln) als Eingabedaten der Lerneinheit 110 geeignet ist.
-
Zum Zeitpunkt des Lernens durch die Lerneinheit 110 erfasst die Aufkleberdaten-Erfassungseinheit 108 die idealen Bilddaten L1 in Bezug auf das ideale Bild des Identifikationscodes als Aufkleberdaten L. Beispielsweise kann das Bild des von der Identifikationscode-Erzeugungsvorrichtung 6 erzeugten Bildes als ideale Bilddaten L1 verwendet werden. Alternativ können beispielsweise die idealen Bilddaten L1 als ein ideales Bild von einer Zeichenfolge usw. entsprechend einer Quelle des Identifikationscodes erzeugt werden. Alternativ kann als ideale Bilddaten L1 ein durch Erfassen des der Oberfläche des Produkts zugewiesenen Identifikationscodes durch den am Roboter 5 montierten Sichtsensor 4 in einer idealen Positionsbeziehung und einem idealen Beleuchtungszustand ermitteltes Bild verwendet werden. Die idealen Bilddaten L1 können normalisiert werden, so dass die Zahl von Datenelementen (Zahl von Pixeln) als Ausgabedaten der Lerneinheit 110 geeignet ist. Die Aufkleberdaten-Erfassungseinheit 108 wird zum Zeitpunkt des Lernens durch die Lerneinheit 110 verwendet und muss keine unverzichtbare Komponente der maschinellen Lernvorrichtung 100 sein, nachdem das Lernen durch die Lerneinheit 110 abgeschlossen ist.
-
Gemäß beliebigen Lernalgorithmen, die gemeinsam als maschinelles Lernen bezeichnet werden, lernt die Lerneinheit 110 die Aufkleberdaten L (ideale Bilddaten L1 in Bezug auf ein ideales Bild des Identifikationscodes) in Bezug auf die Zustandsvariable S (gelesene Bilddaten S1 in Bezug auf das Bild des Identifikationscodes). Beispielsweise kann die Lerneinheit 110 eine Korrelation zwischen den in der Zustandsvariable S enthaltenen gelesenen Bilddaten S1 und den in den Aufkleberdaten L enthaltenen idealen Bilddaten L1 lernen. Die Lerneinheit 110 kann wiederholt ein Lernen auf der Basis einer Datenmenge umfassend die Zustandsvariable S und die Aufkleberdaten L durchführen.
-
Beim Lernen durch die Lerneinheit 110 ist es erwünscht, dass eine Mehrzahl von Lernzyklen unter Verwendung einer Mehrzahl von gelesenen Bilddaten S1 für einen Identifikationscode durchgeführt wird. Insbesondere wird die Mehrzahl von Lernzyklen unter Verwendung jeder der unter verschiedenen Bedingungen (einschließlich Änderung eines Winkels des Sichtsensors 4 in Bezug auf die Oberfläche des Produkts, Änderung einer Lichtbestrahlungsbedingung, Änderung einer Verunreinigungsbedingung durch Schneidflüssigkeit usw.) erfassten gelesenen Bilddaten S1 für einen der Oberfläche des Produkts zugewiesenen Identifikationscode und die idealen Bilddaten L1 in Bezug auf den Identifikationscode ausgeführt. Zusätzlich wird die Mehrzahl von Lernzyklen für einen anderen Identifikationscode ausgeführt.
-
Durch Wiederholen solch eines Lernzyklus interpretiert die Lerneinheit 110 automatisch eine Korrelation zwischen dem durch Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes mit dem Sichtsensor 4 ermittelten Bild (gelesene Bilddaten S1) und dem idealen Bild (ideale Bilddaten L1) des Identifikationscodes. Die Korrelation der idealen Bilddaten L1 in Bezug auf die gelesenen Bilddaten S1 ist im Wesentlichen zum Beginn eines Lernalgorithmus unbekannt. Die Korrelation zwischen den gelesenen Bilddaten S1 und den idealen Bilddaten L1 wird aber schrittweise interpretiert, während die Lerneinheit 110 mit dem Lernen fortfährt, und es kann die Korrelation der idealen Bilddaten L1 in Bezug auf die gelesenen Bilddaten S1 mit einem als ein Ergebnis hiervon ermittelten gelernten Modell interpretiert werden.
-
Die Bildausgabeeinheit 122 schätzt ein ideales Bild von Identifikationsdaten von einem Bild der vom Sichtsensor 4 ermittelten Identifikationsdaten auf der Basis eines von der Lerneinheit 110 gelernten Ergebnisses (gelerntes Modell) und gibt das geschätzte ideale Bild der Identifikationsdaten an die Decodiereinheit 30 aus. Die Bildausgabeeinheit 122 kann ein ideales Bild der Identifikationsdaten von einem Bild des der Oberfläche des Produkts zugewiesenen Identifikationscodes schätzen. Zusätzlich kann die Bildausgabeeinheit 122 eine Mehrzahl von Bildern (beispielsweise eine Mehrzahl von durch Ändern des Winkels des Sichtsensors 4 in Bezug auf das Produkt erfassten Bildern) des der Oberfläche des Produkts zugewiesenen Identifikationscodes erfassen und ideale Bilder der von der Mehrzahl von entsprechenden Bildern geschätzten Identifikationsdaten (beispielsweise unter Verwendung mehrwertiger Logik) zum Schätzen eines idealen Bildes der Identifikationsdaten vergleichen.
-
Als eine Modifikation der Identifikationscode-Lesevorrichtung 1 kann die Zustandsbeobachtungseinheit 106 als Zustandsvariable S Zuweisungszustandsdaten S2 in Bezug auf ein Material des Produkts, ein Verfahren zur Oberflächenbehandlung des Produkts und ein Verfahren zum Zuweisen eines Identifikationscodes zur Oberfläche des Produkts zusätzlich zu den gelesenen Bilddaten S1 beobachten. Beispielsweise können solche Zuweisungszustandsdaten S2 im nichtflüchtigen Speicher 14 usw. über eine Eingabevorrichtung (nicht dargestellt) vorab vom Bediener festgelegt werden und die Zustandsbeobachtungseinheit 106 kann die Zuweisungszustandsdaten S2 durch Bezugnahme auf den nichtflüchtigen Speicher 14 erfassen.
-
Gemäß der Modifikation kann die maschinelle Lernvorrichtung 100 eine Schätzung des idealen Bildes des Identifikationscodes vom Bild der der Oberfläche des Produkts zugewiesenen Identifikationscodes unter Berücksichtigung des Materials, zu dem der Identifikationscode zugewiesen ist, und kann somit genauer das Bild des idealen Identifikationscodes schätzen.
-
In der maschinellen Lernvorrichtung 100 mit der zuvor beschriebenen Konfiguration ist der von der Lerneinheit 110 ausgeführte Lernalgorithmus nicht besonders beschränkt und es kann ein Lernalgorithmus nach dem Stand der Technik als maschinelles Lernen verwendet werden. 3 zeigt eine Konfiguration umfassend eine Lerneinheit 110, die überwachtes Lernen ausführt, als weiteres Beispiel des Lernalgorithmus als eine weitere Art der in 2 dargestellten Identifikationscode-Lesevorrichtung 1. Überwachtes Lernen ist ein Schema zum Lernen eines Korrelationsmodells zum Schätzen einer erforderlichen Ausgabe in Bezug auf eine neue Eingabe durch Unterscheiden eines Merkmals beinhaltend eine Korrelation zwischen einer Eingabe und einer Ausgabe von Lehrerdaten, wenn eine bekannte Datenmenge (als Lehrerdaten bezeichnet) einer Eingabe und einer Ausgabe dementsprechend bereitgestellt wird.
-
In einer in einer in 3 dargestellten Identifikationscode-Lesevorrichtung 1 enthaltenen maschinellen Lernvorrichtung 100 umfasst die Lerneinheit 110 eine Fehlerberechnungseinheit 112, die einen Fehler E zwischen einem Korrelationsmodell M zum Schätzen eines idealen Bildes eines Identifikationscodes von einem durch Lesen eines einer Oberfläche eines Produkts zugewiesenen Identifikationscodes, enthalten in einer Zustandsvariable S, mit einem Sichtsensor 4 ermittelten Bild und einem von als ein ideales Bild eines Identifikationscodes ermittelten Lehrerdaten T unterschiedenes Korrelationsmerkmal berechnet, und eine Modellaktualisierungseinheit 114, die das Korrelationsmodell M zum Verringern des Fehlers E aktualisiert. Die Lerneinheit 110 lernt eine Schätzung des idealen Bildes des Identifikationscodes vom durch Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes ermittelten Bild durch das Wiederholen der Aktualisierung des Korrelationsmodells M mit dem Sichtsensor 4 durch die Modellaktualisierungseinheit 114.
-
Ein Ausgangswert des Korrelationsmodells M wird beispielsweise durch Vereinfachen (beispielsweise durch eine lineare Funktion) einer Korrelation zwischen der Zustandsvariable S und (jedem Pixel enthalten in) dem idealen Bild des Identifikationscodes ausgedrückt und wird der Lerneinheit 110 übergeben, bevor das überwachte Lernen beginnt. In den Ausführungsformen kann beispielsweise das Bild des durch die Identifikationscode-Erzeugungsvorrichtung 6 erzeugten Identifikationscodes als Lehrerdaten T verwendet werden und die Lehrerdaten T werden der Lerneinheit 110 zu einem beliebigen Zeitpunkt während des Betriebs in einer frühen Phase der Identifikationscode-Lesevorrichtung 1 übergeben. Die Fehlerberechnungseinheit 112 unterscheidet das Korrelationsmerkmal beinhaltend die Korrelation zwischen dem durch Lesen des der Oberfläche des Produkts mit dem Sichtsensor 4 zugewiesenen Identifikationscodes und dem idealen Bild des Identifikationscodes unter Verwendung der der Lerneinheit 110 zu einem beliebigen Zeitpunkt übergebenen Lehrerdaten T und ermittelt einen Fehler E zwischen diesem Korrelationsmerkmal und dem Korrelationsmodell M entsprechend der Zustandsvariable S und den Aufkleberdaten L in einem aktuellen Zustand. Die Modellaktualisierungseinheit 114 aktualisiert beispielsweise das Korrelationsmodell M so, dass der Fehler E gemäß einer vorgegebenen Aktualisierungsregel abnimmt.
-
In einem folgenden Lernzyklus schätzt die Fehlerberechnungseinheit 112 ein ideales Bild eines Identifikationscodes durch Verwenden der Zustandsvariable gemäß einem Korrelationsmodell M nach dem Aktualisieren und ermittelt einen Fehler E zwischen einem Schätzergebnis und aktuell erfassten Aufkleberdaten L und die Modellaktualisierungseinheit 114 aktualisiert das Korrelationsmodell M erneut. Auf diese Weise wird eine Korrelation zwischen einem aktuellen Zustand einer unbekannten Umgebung und der Schätzung eines Bildes in Bezug hierauf schrittweise evident.
-
Ein neuronales Netz kann beim Fortschreiten des überwachten Lernens wie zuvor beschrieben verwendet werden. 4A zeigt schematisch ein Modell eines Neurons.
-
4B zeigt schematisch ein Modell eines durch Kombinieren der in 4A dargestellten Neuronen aufgebauten dreischichtigen neuronalen Netzes. Beispielsweise kann das neuronale Netz aus einer arithmetischen Einheit, einer Speichereinheit usw. zum Imitieren eines Modells eines Neurons bestehen.
-
Das in
4A dargestellte Neuron gibt ein Ergebnis y für eine Mehrzahl von Eingaben x aus (hier Eingaben x
1 bis x
3 als Beispiel). Jede der Eingaben x
1 bis x
3 wird mit einem Gewicht w (w
1 bis w
3) entsprechend dieser Eingabe x multipliziert. Somit gibt das Neuron ein Ergebnis y aus, ausgedrückt durch die folgende Gleichung (1). In Gleichung (1) sind die Eingabe x, das Ergebnis y und das Gewicht w sämtlich Vektoren. Zusätzlich ist θ eine Verzerrung und f
k ist eine Aktivierungsfunktion.
-
Im in 4B dargestellten dreischichtigen neuronalen Netz wird eine Mehrzahl von Eingaben (hier die Eingabe x1 bis x3 als ein Beispiel) von links eingegeben und ein Ergebnis y (hier das Ergebnis y1 bis y3 als ein Beispiel) wird von rechts eingegeben. Im dargestellten Beispiel wird jede der Eingaben x1 , x2 und x3 mit einem entsprechenden Gewicht (insgesamt als w1 dargestellt) multipliziert und jede der Eingaben x1 , x2 und x3 wird an den drei Neuronen N11, N12, N13 eingegeben.
-
In 4B sind die entsprechenden Ausgaben der Neuronen N11 bis N13 insgesamt durch z1 dargestellt. z1 kann als ein durch Extrahieren von Merkmalsmengen von Eingabevektoren ermittelter Merkmalsvektor betrachtet werden. Im dargestellten Beispiel wird jedes der Elemente des Merkmalsvektors z1 mit einem entsprechenden Gewicht (insgesamt durch w2 dargestellt) multipliziert und jedes der einzelnen Elemente des Merkmalsvektors z1 wird an zwei Neuronen N21 und N22 eingegeben. Der Merkmalsvektor z1 stellt ein Merkmal zwischen dem Gewicht W1 und dem Gewicht W2 dar.
-
In 4B sind entsprechende Ausgaben von jedem der Neuronen N21 bis N22 insgesamt durch z2 dargestellt. z2 kann als ein durch Extrahieren von Merkmalsmengen des Merkmalsvektors z1 erzeugter Merkmalsvektor betrachtet werden. Im dargestellten Beispiel wird jedes der Elemente des Merkmalsvektors z2 mit einem entsprechenden Gewicht (insgesamt durch w3 dargestellt) multipliziert und jedes der einzelnen Elemente des Merkmalsvektors z2 wird an drei Neuronen N31, N31 und N33 eingegeben. Der Merkmalsvektor z2 stellt ein Merkmal zwischen dem Gewicht W2 und dem Gewicht W3 dar. Schließlich geben die Neuronen N31 bis N33 jeweils Ergebnisse y1 bis y3 aus.
-
Es kann ein sogenanntes Deep-Learning-Verfahren unter Verwendung eines faltenden neuronalen Netzes (einschließlich Convolutional Neural Network, CNN) eingesetzt werden, das drei oder mehr Schichten bildet.
-
In der in der Identifikationscode-Lesevorrichtung 1 angeordneten maschinellen Lernvorrichtung 100 kann die Lerneinheit 110 die Berechnung einer mehrschichtigen Struktur gemäß dem zuvor beschriebenen neuronalen Netz unter Verwendung der Zustandsvariable S als Eingabe x durchführen, wodurch jeder Pixelwert (Ergebnis y) des Bildes des idealen Identifikationscodes aus einem Wert (Eingabe x) von jedem Pixel des Bildes des vom Sichtsensor 4 erfassten Identifikationscodes geschätzt wird. Ein Betriebsmodus des neuronalen Netzes umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise kann das Gewicht w unter Verwendung einer Lerndatenmenge im Lernmodus gelernt werden und der Wert einer Aktion kann unter Verwendung des gelernten Gewichts w im Wertvorhersagemodus ermittelt werden. Im Wertvorhersagemodus kann eine Erfassung, Klassifizierung, Inferenz usw. durchgeführt werden.
-
Die Konfiguration der maschinellen Lernvorrichtung 100 wie zuvor beschrieben kann als ein maschinelles Lernvorfahren (oder eine Software) beschrieben werden, ausgeführt von einem Prozessor 101. Dieses maschinelle Lernverfahren ist ein maschinelles Lernverfahren zum Lernen der Schätzung eines Bildes eines idealen Identifikationscodes aus dem Bild des vom Sichtsensor 4 erfassten Identifikationscodes und umfasst einen Schritt zum Beobachten eines durch Lesen des der Oberfläche des Produkts zugewiesenen Identifikationscodes durch Verwenden des Sichtsensors 4 ermittelten Bildes (gelesene Bilddaten S1) als Zustandsvariable S zum Darstellen des aktuellen Zustands, einen Schritt zum Erfassen eines idealen Bildes (ideale Bilddaten L1) des Identifikationscodes als Aufkleberdaten L und einen Schritt zum Lernen der gelesenen Bilddaten S1 und der idealen Bilddaten L1 in Verbindung miteinander unter Verwendung der Zustandsvariable S und der Aufkleberdaten L, durchgeführt vom Prozessor 101.
-
Das durch die Lerneinheit 110 der maschinellen Lernvorrichtung 100 gelernte und ermittelte gelernte Modell kann als ein Programmmodul verwendet werden, das ein Teil der Software in Bezug auf das maschinelle Lernen ist. Das gelernte Modell der Ausführungsformen kann in einem Computer umfassend einen Prozessor wie eine CPU oder eine Graphic Processing Unit (GPU) oder einen Speicher verwendet werden. Insbesondere berechnet der Prozessor des Computers das Bild des der Oberfläche des Produkts zugewiesenen Identifikationscodes als eine Eingabe gemäß einer Anweisung vom im Speicher gespeicherten gelernten Modell und wirkt zum Ausgeben eines Schätzungsergebnisses des idealen Bildes des Identifikationscodes auf der Basis eines Berechnungsergebnisses. Das gelernte Modell der Ausführungsformen kann durch Duplizieren auf einem anderen Computer über ein externes Speichermedium, ein Netzwerk usw. verwendet werden.
-
Zusätzlich kann, wenn das gelernte Modell der Ausführungsformen auf einen anderen Computer dupliziert und in einer neuen Umgebung verwendet wird, weiteres Lernen in Bezug auf das gelernte Modell auf der Basis einer neuen Zustandsvariable oder von in der Umgebung ermittelten Ermittlungsdaten durchgeführt werden. In solch einem Fall kann ein vom gelernten Modell abgeleitetes gelerntes Modell nachfolgend als abgeleitetes Modell bezeichnet) auf der Basis der Umgebung ermittelt werden.
-
Das abgeleitete Modell der Ausführungsformen ist insofern das gleiche wie das ursprüngliche gelernte Modell, als das Schätzungsergebnis des idealen Bildes des Identifikationscodes vom Bild des der Oberfläche des Produkts zugewiesenen Identifikationscodes ausgegeben wird, und unterscheidet sich darin vom ursprünglichen gelernten Modell, dass ein besser geeignetes Ergebnis für die neue Umgebung als das im ursprünglichen gelernten Modell ausgegeben wird. Das abgeleitete Modell kann ebenfalls durch Duplizieren auf einem anderen Computer über ein externes Speichermedium, ein Netzwerk usw. verwendet werden.
-
Ferner kann ein durch Durchführen von Lernen von Grund auf in einer anderen maschinellen Lernvorrichtung ermitteltes gelerntes Modell (nachfolgend als Destillationsmodell bezeichnet) unter Verwendung einer in Bezug auf eine Eingabe für die maschinelle Lernvorrichtung beinhaltend das gelernte Modell der Ausführungsformen ermittelten Ausgabe erzeugt und verwendet werden. (Solch ein Lernprozess wird als Destillation bezeichnet.) In einer Destillation wird das ursprüngliche gelernte Modell als Lehrermodell bezeichnet und das neu erzeugte Destillationsmodell wird ebenfalls als Schülermodell bezeichnet. Im Allgemeinen ist das Destillationsmodell kleiner als das ursprüngliche gelernte Modell. Das Destillationsmodell kann aber die gleiche Genauigkeit wie das ursprüngliche gelernte Modell liefern und eignet sich daher besser zum Verteilen auf einen anderen Computer über ein externes Speichermedium, ein Netzwerk usw.
-
5 zeigt ein System 170 gemäß einer Ausführungsform mit einer Mehrzahl von Robotersteuergeräten 2, von denen jedes den Roboter 5 umfassend den Sichtsensor 4 (nicht dargestellt) steuert.
-
Das System 170 umfasst die Identifikationscode-Lesevorrichtung 1, die Mehrzahl von Robotersteuergeräten 2, von denen jedes den Roboter 5 umfassend wenigstens den Sichtsensor 4 steuert, und ein verdrahtetes/drahtloses Netzwerk 172 zum Verbinden der Identifikationscode-Lesevorrichtung 1 und der Robotersteuergeräte 2 miteinander. Statt des Befestigens des Sichtsensors 4 an einem Ende einer Hand des Roboters (entweder fest oder durch Greifen mit einem Arm) kann eine Konfiguration gewählt werden, in welcher der Sichtsensor 4 an einer beliebigen Position fest installiert ist und das Produkt von der Hand des Roboters ergriffen wird.
-
Im System 170 mit der zuvor beschriebenen Konfiguration kann eine Beziehung zwischen dem Bild des vom Sichtsensor 4 von jedem Roboter 5 gelesenen (und über das Robotersteuergerät 2 erfassten) Identifikationscodes und dem idealen Bild des Identifikationscodes von der Lerneinheit 110 der in der Identifikationscode-Lesevorrichtung 1 enthaltenen maschinellen Lernvorrichtung 100 gelernt werden und es kann ein ideales Bild des Identifikationscodes automatisch und genau aus dem Bild des vom Sichtsensor 4 von jedem Roboter 5 unter Verwendung eines Lernergebnisses geschätzt werden. Gemäß solch einer Konfiguration des Systems 170 können eine vielfältigere Datenmenge (umfassend die Zustandsvariable S) über die Mehrzahl von Robotersteuergeräten 2 erfasst und Geschwindigkeit sowie Zuverlässigkeit des Lernens der Beziehung zwischen dem Bild des vom Sichtsensor 4 von jedem Roboter 5 gelesenen Identifikationscodes und dem idealen Bild des Identifikationscodes unter Verwendung der erfassten Datenmenge als eine Eingabe verbessert werden.
-
Das System 170 kann zum Montieren der Identifikationscode-Lesevorrichtung 1 als mit dem Netzwerk 172 verbundener Cloudserver usw. ausgebildet sein. Gemäß dieser Konfiguration kann ungeachtet der Position oder des Zeitpunkts, zu dem jedes der Mehrzahl von Robotersteuergeräten 2 vorhanden ist, eine erforderliche Zahl von Sichtsensoren 4 mit der maschinellen Lernvorrichtung 100 nach Bedarf verbunden werden (einschließlich Robotersteuergeräte 2, die Roboter 5 steuern).
-
Es kann eine große Zahl von Mengen von Aufkleberdaten L durch eine Zustandsvariable S unter Verwendung des Roboters erfasst werden. Beispielsweise wird ein Fall berücksichtigt, in dem die Konfiguration der Ausführungsformen auf das in 6 dargestellte Robotersteuergerät 2 angewendet wird. Zum Zuweisen eines Identifikationscodes zu einem Produkt weist das Robotersteuergerät 2 den Roboter 5 an, die Identifikationscode-Zuweisungsvorrichtung 3 in eine vorgegebene Position des Produkts 50 zu bewegen. Anschließend wird die Identifikationscode-Zuweisungsvorrichtung 3 angewiesen, den Identifikationscode dem Produkt 50 an einer vorgegebenen Position zuzuweisen. Die Identifikationscode-Zuweisungsvorrichtung 3 erfasst eine ideale Form des Identifikationscodes von der Identifikationscode-Erzeugungsvorrichtung 6 und die Identifikationscode-Zuweisungsvorrichtung 3 weist den Identifikationscode einer Oberfläche des Produkts 50 zu. In 6 ist die Identifikationscode-Zuweisungsvorrichtung 3 (fest oder durch Greifen mit einem Arm) an einem Ende einer Hand des Roboters befestigt. Es kann aber eine Konfiguration gewählt werden, in der die Identifikationscode-Zuweisungsvorrichtung 3 an einer beliebigen Position fest installiert ist und das Produkt 50 von der Hand des Roboters ergriffen wird.
-
Zum Lesen des dem Produkt 50 zugewiesenen Identifikationscodes weist das Robotersteuergerät 2 den Roboter 5 an, den Sichtsensor 4 zu einer vorgegebenen Position des Produkts 50 zu bewegen, und weist die Identifikationscode-Lesevorrichtung 1 an, den dem Produkt 50 zugewiesenen Identifikationscode zu lesen. Anschließend liest die Identifikationscode-Lesevorrichtung 1 den der Oberfläche des Produkts 50 zugewiesenen Identifikationscode über den Sichtsensor 4. Es kann eine große Zahl von Mengen von Aufkleberdaten L durch eine Zustandsvariable S durch Durchführen solch einer Verarbeitung an einer Mehrzahl von Produkten oder einer Mehrzahl von Positionen eines Produkts erfasst werden. Ferner kann, wenn der Identifikationscode gelesen ist, ein Bild des Identifikationscodes unter verschiedenen Bedingungen durch Ändern einer Position des Sichtsensors 4 oder Ändern eines Typs oder der Helligkeit der verwendeten Beleuchtung erfasst werden. In 6 kann, auch wenn der Sichtsensor 4 (entweder fest oder durch Greifen mit einem Arm) am Ende der Hand des Roboters befestigt ist, eine Konfiguration gewählt werden, in welcher der Sichtsensor 4 an einer beliebigen Position fest installiert ist und das Produkt von der Hand des Roboters ergriffen wird.
-
Es sind zwar zuvor Ausführungsformen beschrieben; aber die Ausführungsformen sind nicht ausschließlich auf Beispiele der zuvor beschriebenen Ausführungsformen beschränkt und können auf verschiedene Weisen durch Vornehmen geeigneter Änderungen ausgeführt werden.
-
Beispielsweise sind der von der maschinellen Lernvorrichtung 100 ausgeführte Lernalgorithmus, der von der maschinellen Lernvorrichtung 100 ausgeführte arithmetische Algorithmus usw. nicht auf die zuvor beschriebenen beschränken und es können verschiedene Algorithmen verwendet werden.
-
Zusätzlich erfolgte in den vorhergehenden Ausführungsform eine Beschreibung unter der Annahme, dass die Identifikationscode-Lesevorrichtung 1 und die maschinelle Lernvorrichtung 100 Vorrichtungen mit verschiedenen CPUs (Prozessoren) sind. Die maschinelle Lernvorrichtung 100 kann aber von der in der Identifikationscode-Lesevorrichtung 1 enthaltenen CPU 11 und vom im ROM 12 gespeicherten Systemprogramm ausgeführt werden.
-
In den vorhergehenden Ausführungsformen wird der der Oberfläche des Produkts zugewiesene Identifikationscode vom Roboter gelesen. Dieser Vorgang kann aber von einer Hand des Bedieners mit dem Sichtsensor 4 durchgeführt werden.
-
Ferner wird in den vorhergehenden Ausführungsformen eine andere Vorverarbeitung als eine Normalisierung nicht am Bild des vom Sichtsensor 4 erfassten Identifikationscodes durchgeführt. Bevor aber eine Schätzung des idealen Bildes durch die Lerneinheit 110 durchgeführt wird, kann das Bild umgewandelt werden, so dass eine Position, eine Stellung oder eine Größe des im Bild erscheinenden Identifikationscodes mit dem idealen Identifikationscode übereinstimmen.
-
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
-