注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Cipher を使用して視覚的に難読化する

Cipher の視覚的な難読化アルゴリズムは、画像の一部を難読化するために使用されます。適切な Cipher ライセンスにアクセスできるユーザーは、復号化用の Cipher ライセンスを使用して元の画像データを表示できます。

Cipher は、Cipher チャネルの画像スクランブル用シードを使用して、ポリゴン内のピクセルの RGB 値をスクランブルし、画像を難読化します。この操作は可換かつ可逆です。そのため、Cipher は、値がスクランブルされた画像に逆のスクランブル処理を適用し、ピクセルの元の値を復元します。これは単なるオーバーレイではなく、ピクセル自体を操作するものです。

視覚的に難読化された画像

この画像は、「Humans in the Loop」が CC0 ライセンスで提供する「Car Parts and Car Damages」データセット ↗に Cipher を適用した例です。

再現手順

  1. 必要な Cipher リソースを設定します。

    1. 視覚的な難読化アルゴリズムを使用して Cipher チャネルを作成します。
    2. 暗号化を許可する管理者ライセンスを発行します。該当する管理者ユーザーに、このライセンスへのアクセスを許可します。
      • 注:視覚的な難読化は現在 Code Repositories でのみサポートされているため、このライセンスで暗号化キーへのアクセスを許可する必要があります。
    3. 復号化を許可する運用ユーザーライセンスを発行します。運用ユーザーに、このライセンスへのアクセスを許可します。
  2. データを設定します。

    1. 画像をメディアセットにインポートします。
      • 注:視覚的な難読化は現在 PNG 画像のみをサポートしています。PNG は可逆圧縮形式であるため、暗号化および復号化によって圧縮によるノイズが残ることはありません。
    2. 画像形式を PNG に設定した出力メディアセットを作成します。
  3. 画像を視覚的に難読化します。

    1. メディアセットを入力および出力とする Python トランスフォームを設定します。
    2. トランスフォームを使用して画像の領域を難読化します。
  4. [ベータ版] Workshop の画像表示ウィジェットを使用して、暗号化された画像を操作します。

    1. Pipeline Builder を使用して、難読化された画像を元データとするオントロジーオブジェクトを作成します。
    2. 次のスキーマ(または同等のスキーマ)を使用して、ポリゴンを元データとする別のオントロジーオブジェクトを作成します。
      • polygonId: 主キー
      • imagePath: 文字列。難読化された画像にリンクするための外部キーです。
      • cipherChannelRid: 文字列。このポリゴンの暗号化に使用された Cipher チャネルの RID です。形式は次の構造に従う必要があります: ri.bellaso.main.cipher-channel.<uuid>
      • polygon: 文字列。座標のリストとして表現され、JSON シリアライズされたポリゴンです。例: [[0,0][100,0][100,100][0,100]]。
      • label: 文字列(任意)。ポリゴンのラベルです。
    3. ポリゴンを難読化された画像に多対一のリンクとしてリンクします。
    4. Workshop アプリケーションで、ポリゴンオブジェクトを使用して画像表示ウィジェットを設定します。
    5. 目的の領域を選択し、選択した領域を復号化を選択して、元の画像を表示します。

ウィジェットの設定

画像表示ウィジェットの操作