Як я можу знайти повторювані фотографії у дуже великому пулі даних (десятки до сотень концертів)?


16

Чи може хтось запропонувати гарну утиліту виявлення дублювання фотографій, яка добре працює, коли я маю справу з приблизно 100 ГБ даних (зібраних за ці роки)?

Я вважаю за краще щось, що працює на Ubuntu.

Спасибі заздалегідь!

Редагувати: Чи є інструмент, який допоможе мені реорганізувати колекцію та видалити дублікати, як тільки вони будуть виявлені?

Edit2: Важка частина з'ясовує, що робити, як тільки у мене є вихід, що складається з тисяч дублікатів файлів (наприклад, вихід fdupes).

Це не очевидно, якщо я все ще можу безпечно видалити каталог (тобто, якщо каталог може містити унікальні файли), які каталоги є підмножинами інших каталогів тощо. Ідеальним інструментом для цієї проблеми має бути можливість визначити дублювання файлів, а потім забезпечити потужний засіб реструктуризації ваших файлів і папок. Злиття шляхом жорсткого посилання (як це робить fslint) дійсно звільняє дисковий простір, але це не вирішує основну проблему, яка спричинила дублювання для початку - тобто погану організацію файлів / dir.


Також дивіться ці суміжні питання по AskUbuntu , unix.stackexchange і суперкористувача .
BioGeek

Відповіді:


7

ImageMagick на допомогу. Я думаю, що перший крок до будь-якого рішення - зменшити розмір вашої колекції. Якщо ви хочете порівняти фотографії за її змістом , особливо коли деякі злегка змінені версії один одного, дуже вдалим початком є ​​зведення їх до ескізів, а потім порівняння ескізів. Це особливо корисно, коли ви хочете знайти майже однакові фотографії та хочете "ігнорувати" неважливі відмінності під час порівняння.

Моя пропозиція полягає в тому, що ви:
1. Використовуйте інструмент mogrify ImageMagick, щоб зменшити фотографії до ескізів. Це займе певний час, але це зробить фактичні кроки порівняння набагато швидшими та точнішими.
2- Використовуйте інструмент порівняння ImageMagick, який дозволяє встановити поріг для порівняння, тобто він дозволяє знаходити фотографії, які схожі на 85%. Ви хочете зробити контрольований експеримент, щоб з’ясувати значення порогового значення, яке вам найбільше подобається.


Мені дуже подобається ця ідея зробити ескізи спочатку. Що робиться після того, як ви знайшли дублікати? Він відображає лише список? У мене є 10 тисяч тисяч дублікатів і приємний графічний інтерфейс, який допоможе вирішити їх, було б дуже корисно.
Fasterz

2
Оскільки ви використовуєте Ubuntu, ви автоматично отримуєте доступ до безлічі спеціалізованих інструментів, кожен вирішує дуже конкретну задачу, таку як дві задачі, про які я згадав. Це гра Lego, ви можете робити все, що завгодно, просто потрібно скласти шматки. Технічно ви подаєте 2 фотографії на інструмент "порівняння", і він підкаже, наскільки одна схожа на іншу. Один із способів вирішити вашу проблему - згрупувати всі подібні фотографії в папки, щоб ви могли пройти їх, щоб відфільтрувати помилкові позитиви. Потім ви знову запустіть "порівняння" на помилкових позитивах і повторіть процес, поки всі не опиняться у своїх правильних місцях.
Коді

4

Переглядач / організатор фотографій з відкритим кодом Geeqie має потужну функцію пошуку дублікатів . Він може використовувати кілька різних стратегій пошуку дублікатів:

  • Назва файлу (з урахуванням регістру чи нечутливості)
  • Розмір файлу
  • Дата файлу
  • Розміри зображення
  • Контрольна сума MD5.
  • Подібний вміст зображення (до кількох порогів)

Це дає список результатів, який може містити ескізи, щоб ви могли підтвердити вручну.

Це , ймовірно, буде повільним для тисяч файлів, але я думаю, що просто використовувати його і дати йому працювати протягом декількох днів, або все, що, мабуть, менше зусиль, ніж пошук або виготовлення чого-небудь з урахуванням справи - якщо тільки контрольна сума не відповідає всім вам потрібно.


Це звучить добре. Що робиться після того, як ви знайшли дублікати? Він відображає лише список? У мене є 10 тисяч тисяч дублікатів і приємний графічний інтерфейс, який допоможе вирішити їх, було б дуже корисно.
Фастерз

Він відображає їх у вікні графічного інтерфейсу.
Прочитайте, будь ласка, профіль

3

Існує невелика утиліта під назвою "fdupes", яка може робити те, що ви хочете?

Існує також інша утиліта під назвою "fslint", яку ви також можете спробувати. (У цього є графічний інтерфейс).


Я просто спробував fslint на меншому наборі картинок (кілька концертів або близько того), і це засмучує, що він просто сидить там і крутиться. Немає показника прогресу, оцінка часу, що залишився, нічого.
Фастерз

1
Ці інструменти, як видається, шукають однакові файли. Навіть однакове зображення (пікселя для пікселя) може бути різним вмістом файлу. Я здогадуюсь, ви хочете зіставити не одне і те ж зображення, схоже на зовнішній вигляд, але також зробити це в різних форматах і розмірах, включаючи посіви та іншу обробку, яку ви зробили, наприклад, щоб зібрати всі варіанти однієї фотографії в одну каталог. Це було б м'яким порівнянням зображень, які мали б коефіцієнт довіри і могли б співставити різні фотографії однієї сцени.
Скаперен

@Skaperen Що ви пропонуєте, це чудово, але чи існують такі інструменти для Ubuntu? Я бачив одного згаданих десь для Windows, але це, здавалося, має жахливий інтерфейс .. і т. Д.
Fasterz

ImageDupeless - це програма для Windows, яка буде робити фотографії, схожі на них, але мають деякі відмінності. Він вловить деякі обертання, посіви, розміри, зміни кольорового відтінку, водяні знаки тощо ... Ви повинні сканувати свою бібліотеку і сказати, скільки різниці ви приймаєте, і вона весело покаже вам файли. Але це було б надзвичайно громіздко для сотень файлів, і тисячі файлів були б жахливими. Я теж шукаю еквівалент linux для ImageDupeless. Додаток, який робить вейвлети чи іншу магію зображень, щоб визначити, коли зображення схожі.
Therealstubot

Прочитайте варіанти чоловічої сторінки для fdupes- є можливість видалити дупи. askubuntu.com/a/476732
rrauenza

1

dupeGuru Picture Edition - це налаштовуваний дублікат пошуку зображень для Windows, Mac OS X та Linux.

Існує декілька версій dupeGuru (стандартні видання для музики та малюнків), а видання зображень дозволяє знаходити візуально схожі зображення за допомогою алгоритму порівняння растрових блокувань порівняння , серед інших методів (наприклад, EXIF ​​оригінальної часової позначки зображення або файли просто однакові) .

Він має безліч інших корисних функцій, таких як виключені папки, підтримка бібліотек iPhoto / Aperture та значне налаштування того, як він виявляє дублікати та що з ними робить.


0

Що ви маєте на увазі під дублюючими фотографіями? Ви маєте на увазі файли, які однакові, скажімо, просто скопіювали додатковий час чи два? або ти маєш на увазі фотографії, які "виглядають" однаковими.

Якщо ви маєте на увазі однакові файли, ви можете використовувати "shasum" для всіх файлів, а потім замовити результати та знайти унікальні рядки за допомогою "uniq" та запустити "diff", щоб побачити, що було усунено. Все просто в оболонці Ubuntu.


Нічого з цього не є легким і зручним. Згадані нижче fdupes вже будуть робити кращу роботу, ніж просто обчислити SHA. Зараз є інструменти unix, які шукати подібність зображення? Якщо так, то це було б приголомшливо.
Fasterz

Легко та зручно для тих, хто звик користуватися інструментами unix, а це - те, що таке uniq, sort, diff, shasum тощо. Але я погоджуюся, що якщо ви не використовуєте їх регулярно, вони можуть бути важкими у використанні. Я не знаю нічого, що може зробити "схоже на" Все, що я бачив, включаючи діафрагму та Lightroom, роблять файл-ідентичним, що насправді є лише md5 або shasum
Пат Фаррелл

Я регулярно використовую інструменти unix і вважаю цю відповідь дещо дурною. По-перше, робити SHA наосліп повільно, коли порівняння розміру файлу вирішує речі. По-друге, SHA або MD5 можуть зіткнутися - тому порівняння SHA лише недостатньо. Якщо ви маєте на увазі обидва ці, то ви переходите до того, що робить fdupes.
Фастерз

Крім того, після того, як ви правильно розмовляли із закликом, який робить це, вихід все ще не дуже корисний. У кращому випадку ви отримуєте вихід fdupes, який є лише дамп подібних файлів. У моєму випадку у мене є 10 тисяч тисяч, і дуже важко перебрати ці дані, щоб побачити, як я можу усунути дублікати.
Фастерз

1
SHA стикаються в теорії, але не на практиці. Так, це вічно. Ніщо, що буде працювати, не буде швидким. Але ви повинні мати змогу розпочати це та повернутися через день чи два. Це лише пропозиція, я не збираюся вступати у війну за це.
Пат Фаррелл

0

Існує додаток під назвою "bleachbit", в якому знаходять дублікати файлів за розміром, назвою та іншими фільтрами. Ви можете встановити його з диспетчера пакетів synapctic в ubuntu.


Що робиться після того, як ви знайшли дублікати? Він відображає лише список? У мене є 10 тисяч тисяч дублікатів і приємний графічний інтерфейс, який допоможе вирішити їх, було б дуже корисно.
Фастерз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.