메뉴 바로가기 본문 바로가기

생성 이미지에 대한 평가 방법: 누가 더 잘 그린 걸까?

  • 고범연
  • 2023.09.04

[들어가며]

 

최근 ChatGPT의 등장으로 생성형 AI에 대한 관심이 높아지고 있습니다. 생성형 AI는 사용자의 특정 요청에 따라 결과를 만들어 주는 AI 기술로, 주로 LLM(Large Language Model)을 활용한 여러 챗봇 서비스들이 등장했습니다. 

대표적으로는 OpenAI의 ChatGPT, Google의 Bard, Naver의 HyperCLOVA X 등이 있습니다.

 


그림 1. Karlo 2.0 

 

 

LLM 외에도 생성형 AI는 다양한 분야에서 연구되고 있습니다. 2021년에는 OpenAI에서 텍스트에서 이미지를 생성(Text-To-Image)하는 DALL-E를 공개하여 큰 충격을 주었습니다. 

이후 DALL-E 2가 출시되었으며, 뒷따라 Google은 Imagen, Kakao Brain에서는 Karlo 2.0을 선보였습니다. 이처럼 ChatGPT가 일으킨 생성형 AI 열풍이 이미지 생성으로도 확산되어 왔으며, 이미지 생성 AI 모델도 빠르게 발전하고 있습니다. 

 

 

그림 2. 생성 이미지 예시(좌측 상단: Mid Jorney, 우측 상단: DALL-E 2 / 좌측 하단: Deep Dream Generator / 우측 하단: Stable Diffusion)

 

 

위 그림은 ‘On a peaceful afternoon, a dog and a cat are basking in the warm sunlight’이라는 동일한 문장을 입력했을 때 생성된 이미지들로, 이미지 생성 AI 모델에 따라 각각 다른 결과를 보여줍니다. Deep Dream Generator(좌측 하단)는 고품질의 이미지를 생성했으나 강아지가 생성되지 않았고, Mid Jorney(좌측 상단)가 생성한 이미지의 경우 현실적이진 않지만 세밀한 그림체를 보여줍니다. 반면, DALL-E 2(우측 상단)와 Stable Diffusion(우측 하단)은 보다 현실적인 이미지를 보여줍니다.

 

이와 같이 동일한 입력에 대해 AI 모델들은 각각 다른 이미지를 생성해 냈습니다. 그럼 어떤 모델이 제일 잘 그린 걸까요? 모두 우수한 품질의 이미지를 보여주고 있지만, 개인적으로 Stable Diffusion 모델이 입력 테스트에 적합하게 가장 사실적인 이미지를 생성했다고 생각합니다. 이처럼 ‘누가 그림을 더 잘 그릴까?’, ‘어떤 이미지 생성 AI 모델이 우수할까?’라는 의문은 보통 주관적인 기준을 통해 평가하게 됩니다. 그래서 오늘은 이미지 생성 모델의 성능 평가 방식 혹은 평가 지표에 대해 알아 보고자 합니다.

 

 

 

[Generative Model Evaluation Metric]

 

PixelRNN/CNN, VAE(Variational Autoencoder), GAN(Generative Adversarial Network) 등 다양한 생성형 AI 모델들이 존재합니다. 이를 주로 정성적인(Qualitative) 방법과 정량적인(Quantitative) 방법으로 평가하고 있습니다.

 

 

<​정성적인 평가 방법>

  • Mean Opinion Score(MOS)
    • Rating and Preference Judgment
  • Rapid Scene Categorization
  • Evaluating Mode Drop and Mode Collapse
  • Nearest Neighbors


정성적인 방법은 주로 User test를 통해 평가되는 경우가 많습니다. 따라서 평가에 참여하는 사람의 주관적인 판단이 수반됩니다. MOS(Mean Opinion Score)는 사용자가 직접 평가하여 부여한 점수의 평균 값으로, Rating and Preference Judgement를 의미합니다. Rapid Scene Categorization 또한 주관적인 평가를 통해 정해지지만, 이미지를 보고 평가하는 시간을 짧게 제한하여 실제(Real)인지 가짜(Fake)인지 구별합니다. 두 평가 방법 모두 사람의 개인적인 생각에 의해 모델의 성과(Performance)가 정해지기 때문에 일정하지 않다는 큰 단점이 있습니다. Evaluating Mode Drop and Mode Collapse와 Nearest Neighbors의 경우 Dataset의 분포 즉, 실제 이미지의 예시와 비교해서 유사하게 생성된 이미지를 찾는 방식입니다. 유사한 이미지의 기준은 Euclidean distance와 같은 메트릭을 통해 생성된 이미지와 실제 이미지 사이의 거리를 사용합니다.

 

위와 같이 사람이 직접 육안으로 생성 모델을 평가하는 것이 가장 일반적이고 직관적인 방법입니다. 평가하는 사람에 따라 영향이 크고 주관적인 의견이 반영하기 때문에 한계가 존재하기 때문에 정량적 평가 방법이 함께 사용되고 있습니다.

 

 

<정량적인 평가 방법>

  • Inception Score (IS)
  • Fechet Inception distance (FID)
  • Peak Signal-to-Nosie Ratio (PSNR)
  • Structural Similarity Index Map (SSIM)
  • Precision, Recall and F1 Score


Inception Score (IS)

Inception Score(IS)는 ‘Improved Techniques for Training GANs’ 논문에서 처음 제안된 방법으로, 주로 선행 기술과의 비교를 보여주기 위해 많이 사용됩니다. 성능 평가를 위해 두 가지 기준을 사용합니다.

 

  • 기준 1. 생성된 이미지의 품질(Fidelity)
  • 기준 2. 생성된 이미지의 다양성(Diversity)

 

이미지의 다양성이란 Randomness와 같은 의미로 엔트로피를 통해 측정됩니다. 즉, 무작위성이 크고 예측이 불가능하고 다양할수록 IS 값은 높아집니다. 그러나, GAN 모델의 학습 방향 자체는 p(y | x)를 예측하기 쉽고 엔트로피가 낮아지도록 학습이 됩니다. 이러한 학습 방향을 통해 결국 이미지의 품질을 높이게 되며, 더욱 실제와 비슷한 이미지가 생성됩니다.

 

  

 

 IS 계산을 위해 ImageNet 데이터로 pre-trained된 Inception model를 사용하며, 수식은 위와 같습니다.

 

 

 

Conditional label distribution p(y | x): 생성된 이미지의 품질을 측정하는 부분

  - 생성된 이미지 x를 Inception 모델을 통해 나온 각 label에 대한 확률 분포

  - 특정 label의 확률이 높게 나온 분포가 가장 이상적인 분포

 

 

 

 

Marginal distribution p(y): 생성된 이미지의 다양성을 측정하는 부분

  - 여러 개의 생성된 이미지들을 사용하여 label의 분포를 합친 새로운 분포

  - 균등한 분포가 가장 이상적인 분포

 

 


 

 

 

 

KL(Kullback-Leibler) divergence: p(y | x)와 p(y)가 얼마나 유사 혹은 상이한지에 대한 척도

  - 특정 label이 높게 나온 Conditional label distribution과 균등한 Marginal distribution일 때 가장 이상적인 Inception Score

 

 


 

 

 

IS의 한계

IS는 범용적으로 사용되는 성능 지표지만 여러 한계가 존재합니다. 기본적으로 Inception Network를 사용하기 때문에 weight에 민감합니다. 이는 학습 과정에서의 무작위성 때문에 네트워크 내의 weight이 변경될 수 밖에 없기 때문입니다.

 

 

 

또한, 데이터셋에 없는 이미지를 생성할 경우 label로 분류가 되지 않기 때문에 IS가 낮게 나오게 됩니다. 반면, Generator가 이미지의 class 당 하나의 이미지만 생성하고 각 이미지를 여러 번 반복하는 경우 IS 값이 높게 나오지만 class 내의 다양성을 측정할 수 없게 됩니다.

 

추가로, 분류기 네트워크가 이미지 품질 개념과 관련된 특징을 감지할 수 없다면 이미지의 content보다 style을 더 중요시하기 때문에 좋은 결과물이 아니더라도 높은 IS가 나오게 됩니다.

 

 


 

 

Frechet Inception Distance (FID)

Frechet Inception Distance(FID)도 마찬가지로 pre-trained된 Inception Network를 사용하였으며, IS의 성능을 개선시키기 위해 고안된 평가 지표입니다. 생성된 이미지만을 사용하여 성능을 평가하는 IS와는 다르게, FID는 대상 domain의 실제 이미지 분포와 생성된 이미지 분포를 비교하여 평가합니다.

 

 

m: 실제 데이터의 feature 평균, C: 실제 데이터의 feature 공분산 행렬, w: 생성한 데이터

 

 

위 FID의 수식을 통해 실제 이미지와 생성한 이미지를 각각 Inception v3에 통과시킨 후 추출한 특징(feature)의 평균과 공분산을 계산하여 두 분포 사이의 거리를 계산한다는 걸 알 수 있습니다. 즉, 점수가 낮을수록 두 분포 사이의 거리가 가깝다는 것이므로 GAN의 성능이 좋다는 것을 의미합니다. 실제 이미지와 생성한 이미지의 분포가 정확하게 일치한 경우(FID=0) 가장 이상적인 모델이라고 판단할 수 있지만 평균적으로 10 내외이면 우수한 성능이라고 판단하고 있습니다.  

 

 

FID의 한계



FID 평가 방법에도 한계는 있습니다. Noise가 들어간 이미지나 Occlusion이 있는 이미지에 대해서는 민감하지만, 소용돌이가 들어간 이미지 데이터에 대해서는 FID가 낮게 올라가는 걸 확인할 수 있습니다. 사람은 Noise나 Occlusion보다는 소용돌이가 들어간 이미지가 더 이상하다고 생각하지만, FID를 사용할 경우 그렇지 않다는 것을 알 수 있습니다. 



Peak Signal-to-Nosie Ratio (PSNR)



PSNR은 영상 화질 손실 양을 평가하기 위해 사용되는 지표로 수식을 위와 같습니다. MSE(Mean Square Error)가 분모에 있으므로 MSE 값이 작아질수록 PSNR이 커집니다. MSE 값이 작다는 것은 원본 이미지와 생성 이미지 간의 각 pixel 값 차이가 작다는 것으로 두 이미지가 유사하다는 것을 의미합니다. 즉, PSNR이 클수록 손실 양이 적고 생성된 이미지의 품질이 좋은 것입니다.

 

 

 


 

 

사람마다 다를 수 있지만 결과 1 보다 결과 2 이미지가 더 선명하고 고해상도라고 느껴집니다. 이는 PSNR이라는 평가 지표가 인간이 시각적으로 느끼는 품질 차이를 다 보여주지는 않는 것을 알 수 있습니다. 




Structural Similarity Index Map (SSIM)
l: 휘도, c: 대비, s: 구조


SSIM은 PSNR과 다르게 수치적인 차이가 아닌 인간의 시각적 화질 차이를 평가하기 위해 고안된 방법입니다. SSIM은 단순한 픽셀간 비교가 아닌 이미지의 주요한 요소인 Luminance(휘도), Contrast(대비), Structural(구조)를 비교하여 품질을 평가하는 것이 특징입니다.

 

SSIM의 값이 클수록 우수한 품질을 의미하지만, SSIM도 사람이 느끼는 품질을 수치로 표현했다고 말하기는 힘듭니다. 예를 들어, 블러 처리가 되거나 이미지 특정 영역이 평균 RGB 값으로 채워진다면 SSIM 값이 높을 수 있기 때문입니다.

 

 

 

 

[끝으로]

이미지 생성형 AI 모델이 연구됨에 따라 선행 연구와의 성능 비교를 위한 다양한 평가 지표를 제시되어 왔습니다. 성능 평가를 위한 방법으로는 크게 정량적인 방법과 정성적인 방법이 존재하고 각 평가 지표마다 장단점이 존재하기 때문에 생성 모델의 domain 또는 task에 맞게 평가 지표를 선택하여 비교할 필요가 있습니다.

 

아래 표는 DALL-E 2 논문에 나와있는 성능 비교 결과입니다. 이처럼 최근에는 주로 선행 연구와의 성능 비교를 위해 FID를 많이 사용하고 있습니다.

 


 

 

 

 

 

[Reference]

그림 1 https://www.hellot.net/mobile/article.html?no=79754

그림 2 https://it.chosun.com/site/data/html_dir/2023/02/24/2023022400423.html

https://pasongsong.tistory.com/293

https://arxiv.org/pdf/1801.01973.pdf

https://arxiv.org/pdf/1706.08500.pdf

https://www.technologyreview.kr/2023_10t_ai/

https://www.kca.kr/Media_Issue_Trend/vol55/KCA55_22_domestic.jsp

https://zdnet.co.kr/view/?no=20230710090353

https://openaccess.thecvf.com/content/CVPR2023/papers/Assran_Self-Supervised_Learning_From_Images_With_a_Joint-Embedding_Predictive_Architecture_CVPR_2023_paper.pdf

https://arxiv.org/abs/1802.03446

https://arxiv.org/pdf/1606.03498.pdf

https://arxiv.org/abs/1801.01973

https://arxiv.org/abs/1903.10829

https://arxiv.org/pdf/1706.08500.pdf

https://m.blog.naver.com/chrhdhkd/222013835684

https://nippleshot.github.io/2020/12/25/GANMetric.html

https://machinelearningmastery.com/how-to-evaluate-generative-adversarial-networks/

https://engineer-mole.tistory.com/269

https://didiforcoding.tistory.com/21

https://jonathan-hui.medium.com/gan-how-to-measure-gan-performance-64b988c47732

https://xoft.tistory.com/3