Jak znaleźć zduplikowane zdjęcia w bardzo dużej puli danych (od dziesiątek do setek koncertów)?

16

Czy ktoś może zasugerować dobre narzędzie do wykrywania powielania zdjęć, które działa dobrze, gdy mam do czynienia z około 100 GB danych (gromadzonych przez lata)?

Wolałbym coś, co działa na Ubuntu.

Z góry dziękuję!

Edycja: Czy istnieje narzędzie, które pomoże mi zreorganizować moją kolekcję i usunąć duplikaty po ich wykryciu?

Edycja2: Trudność polega na zastanowieniu się, co zrobić, gdy mam dane wyjściowe składające się z tysięcy zduplikowanych plików (takich jak dane wyjściowe programu fdupes).

Nie jest oczywiste, czy nadal mogę bezpiecznie usunąć katalog (tj. Jeśli katalog może zawierać unikalne pliki), które to katalogi są podzestawami innych katalogów i tak dalej. Idealne narzędzie do rozwiązania tego problemu powinno być w stanie określić duplikację plików, a następnie zapewnić potężny sposób na restrukturyzację plików i folderów. Wykonanie fuzji przez hardlinkowanie (tak jak robi to fslint) rzeczywiście zwalnia miejsce na dysku, ale nie rozwiązuje problemu leżącego u podstaw duplikacji - tj. Złej organizacji pliku / katalogu.

Fasterz
źródło
Zobacz także powiązane pytania dotyczące AskUbuntu , unix.stackexchange i superuser .
BioGeek

Odpowiedzi:

7

ImageMagick na ratunek. Myślę, że pierwszym krokiem do każdego rozwiązania jest zmniejszenie wielkości kolekcji. Jeśli chcesz porównać zdjęcia pod względem zawartości , szczególnie gdy niektóre są nieco zmodyfikowanymi wersjami, bardzo dobrym początkiem jest zmniejszenie ich do miniatur, a następnie porównanie miniatur. Jest to szczególnie przydatne, gdy chcesz znaleźć prawie podobne zdjęcia i chcesz „zignorować” nieistotne różnice podczas porównywania.

Sugeruję na wysokim poziomie, że:
1- Użyj narzędzia do wyobraźni ImageMagick, aby zredukować zdjęcia do miniatur. To zajmie trochę czasu, ale sprawi, że rzeczywiste kroki porównania będą znacznie szybsze i dokładniejsze.
2- Użyj narzędzia porównywania ImageMagick, które pozwala ustawić próg dla porównania, tj. Pozwala znaleźć zdjęcia, które są w 85% podobne. Chciałbyś przeprowadzić kontrolowany eksperyment, aby znaleźć wartość progową, którą najbardziej lubisz.

cody
źródło
Bardzo podoba mi się ten pomysł tworzenia najpierw miniatur. Co robi po znalezieniu duplikatów? Czy wyświetla tylko listę? Mam dziesiątki tysięcy duplikatów i fajny GUI, który pomoże je rozwiązać, byłby bardzo przydatny.
Fasterz,
2
Ponieważ korzystasz z Ubuntu, automatycznie masz dostęp do wielu specjalistycznych narzędzi, z których każde rozwiązuje bardzo konkretne zadanie, takie jak 2 zadania, o których wspomniałem. To gra Lego, możesz robić, co chcesz, po prostu musisz złożyć klocki. Technicznie podajesz 2 zdjęcia do narzędzia „porównaj” i powie ci, jak bardzo jedno z nich przypomina drugie. Jednym ze sposobów rozwiązania problemu jest zgrupowanie wszystkich podobnych zdjęć w folderach, aby można było przejść przez nie w celu odfiltrowania fałszywych trafień. Następnie ponownie uruchom „porównaj” na fałszywych trafieniach i powtórz proces, aż wszystkie znajdą się we właściwych miejscach.
cody
4

Przeglądarka / organizer zdjęć open source Geeqie ma potężną funkcję Znajdź duplikaty . Może używać kilku różnych strategii wyszukiwania duplikatów:

  • Nazwa pliku (rozróżnia małe lub duże litery)
  • Rozmiar pliku
  • Data pliku
  • Wymiary obrazu
  • Suma kontrolna MD5.
  • Podobna treść obrazu (do kilku progów)

Daje to listę wyników, która może zawierać miniatury, dzięki czemu można potwierdzić ręcznie.

To będzie prawdopodobnie powolny dla tysięcy plików, ale myślę, że po prostu używając go i pozwalając mu działać przez kilka dni lub co jest prawdopodobnie mniej niż ogólny wysiłek znalezienia lub zrobienie czegoś dostosowany do przypadku - chyba że suma kontrolna mecz jest wszystko, czego potrzebujemy.

Proszę przeczytać profil
źródło
To brzmi nieźle. Co robi po znalezieniu duplikatów? Czy wyświetla tylko listę? Mam dziesiątki tysięcy duplikatów i fajny GUI, który pomoże je rozwiązać, byłby bardzo przydatny.
Fasterz,
Wyświetla je w oknie GUI.
Proszę przeczytać Profil
3

Istnieje małe narzędzie o nazwie „fdupes”, które może robić, co chcesz?

Istnieje również inne narzędzie o nazwie „fslint”, które również możesz wypróbować. (Ten ma GUI).

Mikrofon
źródło
Właśnie próbowałem fslinta na mniejszym zestawie zdjęć (kilka koncertów lub mniej więcej) i frustrujące jest to, że po prostu tam siedzi i obraca się. Brak wskaźnika postępu, szacunkowy pozostały czas, nic.
Fasterz,
1
Te narzędzia wydają się szukać identycznych plików. Nawet identyczny obraz (piksel dla piksela) może być różną zawartością pliku. Zgaduję, że chcesz dopasować nie tylko ten sam podobny wygląd, ale także zrobić to w różnych formatach i rozmiarach, w tym w uprawach i innych zastosowanych procesach, takich jak zebranie wszystkich odmian tego samego zdjęcia w jednym informator. Byłoby to miękkie porównanie zdjęć, które miałyby współczynnik dopasowania ufności i mogłyby pasować do różnych zdjęć tej samej sceny.
Skaperen
@ Skaperen Sugerujesz, że jest świetny, ale czy istnieją takie narzędzia dla Ubuntu? Widziałem gdzieś wspomnianą gdzieś na Windows - ale wydawało się, że ma ohydny interfejs .. itd.
Fasterz
ImageDupeless to aplikacja dla systemu Windows, która rejestruje zdjęcia, które wyglądają podobnie, ale mają pewne różnice. Złapie niektóre rotacje, kadrowanie, zmianę rozmiaru, zmianę odcienia koloru, znaki wodne itp. ... musisz przeskanować bibliotekę i powiedzieć, ile różnic akceptujesz, i wesoło wyświetli pliki. ALE byłoby to niezwykle uciążliwe dla setek plików, a tysiące plików byłoby straszne. Ja też szukam linuksowego odpowiednika ImageDupeless. Aplikacja, która wykonuje falki lub inną magię obrazowania, aby stwierdzić, kiedy obrazy są podobne.
Therealstubot
Przeczytaj opcje strony podręcznika dla fdupes- istnieje możliwość usunięcia duplikatów. askubuntu.com/a/476732
rrauenza
1

dupeGuru Picture Edition to konfigurowalna wyszukiwarka duplikatów obrazów dla systemów Windows, Mac OS X i Linux.

Istnieje kilka wersji dupeGuru (wersje standardowe, muzyczne i graficzne), a edycja obrazkowa pozwala znaleźć podobne wizualnie obrazy za pomocą algorytmu porównującego blokowanie bitmapy , między innymi metodami (np. Znacznik czasu oryginalnego obrazu EXIF ​​lub pliki są po prostu identyczne) .

Posiada szereg innych przydatnych funkcji, takich jak wykluczone foldery, wsparcie dla bibliotek iPhoto / Aperture oraz znaczną personalizację sposobu wykrywania duplikatów i ich działania.

drfrogsplat
źródło
0

Co rozumiesz przez zduplikowane zdjęcia? Czy masz na myśli pliki, które są identyczne, powiedzmy, że skopiowałem dodatkowy czas lub dwa? czy masz na myśli zdjęcia, które „wyglądają” tak samo.

Jeśli masz na myśli identyczne pliki, możesz użyć „shasum” na wszystkich plikach, następnie uporządkuj wyniki i znajdź unikalne linie za pomocą „uniq” i uruchom „diff”, aby zobaczyć, co zostało wyeliminowane. Wszystko jest łatwe w powłoce Ubuntu.

Pat Farrell
źródło
Nic z tego nie jest łatwe ani wygodne. fdupes wymienione poniżej wykonają już lepszą robotę niż tylko obliczanie SHA. Czy są teraz narzędzia uniksowe, które będą szukać podobieństwa obrazów? Jeśli tak, byłoby wspaniale.
Fasterz,
Łatwe i wygodne dla osób przyzwyczajonych do korzystania z narzędzi uniksowych, którymi są uniq, sort, diff, shasum itp. Ale zgadzam się, że jeśli nie używasz ich regularnie, mogą być trudne w użyciu. Nie wiem wszystkiego, co może zrobić „wygląda jak” wszystko widziałem, w tym w Aperture i Lightroom, czy plik-is-identyczne, co jest naprawdę tylko md5 lub shasum
Pat Farrell
Regularnie używam narzędzi unixowych i uważam, że ta odpowiedź jest trochę głupia. Po pierwsze, ślepe wykonywanie SHA jest powolne, gdy porównanie rozmiaru pliku rozwiązuje problemy. Po drugie, SHA lub MD5 mogą kolidować - więc same porównania SHA nie są wystarczające. Jeśli weźmiesz pod uwagę oba te czynniki, przejdziesz do tego, co robi Fdupes.
Fasterz,
Ponadto, gdy poprawnie wyczarujesz inkantację, która to robi, wynik nadal nie jest zbyt przydatny. W najlepszym razie otrzymujesz wyjście fdupes, które jest tylko zrzutem podobnych plików. W moim przypadku mam dziesiątki tysięcy i bardzo trudno jest przejrzeć te dane, aby zobaczyć, jak mogę wyeliminować duplikaty.
Fasterz,
1
SHA zderzają się w teorii, ale nie w praktyce. Tak, to trwa wiecznie. Nic, co będzie działać, nie będzie szybkie. Ale powinieneś być w stanie to rozpocząć i wrócić za dzień lub dwa. To tylko sugestia, że ​​nie zamierzam z tego powodu wdawać się w wojnę.
Pat Farrell,
0

Istnieje aplikacja o nazwie „bleachbit”, która wyszukuje duplikaty plików według rozmiaru, nazwy i innych filtrów. Możesz zainstalować go z menedżera pakietów synapctic w Ubuntu.

Chuisco
źródło
Co robi po znalezieniu duplikatów? Czy wyświetla tylko listę? Mam dziesiątki tysięcy duplikatów i fajny GUI, który pomoże je rozwiązać, byłby bardzo przydatny.
Fasterz,