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

視覚的なデータ隠蔽にCipherを使用する

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

Cipherは、Cipher Channelの画像スクランブルシードを使用して、多角形内のピクセルのRGB値をスクランブルし、画像を隠蔽します。この操作は交換可能で可逆的です。そのため、スクランブルされた値がある画像に対して、Cipherは元のピクセル値を復元するために逆スクランブルを適用します。これは単なるオーバーレイではなく、ピクセル自体が操作されます。

視覚的に隠蔽された画像

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

再現手順

  1. 関連するCipherリソースをセットアップする。

    1. 視覚的なデータ隠蔽アルゴリズムを使用してCipher Channelを作成する
    2. 暗号化を許可する管理者ライセンスを発行する。関連する管理者ユーザーにこのライセンスへのアクセスを許可する。
      • 注: 視覚的なデータ隠蔽は現在コードリポジトリでのみサポートされているため、このライセンスで暗号鍵へのアクセスを許可する必要があります。
    3. 復号を許可する運用ユーザーライセンスを発行する。運用ユーザーにこのライセンスへのアクセスを許可する。
  2. データをセットアップする。

    1. ユーザーの画像をメディアセットにインポートする
      • 注: 視覚的なデータ隠蔽は現在PNG画像のみをサポートしています。PNGは可逆圧縮フォーマットであるため、暗号化と復号化によって圧縮の痕跡は残りません。
    2. PNG画像タイプの出力メディアセットを作成する。
  3. 画像を視覚的に隠蔽する。

    1. メディアセット入力とメディアセット出力を持つPythonトランスフォームをセットアップする
    2. トランスフォームを通じて画像領域を隠蔽する
  4. [ベータ] Workshopの画像表示ウィジェットを使用して暗号化された画像と対話する。

    1. Pipeline Builderを使用して、オントロジーオブジェクトに隠蔽された画像をバックする。
    2. 以下のスキーマ(または同等のスキーマ)を持つ別のオントロジーオブジェクトに多角形をバックする:
      • polygonId: 主キー
      • imagePath: 文字列 -- 隠蔽された画像への外部キー。
      • cipherChannelRid: 文字列 -- この多角形を暗号化するために使用されたCipher ChannelのRID。このフォーマットは次の構造に従う必要があります:ri.bellaso.main.cipher-channel.<uuid>
      • polygon: 文字列 -- 座標のリストとして表現された多角形、jsonシリアライズ済み。例:[[0,0][100,0][100,100][0,100]]
      • label: 文字列(オプション) -- 多角形のラベル。
    3. 多角形を隠蔽された画像に多対1でリンクする。
    4. Workshopアプリで、画像表示ウィジェットを多角形オブジェクトでセットアップする。
    5. 必要な領域を選択し、選択した領域を復号して元の画像を表示する。

ウィジェット設定

画像表示ウィジェットとの対話