11 Stimmen

Histogramm der orientierten Gradienten

Ich habe die Theorie über HOG-Deskriptoren zur Erkennung von Objekten (Menschen) gelesen. Aber ich habe einige Fragen über die Umsetzung, die wie ein unbedeutendes Detail klingen könnte.

Soll das Fenster, das die Blöcke enthält, Pixel für Pixel über das Bild bewegt werden, wobei sich die Fenster bei jedem Schritt überlappen, wie hier dargestellt: enter image description here

oder sollte das Fenster verschoben werden, ohne dass es zu Überschneidungen kommt, wie hier: enter image description here

In den Abbildungen, die ich bisher gesehen habe, wurde der zweite Ansatz verwendet. Wenn man jedoch bedenkt, dass das Erkennungsfenster eine Größe von 64x128 hat, ist es sehr wahrscheinlich, dass man nicht das gesamte Bild abdecken kann, wenn man das Fenster über das Bild schiebt. Bei einer Bildgröße von 64x255 werden die letzten 127 Pixel nicht auf ein Objekt geprüft. Der erste Ansatz erscheint also sinnvoller, ist aber zeit- und rechenaufwändiger.

Irgendwelche Ideen? Ich danke Ihnen im Voraus.

EDIT: Ich versuche, mich an die Originalarbeit von Dalal und Triggs zu halten. Eine Arbeit, die den Algorithmus implementiert und den zweiten Ansatz verwendet, finden Sie hier: http://www.cs.bilkent.edu.tr/~cansin/projects/cs554-vision/pedestrian-detection/pedestrian-detection-paper.pdf

4voto

Rick Haffey Punkte 482

EDIT: Entschuldigung - ich habe Ihre Frage falsch verstanden. (Auch die Antwort, die ich auf die Frage falsch Frage war ein Irrtum - ich habe das unten aus Gründen des Kontextes angepasst).

Sie fragen nach mit den HOG-Deskriptor zur Erkennung, nicht Erzeugung von den HOG-Deskriptor.

In dem von Ihnen zitierten Implementierungspapier sieht es so aus, als ob sie sont die sich mit dem Erkennungsfenster überschneiden. Die Fenstergröße beträgt 64x128, wobei ein horizontaler Abstand von 32 Pixeln und ein vertikaler Abstand von 64 Pixeln verwendet wird. Sie erwähnen auch, dass sie kleinere Stride-Werte ausprobiert haben, aber dies führte zu einer höheren Falsch-Positiv-Rate (im Kontext ihrer Implementierung).

Darüber hinaus werden 3 Skalen des Eingangsbildes verwendet: 1, 1/2, und 1/4. Eine entsprechende Skalierung des Erkennungsfensters wird nicht erwähnt - ich bin mir nicht sicher, welche Auswirkungen dies auf die Erkennung hätte. Es scheint, dass dies implizit auch zu Überschneidungen führen.


Ursprüngliche Antwort (korrigiert):

Wenn man sich die Arbeit von Dalal und Triggs (in Abschnitt 6.4) ansieht, sieht es so aus, als ob sie sowohl i) keine Blocküberlappung als auch ii) Halb- und Viertelblocküberlappung bei der Erzeugung des HOG-Deskriptors erwähnen. Ausgehend von ihren Ergebnissen klingt es so, als ob eine größere Überlappung zu besseren Erkennung Leistung (wenn auch mit einem höheren Ressourcen-/Verarbeitungsaufwand).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X