Bildverarbeitung
Unter Bildverarbeitung versteht man in der Informatik und der Elektrotechnik die Verarbeitung von Signalen, die Bilder repräsentieren, beispielsweise Fotografien oder Einzelbilder aus Videos. Das Ergebnis einer Bildverarbeitung kann wiederum ein Bild sein oder auch eine Menge von Merkmalen des Eingabebildes (siehe Bilderkennung). In den meisten Fällen werden Bilder als zweidimensionales Signal betrachtet, so dass übliche Methoden aus der Signalverarbeitung angewandt werden können.
Bildverarbeitung ist zu unterscheiden von der Bildbearbeitung, die sich mit der Manipulation von Bildern zur anschließenden Darstellung beschäftigt.
Anwendungsbeispiele der Bildverarbeitung
Bildverarbeitung wird mittlerweile in nahezu allen Wissenschafts- und Ingenieursdisziplinen eingesetzt, wie beispielsweise in der modernen Mikroskopie, medizinischen Diagnostik, Astronomie, Maschinenbau und in der Fernerkundung (Umweltbeobachtung, Spionage). Röntgen- und Ultraschallgeräte liefern mittels Bildverarbeitung aufbereitete Bilder, die der Arzt einfacher deuten kann. Röntgengeräte mit integrierter Bildanalyse untersuchen in Sicherheitszonen automatisch das Gepäck und die Kleidung nach gefährlichen Materialien und Objekten (Waffen etc.). Der in der Robotik sogenannte Griff in die Kiste wird ebenfalls durch Bildverarbeitung unterstützt.
Industrielle Bildverarbeitung (IBV)
Ein weites Feld ist die Qualitätssicherung in Fertigungs- und Produktionsprozessen, wo mit Methoden der Bildverarbeitung Objekte gezählt, vermessen, inspiziert oder codierte Informationen gelesen werden. Typische Komponenten solcher Bildverarbeitungssysteme sind digitale Kameras, Objektive, Beleuchtungen, Auswerteeinheiten (z. B. PCs), Software und Schnittstellen zu anderen Systemen.
Inspektion und Vermessung von Objekten
Vermessung von Chips in der Halbleiterfertigung: Es wird zum Beispiel die Position der Ecke eines Chips in einem Bild gemessen. Mit dieser Information kann dieser Chip präzise zur Bestückung positioniert werden. Bei der Chip-Endkontrolle werden Fehler beim Löten und Bonden detektiert, indem ein Chip vor die Kamera gefahren wird und mit einem Golden Sample verglichen wird, das zuvor vom Bildverarbeitungssystem eingelernt wurde. Oder es wird dabei nach eindeutig definierten geometrischen Mustern (Kreis, Ecke), nach Rissen oder Ausbrüchen gesucht.
Bildverarbeitung in einer Getränke-Abfüllanlage: Um zu prüfen, ob in jeder Flasche gleich viel eingefüllt wurde, 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.
Vermessung von Klebstoff in der Mikromechanik: Bei der Fertigung von Kameramodulen für Mobiltelefone wird Klebstoff auf den Linsenhalter aufgetragen. Um eine gleichmäßige Qualität der Produktion zu gewährleisten, wird die Form dieses Klebstoffs in einem Bild geprüft. Wenn der Klebstoffauftrag nicht innerhalb gewisser Toleranzen liegt, wird das Bauteil ausgeschieden.
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. Diese Funktionen werden auch in der Brief- und Paketidentifikation verwendet.
In der Automobilfertigung werden 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.
Objekte der Bildverarbeitung
Verfahren der Bildverarbeitung erwarten generell Bilddaten als Eingabe. Diese Bilddaten können sowohl in der Art ihrer Entstehung, als auch in ihrer Kodierung unterschieden werden. Die Art der Entstehung beschreibt, über welches technische Prinzip das Bild erzeugt wurde. Am weitesten verbreitet sind hier Reflexionsbilder, wie sie bei einer Kamera oder beim Ultraschall entstehen. Darüber hinaus existieren Projektionsbilder, wie zum Beispiel Röntgenaufnahmen, sowie Schematisierte Bilder, wie Karten und Dokumente. Bei der Kodierung ist die Rastergrafik die verbreitetste Form, in der die Bilddaten durch ein zweidimensionales Raster von Pixeln dargestellt werden. Eine weitere Form sind Vektorgrafiken, die nicht aus einem Raster bestehen, sondern Anweisungen dazu enthalten, wie ein Bild aus geometrischen Primitiven zu erzeugen ist.
Abgrenzung zu verwandten Gebieten
Verwandte Gebiete der Bildverarbeitung sind die Bildbearbeitung, Computer Vision und die Computergrafik. Mit Bildbearbeitung wird eine eher abstraktere Sicht auf die Änderung von Bildern gelegt, während die Bildverarbeitung hierfür die mathematischen und algorithmischen Grundlagen liefert, welche dann bei der Implementierung von Grafiksoftware zur Bildverarbeitung verwendet werden. Dies liefert die Bildverarbeitung auch für das computerbasierte Sehen. Während die Bildverarbeitung aus Bilddaten wiederum Bilddaten oder einfache Informationen erzeugt, erzeugt das computerbasierte Sehen aus Bilddaten Bildbeschreibungen. Die Computergrafik wiederum erzeugt aus Bildbeschreibungen Bilddaten.
Neue Entwicklungen
Evolutionäre Bildverarbeitung
Die evolutionäre Bildverarbeitung ist ein Teilgebiet der digitalen Bildverarbeitung, bei dem zur Optimierung und Lösung verschiedener Problemstellungen evolutionäre Algorithmen eingesetzt werden.
Operationen der Bildverarbeitung
Bei den Operationen zur Bildverarbeitung ist zunächst zu unterscheiden zwischen Verfahren, die ein neues Bild erzeugen, und solchen, die Informationen über das Bild liefern. Die Verfahren, die ein neues Bild erzeugen, können anhand der Größe der Region der Eingangsdaten unterschieden werden. Darüber hinaus ist zu unterscheiden, ob das Verfahren die grundlegende Struktur des Bildes erhält oder diese verändert.
Ein verbreitetes Verfahren, um aus einem Bild eine Information zu erzeugen, ist die Berechnung des Histogramms, welches Aufschluss über die statistische Helligkeitsverteilung im Bild gibt. Solch ein Histogramm kann zum Beispiel als Konfiguration für weitere Bildverarbeitungschritte oder als Information für einen menschlichen Benutzer einer Software dienen. Weitere berechenbare Informationen eines Bildes sind zum Beispiel seine Entropie oder mittlere Helligkeit.
Verfahren, die ein neues Bild erzeugen, lassen sich aufgrund ihrer Eingangsdaten in Punktoperationen, Nachbarschaftsoperationen und globale Operationen unterscheiden. Die Punktoperationen verwenden die Farb- oder Helligkeitsinformationen an einem gegebenen Punkt des Bildes als Eingabe, errechnen einen neuen Helligkeitswert als Ergebnis und speichern dieses an denselben Punkt im Zielbild. Typische Anwendungsfälle von Punktoperationen sind zum Beispiel die Korrektur von Kontrast und Helligkeit, eine Farbkorrektur durch Drehen des Farbraums oder die Anwendung verschiedener Schwellenwertverfahren. Eine Punktoperation kann entweder homogen sein, was bedeutet, dass die Koordinate der Quelldaten bei der Berechnung nicht berücksichtigt wird, oder sie können inhomogen sein, was zum Beispiel eine adaptive Tonwertkorrektur ermöglicht. Nachbarschaftsoperationen verwenden sowohl einen Punkt als auch eine bestimmte Menge seiner Nachbarn als Eingabe, errechnen aus ihnen ein Ergebnis und schreiben dieses an die Koordinate des Referenzpunktes in das Zielbild. Eine sehr verbreitete Art von Nachbarschaftsoperationen sind die Faltungsfilter. Hierbei werden die Helligkeit- oder Farbwerte gemäß einem Filterkern miteinander verrechnet, um das Ergebnis zu bilden. Mit diesem Verfahren können zum Beispiel Weichzeichnungsfilter wie das Mittelwertfilter, Gauß-Filter oder das Binomialfilter realisiert werden. Über Faltungsfilter können ebenso Kanten eines Bildes hervorgehoben werden mittels Ableitungsfilter oder Laplace-Filter. Die Nachbarschaftsoperationen sind jedoch nicht auf die Faltungsfilter begrenzt. Durch komplexere algorithmische Behandlung des Referenzpunktes und seiner Nachbarn können zum Beispiel weitere Verfahren zur Glättung wie das Medianfilter, oder zur Kantendetektion das Extremalspannenfilter oder der Prewitt-Operator realisiert werden. Aus morphologischen Operatoren wie zum Beispiel Erosion und Dilatation lassen sich die Operationen Öffnen, Schließen und somit eine Morphologische Glättung definieren. Während eine Glättung über relativ einfache Nachbarschaftsoperationen realisierbar ist, ist eine Dekonvolution und somit Schärfung des Bildes eine komplexere Aufgabe. Weder Punkt- noch Nachbarschaftsoperationen verändern ein Bild in seiner Größe oder seiner grundlegenden Struktur. Dies wird durch geometrische Bilderoperationen wie zum Beispiel die Skalierung, Rotation oder Translation eines Bildes erreicht, wobei hier anisotropes Filtern notwendig ist und die Interpolation ein entscheidendes Kriterium für die Bildqualität ist. Die geometrischen Bilderoperationen sind ein Teil der globalen Bildoperationen, welche das komplette Bild als Eingangsdaten verwenden. Ein weiterer Vertreter der globalen Bildoperationen ist die Fourier-Transformation, wobei das Bild in dem Frequenzraum umgerechnet wird, in dem die Anwendung linearer Filter einen niedrigeren Aufwand bedeutet.
Digitale Bildtransformationen
Der Zeitbedarf der genannten Operationen ist ganz wesentlich von der Bildauflösung abhängig. Digitale Filter können verwendet werden, um digitale Bilder zu verwischen oder zu schärfen. Das Filtern kann in räumlicher Hinsicht mit speziellen Faltungsmatrizen durchgeführt werden. Es können auch bestimmte Frequenzbereiche mithilfe von schnellen Fourier-Transformationen maskiert werden. Die folgenden Beispiele zeigen beide Methoden:
Filter | Filterkern oder Filtermaske | Beispiel |
---|---|---|
Originalbild | (c) User:Scikris, CC BY-SA 4.0 | |
Räumlicher Tiefpass | (c) User:Scikris, CC BY-SA 4.0 | |
Räumlicher Hochpass | (c) User:Scikris, CC BY-SA 4.0 | |
Fourier-Darstellung | (c) User:Scikris, CC BY-SA 4.0 | |
Fourier-Tiefpass | (c) User:Scikris, CC BY-SA 4.0 | (c) User:Scikris, CC BY-SA 4.0 |
Fourier-Hochpass | (c) User:Scikris, CC BY-SA 4.0 | (c) User:Scikris, CC BY-SA 4.0 |
Affine Transformationen
Die affine Transformation ist eine lineare Abbildungsmethode, bei der Punkte, Geraden und Ebenen erhalten bleiben. Dies gilt ebenso für die Parallelität, die nach einer affinen Transformation erhalten bleibt. Dagegen ändern sich durch eine affine Transformation die Maßstäbe und Winkel.
Affine Transformationen werden typischerweise verwendet, um geometrische Verzerrungen oder Verformungen zu korrigieren, die bei nicht idealen Kamerawinkeln auftreten. Beispielsweise verwendet man zur Korrektur perspektiver Verzerrungen von Satellitenbildern affine Transformationen (Entzerrung), welche durch eine schräge Aufnahmerichtung verursacht wird. Beim Zusammensetzen eines Panoramabildes aus mehreren Einzelbildern (Stitching) und bei der Bildregistrierung müssen überlappende Bildbereiche benachbarter Bilder angepasst werden, wobei ebenfalls affine Transformationen eingesetzt werden können. Das Transformieren und Verschmelzen der Bilder zu einem gemeinsamen ebenen Koordinatensystem ist wünschenswert, um Verzerrungen zu vermeiden. Dies ermöglicht einfachere Interaktionen und Berechnungen, bei denen keine Bildverzerrung mehr berücksichtigt werden muss.
Die folgende Tabelle zeigt die verschiedenen affinen Transformationen am Beispiel eines Schachbrettmusters: Identische Abbildung, Parallelverschiebung, Spiegelung, Skalierung, Drehung und Scherung:[1]
Affine Transformation | Affine Matrix | Beispiel |
---|---|---|
Identische Abbildung | ||
Parallelverschiebung | ||
Spiegelung | ||
Skalierung | ||
Drehung | ||
Scherung |
Beispiele
Bildverbesserung
- Originalbild
- Bild mit künstlich hinzugefügtem Salt-and-Pepper- Rauschen
- Anwendung eines 3×3-Gaußfilters auf das verrauschte Bild
- Anwendung eines 3×3-Medianfilters auf das verrauschte Bild
Objekterkennung und -verfolgung
- Flugobjekterkennung durch Bildverarbeitung
- Erkennung sich bewegender Personen durch Shape Recognition Bildverarbeitung
Siehe auch
Literatur
- Wilhelm Burger, Mark J. Burge: Digital Image Processing: An Algorithmic Introduction Using Java. Erste Auflage. Springer, 2008, ISBN 978-1-84628-379-6.
- Helge Moritz: Lexikon der Bildverarbeitung. Hüthig, Heidelberg 2003, ISBN 3-7785-2920-X.
- Bernd Jähne: Digitale Bildverarbeitung. 6. überarbeitete und erweiterte Auflage. Springer, Berlin u. a. 2005, ISBN 3-540-24999-0.
- Pedram Azad, Tilo Gockel, Rüdiger Dillmann: Computer Vision. Das Praxisbuch. Elektor, Aachen 2007, ISBN 978-3-89576-165-2.
- Gerhard A. Weissler (Hrsg.): Einführung in die industrielle Bildverarbeitung (= Elektronik- & Elektrotechnik-Bibliothek. Band 1.). Franzis, Poing 2007, ISBN 978-3-7723-4028-4.
- Michael Sackewitz (Hrsg.): Handbuch zur Industriellen Bildverarbeitung. Qualitätssicherung in der Praxis, 3. Vollständig überarbeitete und aktualisierte Auflage. 3. Auflage. Fraunhofer Verlag Stuttgart, Stuttgart 2017, ISBN 978-3-8396-1226-2.
- Johannes Steinmüller: Von der Bildverarbeitung zur räumlichen Interpretation von Bildern. 1. Auflage. Springer, Berlin/Heidelberg 2007, ISBN 978-3-540-79742-5.
- Kristian Bredies, Dirk Lorenz: Mathematische Bildverarbeitung. Einführung in Grundlagen und moderne Theorie. Vieweg+Teubner, Wiesbaden 2011, ISBN 978-3-8348-1037-3.
- Rafael C. Gonzalez & Richard E. Woods (Hrsg.): Digital Image Processing. Pearson Education, New Jersey 2008, ISBN 978-0-13-168728-8.
- Michael Sackewitz (Hrsg.): Leitfaden zur industriellen Bildverarbeitung (Band 13). Fraunhofer-Verlag Stuttgart, 2013, ISBN 978-3-8396-0447-2
Einzelnachweise
- ↑ The MathWorks, Inc.: Linear mapping method using affine transformation
Auf dieser Seite verwendete Medien
Autor/Urheber: Brookie, Lizenz: CC BY-SA 3.0
A part-dead oak tree near Earls Barton, Northants. Picture by R Neil Marshman
Autor/Urheber: Hardwareonkel, Lizenz: CC BY 3.0
Beispiel für die Möglichkeiten der digitalen Bildverarbeitung.
Autor/Urheber: QueSera4710, Lizenz: CC BY-SA 3.0
SRT Aufnahmebeispiel mit Mustererkennung (schematische Erfassungsunterteilung, prozessintern deutlich feiner)
(c) User:Scikris, CC BY-SA 4.0
Checkerboard image for input to affine transformations generated with MATLAB checkerboard.m
(c) User:Scikris, CC BY-SA 4.0
Checkerboard image filtered by convolution with a 3x3 mean kernel
(c) User:Scikris, CC BY-SA 4.0
Checkerboard image sharpened by convolution with Laplacian 3x3 kernel
(c) User:Scikris, CC BY-SA 4.0
Fourier space representation of checkerboard image
(c) User:Scikris, CC BY-SA 4.0
Butterworth lowpass mask for frequency domain image filtering
(c) User:Scikris, CC BY-SA 4.0
Checkerboard image filtered with low pass butterworth in the frequency domain
(c) User:Scikris, CC BY-SA 4.0
Highpass Butterworth mask for filtering images in the frequency domain
(c) User:Scikris, CC BY-SA 4.0
Checkerboard image filtered with highpass Butterworth in the frequency domain
Autor/Urheber: M. W. Toews, Lizenz: CC BY-SA 4.0
Identity (untransformed) checkerboard pattern
Autor/Urheber: M. W. Toews, Lizenz: CC BY-SA 4.0
Reflected checkerboard pattern
Autor/Urheber: M. W. Toews, Lizenz: CC BY-SA 4.0
Rotated checkerboard pattern
Autor/Urheber: M. W. Toews, Lizenz: CC BY-SA 4.0
Sheared checkerboard pattern