Computer Vision: Clusterung, BoW
Idee
I. Bilder sind Vektoren, ein Pixel entspricht einer Komponente.
Ein Bildfragment um ein Pixel ist ein Vektor, der die Umgebung „charakterisiert“.
II. Die Menge aller Bildfragmente besteht aus Teilmengen, jede Teilmenge hat einen Repräsentant – ein „ideales“ Muster, alle Bildfragmente sind verrauschte Varianten der Repräsentanten.
III. Der Merkmal eines Bildfragmentes ist der ähnlichste Repräsentant (seine Nummer).
Aufgabe:
Man finde die Repräsentanten anhand einer Lernstichprobe von Bildfragmenten
⇒Clusterung
D. Schlesinger ()Computer Vision: Clusterung, BoW 2 / 12
Clusterung
Aufgabe: partitioniere eine Menge der Objekte auf sinnvolle Teile – Clusters.
Die Objekte eines Clusters sollen „ähnlich“ sein.
Clustermenge:K
Indexmenge:I={1,2, . . . ,|I|}
Merkmalsvektoren:xi,i∈I.
Partitionierung:C= (I1,I2, . . . ,I|K|),Ik∩Ik0=∅fürk6=k0,
S
kIk=I
xi∈Rn, jeder Cluster hat einen „Repräsentant“yk∈Rn Die Aufgabe:
X
k
X
i∈Ik
kxi−ykk2→min
C,y
Alternativ – gesucht wird eine AbbildungC:I→K
X
i
kxi−yC(i)k2→min
y,C
X
i
min
k
kxi−ykk2→min
y
K-Means Algorithmus
Initialisiere Clusterzentrenykzufällig.
Wiederhole solange sich die ClusterungC ändert:
1) Klassifikation:
C(i) = arg min
k0
kxi−yk0k2 ⇒ i∈Ik
2) Aktualisierung der Zentren:
yk= arg min
y
X
i∈Ik
kxi−yk2= 1
|Ik|
X
i∈Ik
xi
– NP-vollständig.
– K-Means Konvergiert zum lokalen Optimum→abhängig von der Initialisierung (Beispiel lokaler Konvergenz auf der Tafel).
Ausweg – z.B. zufällige Initialisierung und Wiederholung.
D. Schlesinger ()Computer Vision: Clusterung, BoW 4 / 12
Beispiel – Farbreduktion
Die Elementen sind die Pixel des Bildes, die Merkmale sind Farbwerte,
man zerlege das Bild auf Teile, die jeweils „charakteristischen Farben“ entsprechen.
Beispiel der Farbreduktion auf 8 Farben:
Varianten/Verallgemeinerungen
Ein anderer Abstandsmaß, zum Beispielkxi−ykkanstattkxi−ykk2: beim K-Means ist die Klassifikation 1) dasselbe,
die Aktualisierung 2) – der geometrische Median der Punktexi,i∈Ik: yk= arg min
y
X
i∈Ik
kxi−yk
(etwas schwieriger zu berechnen als der Mittelpunkt).
Problem: die Merkmalexlassen sich nicht immer mitteln (yk existiert nicht).
Ein Ausweg – K-Medioid Algorithmus (ykist ein Punktxiaus der Lernstichprobe).
Eine andere Verallgemeinerung basiert auf der Beobachtung
X
i
kxi−¯xk2∼
X
ij
kxi−xjk2,
daraus folgt
X
k
X
ij∈Ik
kxi−xjk2=
X
k
X
ij∈Ik
d(i,j)→min
C ,
mit der Abstandsmatrixd(die auf unterschiedlichste Weisen definiert werden kann).
D. Schlesinger ()Computer Vision: Clusterung, BoW 6 / 12
Block Matching (siehe Stereo)
Wichtig ist, Bildfragmente durch geeignete Wahl vond(i,j) vergleichen zu können
Quadratischer Abstand:
d I1(p1),I2(p2)
=
X
p0∈W
I1(p1+p0)−I2(p2+p0)
2Mittelwertfreie Färbungen:
Da I1(p1),I2(p2)
= min
Ca
X
p0∈W
I1(p1+p0) +Ca−I2(p2+p0)
2Skalierung (Kontrast):I1(p1+p0) wird zuCm·I1(p1+p0) +Ca
⇒Korrelationskoeffizient – mittelwertfreie Färbungen, normiert auf ihre Varianzen.
Geometrische Transformationen:I1(p1+p0) wird zuI1(Tr(p1+p0)) usw.
Weitere Abstandsmaße/Varianten
Graph basierte Abstandsmaße:
Gegeben ist ein Graph, dessen Knoten die Elementen von I sind. Jede Kante ist mit d(i,j) bewertet. Der Abstand zwischeniundjist die (summarische) Länge des kürzesten Pfaden zwischen den entsprechenden Knoten im Graphen.
→So ein Abstandsmaß ist eine Metrik.
Pfad basierte Abstandsmaße (auch Graphen):
Die Idee – selbst wenn zwei Merkmalexiundxj von einander weit entfernt sind, gehören sie eher zum selben Cluster, wenn ein Pfad (xi,xl,xl0, . . . ,xj) existiert so, dass die Abständed(xl,xl0) klein sind.
→Der minimale aufspannende Baum wird benötigt.
Abstandsmaße für „andere“ Objekte (nicht∈Rn):
Zum Beispiel:
Edit distance (Levenstein Abstand) zwischen zwei Folgen, Graph Isomorphismus basierte Abstände zwischen Graphen
Noch eine Variante – Minimierung der Durchmesser (bei|K|= 2 polynomiell lösbar):
max
k max
ij∈Ikd(i,j)→min
C
. . .
D. Schlesinger ()Computer Vision: Clusterung, BoW 8 / 12
Visuelle Wörter
– Finde interessante Punkte in Bildern einer Datenbank – Betrachte die entsprechenden Bildfragmente als Vektoren – Clustere sie (Distanzmaß aus Block Matching)
Bilddatenbank ⇒ Visuelle Wörter
Jedem Bildausschnitt wird das Wort zugeordnet, zu welchem er am nächsten liegt.
Bildmerkmal – Nummer des Wortes
Punktmerkmale → Bildmerkmale
Grundlage:
Input: Bild
→Interessante Punkte (Harris, MSER, Laplace ...)
→Deskriptoren, ein pro Punkt (Haar, SIFT, Bildfragmente ...) Output: Ein „Tupel“ von Vektoren pro Bild.
Was ist im Bild zu sehen (Erkennung, Klassifikation)?
Die Deskriptoren an sich sind nicht aussagekräftig genug – es sind „nur Zahlen“.
Die Menge aller Deskriptoren wird geclustert,
der Deskriptor (numerisch) wird wehrend der Erkennung durch Clusternummer ersetzt – Klassifikation (Interpretation des Wertes) – eine „etwas semantischere“ Bedeutung
⇒Output: Eine Liste der Besondere Punkte mit den entsprechenden Clusternummern.
Was ist im Bild zu sehen?
Die Idee:
die Häufigkeiten des Vorkommens der Clusternummer sind für die Klassifikation relevant Beispiel: „sehr viele vertikale Kanten im Bild“⇒(höchstwahrscheinlich) „Zebra“
Bildmerkmalist das Histogramm des Vorkommens der Clusternummer.
D. Schlesinger ()Computer Vision: Clusterung, BoW 10 / 12
Bag of Visual Words
Erkennung
Was ist im Bild zu sehen?
Bild → Merkmal →
?Klasse
EinKlassifikatorist eine Abbildunge:Rn→K, die jedemMusterx∈RneineKlassek∈K zuordnet.
Lernaufgabe:
Gegeben sei eine FamilieEder Klassifikatoren
Gegeben sei eineannotierte Lernstichprobe (x1,k1),(x2,k2). . .(xL,kL)
Man suche nach dem Klassifikatore∈ Eso, dasse(xl) =klfür allelgilt (wenn es mehrere gibt, finde den „besten“)
Mashine Learning, Mustererkennung Empfehlenswert:
http://people.csail.mit.edu/torralba/shortCourseRLOC/index.html
D. Schlesinger ()Computer Vision: Clusterung, BoW 12 / 12