AIが重複・類似写真を見つける仕組み(手動検索より優れている理由)

iPhoneの写真ライブラリを開いて、最近のイベントをスクロールしてみてください。友人との食事、公園での散歩、家族の集まり。本質的に同じ写真を何回撮ったか数えてみましょう。同じ料理を2回撮影。角度がわずかに違うだけの自撮り3枚。10秒間隔で撮った夕焼け写真5枚。
関連記事: iPhoneのPeopleアルバムで重複する人物を修正する方法
これを毎日、毎月、iPhoneを持っている年数分だけ掛け算してみてください。結果は?ほとんどの人が実際に必要な量より20〜30%多い写真を持っており、その大半は重複やほぼ同一のショットです。
問題は、週末まるまる使ってスクロールせずに、どうやって全部見つけるかということです。

思っている以上に重複写真は多い
重複写真は、想像以上にさまざまな経路でライブラリに忍び込んできます。最も一般的な原因を見てみましょう。
バーストショットと連写撮影
シャッターボタンを長押しすると、iPhoneは1秒間に複数のフレームを撮影します。1枚だけ撮るつもりでも、気づけば10枚になっていることも。Appleの「バースト」アルバムがその一部をまとめてくれますが、多くは個別の写真としてすり抜けます。特に、バーストモードを意図的に使ったのではなく、シャッターを素早くタップしていた場合はなおさらです。
関連記事: iPhoneで写真を並べて比較する方法(ベストショットの選び方)
スクリーンショットの重複
レシピをスクショする。それをトリミングする。これで2枚のコピーができました。誰かに送るために会話をスクショする。また1枚増えます。時間が経つにつれてこれらは積み重なり、平均的なiPhoneユーザーは何百枚もの不要なスクリーンショットを持っています。
メッセージアプリからの保存
WhatsApp、iMessage、Instagramで誰かが送ってきた写真を保存すると、コピーが1枚増えます。同じ写真を複数のアプリ経由で送ってきた場合(または誤って2回保存した場合)、複数のコピーが生まれます。これらの重複は特に厄介で、ファイル名やメタデータが異なることが多く、シンプルな検出方法では見つけられません。
クラウド同期の問題
iCloud写真、Googleフォト、その他のクラウドサービスを使っている場合、同期の問題で重複が発生することがあります。バックアップからの復元、デバイス間の切り替え、クラウド同期のオン・オフの切り替えは、見た目は同じでもファイル属性が異なる重複エントリを生み出す可能性があります。
SNSからのダウンロード
Instagramから保存したあのミーム、3ヶ月後に別の人が投稿したときにまた保存していませんか?SNSの再共有は、気づかないうちに重複ダウンロードが蓄積されるサイクルを生み出します。
重複の影響
- 25% 写真ライブラリの平均重複率
- 5,000枚 2万枚のライブラリで見つかりうる重複
- 15 GB 重複によって無駄になるストレージ
従来の重複検出の仕組み
ほとんどの重複写真検出ツールは、シンプルなアプローチを使っています。それは完全一致のファイルマッチングです。各ファイルのハッシュ(デジタル指紋)を計算して比較し、2つのファイルのハッシュが同じであれば、バイト単位で完全に同一です。
これは真のコピー(ビット単位で同一のファイル)にはうまく機能します。しかし、実生活で最も一般的な「重複」タイプにはまったく対応できません。
- 同じ写真、異なる解像度。 メッセージから圧縮された解像度で写真を保存した場合、オリジナルは4032x3024ピクセルで、保存版は1200x900。完全一致する可能性はゼロです。
- 同じシーン、わずかに異なるトリミング。 同じものを2枚撮影し、1枚はわずかに左にずれている。ファイルハッシュにとっては、まったく別のファイルです。
- 同じ写真、異なるフォーマット。 同じ画像のJPEGとHEICは、見た目は同じでもファイルハッシュはまったく異なります。
- 同じ瞬間、わずかに異なるタイミング。 0.5秒差で撮った友達の笑顔の写真2枚。事実上同じ思い出ですが、技術的にはユニークなファイルです。
実際のところ、完全一致のファイルマッチングで検出できるのは、一般的なライブラリの重複のうちわずか10〜15%程度です。残りの「ほぼ重複」は、人間なら一目で冗長だとわかるものですが、すり抜けてしまいます。
知覚ハッシュがすべてを変える
ここからが面白いところです。ファイルをバイナリレベルで比較する代わりに、Tidyは知覚ハッシュ(pHash)と呼ばれる技術を使って、写真が人間の目にどう見えるかを比較します。
その仕組みをわかりやすく説明します。
ステップ1:画像を簡略化する
まず、アルゴリズムが写真をとても小さなサムネイル(約32x32ピクセル)に縮小します。さらにグレースケールに変換します。これにより、「同一性」の認識に関係のないディテール(正確な色、細かいテクスチャ)を取り除きつつ、全体的な構造と構図は保持されます。
ステップ2:数学的変換を適用する
次に、サムネイルに離散コサイン変換(DCT)と呼ばれるものを適用します。数学的な詳細には深入りしませんが、DCTは画像を周波数成分に分解します。つまり、個々のピクセルではなくパターンで画像を表現するのです。曲を個々の音波ではなくメロディで表現するようなものだと考えてください。
ステップ3:コンパクトな指紋を生成する
DCTの出力から、アルゴリズムは最も重要なパターンを抽出し、64ビットのハッシュ(写真の見た目の本質を捉えたコンパクトな指紋)に変換します。同じシーンの2枚の写真は、解像度、圧縮率、フォーマット、わずかなトリミングの違いがあっても、非常に似たハッシュを生成します。
ステップ4:指紋を比較する
2枚の写真が似ているかどうかを確認するために、Tidyはハミング距離を使ってハッシュを比較します。これは基本的に、2つの指紋の間でいくつのビットが異なるかを数えるものです。距離が0なら画像は同一に見えます。5〜10なら非常に似ています。15以上なら、おそらくまったく別の写真です。
簡単に言うと:知覚ハッシュは「これらのファイルは同じか?」ではなく「これらの写真は人間の目に同じに見えるか?」と問いかけます。ライブラリを整理しようとしているとき、こちらの方がはるかに実用的な質問です。
Union-Findクラスタリングによるスマートなグループ化
類似写真のペアを見つけるのは始まりに過ぎません。真の力は、それらをインテリジェントにグループ化することにあります。TidyはUnion-Findクラスタリングという手法を使って、関連する写真をグループにまとめます。写真Aが写真Bに似ていて、写真Bが写真Cに似ている場合、AとCが直接似ていなくても、3枚すべてが同じグループに入ります。
つまり、同じ瞬間に撮った8枚のバースト写真をレビューする際、Tidyはそれらをすべて一緒に表示するので、ベストな1枚を選んで残りを一気に削除できます。
類似と重複:何が違うのか?
Tidyは2つのカテゴリを区別しており、この違いは重要です。
重複写真
本質的に同じ画像で、異なるフォーマットや解像度で保存されている可能性がある写真です。WhatsAppから保存した写真と、オリジナルとして持っている同じ写真。2回キャプチャした同じスクリーンショット。重複の場合、コピー間に意味のある違いはなく、1枚を残して残りを削除するだけです。
類似写真
同じ瞬間やシーンの写真ですが、わずかなバリエーションがあるものです。雲の位置がわずかに変わった夕焼け写真3枚。表情が少し違う自撮り2枚。微妙に角度が違う料理の写真5枚。類似写真の場合は、ベストな1枚を選んで残りを削除したいところです。
この区別が重要なのは、判断が異なるからです。重複の場合、選択は簡単で、どれか1枚を残せばOK。類似写真の場合は、比較してお気に入りを選びたいでしょう。だからこそTidyには、類似写真を並べて表示する比較モードがあり、最もシャープで構図がよく、写りのいい1枚を簡単に見つけられます。
AI検出が手動スクロールに勝る理由
理論上は、ライブラリを手動でスクロールしてすべての重複を見つけることもできるでしょう。ただし、無限の時間と完璧な記憶力があればの話です。実際には、AI搭載の検出が明確な理由で勝ります。
スピード
Tidyは日常生活を送っている間に、バックグラウンドで何千枚もの写真を分析できます。2万枚の写真のフルスキャンは数分の処理時間で完了します。すべての写真を手動で比較すれば数時間から数日かかるところです。しかも数字は衝撃的です。2万枚のライブラリで各写真を他のすべての写真と比較すると、2億件の比較が必要になります。人間にできることではありません。
一貫性
目は疲れます。注意力は散漫になります。カメラロールで隣り合っている2枚の類似写真には気づくかもしれませんが、500枚離れていたらまず見逃します。アルゴリズムは疲れることなく、タイムライン上でどれだけ離れていても、マッチを見逃しません。
見逃しを防ぐ
知覚ハッシュは、ほとんどの人が見逃す類似性を捉えます。写真とそのトリミング版、異なる品質レベルで保存された同じ画像、数週間の間隔を空けて撮られた同じコンテンツのスクリーンショット。これらは気づかないうちにライブラリを肥大化させる重複です。
スマートな優先順位付け
Tidyが類似グループを見つけたとき、単にリストに並べるだけではありません。品質シグナル(シャープネス、露出、解像度)に基づいて、どの写真を残すべきかを提案します。ほぼ同一の5枚の中でブレている1枚は削除候補としてフラグが立てられ、最もシャープな1枚が残す候補として提案されます。最終判断はあなたが行いますが、分析の重労働はAIが担います。
プライバシー:すべてデバイス上で完結
ここで重要なことをお伝えします。Tidyの写真分析はすべてiPhone上で完結します。写真がサーバーにアップロードされることは一切ありません。知覚ハッシュ、類似性検出、クラスタリングはすべて、デバイスのプロセッサを使ってローカルで実行されます。
これが重要なのは、写真ライブラリが極めてプライベートなものだからです。家族、自宅、プライベートな瞬間が詰まっています。多くの写真管理ツールはAI機能を使うためにクラウドへのアップロードを必要としますが、Tidyは必要としません。写真がデバイスの外に出ることは、絶対にありません。
バックグラウンド分析は、夜間の充電中にAppleのBackgroundTasksフレームワークを使って実行されます。朝Tidyを開くころには、ライブラリの分析が完了し、重複のレビューができる状態になっています。データが1バイトたりともiPhoneの外に出ることはありません。
クラウドへのアップロードはゼロ。データ収集もゼロ。妥協もゼロ。すべてのAI処理はiPhoneのニューラルエンジン上で実行されます。あなたの写真はあなただけのもの。それは変わりません。
AIにライブラリ整理を任せよう
重複・類似写真を見つけて削除することは、iPhoneのストレージを空ける最も手っ取り早い方法の一つです。ライブラリに2万枚以上の写真があるなら、そのうち数千枚が冗長である可能性は非常に高く、手動スクロールでは絶対にすべてを見つけられません。
TidyのAIがスキャン、比較、グループ化という面倒な作業を引き受けます。あなたが楽しめるのは、結果をスワイプして残すものを決める気持ちいいパートです。各グループからベストショットを選び、残りを削除して、すっきりと整理された見やすいライブラリを楽しみましょう。
内蔵フォトエディターと組み合わせれば、クリーニングセッション中に残す写真の仕上げもできます。


