Beiträge zur Automatisierung und Optimierung des Entwurfs bildbasierter Erkennungssysteme Stefanie Peters Andreas König ITG-Fachgruppensitzung, ITG-Fachgruppensitzung, 17.11.2006 17.11.2006 Inhalt Einleitung Bildbasierte Inspektionssysteme Strukturoptimierung Evolutionäre Algorithmen Segmentierung von Bildern Beispiel: Segmentierung dünner Fasern Zusammenfassung und Ausblick Seite 2
Einleitung Bildanalyse erfordert technisch ausgefeilte Methoden der Signalverarbeitung und der Computational Intelligence (CI). Struktur (Methodenauswahl & -kombination) und Parameteroptimierung sind hierbei wichtige Schritte im Entwurfsprozess. Teilgebiete können automatisch entwickelt und optimiert werden (z.b. Klassifikator-Design und gewisse dimensionsreduzierende Techniken). Dennoch werden die meisten Entwicklungsschritte weiterhin manuell ausgeführt ( zeit- und kostenintensiv). Vermehrt Forschungsaktivität im Bereich Autokonfiguration und automatischem Design. Source: Fraunhofer ITWM Seite 3 Einsatzgebiete bildbasierter Erkennungssysteme Anwesenheitskontrolle OCR, OCV, Barcode lesen Vermessung Lokalisation Klassifikation Detektion von Oberflächenfehlern Trennung von Objekt und Untergrund Seite 4
Aufbau eines Inspektionssystems Ablauf: Sortieranlage Seite 5 Aufbau eines Inspektionssystems Ablauf: 1. Bildaufnahme Sortieranlage Seite 6
Aufbau eines Inspektionssystems Ablauf: 1. Bildaufnahme 2. Lokalisierung Sortieranlage Seite 7 Aufbau eines Inspektionssystems Ablauf: 1. Bildaufnahme 2. Lokalisierung 3. Vorverarbeitung 4. Merkmalsberechnung 5. Klassifikation Sortieranlage Seite 8
Aufbau eines Inspektionssystems Ablauf: 1. Bildaufnahme 2. Lokalisierung 3. Vorverarbeitung 4. Merkmalsberechnung 5. Klassifikation 6. Steuerung Sortieranlage Seite 9 Inspektionssysteme Sortieranlage Seite 10
Unterschiedliche Materialien Zum Beispiel: Metall, Kunststoff, Textilien, Papier, Metall Papier Freiformflächen Holz, Vliesstoffe, Leder, Vlies Holz Textilien Seite 11 Individuelle Anpassung des Bildverarbeitungssystems Prüfgeschwindigkeit Unternehmen Produktion Material Entwickler des BV-Systems Beleuchtung BVsystem Hardware Algorithmen Kameras Seite 12
Fraunhofer-Institut für Techno- und Wirtschaftsmathematik ITWM Beispielalgorithmus: Binarisierung Banane Schwelle (T = 1 bis 255, Tmanuell = 98) Kratzer auf Leder Schwelle (T = 145 bis 213, Tmanuell = 194) Seite 13 Motivation: Strukturoptimierung Algorithmen Bildverarbeitungskette Seite 14 7
Motivation: Strukturoptimierung Algorithmen Bildverarbeitungskette Seite 15 Evolutionäre Algorithmen Stochastische Suchverfahren, die mit Prinzipien der natürlichen Evolution arbeiten: Population, Selektion, Rekombination (Kreuzung), Mutation. Suche nach einem lokalen Optimum. Quelle: http://www.paleoweb.net/ pal-ges/bilder/evolution-poster.jpg Seite 16
Merkmale und Eigenschaften Parallele Suche in einer Population von Individuen. Kann mehrere potentielle Lösungen anbieten. Verwendung von Wahrscheinlichkeitsregeln. Erlaubt kontinuierliche und diskrete Variablen. Anwendbar auf große Klassen von Problemen. Verwendung von mehreren Randfunktionen möglich (z.b. Bestrafungselemente). Seite 17 Struktur des Optimierungsalgorithmus Seite 18
Abbruchkriterien der Optimierung Ein Individuum der Population erreicht eine vorgegebene Fitness-Schwelle. Die maximale Anzahl von Generationen ist erreicht. Seite 19 Anwendung evolutionärer Algorithmen für die Bildverarbeitung Zielsetzung: Finde eine Bildverarbeitungs-Algorithmenkette und optimiere deren Parameter, so dass ein bestimmtes Zielergebnis erreicht wird. Segmentierung von Bildern: Ein Ergebnisbild der Algorithmenkette gleicht einem manuell erstellten Referenzbild. Feature-Extrahierung und Klassifizierung: Segmentierte Bereiche (Objekte) im Ergebnisbild werden anhand diverser Features (z.b. Texturmerkmale) bewertet. Seite 20
Anwendung evolutionärer Algorithmen für die Bildverarbeitung Individuum: Besteht aus einer festen Anzahl ikonischer Bildverarbeitungsalgorithmen (Bild-zu-Bild). Jeder Algorithmus hat eine bestimmte Anzahl von Eingangs- und Ausgabebildern sowie Parametern. Dem Individuum stehen globale Read-Only -Bildspeicher (Originalbilder) und temporäre Bildspeicher ( Read and Write für Zwischenbilder, bzw. Ergebnisbilder) zur Verfügung. Die BV-Algorithmen bilden eine Graphenstruktur, die einzelnen Algorithmen (Knoten des Graphen) werden jedoch sequentiell abgearbeitet. Seite 21 Initialisierung eines Individuums Zufällig werden aus einem Pool von (ikonischen) BV Algorithmen nacheinander einzelne Algorithmen ausgewählt. Der erste Algorithmus kann nur auf die Originalbilder als Eingabebild zugreifen. Das Ergebnisbild wird in einem temporären Bildspeicher abgelegt. Die Parameter des Algorithmus werden zufällig initialisiert. Der zweite Algorithmus kann folglich auf die Originalbilder und den belegten temporären Speicher zugreifen. Dieser Ablauf wird solange wiederholt, bis eine gewünschte Anzahl von Algorithmen erreicht ist. Filter, Morphologische Operationen, Diese Sequenz der BV-Algorithmen bildet einen Graphen (d.h. ein Individuum). Seite 22
Beispiel für einen Bildverarbeitungsgraphen Seite 23 Selektion Elitismus: Die n besten Individuen werden ohne Veränderung in die nächste Generation übernommen. Vielfalt: Um die Vielfalt der nächsten Generation zu erhöhen, werden neu initialisierte Individuen gebildet. Für die anschließende Rekombination werden Eltern aus der Generation selektiert. Dies geschieht über eine einfache Tournament-Selektion: Pro Elter werden m zufällig ausgewählte Individuen der Elterngeneration miteinander verglichen. Das Individuum mit der besten Fitness wird Elternteil für die anschließende Kreuzung. Seite 24
Rekombination (Kreuzung) Es findet Single-Point-Crossover statt. Die Sequenz der Bildverarbeitungsalgorithmen wird an einer zufälligen Stelle unterbrochen. Von einem Elter werden die Algorithmen vor dem Kreuzungspunkt, von einem zweiten Elter die Algorithmen nach dem Punkt verwendet. Die beiden Teilstränge werden zu einem neuen Individuum zusammengesetzt. Der Vorgang wird solange wiederholt, bis ein überlebensfähiges Individuum entsteht. Seite 25 Rekombination (Kreuzung) Seite 26
Rekombination (Kreuzung) Seite 27 Rekombination (Kreuzung) Seite 28
Rekombination (Kreuzung) Seite 29 Mutation der neuen Generation Drei Arten von Mutationen können auftreten: Knoten-Mutation: Ein Bildverabeitungsalgorithmus innerhalb des Graphen wird gegen einen zufällig aus dem Pool ausgewählten ausgetauscht. Die Ein- und Ausgabebildpositionen bleiben dabei wenn möglich erhalten. Input/Output-Mutation: Eine Verbindung zwischen zwei Knoten des Graphen wird verändert. Parameter-Mutation: Ein zufälliger Parameter eines Bildverabeitungsalgorithmus wird reinitialisiert. Seite 30
Mutation am Beispiel des Graphen Seite 31 Mutation am Beispiel des Graphen Parameter-Mutation Seite 32
Mutation am Beispiel des Graphen Knoten-Mutation Seite 33 Mutation am Beispiel des Graphen Input/Output-Mutation Seite 34
Anwendung für die Segmentierung/Binarisierung von Bildern Ziel: Finde eine Bildverarbeitungs-Algorithmenkette, so dass das Ergebnisbild einem manuell erstellten Referenzbild gleicht. Dicke und dünne Fasern Manuelle Segmentierung EA Automatische Segmentierung Seite 35 Bestimmung der Fitness eines Individuum für diesen Fall Jedes Ergebnisbild innerhalb eines Individuums wird bewertet. l.o.: Original, r.o.: Referenzbild (manuelle Segmentierung), l.u.: Ergebnisbild (Automatische Segmentierung der dünnen Fasern), r.u.: Differenzbild zwischen manueller und automatischer Segmentierung (nur dünne Fasern) Fitness - beruht auf der Summe der absoluten Differenzen zwischen den Grauwerten des Referenzbildes (objektbezogen) und des Ergebnisbildes: Fitness = Objekte x, y, z g( x, y, z) Normierungsfaktor Referenzbild g( x, y, z) Ergebnisbild + 1 Die beste Fitness der einzelnen Ergebnisbilder bestimmt die Fitness des Individuums. Seite 36
Rauschreduktion und Binarisierung Original Referenz Ergebnis Differenz (Referenz, Ergebnis) Zwei Durchläufe für eine automatische Optimierung lieferten folgende Sequenzen von Algorithmen: 1: 2: Rangordnungsfilter, Morph. Schließung (Ergebnis siehe oben) Mittelwertfilter, Binarisierung Seite 37 Segmentierung dünner Fasern in 2d and 3d Bildern Dünne und dicke Fasern (CT) GP GP GP 2d Optimierung: Ergebnis der 2d Optimierung angewendet auf die 3d Volumendaten: 3d Optimierung: Resubstitution (2d) f R = 97.2 % Resubstitution (3d) f R = 96 % Generalisierung (2d) f G = 96.9 % Generalisierung (3d) f G = 92.8 % Generalisierung (3d) f G = 93 % Seite 38
Segmentierung linkslaufender Fasern (2d) Original Referenz Ergebnisbild (Unterschiede zum Referenzbild: rot/türkis) Mittelwertfilter, Richtungsabhängige morph. Operationen, Binarisierung Seite 39 Zusammenfassung der Strukturoptimierung Durch variable Fitnessberechnungen (bildbasiert bzw. parameterbasiert) lassen sich eine Vielzahl von Aufgabenstellungen abdecken. Einfache bis mittelschwere Segmentierungsaufgaben können bei minimalem menschlichen Einsatz automatisch gelöst werden. Gerade bei großen Datenmengen (z.b. 3d Daten) kann dies von Vorteil sein. Die Modularität des Systems ermöglicht eine einfache Erweiterung bzw. Einbindung zusätzlicher BV-Algorithmen. Mit wachsender Komplexität und Verfahrenszahl muss Hierarchiebildung durch Einbringung von Vorwissen und damit menschlicher Handarbeit erfolgen. Seite 40
Ausblick: Texturerkennung und Filterdesign Auch hier gibt es zahlreiche bewährte Methoden der Analyse: Histogramme, Filter bzw. Filterbänke, Ansatz 1: Die Parameter einer Methode werden anhand diverser Kriterien (Zeit, Erkennungsraten, u.s.w.) optimiert. Ansatz 2: Konkurrierende Methoden dienen als Module für die Optimierung. Ansatz 3: Neue Filter werden generiert. Seite 41 Ausblick: Erweiterung auf weitere Bereiche eines BV-Systems Prüfgeschwindigkeit Unternehmen Produktion Material Entwickler des BV-Systems Beleuchtung BVsystem Hardware Algorithmen Kameras Seite 42
Vielen Dank für Ihre Aufmerksamkeit! Seite 43