Segmentierung (Bildverarbeitung)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. Juni 2004 um 22:13 Uhr durch Dishayloo (Diskussion | Beiträge) (ergänzt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Die Segmentierung ist ein Teilgebiet der digitalen Bildverarbeitung, spezieller des maschinellen Sehens. Die Erzeugung von inhaltlich zusammenhängenden Regionen durch Zusammenfassung benachbarter Pixel oder Voxel entsprechend einem bestimmten Homogenitätskriterium bezeichnet man als Segmentierung.

Einordnung

Segmentierung ist im Prozess des maschinellen Sehens üblicherweise der erste Schritt der Bildanalyse und kommt nach der Bildvorverarbeitung. Hier der Ablauf:

Szene -> Bildaufnahme -> Bildvorverarbeitung -> Segmentierung -> Merkmalsextraktion -> Klassifikation -> Aussage

Eigenschaften

Man spricht von einer vollständigen Segmentierung, wenn jeder Pixel (mindestens) einem Segment zugeordnet wird. Bei einer überdeckungsfreien Segmentierung wird jeder Pixel höchstens einem Segment zugeordnet. Bei einer vollständigen und überdeckungsfreien Segmentierung ist jeder Pixel also genau einem Segment zugeordnet. Eine Segmentierung nennt man zusammenhängend, wenn jedes Segment ein zusammenhängendes Gebiet bildet.

Verfahren

Es sind viele verfahren zur automatischen Segmentierung bekannt. Grundsätzlich werden sie oft in pixel-, kanten- und regionenorientierte Verfahren eingeteilt. Zusätzlich unterscheidet man modellbasierte Verfahren, bei denen man von einer bestimmten Form der Objekte ausgeht, und texturbasierte Verfahren, bei denen auch eine innere homogene Struktur der Objekte berücksichtigt wird.

Die Grenzen zwischen den Verfahren sind oft fliessend. Auch kann man verschiedene Verfahren kombinieren, um bessere Ergebnisse zu erzielen.

Natürlich kann man auch in einem nichtautomatischen Verfahren die Segmentierung ausführen, sprich ein Mensch nimmt die Einteilung vor. Da die automatischen Verfahren weit entfernt sind von Perfektion, gibt es auch die Möglichkeit zur semiautomatischen Bearbeitung.

Pixelorientierte Verfahren

Pixelorientierte Verfahren, treffen für jeden einzelnen Bildpunkt eine Entscheidung, ob er zu einem bestimmten Segment gehört oder nicht. Diese Entscheidung kann, aber muss nicht, durch die Umgebung beeinflusst sein. Punktorientierte Verfahren sind meist einfach zu berechnen, liefern per se aber erstmal keine zusammenhängenden Segmente.

Kantenorientierte Verfahren

In diesen Verfahren wird im Bild nach Kanten oder Objektübergängen gesucht. Viele Algorithmen liefern noch keine geschlossenen Kantenzüge, diese müssen erst mit weiteren Verfahren zusammengefügt werden, damit sie Objekte einschliessen. Eigentlich liegen Kanten immer zwischen den Pixeln eines Bildes. Die Ergebnisse eines Algortihmus können Polygone (bzw. Linien) sein, aber manche Operationen liefern die Kanten auch als andersfarbige Pixel.

Regionenorientierte Verfahren

Diese Verfahren betrachten Punktmengen als Gesamtheit und versuchen dadurch zusammenhängende Objekte zu finden.

  • Region-Growing
  • Region-Splitting
  • Pyramid Linking
  • Split and Merge

Modellbasierte Verfahren

Hierbei wird ein Modell der gesuchten Objekte zugrundegelegt. Dies kann z.B. die Form betreffen. Man setzt also Wissen über das Bild mit ein.

  • Hough-Transformation für Linien oder Kreise
  • statistische Modelle
  • Segmentierung über Templates (Template-Matching)

Texturorientierte Verfahren

Manche Bildobjekte besitzen keine einheitliche Farbe, sondern eine einheitliche Textur. Beispielsweise kann ein Objekt Rillen besitzen, die dann in der Fotografie als abwechselnde Streifen dunkler und heller Farbe erscheinen. Damit diese Objekte nicht in viele kleine Objekte anhand der Textur zerlegt werden, benutzt man Ansätze, mit denen man versucht diesem Problem zu begegnen. Diese Verfahren sind teilweise im Grenzbereich zur Klassifikation oder erlauben gleichzeitige Segmentierung und Klassifizierung.

  • Cooccurence-Matrizen (Haralick-Matrizen)
  • Texturenergiemaße (Texture-Energy-Measure)
  • Lauflängenmatrizen (Run-Length-Matrix)
  • fraktale Dimensionen und Maße
  • Markoff-Random-Fields und Gibbs-Potentiale
  • strukturelle Ansätze
  • signaltheoretische Konzepte

Weitere Verfahren

  • Diffusion

Probleme

Oftmals ist die Qualität einer Segmentierung nicht optimal. In diesen Fällen kann man ein besseres Verfahren wählen, oder die Ergebnisse optimieren, indem man eine Vorbearbeitung (auch Preprocessing) oder eine Nachbearbeitung anschliesst. Beides kann sowohl automatisch (wenn man die Probleme des Prozesses bereits identifiziert hat), als auch händisch erfolgen.

Ein Problem vieler Segmentierungsalgorithmen ist die Anfälligkeit für wechselnde Beleuchtung innerhalb des Bildes. Dies kann dazu führen, dass immer nur ein Bildteil korrekt segmentiert wird, in den anderen die Segmentierung aber unbrauchbar ist. Helligkeitsunterschiede kann man mit einer Vorbearbeitung ausgleichen, z.B. indem man eine Shading-Korrektur anwendet.

Häufige Probleme sind z.B. Übersegmentierung (zu viele Segmente) und Untersegmentierung (zu wenige Segmente). Dem kann man begegnen, indem man das Verfahren um Wissen der zu verarbeitenden Daten anreichert, im einfachsten Fall kann man die erwartete Anzahl der Segmente angeben. Ausserdem kann man einen nachfolgenden Klassifikationsschritt, um gleich klassifizierte Segmente zusammenzufassen. Natürlich können die Segmente auch per Hand zusammengefasst werden.

Viele der vorgestellten Algorithmen (Schwellwertverfahren, Wasserscheidentransformation) arbeiten nur auf einkanaligen Graustufenbildern. Bei der Verarbeitung von Mehrkanalbildern (z.B. Farbbildern) bleiben Informationen ungenutzt. Man benötigt weitere Bearbeitungsschritte, um mehrere einkanalige Segmentierungen zusammenzufassen.

Anwendungen

Segmentierung ist oft der erste Schritt der Bildanalyse für eine anschliessende Weiterverarbeitung der Daten, z.B. eine Klassifizierung.

Die Anwendungen für solche Verfahren sind vielfältig. Am häufigsten werden derzeit automatische Segmentierungen in der Medizin angewandt, z.B. in der Computertomographie. Aus in der Geodatenverarbeitung werden Segmentierungen verwendet, z.B. werden Satellitenbilder oder Luftbilder (siehe Fernerkundung) zu geometrischen Daten segmentiert. Auch zur automatischen optischen Qualitätskontrolle von Werkstücken (z.B.: ist das Bohrloch an der richtigen Stelle?) wird Segmentierung verwendet. Ebenfalls wird Segmentierung in der Schrifterkennung (OCR) verwendet, um durch Binarisierung des gescannten Bildes Schrift vom Hintergrund zu trennen.

Software

eCognition

eCognition ist eine in der Fernerkundung und Medizin angewendete kommerzielle Bildsegmentierungssoftware mit Klassifizierungswerkzeug. Siehe: http://www.definiens-imaging.com

Bildbarbeitungsprogramme

Viele Bildbearbeitungsprogramme, wie das freie GIMP und das kostenlose IrfanView bieten einfache Segmentierungsalgorithmen an, wie etwa nach Schwellwertverfahren oder Kantendetektion mit Sobel- oder Laplace-Operatoren.

Schrifterkennungsprogramme

Schrifterkennungsprogramme können als ersten Schritt eine Segmentierung einsetzen, um die Schrift vom Hintergrund zu trennen.

Literatur

  • Thomas Lehmann, Walter Oberschelp, Erich Pelikan, Rudolf Repges: Bildverarbeitung für die Medizin, Springer-Verlag Berlin Heidelberg, 1997, ISBN 3-540-61458-3
  • Bernd Jähne: Digitale Bildverarbeitung, 5., überarbeitete und erweiterte Auflage, Springer-Verlag, 2002, ISBN 3-540-41260-3
  • Dr. Rainer Steinbrecher: Bildverarbeitung in der Praxis, R. Oldenbourg Verlag München Wien, 1993, ISBN 3-489-22372-0
  • Rafael C. Gonzalez, Richard E. Woods: Digital Image Processing, Addison-Wesley Publishing Company, 1992, ISBN 0-201-50803-6 (englisch)