Bildverarbeitung
aus Wikipedia, der freien Enzyklopädie
Die (digitale) Bildverarbeitung nutzt die Mittel der Signalverarbeitung zur Aufbereitung und Speicherung von visuellen Informationen. Im Gegensatz zur Bildbearbeitung, welche sich mit der Manipulation von Bildern zur anschließenden Darstellung beschäftigt, dient die Bildverarbeitung als eine Zwischenstufe zu einer weitergehenden maschinellen Bearbeitung (Bildverstehen, Mustererkennung). Bildverarbeitung wird unter anderem verbreitet im Maschinenbau eingesetzt. Mit Methoden der Bildverarbeitung werden in Maschinen Objekte vermessen, Objekte inspiziert oder codierte Informationen gelesen.
Inhaltsverzeichnis |
[Bearbeiten] Anwendungen der Bildverarbeitung
[Bearbeiten] Vermessung von Objekten
Eine häufige Aufgabe maschineller Bildverarbeitung ist die automatisierte Vermessung von Objekten (vor allem Position und Drehlage). Zum Beispiel in der Halbleiterfertigung ist die präzise Bestückung von Bauteilen erforderlich. Um die Genauigkeit garantieren zu können wird ein Bild des Bauteils aufgenommen und automatisch vermessen. Es wird zum Beispiel die Position der Ecke eines Chips in einem Bild gemessen. Mit dieser Information kann dieser Chip präzise positioniert werden.
Gesucht wird im Allgemeinen nach geometrischen Mustern (Eck, Kreis, Kreuz...) oder nach einem Muster, das von einem 'golden Sample' eingelernt wurde. Es wird zum Beispiel auf einer Chip-Bestückmaschine ein Chip vor die Kamera gefahren und ein Muster am Chip gelernt. Bei allen weiteren Chips wird von der Bildverarbeitung automatisch nach diesem Muster gesucht und die Position im Bild gemessen.
[Bearbeiten] Inspektion von Objekten
Bei dieser Anwendung werden automatisch bestimmte Eigenschaften in einem Bild überprüft. Zum Beispiel wird bei einer Bier-Abfüllanlage geprüft, ob in jeder Flasche gleich viel Bier eingefüllt wurde. Dazu wird ein Bild des Flaschenhalses gemacht und die Flüssigkeitskante gemessen. Vor der Abfüllung wird geprüft ob der Flaschenhals Risse oder Absplitterungen aufweist.
Eine andere Anwendung ist die Vermessung von Kleber in Mikromechanik. Bei der Fertigung von Kameramodulen für Mobiltelefone wird Kleber auf den Linsenhalter aufgetragen. Um eine gleichmäßige Qualität der Produktion zu gewährleisten wird die Form dieses Klebers in einem Bild geprüft. Wenn der Kleberauftrag nicht innerhalb gewisser Toleranzen liegt wird das Bauteil ausgeschieden.
In der Halbleiterfertigung werden zum Beispiel Chips automatisch auf Risse oder Ausbrüche untersucht.
[Bearbeiten] Lesen von codierten Informationen
Mittels Bildverarbeitung können aus Bildern codierte Informationen automatisiert ausgelesen werden. Zum Beispiel kann ein in DataMatrix-Form codierter Text ausgelesen werden oder Information mittels OCR als Klartext extrahiert werden.
In der Automobilfertigung werden z. B. Seriennummern von Bauteilen in DataMatrix-Form codiert. Wenn eine Baugruppe einen Fertigungsbereich erreicht, wird mit einer Kamera ein Bild des Codes aufgenommen und der Code ausgelesen. Mit dieser Seriennummer erhalten Maschinen des Fertigungsbereichs von einem Server Informationen, wie die Baugruppe zu behandeln ist.
[Bearbeiten] Objekte der Bildverarbeitung
Die in der Bildverarbeitung manipulierten Objekte lassen sich nach verschiedenen Gesichtspunkten klassifizieren:
[Bearbeiten] Typ
- Reflexionsbilder (z. B. Kameraaufnahmen, Radaraufnahmen, Multispektralaufnahmen)
- Projektionsbilder (z. B. Röntgenaufnahmen, Ultraschall, Elektrophoretogramme)
- Schematisierte Bilder (z. B. Karten, Pläne, Dokumente)
Manchmal findet sich auch die Unterscheidung zwischen Reflexions- (s. o.), Absorptions- (Röntgen), und Emissionsbildern (astronomische Aufnahmen, Nuklearaufnahmen) in der Fachliteratur.
[Bearbeiten] Codierung
- Rasterbilder (z. B. konventionell auf quadratischem Gitter)
- Kettencodierung (durch Richtungsangaben beschriebene Bildlinien)
- Transformationscodierung (Ergebnis einer Reihenentwicklung)
- Fraktale Codierung (Ausnutzung von Selbstähnlichkeit)
[Bearbeiten] Operationen der Bildverarbeitung
Die Operationen in der Bildverarbeitung lassen sich in drei Klassen einteilen: Punktoperatoren, lokale Operatoren und globale Operatoren. Diese Einteilung basiert darauf, wie viele Bildpunkte bei dem jeweiligen Verfahren für die Berechnung eines neuen Grau- oder Farbwertes f(x,y) eines Bildpunktes (x,y) betrachtet werden. Punktoperatoren transformieren jeden Punkt eines Bildes einzeln nur in Abhängigkeit vom Grau- oder Farbwert und ggf. der Position im Bild. Beispiele hierfür sind Histogrammtransformationen wie die Histogrammspreizung oder die Histogrammäqualisation. Lokale Operatoren berechnen einen neuen Farb- oder Grauwert eines Bildpunktes immer auf Basis einer Nachbarschaft oder einer örtlich begrenzten Region um den Punkt. Hier seien als Beispiele Rangordnungsoperatoren oder morphologische Operatoren genannt. Globale Operatoren betrachten für die Transformation eines jeden Pixels immer das gesamte Bild, was beispielsweise bei der Fouriertransformation der Fall ist.
[Bearbeiten] Punktoperatoren
- Hauptartikel: Punktoperator (Bildverarbeitung)
Ein Punktoperator T ordnet einem Eingabebild f durch Transformation der Grauwerte der einzelnen Pixel ein Ergebnisbild f* zu. Der Grauwert f(x,y) eines Pixels (x,y) wird dabei nur in Abhängigkeit vom Grauwert selbst und eventuell von der Position des Pixels im Bild modifiziert:
- f * (x,y) = Txy(f(x,y))
Ist die Transformation von der Position des Pixels im Bild abhängig, so heißt sie inhomogen. Die Indizes x und y von T sollen diese Abhängigkeit verdeutlichen. In der Mehrheit der Fälle kommen jedoch homogene Transformationen zum Einsatz, bei denen diese Abhängigkeit nicht gegeben ist. Die Indizes werden dann überflüssig:
- f * (x,y) = T(f(x,y))
[Bearbeiten] Histogramm
In der digitalen Bildverarbeitung versteht man unter einem Histogramm die statistische Häufigkeit der einzelnen Grau- bzw. Farbwerte in einem Bild. Das Histogramm eines Bildes erlaubt eine Aussage über die vorkommenden Grau- bzw. Farbwerte und über Kontrastumfang und Helligkeit des Bildes.
Typische Punktoperatoren bewirken eine sichtbare Änderung im Histogramm. So wird es bei einer Histogrammspreizung zwecks Erhöhung des Kontrasts auseinandergezogen oder bei einer Histogrammverschiebung zwecks Helligkeitskorrektur durch Addition einer Konstante verschoben. Eine klassische Anwendung von Histogrammen in der Bildverarbeitung liegt in der Äqualisation (auch Egalisierung oder Einebnung genannt), bei der eine Gleichverteilung der Grau- bzw. Farbwerte berechnet wird. Dadurch kann eine bessere Verteilung der Farbgebung erreicht werden, die über eine bloße Kontrastverstärkung hinausgeht.
[Bearbeiten] Schwellwertoperationen
- Hauptartikel: Schwellwertverfahren
Sollen Bilder in kleinere Farbräume konvertiert werden, ergibt sich das Problem der Bestimmung adäquater Schwellwerte. Eine klassische Aufgabe ist die Binarisierung eines Grauwertbildes. Typische Schwellwerte können aus dem Grauwerthistogramm eines Bildes gewonnen werden:
- Mittelmäßiger Grauwert
- Mittlerer oder erwarteter Grauwert
- Grauwertmedian
- Hauptsenken (zentralste relative Extremstellen des Grauwerthistogramms)
- Maximum-Entropie-Schwellwert
Andere Methoden bieten ein „Grauwertmischverteilungsmodell“ oder der Intermeans-Algorithmus.
[Bearbeiten] Lokale Operatoren
[Bearbeiten] Filter
Die Operationen, die ein Eingangsbild mit Hilfe einer mathematischen Abbildung in ein Ausgabebild überführen, heißen Filter. Die folgenden Filter beziehen sich im Wesentlichen auf Rasterbilder.
Ziel einer Filterung ist im Allgemeinen eine Verbesserung eines Musters. Im Einzelnen kann dies eine Reduktion störender Anteile, eine Hervorhebung informativer Anteile bzw. die Restaurierung eines idealen Musters sein. Die Abbildung welche ein gegebenes Bild auf ein Ausgabebild abbildet, heißt Transformation.
Die Funktionsfamilie gμ mit heißt Impulsantwort des linearen Systems . ist die Diracsche Deltafunktion mit Impuls bei x = μ.
[Bearbeiten] Separierbarkeit
In der Praxis nutzt man gerne separierbare Filter. Separierbar ist ein Filter immer dann, wenn man die Impulsantwortgij folgendermaßen ausdrücken kann:
- gi,j = g1ig2j
Es gilt dann:
Man kann dann die 2D-Faltung aufspalten in zwei 1D-Faltungen. Dies verringert den Aufwand einer Faltung bei einem Bildpunkt von M·N auf M+N Multiplikationen. Wobei M die Breite und N die Höhe der FIR-Filtermatrix ist.
[Bearbeiten] Nichtlineare Filter
[Bearbeiten] Morphologische Operationen
Während Grauwertrasterbilder für gewöhnlich als Abbildung von Koordinatenpaaren auf Farbwerte dargestellt werden, bietet sich für Binärbilder eine Darstellung als Menge der gesetzten Pixel an. Operationen können dann als Mengenoperation zwischen den Rasterpunktmengen des Binärbildes und eines Strukturelementes beschrieben werden. Aus den Basisoperationen der Morphologischen Bildverarbeitung, der Erosion und Dilatation, lassen sich die Operationen Öffnung, Schließung und schließlich die Morphologische Glättung definieren.
[Bearbeiten] Filter nach Anwendungsgebieten
[Bearbeiten] Glättung
Durch Glättung kann das Bildrauschen vermindert werden, grobere Strukturen bleiben dagegen erhalten. Hier ein Beispiel für ein (künstlich) verrauschtes Bild. Auf das Frequenzspektrum eines Bildes bezogen kommt eine Glättung einem Tiefpassfilter gleich. Typische FIR-Glättungsfilter sind
- Mittelwertfilter (box filter): Ein Mittelwertfilter der Größe wird durch eine -Impulsantwortmatrix gnm = (nm) − 1 beschrieben. Die Bildpunkte des transformierten Bildes sind somit die Mittelwerte ihrer Nachbarn. Box-Filter sind nicht isotrop und nicht abklingend und stellen entgegen einer naiven Einschätzung keinen eigentlichen Tiefpassfilter dar.
- Gaußfilter: Gaußfilter der Größe und einer Varianz σ2 werden durch eine Impulsantwortmatrix beschrieben. Die Nachbarpunkte des Ausgangsbildes gehen damit nicht wie beim box-filter gleichwertig ein, sondern werden entsprechend einer zweidimensionalen Gaußglocke gewichtet. Gaußfilter sind damit isotrop und abklingend. Sie werden als reales optisches Bauteil als Gauß-Filterung der Fourier-Transformierten in der Apodisation eingesetzt. (Beispiel).
- Nichtlineare Glättungsfilter, der Grauwert des aktuellen Pixels wird dabei ersetzt durch
- Medianfilter
- den Median der Grauwerte der aktuellen Umgebung (Beispiel)
- k-zentriertes Mittel
- den Durchschnitt der k-mittleren Grauwerte
- k-NN-Filter
- der Median der k-nächsten Grauwerte der Umgebung
- δ-Nachbarschaftsfilter
- den Durchschnitt aller Grauwerte deren Abstand kleiner als δ zum aktuellen Grauwert ist
- Lee's Filter
- μnm ist Grauwertmittel, Grauwertvarianz und σ2 Rauschenergie der aktuellen Umgebung
- Minimum-Varianz-Filter
- es werden die Grauwertmittlel μi und Varianzen einiger Teilfenster berechnet
- hnm = μj wird gewählt mit
- Medianfilter
[Bearbeiten] Kantenhervorhebung
Werden anstatt der absoluten Farbwerte die Abweichung zu den benachbarten Punkten signalisiert, so werden die Objektkonturen, d. h. harte Farbübergänge, eines Bildes hervorgehoben, während weiche Übergänge abgeschwächt werden. Dieser Vorgang wird als Kantenhervorhebung bezeichnet.
Häufig finden folgende FIR-Filter Anwendung:
- Ableitungsfilter
- Laplacefilter
Nichtlineare Kantendetektoren:
- Varianzfilter
- Extremalspannenfilter
- Roberts-Kreuz
- Kirsch-Filter
- Gradientenfilter
[Bearbeiten] Globale Operationen
[Bearbeiten] Fouriertransformation
Werden Bilder als Folge von Farbwerten dargestellt, spricht man von einer Darstellung im Zeit-, Impuls- oder auch Orts-Raum. Aus diesem lassen sich Bilder injektiv in den sogenannten Frequenz-Raum überführen, in welchem nicht mehr die Farbwerte selbst, sondern die Frequenz- und Phasenanteile der zugrundeliegenden Punktfolge gespeichert werden. Große Sprünge innerhalb der Farbwertsequenz stehen dann für hohe Frequenzen, weiche Farbwertübergänge für niedrige Frequenzen. Die Fouriertransformierte gibt schließlich an, wie durch alleinige Überlagerung von Sinusfunktionen verschiedener Frequenz und Phasenwinkel, der ursprüngliche Farbwertverlauf rekonstruiert werden kann.
Der Vorteil dieser Darstellung liegt in ihrer höheren Effizienz bei der Anwendung linearer Filter. Im Impuls-Raum bedeutet die Faltung der das Bild beschreibenden Farbwertfolge fi mit der Impuls-Antwort gμ(der Transformationsabbildung) des Filters eine Summation (der Gewichtung der Impulse mit der Impulsantwort) über die gesamte Filterlänge ein. Im Frequenzraum hingegen berechnet sich die Faltung als Produkt der Fouriertransformierten mit der Frequenzantwort der Transformation . Dieser Vorteil bezüglich der Rechenzeit ist so groß, dass selbst der Aufwand der Hin- und Rücktransformation in den Frequenzraum in Kauf genommen werden kann. Dieser Aufwand lässt sich mit Hilfe der schnellen Fourier-Transformation (FFT) deutlich senken.
Von Vorteil ist des Weiteren die Vereinfachung, Filter direkt im Frequenzraum designen zu können, anstatt Impulsantworten bauen und ihre Wirkung auf das Spektrum berechnen zu müssen. Damit erübrigt sich gleichsam die Transformation der Impulsantwort gk in die zugehörige Frequenzantwort G(z).
[Bearbeiten] Radontransformation
- Hauptartikel: Radontransformation
[Bearbeiten] Transformation
Transformationen von diskreten Bildern gestalten sich gegenüber stetigen Bildern ungemein schwieriger, da Transformationen im Allgemeinen nicht gitterkonform sind. Neben der eigentlichen Transformation muss daher geeignet interpoliert werden. Typische Transformationen sind:
- Translation
- Rotation
- Skalierung
- Neigung
[Bearbeiten] Normierung
Eine Meta-Manipulation von Bildern stellt das Feld der Normierung dar. Sie dient dem Abstrahieren von irrelevanten Eigenschaften und der Reduktion von Mustervariabilität. Unproduktive Parameter werden dabei auf einen Standardwert gesetzt. Sie ist damit in der Mustererkennung als Vorverarbeitung von großer Bedeutung. Normierbare Parameter sind unter anderen Intensität, Größe, Lage oder Dicke/Stärke.
[Bearbeiten] Klassifikation
Mit Hilfe der Klassifikation (auch Klassifizierung) soll das breite Informationsspektrum eines Originalbildes durch Einteilung von Farb- oder Grauwerten in Klassen vereinfacht werden. Ziel ist es, Flächen mit gleichen bzw. ähnlichen Eigenschaften zu ermitteln und diese verschiedenen Klassen zuzuordnen. Klassifikatoren werden nicht programmiert, sondern anhand von Beispieldaten trainiert. Es gibt zwei Arten, um Klassifikatoren zu trainieren, das unüberwachte und das überwachte Training.
[Bearbeiten] Unüberwachtes Training
Beim unüberwachten Training werden die Klassen über eine Clusteranalyse gebildet. Die Folge ist, dass die resultierenden Klassen nicht beeinflussbar sind, das Ergebnis also nicht vorhersehbar ist. Wenn eine funktionelle Klassifikation gewünscht ist, das heißt die Klassen bestimmten realen Klassen entsprechen sollen (wichtig in der Fernerkundung, um bspw. Nutzungsklassen auf einem Satellitenbild zu identifizieren) müssen die Ergebnis-Klassen anschließend durch Vergleiche mit den Real-Klassen aufwändig ermittelt werden.
Grundsätzlich gibt es divisive Verfahren, bei denen eine anfängliche Gesamtklasse sukzessive in Unterklassen aufgeteilt wird, und agglomerative Verfahren, bei denen die Klassen (zu beginn so viele, wie es Elemente/Pixel gibt) sukzessive bis zu einer Gesamtklasse zusammengefasst werden.
[Bearbeiten] Überwachtes Training
Das überwachte Training besteht aus zwei Schritten:
- Zuerst werden die Zielklassen mit den jeweiligen (Farb-)Merkmalen durch eine Auswahl so genannter "Trainingsflächen" festgelegt. Dabei sollte möglichst die gesamte Varianz einer Klasse erfasst, die Auswahl von "Mischpixeln" aber vermieden werden.
- Anschließend erfolgt die Zuweisung aller Pixel zu den entsprechenden Klassen. Dafür gibt es verschiedenen Methoden, z. B.:
-
-
- die Maximum Likelihood-Methode: Zuweisung anhand der größten Zugehörigkeitswahrscheinlichkeit
- die Minimum Distance-Methode: Zuweisung anhand des nächstliegenden Klassenmittelpunktes
- die Quader-Methode: Zuweisung anhand von Ober- und Untergrenzen der einzelnen Klassen
- Künstliche neuronale Netze: iterative Optimierung der Verbindung zwischen den einzelnen Einheiten (Pixeln)
-
[Bearbeiten] Beispiele
Anwendung eines 3x3 Medianfilters auf das verrauschte Bild. |
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- ImageJ - freies Bildbe- und Bildverarbeitungsprogramm (Java), siehe auch ImageJ
- DIAS - Interaktives Softwaresystem zur digitalen Bildverarbeitung der Friedrich-Schiller-Universität Jena
- ICE - Bildverarbeitungsbibliothek (C++) der Friedrich-Schiller-Universität Jena
- LImUn - Library for Image Understanding (C++)
- OpenCV - Open-Source-Bildverarbeitungsbibliothek (C++) von Intel, siehe auch OpenCV
- Orasis3D - freies 3D-Bildverarbeitungsprogramm
- PUMA - Bildverarbeitungsbibliothek (C++) der Universität Koblenz-Landau
- VIGRA - Bildverarbeitungsbibliothek (C++) der Universität Hamburg
- DVS-Vision Lesen und Qualitätsbewertung von Datamatrix Codes.
- CImg Open-Source-Bildverarbeitungsbibliothek (C++)