저번 글에 이어 이번에는 GAN에 한정하지 않고 어떻게 diffusion 모델들도 진짜 이미지인지 가짜 이미지인지 판별할 수 있는지에 대한 논문을 리뷰할 것이다. GAN과 diffusion은 아키텍처 구조적으로 다르기 때문에 이를 어떻게 다루는지를 보자.
[2211.00680] On the detection of synthetic images generated by diffusion models (arxiv.org)
Abstract & Introduction
With this work, we seek to understand how difficult it is to distinguish synthetic images generated by diffusion models from pristine ones and whether current state-of-the-art detectors are suitable for the task.
이 논문에서는 diffusion model에 대한 detection이 현재 어디까지 왔는지에 대해 연구를 하고 있다. 이 논문에서는 특히 다음을 중점적으로 다루고 있다:
- finding forensic traces left by diffusion model
- 현재의 detector의 성능 측정 및 resize와 compression이 있는 환경에서의 성능
Synthetic image의 특징은 인간의 눈으로 보기에는 완벽하더라도 생성 시에 남아있는 trace 때문에 판별할 수 있다. 각각의 architecture에 따라 다른 trace들을 가지고 있고, 이를 통해 소스를 추적할 수 있다. GAN이 가진 특이한 fingerprint 때문에 GAN architecture은 detect 하기 쉬운 편에 속하고 있다. 하지만, 현재의 SOTA도 새로운 모델에 generalize 하는 것에는 어려움을 보여주고 있다. 특히, 이미지에 손실이 있으면 상당한 성능 하락을 보여주고 있다.
그래서, 이 논문은 diffusion 모델들도 GAN처럼 숨겨진 fingerprint가 있는지와 현재의 SOTA detector이 이런 유형의 이미지를 판별하는 데에 어느 정도의 성능을 보여주는지를 탐구한다.
Background
이전의 연구들은 GAN이 생성이미지 분야의 majority를 차지하고 있었기 때문에 GAN detection에 관한 것이 많았다. 이런 생성이미지의 detection의 중요한 부분은 augmentation(blurring & compression)이다. 이를 통해 generalization과 robustness를 올릴 수 있다. 또한 training set의 다양성도 성능을 올리는 데에 도움을 준다. 이것들은 조금 더 자세히 이전의 논문 리뷰에 썼기 때문에 이를 참고하면 좋을 것이다.
결국엔 중요한 trace들을 보존하기 위해서는 아래의 3가지가 중요하다.
- local patch에서 학습시키기
- 전체 이미지를 통해 학습시키는 방안을 생각해 보기 (fusion strategy)
- 첫 번째 layer에서 downsampling을 피하기
pretrained 된 모델을 쓰는 것은 중요하고, 극한의 augmentation은 어느 정도의 성능 향상을 가져다준다.
Artifact Analysis
이미지에서 fingerprint를 카메라에서 PRNU(Photo response non-uniformity)를 extract 하는 것 같이 extract 한다. 이에 대한 자세한 설명은 논문을 확인하면 된다. 이 noise를 extract 한 뒤에 이를 1000개의 이미지의 평균을 내고, 이를 푸리에 변환을 해주면 spectal analysis를 할 수 있다.
위의 사진을 보면 GAN은 특징이 강한 trace가 남는다. 특이하게도, 최신의 DM(Diffusion Model)들에도 trace가 남는 것을 볼 수 있다. ADM이나 DALL·E 2 같은 경우에는 이런 특징이 약하게 남는다.
Detection Performance
성능을 평가하기 위해서 진짜 이미지 데이터는 COCO, ImageNet, UCID를 사용했고, 생성이미지는 generalization을 평가하기 위해서 ProGAN와 Latent Diffusion 이 두 모델에서 50만 개의 이미지를 생성하여 사용하였다. 이 논문에서는 4가지의 detector을 평가한다.
- Spec: frequency analysis
- PatchForensics: local patch analysis
- Wang2020: ResNet50 with blurring and compression augmentation
- Grag2021: same backbone as Wang2020 but avoiding down-sampling in the first layer and intense augmentation
압축하지 않은 PNG를 생성이미지 데이터로 학습을 하였을 때에는 좋은 성능을 보여주었는데, 이는 실제 이미지는 JPEG로 압축이 되었는데 이 trace가 남기 때문에 더 detect 하기 쉬운 것으로 보인다.
다른 시나리오로 생성과 진짜 이미지를 압축하고 resize 하였을 때에는 detector에 따라 성능이 떨어지는 정도가 다르긴 했으나, Grag2021은 상당이 좋은 성능을 내는 모습을 보여주었다.
성능이 좋은 Grag2021을 Latent Diffusion에 학습시키고, 이를 ProGAN 데이터셋으로 학습시킨 모델과 합치고 조금의 calibration을 더하면 성능이 올라가는 것을 볼 수 있다.
Conclusion
이 논문에서는 diffusion model을 통해 만들어진 synthetic image 판별을 다루고 있다. Generalization은 아직도 해결해야 할 숙제이고 GAN으로 학습한 detector들은 DM으로 만들어진 image들을 판별하는 성능이 떨어진다. DM으로 만들어진 이미지를 training에 넣으면 그 모델에 대한 성능은 올라가지만 다른 것들은 그렇게까지 올라가지는 않는다. 미래의 연구에서는 이를 해결해야 하는 것으로 보인다.
Code
위의 논문의 코드는 아래 깃허브에 공개되어 있다.
'논문 리뷰 > Computer Vision' 카테고리의 다른 글
[논문 리뷰] Are GAN generated images easy to detect? A critical analysis of the state-of-the-art (0) | 2023.06.29 |
---|