CT 콜로키움
- [GSCT 콜로키움] 4.6 (화) | 주재걸 (KAIST AI대학원 교수)
- 관리자 |
- 2021-04-13 15:47:39|
- 1030
일시 : 2021. 4. 06. (화) 오후 4:00~5:30
장소 : 비대면강연(ZOOM)
주제 : 컴퓨터 비전 분야 영상 합성 모델 및 활용 사례
연사 : 주재걸 (KAIST AI대학원 교수)
영상 및 자연어 처리, 텍스트 및 데이터 마이닝 연구들을 진행하고 있고, HCI와 관련하여 인공지능 모델을 잘 해석할 수 있고, 사용자가 인공지능 기법을 사용하기 용이하도록 하는 인터페이스를 만들고 있습니다. 또한 환자들의 전자 의무기록 데이터로부터 의사들이 환자가 다음에 어떤 질병을 갖고 방문할 것이고 어떻게 처방할 것인지를 인공지능과의 협업으로 분석할 수 있는 시각화 툴도 만드는 등, 다양한 연구들을 하고 있습니다.
강연 요약
오늘 강연에서는 GAN (적대적 생성 신경망)에 기반하여 컴퓨터 비전 분야에서 이미지나 비디오 데이터를 자연스럽게 생성하는 모델들을 소개함과 동시에 연구 동향에 관해 말씀드리고자 합니다.
1. 적대적 생성 신경망 (GAN)을 기반으로 한 모델들
Recognition Tasks / Generation Tasks
크게 보면 인공지능이 활발하게 적용되는 분야가 자연어 처리와 컴퓨터 비전 분야인데, 세부적으로 인공지능 태스크를 나눈다면 크게 인식(Recognition)과 생성(Generation and Translation)으로 나눌 수 있습니다. 인식은 이미지나 비디오로부터 원하는 정보를 알아내는 태스크입니다. 이와 반대로, 우리가 가진 정보를 입력으로 넣었을 때, 그에 걸맞은 이미지나 비디오를 만들어내는 것은 생성 태스크라고 할 수 있습니다.
Translation Tasks: Special Case of Conditional Generation
생성 과정 중에 다양한 입력을 추가로 주었을 때 이를 잘 반영하여 결과물을 만드는 모델이 있는데, 이것이 Conditional model입니다. Conditional이란, 원래 조건부 확률에서 나온 단어지만, 실질적으로 사용자의 관점에서 사용자가 생성 과정 중에 다양한 요구조건을 제시했을 때 원하는 결과물을 내어줄 수 있는 형태의 모델을 말한다고 생각하시면 됩니다. 또한 이와 유사하게 Translation Task는 주어진 이미지를 잘 반영하여 원하는 이미지로 변환해주는 것을 말합니다.
Conditional Generation and Translation
기술적으로 생성 과정 중 사용자의 입력을 잘 반영해줄 수 있도록 해주는 GAN 모델의 확장 형태들이 있습니다. 앞서 말씀드린 Conditional GAN이 이러한 경우이고, ACGAN(Auxiliary Classifier GAN)이라는 모델은 학습과정에서 Discriminator가 Generator가 만든 데이터의 진위를 판별하는 것뿐만 아니라, 그것이 어떤 속성(class)인지를 동시에 분류하는 모델입니다.
pix2pix: Paired Image-to-Image Translation
이러한 방식으로 이미지를 변환하는 모델의 경우, 다양한 problem setting과 그에 해당하는 대표적인 모델이 있습니다. 첫번째로 pix2pix가 있는데, 이는 paired 된 Image-to-Image Translation이라는 태스크를 대표합니다. Paired 라는 게 상대적으로 쉬운 문제인데, 스케치가 주어졌을 때 자동으로 채색된 이미지를 생성해내는 문제로 예를 들어 말씀드리겠습니다. 먼저 스케치가 입력으로 주어지면 인코더, 디코더로 구성된 네트워크를 거쳐 RGB칼라의 채색된 이미지가 나오게 됩니다. 이때 입력으로 넣어준 스케치는 칼라 이미지로부터 외곽선을 추출한 것으로, 출력으로 나온 칼라 이미지에 대한 정답 이미지라고 할 수 있습니다. 이렇게 정답 이미지가 있을 때 이를 paired setting이라고 합니다. 이 모델은 앞서 말한 CGAN의 구조를 따르고 있습니다. Image translation의 가장 초기모델인 pix2pix는 입력으로 주어진 이미지에 대해 그 정답 이미지가 쌍으로 존재하는 모델로 학습이 아주 용이합니다.
StarGAN: Multi-Domain Image-to-Image Translation
가령 사람 얼굴 이미지가 주어졌을 때, 그 인물의 나이를 바꾸거나 성별을 바꾸는 경우 해당 인물이 동일한 포즈를 가지고 다른 조건으로 사진을 찍을 수 없게 됩니다. 이렇게 정답 이미지가 없는 경우를 un-paired setting이라고 부릅니다. StarGAN이 대표적인 사례인데, 이 모델처럼 한 모델이 다양한 translation을 하는 것을 Multi-Domain의 Image Translation이라고 합니다.
Multi-Modal Exemplar-Based Image-to-Image Translation
그 외에도 Exemplar-Based image-to-image translation을 수행하는 모델이 있습니다. 가령 호랑이 이미지가 있을 때 그것을 다른 고양이 이미지로 변환하는 태스크가 있을 수 있습니다. 이때 이러한 고양이와 같이 변환이 되었으면 좋겠다고 생각하는 이미지를 추가적인 입력으로 주어 이미지 변환을 수행할 수 있습니다. 이전에 언급한 모델에선 target label 혹은 target attribute 정보를 단순한 형태로 전달해줬다면, 이 경우에는 고양이로 변환하겠다는 정보 외에 어떠한 디테일을 원하는지에 대한 추가적인 정보를 예시라는 형태의 추가적인 입력으로 모델에게 전달합니다.
Style Transfer: Earlier Exemplar-Based Image Translation Task
딥러닝 초반에 나왔던 모델 중에 Style transfer라는 태스크를 다루는 모델들이 있었습니다. 이 모델은 예시 이미지를 주면, 예시 이미지의 스타일을 반영해서 변환된 이미지를 생성합니다.
StyleGAN
이미지 생성 과정에서 품질을 올리기 위한 여러 연구들도 존재하는데, 그 중에 대표적인 사례로 StyleGAN이 있습니다. 현재는 StyleGAN 버전2까지 나와있습니다. 앞서 생성 모델들 중 어떤 조건에 따라 변환하는 방법이 있었다면, StyleGAN은 트레이닝 데이터와 비슷하지만 다른 패턴을 가지는 다양한 이미지를 자유롭게 생성할 수 있는 모델입니다.
2. 생성 모델(Generative model)의 최근 연구 동향
Multimodal 데이터를 이용한 생성 모델 활용: DALL-E, CLIP, StyleCLIP
텍스트, 이미지, 음성 등과 같이 서로 다른 종류의 데이터들을 잘 결합한, multimodal data를 이용하는 생성 모델 기술들이 활발히 연구되고 있습니다.
3D modeling 이미지에 대한 생성 모델: NeRF, Putting NeRF on a diet
기존의 CNN 구조를 이용한 연구들은 2D 이미지를 입력으로 받아서 다른 2D 이미지를 만들어내는데, 여기서 3D 효과를 직접적으로 반영하는 것은 어려웠습니다. NeRF 등의 연구들에서는 단일 사진 혹은 여러 각도에서 찍은 적은 수의 사진들이 입력으로 주어지면, 3D 공간 상에서의 여러 회전 각도에서 보여지는 이미지들을 자연스럽게 만들어낼 수 있는 생성 모델들을 다루고 있습니다.
Transformer architecture를 이용한 생성 모델: ViT
Transformer 모델은 자연어 처리 분야에서 번역에 많이 활용되는 모델입니다. 지난 수년간 해당 분야에서는 기본적인 딥러닝 모델로 LSTM과 GRU가 활용되었는데, 불과 2~3년 전부터는 Transformer 라는 attention 기반의 모델로 교체되었습니다. 컴퓨터 비전 분야에서도 CNN 대신 해당 모델에서 제안된 핵심 아키텍처를 사용함으로써, 기존 컴퓨터 비전 알고리즘들의 성능을 뛰어넘는 양상을 보여주고 있습니다.
3. 참여 연구
Automatic Image Colorization
자동 이미지 채색(Automatic Image Colorization)은, 스케치 이미지를 컬러 이미지로 바꿨던 것처럼 이미지 간의 변환(image-to-image translation) task라고 볼 수 있습니다. 이러한 기법은 애니메이션이나 웹툰 등에서 실질적인 효용성을 보일 수 있는데, 스케치만 하면 해당 스케치에 대해 자동으로 채색해줌으로써 콘텐츠 제작에 들어가는 작업 시간을 줄일 수 있을 것으로 기대됩니다. 좀 더 범용적인 측면에서 보자면, 자가 지도 학습의 task로 활용될 수 있습니다. 이를 활용한 예시로 2018년 6월에 Google AI에서 발표한 “Self-Supervised Tracking via Video Colorization”이 있는데, 이는 자동 채색 task를 학습한 모델을 동영상에서의 물체 추적에 활용한 사례입니다. Full-color 동영상이 주어지면 인접한 두 프레임에서의 이미지들을 쌍으로 가져오고, 첫 번째 프레임의 full-color 이미지에 기반하여 두 번째 프레임의 흑백 이미지를 채색하도록 모델을 학습시킵니다. 이를 물체 추적에 활용하여, 주어진 비디오의 첫 프레임에서 추적하고자 하는 물체에 특정 색을 칠하고, 그 다음 프레임의 이미지는 첫 프레임의 이미지에 기반하여 색을 칠하게 합니다. 그러면 다음 프레임 이미지에서는 해당 물체에만 색이 칠해지고 나머지는 흑백으로 유지되는데, 이를 통해 물체들에 대해 특별한 labeling 작업을 하지 않아도 물체를 구분할 수 있게 됩니다.
Forms of User Inputs (or Conditions) in Generative Models
생성 모델을 통한 자동 이미지 채색을 수행하였을 때, 결과가 사용자의 의도대로 만들어지지 않을 수 있습니다. 이를 위해 사용자와 모델 간의 interaction을 통해 원하는 결과물을 얻을 수 있도록 하는 연구들이 진행되고 있습니다. 그 예시 중 “Petalica paint” 라는 웹사이트가 있는데, 스케치 영상이 주어지면 자동으로 채색된 이미지가 결과물로 나오고, 사용자가 간단한 interaction을 통해 원하는 부분을 편집할 수 있도록 합니다. 사용자의 간단한 scribble만으로도, 모델이 의미론적으로 해당 scribble이 적용된 물체의 경계선을 인식하고, 유연하게 부분적으로 색상을 변경해줍니다. 이렇게 생성 모델이 실제 콘텐츠 제작 과정이나 미술 영역 등에 활용되기 위해서는 사용자 interaction이 다양한 형태로 제공되어야 하고, 사용자의 의도를 잘 파악하고 반영해 줄 수 있는 딥러닝 모델들이 제공되어야 합니다.
Reference-based Sketch Colorization
앞선 사례와 유사하게 저희 랩에서 연구하는 기술은 참고 이미지를 기준으로 스케치 이미지에 색을 넣는 방식으로도 활용할 수 있습니다. 해당 연구는 네이버 웹툰의 “유미의 세포들” 작품과 협업하여 진행되었습니다. 이 기술은 참고 이미지에서 색의 위치적인 정보를 학습한 후 채색하고자 하는 이미지에서 같은 위치 정보를 가진 곳을 채색하는 방식으로 구현됩니다. 이와 같은 기술에는 Visual Correspondence가 가장 중요합니다. 웹툰 같은 경우 기존의 Ground-truth 값이 주어져 있었기에 작업을 하기 편합니다. 하지만 실제 이미지들의 경우 기존의 채색된 이미지가 없을 수가 있기에 정보가 더 부족한 상태에서의 대응 관계를 찾기 위한 추가 연구를 진행하게 되었습니다. 해당 연구의 결과로 저희는 하나의 이미지에서 채색이 필요한 스케치만 있는 이미지와 다른 색으로 채색된 이미지를 활용하는 모델을 Transfer 모델의 Attention 개념에 기반하여 개발했습니다. 다른 색으로 채색되는 이미지의 경우 이미지 위치도 조금 변형하여 학습을 더욱 다채롭게 하고자 하였습니다. 이렇게 만든 이미지들을 CNN에 넣어 최종적인 이미지를 얻게 됩니다. 정답 이미지가 이미 있는 상황이기에 다양한 Loss를 활용하여 성능을 더욱 향상시킬 수 있었습니다. 그리고 SCFT(Spatial Crafted Feature Transfer) 모듈을 활용하여 어떻게 이미지가 변형되는지를 자동으로 파악할 수 있어 학습 자체가 잘 이루어집니다. 그리고 모델이 잘 작동하는지 보기 위해 SCFT 모듈만 따로 떼어서 스케치 이미지와 참고 이미지 간의 영역별 대응 위치를 확인하였고 결과가 잘 나온다는 것을 확인할 수 있었습니다. 구체적으로는 생성 모델의 경우 모델의 정량적인 성능평가가 어려운 경우들이 많은데, 이때 활용하는 FID score 등의 점수로 성능을 측정하여 좋은 성능이 나왔다는 것을 알 수 있었습니다. 그리고 SCFT를 그림 이미지가 아니라 레이블이 없는 일반 이미지 자체에 대해서 Semantic Correspondence를 진행해보았더니 레이블이 있는 학습모델 수준까지는 아니어도 준수하게 결과값이 나온다는 것을 확인할 수 있었습니다.
Edge-Enhancing Interaction in Automatic Colorization
최근에 진행한 연구들에 대해 더 소개를 해드리면, automatic colorization을 다양한 생성 태스크에 적용하였을 때 실제 colorization에서 모델이 경계를 명확하게 파악하지 못해 색이 번지는 듯한 결과를 내는 등 여러 문제가 발생하는 것을 발견하였습니다. 이러한 생성 결과에서 개선이 필요한 부분들에 대해 사용자가 최소의 노력으로 생성 모델의 결과물을 개선할 수 있도록 하는 추가적인 생성 모델에 대한 연구를 했습니다. 실제로 이미지에 스크리블(scribble)을 적당한 두께로 주면 해당 부분을 추가적인 입력으로 받아 모델의 결과를 개선하는 형태의 연구를 수행했습니다. UI tool도 만들어보았는데 해당 툴을 이용해 흑백 이미지에 자동 채색을 통해 나타난 결과물에 사용자가 직접 scribble을 edge 형태로 적용하면 해당 부분에 색깔 번짐(color bleeding) 효과가 줄어드는 것을 볼 수 있습니다. 해당 모델은 기존의 colorization 모델이 있다고 할 때, 사용자의 interaction을 통해 이미지의 품질이 개선될 수 있도록 후처리적으로 적용될 수 있는 모델로 디자인했습니다. Edge Enhancing Network 부분이 color bleeding을 완화하기 위해 추가한 딥러닝 모듈입니다. 이미지 colorization 모델을 학습시킨 후 흑백 이미지를 주었을 때 colorization된 이미지에서 edge를 추출하는 알고리즘을 실행하게 됩니다. Edge를 추출한 후 ground truth에서 추출된 edge와 비교를 해보면 color bleeding에 의해 edge가 명확하게 추출되지 않은 부분을 발견할 수 있고, 어느 지점에 edge enhancing이 필요한지 알 수 있게 됩니다. 해당 부분을 입력으로 추출하면 사용자가 interaction을 통해 scribble을 적용할 만한 부분을 추출할 수 있고, 이것을 입력으로 받아 추가적인 레이어를 학습하면 원래의 아웃풋에 더해주어야 하는 추가적인 정보를 만들어줄 수 있습니다. 이렇게 네트워크를 학습한 후에는 업데이트 된 형태의 결과물을 얻을 수 있습니다. 이때 사용자 interaction의 형태로 사용자의 요구사항을 최대한 직관적이고 효율적인 방식으로 표현할 수 있도록 scribble 형태로 구현을 했다는 것이 하나의 의미 있는 점으로 생각됩니다.
VITON-HD: High-Resolution Virtual Try-On
앞선 자동 채색과는 다르지만 이미지 생성, 합성모델의 또 다른 태스크로 기존의 Virtual try-on의 approach에 대해 고해상도의 이미지를 더 잘 만들어줄 수 있도록 만든 사례가 있습니다. 해당 연구에서 reference Image로 인물 이미지와 해당 인물에 입히고자 하는 옷 이미지가 있을 때 옷의 디테일을 잘 살리면서 옷을 자연스럽게 잘 입는 것을 확인할 수 있습니다. Image translate에 기본적으로 사용되는 인코더, 디코더에서 벗어나 좀 더 복잡한 형태로 모델을 만들어야 했습니다. 이미지 변환을 할 때 레퍼런스 이미지의 포즈(e.g. 사선 응시)와 정면에서 찍힌 옷의 spatial 구조가 잘 맞기 않기 때문에 인물의 포즈를 잘 반영해야 했습니다. 모델의 과정은 다음과 같습니다. Pre-processing과정에서는 기존 이미지에서 입고 있는 옷을 없애야 합니다. Segmentation과 pose extraction을 통해 옷이 없는 이미지를 얻게 되며 이것이 다시 입력으로 들어갑니다. Segmentation generation 과정에서 실제로 옷을 입혔을 때 팔이 어디까지 있는지 등의 segmentation 정보를 얻습니다. Clothes deformation 과정에서는 주어진 옷을 레퍼런스 이미지에 입혔을 때 옷을 어떻게 warp 해야 하는지 등을 고려해 최대한 포즈에 맞도록 변형된 이미지를 얻습니다. Try-on synthesis 과정에서는 위에 과정들을 모두 합쳐 인코더와 디코더 그리고 ALIAS generator를 통과하여 최종 결과 이미지를 얻습니다.
Virtual Analytics for Debiasing Image Classification
해당 연구는 User Interface에 관한 연구입니다. 인공지능 모델을 실제 사회에 적용할 때 발생할 수 있는 의도치 않은 차별과 공정성 문제들이 있는데, 이러한 것들을 모델이 가지는 bias라고 합니다. 모델의 bias를 잘 제거하는 태스크가 컴퓨터비전 쪽에서 잘 연구가 되고 있습니다. 학습 데이터를 2d embedding view로 보면, 어떤 데이터들은 제대로 classification이 되고 있고 어떤 데이터는 misclassification이 되고 있습니다. Bias 제거를 위해 image translation를 통해 bias를 무마하도록 데이터 합성을 시켜주고, 합성된 데이터를 학습 데이터로 추가하여 모델을 재학습시켰습니다. 실제로 과일 분류 태스크를 해보았을 때, 초록색 사과는 사과라고 하지 않거나 숫자를 분류해야 하는데 숫자를 보지 않고, 특정 색을 근거로 숫자를 분류해버리는 등 잘못된 근거로 판단을 하는 것을 발견하였습니다. 이에 시각화를 통해 bias가 무엇인지를 확인하고, bias를 무마시키는 학습 데이터를 이용해 재학습을 시켰더니 기존의 모델의 성능을 개선시킬 수 있었습니다.
Future Research Directions in User-Driven Generative Models
생성 모델은 다양한 사례를 보여드린 것과 같이 콘텐츠 제작과 문화 예술 분야에서의 활용 가능성이 큽니다. 그러한 관점에서 사용자의 여러 요구 조건이 모델에 잘 반영될 수 있도록 하는 딥러닝 모델과 그것을 잘 서포트하는 직관적인 사용자의 interaction 형태, user interface 및 user experience가 중요하다고 생각됩니다. 관련하여 향후 중요한 연구 주제들로 생각되는 것들은 다음과 같습니다.
질의응답
Q1) 스케치 채색 연구에서 보통 기존의 윤곽선 추출 알고리즘을 쓰지만, 이러한 알고리즘은 사람이 직접 그린 스케치와 차이가 크게 날 수도 있을 것 같습니다. 사람이 직접 스케치한 것 같은 뉴럴 네트워크를 만들면 더 좋은 결과가 나올 수 있다고 생각하시나요?
A1) 스케치 자동 채색 연구에서 윤곽선을 추출하는 알고리즘이 존재합니다. 하지만, 사람이 그린 스케치와 알고리즘으로 스케치한 데이터는 매우 다를 수 있습니다. 그렇기 때문에 추가적인 스케치를 만드는 뉴럴 네트워크를 사용한다면 조금 더 사실적인 결과를 만들 수 있을 것입니다. 하지만 현재 연구 결과로는 아직 좋은 결과를 얻지는 못했습니다. 좋은 결과가 나오지 못한 이유는 여러 가지가 될 수 있는데, 사람이 만든 스케치도 정규화되지 않고 노이즈가 많기 때문에 데이터에서 나오는 문제가 많습니다.
Q2) 옷 입히는 연구에서 이미지 워핑을 하는 부분을 설명해 주셨는데, 워핑을 학습을 하나요? 그리고 워핑을 어떠한 방식으로 하는지 궁금합니다.
A2) 워핑도 네트워크에서 학습합니다. 워핑 연산은 사전에 정의한 워핑을 하는데, 현재 연구에서는 thin plate spline transform을 사용합니다.
Q3) 옷 입히는 연구에서 바꿔주어야 부분을 segmentation을 통해 찾아 지운다고 말씀하셨는데, 옷의 실루엣이 많이 다른 경우에는 어떻게 처리하나요?
A3) 해당 부분이 생성되는 이미지 품질에 영향을 많이 주었습니다. 긴팔 옷에서 반팔 옷으로 바꾸는 것이 기술적으로 어려웠던 부분인데 옷에 대한 영역 그리고 팔에 대한 영역을 추정함으로써 조금 더 잘 생성을 할 수 있었습니다. 손가락 부분은 생성하기 힘들기 때문에 손가락 부분은 남겨두고 팔만 지움으로써 네트워크가 학습할 수 있었습니다. 추가로, 만약에 원래 반팔을 입고 있는 이미지와 같이 이미 팔이 주어진 경우 해당 부분을 지우지 않고, 이미지로부터 더 가져오면 좋을 것 같다고 생각이 들 수 있는데 현재 연구에서는 네트워크를 self-supervision으로 배우기 때문에 이러한 부분이 artifact를 생성할 수도 있습니다.
Q4) 네트워크를 학습하기 위해서 데이터가 많이 필요한데요, 그러한 데이터를 어떻게 획득하였는지 궁금하고, 유미의 세포들의 스케치 데이터의 경우 직접 네이버 측을 통해 얻으셨는지, 혹은 edge detection 알고리즘을 이용해 직접 얻으셨는지에 대해 궁금합니다.
A4) 채색 연구는 네이버와의 산학 과제로 진행이 데이터를 확보할 수 있었고, 다른 방법으로는 이미지 데이터와 윤곽선 추출 알고리즘을 통해서 데이터를 확보했습니다. 옷 입히는 연구는, 온라인 쇼핑 사이트를 크롤링하여 만들었는데, 온라인 쇼핑몰의 경우 모델이 입고 있는 옷과 옷만 찍힌 사진들이 있기 때문에 좋은 방법이 되었습니다. 하지만 초상권 같은 문제가 있기에 데이터를 공개하기는 어렵습니다.
Q5) 문화기술대학원에서 하고 있는 연구 중 중요한 키워드가 creative technology인데요, 그런 측면에서 이 기술들이 어떠한 방향으로 가게 될지 creative technology로써의 미래적인 전망, 기대에 대한 교수님의 의견이 궁금합니다.
A5) 이전보다 이미지가 고해상도로 잘 생성이 되고 있어서 creative technology에 많은 기여를 하고 있는 것 같습니다. 실제 창작 활동에 잘 적용된 사례는 아직 찾아보기 어렵지만, 발전 가능성이 크다고 생각합니다. 컴퓨터 비전 기술들은 단순 반복 작업을 많이 해결해줄 수 있기에 앞으로의 발전에 도움이 많이 될 것입니다. 그리고 생성 모델을 사용함으로써 더 다양한 형태의 결과를 제안해주어 아티스트들에게 도움이 될 수 있을 것이라고 생각합니다. 실제 게임 산업에서도 생성 모델을 통해 아티스트들에게 영감이 될 결과를 많이 줄 수 있을 것입니다.
장소 : 비대면강연(ZOOM)
주제 : 컴퓨터 비전 분야 영상 합성 모델 및 활용 사례
연사 : 주재걸 (KAIST AI대학원 교수)
학력:
- Georgia Tech Computational Science and Engineering 박사 졸업 (2013)
- Georgia Tech Electrical and Computer Engineering 석사 졸업 (2009)
- 서울대학교 전기공학부 학사 졸업 (2001)
경력:
- KAIST AI대학원 부교수 (2020.03-Present)
- 고려대학교 인공지능학과 부교수 (2019.09-2020.02)
- 고려대학교 컴퓨터학과 조교수 (2015.03-2019.08)
- Georgia Tech Research Scientist (2011.12-2015.02)
수상실적:
- IEEE VIS’20 10-Year Test-of-Time Award (2020)
- ICDM’16 Best Student Paper Award (2016)
- 네이버 신진교수상 (2015)
강연자 소개영상 및 자연어 처리, 텍스트 및 데이터 마이닝 연구들을 진행하고 있고, HCI와 관련하여 인공지능 모델을 잘 해석할 수 있고, 사용자가 인공지능 기법을 사용하기 용이하도록 하는 인터페이스를 만들고 있습니다. 또한 환자들의 전자 의무기록 데이터로부터 의사들이 환자가 다음에 어떤 질병을 갖고 방문할 것이고 어떻게 처방할 것인지를 인공지능과의 협업으로 분석할 수 있는 시각화 툴도 만드는 등, 다양한 연구들을 하고 있습니다.
강연 요약
오늘 강연에서는 GAN (적대적 생성 신경망)에 기반하여 컴퓨터 비전 분야에서 이미지나 비디오 데이터를 자연스럽게 생성하는 모델들을 소개함과 동시에 연구 동향에 관해 말씀드리고자 합니다.
1. 적대적 생성 신경망 (GAN)을 기반으로 한 모델들
Recognition Tasks / Generation Tasks
크게 보면 인공지능이 활발하게 적용되는 분야가 자연어 처리와 컴퓨터 비전 분야인데, 세부적으로 인공지능 태스크를 나눈다면 크게 인식(Recognition)과 생성(Generation and Translation)으로 나눌 수 있습니다. 인식은 이미지나 비디오로부터 원하는 정보를 알아내는 태스크입니다. 이와 반대로, 우리가 가진 정보를 입력으로 넣었을 때, 그에 걸맞은 이미지나 비디오를 만들어내는 것은 생성 태스크라고 할 수 있습니다.
Translation Tasks: Special Case of Conditional Generation
생성 과정 중에 다양한 입력을 추가로 주었을 때 이를 잘 반영하여 결과물을 만드는 모델이 있는데, 이것이 Conditional model입니다. Conditional이란, 원래 조건부 확률에서 나온 단어지만, 실질적으로 사용자의 관점에서 사용자가 생성 과정 중에 다양한 요구조건을 제시했을 때 원하는 결과물을 내어줄 수 있는 형태의 모델을 말한다고 생각하시면 됩니다. 또한 이와 유사하게 Translation Task는 주어진 이미지를 잘 반영하여 원하는 이미지로 변환해주는 것을 말합니다.
Conditional Generation and Translation
기술적으로 생성 과정 중 사용자의 입력을 잘 반영해줄 수 있도록 해주는 GAN 모델의 확장 형태들이 있습니다. 앞서 말씀드린 Conditional GAN이 이러한 경우이고, ACGAN(Auxiliary Classifier GAN)이라는 모델은 학습과정에서 Discriminator가 Generator가 만든 데이터의 진위를 판별하는 것뿐만 아니라, 그것이 어떤 속성(class)인지를 동시에 분류하는 모델입니다.
pix2pix: Paired Image-to-Image Translation
이러한 방식으로 이미지를 변환하는 모델의 경우, 다양한 problem setting과 그에 해당하는 대표적인 모델이 있습니다. 첫번째로 pix2pix가 있는데, 이는 paired 된 Image-to-Image Translation이라는 태스크를 대표합니다. Paired 라는 게 상대적으로 쉬운 문제인데, 스케치가 주어졌을 때 자동으로 채색된 이미지를 생성해내는 문제로 예를 들어 말씀드리겠습니다. 먼저 스케치가 입력으로 주어지면 인코더, 디코더로 구성된 네트워크를 거쳐 RGB칼라의 채색된 이미지가 나오게 됩니다. 이때 입력으로 넣어준 스케치는 칼라 이미지로부터 외곽선을 추출한 것으로, 출력으로 나온 칼라 이미지에 대한 정답 이미지라고 할 수 있습니다. 이렇게 정답 이미지가 있을 때 이를 paired setting이라고 합니다. 이 모델은 앞서 말한 CGAN의 구조를 따르고 있습니다. Image translation의 가장 초기모델인 pix2pix는 입력으로 주어진 이미지에 대해 그 정답 이미지가 쌍으로 존재하는 모델로 학습이 아주 용이합니다.
StarGAN: Multi-Domain Image-to-Image Translation
가령 사람 얼굴 이미지가 주어졌을 때, 그 인물의 나이를 바꾸거나 성별을 바꾸는 경우 해당 인물이 동일한 포즈를 가지고 다른 조건으로 사진을 찍을 수 없게 됩니다. 이렇게 정답 이미지가 없는 경우를 un-paired setting이라고 부릅니다. StarGAN이 대표적인 사례인데, 이 모델처럼 한 모델이 다양한 translation을 하는 것을 Multi-Domain의 Image Translation이라고 합니다.
Multi-Modal Exemplar-Based Image-to-Image Translation
그 외에도 Exemplar-Based image-to-image translation을 수행하는 모델이 있습니다. 가령 호랑이 이미지가 있을 때 그것을 다른 고양이 이미지로 변환하는 태스크가 있을 수 있습니다. 이때 이러한 고양이와 같이 변환이 되었으면 좋겠다고 생각하는 이미지를 추가적인 입력으로 주어 이미지 변환을 수행할 수 있습니다. 이전에 언급한 모델에선 target label 혹은 target attribute 정보를 단순한 형태로 전달해줬다면, 이 경우에는 고양이로 변환하겠다는 정보 외에 어떠한 디테일을 원하는지에 대한 추가적인 정보를 예시라는 형태의 추가적인 입력으로 모델에게 전달합니다.
Style Transfer: Earlier Exemplar-Based Image Translation Task
딥러닝 초반에 나왔던 모델 중에 Style transfer라는 태스크를 다루는 모델들이 있었습니다. 이 모델은 예시 이미지를 주면, 예시 이미지의 스타일을 반영해서 변환된 이미지를 생성합니다.
StyleGAN
이미지 생성 과정에서 품질을 올리기 위한 여러 연구들도 존재하는데, 그 중에 대표적인 사례로 StyleGAN이 있습니다. 현재는 StyleGAN 버전2까지 나와있습니다. 앞서 생성 모델들 중 어떤 조건에 따라 변환하는 방법이 있었다면, StyleGAN은 트레이닝 데이터와 비슷하지만 다른 패턴을 가지는 다양한 이미지를 자유롭게 생성할 수 있는 모델입니다.
2. 생성 모델(Generative model)의 최근 연구 동향
Multimodal 데이터를 이용한 생성 모델 활용: DALL-E, CLIP, StyleCLIP
텍스트, 이미지, 음성 등과 같이 서로 다른 종류의 데이터들을 잘 결합한, multimodal data를 이용하는 생성 모델 기술들이 활발히 연구되고 있습니다.
3D modeling 이미지에 대한 생성 모델: NeRF, Putting NeRF on a diet
기존의 CNN 구조를 이용한 연구들은 2D 이미지를 입력으로 받아서 다른 2D 이미지를 만들어내는데, 여기서 3D 효과를 직접적으로 반영하는 것은 어려웠습니다. NeRF 등의 연구들에서는 단일 사진 혹은 여러 각도에서 찍은 적은 수의 사진들이 입력으로 주어지면, 3D 공간 상에서의 여러 회전 각도에서 보여지는 이미지들을 자연스럽게 만들어낼 수 있는 생성 모델들을 다루고 있습니다.
Transformer architecture를 이용한 생성 모델: ViT
Transformer 모델은 자연어 처리 분야에서 번역에 많이 활용되는 모델입니다. 지난 수년간 해당 분야에서는 기본적인 딥러닝 모델로 LSTM과 GRU가 활용되었는데, 불과 2~3년 전부터는 Transformer 라는 attention 기반의 모델로 교체되었습니다. 컴퓨터 비전 분야에서도 CNN 대신 해당 모델에서 제안된 핵심 아키텍처를 사용함으로써, 기존 컴퓨터 비전 알고리즘들의 성능을 뛰어넘는 양상을 보여주고 있습니다.
3. 참여 연구
Automatic Image Colorization
자동 이미지 채색(Automatic Image Colorization)은, 스케치 이미지를 컬러 이미지로 바꿨던 것처럼 이미지 간의 변환(image-to-image translation) task라고 볼 수 있습니다. 이러한 기법은 애니메이션이나 웹툰 등에서 실질적인 효용성을 보일 수 있는데, 스케치만 하면 해당 스케치에 대해 자동으로 채색해줌으로써 콘텐츠 제작에 들어가는 작업 시간을 줄일 수 있을 것으로 기대됩니다. 좀 더 범용적인 측면에서 보자면, 자가 지도 학습의 task로 활용될 수 있습니다. 이를 활용한 예시로 2018년 6월에 Google AI에서 발표한 “Self-Supervised Tracking via Video Colorization”이 있는데, 이는 자동 채색 task를 학습한 모델을 동영상에서의 물체 추적에 활용한 사례입니다. Full-color 동영상이 주어지면 인접한 두 프레임에서의 이미지들을 쌍으로 가져오고, 첫 번째 프레임의 full-color 이미지에 기반하여 두 번째 프레임의 흑백 이미지를 채색하도록 모델을 학습시킵니다. 이를 물체 추적에 활용하여, 주어진 비디오의 첫 프레임에서 추적하고자 하는 물체에 특정 색을 칠하고, 그 다음 프레임의 이미지는 첫 프레임의 이미지에 기반하여 색을 칠하게 합니다. 그러면 다음 프레임 이미지에서는 해당 물체에만 색이 칠해지고 나머지는 흑백으로 유지되는데, 이를 통해 물체들에 대해 특별한 labeling 작업을 하지 않아도 물체를 구분할 수 있게 됩니다.
Forms of User Inputs (or Conditions) in Generative Models
생성 모델을 통한 자동 이미지 채색을 수행하였을 때, 결과가 사용자의 의도대로 만들어지지 않을 수 있습니다. 이를 위해 사용자와 모델 간의 interaction을 통해 원하는 결과물을 얻을 수 있도록 하는 연구들이 진행되고 있습니다. 그 예시 중 “Petalica paint” 라는 웹사이트가 있는데, 스케치 영상이 주어지면 자동으로 채색된 이미지가 결과물로 나오고, 사용자가 간단한 interaction을 통해 원하는 부분을 편집할 수 있도록 합니다. 사용자의 간단한 scribble만으로도, 모델이 의미론적으로 해당 scribble이 적용된 물체의 경계선을 인식하고, 유연하게 부분적으로 색상을 변경해줍니다. 이렇게 생성 모델이 실제 콘텐츠 제작 과정이나 미술 영역 등에 활용되기 위해서는 사용자 interaction이 다양한 형태로 제공되어야 하고, 사용자의 의도를 잘 파악하고 반영해 줄 수 있는 딥러닝 모델들이 제공되어야 합니다.
Reference-based Sketch Colorization
앞선 사례와 유사하게 저희 랩에서 연구하는 기술은 참고 이미지를 기준으로 스케치 이미지에 색을 넣는 방식으로도 활용할 수 있습니다. 해당 연구는 네이버 웹툰의 “유미의 세포들” 작품과 협업하여 진행되었습니다. 이 기술은 참고 이미지에서 색의 위치적인 정보를 학습한 후 채색하고자 하는 이미지에서 같은 위치 정보를 가진 곳을 채색하는 방식으로 구현됩니다. 이와 같은 기술에는 Visual Correspondence가 가장 중요합니다. 웹툰 같은 경우 기존의 Ground-truth 값이 주어져 있었기에 작업을 하기 편합니다. 하지만 실제 이미지들의 경우 기존의 채색된 이미지가 없을 수가 있기에 정보가 더 부족한 상태에서의 대응 관계를 찾기 위한 추가 연구를 진행하게 되었습니다. 해당 연구의 결과로 저희는 하나의 이미지에서 채색이 필요한 스케치만 있는 이미지와 다른 색으로 채색된 이미지를 활용하는 모델을 Transfer 모델의 Attention 개념에 기반하여 개발했습니다. 다른 색으로 채색되는 이미지의 경우 이미지 위치도 조금 변형하여 학습을 더욱 다채롭게 하고자 하였습니다. 이렇게 만든 이미지들을 CNN에 넣어 최종적인 이미지를 얻게 됩니다. 정답 이미지가 이미 있는 상황이기에 다양한 Loss를 활용하여 성능을 더욱 향상시킬 수 있었습니다. 그리고 SCFT(Spatial Crafted Feature Transfer) 모듈을 활용하여 어떻게 이미지가 변형되는지를 자동으로 파악할 수 있어 학습 자체가 잘 이루어집니다. 그리고 모델이 잘 작동하는지 보기 위해 SCFT 모듈만 따로 떼어서 스케치 이미지와 참고 이미지 간의 영역별 대응 위치를 확인하였고 결과가 잘 나온다는 것을 확인할 수 있었습니다. 구체적으로는 생성 모델의 경우 모델의 정량적인 성능평가가 어려운 경우들이 많은데, 이때 활용하는 FID score 등의 점수로 성능을 측정하여 좋은 성능이 나왔다는 것을 알 수 있었습니다. 그리고 SCFT를 그림 이미지가 아니라 레이블이 없는 일반 이미지 자체에 대해서 Semantic Correspondence를 진행해보았더니 레이블이 있는 학습모델 수준까지는 아니어도 준수하게 결과값이 나온다는 것을 확인할 수 있었습니다.
Edge-Enhancing Interaction in Automatic Colorization
최근에 진행한 연구들에 대해 더 소개를 해드리면, automatic colorization을 다양한 생성 태스크에 적용하였을 때 실제 colorization에서 모델이 경계를 명확하게 파악하지 못해 색이 번지는 듯한 결과를 내는 등 여러 문제가 발생하는 것을 발견하였습니다. 이러한 생성 결과에서 개선이 필요한 부분들에 대해 사용자가 최소의 노력으로 생성 모델의 결과물을 개선할 수 있도록 하는 추가적인 생성 모델에 대한 연구를 했습니다. 실제로 이미지에 스크리블(scribble)을 적당한 두께로 주면 해당 부분을 추가적인 입력으로 받아 모델의 결과를 개선하는 형태의 연구를 수행했습니다. UI tool도 만들어보았는데 해당 툴을 이용해 흑백 이미지에 자동 채색을 통해 나타난 결과물에 사용자가 직접 scribble을 edge 형태로 적용하면 해당 부분에 색깔 번짐(color bleeding) 효과가 줄어드는 것을 볼 수 있습니다. 해당 모델은 기존의 colorization 모델이 있다고 할 때, 사용자의 interaction을 통해 이미지의 품질이 개선될 수 있도록 후처리적으로 적용될 수 있는 모델로 디자인했습니다. Edge Enhancing Network 부분이 color bleeding을 완화하기 위해 추가한 딥러닝 모듈입니다. 이미지 colorization 모델을 학습시킨 후 흑백 이미지를 주었을 때 colorization된 이미지에서 edge를 추출하는 알고리즘을 실행하게 됩니다. Edge를 추출한 후 ground truth에서 추출된 edge와 비교를 해보면 color bleeding에 의해 edge가 명확하게 추출되지 않은 부분을 발견할 수 있고, 어느 지점에 edge enhancing이 필요한지 알 수 있게 됩니다. 해당 부분을 입력으로 추출하면 사용자가 interaction을 통해 scribble을 적용할 만한 부분을 추출할 수 있고, 이것을 입력으로 받아 추가적인 레이어를 학습하면 원래의 아웃풋에 더해주어야 하는 추가적인 정보를 만들어줄 수 있습니다. 이렇게 네트워크를 학습한 후에는 업데이트 된 형태의 결과물을 얻을 수 있습니다. 이때 사용자 interaction의 형태로 사용자의 요구사항을 최대한 직관적이고 효율적인 방식으로 표현할 수 있도록 scribble 형태로 구현을 했다는 것이 하나의 의미 있는 점으로 생각됩니다.
VITON-HD: High-Resolution Virtual Try-On
앞선 자동 채색과는 다르지만 이미지 생성, 합성모델의 또 다른 태스크로 기존의 Virtual try-on의 approach에 대해 고해상도의 이미지를 더 잘 만들어줄 수 있도록 만든 사례가 있습니다. 해당 연구에서 reference Image로 인물 이미지와 해당 인물에 입히고자 하는 옷 이미지가 있을 때 옷의 디테일을 잘 살리면서 옷을 자연스럽게 잘 입는 것을 확인할 수 있습니다. Image translate에 기본적으로 사용되는 인코더, 디코더에서 벗어나 좀 더 복잡한 형태로 모델을 만들어야 했습니다. 이미지 변환을 할 때 레퍼런스 이미지의 포즈(e.g. 사선 응시)와 정면에서 찍힌 옷의 spatial 구조가 잘 맞기 않기 때문에 인물의 포즈를 잘 반영해야 했습니다. 모델의 과정은 다음과 같습니다. Pre-processing과정에서는 기존 이미지에서 입고 있는 옷을 없애야 합니다. Segmentation과 pose extraction을 통해 옷이 없는 이미지를 얻게 되며 이것이 다시 입력으로 들어갑니다. Segmentation generation 과정에서 실제로 옷을 입혔을 때 팔이 어디까지 있는지 등의 segmentation 정보를 얻습니다. Clothes deformation 과정에서는 주어진 옷을 레퍼런스 이미지에 입혔을 때 옷을 어떻게 warp 해야 하는지 등을 고려해 최대한 포즈에 맞도록 변형된 이미지를 얻습니다. Try-on synthesis 과정에서는 위에 과정들을 모두 합쳐 인코더와 디코더 그리고 ALIAS generator를 통과하여 최종 결과 이미지를 얻습니다.
Virtual Analytics for Debiasing Image Classification
해당 연구는 User Interface에 관한 연구입니다. 인공지능 모델을 실제 사회에 적용할 때 발생할 수 있는 의도치 않은 차별과 공정성 문제들이 있는데, 이러한 것들을 모델이 가지는 bias라고 합니다. 모델의 bias를 잘 제거하는 태스크가 컴퓨터비전 쪽에서 잘 연구가 되고 있습니다. 학습 데이터를 2d embedding view로 보면, 어떤 데이터들은 제대로 classification이 되고 있고 어떤 데이터는 misclassification이 되고 있습니다. Bias 제거를 위해 image translation를 통해 bias를 무마하도록 데이터 합성을 시켜주고, 합성된 데이터를 학습 데이터로 추가하여 모델을 재학습시켰습니다. 실제로 과일 분류 태스크를 해보았을 때, 초록색 사과는 사과라고 하지 않거나 숫자를 분류해야 하는데 숫자를 보지 않고, 특정 색을 근거로 숫자를 분류해버리는 등 잘못된 근거로 판단을 하는 것을 발견하였습니다. 이에 시각화를 통해 bias가 무엇인지를 확인하고, bias를 무마시키는 학습 데이터를 이용해 재학습을 시켰더니 기존의 모델의 성능을 개선시킬 수 있었습니다.
Future Research Directions in User-Driven Generative Models
생성 모델은 다양한 사례를 보여드린 것과 같이 콘텐츠 제작과 문화 예술 분야에서의 활용 가능성이 큽니다. 그러한 관점에서 사용자의 여러 요구 조건이 모델에 잘 반영될 수 있도록 하는 딥러닝 모델과 그것을 잘 서포트하는 직관적인 사용자의 interaction 형태, user interface 및 user experience가 중요하다고 생각됩니다. 관련하여 향후 중요한 연구 주제들로 생각되는 것들은 다음과 같습니다.
- Fast training and inference method for high-resolution images
- Support for real-time, iterative, possibly local interactions
- Reflecting higher-order user intent in multiple sequential interactions
- Revealing inner-workings and interaction handles
- Better simulating user inputs in the training stage
- Incorporating data visualization and advanced user interfaces
- Leveraging hard rule-based approaches, e.g., following sharp edges
- Incorporating users’ implicit feedback and online learning
질의응답
Q1) 스케치 채색 연구에서 보통 기존의 윤곽선 추출 알고리즘을 쓰지만, 이러한 알고리즘은 사람이 직접 그린 스케치와 차이가 크게 날 수도 있을 것 같습니다. 사람이 직접 스케치한 것 같은 뉴럴 네트워크를 만들면 더 좋은 결과가 나올 수 있다고 생각하시나요?
A1) 스케치 자동 채색 연구에서 윤곽선을 추출하는 알고리즘이 존재합니다. 하지만, 사람이 그린 스케치와 알고리즘으로 스케치한 데이터는 매우 다를 수 있습니다. 그렇기 때문에 추가적인 스케치를 만드는 뉴럴 네트워크를 사용한다면 조금 더 사실적인 결과를 만들 수 있을 것입니다. 하지만 현재 연구 결과로는 아직 좋은 결과를 얻지는 못했습니다. 좋은 결과가 나오지 못한 이유는 여러 가지가 될 수 있는데, 사람이 만든 스케치도 정규화되지 않고 노이즈가 많기 때문에 데이터에서 나오는 문제가 많습니다.
Q2) 옷 입히는 연구에서 이미지 워핑을 하는 부분을 설명해 주셨는데, 워핑을 학습을 하나요? 그리고 워핑을 어떠한 방식으로 하는지 궁금합니다.
A2) 워핑도 네트워크에서 학습합니다. 워핑 연산은 사전에 정의한 워핑을 하는데, 현재 연구에서는 thin plate spline transform을 사용합니다.
Q3) 옷 입히는 연구에서 바꿔주어야 부분을 segmentation을 통해 찾아 지운다고 말씀하셨는데, 옷의 실루엣이 많이 다른 경우에는 어떻게 처리하나요?
A3) 해당 부분이 생성되는 이미지 품질에 영향을 많이 주었습니다. 긴팔 옷에서 반팔 옷으로 바꾸는 것이 기술적으로 어려웠던 부분인데 옷에 대한 영역 그리고 팔에 대한 영역을 추정함으로써 조금 더 잘 생성을 할 수 있었습니다. 손가락 부분은 생성하기 힘들기 때문에 손가락 부분은 남겨두고 팔만 지움으로써 네트워크가 학습할 수 있었습니다. 추가로, 만약에 원래 반팔을 입고 있는 이미지와 같이 이미 팔이 주어진 경우 해당 부분을 지우지 않고, 이미지로부터 더 가져오면 좋을 것 같다고 생각이 들 수 있는데 현재 연구에서는 네트워크를 self-supervision으로 배우기 때문에 이러한 부분이 artifact를 생성할 수도 있습니다.
Q4) 네트워크를 학습하기 위해서 데이터가 많이 필요한데요, 그러한 데이터를 어떻게 획득하였는지 궁금하고, 유미의 세포들의 스케치 데이터의 경우 직접 네이버 측을 통해 얻으셨는지, 혹은 edge detection 알고리즘을 이용해 직접 얻으셨는지에 대해 궁금합니다.
A4) 채색 연구는 네이버와의 산학 과제로 진행이 데이터를 확보할 수 있었고, 다른 방법으로는 이미지 데이터와 윤곽선 추출 알고리즘을 통해서 데이터를 확보했습니다. 옷 입히는 연구는, 온라인 쇼핑 사이트를 크롤링하여 만들었는데, 온라인 쇼핑몰의 경우 모델이 입고 있는 옷과 옷만 찍힌 사진들이 있기 때문에 좋은 방법이 되었습니다. 하지만 초상권 같은 문제가 있기에 데이터를 공개하기는 어렵습니다.
Q5) 문화기술대학원에서 하고 있는 연구 중 중요한 키워드가 creative technology인데요, 그런 측면에서 이 기술들이 어떠한 방향으로 가게 될지 creative technology로써의 미래적인 전망, 기대에 대한 교수님의 의견이 궁금합니다.
A5) 이전보다 이미지가 고해상도로 잘 생성이 되고 있어서 creative technology에 많은 기여를 하고 있는 것 같습니다. 실제 창작 활동에 잘 적용된 사례는 아직 찾아보기 어렵지만, 발전 가능성이 크다고 생각합니다. 컴퓨터 비전 기술들은 단순 반복 작업을 많이 해결해줄 수 있기에 앞으로의 발전에 도움이 많이 될 것입니다. 그리고 생성 모델을 사용함으로써 더 다양한 형태의 결과를 제안해주어 아티스트들에게 도움이 될 수 있을 것이라고 생각합니다. 실제 게임 산업에서도 생성 모델을 통해 아티스트들에게 영감이 될 결과를 많이 줄 수 있을 것입니다.
첨부파일 |
---|
- 다음
- [GSCT 콜로키움] 4.13 (화) | 고건혁 (붕가붕가레코드 대표)
- 2021-04-22
- 이전
- [GSCT 콜로키움] 3.30 (화) | 민세희 (국민대학교 겸임교수)
- 2021-04-05