본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

시각적 난독화를 위한 Cipher 사용

Cipher의 시각적 난독화 알고리즘은 이미지의 일부를 난독화하는 데 사용됩니다. 적절한 Cipher 라이선스에 접근 권한이 있는 사용자는 복호화 Cipher 라이선스를 사용하여 원본 이미지 데이터를 볼 수 있습니다.

Cipher는 Cipher 채널의 이미지 스크램블링 시드를 사용하여 다각형 내 픽셀의 RGB 값을 스크램블하여 이미지를 난독화합니다. 이 작업은 교환 가능하고 되돌릴 수 있습니다. 따라서 스크램블된 값이 있는 이미지에서 Cipher는 원본 픽셀 값을 복구하기 위해 스크램블을 역으로 적용합니다. 이는 단순한 오버레이가 아니라, 픽셀 자체가 조작됩니다.

Visually_obfuscated_image

이 이미지는 "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]].
      • 레이블: 문자열 (선택 사항); 다각형에 대한 레이블.
    3. 다각형을 난독화된 이미지에 다대일 링크로 연결합니다.
    4. Workshop 애플리케이션에서 다각형 객체로 이미지 디스플레이 위젯을 설정합니다.
    5. 원하는 영역을 선택하고 선택한 영역 복호화를 선택하여 원본 이미지를 봅니다.

Widget Configuration

Interacting with the image display widget