Neuronale Netzwerkarchitektur zum Identifizieren von Bildkopien

7

Ich habe eine große Bildersammlung und möchte die Bilder in dieser Sammlung identifizieren, die andere Bilder aus der Sammlung zu kopieren scheinen.

Um Ihnen einen Eindruck von den Arten von Bildpaaren zu geben, die ich als Übereinstimmungen klassifizieren möchte, betrachten Sie bitte diese Beispiele:

Geben Sie hier die Bildbeschreibung ein

Ich habe ungefähr 0,25 Millionen Paare übereinstimmender Bilder von Hand klassifiziert und möchte nun diese handbeschrifteten Übereinstimmungen verwenden, um ein neuronales Netzwerkmodell zu trainieren. Ich bin mir einfach nicht sicher, welche Architektur für diese Aufgabe ideal geeignet wäre.

Ich dachte ursprünglich, ein siamesisches Netzwerk könnte angemessen sein, da sie für ähnliche Aufgaben verwendet wurden, aber die Ausgabe dieser Klassifizierer scheint idealer geeignet zu sein, um verschiedene Figuren desselben Objekts zu finden (was nicht das ist, was ich will), anstatt verschiedene Drucke der gleichen Figuration (was ich will).

Wenn jemand helfen kann, Papiere oder Architekturen zu empfehlen, die sich aufgrund der von mir erstellten Trainingsdaten ideal zur Identifizierung von Bildern eignen, wäre ich für alle Erkenntnisse, die Sie anbieten können, außerordentlich dankbar.

duhaime
quelle
"Aber die Ausgabe von Klassifizierern für [siamesische Netzwerke] scheint idealer geeignet zu sein, um verschiedene Figuren desselben Objekts zu finden" - ich denke tatsächlich, dass siamesische Netzwerke perfekt funktionieren würden. Sie lernen, was Sie ihnen sagen, um zu lernen. Andere haben sie dazu gebracht, "verschiedene Figuren" zu lernen, aber Sie könnten sie dazu bringen, Bildduplikationen zu lernen.
Kbrose
Ich habe gerade ein Papier über DEep Local Features (DELF) entdeckt , das eine auf Schlüsselpunkten basierende Analyse mit Faltungs-Neuronalen Netzen kombiniert, um Bildähnlichkeit zu erfassen. Google hat ein Beispiel für ein Colab-Notizbuch erstellt, das DELF implementiert .
Duhaime
Nur ein Gedanke, was ist mit Variations-Autoencodern und der Messung des Rekonstruktionsfehlers? Ich denke, es würde für die beiden linken sehr gut funktionieren, aber ich bin mir bei den richtigen Beispielen nicht sicher. Für diese halte ich einen lokalisierten Ansatz für erforderlich.
Zwei

Antworten:

1

Sie müssen über die Triplettverlustfunktion lesen . Die Triplettverlustfunktion erhält Ergebniseinbettungen von einem Netzwerk, das 3 Bilder von einem Netzwerk (2 ähnliche und 1 nicht ähnliche) für einen Schritt verarbeitet: Geben Sie hier die Bildbeschreibung ein

Nach diesem Verlust wird berechnet als: Geben Sie hier die Bildbeschreibung ein

Weitere Informationen finden Sie in der Veröffentlichung von Triplettverlustautoren.

Kann auch PSNR helfen , aber dies ist kein Deep Learning.

toodef
quelle
Der Triplettverlust ist ein guter Vorschlag, aber nur Link-Antworten eignen sich schlecht für den Stapelaustausch. Können Sie mehr erklären, was der Triplettverlust ist und warum er das erreichen würde, was OP will?
Kbrose
"Links zu externen Ressourcen werden empfohlen. Fügen Sie jedoch einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was er ist und warum er vorhanden ist. Geben Sie immer den relevantesten Teil eines wichtigen Links an, falls die Zielwebsite nicht erreichbar ist oder geht permanent offline. " - datascience.stackexchange.com/help/how-to-answer
kbrose
@kbrose Ich kann von einem Link kopieren und einfügen. Glaubst du, ich muss das tun? Oder fragst du nach TL; DR?
Toodef
Mein Downvote wurde entfernt. Vielen Dank, dass Sie einen Kontext @toodef hinzugefügt haben.
Kbrose
1
Klar, ich schätze diesen Standpunkt. Ich bin eher der Meinung, wenn Sie keine Zeit haben, machen Sie einfach einen Kommentar.
Kbrose
-1

Wenn die Bilder ähnlicher sind als die von Ihnen geposteten, können Sie den Strukturähnlichkeitsindex verwenden, der eine Ausgabe im Bereich von -1 bis 1 ergibt. Alles, was mehr als 0,9 beträgt, kann als ähnlich angesehen werden.

Naveen Meka
quelle