[PYTHON] Super (kurze) Zusammenfassung der Bildklassifizierung durch ArcFace
Einführung
In diesem Artikel werde ich die Gliederung der Bildklassifizierung mit ArcFace kurz zusammenfassen.
Bitte überprüfen Sie die Referenzseite auf den theoretischen Hintergrund und den entsprechenden Code.
Super Zusammenfassung
- Eine Lernmethode namens metrisches Lernen wird häufig zur Klassifizierung von Bildern verwendet.
- Beim Distanzlernen lernen Sie die im Raum eingebetteten Daten kennen, sodass dieselben Klassen zusammengefasst und verschiedene Klassen voneinander getrennt werden.
- In einem einfachen Klassifikator muss das Modell umgeschult werden, wenn eine neue Klasse hinzugefügt wird. Beim Fernunterricht kann das vorhandene Modell jedoch so verwendet werden, wie es ist.
- Die neue Klasse befindet sich (idealerweise) weit entfernt von der bestehenden Klasse, sodass sich die neue Klasse an einem einzigartigen Ort unter den neuen Klassen versammelt.
- Die Grundidee besteht darin, unbekannte Daten gegen räumlich gesammelte Daten zu zeichnen und die nächste Klasse als vorhergesagten Wert zurückzugeben (später beschrieben).
--ArcFace ist einer der SOTA-Fernlernalgorithmen.
--Um den Abstand zwischen Punkten im Raum zu vergrößern, vergrößern Sie den Abstand vom Ursprung jedes Punkts oder vergrößern Sie den Winkel.
--Arc Face ist ein winkelfokussierter Ansatz.
――Als Merkmal entspricht der Abstand zwischen Punkten dem Abstand zwischen Superflugzeugen, sodass eine geometrische Interpretation einfach zu sein scheint.
- Andere sind traditioneller Mittelverlust, Kontrastverlust, Triplettverlust und kürzlich eingeführtes SphereFace und CosFace.
- Weitere Informationen: Moderne Lernmethode für tiefe Metriken: SphereFace, CosFace, ArcFace
- Gründliche Erklärung des tiefen metrischen Lernens unter Verwendung von Winkeln -AdaCos-Praxis von Pytorch-
--ArcFace fügt es später im Klassifikator als Ebene hinzu
- Weitere Informationen: [Keras] Ich habe versucht, Haustierflaschen mit MobileNetV2 + ArcFace zu sortieren!
- Implementierung von ArcFace durch Keras (github)
--Predict verwendet ein Lernmodell, bei dem ArcFace entfernt wurde
- Weitere Informationen: [Keras] Ich habe versucht, Haustierflaschen mit MobileNetV2 + ArcFace zu sortieren!
- Die Ausgabe ist ein Vektor (eindimensionales Array) für jede Daten
- Berechnen Sie den Abstand zwischen dem Ausgabevektor der Testdaten und dem Ausgabevektor der Zugdaten (im Voraus berechnet) und verwenden Sie die Bezeichnung der Zugdaten mit dem nächstgelegenen Abstand als Vorhersageergebnis.