https://arxiv.org/pdf/2311.01458
https://github.com/talreiss/FACTOR?tab=readme-ov-file
GitHub - talreiss/FACTOR: Detecting Deepfakes Without Seeing Any
Detecting Deepfakes Without Seeing Any. Contribute to talreiss/FACTOR development by creating an account on GitHub.
github.com
Abstract
기존 딥페이크 탐지는 이전에 본 딥페이크와 유사한 경우에만 탐지가 가능하다. 딥페이크 공격에는 허위 사실(신원, 발화 내용, 동작, 외모)에 대한 주장이 포함되며 현재 생성 기술은 이러한 허위 사실을 완벽하게 합성할 수 없다. 따라서 Fact Checking 기법을 사용하여 미디어가 주장하는 사실과 관찰된 정보가 일치하는지 검증한다. FACTOR 기법은 off-the-shelf로 학습없이 구현하고 딥페이크 데이터를 직접 보지 않고도 zero-day 공격 탐지 가능하다.
Introduction

본 논문은 zero-day 딥페이크 공격을 탐지하기 위해 사실 검증 개념을 적용한다. 주요 딥페이크 공격 시나리오에서는 조작된 미디어와 함께 허위 사실이 동반된다. 본 연구에서는 위 그림에 제시된 주요 시나리오를 다룬다.
(a) 얼굴 변조 공격
- 영상 속 인물의 신원을 특정 인물로 조작
(b) 오디오-비주얼 공격
- 영상 속 인물이 특정 발화를 하는 것처럼 보이도록 조작
- 특정 오디오에 맞춰 가짜 영상을 생성
(c) 텍스트-이미지 공격
- 생성 모델이 주어진 텍스트 프롬프트에 맞춰 이미지를 생성
FACTOR는 허위 사실이 미디어의 내용과 일치하는지 검증하는 방식으로 동작한다. truth score, 유사도 함수를 계산하여 사전 학습된 off-the-shelf 기능을 활용하여 별도의 딥페이크 데이터 학습 없이도 탐지가 가능하다.
Fact Checking for Deepfake Detection
본 연구에서는 사실 검증을 통해서 허위 사실이 가짜 미디어에 잘못 삽입된 부분을 찾아낸다. 이후 미디어가 진짜인지 가짜인지 판별한다.
FACTOR는 사실 검증을 구현하는 실용적인 방법으로, 딥페이크에서 허위 사실과 그 불완전한 합성의 불일치를 활용한다.
FACTOR : A Practical Recipe for Fact Checking

사실을 “x는 y와 동일한 내용을 설명한다”는 형태로 정의한다. 이 정의는 얼굴 신원, 사건, 텍스트 캡션 등 다양한 경우를 포함한다.
- “이미지 x는 신원 f를 가진다”는 “이미지 x는 이미지 y와 동일한 신원을 설명한다: 모든 이미지 y는 실제 신원 f를 가진다”로 해석할 수 있다.
- “비디오 x는 오디오 y와 동일한 사건을 묘사한다.”
- “이미지 x의 내용은 텍스트 캡션 y에 의해 설명된다.”
인코더를 사용하여 두 개의 미디어의 유사도를 측정한다. 유사도는 코사인 유사도를 사용하여 계산하며 이를 진실 점수로 부른다. 진실 점수가 낮은 주장은 거짓으로 분류되고 인코더는 훈련된 인코더를 사용한다.
1️⃣ 기본 개념
- 딥페이크는 반드시 “거짓 정보(False Facts)“를 포함해야 함
- 예시: 오바마를 딥페이크로 합성하면, 공격자는 암묵적으로 “이 영상 속 인물이 오바마다”라고 주장하는 것과 같음
- 하지만 현재의 딥페이크 생성 모델은 이런 “거짓 정보”를 완벽히 생성하지 못함
- 따라서, “주장된 정보(Claimed Fact)“와 “실제 생성된 이미지(Generated Media)“를 비교하여 거짓을 판별할 수 있음
2️⃣ FACTOR의 핵심 아이디어
- 텍스트와 이미지 간의 일치도(Truth Score)를 측정하여 거짓을 판별
Face Swapping Detection
- 입력: 얼굴 이미지(x)와 그에 대한 주장된 신원(f)이 주어짐
- 참고 이미지 집합(Rf): 주장된 신원의 진짜 얼굴 이미지가 들어있는 참고 집합을 생성
- 얼굴 인식 모델(ϕid): 이 모델은 얼굴 특성을 추출하는 데 사용
- 유사도 계산: x(입력 이미지)와 참고 집합(Rf) 내의 각 이미지 사이의 코사인 유사도(cosine similarity)를 계산
- truth score : 참고 이미지 집합과 가까운 정도를 계산
Experiment
Dataset
1. Celeb-DF (Li et al., 2020): 59쌍의 다양한 신원을 가진 590개의 실제 영상과 5,639개의 가짜 영상으로 구성
2. DFD (Research et al.): 363개의 실제 영상과 3,068개의 합성된 가짜 영상이 포함
3. DFDC (Dolhansky et al., 2019): 1,133개의 실제 영상과 4,080개의 변조된 비디오. 가장 큰 공개 얼굴 교체 비디오 데이터셋으로, 다양한 보지 못한 변조 기술을 포함하고 있어 기존의 탐지 방법들이 도전적인 환경을 제공
Result


Supervised Baselines (Xception, EfficientNetB4 등)은 Zero-Day 공격에 대해서 성능이 매우 떨어진다. 즉, 이전에 보지 못한 새로운 딥페이크 공격에 대해 잘 탐지하지 못했지만, FACTOR는 100% 정확도에 가까운 결과를 보인다.
Text-To-Image Deepfake Detection
TTI deepfake는 텍스트 프롬프트를 입력으로 받아 합성된 이미지를 생성한다.
- 공격자가 텍스트 프롬프트로 이미지를 합성
- 공격자는 생성된 이미지를 해당 텍스트 프롬프트를 설명하는 캡션으로 사용
- Truth Checking을 사용해 이미지와 프롬프트가 진짜로 일치하는지 판단
Truth Score paradox
CLIP 인코더를 사용하여 캡션과 이미지를 각각 인코딩하고, 두 벡터 간 코사인 유서도를 truth score로 사용한다. 이후, COCO 데이터셋의 모든 실제 및 가짜 이미지에 대해 진실 점수를 계산한다.
먼저 각 실제 이미지의 CLIP truth score를 해당 이미지와 동일한 캡션을 가진 가짜 이미지들의 진실 점수와 비교한다. 이때 CLIP을 사용한 탐지 방법이 정확도가 더 낮았다. 이후 BLIP2 인코더를 사용하여 인코딩한 결과 예상대로 실제 이미지의 truth score가 가짜 이미지보다 높게 나왔다.
Resoultion of the paradox
SD 모델이 CLIP 텍스트 특징을 학습에 사용했지만 BLIP2 특징을 사용하지 않았다는 점을 상기해야 한다. 이에 따라 SD모델은 CLIP과 잘 일치하도록 만들어진다. 하지만 ttl 모델의 한계로 인해, 생성된 이미지는 입력 프롬프트와 완전히 일치하지 않는다. 따라서, TTI 모델의 학습에 사용되지 않은 객관적인 멀티모달 인코더(예: BLIP2)를 활용하면 생성된 가짜 이미지가 실제로는 캡션과 일치하지 않음을 발견할 수 있다.
BLIP2 모델은 Stable Diffusion과는 별개로 훈련된 모델이다. 즉, BLIP2는 Stable Diffusion에 의해 훈련되지 않았고, 따라서 Stable Diffusion 모델의 이미지 생성 방식에 의존하지 않는다. 그래서 BLIP2는 Stable Diffusion에서 생성된 가짜 이미지가 실제로 텍스트 프롬프트와 잘 일치하지 않음을 더 잘 감지할 수 있다.
Method
각 이미지-프롬프트 쌍에 대해 CLIP과 BLIP2의 진실 점수를 계산한다. 최종 점수는 BLIP2 점수에서 CLIP 점수를 뺀 값으로 정의된다.
s(x,y)=sim(ϕBLIP2X(x),ϕBLIP2Y(y))−sim(ϕCLIPX(x),ϕCLIPY(y))

(a) CLIP 점수: 가짜 이미지의 점수가 실제 이미지보다 더 높게 나오는 역설적인 현상을 보임
(b) BLIP2 점수: 실제와 가짜 데이터를 약하게나마 구별할 수 있음
(c) BLIP2-CLIP 점수: 가짜와 실제 데이터를 가장 효과적으로 분리하는 결과를 보임
1️⃣ CLIP과 BLIP2가 “텍스트-이미지 일치도”를 평가함
• CLIP은 텍스트 프롬프트(“이 이미지는 오바마다”)와 이미지가 얼마나 잘 맞는지 확인
• BLIP2도 같은 방식으로 평가하되, CLIP보다 더 객관적이라고 가정
2️⃣ CLIP은 딥페이크를 더 “진짜처럼” 평가하는 경향이 있음
• CLIP은 원래 Stable Diffusion 같은 생성 모델을 훈련할 때 사용된 모델이라, 오히려 가짜 이미지(딥페이크)가 텍스트와 더 잘 맞는다고 평가하는 경우가 많음
3️⃣ BLIP2는 CLIP보다 더 객관적이므로, 두 모델의 차이를 이용해 딥페이크 탐지
• BLIP2는 훈련 과정에서 Stable Diffusion 같은 생성 모델과 관련이 없어서, 가짜 이미지가 프롬프트와 다소 다르다는 걸 더 잘 감지할 수 있음
• 따라서, (BLIP2 점수 - CLIP 점수)를 계산하면, 딥페이크를 더 잘 판별할 수 있음
의문점 & 생각
논문의 주장은 "실제 오바마를 몰라도 가짜는 구별할 수 있다"
1. FACTOR는 "이 이미지가 오바마인지?"를 묻는게 아님
- "이 이미지가 텍스트 프롬프트와 일치하는가?"를 평가함
- 즉 텍스트에서 말하는 내용과 이미지가 실제로 맞는지? 를 확인
- 이 사람이 실제 오바마인지 아닌지를 직접 판단하는 것이 아님
2. 딥페이크는 보통 텍스트 프롬프트와 약간의 불일치를 가짐 > TTL 방식
- Stable Diffusion 같은 생성 모델은 완벽하게 텍스트 프롬프트와 동일한 이미지를 만들지 못함
- 예를 들어, “오바마가 웃고 있는 사진”을 생성하려고 해도, 미묘한 디테일(예: 눈, 치아 구조)이 어색할 가능성이 높음
- 이 불일치를 BLIP2가 감지할 수 있음
'논문 리뷰 > ComputerVision' 카테고리의 다른 글
[논문리뷰] Vision Mamba: Efficient Visual Representation Learning with BidirectionalState Space Model (2) | 2024.09.02 |
---|