Zum Inhalt springen.

Bildähnlichkeit

Dieses Verzeichnis bietet Beispiele und Best Practices für den Aufbau von Bildähnlichkeitssystemen. Unser Ziel ist es, den Benutzern zu ermöglichen, ihre eigenen Datensätze einzubringen und schnell und einfach ein hochpräzises Modell zu trainieren. Zu diesem Zweck stellen wir Beispiel-Notebooks mit voreingestellten Standardparametern zur Verfügung, die sich auf einer Vielzahl von Datensätzen gut bewährt haben, sowie umfangreiche Dokumentationen zu häufigen Fallstricken, Best Practices usw.

Beispiel für Bildabruf, das das Abfragebild links und die 6 Bilder, die ihm am ähnlichsten sind, rechts zeigt

Image retrieval example

State-of-the-Art

Die Mehrheit der State-of-the-Art-Systeme für Bildähnlichkeit verwendet DNNs, um eine Darstellung eines Bildes zu berechnen (z. B. einen Vektor aus 512 Gleitkommawerten). Die Ähnlichkeit zwischen zwei Bildern wird dann als Kosinus- oder L2-Distanz zwischen ihren jeweiligen DNN-Darstellungen definiert.

Der Hauptunterschied zwischen neueren Veröffentlichungen zur Bildähnlichkeit liegt in der Art und Weise, wie das DNN trainiert wird. Ein einfacher, aber überraschend leistungsfähiger Ansatz ist die Verwendung einer Standard-Bildklassifizierung-Lossfunktion. Dies ist der Ansatz, der im Notebook 01_training_and_evaluation_introduction.ipynb verfolgt wird und im Ordner classification erklärt wird. Genauere Modelle werden typischerweise explizit für Bildähnlichkeit mit Triplet Learning trainiert, wie im bekannten FaceNet-Paper. Während triplet-basierte Ansätze gute Genauigkeiten erzielen, sind sie konzeptionell komplex, langsamer und schwieriger zu trainieren/konvergieren, aufgrund von Problemen wie der Auswahl guter Triplets.

Stattdessen implementiert das Notebook 02_state_of_the_art.ipynb das BMVC 2019-Paper „Classification is a Strong Baseline for Deep Metric Learning“, das zeigt, dass dieser zusätzliche Aufwand nicht notwendig ist. Tatsächlich erzielen die Autoren durch geringfügige Änderungen an Standard-Klassifizierungsmodellen Ergebnisse, die auf drei gängigen Forschungsdatensätzen vergleichbar oder besser sind als der bisherige Stand der Technik.

Nachfolgend finden Sie eine Auswahl beliebter Papiere in diesem Bereich mit berichteten Genauigkeiten auf Standard-Benchmark-Datensätzen

Papier Jahr Verwendet Triplet Learning Recall@1 CARS196 Recall@1 CUB200-2011 Recall@1 SOP
Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016   49% 47% 62%
Deep Metric learning mit Angular Loss ICCV 2017 Ja 71% 55% 71%
Sampling Matters in Deep Embedding Learning ICCV 2017 Ja 80% 64% 73%
No Fuss Distance Metric Learning using Proxies ICCV 2017 Ja 73% 49% 74%
Deep metric learning mit hierarchischer Triplet Loss ECCV 2018 Ja 81% 57% 75%
Klassifizierung ist eine starke Basis für Deep Metric Learning
(Implementiert in diesem Repository)
BMVC 2019 Nein 84% (512-dim)
89% (2048-dim)
61% (512-dim)
65% (2048-dim)
78% (512-dim)
80% (2048-dim)

Re-Ranking

Zusätzlich zu der oben vorgestellten SOTA-Methode bieten wir eine Implementierung eines beliebten Re-Ranking-Ansatzes, der im CVPR 2017-Paper Re-ranking Person Re-identification with k-reciprocal Encoding veröffentlicht wurde. Re-Ranking ist ein Nachbearbeitungsschritt zur Verbesserung der Abrufgenauigkeit. Der vorgeschlagene Ansatz ist schnell, vollautomatisch, unüberwacht und zeigt eine bessere Genauigkeit als andere State-of-the-Art-Methoden.

Häufig gestellte Fragen

Antworten auf häufig gestellte Fragen wie „Wie viele Bilder benötige ich, um ein Modell zu trainieren?“ oder „Wie annotiere ich Bilder?“ finden Sie in der Datei FAQ.md. Für spezifische Fragen zur Bildklassifizierung siehe die FAQ.md im Klassifizierungsordner.

Notebooks

Wir stellen mehrere Notebooks zur Verfügung, um zu zeigen, wie Bildähnlichkeitsalgorithmen entworfen und ausgewertet werden können.

Notebook-Name Beschreibung
00_webcam.ipynb Quick-Start-Notebook, das zeigt, wie ein Bildabrufsystem mit einem einzelnen Bild oder einer Webcam als Eingabe erstellt wird.
01_training_and_evaluation_introduction.ipynb Notebook, das die Grundkonzepte des Modelltrainings und der -evaluierung erklärt, basierend auf DNNs, die für die Bildklassifizierung trainiert wurden.
02_state_of_the_art.ipynb Implementierung des State-of-the-Art BMVC 2019-Papers, das in der obigen Tabelle erwähnt wird.
11_exploring_hyperparameters.ipynb Findet optimale Modellparameter mithilfe der Grid-Suche.
12_fast_retrieval.ipynb Schneller Bildabruf unter Verwendung von Nearest Neighbor Search.

Codierungsrichtlinien

Siehe die Codierungsrichtlinien im Stammverzeichnis.