next up previous
Nächste Seite: Strukturierung der Analyse Aufwärts: Architektur und Bildanalyse Vorherige Seite: Architektur und Bildanalyse

Überblick

Bevor die Auswahl der Algorithmen und Datenstrukturen und die tatsächliche Programmierung der Bibliothek in Angriff genommen werden kann, gilt es, das Problem zu strukturieren und eine allgemeine Architektur der Bibliothek festzulegen. Die Bildanalyse ist ein sehr komplexer Vorgang, für den eine ganze Kette von Verarbeitungsschritten notwendig ist.

Die Aufgabe des zu schaffenden Analysesystems ist die Gewinnung von objektbezogenen Daten aus einem von einer Kamera aufgezeichneten Bild. Allgemein ist ein Bild eine flächenhafte Verteilung der Bestrahlungstärke in einer Ebene, die als kontinuierliche Funktion $E$ zweier räumlicher Variablen aufgefaßt werden kann:

  $\textstyle E:\textbf{R}^2 \mapsto \textbf{R},$   (1)
  $\textstyle \textrm{ mit } E(x_{1} ,x_{2})\textrm{ Intensität an der Stelle } (x_1, x_2)$    

Zu beachten ist hierbei, daß bei der Bildgewinnung in der Regel ein rechtshändiges Koordinatensystem angelegt wird, wobei sich der Koordinatenursprung in der linken oberen Bildecke befindet. In der maschinellen Bildanalyse hat man es hingegen mit 2-dimensionalen Punktfeldern, ``digitalisierten'' Bildern zu tun. Ein Punkt diese Feldes wird Pixel (Abkürzung für ``Picture Element'') genannt und gibt die Bestrahlungsstärke an dieser Gitterposition an, die man durch einen ``Quantisierung'' genannten Vorgang erhält. Im Bereich der Informatik ist für diese Bilder die Matrixnotation üblich. Die in dieser Arbeit zu untersuchenden Farb- oder Mehrkanalbilder werden in mehreren Farbkanälen quantisiert. So werden z.B. bei RGB-Bildern die Intensitätswerte der Kanäle Rot, Grün und Blau in einem $(r,g,b)$-Tupel gespeichert. Definition 2.2 beschreibt ein solches Mehrkanalbild mit $c$ Kanälen in der Matrixschreibweise:
\begin{displaymath}
B_{m,n},\textrm{ mit } b_{i,j} = (k_{1}, k_{2}, ..., k_{c})
\end{displaymath} (2)

In der Problemstellung wird als Ausgabe des Analysesystems ein Tupel o für jedes gefundene Objekt gefordert:

\begin{displaymath}
\vec{o}=(c, i, \vec{p}, \alpha, v, \beta)
\end{displaymath} (3)

wobei $c$ die Objektklasse, $i$ eine natürliche Zahl, die das Objekt eindeutig bezeichnet, $\vec{p}$ die Position, $\alpha$[*] die Orientierung, $v$ die Geschwindigkeit und $\beta$ die Bewegungsrichtung des Objekts sei.

Nur die Klasse, Position und Orientierung eines Objekts können aus einem einzelnen Bild $B_{m,n}$ gewonnen werden. Richtung, Geschwindigkeit und Kennung machen nur über Bildserien Sinn. Daher ist es notwendig, eine Korrespondenz von Objekten über mehrere Einzelbilder herzustellen. Dies kann entweder durch die Verarbeitung von Bildserien anstelle von Einzelbildern oder über das Fortschreiben eines für die Echtzeitverarbeitung besser geeigneten internen Zustandes $\vec{z}_t$ des Analysesystems geschehen. Ein solcher interner Zustand könnte zum Beispiel die im letzten Einzelbild gefundenen Objekte beinhalten.

Damit sind nun alle zwingendermaßen für die Bewältigung der Aufgabe erforderlichen Eingaben benannt. Es erscheint aber sinnvoll, ein weiteres, optionales Argument einzuführen: Die Bestimmung der Objektklasse kann zwar durchaus dem Bildverarbeitungssystem inhärent sein. Aber trotzdem sollte bewußt werden, daß die Klassifizierung der Objekte nur indirekt mit der eigentlichen Bildanalyse zu tun hat. Während das Auffinden von Flächen und die Trennung von Objekten und Hintergrund die eigentlichen Aufgaben des Sehens sind, ist die Benennung einer weißen und einer gelben Fläche als Objekt vom Typ 1 gegenüber einer weißen und einer blauen Fläche als Objekt vom Typ 2 eher künstlich. Hier ist eine Kategorisierung nötig, die stark mit der Aufgabe der die Bilderkennung benutzenden Anwendung zusammenhängt. Diese Einordnung stellt gerade das Bindeglied zwischen Bilderkennung und weiterverarbeitenden Schichten dar und wird der Bilderkennung von der Anwendung auferlegt. Es erscheint daher sinnvoll, dies schon auf einer hohen, konzeptionellen Ebene durch die Hinzunahme eines von außen beizubringenden Weltmodells $\vec{w}$ deutlich zu machen. Das Weltmodell $\vec{w}$ selbst bleibt an dieser Stelle unspezifiziert, lediglich die Notwendigkeit von irgendwie gearteten Daten über die Benennung und Art der zu entdeckenden Objekte wird schon an dieser Stelle festgehalten. Mit den Definitionen 2.2 und 2.3 läßt sich nun die zu leistende Aufgabe des Bildanalysesystems $a$ formalisieren:

  $\textstyle a: B \times Z \times W \mapsto Z \times O^k$    
  $\textstyle \textrm{mit } a(B_{m,n}, \vec{z}_{t-1}, \vec{w}) \mapsto
(\vec{z}_t, \vec{o}_1, \vec{o}_2, ..., \vec{o}_k)$   (4)

wobei $B$ die Menge aller möglichen Bilder, $Z$ die Menge aller Zustände und $O$ die Menge aller gültigen Objektbeschreibungen sei.

Diese noch sehr komplexe Aufgabe gilt es nun weiter zu strukturieren.


next up previous
Nächste Seite: Strukturierung der Analyse Aufwärts: Architektur und Bildanalyse Vorherige Seite: Architektur und Bildanalyse

2001-12-05