Census-Transformation

Aus testwiki
Version vom 13. Mai 2024, 03:33 Uhr von imported>Hutch (Leerzeichen vor/nach Schrägstrich korrigiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Die Census-Transformation (CT) (engl. Census Transform) wurde von Zabih und Woodfill vorgeschlagen[1] und berechnet für jeden quadratischen Pixelbereich eines Bildes einen Bit-String als Signatur[2].

Dadurch können insbesondere über die Hamming-Distanz der Bit-Strings schnell übereinstimmende Bereiche der Bilder ermittelt werden – beispielsweise zur Erzeugung einer Vorlage:Lang als Vorstufe zur Bestimmung des optischen Flusses (Vorlage:Lang) oder einer Stereo Disparität (Vorlage:Lang) von zeitlich folgenden bzw. gleichzeitig aufgenommenen Bildern.

Algorithmus

Der Grauwert des zentralen Pixels wird einzeln mit seinen Nachbarn (Anzahl N) verglichen und das Ergebnis (N × 1 Bit) als Zahl abgespeichert (Bit-String) – wobei das Bit „0“ einen Wert größer und das Bit „1“ einen Wert kleiner oder gleich dem Grauwert des zentralen Pixels kennzeichnet. Meist wird eine 3×3-Umgebung betrachtet und der triviale Vergleich mit sich selbst ausgelassen (3 × 3 − 1 = 8 Bit = 1 Byte). Jedoch ist auch die Betrachtung einer 5×5-Umgebung gebräuchlich (5 × 5 − 1 = 24 Bit).

Die Reihenfolge der Ergebnisbits ist beliebig (aber fest) und kann beispielsweise im Uhrzeigersinn angeordnet sein.

𝐅=[1238C4765]

Dadurch entsteht ein Signatur-Vektor (z. B. „11001011“ bei einer 3x3 Umgebung) für den zentralen Pixel, welcher mit anderen Signatur-Vektoren verglichen werden kann.

Dreiwertige Census-Transformation

Die von Zabih und Woodfill vorgeschlagene Census-Transformation wurde von Stein durch einen ϵ-Parameter erweitert, wodurch ähnliche Pixel repräsentiert werden können (und damit eine gewisse Unschärfe bzw. Rauschen toleriert wird). Dadurch entsteht eine 3-wertige (Vorlage:Lang) Census-Transformation, die hier in der von Stein gewählten Definition zusammen mit einem Beispiel gezeigt wird:

ξ(P,P)={0,wenn PP>ϵ1,wenn |PP|ϵ2,wenn PP>ϵ12474321246418157116842102x022221002222

Bei der dreiwertigen Census-Transformation werden also zwei Bit benötigt, was die Länge des Vergleichsvektors verdoppelt.

Modifizierte Census-Transformation

Andererseits wird bei der erstmals von Fröba und Ernst vorgeschlagenen modifizierten Census-Transformation (Vorlage:Lang, MCT) die Umgebung (Nachbarn und Zentralpixel) mit dem Mittelwert der 3×3-Umgebung verglichen. Dadurch hat die Filterantwort jedes Pixels ein Bit mehr (9 bzw. 25 Bit).

Eigenschaften

  • kaum abhängig von Helligkeitsschwankungen (Belichtungszeit, regionale Schatten)
  • unterscheidet Rotation und Spiegelung
  • lokaler Filter
  • Informationsverlust (d. h. das Bild ist aus der Filterantwort nicht rekonstruierbar)

Anwendungen

Die Census-Transformation kann zur Berechnung des optischen Flusses (feature tracking), zur Bildsegmentierung oder bei der Gesichtserkennung verwendet werden. Sie ähnelt vom Konzept her den BRIEF-Features (ein Descriptor) und geht mehrfach in die Berechnung von Local Binary Patterns (LBP) ein.

Einzelnachweise

  1. ZABIH, Ramin; WOODFILL, John. Non-parametric local transforms for computing visual correspondence. In: European conference on computer vision. Springer, Berlin, Heidelberg, 1994, S. 151–158. doi:10.1007/BFb0028345
  2. PEÑA, Dexmont; SUTHERLAND, Alistair. Non-parametric image transforms for sparse disparity maps. In: Machine Vision Applications (MVA), 14th IAPR International Conference on. IEEE, 2015, S. 291–294. doi:10.1109/MVA.2015.7153188

Quellen