注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

使用Cipher进行视觉混淆

Cipher中的视觉混淆算法用于混淆图像的某些部分。拥有合适Cipher许可证的用户可以使用解密Cipher许可证查看原始图像数据。

Cipher通过使用Cipher Channel的图像扰乱种子来扰乱多边形内像素的RGB值来混淆图像。此操作是可交换和可逆的。因此,在具有扰乱值的图像上,Cipher将应用反向扰乱以恢复像素的原始值。这不仅仅是一个覆盖层;像素本身是被操控的。

视觉混淆图像

此图像是一个示例,其中Cipher应用于由“Humans in the Loop”提供的“汽车零件和汽车损坏”数据集,遵循CC0许可证。

复现步骤

  1. 设置相关的Cipher资源。

    1. 创建一个Cipher Channel并使用视觉混淆算法。
    2. 颁发一个管理许可证允许加密。授予相关管理员用户对此许可证的访问权限。
      • 注意:视觉混淆目前仅在代码库中支持,因此您需要在此许可证上授予加密密钥访问权限
    3. 颁发一个操作用户许可证允许解密。授予操作用户对此许可证的访问权限。
  2. 设置您的数据。

    1. 将您的图像导入到媒体集
      • 注意:视觉混淆目前仅支持PNG图像。PNG是一种无损格式,因此加密和解密不会留下压缩伪影。
    2. 创建一个输出媒体集,使用PNG图像类型。
  3. 视觉混淆您的图像。

    1. 设置一个Python变换,使用媒体集作为输入和输出
    2. 通过变换混淆图像区域
  4. [Beta] 使用Workshop中的图像显示微件与加密图像交互。

    1. 使用Pipeline Builder将您的混淆图像备份到一个Ontology对象中。
    2. 将您的多边形备份到另一个具有此模式(或等效模式)的Ontology对象中:
      • polygonId: 主键
      • imagePath: 字符串 -- 外键,用于链接到混淆图像。
      • cipherChannelRid: 字符串 -- 用于加密此多边形的Cipher Channel的RID。格式应遵循此结构:ri.bellaso.main.cipher-channel.<uuid>
      • polygon: 字符串 -- 多边形,表示为坐标列表,json序列化。例如:[[0,0][100,0][100,100][0,100]]
      • label: 字符串(非必填) -- 多边形的标签。
    3. 将多边形与混淆图像作为多对一链接。
    4. 在Workshop应用中,设置图像显示微件与多边形对象。
    5. 选择所需区域并选择解密选定区域以查看原始图像。

微件配置

与图像显示微件交互