非常に大きなデータプール(数十から数百のギグ)で重複する写真を見つけるにはどうすればよいですか?


16

約100 GBのデータ(長年にわたって収集された)を扱っているときにうまく機能する、優れた写真重複検出ユーティリティを誰かが提案できますか?

Ubuntuで動作するものを好むでしょう。

前もって感謝します!

編集:重複が検出されたら、コレクションを再編成して重複を削除するのに役立つツールはありますか?

Edit2:難しい部分は、何千もの重複ファイルで構成される出力(fdupesの出力など)を取得したらどうするかを考え出すことです。

ディレクトリを安全に削除できるかどうか(つまり、ディレクトリに一意のファイルが含まれる場合)、どのディレクトリが他のディレクトリのサブセットであるかなどは明らかではありません。この問題の理想的なツールは、ファイルの複製を判別し、ファイルとフォルダーを再構築する強力な手段を提供できるはずです。(fslintのように)ハードリンクによってマージを行うと、実際にディスク領域が解放されますが、最初に重複を引き起こした根本的な問題(つまり、不良ファイル/ディレクトリ編成)は解決されません。


AskUbuntuunix.stackexchange、およびsuperuserでこれらの関連する質問も参照してください。
BioGeek

回答:


7

ImageMagickが助けになります。解決策の最初のステップは、コレクションのサイズを減らすことだと思います。写真をその内容で比較したい場合、特に一部が互いにわずかに変更されたバージョンである場合、非常に良い出発点はそれらをサムネイルに縮小してからサムネイルを比較することです。これは、似たような写真を見つけたい場合や、比較中に重要でない違いを「無視」したい場合に特に役立ちます。

私の提案は、大まかに言って次
とおりです。1- ImageMagickのmogrifyツールを使用して、写真をサムネイルに縮小します。これには多少時間がかかりますが、実際の比較手順がはるかに高速かつ正確になります。
2- ImageMagickの比較ツールを使用すると、比較のしきい値を設定できます。つまり、85%の写真を見つけることができます。制御された実験を行って、最も好きなしきい値を見つけたいと思うでしょう。


最初にサムネイルを作成するというこのアイデアが本当に好きです。重複が見つかったらどうしますか?リストを表示するだけですか?何万もの重複があり、これらを解決するのに役立つGUIが非常に便利です。
Fasterz

2
Ubuntuを使用しているので、多くの専門ツールに自動的にアクセスでき、それぞれが前述の2つのタスクなどの非常に具体的なタスクを解決します。それはレゴゲームです、あなたがやりたいことが何でもできます、あなたはただピースをまとめる必要があります。技術的には、2枚の写真を「比較」ツールにフィードすると、一方が他方にどれだけ似ているかがわかります。問題を解決する1つの方法は、類似するすべての写真をフォルダーにグループ化することです。これにより、それらを介して誤検出を除外できます。次に、偽陽性に対して「比較」を再度実行し、すべてが正しい場所に配置されるまでプロセスを繰り返します。
コーディ

4

オープンソースの写真ビューアー/オーガナイザーのGeeqieには、強力な重複検索機能があります。重複を見つけるためにいくつかの異なる戦略を使用できます。

  • ファイル名(大文字と小文字を区別または区別しない)
  • ファイルサイズ
  • ファイルの日付
  • 画像寸法
  • MD5チェックサム。
  • 類似の画像コンテンツ(いくつかのしきい値まで)

これにより、サムネイルを含むことができる結果リストが表示されるため、手動で確認できます。

これおそらく数千のファイルでは遅くなりますが、チェックサムの一致が必要な場合を除き、それを使用して数日間実行するか、ケースに合わせた何かを見つけるか作成するよりもおそらく全体的な労力が少ないと思います。


いいですね。重複が見つかったらどうしますか?リストを表示するだけですか?何万もの重複があり、これらを解決するのに役立つGUIが非常に便利です。
Fasterz

GUIウィンドウにそれらを表示します。
mattdm

3

あなたが望むことをするかもしれない「fdupes」と呼ばれる小さなユーティリティがありますか?

「fslint」と呼ばれる別のユーティリティもあります。これも試してみてください。(これにはGUIがあります)。


私はfslintを小さな写真セット(数ギガ程度)で試してみましたが、そこに座って回転するだけでイライラします。進行状況インジケータ、残り時間の予測、なし。
Fasterz

1
これらのツールは、同一のファイルを探すように見えます。同一の(ピクセルごとの)画像であっても、ファイルの内容が異なる場合があります。同じ見た目の画像だけでなく、同じ写真のすべてのバリエーションを1つにまとめるなど、行ったトリミングやその他の処理を含む、さまざまな形式やサイズで一致させたいと思いますディレクトリ。これは、信頼一致係数を持つ画像のソフト比較であり、同じシーンの異なる写真を一致させることができます。
スカペレン

@Skaperenあなたが提案するのは素晴らしいことですが、そのようなツールはUbuntuにも存在しますか?私は1つは、Windows用にどこかに言及見てきました-それは恐ろしいインターフェイス...など持っているように見えた
Fasterz

ImageDupelessは、似たような写真をキャッチしますが、いくつかの違いがあるWindowsアプリです。回転、切り抜き、サイズ変更、色合いの変更、透かしなどをキャッチします...ライブラリをスキャンして、どれだけの違いを受け入れるかを伝える必要があり、ファイルを陽気に表示します。しかし、数百のファイルにとっては非常に面倒であり、数千のファイルはひどいものになります。私もImageDupelessに相当するLinuxを探しています。ウェーブレットまたはその他のイメージングマジックを実行して、画像が似ていることを通知するアプリ。
Therealstubot

マニュアルページのオプションを読んでくださいfdupes-デュープを削除するオプションがあります。 askubuntu.com/a/476732
ラウエンツァ

1

dupeGuru Picture Editionは、Windows、Mac OS X、Linux用のカスタマイズ可能な複製画像ファインダーです。

そこdupeGuruのいくつかのバージョンが(標準、音楽&映像のエディション)だ、と絵版は、あなたが経由して視覚的に類似イメージを検索することができます比較アルゴリズムをブロックビットマップ(EXIF元画像のタイムスタンプ、または単に同一であるファイルのような)他の方法の中で、 。

除外されたフォルダー、iPhoto / Apertureライブラリのサポート、重複の検出方法とそれらの処理方法の大幅なカスタマイズなど、その他のさまざまな便利な機能があります。


0

写真の複製とはどういう意味ですか?コピーされたファイルが1つまたは2つだけ増えたなど、同一のファイルを意味しますか?または、同じように「見える」写真を意味しますか。

同一のファイルを意味する場合、すべてのファイルで「shasum」を使用し、結果を並べ替えて「uniq」で一意の行を見つけ、「diff」を実行して、削除されたものを確認できます。Ubuntuシェルで簡単に実行できます。


これはどれも簡単でも便利でもありません。以下で説明するfdupesは、単にSHAを計算するよりもすでに良い仕事をします。画像の類似性を検索するUNIXツールはありますか?もしそうなら、それは素晴らしいでしょう。
Fasterz

UNIXツールの使用に慣れている人にとっては簡単で便利です。これはuniq、sort、diff、shasumなどです。しかし、定期的に使用しないと、使いづらくなる可能性があることに同意します。私はすべて私「のように見えるが、」絞りとLightroomの中に含めて、見てきましたが何かできることを知りません、んファイルは、同一である、実際にはMD5またはshasumである
パット・ファレル

私はUNIXツールを定期的に使用していますが、この答えはやや馬鹿げています。まず、SHAを盲目的に実行すると、ファイルサイズの比較で問題が解決する場合に遅くなります。第二に、SHAまたはMD5は衝突する可能性があるため、SHA比較だけでは十分ではありません。これらの両方を考慮に入れると、fdupesの機能がわかります。
Fasterz

また、これを行う呪文を正しく思い起こさせたら、出力はまだあまり役に立ちません。せいぜい、類似したファイルの単なるダンプであるfdupesの出力を取得します。私の場合、私は何万人もいますが、重複を排除する方法を確認するためにそのデータを選択することは非常に困難です。
Fasterz

1
SHAは理論上衝突しますが、実際には衝突しません。はい、それは永遠にかかります。うまくいくものは何もありません。しかし、あなたはそれを始めて、1、2日で戻ってくることができるはずです。それは単なる提案であり、私はそれをめぐって戦争に入るつもりはありません。
パットファレル

0

「bleachbit」と呼ばれるアプリケーションがあります。これは、サイズ、名前、その他のフィルターで重複ファイルを検出します。これは、ubuntuのsynapcticパッケージマネージャーからインストールできます。


重複が見つかったらどうしますか?リストを表示するだけですか?何万もの重複があり、これらを解決するのに役立つGUIが非常に便利です。
Fasterz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.