Dienstag, 4. Dezember 2007

Bilderkennung: Grundbegriffe - Bildverarbeitung (3):

Die (digitale) Bildverarbeitung (s.g. Image Processing) 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 (Bildsegmentierung, Bilderkennung, Bildverstehen, und Mustererkennung). Mit Methoden der Bildverarbeitung werden in Maschinen Objekte vermessen, Objekte inspiziert oder codierte Informationen gelesen. Röntgen- und Ultraschallgeräte liefern mit der Bildverarbeitung Bilder, die der Arzt einfacher deuten kann. Röntgengeräte in Sicherheitszonen untersuchen Gepäck und Kleidung automatisch nach gefährlichen Objekten (Waffen etc.).

Anwendungen der Bildverarbeitung:

Vermessung von Objekten
Eine häufige Aufgabe maschineller Bildverarbeitung ist die automatisierte Vermessung von Objekten (vor allem Position und Drehlage). In unserem Fall wäre es die Lage der Hand auf dem „Filmausschnitt“ - wo (Vektor X,Y,Z) sich genau unsere Hand in bestimmten Zeitpunkt t befindet und welche Lage hat unsere Hand (sieht man ein Finger, zwei, usw.). Hier wird im Allgemeinen nach geometrischen Mustern (Eck, Kreis, Kreuz...) oder nach einem Muster gesucht, dass von einem 'golden Sample' eingelernt wurde.

Inspektion von Objekten
Bei dieser Anwendung werden automatisch bestimmte Eigenschaften in einem Bild überprüft. Zum Beispiel wird bei unserer Hand u.a. geprüft, ob es die rechte oder linke Hand ist, Hautfarbe (Hautfarbton) oder eine Verletzung auf der Hand.

Objekte der Bildverarbeitung
Die in der Bildverarbeitung manipulierten Objekte lassen sich nach verschiedenen Gesichtspunkten klassifizieren:
  • Reflexionsbilder (z. B. Kameraaufnahmen) – unserer Fall !!!
  • Projektionsbilder (z. B. Röntgenaufnahmen, Ultraschall, Elektrophoretogramme)
  • Schematisierte Bilder (z. B. Karten, Pläne, Dokumente)

  • 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,z) betrachtet werden. Punktoperatoren transformieren jeden Punkt eines Bildes einzeln nur in Abhängigkeit vom Grau- oder Farbwert und ggf. der Position im Bild.

    Punktoperatoren
    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))

    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 [Fig.1] zwecks Erhöhung des Kontrasts auseinandergezogen oder bei einer Histogrammverschiebung zwecks Helligkeitskorrektur durch Addition einer Konstante verschoben.
    Die Histogrammspreizung (auch Tonwertspreizung genannt) ist ein häufig eingesetztes Verfahren zur Kontrastverstärkung in kontrastarmen Grauwertbildern.[Fig.2] In solchen Bildern kommen viele Grauwerte der Grauwertskala überhaupt nicht vor. Je größer die ungenutzten Bereiche an den beiden Rändern der Skala sind, desto stärker kann der Abstand zwischen dem dunkelsten und dem hellsten Grauwert vergrößert werden, desto weiter können also die Grauwerte im Bild „auseinandergezogen“ werden.


    Fig.1. Schmatische Darstellung der Histogrammspreizung




    Fig.2. Änderung von der Grauwerten

    Die Histogrammverschiebung [Fig.3] ist ein einfaches Verfahren zur Regulierung der Helligkeit eines Bildes. Dabei werden alle Grauwerte g des Bildes um eine feste Konstante c auf der Grauwertskala in den hellen oder dunklen Bereich verschoben:



    Fig.3. Histogrammverschiebung

    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.

    Dieses Post basiert auf dem Artikel von der Seite: http://www.computerbase.de/lexikon/

    Dienstag, 20. November 2007

    Bilderkennung: Grundbegriffe - Mustererkennung (2)

    Erfassung
    Die Erfassung der Daten – in unserem Fall ist das eine WebCam. Das dynamische Bild (Muster) wird hier aufgenommen und im Signal umgewandelt.
    Vorverarbeitung
    Um Muster besser erkennen zu können und um Datenqualität zu verbessern, findet in der Regel eine
    Vorverarbeitung statt. Die Entfernung bzw. Verringerung unerwünschter oder irrelevanter Signalbestandteile führt nicht zu einer Reduktion der zu verarbeitenden Daten, dies geschieht erst bei der Merkmalsgewinnung. Mögliche Verfahren der Vorverarbeitung sind unter Anderem:
    die
  • Signalmittelung - Verfahren, mit dem das Rauschen in sich wiederholenden Signalen vermindert werden kann. Durch additive Überlagerung wird dabei das Nutzsignal verstärkt, während die Überlagerung des zufälligen Rauschens zu keiner Verstärkung führt;
  • Anwendung eines Schwellwertes und Normierung:
    Als Schwellenwert (engl. threshold) bezeichnet man in der Signal- und Bildverarbeitung einen Wert, der als Grenze für die Verarbeitung eines Signales verwendet wird – bei Unterschreitung des Schwellenwertes wird der aus dem Eingabewert auf einen Ausgabewert Null und bei Überschreiten auf einen konstanten Ausgabewert (meist 1) abgebildet. Dadurch wird eine Trennung des Signales in Binärwerte erreicht (Binarisierung). Mathematisch lässt sich die Anwendung eines Schwellenwertes als Schwellenwertfunktion von einem Eingangssignal f auf ein Ausgangssignal h mit einem Schwellenwert θ definieren.
  • Gewünschte Ergebnisse der Vorverarbeitung sind die Verringerung von Rauschen und die Abbildung auf einen einheitlichen Wertebereich.

    Merkmalsgewinnung
    Nach der Verbesserung des Musters durch Vorverarbeitung lassen sich aus seinem Signal verschiedene Merkmale gewinnen. Dies geschieht in der Regel empirisch nach durch Intuition und Erfahrung gewonnenen Verfahren, da es wenige rein analytische Verfahren (z.B. die Automatische Merkmalsynthese) gibt. Welche Merkmale wesentlich sind, hängt von der jeweiligen Anwendung ab. Merkmale können aus Symbolen beziehungsweise Symbolketten bestehen oder mit statistischen Verfahren aus verschiedenen Skalenniveaus gewonnen werden.
    Das Skalenniveau oder Messniveau - ist in der Statistik und Empirie eine wichtige Eigenschaft von
    Merkmalen bzw. von Variablen. Je nach der Art eines Merkmals bzw. je nachdem, welche Vorschriften bei seiner Messung eingehalten werden können, lassen sich verschiedene Stufen der Skalierbarkeit unterscheiden [Fig.1]:
    Fig.1. Stufen der Skalierbarkeit (Quelle: www.wikipedia.de)
    Bei den numerischen Verfahren unterscheidet man Verfahren im Originalbereich und Verfahren im Spektralbereich. Mögliche Merkmale sind beispielsweise:
  • Kennzahlen der Verteilungsfunktion
  • Momente wie Erwartungswert und
  • VarianzKorrelation und Faltung
  • Mittels Transformationen wie der diskreten Fourier-Transformation (DFT) und diskreten Kosinustransformation (DCT) können die ursprünglichen Signalwerte in einen handlicheren Merkmalsraum gebracht werden. Die Grenzen zwischen Verfahren der Merkmalsgewinnung und Merkmalsreduktion sind fließend. Da es wünschenswert ist, möglichst wenige aber dafür umso aussagekräftigere Merkmale zu gewinnen, können Beziehungen wie die Kovarianz und der Korrelationskoeffizient zwischen mehreren Merkmalen berücksichtigt werden. Mit der Karhunen-Loève-Transformation (Hauptachsentransformation) lassen sich Merkmale dekorrelieren.
    Merkmalsreduktion
    Zur Reduktion der Merkmale auf die für die Klassifikation wesentlichen wird geprüft, welche Merkmale für die Klassentrennung relevant sind und welche weggelassen werden können. Verfahren der Merkmalsreduktion sind die Varianzanalyse, bei der geprüft wird, ob ein oder mehrere Merkmale Trennfähigkeit besitzen, und die Diskriminanzanalyse, bei der durch Kombination von elementaren Merkmalen eine möglichst geringe Zahl trennfähiger nichtelementarer Merkmale gebildet wird.
    Klassifikation
    Der letzte und wesentlichste Schritt der Mustererkennung ist die Klassifikation der Merkmale in Klassen. Dazu existieren verschiedene Klassifikationsverfahren. Lebewesen benutzen zur Mustererkennung in den Signalen unserer Sinne meist Neuronale Netze. Diese Herangehensweise wird in der Bionik analysiert und imitiert. Die Neuroinformatik hat gezeigt, dass durch künstliche neuronale Netze Lernen und Erkennung komplexer Muster möglich sind, auch ohne dass vorher eine Regelabstraktion in oben gezeigter Art erfolgt. Im Anschluss an die Klassifikation des Musters kann versucht werden, das Muster zu interpretieren. Dies ist Gegenstand der Musteranalyse. In der Bildverarbeitung kann auf die Klassifikation von Bildern eine sogenannte Bilderkennung folgen, also die bloße Erkennung von Objekten in einem Bild ohne Interpretation oder Analyse von Zusammenhängen zwischen diesen Objekten.
    Klassifikationsverfahren sind Methoden und Kriterien zur Einteilung von Objekten oder Situationen in Klassen, das heißt zur Klassifizierung.
    Ein solches Verfahren wird auch als Klassifikator bezeichnet. Viele Verfahren lassen sich als Algorithmus implementieren; man spricht dabei auch von maschineller oder automatischer Klassifikation. Klassifikationsverfahren sind immer anwendungsbezogen, so dass viele verschiedene Methoden existieren.Klassifikationsverfahren spielen bei der Mustererkennung und in der Künstlichen Intelligenz beziehungsweise dem Informationsbeschaffung eine Rolle. Zur Beurteilung eines Klassifikators können verschiedene Kenngrößen (z.B.: bestimmte nummerische Eigenschaften) ermittelt werden.
    Dieses Post basiert auf dem Artikel von der Seite: http://www.computerbase.de/lexikon/

    Bilderkennung: Grundbegriffe - Allgemein (1)

    Bilderkennung (eng. Image analysis) ist ein Teilgebiet der Mustererkennung und der Bildverarbeitung. In der Bilderkennung versucht man, Objekte in einem Bild zu segmentieren. Diesen wird eine symbolische Beschreibung zugewiesen, aber es wird nicht nach Zusammenhängen zwischen den Objekten gesucht, wie es in der Musteranalyse üblich ist.

    Die Mustererkennung, ein Teilgebiet der Informatik, untersucht Verfahren, die gemessene Signale automatisch in Kategorien einordnen. Zentraler Punkt ist dabei:

  • das Erkennen von Mustern,
  • den Merkmalen, die allen Dingen einer Kategorie gemeinsam sind und
  • sie vom Inhalt anderer Kategorien unterscheiden.

    Der Begriff Muster - bezeichnet allgemein gleichbleibende Merkmale, die einer sich wiederholenden Sache zugrundeliegt, aber auch einen Handlungsablauf oder eine Denk-, Gestaltungs- oder Verhaltensweise, die zur gleichförmigen Wiederholung (Reproduktion) bestimmt ist.

    Mustererkennungsverfahren befähigen Computer, Maschinen und Roboter, statt präziser Eingaben auch die weniger exakten Eindrücke einer natürlichen Umgebung zu verarbeiten.
    Ein Mustererkennungsprozess lässt sich in mehrere Teilschritte zerlegen, bei denen am Anfang die Erfassung und am Ende eine ermittelte Klasseneinteilung steht.

  • Bei der Erfassung werden Daten oder Signale mittels Sensoren aufgenommen und digitalisiert. Aus den meist analogen Signalen werden Muster gewonnen, die sich mathematisch in Vektoren und Matrizen darstellen lassen.
  • Zur Datenreduktion und zur Verbesserung der Qualität findet eine Vorverarbeitung statt.
  • Durch Extraktion von Merkmalen werden die Muster bei Merkmalsgewinnung anschließend in einen Merkmalsraum transformiert. Die Dimension des Merkmalsraums, in dem die Muster nun als Punkte repräsentiert sind, wird bei der Merkmalsreduktion auf die wesentlichen Merkmale beschränkt. Der abschließende Kernschritt ist die Klassifikation durch einen Klassifikator, der die Merkmale verschiedenen Klassen zuordnet. Das Klassifikationsverfahren kann auf einem Lernvorgang mit Hilfe einer Stichprobe basieren [Fig.1].


  • Fig.1. Phasen der Bilderkennung (Quelle: www.wikipedia.de)

    Dieses Post basiert auf dem Artikel von der Seite: http://www.computerbase.de

    Samstag, 17. November 2007

    Bilderkennung – Projekt „Pong“ - Analyse der beweglichen Bilder

    In Rahmen von der Veranstaltung „Bilderkennung“ – wird es eine neue Version von der Spiel „Ponk“ entwickelt.

    Ein Punkt („Ball“) bewegt sich auf dem Bildschirm hin und her (nach rechts und links). Jeder der beiden Spieler steuert einen senkrechten „Schläger“. Einen davon ist eine WebCam, die mit einem anderen Bildschirm verbunden ist. Eine Ball ist in diesem Fall eine Hand („Objekt“), die sich in der Richtung: X und Y bewegt (hoch & unter; links und rechts)[Fig.1].


    Fig.1. Problem "Pong"

    Man muss folgende Punkte feststellen:
  • Wie kann ich die Hand erkennen („identifizieren“)?
  • Wenn ich Muster der Hand erkennen will, muss man mehrere Aspekte berücksichtigen, z.B.:
    - Jemand z.B.: nur 2 oder 3 Finger hat:

    Fig.2. Hand - Muster: Hand mit 1.Finger


    - Jemand seine Hand anders hält:

    Fig.3. Muster: Position der Fingern


    - 2 Finger sehen so aus, wie 1 Finger:


    Fig.4. Muster: Position der Fingern(2)


    - Ist das linke oder rechte Hand?


    Bei der Erkennung der Hautfarbe, sind auch mehrere Problemen zu berücksichtigen:

  • Befindet Sich die Hand vor dem Gesicht – es ist schwer erkennbar[Fig.5].

  • Wo sich die Hand in der Bildbereich befindet (im Punkt: X,Y,Z)?[Fig.1]
  • Mann muss die Hand von dem Hintergrund trennen. Es interessiert uns nur die Hand.

  • Wie sich die Hand bewegt (z.B.: nach X,Y,Z - Achse) und wie schnell sich die Hand bewegt??[Fig.1 & Fig.5]

  • Fig.5. Muster: Position der Fingern(2)

    Als nächster Schritt versuche ich die o.g. Probleme mit der Hilfe von den verschiedenen Programmen zu analysieren und und Problem zu lösen.


    Dienstag, 13. November 2007

    Bilderkennung – Einführung zur Projekt „Pong“ (kurze Geschichte & Beschreibung)

    Das Spiel „Pong“ wurde von der Firma ATARI erst mal in die Jahre 1972 veröffentlicht und wurde zum ersten weltweit populären Videospiel.

    Das Spielprinzip von Pong war ganz simpel und ähnelt dem des Tischtennis:
    Ein Punkt („Ball“) bewegt sich auf dem Bildschirm hin und her (nach rechts und links). Jeder der beiden Spieler steuert einen senkrechten Strich („Schläger“), den er mit einem Drehknopf (Paddle) nach oben und unten verschieben kann. Lässt man den „Ball“ am „Schläger“ vorbei,erhält der Gegner einen Punkt (Fig.1).

    Fig.1. Pong - Spiel

    Im Frühjahr 1972 präsentierte Magnavox (eine Elektronikfirma, die seit 1974 zu Philips gehört – sie hat die erste Videospiel-Konsole entwickelt) sein Magnavox Odyssey in Kalifornien. Nolan Bushnell (spätere Grunder der Firma Atari) spielte hier zum ersten Mal das Ping-Pong Spiel des Magnavox Odyssey. Als Bushnell wenig später Atari gründete, beauftragte er seinen noch neuen Angestellten, zu Übungszwecken ein Ping-Pong-Spiel zu erstellen. Wie sich herausstellte, machte das Ping-Pong-Spiel so viel Spaß, dass Bushnell sich entschied, es zu veröffentlichen. Da der Begriff Ping Pong bereits geschützt war, einigte man sich darauf, das Spiel ganz einfach Pong zu nennen.
    Als Magnavox von Pong erfuhr, informierten sie Atari darüber, dass für das Spielprinzip bereits Patente bestanden. Vor Gericht konnte Magnavox beweisen, dass Bushnell im Frühjahr 1972 deren Ping-Pong-Spiel gesehen und gespielt hatte. Ein Eintrag Bushnells im Gästebuch von Magnavox untermauerte deren Beweisführung. Atari wurde zur Zahlung von $700.000 zur Nutzung der Patente von Magnavox verurteilt. Für Atari war das eine gute Investition heraus, da man bis 1983 weit über 8000 Pong-Münzautomaten verkaufte.

    Der Pong-Automat (Fig.2.) basierte am Anfang auf einem festverdrahteten, teils digitalen, teils analogen Schaltkreis. Deswegen war er daher kein Computer im eigentlichen Sinne.
    Im Sommer 1975 präsentierte Atari auf CES - Consumer Electronic Show eine Heimversion von Pong. Kurz danach - der CES bekundete Tom Quinn (Einkäufer bei Sears) hatte eine Interesse an Pong. Sears hat die alleinigen Vermarktungsrechte erhalten und Atari bis zum Weihnachtsgeschäft 150.000 Einheiten der Pong-Konsole liefern sollte. Die Verhandlungen haben sich mit der großen Erfolg beendet und die Pong-Konsole sowie diverse Nachbauten unter anderen Namen blieben bis Ende der 1970er Jahre erfolgreich, in Europa bis Anfang der 1980er Jahre. Dann trat der Atari 2600 die Nachfolge an.

    Fig.2. Pong - Konsole

    Aus Pong hat sich später viele andere Variante von Pong entwickelt (z.B.: Breakout, Paddle War, usw), die bis heute die Programmierern weiter entwickeln und ändern.

    Dieses Post basiert auf dem Artikel von der Web-Seite: http://www.computerbase.de