完全一致ハッシュか視覚的フィンガープリントか?目的に合うほうを使う
見た目が同じでも、ファイルのバイトが異なることがあります。そのため MAXScanner は、1 つのスコアを重複の証拠として示すのではなく、暗号学的な SHA-256 と知覚ハッシュの aHash、dHash、pHash を分けて扱います。
SHA-256 は「完全に同じファイルか」に答える
SHA-256 はファイルの全バイトから計算されます。二つの SHA-256 が一致すれば、比較したファイルはこの作業においてバイト単位で同一です。メタデータの編集、再書き出し、リサイズ、再圧縮はバイトを変えるため、見た目が同じでも通常は SHA-256 も変わります。
完全一致のダイジェストは、整合性チェック、転送の確認、完全重複の検出に使います。確認した特定のファイルバージョンと一緒にダイジェストを記録してください。
知覚ハッシュは別の問いに答える
aHash は平均的な明るさ、dHash は隣り合うピクセルの変化、pHash は画像の低周波構造を要約します。いずれも画像をデコードして正規化した後、64 ビットのコンパクトな視覚的フィンガープリントを生成します。
SHA-256 は異なるのに知覚ハッシュのハミング距離が小さい二枚の画像は、確認すべき類似重複の候補になり得ます。リサイズ、再エンコード、軽い調整をした画像は、完全一致ハッシュが変わっても見た目は近いままのことがあります。
ハミング距離はふるい分けの目安として読む
ハミング距離は、フィンガープリントのビットがいくつ異なるかを数えたものです。距離 0 は選んだ知覚ハッシュが同一であることを意味し、距離が大きいほど違いが大きくなります。MAXScanner は読みやすさのため、この距離から求めた簡単なパーセンテージも表示します。
二枚の写真が重複だと証明できる普遍的なしきい値はありません。トリミング、枠、回転、大きな色調整、文字の重ね合わせ、画像の種類の違いは、アルゴリズムごとに異なる影響を与えます。そのためツールは近い一致を慎重に表示し、目視での確認を求めます。
すべてブラウザー内で処理
画像のデコード、サンプリング、ハッシュ計算はブラウザー内で行われます。画像のバイトを MAXScanner の処理サーバーに送らずに、非公開の品質確認、素材の整理、アップロード前のチェックに使えます。
大規模なライブラリでは、自動削除の仕組みを作る前に、このページでフィンガープリントの考え方を理解し検証してください。知覚スコアだけを根拠に元画像を削除してはいけません。
知覚スコアを削除ボタン代わりにしない
近いフィンガープリントは確認すべき候補として扱います。関係を目視で確認し、メタデータ、トリミング、解像度、編集の違いが作業に影響しないかを確かめるまで、元画像は残しておきましょう。