Startseite » Allgemein »

Mustererkennung

Repetitorium
Mustererkennung

Die Mustererkennung war eine der ersten digitalen Aufgaben der Bildverarbeitung und ist immer noch ein wichtiger Gesichtspunkt zahlreicher aktueller und zukünftiger Systeme der industriellen Bildverarbeitung. Mit der Zeit sind die Softwarewerkzeuge für die Mustererkennung flexibler und unempfindlicher geworden gegen Störungen, Rotationen, Skalierungen, Verdeckungen und sogar Beleuchtungsänderungen.

Trotzdem profitieren einige Bildverarbeitungsanwendungen immer noch von der schnellen Mustererkennung, die auf der normierten Grauwert-Korrelation (NGC) basiert. Das Mustererkennungswerkzeug von Matrox Imaging unterliegt kontinuierlichen Verbesserungen, damit es auch heutigen Anforderungen gerecht wird. In diesem Vision Squad File werden die Neuheiten vorgestellt und einige Tipps für den effektivsten Einsatz gegeben.

Neue automatische inhaltsbasierte Auswahl der Auflösungsebene
Die normierte Grauwert-Korrelation eines Musterbildes und eines Zielbildes ist eine rechenintensive Aufgabe, die vorrangig von der Größe beider Bilder abhängt. Um den Prozess zu beschleunigen, führt das Mustererkennungswerkzeug eine hierarchische Suche aus. Dabei wird eine Reihe von Stichprobenbildern, die sogenannte Auflösungspyramide, verwendet. Jedes Bild einer Ebene ist dabei nur halb so groß wie das Bild auf der vorhergehenden Ebene. (Bild 1)
Die Suche beginnt auf einer Ebene mit niedriger Auflösung. Dabei werden Kandidaten gesucht, die auf die nächst höhere Auflösungsebene zwecks lokaler Validierung und besserer Lagegenauigkeit übernommen werden. Die Aufgabe bei der automatischen Wahl der Auflösungsebene besteht darin, die erste und letzte Ebene der Auflösungspyramide passend auszuwählen, bevor die hierarchische Suche beginnt. Standardmäßig erfolgt die automatische Auswahl dieser Ebenen nur aufgrund der Größe des Musterbildes. Dieses einfache Entscheidungskriterium kann zu folgenden Situationen führen:
1. Eine übermäßig aggressive Auswahl der ersten Ebene, wenn ein kleines bedeutendes Merkmal in einem großen Musterbild enthalten ist.
Angenommen, ein sehr kleines rundes Objekt ist das einzige wichtige Merkmal in einem großen Musterbild. Da das Musterbild sehr groß ist, nimmt der Algorithmus an, dass er mit einer sehr nieder aufgelösten Version des Musterbildes arbeiten kann. Aber mit dieser niedrigen Auflösung ist das kleine Merkmal nicht mehr sichtbar und die hierarchische Suche wird keinen Kandidaten finden können, wie in Bild 2 dargestellt.
2. Suboptimale Auswahl der ersten Ebene, wenn ein großes Objekt im Musterbild enthalten ist.
Ein einfaches Suchkriterium basierend auf nur der Größe des Musters kann dazu führen, dass vom Musterbild nicht niedrig genug aufgelöste Bilder erzeugt werden, die trotzdem die Robustheit des hierarchischen Suchalgorithmus nicht negativ beeinflussen. Das ist der Fall, wenn das markante Merkmal einen großen Teil des Musterbildes ausfüllt, siehe Bild 3.
Ab MIL 9 Processing Pack 2 verfügt das Mustererkennungswerkzeug über einen neuen Algorithmus für die automatische Ebenenauswahl, der eine Inhaltsanalyse des Musters ausführt. Damit werden die erste und die letzte Ebene der hierarchischen Suche „intelligenter“ ausgewählt. Dieser neue automatische Modus ist auch deshalb sehr nützlich, weil die Begrenzung der Mustergröße seit MIL 9 aufgehoben wurde. Der Modus wird aktiviert durch die Einstellung des Werkzeugparameters M_FIRST_LEVEL auf M_AUTO_CONTENT_BASED.
Neue automatische inhaltsbasierte Auswahl der Winkeltoleranz und der Genauigkeit
Bei aktiviertem Winkelmodus gibt es einige wichtige Parameter, die das Verhalten des Algorithmus hinsichtlich folgender Aspekte bestimmen:
  • 1. Abgedeckter Winkelbereich während der Suche (Bild 4)
  • 2. Toleranzen und Genauigkeit der Suche
Während des Vorverarbeitungsschrittes (MpatPreprocModel) werden mehrere Muster, jedes mit anderer Ausrichtung, unter Verwendung des Toleranzparameters (M_SEARCH_ANGLE_TOLERANCE) für den Winkelschritt generiert. Der Suchalgorithmus verwendet dann diese rotierten Muster, um mögliche Vorkommnisse im Zielbild zu finden. Ist diese anfängliche grobe Suche erfolgreich, wird der Winkel unter Verwendung des Genauigkeitsparameters (M_SEARCH_ANGLE_ACCURACY) verfeinert.
Standardmäßig ist der Toleranzparameter ein festgelegter Wert (5 Grad), was für viele Situationen ausreichend, obwohl nicht optimal, ist. Der neue automatische Modus wählt intelligent die Winkeltoleranz anhand der Analyse des Inhaltes des Musterbildes. Dieser Modus wird aktiviert durch Setzen des Parameters M_SEARCH_ANGLE_TOLERANCE auf M_AUTO.
Wenn wir das Muster um 5 Grad drehen, aber das Merkmal im Zielbild beträgt 5,5 Grad, wird der Ausrichtungsfehler zu einer schwächeren Trefferquote führen. Das Ausmaß hängt dabei von der Form des Musters ab. Zum Beispiel ist ein Kreis unsensibel gegenüber einer Rotation, ein Liniensegment hingegen stark davon abhängig. Um die Winkelgenauigkeit zu bestimmen, bietet das Mustererkennungswerkzeug einen neuen Parameter an (M_ROTATED_MODEL_MINIMUM_SCORE), um die minimal akzeptierbare Trefferquote bezüglich der Winkelbereichssuche einzustellen. In diesem Fall wird die Winkelgenauigkeit anhand dieser Trefferquoten Limitierung während der Vorverarbeitungsstufe automatisch bestimmt. Standardmäßig ist diese Prüfung ausgeschaltet (M_DISABLE), so dass keine automatische Genauigkeit errechnet wird. Ist ein Wert zwischen 0,0 und 100,0 vorgegeben, wird er verwendet, um automatisch die notwendige Genauigkeit zu errechnen. Der maximale Rotationswinkel, den diese Auswertung ergibt, wird bei der Berechung der Genauigkeit verwendet.
Um zu verhindern, dass ein Vorkommnis im Zielbild aufgrund der Auswahl des Winkels nicht erkannt wird, sollte die minimale Trefferquote (M_ROTATED_MODEL_MINIMUM_SCORE) auf einen Wert eingestellt werden, der höher ist als die generelle Trefferquote (MpatSetAcceptance()). Allerdings, je höher die minimale Trefferquote für die Rotation ist, umso kleiner ist der Winkel und umso länger dauert die Suche.
Optimierung der Geschwindigkeit
Ab MIL 9 Processing Pack 2 kann das Mustererkennungswerkzeug mehrere CPU-Kerne ausnutzen, wodurch die Suche beschleunigt wird (Bild 5). Die Verwendung mehrerer Kerne erfolgt automatisch, sofern dieses einen Nutzen bringt, was von der Größe des Musters abhängt, der Anzahl der Auflösungsebenen, dem Winkelbereich, der Größe des Zielbildes und der Anzahl der Muster.
Zusätzliche Tipps:
Für die Anpassung an die gelockerten Beschränkungen bzgl. der Größe des Musterbildes können die erste und die letzte Ebene manuell auf einen Wert im Bereich [0, MaxLevel] anstelle von [0, 7] eingestellt werden. Der MaxLevel ist ein schreibgeschützter Wert, der vom Modul bereitgestellt und mit MpatInquire(…, M_MODEL_MAX_LEVEL, …) abgefragt werden kann
Matrox Imaging Dorval, Quebec, Canada www.matrox.com/imaging/de/
Newsletter

Jetzt unseren Newsletter abonnieren

Quality Engineering
Titelbild QUALITY ENGINEERING Control Express 1
Ausgabe
Control Express 1.2024
LESEN
ABO
Webinare & Webcasts

Technisches Wissen aus erster Hand

Whitepaper

Whitepaper zum Thema QS


Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de