[데뷰23] 스노우는 어떻게 '나인듯 나보다 예쁜' 필터 개발할까
"경쟁사에서는 필터로 얼굴을 애니메이션 느낌으로 바꿔주고, Baby 필터 등도 만들 수 있는데 우리도 개발하자는 의지에서 연구가 시작됐어요." 스노우 김효진 개발자는 28일 서울 코엑스 그랜드볼룸에서 개최한 개발자 컨퍼런스 '네이버 데뷰(DEVIEW) 2023'에서 스노우에서 어떻게 데이터를 생성하는지, AI 필터를 어떻게 개발하는지 등의 방법을 소개했다. 김효진 개발자는 스노우 AI 필터가 만들어지는 과정들을 소개하면서, 먼저 사내 기획팀으로부터 트렌드를 공유받는다고 설명했다. 그 다음 데이터 집합 구성(Pair Dataset) 생성과 Model 학습이 필요하다. 그 후 피드백 과정도 거치고 데이터가 재차 수정되며 출시 과정을 밟게된다. 김효진 개발자는 "개발 과정에서 문제되는 부분도 있었다"며 "초창기에는 디자이너와 개발자가 수작업으로 필터를 만들기도 했는데, 여기에는 많은 비용과 시간적인 문제가 있었다"고 말했다. 김효진 개발자에 따르면 데이터 집합 구성 생성 과정에는 데이터 다양성을 위한 숙성제어 모델(Attribute control)이 중요하다. 인종, 연령, 표정, 성별을 적은 데이터에 'GAN(Generative Adversarial Network, 생성적 대립 신경망) Inversion' 기법을 적용해 다양성을 갖도록 학습 데이터 증강해야 좋은 결과를 가져올 수 있는 것이다. 다음 발제자로 나선 정태민 개발자는 필터에 필요한 모델링(Modeling) 구조를 소개했다. 모델 구조는 실제 사람과 유사한 스타일과 실제 사람과 상이한 스타일로 구분된다. 전체적으로 크게 두 가지 모델을 사용해 제너레이터(Generator)의 U-Net 구조를 자체적으로 개량하고, 실험적 결과를 통한 모델을 최적화한다. U-Net은 생체의학(Biomedical) 분야에서 이미지 분할(Image Segmentation)을 목적으로 제안된 엔드 투 엔드(End-to-End) 방식의 완전한 복잡형 신경망(Fully-Convolutional Network) 기반 모델을 뜻한다. 트레이닝 콘텐츠(Training Contents) 별로 서비스 방향성에 따라 2가지로 구분되기도 한다. 우선 LIVE 모델은 카메라 프레임을 실시간으로 입력 받아 추론 결과를 보여주는 모델이다. 정태민 개발자는 "후편집 모델은 후편집 콘텐츠에 최적화된 모델로서, 구체적으로 배경 및 전경을 포함하는 전체 프레임 영역에 대해 변환하는 것을 목적으로 학습된다"며 "전체 프레임 영역을 대상으로 변환하기 때문에 이미지 내 인물의 위치에 따라 얼굴 크기와 위치, 각도 등이 상이하다"고 설명했다.