본문 바로가기
  • AI 개발자가 될래요
Deep Learning

[Image Inpainting - MAT] metrics 문제에 대하여

by 꿀개 2023. 1. 3.

현재 Image Inpainting을 목적으로 하는 MAT 모델을 연구하고 있다.

https://github.com/fenglinglwb/mat

 

GitHub - fenglinglwb/MAT: MAT: Mask-Aware Transformer for Large Hole Image Inpainting

MAT: Mask-Aware Transformer for Large Hole Image Inpainting - GitHub - fenglinglwb/MAT: MAT: Mask-Aware Transformer for Large Hole Image Inpainting

github.com

 

Image Inpainting 이란

Image Inpainting이란 이미지 복원 기술을 의미한다.

아래의 그림은 MAT이 발표한 입출력 사진인데, 원하는 곳에 Mask를 씌우고 그 곳을 복원시키면

주변 환경과 어우러져 자연스럽게 픽셀이 채워진다.

Image Inpainting, MAT example

 

이 모델은 CelebA에 대한 pretrained 모델을 제공하여 test 및 활용 용도로만 사용하고 있었는데

아무래도 CelebA는 서양인 데이터가 대부분이라

동양인의 피부톤을 잘 복원하지 못하는 문제가 있었다.

 

그래서 동양인 데이터로 학습을 시켜봤는데..

 

IndexError

동양인 데이터 총 30327장을 입력으로 넣었는데 out of index size 에러가 났다.

 

그래서 코드를 파보니 Metrics 부분이 문제였다.

 

Default로 설정된 Metrics는 fid50k_full인데

코드를 보면 50000장의 데이터가 필요한것을 알 수 있다. (num_gen=50000)

 

fid50k_full

5만장의 데이터로 FID를 계산하는 메소드인데 30327장을 넣었으니 인덱스 에러가 난 것이었다.

 

그래서 Metrics를 fid2993_full 로 지정하여 학습하였더니 잘 된다.!

 

하지만 베스트는 역시 학습 데이터 양을 늘려야 하는거 같다.