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).
Objekte der Bildverarbeitung
Die in der Bildverarbeitung manipulierten Objekte lassen sich nach verschiedenen Gesichtspunkten klassifizieren:
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.
Codierung
- Rasterbilder (z. B. konventionell auf quadratischem Gitter)
- Kettencodierung (durch Richtungsangaben beschriebene Bildlinien)
- Transformationscodierung (Ergebnis einer Reihenentwicklung)
- Fraktale Codierung (Ausnutzung von Selbstähnlichkeit)
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.
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:
-
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:
-
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.
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.
Lokale Operatoren
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 mit heißt Impulsantwort des linearen Systems . ist die Diracsche Deltafunktion mit Impuls bei .
Lineare Filter
Ein wichtiges Unterscheidungsmerkmal von Transformationen ist ihre mathematische Beschaffenheit. Eine Transformation heißt
Lineares System wenn für alle Funktionen und alle Skalare
gilt:
-
Lineare Systeme (=LSI-Systeme) und damit lineare Filter sind praktisch hinreichend und mathematisch handhabbar. Für gewöhnlich konstruiert man LSI-Systeme mit den zusätzlichen Eigenschaften:
- Kausalität: Für die Impulsantwort gilt für : und damit .
- Stabilität:
Während man symbolisch das Filtern einer Folge ) vor. Man berechnet dann h, indem f und g diskret gefaltet werden:
- 1-dimensional: h_k=\sum_{j=-\infty}^{+\infty}f_jg_{k-j}
- 2-dimensional:h_{kl}=\sum_{i=-\infty}^{+\infty}\sum_{j=-\infty}^{+\infty}f_{ij}g_{k-i,l-j}
= Klassifikation von linearen Filtern
=
Lässt sich ein LSI-System
\Im eines Filters
h=\Im\{f\} mit der Impulsantwort
b durch
- h_j=\sum_{m=1}^Mb_mf_{j-m}
oder durch seine Frequenzantwort
- G(z)=B(z^{-1})=\sum_{m=0}^Mb_mz^{-m}
beschreiben, so nennt man den Filter FIR-Filter (finite impulse response). Jeder transformierte Wert hängt damit allein von der konstanten Impulsantwort und damit endlich vielen Nachbarn ab.
Es lässt sich die Operation h=\Im\{f\} eines LSI-Systems durch eine Differenzengleichung
- \sum_{n=0}^Na_nh_{j-n}=\sum_{m=0}^Nb_mf_{j-m}
beschreiben. Man nennt einen Filter AR-Filter (autoregressive), wenn er sich durch
- h_j=\sigma f_j-\sum_{n=0}^Na_nh_{j-v}
darstellen lässt, oder die Frequenzantwort
- G(z)=\frac{\sigma}{A(z^{-1})}=\sigma/\sum_{n=0}^Na_nz^{-m}
besitzt. Man nennt einen Filter ARMA-Filter (autoregressive moving average), wenn er sich durch h_j=\sum_{m=0}^Mb_mf_{j-m}-\sum_{n=1}^Na_nh_{j-v}
darstellen lässt, oder die Frequenzantwort
- G(z)=\frac{B(z^{-1})}{A(z^{-1})}=\sum_{m=0}^Mb_mz^{-m}/\sum_{n=0}^Na_nz^{-n}
besitzt. Filter der Art AR oder ARMA mit einer rekursiven Berechnungsformel für h nennt man IIR-Filter (infinite impulse response).
= Filtermatrix
=
Um in der Praxis die Filter anwenden zu können nutzt man in der Regel eine m x n Filtermatrix. Sie stellt die Impulsantwort des 2-dimensionalen FIR - Filters dar. Jeder Eintrag dieser Matrix entspricht einem Gewicht, mit welchem die Nachbarpunkte des zu transfomierenden Punktes multipliziert werden. Ein Punkt g(x,y) im Ergebnisbild erhält also den Wert, der sich dadurch ergibt, dass man die Punkte seiner
Nachbarschaft mit den Werten der Filtermatrix gewichtet aufaddiert und anschließend durch die Gesamtsumme des Betrags der Gewichte teilt.
Beispiel: 3x 3 Filtermatrix mit dem
Ableitungsoperator
dem Normierungsfaktor 1/6
und dem Bildausschnitt
| 0 |
0 |
0 |
0 |
0 |
| 0 |
1 |
2 |
3 |
0 |
| 0 |
1 |
1 |
1 |
0 |
| 0 |
0 |
0 |
0 |
0 |
führt zu dem Ergebnis
| 0 |
0 |
0 |
0 |
0 |
| 0 |
-3 |
-2 |
3 |
0 |
| 0 |
-3 |
-2 |
3 |
0 |
| 0 |
0 |
0 |
0 |
0 |
und jeder Pixelwert noch durch 6 geteilt.
Man sieht, dass der Rand mit Nullen aufgefüllt wurde, es wäre auch möglich, den Rand ins Unendliche zu erweitern.
In der Praxis würde in der Regel noch eine Betragsbildung durchgeführt.
= Separierbarkeit
=
In der Praxis nutzt man gerne
separierbare Filter. Separierbar ist ein Filter immer dann, wenn man die Impulsantwort
g_{ij} folgendermaßen ausdrücken kann:
g_{i,j} = g1_{i} g2_{j}
Es gilt dann:h_{kl}=\sum_{i=-\infty}^{+\infty}\sum_{j=-\infty}^{+\infty}f_{ij}g_{k-i,l-j}
= \sum_{i = -\infty}^{+\infty}g1_{k-i} \sum_{j= -\infty}^{+\infty} f_{ij}g2_{l-j}
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.
Nichtlineare Filter
= 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.
Filter nach Anwendungsgebieten
= Glättung
=
Durch Glättung kann das Bildrauschen vermindert werden, grobere Strukturen bleiben dagegen erhalten. Hier ein
Dead_tree_salt_and_pepper.png 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 n\times m wird durch eine n\times m-Impulsantwortmatrix g_{nm}=(nm)^{-1} beschrieben. Die Bildpunkte des transformierten Bildes sind somit die Mittelwerte ihrer n\times m 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 n\times m und einer Varianz \sigma^2 werden durch eine Impulsantwortmatrix g_{nm}=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{n^2+m^2}{2\sigma^2}} 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. (Dead_tree_salt_and_pepper_gauss_3x3.png).
- Nichtlineare Glättungsfilter, der Grauwert des aktuellen Pixels wird dabei ersetzt durch
- Medianfilter
- k-zentriertes Mittel
- den Durchschnitt der k-mittleren Grauwerte
- k-NN-Filter
- der Median der k-nächsten Grauwerte der Umgebung
- \delta-Nachbarschaftsfilter
- den Durchschnitt aller Grauwerte deren Abstand kleiner als \delta zum aktuellen Grauwert ist
- Lee's Filter
- h_{nm} = \mu_{nm} + (f_{nm}-\mu_{nm})\cdot\frac{S_{nm}^2-\sigma^2}{S_{nm}^2}
- \mu_{nm} ist Grauwertmittel, S_{nm}^2 Grauwertvarianz und \sigma^2 Rauschenergie der aktuellen Umgebung
- Minimum-Varianz-Filter
- es werden die Grauwertmittlel \mu_i und Varianzen S_i^2 einiger Teilfenster berechnet
- h_{nm} = \mu_j wird gewählt mit S_j^2=min_i\{S_i^2\}
= 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:
Nichtlineare Kantendetektoren:
Globale Operationen
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 f_i mit der Impuls-Antwort g_\mu(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 \Im. Dieser Vorteil bezüglich der Rechenzeit ist so groß, das 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 g_k in die zugehörige Frequenzantwort G(z).
Radontransformation
Siehe Hauptartikel: Radontransformation
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:
- Skalierung
- Rotation
- Neigung
- (Translation)
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.
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.
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, d.h. 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 aufwendig 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.
Ü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.:
Beispiele
Bild:Dead_tree_salt_and_pepper.png|Bild mit künstlich hinzugefügtem "Salt-and-Pepper"- Rauschen.
Bild:Dead_tree_salt_and_pepper_gauss_3x3.png|Anwendung eines 3x3 Gaußfilters auf das verrauschte Bild.
Bild:Dead_tree_salt_and_pepper_median_3x3.png|Anwendung eines 3x3 Medianfilters auf das verrauschte Bild.
Programme und Libraries zur Bildverarbeitung
- 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
- 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
- HALCON - Bildverarbeitungsbibliothek der Firma MVTec
Siehe auch
Weblinks
Bildverarbeitung
Image processing | پردازش تصویر | Traitement d'image | การประมวลผลภาพ | Görüntü işleme | 图像处理