XENLOOK C2PA検証

メディアの信頼 · ステップ 2/5

フィンガープリント — 作品の指紋

ファイル全体をコピーしなくても「似た絵」を見つけ出せる、短い指紋の数字です。透かし(埋め込み)とは違い、指紋は読み取り・検索のためのものです。

Experimental · not for legal attribution

原本・リサイズ・JPEG・クロップ・回転での一致率と誤検出率の公開測定表はありません。それまで指紋は補助的な再識別の手がかりで、進行中です。

やさしい説明 · 正確な仕組み

作品の指紋(フィンガープリント)

写真を「短い番号札」に変えて、似た写真を探す技術です。はんこを埋めるわけではありません。

やさしいお話

  1. 人の指紋のように、写真ごとに「見た目の番号」を作ります。
  2. 写真を少し縮めたり圧縮したりしても番号が近ければ「同じ系統」とみなします。
  3. 反対に、1点違うだけでまったく別の番号になる方式(sha256)は「バイト完全一致」用です。

正確にはどう動くか

  1. 知覚ハッシュ(pHash/aHash/PDQ): 絵を小さく要約 → 明るさのパターン → 0/1 のビット列。
  2. 2枚の写真で違うビットの数 = 距離(ハミング)。距離が小さいほど似ています。
  3. 暗号ハッシュ(sha256): ファイルの全バイトの指紋。1ビット違うだけで番号がまるごと変わります。
  4. 透かしが消されても、指紋で保管庫から「似たファイル」を探せます。

まちがえやすいこと

  • ファイルは変えません。読み取り・検索用です。
  • 所有権の証明(署名・NFT)の代わりにはなりません。

デモで「指紋・ハッシュ検査」を押すと sha256 と aHash が出ます。原本と ε は sha256 が違い、aHash は近いことがあります。

デモ · 目で見る

押して試せるサンプル

写真・動画・音楽・文書を再生し、指紋番号を取り、来歴情報(C2PA)を検査します。XenLook には数千のキャラクターメディアがあり、ここでは仕組みと検証をわかりやすく示す代表サンプルを選びました。

日常の写真(実物)

日常の写真(実物)

XenLook キャラクターメディアライブラリの実際の写真です。指紋を取ってみましょう。

距離 = 異なるビットの数

フリートには数千枚の写真・動画があります。デモでは代表的な数枚で仕組みを示します。

  • 2 指紋
  • 1 透かし

XenLook がしていること

ピクセルが確定した後、PDQ/imagehash で指紋を計算し、レジストリ・重複チェック・検索に使います。venv の imagehash 経路はすでに動いています。

使っているオープンソース(商用 OK)

Meta PDQ (MIT) · imagehash (BSD-2)。Chromaprint (LGPL) は使いません。

XMSE の適用状況(このステップ)

項目状態メモ
imagehash 実測適用済みphash エンジン PASS
レジストリ連携適用済みfleet·pilot JSONL + lookup API
動画 vPDQ準備中フレームのバッチ処理