Come posso trovare foto duplicate in un pool di dati molto ampio (da decine a centinaia di concerti)?


16

Qualcuno può suggerire una buona utility di rilevamento della duplicazione delle foto che funziona bene quando ho a che fare con circa 100 GB di dati (raccolti nel corso degli anni)?

Preferirei qualcosa che funzioni su Ubuntu.

Grazie in anticipo!

Modifica: esiste uno strumento che mi aiuterà a riorganizzare la mia raccolta e rimuovere i duplicati, una volta che sono stati rilevati?

Edit2: La parte difficile è capire cosa fare una volta che ho l'output costituito da migliaia di file duplicati (come l'output di fdupes).

Non è ovvio se posso ancora eliminare in modo sicuro una directory (cioè se una directory potrebbe contenere file univoci), quali directory sono sottoinsiemi di altre directory e così via. Uno strumento ideale per questo problema dovrebbe essere in grado di determinare la duplicazione dei file e quindi fornire un potente mezzo per ristrutturare file e cartelle. Fare una fusione tramite hardlinking (come fa fslint) libera davvero spazio su disco ma non risolve il problema di fondo che ha dato origine alla duplicazione, ovvero un'organizzazione di file / directory errata.


Vedi anche queste domande correlate su AskUbuntu , unix.stackexchange e superuser .
BioGeek

Risposte:


7

ImageMagick in soccorso. Penso che il primo passo verso qualsiasi soluzione sia ridurre le dimensioni della tua collezione. Se vuoi confrontare le foto in base al loro contenuto , specialmente quando alcune sono versioni leggermente modificate l'una dell'altra, un ottimo inizio è ridurle in anteprime e quindi confrontare le anteprime. Ciò è particolarmente utile quando si desidera trovare foto quasi simili e si desidera "ignorare" le differenze non importanti durante il confronto.

Il mio suggerimento è, ad alto livello, di:
1- Utilizzare lo strumento mogrify di ImageMagick per ridurre le foto alle miniature. Ciò richiederà del tempo, ma renderà le fasi effettive di confronto molto più veloci e accurate.
2- Utilizzare lo strumento di confronto di ImageMagick che consente di impostare una soglia per il confronto, ovvero di trovare foto simili all'85%. Vorresti fare un esperimento controllato per scoprire il valore di soglia che ti piace di più.


Mi piace molto l'idea di realizzare prima le anteprime. Cosa fa dopo aver trovato i duplicati? Visualizza solo un elenco? Ho decine di migliaia di duplicati e una buona interfaccia grafica per aiutarli a risolverli sarebbe molto utile.
Fasterz,

2
Dato che usi Ubuntu, hai automaticamente accesso a una serie di strumenti specializzati, ognuno dei quali risolve un compito molto specifico come i 2 compiti che ho citato. È un gioco Lego, puoi fare quello che vuoi, devi solo mettere insieme i pezzi. Tecnicamente, inserisci 2 foto nello strumento "confronta" e ti dirà quanto assomiglia a un altro. Un modo per risolvere il problema è raggruppare tutte le foto simili in cartelle in modo da poterle esaminare per filtrare i falsi positivi. Quindi esegui di nuovo il "confronto" sui falsi positivi e ripeti il ​​processo fino a quando tutti si trovano nella posizione corretta.
codifica l'

4

Il visualizzatore / organizzatore di foto open source Geeqie ha una potente funzione Trova duplicati . Può utilizzare diverse strategie per trovare duplicati:

  • Nome file (case sensitive o insensitive)
  • Dimensione del file
  • Data del file
  • Dimensioni dell'immagine
  • Checksum MD5.
  • Contenuto di immagine simile (a diverse soglie)

Questo fornisce un elenco di risultati che può includere miniature in modo da poter confermare manualmente.

Questo sarà probabilmente lento per migliaia di file, ma penso solo ad usarlo e farlo funzionare per qualche giorno o qualsiasi altra cosa è probabilmente meno sforzo complessivo che trovare o fare qualcosa su misura per il caso - a meno che partita checksum è tutto ciò che serve.


Sembra carino. Cosa fa dopo aver trovato i duplicati? Visualizza solo un elenco? Ho decine di migliaia di duplicati e una buona interfaccia grafica per aiutarli a risolverli sarebbe molto utile.
Fasterz,

Li visualizza in una finestra della GUI.
Mattdm,

3

C'è una piccola utility chiamata "fdupes" che può fare quello che desideri?

C'è anche un'altra utility chiamata "fslint" che potresti voler provare anche tu. (Questo ha una GUI).


Ho appena provato a dipingere su un set di immagini più piccolo (qualche concerto o giù di lì) ed è frustrante che sieda lì e giri. Nessun indicatore di progresso, stima del tempo rimasto, niente.
Fasterz,

1
Questi strumenti sembrano cercare file identici. Anche un'immagine identica (pixel per pixel) può avere contenuti di file diversi. Immagino che desideri abbinare non solo la stessa immagine simile, ma anche farlo in diversi formati e dimensioni, comprese le colture e le altre elaborazioni che hai fatto, in modo da raccogliere tutte le variazioni della stessa foto in una directory. Questo sarebbe un morbido confronto tra immagini che avrebbero un fattore di corrispondenza della fiducia e potrebbero abbinare diverse foto della stessa scena.
Skaperen,

@Skaperen Quello che suggerisci è fantastico, ma esistono tali strumenti per Ubuntu? Ne ho visto uno menzionato da qualche parte per Windows - ma sembrava avere un'interfaccia orribile ... ecc.
Fasterz

ImageDupeless è un'app di Windows che catturerà foto simili, ma con alcune differenze. Catturerà alcune rotazioni, ritagli, ridimensionamenti, variazioni di tonalità di colore, filigrane, ecc ... devi scansionare la tua libreria e dirgli quanta differenza accetti, e ti mostrerà allegramente i file. MA sarebbe straordinariamente ingombrante per centinaia di file e migliaia di file sarebbero terribili. Anch'io cerco un Linux equivalente a ImageDupeless. Un'app che esegue wavelet o qualche altra magia di imaging per dire quando le immagini sono simili.
Therealstubot,

Leggi le opzioni della pagina man per fdupes: esiste un'opzione per eliminare i duplicati. askubuntu.com/a/476732
rrauenza,

1

dupeGuru Picture Edition è un cercatore di immagini duplicato personalizzabile per Windows, Mac OS X e Linux.

Esistono alcune versioni di dupeGuru (edizioni standard, musicali e di immagini) e l'edizione delle immagini consente di trovare immagini visivamente simili tramite un algoritmo di confronto di blocco bitmap , tra gli altri metodi (come il timestamp dell'immagine originale EXIF ​​o i file semplicemente identici) .

Ha una varietà di altre utili funzioni come le cartelle escluse, il supporto per le librerie iPhoto / Aperture e una notevole personalizzazione di come rileva i duplicati e cosa fa con loro.


0

Cosa intendi con foto duplicate? Intendi file identici, per esempio appena copiati un paio di volte in più? o intendi foto che "sembrano" uguali.

Se intendi file identici, puoi usare 'shasum' su tutti i file, quindi ordinare i risultati e trovare le righe univoche con 'uniq' ed eseguire un 'diff' per vedere cosa è stato eliminato. Tutto facile in una shell Ubuntu.


Niente di tutto questo è facile o conveniente. fdupes menzionato di seguito farà già un lavoro migliore del semplice calcolo di SHA. Ora ci sono strumenti unix che cercheranno la somiglianza delle immagini? Se è così, sarebbe fantastico.
Fasterz,

Facile e conveniente per chi è abituato a usare gli strumenti unix, che sono ciò che sono uniq, sort, diff, shasum, ecc. Ma sono d'accordo che se non li usi regolarmente, possono essere difficili da usare. Non so nulla che possa fare "sembra" Tutto ciò che ho visto, incluso in Aperture e Lightroom, fare file-is-identico, che è in realtà solo un md5 o shasum
Pat Farrell,

Uso regolarmente gli strumenti unix e trovo questa risposta un po 'sciocca. Innanzitutto, eseguire SHA alla cieca è lento, quando un confronto delle dimensioni dei file risolve le cose. In secondo luogo, SHA o MD5 possono scontrarsi, quindi i confronti SHA da soli non sono sufficienti. Se si tiene conto di entrambi, si arriva a ciò che fa fdupes.
Fasterz,

Inoltre, una volta che hai evocato correttamente l'incantesimo che lo fa, l'output non è ancora molto utile. Nel migliore dei casi ottieni l'output di fdupes che è solo un dump di file simili. Nel mio caso ne ho decine di migliaia ed è molto difficile raccogliere quei dati per vedere come posso eliminare i duplicati.
Fasterz,

1
Gli SHA si scontrano in teoria, ma non in pratica. Sì, ci vuole un'eternità. Niente che funzionerà sarà veloce. Ma dovresti essere in grado di dare il via e tornare in un giorno o due. È solo un suggerimento, non entrerò in guerra.
Pat Farrell,

0

C'è un'aplicazione chiamata "bleachbit", che trova file duplicati per dimensione, nome e altri filtri. Puoi installarlo dal gestore pacchetti synapctic in Ubuntu.


Cosa fa dopo aver trovato i duplicati? Visualizza solo un elenco? Ho decine di migliaia di duplicati e una buona interfaccia grafica per aiutarli a risolverli sarebbe molto utile.
Fasterz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.