Eine
typische Prüfaufgabe in der industriellen Bildverarbeitung besteht aus mehreren
Schritten, die sequentiell abgearbeitet werden. Dieser Ablauf ist die "Bildverarbeitungskette".
Bildaufnahme
Die Bildverarbeitungskette beginnt mit der Bildaufnahme in einer Kamera. Dazu
ist eine Probenzuführung erforderlich, die den Prüfling in das Gesichtsfeld
der Kamera bringt. In der Industrie wird entweder "im Takt" gefertigt,
so daß in regelmäßigen Zeitabständen ein Objekt durch einen Automaten, einen
Roboter oder manuell durch einen Bediener an einer definierten Position platziert
wird und dort für einige Zeit liegen bleibt. Die andere Methode ist die "laufende
Fertigung", bei der die Prüflinge z.B. auf einem Fließband liegen und
an der Kamera vorbeigefahren werden, zum Teil mit erheblichen Transportgeschwindigkeiten.
Die Bildaufnahme- und Beleuchtungstechnik muß diesen Verhältnissen angepaßt
sein. In jedem Fall ist ein Signalgeber erforderlich, der der Kamera meldet,
daß ein Prüfling sich in der Prüfposition oder jedenfalls an einer definierten
Stelle in Bezug auf das Gesichtsfeld befindet, so daß die Bildaufnahme und
gegebenenfalls auch eine Blitzbeleuchtung gezielt ausgelöst werden können.
Auch bei der Prüfung von Endlosmaterial, z.B. von Rollenware, müssen solche
Aspekte berücksichtigt werden.
Die Probenzuführung und das "Triggern" der Aufnahme können schwierige
Teilprobleme bei der Lösung einer Prüfaufgabe sein. Die damit zusammenhängenden
Fragen werden in Bildverarbeitungsvorlesungen im Hauptstudium behandelt. Die
Förderung, Vereinzelung und Positionierung der Prüflinge sind Probleme, die
in den Bereich des Maschinen- und Anlagenbaus gehören und normalerweise nicht
in den unmittelbaren Verantwortungsbereich eines Bildverarbeitungsingenieurs
fallen. Ein Ingenieur in einer Bildverarbeitungsfirma, die komplette Prüfstationen
verkauft oder in eine größere Anlage integriert, wird sich aber zwangsläufig
mindestens so weit mit diesen Fragestellungen befassen müssen, wie sie Rückwirkungen
auf die Beleuchtung und Bildaufnahme haben, z.B. in Bezug auf den verfügbaren
Platz zum Einbau, den Abstand zum Objekt, die Farbe des Untergrunds, die Reflektivität
der umgebenden Oberflächen oder die Transportgeschwindigkeit.
Neben der Problematik der mechanischen Integration in den Prozeß spielen an
dieser Stelle der Bildverarbeitungskette die Eigenschaften des Bildaufnehmerchips,
die Beleuchtung und die Abbildungsoptik eine Rolle. Auch in diesen Systemkomponenten
findet bereits "Bildverarbeitung" statt. Bei der Übertragung der
Daten vom Bildaufnehmer zum Bildspeicher können die Bilddaten ebenfalls modifiziert
werden. Das ist insbesondere der Fall, wenn die Bilddaten zunächst in ein
analoges Videosignal eingebettet und dann in einem "Framegrabber"
wieder in Grauwerte für einzelne Pixel umgesetzt werden. Grundsätzlich kann
jedes Element im Signalpfad vom Objekt zum Arbeitsspeicher Einfluß auf die
Bilddaten haben und muß als Teilsystem der Bildverarbeitungskette aufgefaßt
werden.
Bildvorverarbeitung, ROI
Der nächste Schritt in der Bildverarbeitungskette ist die Bildvorverarbeitung.
An dieser Stelle werden die Verfahren zur Bildverbesserung eingesetzt, die
im vorherigen Kapitel behandelt wurden. In dieser Stufe werden auch Bildverzeichnungen
und Inhomogenitäten der Beleuchtungsverteilung korrigiert. Die Berechnung
und Analyse des Grauwerthistogramms, die zur Vorbereitung einer Binarisierung
erforderlich ist, gehört ebenfalls
zur Bildvorverarbeitung.
Bei diesem Schritt werden oft Bildausschnitte definiert, in denen die nachfolgenden
Bildverarbeitungsoperationen ausgeführt werden. Diese Ausschnitte, die sog.
"regions of interest" (ROI) oder "areas of interest",
können entweder beim Einrichten der Prüfstation in einem bestimmten Bereich
des aufgenommenen Bildes fest vorgegeben werden, sie können aber auch dynamisch
von Bild zu Bild neu berechnet werden. Beispielsweise kann bekannt sein, daß
im oberen rechten Quadranten des Bildes ein Strichcode liegen muß, die genaue
Position in diesem Bereich aber in beiden Achsenrichtungen um ± 50
Pixel schwanken kann, weil die Zuführung nicht genauer ist. In einem solchen
Fall wird der Strichcode in diesem Suchfenster "angetastet", d.h.
seine Position und möglicherweise auch seine Orientierung werden bestimmt,
so daß der Bildbereich, innerhalb dessen sich der Strichcode befindet, weiter
eingegrenzt werden kann. Strukturen aus der Umgebung, die bei den nachfolgenden
Schritten stören könnten, werden dadurch ausgeblendet. Außerdem kann ein kleiner
Bildausschnitt schneller abgearbeitet werden als ein ganzes Bild. Ein Beispiel sehen Sie in brief3.set.
Wenn die Orientierung oder die Größe von Objekten für die nachfolgenden Algorithmen
eine Rolle spielt, wird eine Bildausschnitt häufig in eine Normlage gedreht
oder auf eine Normgröße transformiert. Verfahren zur Zeichen- und Codeerkennung
haben häufig solche Vorstufen, die dann ebenfalls zur Bildvorverarbeitung
gehören.
Generell können alle Methoden, die zur Vorbereitung komplexeren Verfahren
zur Gewinnung von Objektmerkmalen erforderlich sind, der Bildvorverarbeitung
zugeordnet werden. Oft sind diese Methoden einfach, aber zeitaufwendig, wie
z.B. die Korrektur einer Drehlage. Dafür sind schnelle Realisierungen gefragt,
und deshalb werden Standardoperationen der Bildvorverarbeitung in Hardware
umgesetzt. Ein einfaches Beispiel dafür sind die LUT für Grauwerttransformationen,
komplexere Beispiele sind programmierbare Logiknetze (FPGA), die ganze Filteroperationen
in Hardware abarbeiten können.
Segmentierung
Segmentierung ist die Klassifizierung von Bildbereichen als "Objekt"
oder als "Hintergrund". Im einfachsten Fall gelingt die Segmentierung
durch Binarisierung mit einer konstanten
Grauwertschwelle, so daß z.B. die schwarzen Pixel zu den Objekten und die
weißen Pixel zum Hintergrund gehören. Es gibt jedoch viele Anwendungsfälle,
bei denen wesentlich komplexere Verfahren der Segmentierung erforderlich sind.
Sie werden diese Methoden in den weiterführenden Vorlesungen noch im Detail
kennen lernen.
Labeling
Wenn die Objekte vom Untergrund getrennt sind, ist zwar von jedem Pixel bekannt,
ob es zum Untergrund oder zu einem Objekt gehört. Wenn die Eigenschaften einzelner
Objekte gefragt sind, muß aber auch bekannt sein, welches Pixel zu welchem
Objekt gehört. Die Objekte müssen also nicht nur vom Untergrund, sondern auch
voneinander getrennt werden. Dieser Vorgang wird als "Labeling"
bezeichnet. Dabei wird jedem Pixel ein Etikett (ein "label") angehängt,
aus dem hervorgeht, zu welchem Objekt das Pixel gehört. Die Objekte werden
dazu in der Reihenfolge ihres Auftretens im Bild numeriert, und jedem Objektpixel
wird die entsprechende Nummer als Grauwert zugeordnet. Obwohl das Bild binarisiert
wurde, werden jetzt also Grauwerte verteilt: das erste Objekt erhält den Grauwert
1, das zweite den Grauwert 2 usw. Anhand des Grauwerts kann man dann für jedes
Pixel sofort erkennen, zu welchem Objekt es gehört.
Praktisch jedes Softwarepaket für die Bildverarbeitung enthält eine Labeling-Funktion.
Trotzdem wird das Labeling in der Literatur nicht sehr ausführlich beschrieben.
Sie werden deshalb im Lauf der Vorlesung einen Algorithmus für das "Labeling"
im Detail kennen lernen.
Merkmalsextraktion
Bei naiver Betrachtung einer Prüfaufgabe kann der Eindruck entstehen, daß
die eigentliche "Prüfung" darin besteht, Eigenschaften der Objekte
zu ermitteln, die sich im Gesichtsfeld der Kamera befinden. Eigenschaften,
die dazu dienen, die Prüflinge nach vorgegebenen Kriterien zu beurteilen,
werden in der Bildverarbeitung als Merkmale bezeichnet. Typische Merkmale
sind Fläche, Umfang, Durchmesser oder Rundheit eines Objekts. Sie werden im
weiteren Verlauf der Vorlesung eine Reihe von Merkmalen kennen lernen. Die
vorgelagerten Schritte, also Bildaufnahme, Vorverarbeitung, Segmentierung
und Labeling, dienen in diesem Sinnen lediglich der Vorbereitung der Merkmalsextraktion.
Sie gehören aber selbstverständlich ebenfalls zur Bildverarbeitungskette und
müssen angemessen gelöst werden. Es gibt Anwendungen, bei denen gerade diese
"vorbereitenden" Schritte sehr aufwendige Lösungen erfordern, die Merkmalsextraktion aber sehr einfach ist.
Gelegentlich werden die oben schon erläuterten "regions of interest"
erst in dieser Phase definiert. Man kann sogar so weit gehen, jedes einzelne
"gelabelte" Objekt als "region of interest" aufzufassen.
Klassifizierung
Die letzte Stufe in der Bildverarbeitungskette ist in der industriellen Bildverarbeitung
eine Bewertung der Merkmale des Prüflings. Oft ist lediglich die Entscheidung
gefordert, ob der Prüfling "gut" oder "schlecht" ist,
es kann aber auch eine Einteilung in mehrere Gruppen notwendig sein. Die Merkmale
liegen numerisch vor, man kann sie im weitesten Sinne als Meßwerte auffassen.
Auf der Basis dieser Zahlenwerte wird der Prüfling entweder einer bestimmten
Klasse innerhalb der möglichen Vielfalt der Merkmalskombinationen zugeordnet
oder als außerhalb liegend eingestuft. Dieser Vorgang wird in der Bildverarbeitung
als Klassifizierung bezeichnet.
Im einfachsten Fall wird nur ein Merkmal extrahiert, z.B. die Fläche eines
Objekts, und mit einem vorgegebenen Toleranzbereich verglichen. Es kann auch
vorkommen, daß lediglich die Zahl der Objekte in einem Bild ermittelt und
auf Übereinstimmung mit einer Vorgabe verglichen werden muß, z.B. bei der
Überprüfung eines Kugellagers auf die korrekte Zahl der Kugeln.
Normalerweise ist die Klassifizierung jedoch komplizierter, weil der Merkmalsraum
mehrdimensional ist. Die Merkmalswerte müssen meist miteinander verknüpft
werden und streuen außerdem. Als Klassifikatoren werden statistische Verfahren
und auch recht komplexe Methoden, z.B. neuronale Netze oder Methoden aus der
Fuzzy-Logik eingesetzt. Sie werden eine Reihe dieser Methoden im Laufe des
Studiums im Detail kennen lernen.
Das Hauptproblem besteht aber meist darin, den Anwender auf Klassengrenzen
festzulegen, innerhalb derer ein Prüfling als "gut" eingestuft wird.
Auch die Diskussionen darüber, welche Merkmale denn zur Klassifizierung herangezogen
werden sollen, können sich zu abendfüllenden Veranstaltungen entwickeln. Ein
etabliertes Verfahren besteht darin, daß der Anwender zwei Gruppen von möglichst
repräsentativen Mustern beistellt, die von der Prüfanlage jeweils als "gut"
bzw. als "schlecht" klassifiziert werden müssen. Die Anwendung wird
dann daraufhin optimiert, anschließend probeweise in der Produktion installiert
und die Klassifizierung aufgrund der Erfahrungen in der Linie optimiert.