KR102099019B1 - 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법 - Google Patents

생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법 Download PDF

Info

Publication number
KR102099019B1
KR102099019B1 KR1020180121722A KR20180121722A KR102099019B1 KR 102099019 B1 KR102099019 B1 KR 102099019B1 KR 1020180121722 A KR1020180121722 A KR 1020180121722A KR 20180121722 A KR20180121722 A KR 20180121722A KR 102099019 B1 KR102099019 B1 KR 102099019B1
Authority
KR
South Korea
Prior art keywords
image
identifier
watermarking
user
generation model
Prior art date
Application number
KR1020180121722A
Other languages
English (en)
Inventor
윤성로
배호
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020180121722A priority Critical patent/KR102099019B1/ko
Application granted granted Critical
Publication of KR102099019B1 publication Critical patent/KR102099019B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

생성모델 기반 워터마킹을 이용한 식별자 확인 방법은 인코더가 소스 영상 및 식별자 영상을 입력받는 단계, 상기 인코더가 상기 소스 영상 및 상기 식별자 영상을 제1 생성모델(generative model)에 입력하여 상기 소스 영상에 대한 워터마킹 영상을 생성하는 단계, 디코더가 상기 워터마킹 영상 및 상기 소스 영상을 입력받는 단계 및 상기 디코더가 상기 워터마킹 영상 및 상기 소스 영상을 제2 생성모델에 입력하여 상기 워터마킹된 영상으로부터 상기 식별자 영상에 대응되는 식별자 정보를 추출하는 단계를 포함한다.

Description

생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법{IDENTIFYING METHOD OF USER BASED ON GENERATIVE MODEL FOR WATERMARK AND WATERMARKING METHOD BASED ON GENERATIVE MODEL}
이하 설명하는 기술은 생성모델(generative model)에 기반한 워터 마크 생성 기법 및 워터 마크를 이용한 사용자 확인 기법에 관한 것이다.
워터마킹(Watermarking) 기술은 멀티미디어 콘텐츠에 사람이 인지할 수 없는 소유권자의 저작권 정보를 워터마크로 삽입하고, 검출기를 통해 삽입 정보를 식별하는 기술로 소유권을 주장할 수 있게 하는 기술이다. 워터마킹은 콘텐츠 유통추적, 콘텐츠 불법 복제 방지, 콘텐츠 내용 인증 등에 사용될 수 있다. 한편 최근 인공지능 연구가 본격화되면서, 신경망을 활용하여 워터마킹 영상을 생성하는 기술이 개발되고 있다.
미국등록특허 US 7,095,872호
종래 기술은 디지털 콘텐츠의 소유자를 확인할 수는 있지만, 디지털 콘텐츠 접근이 허용된 자가 악의적으로 제3자에게 배포하는 경우 이를 차단할 수 없다. 이하 설명하는 기술은 디지털 콘텐츠 소유자 확인뿐만 아니라, 디지털 콘텐츠의 악의적 배포의 경우에도 배포자를 확인할 수 있는 워터마킹 기법을 제공하고자 한다.
생성모델 기반 워터마킹을 이용한 식별자 확인 방법은 인코더가 소스 영상 및 식별자 영상을 입력받는 단계, 상기 인코더가 상기 소스 영상 및 상기 식별자 영상을 제1 생성모델(generative model)에 입력하여 상기 소스 영상에 대한 워터마킹 영상을 생성하는 단계, 디코더가 상기 워터마킹 영상 및 상기 소스 영상을 입력받는 단계 및 상기 디코더가 상기 워터마킹 영상 및 상기 소스 영상을 제2 생성모델에 입력하여 상기 워터마킹된 영상으로부터 상기 식별자 영상에 대응되는 식별자 정보를 추출하는 단계를 포함한다.
생성모델에 기반한 워터마킹 방법은 인코더가 소스 영상을 입력받는 단계, 상기 인코더가 사용자에 대한 식별자 영상을 획득하는 단계 및 상기 인코더가 상기 식별자 영상 및 상기 소스 영상을 생성모델(generative model)에 입력하여 상기 소스 영상에 대한 워터마킹 영상을 생성하는 단계를 포함한다. 상기 생성모델은 상기 식별자 영상을 상기 소스 영상에 워터마킹하되, 상기 소스 영상에 최대 유사한 영상이 생성되도록 사전에 학습된 모델이다.
생성모델에 기반한 워터마크 추출 방법은 디코더가 소스 영상을 입력받는 단계, 상기 디코더가 상기 소스 영상에 식별자 영상이 삽입된 워터마킹 영상을 입력받는 단계 및 상기 디코더가 상기 소스 영상 및 상기 워터마킹 영상을 생성모델에 입력하여 상기 식별자 영상에 대응되는 식별자 정보를 추출하는 단계를 포함한다. 상기 생성모델은 상기 워터마킹 영상이 상기 소스 영상에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델이다.
생성모델에 기반한 워터마크를 추출하는 디코더 장치는 소스 영상 및 워터마킹 영상을 입력받는 입력장치, 원본 영상과 상기 원본 영상에 식별자가 비인지 삽입된 영상에서 상기 식별자를 추출하는 생성 모델이 저장되는 저장장치 및 상기 소스 영상 및 상기 워터마킹 영상을 상기 생성모델이 입력하여 상기 워터마킹 영상에서 식별자 영상을 추출하는 연산장치를 포함한다. 상기 워터마킹 영상은 상기 상기 소스 영상에 상기 식별자 영상이 워터마킹된 영상이고, 상기 생성모델은 상기 워터마킹 영상이 상기 소스 영상에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델이다.
이하 설명하는 기술은 디지털 콘텐츠에 사용자의 식별 영상을 워터마킹하여 개별 사용자에 대한 워터마크를 생성한다. 이하 설명하는 기술은 개별 사용자의 워터마크를 이용하여 디지털 콘텐츠 생산자 내지 배포자를 파악할 수 있다. 이하 설명하는 기술은 디지털 콘텐츠의 악의적 배포에 대한 제재를 가능하게 한다.
나아가 또한 종래 기술은 고유 식별자를 디지털 콘텐츠의 특정 위치에 삽입하여 워터마킹 공격에 취약하다. 이하 설명하는 기술은 생성모델에 기반한 워터마크를 이용하여 워터마킹 공격에 강인하다.
도 1은 워터 마크를 이용한 사용자 식별 시스템에 대한 예이다.
도 2는 워터 마크를 이용한 사용자 식별 시스템에 대한 다른 예이다.
도 3은 워터 마크를 이용한 사용자 식별 시스템에 대한 또 다른 예이다.
도 4는 생성모델 기반한 워터마크 영상 생성 과정에 대한 예이다.
도 5는 워터 마크를 생성하는 인코더의 구성에 대한 예이다.
도 6은 생성모델 기반한 식별 정보 추출 과정에 대한 예이다.
도 7은 워터 마크를 검출하는 디코더의 구성에 대한 예이다.
도 8은 생성모델에 대한 예이다.
도 9는 생성모델 기반한 사용자 식별 정보 확인 방법에 대한 순서도의 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
디지털 워터마킹 기술은 워터마크 생성, 삽입 및 검출 단계 기술로 크게 구분할 수 있다. 워터마크 생성과정은 삽입하고자 하는 워터마크를 어떤 형대로 대상 콘텐츠에 삽입할 것인지 결정하는 방법이다. 워터마크는 이진 영상, 키(key) 값에 의해 변환된 이진 영상, 키 정보에 의해 암호화된 문자열 또는 유사잡음(psuedonoise) 신호 등이 사용될 수 있다. 워터마크는 워터마크의 유무 정보뿐만 아니라 저작권, 소유자, 콘텐츠 내용 등을 나타낼 수 있다. 워터마크에 삽입되는 내용을 워터마크 페이로드 (payload)라 정의한다.
종래 워터마크 삽입과정은 생성된 워터마크를 어떻게 원본 영상에 삽입할 것인지 결정하는 과정으로 대부분이 공간 도메인(spatial domain) 또는 변환 도메인(transform domain)에서 인간시각시스템(human visual system)을 참조한 삽입강도를 정하여 더하는 방식을 사용한다.
공간 도메인을 이용한 방법 중 대표적인 방법은 이미지/동영상 콘텐츠 내의 임의의 여러 픽셀을 선택하여 각각의 픽셀 이진 값의 마지막 비트를 워터마킹 삽입 위치로 하여 삽입 및 검출하는 LSB(Least Significant Bit) 방식이 있다. 이 방법은 간단하고 빠른 방법이지만 간단한 공격에도 워터마크를 잃어버릴 수 있는 단점이 있다.
변환 도메인을 이용한 방법 중 대표적인방법은 이산 코사인 변환 도메인을 사용한 방법이다. 이 방법은 이미지/동영상의 압축이 대부분 이산 코사인 변환을 이용하므로 압축 이미지/동영상에 바로 적용할 수 있으며 간단한 공격에 공간 도메인보다 강하다는 장점이 있다. 하지만 의도적으로 가해질 수 있는 기하학적 공격 등에는 약한 단점이 있다. 나아가 변환 도메인은 다양한 다른 변환 방식을 사용할 수 있다. 예컨대, 변환 도메인은 이산 푸리에 변환(DFT : Discrete Fourier Transform), 이산 코사인 변환 (DCT : Discrete Cosine Trnasform), 이산 웨이블렛 변환(DWT : Discrete Wavelet Transform), 푸리에-멜른 변환(FMT : Fourier-Mellin Transform)등을 포함한다.
워터마크의 검출 과정은 크게 원본 콘텐츠의 사용 여부에 따라서 두가지로 나뉜다. 원본을 가지고 하는 넌블라인드 검출방식으로는 원본 콘텐츠와의 차 값을 이용하는 방법과 원본과의 유사도를 측정하는 워터마크 검출법이 있다. 블라인드 검출방식으론 워터마크 신호의 자기상관도 (autocorrelation)를 구하는 방식, 정합 필터 (matched filter)을 이용한 방식 또는 확률적 인 방법을 응용한 MAP(Maximun A-Posteriori)을 이용하는 방식 등이 있다.
이하 설명하는 기술은 종래 기법과 달리 생성모델을 사용하여 영상에 일정한 식별 정보를 부가하는 워터마킹 기법에 관한 것이다. 기본적으로 워터마크는 비인지 워터마크(imperceptible watermark)를 의미한다.
몇 가지 용어에 대하여 정의한다. 소스 영상은 워터마크가 삽입되는 대상이 되는 영상이다. 예컨대, 소스 영상은 사진, 웹툰, 동영상, 동영상 프레임 등과 같은 디지털 콘텐츠를 포함한다. 워터마킹 영상은 워터마크가 삽입된 영상(watermarked image)을 의미한다. 비인지 워터마크를 삽입하므로, 사용자에게는 워터마킹 영상과 소스 영상이 동일하게 보인다.
소스 영상에 삽입되는 정보를 식별자 정보라고 명명한다. 이하 설명하는 기술은 식별자 정보로 영상을 이용한다. 소스 영상에 삽입되는 영상을 식별자 영상이라고 명명한다. 식별자 영상은 소스 영상과 동일한 크기(프레임 크기)의 영상일 수 있다. 식별자 영상은 특정 사용자를 식별할 객체 내지 정보를 포함한다. 예컨대, 식별자 영상은 영상 객체 형태의 사용자 ID, 사용자 얼굴 등과 같이 사용자를 특정할 수 있는 정보가 사용될 수 있다.
워터마킹 영상을 생성하는 장치를 인코더(encoder)라고 명명한다. 인코더는 생성모델을 사용하여 워터마킹 영상을 생성한다. 워터마킹 영상에서 식별자 정보를 추출하는 장치를 디코더(decoder)라고 명명한다. 디코더는 생성모델을 사용하여 식별자 정보를 추출한다. 인코더와 디코더는 물리적으로 별개의 장치일 수 있다. 나아가 인코더와 디코더는 물리적으로 동일한 장치일 수도 있다. 예컨대, 워터마킹 서비스를 제공하는 서버가 워터마킹 영상에서 식별자 정보를 추출할 수도 있다.
워터마킹 영상을 생성하는 장치를 워터마킹 장치라고도 설명한다. 워터마킹 장치는 인코더와 동일한 장치일 수 있다. 나아가 워터마킹 장치는 인코더를 포함하는 장치일 수 있다. 인코더는 소스 영상에 식별자 영상을 삽입하는 구성을 의미한다. 워터마킹 장치는 인코더를 포함하여 소스 영상 및 워터마킹 영상을 사용자에게 제공하는 장치일 수 있다.
나아가 워터마킹 영상에서 식별자 정보를 추출하는 장치를 식별자 검출장치라고도 설명한다. 식별자 검출장치는 디코더와 동일한 장치일 수 있다. 나아가 식별자 검출장치는 디코더를 포함하는 장치일 수 있다. 식별자 검출 장치는 디코더를 포함하여, 특정 영상에 대한 접근 내지 배포가 허용된 사람인지에 대한 판단을 수행하는 장치일 수 있다. 한편 워터마킹 장치와 식별자 검출장치가 동일한 서버에 구현될 수도 있다.
도 1은 워터 마크를 이용한 사용자 식별 시스템(100)에 대한 예이다. 워터 마크를 이용한 사용자 식별 시스템(100)은 워터마킹 장치(110), 영상 DB(120), 식별자 DB(130) 및 식별자 검출장치(150)를 포함한다.
사용자 A(1)는 사용자 단말(번호 미도시)을 사용하여 네트워크를 통해 워터마킹 장치(110)에 디지털 콘텐츠를 요청한다. 도 1은 서버와 같은 워터마킹 장치(110)를 도시하였다. 한편 디지털 콘텐츠를 제공하는 서비스 서버(미도시)가 별도로 존재할 수 있다. 이 경우 사용자 A(1)는 서비스 서버에 디지털 콘텐츠를 요청하고, 서비스 서버는 워터마킹 장치(110)에 워터마킹을 요청할 수 있다. 한편 사용자 A(1)는 디지털 콘텐츠를 요청하면서 일정한 사용자 정보를 전달한다. 사용자 정보는 디지털 콘텐츠 전송 대상을 특정하는데 사용될 수 있다. 사용자 정보는 서비스 ID, 사용자 이름, 사용자 단말 식별자 등과 같은 정보 중 적어도 하나일 수 있다.
워터마킹 장치(110)는 사용자 정보를 사용자 또는 서비스 서버로부터 전달받는다. 영상 DB(120)는 소스 영상을 저장한다. 식별자 DB(130)는 식별자 정보 또는 식별자 영상을 저장한다. 식별자 DB(130)는 사용자 정보에 맵핑되는 식별자 정보(또는 식별자 영상)을 보유한다. 식별자 정보는 사용자 정보에 따라 결정되는 식별자를 포함한다. 예컨대, 식별자 정보는 텍스트 또는 영상일 수 있다. 식별자 정보는 해당 사용자의 얼굴 영상을 포함할 수 있다. 식별자 영상도 사용자 얼굴 영상으로 구성될 수도 있다.
워터마킹 장치(110)는 요청된 디지털 콘텐츠를 영상 DB(120)로부터 전달받는다. 경우에 따라 워터마킹 장치(110)는 서비스 서버를 경유하여 영상 DB(120)로부터 소스 영상을 전달받을 수 있다. 워터마킹 장치(110)는 사용자 정보에 맵핑된 특정 식별자 정보 또는 식별자 영상을 식별자 DB(130)로부터 전달받는다. 경우에 따라 워터마킹 장치(110)는 서비스 서버를 경유하여 식별자 DB(130)로부터 식별자 정보 또는 식별자 영상을 전달받을 수 있다.
식별자 DB(130)로부터 영상이 아닌 식별자 정보를 수신하는 경우, 워터마킹 장치(110)는 식별자 정보에 대응되는 식별자 영상을 생성한다. 예컨대, 식별자 정보가 텍스트로 구성된 ID라면 해당 ID를 영상 객체로 포함하는 식별자 영상을 생성할 수 있다. 워터마킹 장치(110)는 식별자 영상을 소스 영상과 동일한 포맷 및 동일한 규격으로 생성할 수 있다. 또 워터마킹 장치(110)는 식별자 DB(130)로부터 식별자 영상을 수신하고, 소스 영상에 대응되는 포맷 내지 규격으로 전처리할 수 있다.
워터마킹 장치(110)는 인코더를 사용하여 소스 영상에 식별자 영상을 삽입하여 워터마킹 영상을 생성한다. 워터마킹 장치(110)는 후술할 생성모델을 이용하여 소스 영상에 식별자 영상을 워터마킹한다. 이후 서비스 서버는 워터마킹 영상을 이용하여 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다. 서비스 서버는 영구적으로 또는 일정기간동안 워터마킹 영상을 보유하고, 해당 기간 동안 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다.
사용자 A(1)는 자신이 요청한 디지털 콘텐츠에 해당하는 워터마킹 영상을 수신한다. 예컨대, 웹툰을 예로 설명하면 사용자 A(1)는 사용자 단말을 통해 웹툰을 감상한다. 이때 사용자 A(1)는 유료로 웹툰을 감상할 수 있다. 웹툰은 사용자가 식별할 수 없지만 사용자 영상이 워터마킹된 콘텐츠이다. 이후 사용자 A(1)는 화면을 캡쳐하거나, 수신한 디지털 콘텐츠를 저장하여 파일 형태로 다른 사용자 B(2)에게 전달할 수 있다. 또는 사용자 A(1)는 보유한 디지털 콘텐츠를 공유하기 위한 클라우드에 업로딩할 수 있다. 후자의 경우 사용자 B(2)는 클라우드에 접속하여 해당 디지털 콘텐츠(웹툰)에 접근할 수 있다. 사용자 B(2)가 이용하고자 하는 콘텐츠는 사용자 A(1)의 사용자 정보에 대응하는 식별자 영상이 삽입된 영상이다.
식별자 검출장치(150)가 웹툰(워터마킹 영상)에서 식별자 정보를 검출한다(150). 식별자 검출장치(150)는 사용자가 사용하는 모바일 단말(151), 사용자 PC(152) 또는 네트워크 서버(153) 등과 같은 장치일 수 있다.
사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 사용자 단말(151, 152)에 설치된 애플리케이션이 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 또는 사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 서버(153)가 사용자 단말(151, 152)로부터 워터마킹 영상을 수신하고, 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 식별자 검출장치(150)는 추출한 식별자 정보와 현재 서비스를 이용하는 사용자의 정보가 일치하지 않는 경우, 콘텐츠 제공을 중단할 수 있다. 식별자 검출장치(150)가 사용자 단말(151, 152)이라면 자체적으로 서비스를 중단할 수 있다. 식별자 검출장치(150)가 서버(153)라면 서비스 중단 요청을 사용자 단말에 전달할 수 있다. 이와 같은 경우를 고려하면 식별자 영상은 사용자 특이적인 정보(예컨대, 사용자 ID)뿐만 아니라, 사용자 장치 특이적인 정보(사용자 단말 식별자)를 포함하는 것이 바람직할 수 있다.
사용자 B(2)는 자신의 사용자 단말을 사용하여 사용자 A(1)의 서비스 계정으로 로그인하여, 사용자 A(1)가 유료로 결제한 콘텐츠를 감상할 수 있다. 식별자 검출장치(150)는 전술한 방법으로 식별자 영상을 추출할 수 있다. 이후 식별자 검출장치(150)는 식별자 영상과 사용자 정보(예컨대, 사용자 단말 식별자)를 비교하여 동일한지 여부를 판단할 수 있다. 사용자 A(1)의 식별자 정보와 사용자 B(2)의 사용자 정보는 상이하기 때문에, 식별자 검출장치(150)는 콘텐츠 제공 중단하거나, 중단 명령을 생성한다. 나아가 식별자 검출장치(150)는 본래 콘텐츠를 허용했던 사용자 A(1)에 대하여 과징금과 같은 패널티(penalty)를 부여할 수도 있다.
도 2는 워터 마크를 이용한 사용자 식별 시스템(100)에 대한 다른 예이다. 워터 마크를 이용한 사용자 식별 시스템(100)은 워터마킹 장치(110), 영상 DB(120) 및 식별자 검출장치(150)를 포함한다. 도 2의 시스템(100)은 도 1의 시스템(100)과 달리 식별자 DB(130)를 포함하지 않는다.
사용자 A(1)는 사용자 단말(번호 미도시)을 사용하여 네트워크를 통해 워터마킹 장치(110)에 디지털 콘텐츠를 요청한다. 도 2는 서버와 같은 워터마킹 장치(110)를 도시하였다. 한편 디지털 콘텐츠를 제공하는 서비스 서버(미도시)가 별도로 존재할 수 있다. 이 경우 사용자 A(1)는 서비스 서버에 디지털 콘텐츠를 요청하고, 서비스 서버는 워터마킹 장치(110)에 워터마킹을 요청할 수 있다. 한편 사용자 A(1)는 디지털 콘텐츠를 요청하면서 일정한 사용자 정보를 전달한다. 사용자 정보는 디지털 콘텐츠 전송 대상을 특정하는데 사용될 수 있다. 사용자 정보는 서비스 ID, 사용자 이름, 사용자 단말 식별자 등과 같은 정보 중 적어도 하나일 수 있다.
워터마킹 장치(110)는 사용자 정보를 기준으로 식별자 영상을 생성한다. 예컨대, 사용자 정보가 특정한 텍스트라면 해당 텍스트 객체를 포함하는 식별자 영상을 생성한다. 워터마킹 장치(110)는 식별자 영상을 소스 영상과 동일한 포맷 및 동일한 규격으로 생성할 수 있다.
워터마킹 장치(110)는 사용자 정보를 사용자 또는 서비스 서버로부터 전달받는다. 영상 DB(120)는 소스 영상을 저장한다. 워터마킹 장치(110)는 요청된 디지털 콘텐츠를 영상 DB(120)로부터 전달받는다. 경우에 따라 워터마킹 장치(110)는 서비스 서버를 경유하여 영상 DB(120)로부터 소스 영상을 전달받을 수 있다.
워터마킹 장치(110)는 인코더를 사용하여 소스 영상에 식별자 영상을 삽입하여 워터마킹 영상을 생성한다. 워터마킹 장치(110)는 후술할 생성모델을 이용하여 소스 영상에 식별자 영상을 워터마킹한다. 이후 서비스 서버는 워터마킹 영상을 이용하여 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다. 서비스 서버는 영구적으로 또는 일정기간동안 워터마킹 영상을 보유하고, 해당 기간 동안 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다.
사용자 B(2)는 사용자 A(1)의 사용자 정보에 대응하는 식별자 영상이 삽입된 영상에 접근하는 주체이다. 웹툰을 예로 설명한다.
식별자 검출장치(150)가 웹툰(워터마킹 영상)에서 식별자 정보를 검출한다(150). 식별자 검출장치(150)는 사용자가 사용하는 모바일 단말(151), 사용자 PC(152) 또는 네트워크 서버(153) 등과 같은 장치일 수 있다.
사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 사용자 단말(151, 152)에 설치된 애플리케이션이 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 또는 사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 서버(153)가 사용자 단말(151, 152)로붙터 워터마킹 영상을 수신하고, 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 식별자 검출장치(150)는 추출한 식별자 정보와 현재 서비스를 이용하는 사용자의 정보가 일치하지 않는 경우, 콘텐츠 제공을 중단할 수 있다. 식별자 검출장치(150)가 사용자 단말(151, 152)이라면 자체적으로 서비스를 중단할 수 있다. 식별자 검출장치(150)가 서버(153)라면 서비스 중단 요청을 사용자 단말에 전달할 수 있다. 이와 같은 경우를 고려하면 식별자 영상은 사용자 특이적인 정보(예컨대, 사용자 ID)뿐만 아니라, 사용자 장치 특이적인 정보(사용자 단말 식별자)를 포함하는 것이 바람직할 수 있다. 사용자 정보는 사용자 개입 없이 자동으로 전달되는 정보를 사용하는 것이 바람직하다.
사용자 B(2)는 자신의 사용자 단말을 사용하여 사용자 A(1)의 서비스 계정으로 로그인하여, 사용자 A(1)가 유료로 결제한 콘텐츠를 감상할 수 있다. 식별자 검출장치(150)는 전술한 방법으로 식별자 영상을 추출할 수 있다. 이후 식별자 검출장치(150)는 식별자 영상과 사용자 정보(예컨대, 사용자 단말 식별자)를 비교하여 동일한지 여부를 판단할 수 있다. 사용자 A(1)의 식별자 정보와 사용자 B(2)의 사용자 정보는 상이하기 때문에, 식별자 검출장치(150)는 콘텐츠 제공 중단하거나, 중단 명령을 생성한다. 나아가 식별자 검출장치(150)는 본래 콘텐츠를 허용했던 사용자 A(1)에 대하여 과징금과 같은 페널티(penalty)를 부여할 수도 있다.
도 3은 워터 마크를 이용한 사용자 식별 시스템(100)에 대한 또 다른 예이다. 워터 마크를 이용한 사용자 식별 시스템(100)은 워터마킹 장치(110), 영상 DB(120) 및 식별자 검출장치(150)를 포함한다. 도 3의 시스템(100)은 도 1의 시스템(100)과 달리 식별자 DB(130)를 포함하지 않는다. 또 도 3의 시스템(100)은 도 2의 시스템(100)과 달리 사용자로부터 사용자 정보가 아닌 식별자 영상을 수신한다.
사용자 A(1)는 사용자 단말(번호 미도시)을 사용하여 네트워크를 통해 워터마킹 장치(110)에 디지털 콘텐츠를 요청한다. 도 3은 서버와 같은 워터마킹 장치(110)를 도시하였다. 한편 디지털 콘텐츠를 제공하는 서비스 서버(미도시)가 별도로 존재할 수 있다. 이 경우 사용자 A(1)는 서비스 서버에 디지털 콘텐츠를 요청하고, 서비스 서버는 워터마킹 장치(110)에 워터마킹을 요청할 수 있다. 한편 사용자 A(1)는 디지털 콘텐츠를 요청하면서 식별자 영상을 전달한다. 식별자 영상은 사용자 ID, 사용자 단말 식별자, 사용자 얼굴 등과 같은 데이터 중 적어도 하나일 수 있다. 사용자 얼굴 경우, 사용자 단말이 내장된 카메라를 이용하여 디지털 콘텐츠를 요청한 사용자 A(1)의 얼굴을 캡쳐하여 워터마킹 장치(110)에 전달할 수 있다. 식별자 영상은 소스 영상과 동일한 포맷 및 동일한 규격일 수 있다.
워터마킹 장치(110)는 식별자 영상을 사용자 단말 또는 서비스 서버로부터 전달받는다. 영상 DB(120)는 소스 영상을 저장한다. 워터마킹 장치(110)는 요청된 디지털 콘텐츠를 영상 DB(120)로부터 전달받는다. 경우에 따라 워터마킹 장치(110)는 서비스 서버를 경유하여 영상 DB(120)로부터 소스 영상을 전달받을 수 있다.
워터마킹 장치(110)는 인코더를 사용하여 소스 영상에 식별자 영상을 삽입하여 워터마킹 영상을 생성한다. 워터마킹 장치(110)는 후술할 생성모델을 이용하여 소스 영상에 식별자 영상을 워터마킹한다. 이후 서비스 서버는 워터마킹 영상을 이용하여 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다. 서비스 서버는 영구적으로 또는 일정기간동안 워터마킹 영상을 보유하고, 해당 기간 동안 사용자 A(1)에게 콘텐츠 서비스를 제공할 수 있다.
사용자 B(2)는 사용자 A(1)의 사용자 정보에 대응하는 식별자 영상이 삽입된 영상에 접근하는 주체이다. 웹툰을 예로 설명한다.
식별자 검출장치(150)가 웹툰(워터마킹 영상)에서 식별자 정보를 검출한다(150). 식별자 검출장치(150)는 사용자가 사용하는 모바일 단말(151), 사용자 PC(152) 또는 네트워크 서버(153) 등과 같은 장치일 수 있다.
사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 사용자 단말(151, 152)에 설치된 애플리케이션이 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 또는 사용자 B(2)가 사용자 단말(151, 152)을 이용하여 웹툰을 보는 경우 서버(153)가 사용자 단말(151, 152)로부터 워터마킹 영상을 수신하고, 영상 DB(120)로부터 소스 영상을 수신하고, 소스 영상과 워터마킹 영상으로부터 식별자 정보를 추출할 수 있다. 이를 통해 식별자 검출장치(150)는 현재 웹툰을 배포하거나 공유한 주체(사용자 A)를 확인할 수 있다.
식별자 검출장치(150)는 현재 콘텐츠에 접근하거나, 접근을 요청하는 사용자의 얼굴 영상을 사용자 B(2)의 단말로부터 획득할 수 있다. 이 경우 식별자 검출장치(150)는 사용자 B(2)의 얼굴과 워터마킹 영상에서 추출한 식별자 정보(사용자 A(1)의 얼굴)가 일치하지 않는 것을 확인할 수 있다.
식별자 검출장치(150)는 현재 콘텐츠에 접근하거나, 접근을 요청하는 사용자 정보를 사용자 B(2)의 단말로부터 획득할 수 있다. 이 경우 식별자 검출장치(150)는 사용자 B(2)의 사용자 정보로 특정되는 얼굴 영상과 워터마킹 영상에서 추출한 식별자 정보(사용자 A(1)의 얼굴)가 일치하지 않는 것을 확인할 수 있다. 한편 별도의 얼굴 영상 DB가 등록된 사용자와 사용자 얼굴 영상을 매칭한 테이블을 보유할 수 있다. 식별자 검출장치(150)는 얼굴 영상 DB에 접근하여 현재 사용자 정보에 따른 얼굴 영상을 확인할 수 있다. 얼굴 영상 DB에 등록되지 않은 사용자 경우, 식별자 검출장치(150)는 콘텐츠 접근이 허용되지 않은 사용자라고 판단할 수 있다.
식별자 검출장치(150)는 추출한 식별자 정보와 현재 서비스를 이용하는 사용자의 정보가 일치하지 않는 경우, 콘텐츠 제공을 중단할 수 있다. 식별자 검출장치(150)가 사용자 단말(151, 152)이라면 자체적으로 서비스를 중단할 수 있다. 식별자 검출장치(150)가 서버(153)라면 서비스 중단 요청을 사용자 단말에 전달할 수 있다. 나아가 식별자 검출장치(150)는 본래 콘텐츠를 허용했던 사용자 A(1)에 대하여 과징금과 같은 페널티(penalty)를 부여할 수도 있다.
도 4는 생성모델 기반한 워터마크 영상 생성 과정에 대한 예이다. 도 4는 인코더(200)에서의 영상 처리 과정을 도시한다.
도 4(A)는 기본적인 생성모델을 도시한 예이다. 인코더(200)는 소스 영상 X와 식별자 영상 D를 획득한다. 식별자 영상 D는 전술한 다양한 방법을 통해 인코더(200)가 생성할 수 있다. 또는 인코더(200)가 다른 장치가 생성한 식별자 영상 D를 입력받을 수도 있다. 인코더(200)는 소스 영상 X와 식별자 영상 D를 사전에 마련한 제1 생성모델(210)에 입력한다. 제1 생성모델(210)은 입력된 두 개의 영상을 기준으로 워터마킹 영상 X'를 생성한다.
제1 생성모델(210)은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나와 같은 영상 생성 모델일 수 있다. 제1 생성모델(210)은 식별자 영상 D를 삽입하되 소스 영상 X와 최대한 유사한 영상이 생성되도록 사전에 학습된 모델이다.
도 4(B)는 다른 생성모델을 도시한 예이다. 인코더(200)는 소스 영상 X와 식별자 영상 D를 획득한다. 식별자 영상 D는 전술한 다양한 방법을 통해 인코더(200)가 생성할 수 있다. 또는 인코더(200)가 다른 장치가 생성한 식별자 영상 D를 입력받을 수도 있다. 인코더(200)는 소스 영상 X와 식별자 영상 D를 사전에 마련한 제1 생성모델(210)에 입력한다. 제1 생성모델(210)은 입력된 두 개의 영상을 기준으로 워터마킹 영상 X'를 생성한다.
도 4(B)의 인코더(200)는 평가모델(220)을 더 포함한다. 평가모델(220)은 소스 영상 X와 워터마킹 영상 X'를 입력받고, 소스 영상 X와 워터마킹 영상 X'의 유사 정도 내지 동일성을 비교하는 모델이다. 평가모델(220)은 다양한 기계학습모델로 구성될 수도 있다. 예컨대, 평가모델(220)은 개별 모델에서 산출한 투표 결과 또는 가중합을 기준으로 소스 영상 X와 워터마킹 영상 X'가 동일 내지 유사한 가능성(확률값)을 제1 생성모델(210)에 전달한다. 기계학습모델은 GAN(Generative Adversarial Network), VAE(Variational AutoEncoder) 및 앙상블(ensemble) 모델 중 적어도 어느 하나를 포함한다.
제1 생성모델(210)은 수신한 확률값에 기반하여 자신의 신경망 파라미터를 업데이트할 수도 있다.
도 5는 워터 마크를 생성하는 인코더의 구성(300)에 대한 예이다. 인코더(300)는 저장 장치(310), 메모리(320), 연산장치(330), 인터페이스 장치(340) 및 통신 장치(350)를 포함한다.
저장 장치(310)는 제1 생성모델(210) 또는 제1 생성모델(210)과 함께 평가모델(220)을 저장한다. 저장 장치(310)는 입력되는 소스 영상과 식별자 영상을 제1 생성모델에 입력하여 워터마킹 영상을 생성하는 동작을 제어하는 소스 코드 내지 프로그램을 저장할 수 있다. 저장 장치(310)는 사용자 정보 등으로부터 식별자 영상을 생성하는 프로그램을 저장할 수도 있다. 또 저장 장치(310)는 소스 영상과 워터마킹 영상을 비교하여 동일성에 대한 확률값을 산출하는 과정을 제어하는 소스 코드 내지 프로그램을 저장할 수 있다. 저장 장치(310)는 생성한 워터마킹 영상을 저장할 수도 있다.
메모리(320)는 인코더(300)가 수신한 소스 영상, 식별자 영상, 워터마킹 영상, 워터마킹 영상 생성 과정에서 발생하는 임시 데이터를 저장할 수 있다.
인터페이스 장치(340)는 개발자 또는 사용자로부터 일정한 명령을 입력받는 장치이다. 인터페이스 장치(340)는 외부 입력장치로부터 일정한 명령을 입력받을 수 있다. 인터페이스 장치(340)는 물리적으로 연결된 외부 저장 장치로부터 생성모델, 생성모델에 대한 파라미터, 제어를 위한 프로그램을 입력받을 수 있다.
통신 장치(350)는 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신 장치(350)는 외부 객체로부터 소스 영상을 수신한다. 통신 장치(350)는 외부 객체로부터 식별자 영상을 수신할 수 있다. 통신 장치(350)는 외부 객체로부터 사용자 정보를 수신할 수 있다. 통신 장치(350)는 생성한 워터마킹 영상을 서비스 서버나 사용자 단말에 전송할 수 있다.
통신 장치(350) 내지 인터페이스 장치(340)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신 장치(350) 내지 인터페이스 장치(340)를 입력장치라고 명명할 수도 있다.
연산 장치(330)는 저장장치(310)에 저장된 프로그램 및 정보를 이용하여 워터마킹 영상을 생성한다. 연산 장치(330)는 사용자 정보를 기준으로 저장장치(310)에 저장된 프로그램을 이용하여 식별자 영상을 생성할 수도 있다. 연산 장치(330)는 소스 영상 및 식별자 영상을 제1 생성모델에 입력하여 워터마킹 영상을 생성한다. 연산 장치(330)는 평가모델에서 전송된 확률값을 기준으로 제1 생성모델을 업데이트할 수 있다. 연산 장치(330)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.
도 6은 생성모델 기반한 식별 정보 추출 과정에 대한 예이다. 도 6은 디코더(400)에서의 영상 처리 과정을 도시한다.
도 6(A)는 기본적인 생성모델을 도시한 예이다. 디코더(400)는 소스 영상 X와 워터마킹 영상 X'를 획득한다. 워터마킹 영상 X'는 인코더가 생성한 영상이다. 디코더(400)는 소스 영상 X와 워터마킹 영상 X'를 사전에 마련한 제2 생성모델(410)에 입력한다. 제2 생성모델(410)은 입력된 두 개의 영상을 기준으로 식별자 영상 D'를 생성한다.
제2 생성모델(410)은 GAN 또는 VAE 중 어느 하나와 같은 영상 생성 모델일 수 있다. 제2 생성모델(410)은 워터마킹 영상 X'이 소스 영상 X에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델이다. 이를 통해 제2 생성모델(410)은 워터마킹 영상 X'에 삽입된 식별자 영상에 매우 가까운 D'를 생성한다.
도 6(B)는 다른 생성모델을 도시한 예이다. 디코더(400)는 소스 영상 X와 워터마킹 영상 X'를 획득한다. 워터마킹 영상 X'는 인코더가 생성한 영상이다. 디코더(400)는 소스 영상 X와 워터마킹 영상 X'를 사전에 마련한 제2 생성모델(410)에 입력한다. 제2 생성모델(410)은 입력된 두 개의 영상을 기준으로 식별자 영상 D'를 생성한다.
제2 생성모델(410)은 GAN 또는 VAE 중 어느 하나와 같은 영상 생성 모델일 수 있다. 제2 생성모델(410)은 워터마킹 영상 X'이 소스 영상 X에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델이다. 이를 통해 제2 생성모델(410)은 워터마킹 영상 X'에 삽입된 식별자 영상에 매우 가까운 D'를 생성한다.
도 6(B)의 디코더(400)는 평가모델(420)을 더 포함한다. 평가모델(220)은 식별자 영상 D와 식별자 영상 D'를 입력받고, 식별자 영상 D와 식별자 영상 D'의 유사 정도 내지 동일성을 비교하는 모델이다. 평가모델(220)은 다양한 기계학습모델로 구성될 수도 있다. 예컨대, 평가모델(220)은 개별 모델에서 산출한 투표 결과 또는 가중합을 기준으로 식별자 영상 D와 식별자 영상 D'가 동일 내지 유사한 가능성(확률값)을 제2 생성모델(410)에 전달한다. 기계학습모델은 GAN(Generative Adversarial Network), VAE(Variational AutoEncoder) 및 앙상블(ensemble) 모델 중 적어도 어느 하나를 포함한다.
제2 생성모델(410)은 수신한 확률값에 기반하여 자신의 신경망 파라미터를 업데이트할 수도 있다.
도 7은 워터 마크를 검출하는 디코더의 구성(500)에 대한 예이다. 디코더(500)는 저장 장치(510), 메모리(520), 연산장치(530), 인터페이스 장치(540) 및 통신 장치(550)를 포함한다.
저장 장치(510)는 제2 생성모델(410) 또는 제2 생성모델(410)과 함께 평가모델(420)을 저장한다. 저장 장치(510)는 입력되는 소스 영상과 워터마킹 영상을 제2 생성모델에 입력하여 식별자 영상 D'를 생성하는 동작을 제어하는 소스 코드 내지 프로그램을 저장할 수 있다. 또 저장 장치(510)는 식별자 영상 D와 식별자 영상 D'을 비교하여 동일성에 대한 확률값을 산출하는 과정을 제어하는 소스 코드 내지 프로그램을 저장할 수 있다. 저장 장치(510)는 생성한 식별자 영상 D'을 저장할 수도 있다.
메모리(520)는 인코더(500)가 수신한 소스 영상, 식별자 영상, 워터마킹 영상, 워터마킹 영상 생성 과정에서 발생하는 임시 데이터를 저장할 수 있다.
인터페이스 장치(540)는 개발자 또는 사용자로부터 일정한 명령을 입력받는 장치이다. 인터페이스 장치(540)는 외부 입력장치로부터 일정한 명령을 입력받을 수 있다. 인터페이스 장치(540)는 물리적으로 연결된 외부 저장 장치로부터 생성모델, 생성모델에 대한 파라미터, 제어를 위한 프로그램을 입력받을 수 있다.
통신 장치(550)는 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신 장치(550)는 외부 객체로부터 소스 영상을 수신한다. 통신 장치(550)는 외부 객체로부터 식별자 영상 D를 수신할 수 있다. 통신 장치(550)는 생성한 식별자 영상 D'을 서비스 서버나 사용자 단말에 전송할 수 있다.
통신 장치(550) 내지 인터페이스 장치(540)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신 장치(550) 내지 인터페이스 장치(540)를 입력장치라고 명명할 수도 있다.
연산 장치(530)는 저장장치(510)에 저장된 프로그램 및 정보를 이용하여 식별자 영상 D'을 생성한다. 연산 장치(530)는 소스 영상 및 워터마킹 영상을 제2 생성모델에 입력하여 식별자 영상 D'을 생성한다. 연산 장치(530)는 평가모델에서 전송된 확률값을 기준으로 제2 생성모델을 업데이트할 수 있다. 연산 장치(530)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.
도 8은 생성모델에 대한 예이다. GAN이나 VAE에 대한 연구가 계속되고 있다. 이하 관련하여 개략적인 설명을 한다. 다만 인공지능분야의 통산의 지식을 가진 자가 활용할 수 있는 다양한 생성모델을 이용하여 전술한 워터마킹 영상 생성 및 식별자 영상 추출을 할 수 있다.
도 8(A)는 GAN(600)에 대한 예이다. GAN은 비지도학습모델에 해당한다. GAN(600)은 생성 모델 G(610) 및 판별 모델 D(620)을 포함한다. 생성 모델 G(610)은 입력 정보에 기반하여 데이터(영상)을 생성하는 생성자 G(Generator) 모델이다.
판별 모델 D(620)은 분류를 담당하는 판별자 D(Discriminator) 모델이다. GAN은 데이터를 생성하는 생성 모델 G(610)과 만들어진 데이터를 평가하는 판별 모델 D(620)이 서로 대립(Adversarial)적으로 학습해가며 성능을 점차 개선하는 개념에서 출발했다. 생성 모델과 판별모델은 각각 다양한 기계학습모델 중 어느 하나를 이용하여 생성될 수 있다. 예컨대, CNN(Convolutional neural network), 오토인코더 등과 같은 모델을 통해 개별 모델이 구현될 수 있다.
판별 모델 D(620)은 생성된 영상이 진짜인지 또는 가짜인지를 분류한다. 생성 모델 G(610)은 잠재 코드 z를 입력받아 영상을 생성하되 판별 모델 D(620)을 속이기 위한 영상을 생성하도록 학습된다. 생성 모델 G(610)은 G(z) 영상을 생성하고, 판별 모델 D(620)은 G(z) 영상에 대한 판별 결과 D(G(z))를 생성한다. 생성 모델 G(610)은 (1-D(G(z))를 최소화하는 목적함수를 갖는다. 결국 D(G(z))가 1인 경우 최소가되는데, 생성 모델 G(610)은 판별 모델 D(620)이 G(z) 영상을 본래 원본 영상이라고 착각할 수 있도록 학습된다.
인코더의 경우 생성 모델 G(610)은 소스 영상을 기준으로 소스 영상에 워터마크(식별자 영상)가 삽입된 워터마킹 영상을 생성하되, 최대한 소스 영상에 유사하도록 워터마킹 영상을 생성한다. 생성 모델 G(610)은 소스 영상과 식별자 영상이 결합된(중첩된) 영상을 기준으로 소스 영상과 최대한 가까운 영상이 되도록 생성할 수 있다. 이를 통해 GAN(600)이 소스 영상에 매우 유사한 워터마킹 영상을 생성하게 된다.
디코더의 경우 생성 모델 G(610)은 소스 영상과 워터마킹 영상을 기준으로 식별자 영상 D'를 생성하되, 소스 영상과 워터마킹 영상이 최대한 가까워질 수 있는 손실값을 갖도록 설정된다. 이를 통해 GAN(600)이 식별자 영상 D에 대응되는 식별자 영상 D'를 생성하게 된다.
기본적인 GAN에서 다양한 파생 모델이 연구되었다. 워터마킹 영상 생성은 다양한 GAN 모델 중 어느 하나를 이용할 수 있다. 예컨대, 인코더 또는 디코더는 기본적인 GAN, DCGAN(Deep Convolutional GAN), cGAN(Conditional GAN), CycleGAN 등과 같은 모델 중 어느 하나를 이용할 수 있다.
도 8(B)는 VAE(700)에 대한 예이다. VAE(700)는 데이터의 확률분포를 학습하기 위한 인코더 네트워크(710) 및 디코더 네트워크(720)을 포함한다. 종래 오토인코더와 유사한 구조를 갖지만, 인코더 네트워크(710)가 관측 데이터 x를 입력받아 잠재 변수 z를 생성한다. 인코더 네트워크(710)는 x를 입력받아 z의 평균과 분산을 만들어내는 두 개의 신경망 네트워크를 포함한다. 인코더 네트워크(710)가 평균 벡터와 분산 벡터를 생성하면, 두 개의 정보를 기준으로 다변수 정규분포 샘플링을 통해 잠재 벡터(변수) z를 생성할 수 있다. 디코더 네트워크(720)는 잠재 벡터(변수) z을 입력으로 영상을 생성한다.
인코더 네트워크(710)는 입력 데이터를 추상화하여 잠재적인 특징을 추출하고, 디코더 네트워크(720)는 잠재적인 특징을 바탕으로 데이터를 복원하는 기능을 한다.
인코더의 경우 인코더 네트워크(710)는 소스 영상과 식별자 영상을 입력하여 잠재 변수를 결정하되, 이때 잠재 변수는 워터마킹 영상이 소스 영상과 최대한 가까울 수 있도록 결정된다. 인코더 네트워크(710)는 소스 영상과 식별자 영상이 결합된(중첩된) 영상에 대하여 워터마킹 영상이 소스 영상과 최대한 가까울 수 잠재 변수를 결정할 수 있다. 디코더 네트워크(720)는 잠재 변수에 기초하여 워터마킹 영상을 생성한다.
디코더의 경우 인코더 네트워크(710)는 소스 영상과 워터마킹 영상을 기준으로 소스 영상과 워터마팅 영상이 최대한 가까워질 수 있는 손실값을 갖는 잠재 변수를 결정한다. 인코더 네트워크(710)는 소스 영상과 식별자 영상이 결합된(중첩된) 영상에 대하여 소스 영상과 워터마팅 영상이 최대한 가까워질 수 있는 손실값을 갖는 잠재 변수를 결정할 수 있다. 디코더 네트워크(720)는 잠재 변수에 기초하여 식별자 영상 D'를 생성한다.
도 9는 생성모델 기반한 사용자 식별 정보 확인 방법(800)에 대한 순서도의 예이다. 도 9는 전술한 워터마킹 장치와 식별자 검출장치를 이용하여 식별 정보를 확인하는 과정에 대한 예이다. 먼저 인코더와 디코더에서 각각 사용하는 제1 생성모델과 제2 생성모델에 대한 사전 학습이 진행될 수 있다(810). 다만 비지도 학습 모델을 사용하는 경우 사전 학습으로 모델을 마련하는 것은 아니고, 입력 데이터에 대한 출력 데이터를 생성하는 과정을 반복하면서 보다 정교한 모델이 구축된다.
인코더는 소스 영상 및 식별자 영상을 제1 생성모델에 입력하여 워터마킹을 수행한다(820). 인코더는 전술한 바와 같이 식별자 영상을 사용자 정보로부터 생성하거나, 식별자 DB 또는 사용자 단말로부터 직접 전달받는다. 식별자 영상은 사용자 ID 또는 사용자 얼굴이 포함된 영상일 수 있다.
워터마킹 장치는 인코더가 생성한 워터마킹 영상을 사용자 A에게 제공한다(830). 한편 워터마킹 장치 또는 서비스 서버는 생성한 워터마킹 영상을 보유하고 있다.
이후 사용자 A 또는 다른 사용자 B가 워터마팅 영상을 생성한 콘텐츠에 대한 요청을 하는 경우, 디코더가 소스 영상 및 워터마킹 영상을 제2 생성모델에 입력하여 식별자 정보를 추출한다(840).
이후 식별자 검출 장치 또는 서비스 서버는 추출한 식별자 정보(식별자 영상)과 현재 서비스를 요청한 사용자 정보를 비교한다(850). 이때 사용자 정보는 사용자 ID, 사용자 단말 식별자, 사용자 얼굴 영상 등과 같이 식별자 정보와 비교 가능한 정보를 포함한다. 또는 식별자 검출 장치 또는 서비스 서버가 수신한 사용자 정보에 매핑되는 별도의 식별자 정보를 결정하고, 결정한 식별자 정보와 디코더가 추출한 식별자 영상을 비교할 수 있다. 식별자 검출 장치 또는 서비스 서버는 현재 콘텐츠에 접근이 가능한 사용자(사용자 A)를 결정할 수 있다. 또 식별자 검출 장치 또는 서비스 서버는 현재 콘텐츠를 요청한 사용자가 콘텐츠에 대한 접근이 허용된 사용자인지 판단할 수 있다. 식별자 검출 장치 또는 서비스 서버는 접근이 허용되지 않은 사용자인 경우 콘텐츠 제공을 중단하거나, 콘텐츠를 할 수 있다. 식별자 검출 장치 또는 서비스 서버는 접근이 허용되지 않은 사용자인 경우 본래 접근이 허용된 사용자에 대한 과징금 부가 등을 할 수도 있다.
또한, 상술한 바와 같은 생성모델 기반한 워터마크 영상 생성 상법, 생성 모델 기반한 식별자 정보 검출 방법 및 생성모델 기반한 사용자 식별 정보 확인 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
1, 2 : 사용자
100 : 사용자 식별 시스템
110 : 워터마킹 장치
120 : 영상 DB
130 : 식별자 DB
150 : 식별자 검출장치
151 : 모바일 단말
152 : PC
153 : 서버
200 : 인코더
210 : 제1 생성모델
220 : 평가모델
300 : 인코더
310 : 저장장치
320 : 메모리
330 : 연산장치
340 : 인터페이스 장치
350 : 통신장치
400 : 디코더
410 : 제2 생성모델
420 : 평가모델
500 : 디코더
510 : 저장장치
520 : 메모리
530 : 연산장치
540 : 인터페이스 장치
550 : 통신장치
600 : GAN
610 : 생성모델
620 : 판별모델
700 : VAE
710 : 인코더 네트워크
720 : 디코더 네트워크

Claims (17)

  1. 인코더가 소스 영상 및 식별자 영상을 입력받는 단계;
    상기 인코더가 상기 소스 영상 및 상기 식별자 영상을 제1 생성모델(generative model)에 입력하여 상기 소스 영상에 대한 워터마킹 영상을 생성하는 단계;
    디코더가 상기 워터마킹 영상 및 상기 소스 영상을 입력받는 단계; 및
    상기 디코더가 상기 워터마킹 영상 및 상기 소스 영상을 제2 생성모델에 입력하여 상기 워터마킹된 영상으로부터 상기 식별자 영상에 대응되는 식별자 정보를 추출하는 단계를 포함하되,
    상기 소스 영상은 동영상 및 이미지 중 적어도 하나의 형태이고,
    상기 식별자 영상은 상기 소스 영상에 접근한 사용자의 식별자에 대응하는 영상 객체 또는 상기 사용자의 얼굴을 포함하는 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  2. 제1항에 있어서,
    상기 제1 생성모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나이고, 상기 제2 생성모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나인 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  3. 제1항에 있어서,
    상기 제1 생성모델은 상기 식별자 영상을 상기 소스 영상에 워터마킹하되, 상기 소스 영상에 최대 유사한 영상이 생성되도록 사전에 학습된 모델인 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  4. 제1항에 있어서,
    상기 제2 생성모델은 상기 워터마킹 영상이 상기 소스 영상에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델인 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  5. 제1항에 있어서,
    상기 인코더가 상기 소스 영상 및 상기 워터마킹 영상을 비교하는 기계학습모델로부터 확률값을 수신하는 단계를 더 포함하되, 상기 기계학습모델은 GAN(Generative Adversarial Network), VAE(Variational AutoEncoder) 및 앙상블(ensemble) 모델 중 적어도 어느 하나인 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  6. 제1항에 있어서,
    상기 디코더가 상기 식별자 영상 및 상기 식별자 정보를 비교하는 기계학습모델로부터 확률값을 수신하는 단계를 더 포함하되, 상기 기계학습모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나인 생성모델 기반 워터마킹을 이용한 식별자 확인 방법.
  7. 인코더가 소스 영상을 입력받는 단계;
    상기 인코더가 사용자에 대한 식별자 영상을 획득하는 단계; 및
    상기 인코더가 상기 식별자 영상 및 상기 소스 영상을 생성모델(generative model)에 입력하여 상기 소스 영상에 대한 워터마킹 영상을 생성하는 단계를 포함하되,
    상기 생성모델은 상기 식별자 영상을 상기 소스 영상에 워터마킹하되, 상기 소스 영상에 최대 유사한 영상이 생성되도록 사전에 학습된 모델이고,
    상기 소스 영상은 동영상 및 이미지 중 적어도 하나의 형태이고,
    상기 식별자 영상은 상기 소스 영상에 접근한 사용자의 식별자에 대응하는 영상 객체 또는 상기 사용자의 얼굴을 포함하는 생성모델에 기반한 워터마킹 방법.
  8. 제7항에 있어서,
    상기 식별자 영상은 상기 사용자의 정보를 기준으로 생성된 영상, 사전에 보유한 식별자 영상들 중 상기 사용자의 정보에 맵핑되는 영상 및 상기 사용자로부터 전달되는 영상을 포함하는 영상 그룹 중 적어도 어느 하나인 생성모델에 기반한 워터마킹 방법.
  9. 제7항에 있어서,
    상기 생성모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나인 생성모델에 기반한 워터마킹 방법.
  10. 제7항에 있어서,
    상기 인코더는 상기 소스 영상 및 상기 워터마킹 영상을 비교하는 기계학습모델로부터 확률값을 수신하여 상기 생성모델을 업데이트하는 단계를 더 포함하되, 상기 기계학습모델은 GAN(Generative Adversarial Network), VAE(Variational AutoEncoder) 및 앙상블(ensemble) 모델 중 어느 하나인 생성모델에 기반한 워터마킹 방법.
  11. 디코더가 소스 영상을 입력받는 단계;
    상기 디코더가 상기 소스 영상에 식별자 영상이 삽입된 워터마킹 영상을 입력받는 단계; 및
    상기 디코더가 상기 소스 영상 및 상기 워터마킹 영상을 생성모델에 입력하여 상기 식별자 영상에 대응되는 식별자 정보를 추출하는 단계를 포함하되,
    상기 생성모델은 상기 워터마킹 영상이 상기 소스 영상에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델인 생성모델이고,
    상기 소스 영상은 동영상 및 이미지 중 적어도 하나의 형태이고,
    상기 식별자 영상은 상기 소스 영상에 접근한 사용자의 식별자에 대응하는 영상 객체 또는 상기 사용자의 얼굴을 포함하는 기반한 워터마크 추출 방법.
  12. 제11항에 있어서,
    상기 생성모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나인 생성모델에 기반한 워터마크 추출 방법.
  13. 제11항에 있어서,
    상기 디코더가 상기 식별자 영상 및 상기 식별자 정보를 비교하는 기계학습모델로부터 확률값을 수신하여 상기 생성모델을 업데이트하는 단계를 더 포함하되, 상기 기계학습모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 적어도 어느 하나인 생성모델에 기반한 워터마크 추출 방법.
  14. 제11항에 있어서,
    상기 디코더 또는 별도의 연산 장치가 상기 식별자 정보와 상기 식별자 영상을 비교하여 기준값 이상 유사한지 여부를 판단하는 단계를 더 포함하는 생성모델에 기반한 워터마크 추출 방법.
  15. 컴퓨터에서 제11항 내지 제14항 중 어느 하나의 항에 기재된 생성모델에 기반한 워터마크 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  16. 소스 영상 및 워터마킹 영상을 입력받는 입력장치;
    원본 영상과 상기 원본 영상에 식별자가 비인지 삽입된 영상에서 상기 식별자를 추출하는 생성 모델이 저장되는 저장장치; 및
    상기 소스 영상 및 상기 워터마킹 영상을 상기 생성모델에 입력하여 상기 워터마킹 영상에서 식별자 영상을 추출하는 연산장치를 포함하되, 상기 워터마킹 영상은 상기 소스 영상에 상기 식별자 영상이 워터마킹된 영상이고, 상기 생성모델은 상기 워터마킹 영상이 상기 소스 영상에 최대한 가깝도록 손실값(loss)이 사전에 학습된 모델이고,
    상기 소스 영상은 동영상 및 이미지 중 적어도 하나의 형태이고,
    상기 식별자 영상은 상기 소스 영상에 접근한 사용자의 식별자에 대응하는 영상 객체 또는 상기 사용자의 얼굴을 포함하는 생성모델에 기반한 워터마크를 추출하는 디코더 장치.
  17. 제16항에 있어서,
    상기 생성모델은 GAN(Generative Adversarial Network) 또는 VAE(Variational AutoEncoder) 중 어느 하나인 생성모델에 기반한 워터마크를 추출하는 디코더 장치.
KR1020180121722A 2018-10-12 2018-10-12 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법 KR102099019B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180121722A KR102099019B1 (ko) 2018-10-12 2018-10-12 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180121722A KR102099019B1 (ko) 2018-10-12 2018-10-12 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법

Publications (1)

Publication Number Publication Date
KR102099019B1 true KR102099019B1 (ko) 2020-04-08

Family

ID=70275527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180121722A KR102099019B1 (ko) 2018-10-12 2018-10-12 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법

Country Status (1)

Country Link
KR (1) KR102099019B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021242584A1 (en) 2020-05-29 2021-12-02 Paypal, Inc. Watermark as honeypot for adversarial defense
CN113762520A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
KR20220026647A (ko) 2020-08-25 2022-03-07 한림대학교 산학협력단 기계학습모델 공유 또는 판매를 위한 시스템 및 시스템의 동작 방법
CN116822581A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 变分自编码器的训练、图像处理以及所有权检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095872B2 (en) 2001-08-28 2006-08-22 University Of North Carolina At Charlotte Automated digital watermarking methods using neural networks
US20180160197A1 (en) * 2009-06-01 2018-06-07 Sony Interactive Entertainment America Llc Real-Time Cloud-Based Video Watermarking Systems and Methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095872B2 (en) 2001-08-28 2006-08-22 University Of North Carolina At Charlotte Automated digital watermarking methods using neural networks
US20180160197A1 (en) * 2009-06-01 2018-06-07 Sony Interactive Entertainment America Llc Real-Time Cloud-Based Video Watermarking Systems and Methods

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jinlin Wu 등, ‘De-mark GAN: Removing Dense Watermark With Generative Adversarial Network’, 2018 Int. Conf. on Biometrics, 2018.02.23. 1부.* *
Xintao Duan, ‘Coverless Steganography for Digital Images Based on a Generative Model’, Tech Science Press, Vol. 55, No. 3, 2018.07.06. 1부.* *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021242584A1 (en) 2020-05-29 2021-12-02 Paypal, Inc. Watermark as honeypot for adversarial defense
EP4158531A4 (en) * 2020-05-29 2023-09-13 PayPal, Inc. WATERMARK AS A HONEY POT FOR ADVERSARIAL DEFIENCE
CN113762520A (zh) * 2020-06-04 2021-12-07 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
KR20220026647A (ko) 2020-08-25 2022-03-07 한림대학교 산학협력단 기계학습모델 공유 또는 판매를 위한 시스템 및 시스템의 동작 방법
KR102453673B1 (ko) * 2020-08-25 2022-10-13 한림대학교 산학협력단 기계학습모델 공유 또는 판매를 위한 시스템 및 시스템의 동작 방법
CN116822581A (zh) * 2023-08-29 2023-09-29 腾讯科技(深圳)有限公司 变分自编码器的训练、图像处理以及所有权检测方法
CN116822581B (zh) * 2023-08-29 2023-12-12 腾讯科技(深圳)有限公司 变分自编码器的训练、图像处理以及所有权检测方法

Similar Documents

Publication Publication Date Title
US11922532B2 (en) System for mitigating the problem of deepfake media content using watermarking
US20210117529A1 (en) Authenticating an identity of a person
CN106599772B (zh) 活体验证方法和装置及身份认证方法和装置
CN111709408B (zh) 图像真伪检测方法和装置
CN111886842B (zh) 使用基于阈值的匹配进行远程用户身份验证
KR102099019B1 (ko) 생성모델 기반 워터마킹을 이용한 식별자 확인 방법 및 생성모델에 기반한 워터마킹 방법
US10403076B2 (en) Method for securing and verifying a document
CN112487365B (zh) 信息隐写方法及信息检测方法及装置
TW201539233A (zh) 驗證生物特徵圖像的可用性的方法和裝置
CN113642639B (zh) 活体检测方法、装置、设备和存储介质
Li et al. Data hiding in iris image for privacy protection
JP4130440B2 (ja) 信号認証のための堅牢な署名
US20240096051A1 (en) Determining whether a questionable video of a prominent individual is real or fake
Mani et al. A survey on digital image forensics: Metadata and image forgeries
Barni et al. Information Forensics and Security: A quarter-century-long journey
JP2005531183A5 (ko)
CN112041847A (zh) 提供具有隐私标签的图像
KR102215535B1 (ko) 신경망을 이용한 안면 부분 이미지 기반 신분 인증 방법 및 이를 수행하는 시스템
KR101101056B1 (ko) 콘텐츠 모니터링 방법 및 시스템
US10867022B2 (en) Method and apparatus for providing authentication using voice and facial data
Partala et al. Improving robustness of biometric identity determination with digital watermarking
Bunzel et al. Cover-aware steganalysis
CN112613345A (zh) 用户认证方法和系统
WO2022110121A1 (en) Method for biometric analysis about a user of an electronic device
Nallathambi et al. FPGA implementation of hiding information using cryptographic key

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant