Wie finde ich doppelte Fotos in einem sehr großen Datenpool (Dutzende bis Hunderte von Auftritten)?


16

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

Ich würde etwas vorziehen, das auf Ubuntu funktioniert.

Danke im Voraus!

Bearbeiten: Gibt es ein Tool, mit dem ich meine Sammlung neu organisieren und Duplikate entfernen kann, sobald sie erkannt wurden?

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

Es ist nicht offensichtlich, ob ich ein Verzeichnis trotzdem sicher löschen kann (dh ob ein Verzeichnis eindeutige Dateien enthalten könnte), welche Verzeichnisse Teilmengen anderer Verzeichnisse sind und so weiter. Ein ideales Tool für dieses Problem sollte in der Lage sein, die Duplizierung von Dateien zu ermitteln und dann ein leistungsstarkes Mittel zur Umstrukturierung Ihrer Dateien und Ordner bereitzustellen. Eine Zusammenführung durch Hardlinking (wie dies bei fslint der Fall ist) setzt zwar Speicherplatz frei, löst jedoch nicht das zugrunde liegende Problem, das zu Beginn zu Duplikaten geführt hat - dh eine fehlerhafte Datei- / Verzeichnisorganisation.


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

Antworten:


7

ImageMagick zur Rettung. Ich denke, der erste Schritt zu einer Lösung besteht darin, die Größe Ihrer Sammlung zu reduzieren. Wenn Sie die Fotos nach ihrem Inhalt vergleichen möchten , insbesondere wenn es sich bei einigen um geringfügig geänderte Versionen handelt, empfiehlt es sich, sie auf Miniaturansichten zu reduzieren und dann die Miniaturansichten zu vergleichen. Dies ist besonders hilfreich, wenn Sie fast identische Fotos finden und unwichtige Unterschiede während des Vergleichs "ignorieren" möchten.

Mein Vorschlag ist auf einer hohen Ebene, dass Sie:
1- Verwenden Sie das Mogrify- Tool von ImageMagick , um die Fotos in Miniaturansichten zu verkleinern. Dies wird einige Zeit in Anspruch nehmen, aber die eigentlichen Vergleichsschritte werden dadurch viel schneller und genauer.
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 sich zu 85% ähneln. Sie sollten ein kontrolliertes Experiment durchführen, um den Schwellwert herauszufinden, der Ihnen am besten gefällt.


Ich mag diese Idee wirklich, zuerst Thumbnails zu machen. Was macht es, wenn Sie die Duplikate gefunden haben? Zeigt es nur eine Liste an? Ich habe Zehntausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.
Fasterz

2
Da Sie Ubuntu verwenden, haben Sie automatisch Zugriff auf eine Vielzahl von Spezialwerkzeugen, die jeweils eine ganz bestimmte Aufgabe lösen, wie die beiden genannten Aufgaben. Es ist ein Lego-Spiel, du kannst machen, was immer du willst, du musst nur die Teile zusammenfügen. Technisch gesehen werden 2 Fotos in das Vergleichstool eingegeben, und es wird angezeigt, 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 durchgehen und falsche Positive herausfiltern können. Dann führen Sie 'compare' erneut für die falsch positiven Werte aus und wiederholen den Vorgang, bis alle korrekt platziert sind.
Cody

4

Der Open-Source- Fotobetrachter / -organisator Geeqie verfügt über eine leistungsstarke Funktion zum Suchen von Duplikaten . Es können verschiedene Strategien zum Auffinden von Duplikaten verwendet werden:

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

Es wird eine Ergebnisliste angezeigt, die Miniaturansichten enthalten kann, die Sie manuell bestätigen können.

Dies wird wahrscheinlich für Tausende von Dateien langsam sein, aber ich denke , mit ihm einfach und lassen Sie es für ein paar Tage laufen oder was auch immer insgesamt wahrscheinlich weniger Aufwand als zu finden oder etwas zu machen für den Fall zugeschnitten - es sei denn , Prüfsumme Spiel alles , was Sie brauchen.


Das klingt nett. Was macht es, wenn Sie die Duplikate gefunden haben? Zeigt es nur eine Liste an? Ich habe Zehntausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.
Fasterz

Es zeigt sie in einem GUI-Fenster an.
Mattdm

3

Es gibt ein kleines Hilfsprogramm namens "fdupes" , das tun kann, was Sie wollen?

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


Ich habe gerade versucht, Fslint auf einem kleineren Satz von Bildern (ein paar Gig oder so) und es ist frustrierend, dass es nur dort sitzt und sich dreht. Keine Fortschrittsanzeige, geschätzte verbleibende Zeit, nichts.
Fasterz

1
Diese Tools scheinen nach identischen Dateien zu suchen. Auch ein identisches (Pixel für Pixel) Bild kann unterschiedliche Dateiinhalte aufweisen. Ich nehme an, Sie möchten nicht nur das gleiche Bild, sondern auch verschiedene Formate und Größen, einschließlich der von Ihnen vorgenommenen Zuschnitte und anderen Bearbeitungen, verwenden, um alle Variationen desselben Fotos in einem Bild zu sammeln Verzeichnis. Dies wäre ein weicher Vergleich von Bildern, die einen Konfidenz-Übereinstimmungsfaktor aufweisen und verschiedene Fotos derselben Szene abgleichen könnten.
Skaperen

@ Kaperen Was Sie vorschlagen, ist großartig, aber gibt es solche Tools für Ubuntu? Ich habe eines irgendwo für Windows erwähnt gesehen - aber das schien eine abscheuliche Oberfläche zu haben ... usw.
Fasterz

ImageDupeless ist eine Windows-App, die Fotos erfasst, die sich ähneln, aber einige Unterschiede aufweisen. Es fängt einige Rotationen, Beschneidungen, Größenänderungen, Farbtonänderungen, Wasserzeichen usw. ab. Sie müssen Ihre Bibliothek scannen und angeben, wie viel Unterschied Sie akzeptieren, und es zeigt Ihnen fröhlich die Dateien. ABER es wäre außerordentlich umständlich für Hunderte von Dateien, und Tausende von Dateien wären schrecklich. Ich bin auch auf der Suche nach einem Linux-Äquivalent zu ImageDupeless. Eine App, die Wavelets oder andere Imaging-Funktionen ausführt, um festzustellen, ob Bilder ähnlich sind.
Therealstubot

Lesen Sie die Manpage-Optionen für fdupes- es gibt eine Option zum Löschen der Dupes. askubuntu.com/a/476732
rrauenza

1

dupeGuru Picture Edition ist ein anpassbarer Duplikat-Image-Finder für Windows, Mac OS X und Linux.

Es gibt einige Versionen von dupeGuru (Standard-, Musik- und Bildeditionen), und mit der Bildedition können Sie unter anderem über einen Bitmap-blockierenden Vergleichsalgorithmus visuell ähnliche Bilder finden (z. B. EXIF-Originalbildzeitstempel oder Dateien, die einfach identisch sind). .

Es verfügt über eine Reihe weiterer nützlicher Funktionen wie ausgeschlossene Ordner, Unterstützung für iPhoto / Aperture-Bibliotheken und eine umfassende Anpassung der Art und Weise, wie Duplikate erkannt und verarbeitet werden.


0

Was meinst du mit doppelten Fotos? Meinen Sie damit Dateien, die identisch sind, zum Beispiel ein oder zwei zusätzliche Male kopiert? oder meinst du fotos die "gleich aussehen".

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


Nichts davon ist einfach oder bequem. Die unten genannten fdupes leisten bereits bessere Arbeit als nur die Berechnung des SHA. Gibt es nun Unix-Tools, die auf Bildähnlichkeit achten? Wenn ja, wäre das großartig.
Fasterz

Einfach und bequem für jemanden, der es gewohnt ist, die Unix-Tools zu verwenden. Dies sind Uniq, Sort, Diff, Shasum usw. Aber ich stimme zu, dass es schwierig sein kann, sie zu verwenden, wenn Sie sie nicht regelmäßig verwenden. Ich kenne nichts, was "so aussieht", wie alles, was ich gesehen habe, auch in Aperture und Lightroom, Datei-ist-identisch, was eigentlich nur ein md5 oder shasum ist
Pat Farrell

Ich benutze regelmäßig Unix-Tools und finde diese Antwort etwas albern. Erstens ist es langsam, SHA blind zu machen, wenn durch einen Dateigrößenvergleich Probleme gelöst werden. Zweitens können SHA oder MD5 kollidieren - daher reichen SHA-Vergleiche allein nicht aus. Wenn Sie beides berücksichtigen, kommen Sie zu dem, was fdupes tut.
Fasterz

Auch wenn Sie die Beschwörung, die dies tut, richtig heraufbeschworen haben, ist die Ausgabe immer noch nicht sehr nützlich. Am besten erhalten Sie die Ausgabe von fdupes, bei der es sich nur um einen Dump ähnlicher Dateien handelt. In meinem Fall habe ich Zehntausende und es ist sehr schwierig, diese Daten zu durchsuchen, um zu sehen, wie ich die Duplikate beseitigen kann.
Fasterz

1
SHAs kollidieren in der Theorie, aber nicht in der Praxis. Ja, es dauert ewig. Nichts, was funktionieren wird, wird schnell sein. Aber Sie sollten es schaffen, in ein oder zwei Tagen wiederzukommen. Es ist nur ein Vorschlag, ich werde nicht in einen Krieg darüber geraten.
Pat Farrell

0

Es gibt eine Anwendung namens "Bleachbit", die doppelte Dateien nach Größe, Namen und anderen Filtern findet. Sie können es über den Synapctic Package Manager in Ubuntu installieren.


Was macht es, wenn Sie die Duplikate gefunden haben? Zeigt es nur eine Liste an? Ich habe Zehntausende von Duplikaten und eine nette GUI, um diese zu lösen, wäre sehr nützlich.
Fasterz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.