-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf eine Maschinenvision, bei der Bilder von Objekten mithilfe einer Kamera oder einer anderen Abbildungsvorrichtung erhalten werden, bei dem die Suche nach einem Zielmuster im Bild der Suche nach dem Muster auf dem Objekt, das dargestellt wird, entspricht.
-
HINTERGRUND DER ERFINDUNG
-
Es ist ein Problem, Maschinenvisionssysteme benutzerfreundlich und einem weiteren Kreis von möglichen Benutzern zugänglich zu machen. Es gibt verschiedene Aspekt, die für Benutzer klar verständlich sind (beispielsweise, wie man einen Satz von Trainingsbildern erzeugt) und was die „Ground Truth“ der Situation ist. Darüber hinaus allerdings ist die Anwendung vieler Aspekte von Training und Laufzeitvorgängen der Maschinenvisionssysteme schwieriger.
-
Bei Maschinenvisionssystemen, bei denen Bilder von Objekten mithilfe einer Kamera oder einer anderen Abbildungsvorrichtung erhalten werden und bei denen ein Muster auf dem Objekts, das abgebildet ist, mithilfe eines Verfahrens gesucht wird, das auf einem Computer oder einer anderen Rechenvorrichtung ausgeführt wird. Wenn ein Satz Bilder gegeben ist, wobei jedes Bild mindestens ein Beispiel eines Zielmusters enthält, aber bei dem sich das Aussehen des Zielmusters ändern kann, kann es auch eine Herausforderung sein, einen minimalen Satz von Modellen zur Mustererkennung und -Erfassung, der für alle Bilder im Bildersatz anwendbar sind, zu identifizieren und zu trainieren, Das Verfahren zur Mustererkennung und -erfassung ist genauer in den US-Patentanmeldungen mit den Nummern 6.408.109, 6.658.145 und 7.016.539 beschrieben. Wird ein Muster erkannt, bestätigt das Verfahren zur Mustererkennung und -erfassung (oder das „Tool“, bzw. Hilfsprogramm), dass das gesichtete Muster tatsächlich das Muster ist, nach dem das Hilfsprogramm sucht, und fixiert dessen Position, Ausrichtung, Maßstab, Schräglauf und Blickwinkel. Ein Beispiel eines solchen Suchhilfprogramms ist das PatMax® von Cognex Corporation in Natick, Massachusetts, USA. Das Verfahren zur Mustererkennung und -erfassung ist ein Verfahren der geometrischen Mustersuche. Die hier beschriebenen Verfahren werden allgemein auf geometrische Mustersuche angewendet.
-
-
Beispielsweise kann ein Muster aus Elementen, die Kreise und Linien enthalten, bestehen. In Fig. schließt Muster 110 einen Kreis 112 und zwei diesen schneidende Linien 114, 116 ein; Muster 120 schließt einen Kreis 122 und ein Linienpaar 124, 126 ein; und Muster 130 schließt einen Kreis 132 und ein Linienpaar 134, 136 ein. Die Kreise können, was Radius und Liniendicke oder -anzahl betrifft, über den Bildersatz von trainierten Linien variieren. Dies kann insbesondere der Fall auf dem Gebiet von Halbleitern oder anderen Materialien sein, bei denen eine Vielzahl von Schichten auf einem Substrat abgelegt wird, was zu Verzerrungen der Merkmale auf jeder Schicht führen kann. Die Polarität der Muster kann ebenso innerhalb des Bildersatzes variieren (wie im Unterschied zwischen Muster 120 und Muster 130 gezeigt). Die Bilder können auch einen hohen Grad an Rauschen enthalten.
-
Das Problem hat mindestens zwei Komponenten. Erstens besteht der Trainingsbildersatz aus Rauschbildern, so dass es schwierig ist, ein sauberes Modell aus einem einzigen Bild zu trainieren. Zweitens hat das Muster im Trainingsbildersatz ein unterschiedliches Aussehen, was das Trainieren eines einzigen Modells schwierig und während der Laufzeit fehlerhaft macht. Es ist daher Aufgabe der Erfindung, ein verbessertes System und Verfahren vorzuschlagen, welches ein einfaches und fehlerfreies Trainieren eines sauberen Modells auch mit einem verrauschten und unterschiedliche Varianten eines Musters enthaltenden Trainingsbildersatz erlaubt.
-
DARSTELLUNG DER ERFINDUNG
-
Um die Nachteile des Standes der Technik zu überwinden, verwenden die Systeme und Verfahren hier ein Modell zur Mustererkennung und -erfassung, um das Training durchzuführen. Ein Mustersuchmodell ist beispielsweise ein einziges Modell, das aus vielen Trainingsbildern trainiert wird. Bei einigen Ausführungsformen können zusammengesetzte Modelle eingesetzt werden, um entweder die Stabilität über Standardmodelle zur Mustererkennung und -erfassung zu verbessern und/oder um kleine Unterschiede im Aussehen eines Zielbereiches abzubilden. Zur Verbesserung der Stabilität kombinieren zusammengesetzte Modelle Daten von geräuschvollen (und anderweitig verzerrten) Trainingsbildern, die Beispiele von einzelnen darunterliegenden Mustern zeigen, um ein einziges stabiles Modell zu formen. Um das zu erreichen, verwendet ein Trainingselement, welches das Modell zur Mustererkennung und -erfassung einsetzt, die Eingabebilder und eine bekannte relative Lage oder Position (diese ist humanidentifiziert oder computerbestimmt).
-
Um die kleinen Unterschiede im Aussehen eines Zielbereiches zu erklären, wird ein Trainingsverfahren eingesetzt, um einen Satz von Modellen zur Mustererkennung und -Erfassung zu trainieren, der den kompletten Bereich (oder zumindest einen großen Teil des kompletten Bereiches) des Aussehens des Zielmusters im Trainingssatz überspannt. Der Satz von Modellen zur Mustererkennung und -erfassung kann sich entweder als getrennte Beispiele von Mustermodellen zeigen oder als Mehrfachmustermodell. Ein Mehrfachmustermodell ist eine Ansammlung von Modellen zur Mustererkennung und -Erfassung. Die darunterliegenden Modelle können Standardmodelle zur Mustererkennung und -erfassung sein oder ein zusammengesetztes Mustermodell oder eine Kombination von beiden. Das Mehrfachmustermodell ist zum Einsatz bei der Formung von Zielen vorgesehen, deren Aussehen sehr unterschiedlich ist. Das Mehrfachmustermodell kann in verschiedenen modi laufen, um das vorbekannte Wissen des wahrscheinlichen zeitlichen Ablaufes des Aussehens des Modells auszunutzen. Der Einbau von Mehrfachmustermodellen in den Mehrfachmustermodellrahmen kann verwendet werden, um die Menge an Front End Processing zu reduzieren und so schrittweisen Leistungsgewinn über den Lauf von Beispielen separater Mustermodelle zu erhalten. Das Mehrfachmustermodell kann auch Ergebnisse seiner zusammengesetzten Modelle überprüfen, um Überlappung zu filtrieren, wenn beispielsweise Ergebnisse von zwei Modellen mit mehr als einer vom Benutzer bestimmten Schwelle überlappen; dann kann das Mehrfachmustermodell nur das besser passende Ergebnis (oder das mit den mehr Treffern) an den Benutzer zurückschicken.
-
Figurenliste
-
Die untenstehende Erfindungsbeschreibung bezieht sich auf die beigefügten Zeichnungen, von denen
- 1, bereits beschrieben, drei Beispiele von Bildern zeigt, wobei jedes ein Muster einschließt, gemäß des Verfahrens zur Mustererkennung und -Erfassung;
- 2 ein schematisches Blockdiagramm eines Masinenvisionssystem zur Ausführung der Grundsätze der vorliegenden Erfindung gemäß eines Ausführungsbeispiels ist;
- 3 ein Flussdiagramm eines Verfahrens zum Trainieren eines einzelnen Modells zur Mustererkennung und -Erfassung gemäß der Ausführungsbeispiele ist;
- 4 ein Flussdiagramm eines Verfahrens zum Trainieren eines Mehrfachmustermodells und Messleistung eines gegenwärtig trainierten Ausgabemodells gemäß der Ausführungsbeispiele ist;
- 5 ein Flussdiagramm eines Verfahrens zum Vorschlag und Einstufen von Kandidaten zur Addition zu der Ansammlung von Ausgabemodellen gemäß der Ausführungsbeispiele ist; und
- 6 ein Flussdiagramm eines Verfahrens ist, um dem Benutzer den Kandidaten mit den meisten Treffern vorzuschlagen und Mehrfachmustermodelle auszugeben, gemäß der Ausführungsbeispiele.
-
FIGURENBESCHREIBUNG
-
2 ist ein schematisches Blockdiagramm eines Maschinenvisionssystems 200, das eingesetzt werden kann, um die Grundlagen der vorliegenden Erfindung gemäß eines Ausführungsbeispiels zu trainieren. Das Maschinenvisionssystem 200 schließt eine Erfassungsvorrichtung 205 ein, die ein Bild eines Objektes 210 mit einem oder mehreren Merkmalen 215 erzeugt. Die Erfassungsvorrichtung 205 kann eine herkömmliche Videokamera oder einen Scanner umfassen. Eine solche Videokamera kann ein ladungsgekoppeltes Bauelement (charge coupled device CCD) oder ein anderes System zur Beschaffung entsprechender Bildinformationen sein, wie etwa die wohl bekannten CMOS-Sensoren. Bilddaten (oder Pixel), die von der Erfassungsvorrichtung 205 erzeugt werden, repräsentieren eine Bilddichte, beispielsweise Farbe oder Helligkeit an jedem Punkt in der Szene innerhalb der Auflösung der Erfassungsvorrichtung 205. Die Erfassungsvorrichtung 205 überträgt digitale Bilddaten über einen Kommunikationspfad 220 zu einem Bildanalysesystem 225. Das Bildanalysesystem 225 kann einen herkömmlichen digitalen Datenprozessor umfassen, wie etwa Visionsverarbeitungssysteme von Cognex Corporation. Das Bildanalysesystem 225 kann einen herkömmlichen Mikrocomputer oder ein anderes Beispiel einer Rechenvorrichtung umfassen. Andere Arten von Schnittstellen können eingesetzt werden, einschließlich beispielsweise persönliche Digitalassistenten (PDA) usw. Bei anderen Ausführungsformen kann die Erfassungsvorrichtung Verarbeitungsmöglichkeiten einschließen, um die Funktionen des Bildanalysesystems auszuführen. Bei solchen Ausführungsbeispielen gibt es keinen Bedarf für ein separates Bildanalysesystem. Bei weiteren alternativen Ausführungsbeispielen kann zu Trainingszwecken eine Erfassungsvorrichtung wirksam mit einem Bildanalysesystem verbunden werden. Wenn das Training durchgeführt wurde, kann oder können zum Einsatz während der Laufzeit ein entsprechendes Modell/entsprechende Modelle in der Erfassungsvorrichtung gespeichert werden.
-
Das Bildanalysesystem 225 kann gemäß der Lehren der vorliegenden Erfindung programmiert werden, um ähnliche Merkmale unter der Vielzahl von Bildern zu suchen, um entsprechende Erkennungs- und Erfassungsinformationen zum Trainieren eines Maschinenvisionssystems zu erzeugen. Das Bildanalysesystem 225 kann eine oder mehrere zentrale Verarbeitungseinheiten (Prozessoren) 230, Hauptspeicher 235, Eingabe-/Ausgabesysteme 245 und ein oder mehrere Laufwerke oder eine andere Form der Massenspeicherung 240 aufweisen. Beispielsweise verbindet sich das Eingabe-/Ausgabesystem 245 mit dem Kommunikationspfad 220 zwischen der Erfassungsvorrichtung 205 und dem Bildanalysesystem 225. Das System 225 kann durch Programmierungsanweisungen gemäß der Lehren der vorliegenden Erfindung konfiguriert sein, um die neuartige, durch mehrere Bilder trainierte Mustererkennung und -Erfassung der vorliegenden Erfindung auszuführen. Fachleute werden es zu schätzen wissen, dass alternative Hardware- und/oder Softwarekonfigurationen verwendet werden können, um die Grundlagen der vorliegenden Erfindung umzusetzen. Insbesondere können die Lehren der vorliegenden Erfindung in Software, Hardware, Firmware und/oder all ihren Kombinationen umgesetzt werden. Weiterhin können während der Laufzeit, im Gegensatz zur Trainingszeit, zusätzliche Komponenten ins Maschinenvisionssystem 200 eingefügt werden. Beispielsweise können Objekte 215 auf einem Förderband oder einer anderen Montagelinie usw. gefördert werden.
-
Gemäß eines Ausführungsbeispiels der vorliegenden Erfindung, kann das Maschinenvisionssystem 200 verwendet werden, um das Trainingsmodell für ein Laufzeitmaschinenvisionssystem zu erzeugen. So kann das Maschinenvisionssystem 200 verwendet werden, um ein Trainingsmodell zu erzeugen, das in einer Vielzahl von Maschinenvisionssystemen, die ähnliche Komponenten einsetzen, verwendet werden kann.
-
Darüber hinaus sollte festgehalten werden, dass das Musterelement (oder Mustererkennungs- und -Erfassungselement), wie hier gezeigt und beschrieben, und dessen zugehörige Modelle sich im Allgemeinen innerhalb des Bildanalysesystems 225 befinden. Allerdings kann entsprechend durchschnittlichem Fachwissen die Position und Speicherung der Elemente und Modelle höchst unterschiedlich sein.
-
Es sollte festgehalten werden, dass, während die vorliegende Erfindung mit Bezug auf ein Maschinenvisionssystem 200 beschrieben wird, die Grundsätze der vorliegenden Erfindung bei einer Anzahl von verschiedenen Ausführungsformen eingesetzt werden kann. So sollte der Begriff Maschinenvisionssystem alternative Systeme einschließen. Allgemeiner gesagt, können die Grundprinzipien der vorliegenden Erfindung bei jedem System, das Teilmuster in Bildern erfasst, umgesetzt werden. Eine Ausführungsform kann beispielsweise ein herkömmliches Maschinenvisionssystem betreffen, das eine eigenständige Kamera umfasst, die aktiv mit einem eigenständigem Computer verbunden ist, der so programmiert ist, dass es Bilder usw. verarbeitet. Allerdings können die Grundsätze der vorliegenden Erfindung bei anderen Vorrichtungen und/oder Systemen eingesetzt werden, die Teilmuster in Bildern erfassen. Beispielsweise, ein Visionssensor, wie etwa das Produkt Checker, das von Cognex Corporation bezogen werden kann, oder eine andere Vorrichtung, die Beleuchtungsquellen, Bilderfassungsmöglichkeiten und/oder - Verarbeitungsmöglichkeiten umfasst. Solche Visionssensoren können über getrennte Module, wie etwa ein Cognex Vision View, trainiert und/oder konfiguriert werden. Bei solchen Ausführungsformen kann der Benutzer den Visionssensor mithilfe einer Vielzahl von Teilen anstatt mit einem einzigen Teil trainieren. Der Benutzer kann ein erstes Teil wählen, dieses vor dem Sensor platzieren und dem System mitteilen, dass das Trainingsteil in Position ist. Ein zweites (drittes usw.) Teil kann ähnlich trainiert werden. Der Benutzer kann den Trainingsschritt mithilfe beispielsweise eines grafischen Benutzerinterface (GUI) und/oder Knöpfen oder anderen Kontrolloberflächen, die am Trainingsmodul und/oder am Visionssensor selber angeordnet sind, kontrollieren. Weiterhin kann die Funktion der vorliegenden Erfindung in Handgeräte, drahtlose, kompatible Geräte usw. eingebaut werden. Der Begriff Maschinenvisionssystem sollte also breit ausgelegt werden, damit er all diese Systeme und Geräte umfasst, die ein oder mehrere der Lehren der vorliegenden Erfindung einsetzen können.
-
Trainieren eines einzelnen Modell zur Mustererkennung und -Erfassung
-
Gemäß der Ausführungsbeispiele wird ein Modell zur Mustererkennung und -Erfassung aus vielen Bildern trainiert. Es wird zum Beispiel auf die
US Patentanmeldung Nr. 8.315.457 verwiesen, deren Veröffentlichung hier unter Bezugnahme als nützliche Hintergrundinformation für eine genauere Beschreibung des Trainierens eines einzelnen Modells zur Mustererkennung und - erfassung eingeschlossen ist. Zusammengesetzte Modelle können verwendet werden, entweder um Stabilität über Standardmustermodelle zu verbessern oder um kleine Unterschiede im Aussehen eines Zielbereiches abzubilden. Ein hier umgesetztes Trainingselement trainiert einen Satz von Modellen zur Mustererkennung und -erfassung, der das gesamte Spektrum an Aussehen eines Zielbereiches in einem Satz von Trainingsbildern überspannt. Der Modellsatz kann ein einzelnes Modell zur Mustererkennung und -Erfassung oder eine Ansammlung von Modellen sein, die hier „Mehrfachmodell“ des Musters genannt wird. Das Mehrfachmodellelement ist für den Einsatz bei der Abbildung von Zielen vorgesehen, deren Aussehen sehr unterschiedlich ist. Das Mehrfachmodell kann in verschiedenen Modi laufen, um das vorbekannte Wissen über den möglichen Ablauf des Aussehens des Modells auszunutzen.
-
Der hier benutzte Begriff „Trainingselement“ (oder Trainingsmodul) bezieht sich auf die nicht transitorische Ausführung der Schritte, die beim Erzeugen eines Trainingsmodells durchgeführt werden. Das Trainingselement ist Teil eines nicht transitorischen Computerprogramms, das ein (oder mehrere) Programm(e) oder Funktionen enthält, die sich der Ausführung einer bestimmten Aufgabe widmen. Jedes hier beschriebene und gezeigte Element (oder Modul) kann allein oder in Kombination mit anderen Modulen innerhalb des Maschinenvisionssystem eingesetzt werden. Das Trainingselement schafft das Trainingsmodell durch Trainieren eines Modellsatzes, der das ganze Spektrum von Trainingsbildern überspannt, die in der Datenbasis enthalten sind. Zusätzlich bezieht sich der hier benutzte Begriff „Modell zur Mustererkennung und -Erfassung“ oder „Mustermodell“ allgemein auf Mustermodelle, die in der Patentschrift '457 veröffentlicht sind, wenn nichts anderes vermerkt ist.
-
3 zeigt ein Flussdiagramm des Verfahrens 300, das von einem Trainingselement ausgeführt wird, um gemäß der Ausführungsbeispiele ein einzelnes Modell zur Mustererkennung und - Erfassung zu trainieren. In Schritt 310 ist der Initialschritt zum Algorithmus (der vom Benutzer oder vom Computer geliefert wird) ein Initialtrainingsbild und ein Bereich, der das zu trainierende Muster (ein „interessierender Bereich“) bestimmt, der ebenfalls vom Benutzer oder vom Computer geliefert wird. Das Verfahren 300 nimmt diese Eingabe and trainiert in Schritt 320 ein erstes (Initial-) Modell (P0) zur Mustererkennung und -Erfassung („PatMax“) mithilfe von Trainingsparametern in 325. In Schritt 330 durchläuft das System als Nächstes den Bildersatz (zumindest einen Teil oder einen Teilsatz der verbleibenden Trainingsbilder), wobei das Mustermodell P0 mit dem Bildersatz läuft, der vom Benutzer oder einem Computer geliefert wird und vorher in einer Datenbasis gespeichert war. Das System kann das Modell nach dem ganzen verbleibenden Trainingsbildersatz oder einem Teil des verbleibenden Bildersatzes durchsuchen und speichert die Ergebnistreffer, Positionen und passende Bereichsdaten. In Schritt 340 werden die Ergebnisse nach Treffern sortiert (und falls eine „Ground Truth“ erhalten wird, nach der Genauigkeit). Die „Ground Truth“ kann vom Benutzer geliefert oder vom Computer erzeugt werden. In Schritt 350 gibt das Verfahren das Topbild (Nc-1) ein (wobei Nc ein Parameter ist, der die Anzahl der Bilder bestimmt, die in das zusammengesetzte Modelltraining eingegeben werden) und trainiert in Schritt 360 ein zusammengesetztes Modell mithilfe der Positions- und Bereichsinformationen aus den Ergebnissen, die vorher im Durchlauf von P0 erzeugt wurden.
-
Wie in der
US-Patentschrift Nummer 8.315.457 genauer beschrieben wird, wird Mehrfachbildertraining zur Mustererkennung und -Erfassung durchgeführt. Ein Maschinenvisionssystem erhält eine Vielzahl von („N“) Trainingsbildern. Ein Bild wird ausgewählt und die anderen (N-1) Bilder werden dann im Wesentlichen zu dem ausgewähltem Bild erfasst. Die Auswahl und Erfassung wird wiederholt, so dass jedes der N Bilder als das Grundlinienbild verwendet wird. Durch Wiederholung baut das Verfahren für jedes der N Bilder als Grundlinienbild eine Datenbasis von entsprochenen Merkmalen auf, die zum Aufbau eines Modells von Merkmalen genutzt werden kann, die unter den Bildern stabil sind. Dann werden Merkmale, die einen Satz von korrespondierenden Bildmerkmalen darstellen, zum Modell hinzugezählt. Um eine Datenbasis von entsprochenen Merkmalen aufzubauen, kann jedes der Merkmale mithilfe eines Grenzprüfungstools oder anderer herkömmlicher Techniken, entsprochen werden, um den Konturen im Maschinenvisionssystemen zu entsprechen. Beispielsweise sind die Merkmale, die für das Modell ausgewählt wurden, diejenigen, die die maximale Distanz unter den entsprechenden Merkmalen in jedem der Bilder, in denen das Merkmal erscheint, minimiert. Das Merkmal, das zum Modell hinzugefügt werden soll, kann einen Durchschnitt der Merkmale aus jedem der Bilder umfassen, in denen das Merkmal erscheint. Der Prozess geht weiter, bis jedes Merkmal, das eine Schwellenerfordernis erfüllt, erklärt ist. Das aus diesem Prozess folgende Modell stellt die stabilen Merkmale dar, die zumindest in der Schwellennummer der N Trainingsbilder gefunden wird. Dieses Verfahren (beschrieben in der Patentschrift '457) identifiziert die Merkmale, die genügend durch den Beweis der Trainingsbilder, dass sie stabile Merkmale sind, unterstützt werden. Das Modell kann dann verwendet werden, um eine Ausrichtung, Suche oder Prüfungstool mit dem Satz von Merkmalen zu trainieren.
-
Mit Bezug auf 3 kann der Benutzer zusätzliche Modelltrainingsparameter 355 liefern, die bestimmen, welcher Teil der Nc Trainingsbilder ein spezielles Merkmal enthalten muss, damit es in das Ausgabemodell einfließt. Der Teil kann beispielsweise ein Prozentsatz sein, wie etwa 80% bis 90%, doch innerhalb des Durchschnittswissens und abhängig von der speziellen Anwendung, ist dies höchst variabel. Der Benutzer kann auch eine Näherungsschwelle für Merkmalen aus unterschiedlichen Trainingsbildern, die als Treffer angesehen werden, bestimmen.
-
Trainieren eines Mehrfachmodells zur Mustererkennung und -Erfassung
-
4 zeigt ein Flussdiagramm eines Verfahrens 400 zum Trainieren eines Mehrfachmodells zur Mustererkennung und -Erfassung und misst gemäß der Ausführungsbeispiele Leistung eines gerade trainierten Ausgabemodells. In Schritt 410 sind die Initialeingaben für das Verfahren (im Allgemeinen von einem Benutzer, können aber auch von einem Computer geliefert werden): ein Trainingsbild (I0), ein Bereich R0, der das Ausmaß eines Musters innerhalb des Bildes I0 bestimmt, der Anfang des Musters (O0) innerhalb des Trainingsbildes I0 und ein Satz von Trainingsbildern {I1, I2, ...IN}, der das Spektrum des Aussehens des interessierenden Musters zeigt.
-
Das Verfahren verwendet diese Eingaben in Schritt 420, um ein erstes zusammengesetztes „PatMax“-Mustermodell (PCMOUT0) mithilfe des oben beschriebenen Verfahrens zum Trainieren eines einzelnen Modells zur Mustererkennung und -Erfassung, das in 3 gezeigt ist, gemäß den Parametern 422 des zusammengesetzten Modells zu trainieren. Die Trainingsparameter 424 werden beim Training des Ausgabemodells (TPOUT) verwendet und sind restriktiv genug, um sicher zu stellen, dass das trainierte Modell keine hohe Trefferquote von falschen Suchergebnissen bei der Suche innerhalb des vollen Satzes von Trainingsbildern erzeugt. Wenn der Mehrfachmodellrahmen der Mustererkennung und -Erfassung eingesetzt wird, dann wird PCMOUT 0 zum Ausgabemehrfachmodell PMMOUT hinzugezählt. Wird der Mehrfachmodellrahmen nicht verwendet, dann wird er als das erste Modell zur Mustererkennung und -Erfassung des Ausgabesatzes gespeichert (aus Gründen der Anschaulichkeit wird dies auch PMMOUT genannt).
-
In Schritt 430 verwendet das Verfahren als Nächstes die gleichen Eingaben (aus 410), um ein unterschiedliches (zweites) Modell PCMCAND0 zur Mustererkennung und -Erfassung mithilfe des vorher beschriebenen Algorithmus, der in 3 gezeigt wurde, für ein einzelnes Modell zur Mustererkennung und -Erfassung zu trainieren. Die Mustertrainingsparameter TPCAND 434, die bei diesem Verfahren eingesetzt werden, sind auch diejenigen zum Trainieren eines Modells, das ausschließlich dazu benutzt wird, Kandidaten zum Trainieren weiterer zusammengesetzter Ausgabemodelle zu finden. Diese Trainingsparameter 434 sollten lockerer sein als diejenigen, die zur Erzeugung des Ausgabemodells eingesetzt werden. Die herrschende Voraussetzung ist, dass PCMCAND0 in der Lage ist, ein vielfältigeres Spektrum von Trainingskandidaten vorzuschlagen als es mithilfe des restriktiver trainierten PCMOUT möglich wäre, doch alle falschen Suchergebnisse können vom Benutzer oder automatisch aufgrund von bekannten „Ground Truths“ zurückgewiesen werden. Beim Ausgabemodell kann PCMCAND0 entweder zu einem Mehrfachmodell PMMCAND zur Mustererkennung oder zu einem anderen Typen der Modellansammlung hinzugefügt werden oder in diesem gespeichert werden.
-
Leistungsmessung
-
Bei Schritt 440 muss das System vor dem Beginn des Verfahrens zur Suche von Musterkandidaten und des Trainierens derjenigen, die als „Beste“ (höchste Trefferquote oder am passendsten) angesehen werden, zuerst die Leistung des gerade trainierten Ausgabemodells, d.h. PMMOUT messen. Um die Leistung zu messen, lässt das Verfahren das Modell über den ganzen Testsatz der Bilder laufen und berechnet eine kombinierte Trefferquote, die auf 0 initialisiert wird. Wenn PMMOUT das Muster in einem Bild mit einer Trefferquote (der Trefferquotenbereich liegt zwischen 0 und 1) größer als die vom Benutzer definierte Vertrauensschwelle findet, dann wird dieser Treffer zum kombinierten Ergebnis hinzugefügt. Wenn allerdings PMMOUT das Muster nicht in einem Bild mit einer Trefferquote größer als die vom Benutzer definierte Vertrauensschwelle findet, wird 1 vom kombinierten Ergebnis abgezogen. Andere, ähnliche Ergebnisfunktionen können von Benutzern mit durchschnittlichem Wissen umgesetzt werden und können eine Messung der Ausrichtungsgenauigkeit einschließen, falls „Ground Truth“-Daten vorliegen.
-
Nach der Durchführung der Messung können die verbliebenen Schritte des Verfahrens immer wieder wiederholt werden, und werden so mit der Variablen ,t' bezeichnet. Die
5 und
6 zeigen Flussdiagramme von Verfahren zum Vorschlagen von Kandidatenmodellen gemäß der Ausführungsbeispiele. In
5 hat das Verfahren 500 die Aufgabe, Kandidaten zur Addition zur Ansammlung der Ausgabemodelle PMM
OUT(t) vorzuschlagen und einzureihen. In 510 schließen die Eingaben zur Wiederholung (t) Kandidaten und Mehrfachausgabemodelle PMM
CAND(t), PMM
OUT(t) ein, wobei
und
-
Im Verfahrensschritt 520 schlägt das Mehrfachkandidatenmodell PMMCAND Kandidaten zur Addition zur Ausgabemodellansammlung PMMOUT(t) vor und reiht sie ein. Um das zu erreichen, lässt man das Mehrfachkandidatenmustermodell PMMCAND(t) auf jedem Trainingsbild Ii laufen. Kommt ein annehmbares Ergebnis zurück (das heißt, eine Stelle ist gefunden, wo das Modell eine höhere Trefferquote erzielt als eine vom Benutzer bestimmte Akzeptanzschwelle), dann werden in Schritt 520 der passende Bereich Ri und Ursprung Oi verwendet, um ein zusammengesetztes Kandidatenmustermodell PCMOUT (i) zu trainieren (wie oben beschrieben unter Beachtung des Trainings eines einzelnen Modells für PMMOUT(t)). Daher wird das zusammengesetzte Kandidatenmodell aus dem Kandidatenbereich Ri vom Bild Ii un den entsprechenden Bereichen der am besten passenden Nc-1 Bilder dieses Kandidatenbildbereiches (Ri des Bildes Ii) trainiert.
-
In Schritt 530 läuft der Prozess durch den Satz von zusammengesetzten Kandidatenmustermodellen und fügt ihn für jeden zuerst zur Ausgabeansammlung PMMOUT(t)→PMMOUT(t), hinzu, misst dann auf gleiche Weise wie oben in Leistungsmessung beschrieben seine Leistung. Nachdem die Trefferquote für die vorgeschlagene Ausweitung zum Mehrfachausgabemodell PMMOUT(t)', erhalten wurde, wird PCMOUT (i) von PMMOUT (t), → PMMOUT(t) entfernt. In Schritt 534 werden die Kandidaten entsprechend dieser Treffer sortiert (das heißt der PCMOUT (i)).
-
Am Ende des Verfahrens 500 hat das System eine Ansammlung von zusammengesetzten Kandidatenmustermodellen in Schritt 540, die alle Trainingsbilder abdecken, bei denen PMMCAND (t) ein annehmbares Ergebnis finden könnte. Das Verfahren stuft diese Modelle entsprechend ihres Grades an Verbesserung an Abdeckung ein, den jedes an die Ansammlung von Ausgabemustermodellen (oder Mehrfachmodellen) PMMOUT(t) liefert. Werden keine Kandidaten gefunden, um die Trefferquote um mehr als eine vom Benutzer definierte Menge zu verbessern, dann kann angenommen werde, dass ein Haltekriterium erfüllt wurde.
-
6 zeigt ein Verfahren 600 zum Vorschlagen von Kandidatenmodellen und zur Ausgabe von Mehrfachmustermodellen gemäß der Ausführungsbeispiele. In Schritt 620 schlägt das Verfahren dem Benutzer den Kandidaten mit der höchsten Trefferquote vor (beispielsweise durch Anzeigen des interessierenden Bereiches des Kandidaten innerhalb des Kandidatenbildes Ii). In Schritt 622 kann der Benutzer den Kandidaten annehmen oder zurückweisen, oder dem Computer kann gleichermaßen der Kandidat mit der höchsten Trefferquote überlassen werden und der Computer nimmt den Kandidaten aufgrund einer bekannten „Ground Truth“ an oder weist ihn zurück. Wird der Kandidat angenommen, dann kann der Benutzer in Schritt 630 die Gelegenheit bekommen, den Ursprung des neuen Modells für den Fall von leichten Ausrichtungsfehlern in der Ausgabe von PMMCAND(t) anzupassen. Wird der Kandidat in Schritt 624 zurückgewiesen, dann wird der Topkandidat PCMOUT(top) verworfen, und das System schlägt den nächsten Kandidaten in der bestellten Liste vor.
-
Wird der Kandidat angenommen, dann wird bei Schritt 640 das angenommene Kandidatenmodell PCMOUT(accepted) zur gegenwärtigen Ansammlung von Ausgabemodellen PMMOUT(t) -> PMMOUT(t+1) hinzugefügt. Die Ansammlung von Kandidatensuchmodellen (oder Mehrfachmodellen) sollte nun wünschenswerter Weise mit einem ähnlichen Modell auf den neuesten Stand gebracht werden. In Schritt 650 wird das Kandidatenmodell PCMCAND (accepted) vom Bereich Raccepted des Bilds Iaccepted mithilfe von Trainingsparametern TPCAND trainiert. PCMCAND (accepted) wird nun zu PMMCAND(t) → PMMCAND(t+1) in Schritt 660 hinzugefügt. Die Ausgaben zur Wiederholung (t) in Schritt 670 sind das Mehrfachkandidatenmodell PMMCAND(t+1) und das Mehrfachausgabemodell PMMOUT(t+1).
-
Die verschiedenen Ausführungsbeispiele sorgen für die Erzeugung eines Modells zur Mustererkennung und -Erfassung, das jedes Trainingsbild einer Vielzahl von Trainingsbildern durchläuft, um ein Modell zu liefern, das die komplette Datenbasis von Trainingsbildern überspannt (das heisst gültig ist). Das verbessert Stabilität und Effizienz des laufenden Systems.
-
Verschiedene Varianten und Zusätze können gemacht werden, ohne vom Sinn und Inhalt dieser Erfindung abzuweichen. Merkmale jeder der verschiedenen oben beschriebenen Ausführungsformen können mit Merkmalen von anderen beschriebenen Ausführungsformen kombiniert werden, die passend sind, um eine Vielzahl neuer Kombinationen von Merkmalen zusammen mit neuen Ausführungsformen zu liefern. Während weiterhin das oben Gesagte eine Anzahl von verschiedenen Ausführungsformen der Vorrichtung und des Verfahrens der vorliegenden Erfindung beschreibt, ist das, was hier beschrieben wurde, nur ein Beispiel der Anwendung der Grundlagen der vorliegenden Erfindung. Die Begriffe „Verfahren“ und/oder „Pozessor“, wie sie beispielsweise hier benutzt werden, sollten weit gefasst werden, um eine Bandbreite von Funktionen, die auf elektronischer Hardware und/oder Software beruhen, zu umfassen. Auch verschiedene Begriffe von Richtung und Orientierung, die hier benutzt wurden, wie etwa „senkrecht“, „waagerecht“, „auf, „unter“, „unten“, „oben“, „Seite“, „vorne“, „hinten“, „links“, „rechts“ und dergleichen, werden nur als relative Übereinkunft und nicht als absolute Orientierung mit Bezug auf ein festes Koordinatensystem, wie etwa Schwerkraft, verwendet. Darüber hinaus kann ein dargestelltes Verfahren oder ein Prozessor mit anderen Verfahren und/oder Prozessoren kombiniert werden oder in verschiedene Hilfsverfahren oder -Prozessoren unterteilt werden. Solche Hilfsverfahren und/oder -Prozessoren können gemäß der Ausführungsbeispiele hier auf verschiedene Weise kombiniert werden. Ebenso wird ausdrücklich in Betracht gezogen, dass alle Funktionen, Verfahren und /oder Prozessoren hier mithilfe elektronischer Hardware, Software, die aus einem nicht transitorischen, computerlesbarem Medium von Programmanweisungen oder einer Kombination von Hardware und Software besteht, umgesetzt werden können. Darüber hinaus wird in Betracht gezogen, dass einige oder alle Verarbeitungsaufgaben des Visionssystems entweder im Hauptmodul oder in einem eigenen Prozessor (z. B. einem Server oder PC), der durch das Schnittstellenmodul wirksam mit dem Hauptmodul über eine drahtlose oder eine Drahtkommunikationsverbindung (Netzwerk) verbunden ist, ausgeführt werden können.