Inspektion in der Elektronik-
industrie
>

Fehler frühzeitig und zuverlässig erkennen

Mehr

BEREIT FÜR INDUSTRIE 4.0 >

Beleuchtungssteuerungen für die Bildverarbeitung | Teil 3

Mehr

Inspektion von Fahrzeugteilen >

Innovativen Lösungen, um Fehler

frühzeitig und zuverlässig zu erkennen

Mehr

Mustererkennung

Nahezu jedes Toolkit für die Bildverarbeitung beinhaltet ein oder mehrere Mustererkennungswerkzeuge, die in der Lage sind, Objekte und Muster im Bild zu lokalisieren und zu klassifizieren.

Auf diesem Gebiet hat sich in den letzten Jahren viel getan und jeder Algorithmus hat je nach Anwendungsgebiet seine spezifischen Vor- und Nachteile. Mustererkennung kann auf zwei Arten genutzt werden: Bei der Lokalisierung wird die Mustererkennung verwendet, um in einem größeren Bildbereich die Lage eines vordefinierten Musters zu bestimmen, z.B. in einer Pick & Place-Anwendung, bei der ein Bildverarbeitungssystem das Objekt findet und die Position an einen Roboter übermittelt. Bei der Klassifizierung hingegen steht die Frage nach der Art des sichtbaren Objekts an einer gegebenen Stelle im Vordergrund, z.B. im Fall der Texterkennung, wo die Position jedes Zeichens bekannt ist, aber wo es nötig ist festzulegen, welcher Buchstabe oder welche Ziffer vorliegt. In der Praxis unterscheiden viele Tools nicht zwischen diesen beiden Schritten, sondern führen diese nacheinander durch.

Die normierte Grauwertkorrelation ist vermutlich der bekannteste Algorithmus zur Mustererkennung und kommt streng genommen aus dem Bereich der statistischen Bildanalyse. Sie reagiert sehr sensibel auf Lichtveränderungen und arbeitet in ihrer allgemeinen Form nicht rotations- und skalierungsinvariant. Aufgrund dieser Einschränkungen muss das zu findende Objekt die gleiche Größe und Ausrichtung haben wie die Suchvorlage. Einige Implementierungen erlauben es dem Anwender, Toleranzbereiche für Rotation und Skalierung einzustellen.

Allerdings reduziert sich durch Hinzunahme dieser Transformationen auch die Ausführungsgeschwindigkeit deutlich. Wird ein Teil des Musters verdeckt oder verkleinert, verringert sich auch die Korrelation zwischen Bild und Vorlage. Die normierte Grauwertkorrelation kommt also mit partiellen Verdeckungen nicht gut zurecht. Das nachfolgende Bild zeigt einen Screenshot eines KorrelaKorrelationskoeffizienten über die Suchfläche erkennbar: Helle Punkte deuten auf Orte hoher Übereinstimmung zwischen Suchbild und Vorlage hin, während die Bereiche mit niedriger Übereinstimmung dunkel bleiben.

Die geometrische oder kantenbasierte Mustererkennung ist die am weitesten verbreitete Methode, bei der nach Kantenmustern innerhalb eines Bildes gesucht wird. Während der Trainingsphase kann der Anwender auswählen, welche Kantenmerkmale für die Objekterkennung relevant sind, und diese zu einem Modell des gesuchten Musters zusammenfassen.

Üblicherweise arbeiten diese meist sehr schnellen Algorithmen skalierungs- und rotationsinvariant und liefern gute Übereinstimmungen, unabhängig von Größe und Ausrichtung. CVB Shapefinder ist ein Beispiel für diesen Ansatz.

Mustererkennung mit Merkmalsbäumen

Während die vorigen beiden Mustererkennungsansätze normalerweise aus lediglich einem einzigen Bild ein Suchmodell erzeugen können, sind zum Generieren eines Klassifikators für die Mustererkennung auf Basis von Merkmalsbäumen mehrere Beispielbilder pro Klasse nötig. Der Lernalgorithmus extrahiert aus diesen Bildern dann Einzelmerkmale, die in einer Baumstruktur angeordnet werden. Dabei kommt auch das Konzept negativer Information zum Einsatz, bei dem z.B. die Abwesenheit von Merkmalen genutzt wird. Die Anordnung der Einzelmerkmale in einer Baumstruktur erlaubt bei Anwendung eines Klassifikators eine vergleichsweise zügige Abarbeitung der Suche auch bei umfangreichen Modellen. Darüber hinaus steigt der Suchaufwand nicht linear mit der Größe der Lernmenge, sondern nur logarithmisch. Dieser Ansatz eignet sich perfekt für die Unterscheidung Unterscheidung von zwei ähnlichen Mustern. CVB Minos ist ein Beispiel für diesen Ansatz.

Support Vector Machines (SVMs)

Eine fortgeschrittene Methode zur Mustererkennung ist die Anwendung der seit Mitte der 90er Jahre entwickelten Support Vector Machines (SVMs). SVMs sind verallgemeinerte Klassifikationsalgorithmen, die generell als Nachfolger der neuronalen Netze angesehen werden.

Gegenüber diesen bieten sie in der Anwendung etliche Vorteile, sowohl bei der Generierung des Klassifikators als auch beim Einsatz. Support Vector Machines haben sich in der Bildverarbeitung insbesondere dort als vorteilhaft erwiesen, wo Objekte gefunden und klassifiziert werden sollen, wo aber ein analytisches Suchmodell mit vertretbarem Aufwand nicht erzeugt werden kann, weil die Objekte organisch sind oder komplexe Formen aufweisen, die gemeinsam klassifiziert werden müssen. Anwendungen wie die Erkennung der Qualität von Lebensmitteln, der Gesichter von Personen oder von Fahrzeugtypen sind gute Beispiele für solche Anwendungsfälle, die mit analytischen Methoden nur schwer zu bearbeiten sind. Allerdings erfordern SVMs ein intensiveres Training mit einer hohen Zahl von Beispielbildern, um gute Ergebnisse zu erzielen.

Die Gesichtserkennung, Papierklassifizierung, Prüfungen der Oberflächenstruktur und das Lesen handgeschriebener Texte sind Bereiche, in denen mit SVM-basierten Tools im Gegensatz zu anderen Methoden exakte Ergebnisse erzielt werden können. CVB Manto ist ein Beispiel für diesen Ansatz.

Tichonow-Regularisierung

Für lange Zeit waren Support Vector Machines aufgrund der sehr effizienten Nutzung der Speicher- und CPU-Resourcen einerseits und der Flexibilität andererseits eines der am weitesten verbreiteten Werkzeuge zur Erzeugung linearer Klassifikatoren aus großen Datenmengen. Durch die kontinuierliche Weiterentwicklung der zur Verfügung stehenden Rechner ist aber mittlerweile auch das speicher- und rechenintensivere Verfahren der Tichonov-Regularisierung für die Erzeugung von Klassifikatoren für die Bildverarbeitung praktisch nutzbar.

Auf den ersten Blick unterscheiden sich die beiden Verfahren nur wenig voneinander, aber die Tichonov-Regularisierung bietet Möglichkeiten, die mit Support Vector Machines gar nicht oder nur mit erheblichem Aufwand realisierbar sind. Zum Beispiel können bei Einsatz der Tichonov- Regularisierung ohne großen Mehraufwand die verwendeten Lernmengen einem Holdout-Test unterzogen werden, um eine statistisch belastbare Aussage über die Leistung der daraus erzeugten Klassifikatoren zu bekommen - ohne eine separate Testmenge vorhalten zu müssen.

Ersetzt man den üblichen Ansatz der Zwei-Klassen-Klassifikation durch ein bei Bedarf auch mehrdimensionales System kontinuierlicher Werte, dann kann ein Klassifikatorsystem zur mehrdimensionalen Regression erzeugt werden, mit dem sich wiederum neue Anwendungsfelder eröffnen. Mit einem 4-dimensionalen System lassen sich z.B. in einem iterativen Verfahren Position, Drehlage und Skalierung eines Objekts bestimmen - und das mit einer Präzision, die nahe an dem liegt, was geometrische Pattern Matching-Algorithmen erreichen, allerdings bei merklich reduzierter Rechenzeit. Mit einem 6-dimensionalen System wiederum ist es möglich, affin lineare Abbildungen abzuschätzen, was letzten Endes eine 3D-Posenschätzung aus einem 2D-Kamerabild gestattet. CVB Polimago ist ein Beispiel für diesen Ansatz.

Verschiedene Methoden der Mustererkennung

Mit dem fortschreitenden Einzug der Bildverarbeitungstechnologie in die verschiedenen Märkte sind auch die Anforderungen an die Werkzeuge der Bildverarbeitung kontinuierlich gestiegen. Für die Mustererkennung existiert eine Vielzahl von Ansätzen. Stand bisher die zweidimensionale Positionsbestimmung eines Objekts im Vordergrund, so erfordern neuartige Anwendungen zusätzliche Informationen wie beispielsweise die Orientierung und die Größe eines Objektes.

Auch rücken allgemein die räumliche Erfassung eines Objektes und seine relative Lage zur Position der Kamera in den Fokus. Die Verfahren zur Lagebestimmung werden im technischen Sprachgebrauch auch als Posenschätzung bezeichnet und stellen eine wichtige Grundlage für Pick & Place- sowie Tracking-Anwendungen dar.

Die einzelnen CVB-Werkzeuge zur Mustererkennung unterscheiden sich wie folgt:

  • CVB Polimago: Erkennung von polymorphen Objekten, Positions-, Rotations-, Skalierungs- und Verkippungsinvariant

  • CVB Minos: Hochgeschwindigkeits-Objekterkennung, OCR/OCV

  • CVB Manto: Erkennung/Klassifizierung stark variierender Objekte und Texturen

  • CVB Shapefinder: Kantenbasierte Objekterkennung