Bit wisem 2015-wieners-sitzung-11_Software-Entwicklung II: Entwurfsmuster
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
1. Basisinformationstechnologie II – Sommersemester 2016 – 13. Mai 2016
Dr. Jan G. Wieners
Algorithmen der Bildverarbeitung
Maschinelles Sehen / Computer Vision
7. Bedeutung:
„Schafe im Hochland Islands“
„Geothermalkraftwerk Bjarnarflag“
„Pünderich an der Mosel“
Menschliche (sinnliche) Wahrnehmung + x + Hintergrundwissen
8.
9.
10.
11.
12.
13.
14. „Alles […], was ich bisher am ehesten für wahr
angenommen, habe ich von den Sinnen oder durch
Vermittelung der Sinne empfangen. Nun aber bin ich
dahinter gekommen, daß diese uns bisweilen täuschen,
und es ist ein Gebot der Klugheit, niemals denen ganz zu
trauen, die auch nur einmal uns getäuscht haben.“
(Descartes, René: Meditationen über die Grundlagen der Philosophie mit den sämtlichen Einwänden und Erwiderungen.
Hamburg: meiner, 1994. S. 12)
47. Einfaches Modell eines künstlichen Neurons i mit:
ℎ𝑖:Summe der gewichteten Eingabeimpulse 𝑤𝑖1…𝑤𝑖𝑛, die das Neuron
von verknüpften externen Einheiten oder von Sensoren (𝜉1…𝜉𝑛) erhält
𝑎𝑖: Aktivierungsmaß
𝑔(ℎ𝑖): Aktivierungsfunktion
𝑜𝑖: Ausgabe des Neurons
48. Verarbeitung der Eingabeimpulse 𝑤𝑖1…𝑤𝑖𝑛 erfolgt in zwei Schritten:
ℎ𝑖: gewichtete Summe der Eingabeimpulse bestimmen, die an dem
Neuron anliegen:
Bestimmung des Aktivierungsmaßes (in den meisten Fällen: Ausgabe)
des Neurons:
Sinnliche Wahrnehmung
Moped
Auflösungsvermögen
Das menschliche Auge besitzt ca. 6 Mio. Zapfenzellen und 120 Mio. Stabzellen; das Sensor-Array einer typischen CCD-Kamera 440.000 Bildpunkte (Video) bzw. 5-16 MegaPixel (Photo)
Eine analoge 35mm Kleinbildkamera erreicht eine Auflösung von ca. 20 Megapixel (!)
Verarbeitungsleistung
Trotz relativ langsamer „Schaltzeiten“ im Millisekundenbereich garantiert parallele Verarbeitung eine extrem hohe Verarbeitungsleistung des menschl. visuellen Systems
Farbensehen
Das menschliche Auge kann ca. 100 Grauwerte und 7 Mio. Farben unterscheiden; digitale Graustufenbilder enthalten bis zu 256 Graustufen und bis zu 16,7 Mio Farben.
Struktur / form?
Kaffeehaustäuschung
Auflösungsvermögen
Das menschliche Auge besitzt ca. 6 Mio. Zapfenzellen und 120 Mio. Stabzellen; das Sensor-Array einer typischen CCD-Kamera 440.000 Bildpunkte (Video) bzw. 5-16 MegaPixel (Photo)
Eine analoge 35mm Kleinbildkamera erreicht eine Auflösung von ca. 20 Megapixel (!)
Verarbeitungsleistung
Trotz relativ langsamer „Schaltzeiten“ im Millisekundenbereich garantiert parallele Verarbeitung eine extrem hohe Verarbeitungsleistung des menschl. visuellen Systems
Farbensehen
Das menschliche Auge kann ca. 100 Grauwerte und 7 Mio. Farben unterscheiden; digitale Graustufenbilder enthalten bis zu 256 Graustufen und bis zu 16,7 Mio Farben.
Vexierbilder
Bedeutung?
Woher wissen Suchmaschinen, was in einer Rastergrafik dargestellt ist?
Annotation: Metainformationen, ausgefülltes alt-Attribut des <img> Tags
Bildanalyse
Der Algorithmus nutzt eine Faltung mittels einer 3×3-Matrix (Faltungsmatrix), die aus dem Originalbild ein Gradienten-Bild erzeugt. Mit diesem werden hohe Frequenzen im Bild mit Grauwerten dargestellt. Die Bereiche der größten Intensität sind dort, wo sich die Helligkeit des Originalbildes am stärksten ändert und somit die größten Kanten darstellt. Daher wird zumeist nach der Faltung mit dem Sobeloperator eine Schwellwert-Funktion angewandt. Der Algorithmus kann allerdings auch auf andere zweidimensionale Signale angewandt werden.
Aus dem Originalbild wird für jeden Bildpunkt immer nur ein Ausschnitt, genauer gesagt die Umgebung des zu betrachtenden Punktes verwendet. Dazu wird eine Matrix definiert, deren Komponenten die Änderungsgewichtung der Umgebung vom Punkt repräsentieren. Die Matrix ist üblicherweise symmetrisch angelegt, sodass keine Änderung in der Umgebung zu einer Nullsumme führt (siehe unten). Nun werden mittels der Sobeloperatoren und die gefalteten Resultate und berechnet:
Der Algorithmus nutzt eine Faltung mittels einer 3×3-Matrix (Faltungsmatrix), die aus dem Originalbild ein Gradienten-Bild erzeugt. Mit diesem werden hohe Frequenzen im Bild mit Grauwerten dargestellt. Die Bereiche der größten Intensität sind dort, wo sich die Helligkeit des Originalbildes am stärksten ändert und somit die größten Kanten darstellt. Daher wird zumeist nach der Faltung mit dem Sobeloperator eine Schwellwert-Funktion angewandt. Der Algorithmus kann allerdings auch auf andere zweidimensionale Signale angewandt werden.
Aus dem Originalbild wird für jeden Bildpunkt immer nur ein Ausschnitt, genauer gesagt die Umgebung des zu betrachtenden Punktes verwendet. Dazu wird eine Matrix definiert, deren Komponenten die Änderungsgewichtung der Umgebung vom Punkt repräsentieren. Die Matrix ist üblicherweise symmetrisch angelegt, sodass keine Änderung in der Umgebung zu einer Nullsumme führt (siehe unten). Nun werden mittels der Sobeloperatoren und die gefalteten Resultate und berechnet:
Anwendungsfall: PLANETS
Nach Kantendetektion: Segmente / Bildteile, die einzelne oder mehrere Objekte enthalten können
Wir möchten herausfinden, ob zwei Objekte gleich sind
Szenario 1
:
Wie können wir hier einen Vergleich durchführen?
Einfache Möglichkeit: Differenzbild
unterschiedliche
Pixel zählen
bei vielen unterschiedlichen Pixeln => unterschiedli
che Segmente
bei wenig unterschiedlichen Pixeln => ähnliche/gleic
he Segmente
Template Matching
Das erste Segment wird in alle Positionen und Drehu ngen versetzt und mit dem zweiten verglichen, bis es „passt“.
Problem: alle Drehungen müssen mit allen x-Verschiebungen und allen y-Verschiebungen kombiniert werden! Sehr rechenintensiv
Großes Problem…
Es werden Charakterisierungen durch „Attribute“ oder Zahlen vorgenommen Vergleich der Attribute oder Zahlen ist einfach:
Sind diese ungleich so sind die Objekte unterschiedlich
Dies ist offensichtlich sehr viel schneller als Template Matching!
A quadrat + b quadrat
Einfache Geometrische und Topologische Merkmale
Viele Merkmale für Segmente sind schön anschaulich und einfach zu berechnen
Einfache Geometrische und Topologische Merkmale
Viele Merkmale für Segmente sind schön anschaulich und einfach zu berechnen
Einfache Geometrische und Topologische Merkmale
Viele Merkmale für Segmente sind schön anschaulich und einfach zu berechnen
Es fasst drei biologisch motivierte Fachgebiete der Informationsverarbeitung zusammen. Es basiert auf Algorithmen der Fuzzylogik und künstlichen neuronalen Netzen sowie auf den Evolutionären Algorithmen.
Hierbei signifiziert 𝑤𝑖𝑗𝑜𝑗 die Ausgabe 𝑜𝑗 des Knotens 𝑗, die das betrachtete Neuron 𝑖 durch eine gewichtete Verbindung 𝑤𝑖𝑗 erreicht. Ist ℎ𝑖 berechnet, wird anschließend die Aktivierungsfunktion 𝑔(ℎ𝑖) ausgeführt, die das Aktivierungsmaß 𝑎𝑖 des Neurons 𝑖 kalkuliert:
Netztopologien
Ein vorwärtsgerichtetes künstliches neuronales Netz mit einer Eingabe-, einer versteckten- und einer Ausgabeschicht.