Wie finde ich doppelte Fotos in einem sehr großen Datenpool (zig bis hundert Gigs)?

Kann jemand ein gutes Dienstprogramm zur Erkennung von Fotokopien vorschlagen, das gut funktioniert, wenn ich mit etwa 100 GB Daten zu tun habe (die im Laufe der Jahre gesammelt wurden)?

Ich würde etwas bevorzugen, das unter Ubuntu funktioniert.

Danke im Voraus!

Bearbeiten: Gibt es ein Tool, das mir hilft, meine Sammlung neu zu organisieren und Duplikate zu entfernen, sobald sie erkannt wurden?

Edit2: Der schwierige Teil ist herauszufinden, was zu tun ist, wenn ich die Ausgabe habe, die aus Tausenden von doppelten Dateien besteht (z. B. die Ausgabe von fdupes).

Es ist nicht offensichtlich, ob ich ein Verzeichnis noch sicher löschen kann (dh ob ein Verzeichnis möglicherweise eindeutige Dateien enthält), welche Verzeichnisse Teilmengen anderer Verzeichnisse sind und so weiter. Ein ideales Tool für dieses Problem sollte in der Lage sein, Dateiduplizierungen zu erkennen und dann ein leistungsfähiges Mittel zur Umstrukturierung Ihrer Dateien und Ordner bereitzustellen. Eine Zusammenführung durch Hardlinking (wie es fslint tut) macht zwar Speicherplatz frei, löst aber nicht das zugrunde liegende Problem, das zu Beginn zu der Duplizierung geführt hat - dh schlechte Datei-/Verzeichnisorganisation.

Siehe auch diese verwandten Fragen zu AskUbuntu , unix.stackexchange und superuser .

Antworten (7)

ImageMagick zur Rettung. Ich denke, der erste Schritt zu jeder Lösung besteht darin, die Größe Ihrer Sammlung zu reduzieren. Wenn Sie die Fotos anhand ihres Inhalts vergleichen möchten , insbesondere wenn einige leicht modifizierte Versionen voneinander sind, ist es ein sehr guter Anfang, sie auf Miniaturansichten zu reduzieren und dann die Miniaturansichten zu vergleichen. Dies ist besonders hilfreich, wenn Sie fast gleiche Fotos finden und unwichtige Unterschiede beim Vergleich „ignorieren“ möchten.

Mein Vorschlag ist, auf hohem Niveau, dass Sie:
1- Verwenden Sie das Mogrify - Tool von ImageMagick, um die Fotos auf Miniaturansichten zu reduzieren. Dies wird einige Zeit in Anspruch nehmen, aber es wird die eigentlichen Vergleichsschritte viel schneller und genauer machen.
2- Verwenden Sie das Vergleichstool von ImageMagick, mit dem Sie einen Schwellenwert für den Vergleich festlegen können , dh Sie können Fotos finden, die zu 85 % ähnlich sind. Sie möchten ein kontrolliertes Experiment durchführen, um den Schwellenwert herauszufinden, der Ihnen am besten gefällt.

Ich mag diese Idee, zuerst Thumbnails zu erstellen. Was macht es, wenn Sie die Duplikate gefunden haben? Wird nur eine Liste angezeigt? Ich habe 10 Tausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.
Da Sie Ubuntu verwenden, haben Sie automatisch Zugriff auf eine Vielzahl spezialisierter Tools, die jeweils eine ganz bestimmte Aufgabe lösen, wie z. B. die beiden von mir erwähnten Aufgaben. Es ist ein Lego-Spiel, du kannst machen, was du willst, du musst nur die Teile zusammensetzen. Technisch gesehen füttern Sie das 'Vergleichs'-Tool mit 2 Fotos und es wird Ihnen sagen, wie sehr eines dem anderen ähnelt. Eine Möglichkeit, Ihr Problem zu lösen, besteht darin, alle ähnlichen Fotos in Ordnern zu gruppieren, damit Sie sie durchsuchen können, um Fehlalarme herauszufiltern. Dann führen Sie bei den falsch positiven Ergebnissen erneut „Vergleichen“ aus und wiederholen den Vorgang, bis alle an ihren richtigen Stellen sind.

Der Open-Source-Fotobetrachter/-organisator Geeqie verfügt über eine leistungsstarke Funktion zum Suchen von Duplikaten . Es kann verschiedene Strategien zum Auffinden von Duplikaten verwenden:

  • Dateiname (Groß-/Kleinschreibung beachten oder nicht beachten)
  • Dateigröße
  • Dateidatum
  • Bildabmessungen
  • MD5-Prüfsumme.
  • Ähnliche Bildinhalte (bis zu mehreren Schwellenwerten)

Dadurch erhalten Sie eine Ergebnisliste, die Miniaturansichten enthalten kann, damit Sie manuell bestätigen können.

Dies wird wahrscheinlich für Tausende von Dateien langsam sein, aber ich denke, es einfach zu verwenden und es für ein paar Tage oder was auch immer laufen zu lassen, ist wahrscheinlich insgesamt weniger aufwändig, als etwas zu finden oder zu erstellen, das auf den Fall zugeschnitten ist – es sei denn, Sie brauchen nur eine Prüfsummenübereinstimmung.

Das klingt nett. Was macht es, wenn Sie die Duplikate gefunden haben? Wird nur eine Liste angezeigt? Ich habe 10 Tausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.
Es zeigt sie in einem GUI-Fenster an.

Es gibt ein kleines Dienstprogramm namens "fdupes" , das tun kann, was Sie wünschen?

Es gibt auch ein anderes Dienstprogramm namens "fslint" , das Sie vielleicht auch ausprobieren möchten. (Dieser hat eine GUI).

Ich habe fslint gerade auf einer kleineren Reihe von Bildern (ein paar Gigs oder so) ausprobiert und es ist frustrierend, dass es nur da sitzt und sich dreht. Keine Fortschrittsanzeige, Schätzung der verbleibenden Zeit, nichts.
Diese Tools scheinen nach identischen Dateien zu suchen. Auch ein identisches (Pixel für Pixel) Bild kann unterschiedlichen Dateiinhalt haben. Ich vermute, Sie möchten nicht nur dasselbe identische Bild abgleichen, sondern dies auch in verschiedenen Formaten und Größen tun, einschließlich Zuschnitten und anderer von Ihnen durchgeführter Verarbeitung, z. B. um alle Variationen desselben Fotos in einem zu sammeln Verzeichnis. Dies wäre ein weicher Vergleich von Bildern, die einen Konfidenz-Übereinstimmungsfaktor hätten und unterschiedliche Fotos derselben Szene abgleichen könnten.
@Skaperen Was Sie vorschlagen, ist großartig, aber gibt es solche Tools für Ubuntu? Ich habe irgendwo einen für Windows erwähnt gesehen - aber der schien eine scheußliche Oberfläche zu haben ... usw.
ImageDupeless ist eine Windows-App, die Fotos erfasst, die ähnlich aussehen, aber einige Unterschiede aufweisen. Es wird einige Drehungen, Zuschnitte, Größenänderungen, Farbtonänderungen, Wasserzeichen usw. erfassen. Sie müssen Ihre Bibliothek scannen und ihr sagen, wie viel Unterschied Sie akzeptieren, und es wird Ihnen fröhlich die Dateien zeigen. ABER es wäre außerordentlich umständlich für Hunderte von Dateien, und Tausende von Dateien wären schrecklich. Auch ich suche nach einem Linux-Äquivalent zu ImageDupeless. Eine App, die Wavelets oder andere Bildmagie verwendet, um festzustellen, ob Bilder ähnlich sind.
Lesen Sie die Manpage-Optionen für fdupes- es gibt eine Option zum Löschen der Dupes. askubuntu.com/a/476732
Beginnen Sie damit fdupes, wie diese Antwort vorschlägt, das offensichtliche Bit für Bit-gleiche Dupes zu suchen und zu löschen, und führen Sie dann optional einen zweiten Durchgang mit einem ausgefeilteren Tool durch, das nach ähnlichen / gleichen Bildern sucht.

dupeGuru Picture Edition ist ein anpassbarer Sucher für doppelte Bilder für Windows, Mac OS X und Linux.

Es gibt einige Versionen von dupeGuru (Standard-, Musik- und Bildeditionen), und die Bildedition ermöglicht es Ihnen, visuell ähnliche Bilder über einen Bitmap-Blockierungsvergleichsalgorithmus zu finden , neben anderen Methoden (wie EXIF-Originalbild-Zeitstempel oder einfach identische Dateien). .

Es hat eine Vielzahl anderer nützlicher Funktionen wie ausgeschlossene Ordner, Unterstützung für iPhoto/Aperture-Bibliotheken und eine beträchtliche Anpassung der Art und Weise, wie es Duplikate erkennt und was es mit ihnen macht.

Was meinst du mit doppelten Fotos? Meinen Sie Dateien, die identisch sind, z. B. nur ein oder zwei Mal kopiert wurden? oder meinst du Fotos, die gleich "aussehen".

Wenn Sie identische Dateien meinen, können Sie 'shasum' für alle Dateien verwenden, dann die Ergebnisse ordnen und die eindeutigen Zeilen mit 'uniq' finden und ein 'diff' ausführen, um zu sehen, was eliminiert wurde. Alles einfach in einer Ubuntu-Shell.

Nichts davon ist einfach oder bequem. Die unten erwähnten fdupes werden bereits einen besseren Job machen, als nur SHA zu berechnen. Gibt es nun Unix-Tools, die nach Bildähnlichkeiten suchen? Wenn ja, wäre das toll.
Einfach und bequem für jemanden, der an die Verwendung der Unix-Tools gewöhnt ist, was uniq, sort, diff, shasum usw. sind. Aber ich stimme zu, dass es schwierig sein kann, sie zu verwenden, wenn Sie sie nicht regelmäßig verwenden. Ich kenne nichts, was "aussieht wie" Alles, was ich gesehen habe, einschließlich in Aperture und Lightroom, macht Datei-ist-identisch, was wirklich nur ein md5 oder shasum ist
Ich verwende regelmäßig Unix-Tools und finde diese Antwort etwas albern. Erstens ist das blinde Ausführen von SHA langsam, wenn ein Dateigrößenvergleich die Dinge auflöst. Zweitens können SHA oder MD5 kollidieren – SHA-Vergleiche allein reichen also nicht aus. Wenn Sie beides berücksichtigen, erhalten Sie, was fdupes tut.
Auch wenn Sie die Beschwörung, die dies tut, richtig beschworen haben, ist die Ausgabe immer noch nicht sehr nützlich. Bestenfalls erhalten Sie die Ausgabe von fdupes, die nur ein Dump ähnlicher Dateien ist. In meinem Fall habe ich Zehntausende und es ist sehr schwierig, diese Daten zu durchsuchen, um zu sehen, wie ich die Duplikate beseitigen kann.
SHAs kollidieren theoretisch, aber nicht in der Praxis. Ja, es dauert ewig. Nichts, was funktionieren wird, wird schnell sein. Aber Sie sollten in der Lage sein, es zu starten und in ein oder zwei Tagen wiederzukommen. Es ist nur ein Vorschlag, ich werde deswegen keinen Krieg führen.
+1 für shasum :-) Sie können es auch zusammen mit den Dateien speichern, und für den Fall, dass Sie die Bereinigung wiederholen müssen, haben Sie die Prüfsummen bereit.
Ich bevorzuge sha256sum. ;-)

Es gibt eine Anwendung namens "bleachbit", die doppelte Dateien nach Größe, Name und anderen Filtern findet. Sie können es über den synapctic-Paketmanager in Ubuntu installieren.

Was macht es, wenn Sie die Duplikate gefunden haben? Wird nur eine Liste angezeigt? Ich habe 10 Tausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.

Es gibt eine brandneue Version von Excire Foto (2.0), die eine ausgeklügelte und einstellbare KI-basierte Funktion zum Auffinden und Aussortieren von Duplikaten hinzufügt.

Ich bin sehr zufrieden mit Excire Foto 1.3.4 wegen seiner KI-basierten Verschlagwortung und wegen seiner Fähigkeit, Fotos nach Ähnlichkeit oder Gesichtern zu sortieren. Aber es sieht so aus, als ob das Dup-Finding von Version 2.0 genau das ist, was ich brauchte!

Sie können einen Schieberegler einstellen, um den Grad der Ähnlichkeit auszuwählen, der erforderlich ist, um etwas als "Duplikat" zu bezeichnen. Bei der strengsten Einstellung müssen die Bilder identisch sein, jedoch nicht die gleichen Pixelabmessungen haben. In der lockersten Einstellung kann es Ihnen helfen, überzählige Aufnahmen auszusortieren, indem Sie solche einbeziehen, die sich geringfügig unterscheiden, sodass Sie die beste auswählen können.

Finden Sie Duplikate Excire Foto 2.0 Dialog "Duplikate suchen".

Wie Sie sehen, können Sie Sequenzen zulassen, die meinen Anforderungen nicht entsprechen, da ich viele Zeitraffer mache, bei denen zwischen den Aufnahmen mehr als acht Sekunden liegen.

Sequenzparameter

Sobald Sie die Parameter eingestellt haben, zeigt es den Fortschritt an, während es funktioniert. Meine Bilddatenbank mit mehreren hunderttausend Bildern (zuvor von Excire Foto indiziert) brauchte etwa zehn Minuten, um fast 70.000 Duplikate zurückzugeben. (Es ist eine lange, traurige Geschichte über den mehrfachen Versuch, meine Bilder aus Apple Aperture herauszubekommen, nachdem Apple die Unterstützung abrupt eingestellt hatte.)

Wenn dieser Vorgang beendet ist, werden Ihre Bilder nach Ähnlichkeit gruppiert.

Ergebnismenge duplizieren. Dies ist die Auflistung von etwa 70.000 doppelten Treffern.

Sie können ändern, wie sie gruppiert und sortiert werden, und Sie können in der ersten Reihe, einer Zeitreihe, sehen, dass sich einige dieser Bilder geringfügig unterscheiden. Rufen Sie den „Kennzeichnungsassistenten“ auf.

Markierungsassistent. Markierungsassistent. Der "Meldeassistent" ermöglicht Ihnen die automatische Auswahl unter Duplikaten.

Auf diese Weise können Sie anhand von Kriterien, die Sie auswählen können, Bilder zur Überprüfung (oder nicht!) und Löschung auswählen und markieren.

Die Gruppierung nach aufsteigender Fotoanzahl ermöglichte es mir, die Sequenzen ans Ende zu bringen und mich auf die wahren Duplikate zu konzentrieren. Das Sortieren nach Pixelabmessungen machte es einfach, die zweiten auszusortieren, die von gleicher oder geringerer Qualität waren.

Duplikate Die Gruppierung nach aufsteigender Fotoanzahl zeigt zuerst die geringste Anzahl an Duplikaten.

Ich habe lange und intensiv nach einem solchen Tool gesucht, und dies ist das Beste, was ich für diese Aufgabe gefunden habe! Es ist noch nicht einmal einen Tag draußen, also muss ich noch viel erforschen und lernen.

Das Erstellen des anfänglichen Index dauert bei großen Sammlungen lange. Die Indizierung meiner rund 300.000 Bilder dauerte etwa drei Tage. Wenn Sie ungeduldig sind und wie ich Bilder in einer Dateihierarchie haben, können Sie, wenn Sie möchten, einzelne Unterhierarchien indizieren. Ich habe einfach meinen gesamten Terabyte- PicturesOrdner darauf geworfen, um zu sehen, wie es sich machen würde!

Die Indexierung braucht Zeit, weil sie viel mehr tut, als nur Duplikate zu finden – sie verwendet ein KI-trainiertes Modell, um Schlüsselwörter zuzuweisen, was an sich schon wunderbar ist. Deshalb habe ich es ursprünglich gekauft, und ich freue mich, dass diese neue Version meine Gedanken gelesen und es einfach gemacht hat, Duplikate zu finden!