Sure, we should talk about animation quality

English Version

이 글은 아직 정리가 덜 된, 말 그대로 주저리주저리한 글이다. 정돈된 글을 기대한 분들에게는 미리 사과드린다.

논문, CV, 혹은 온라인에서만 나를 접한 사람들은 내가 로보틱스에 더 관심을 두고 연구해 온 사람이라고 생각할지도 모르겠다. 하지만 실제로는 로봇을 연구한 기간보다 애니메이션을 연구한 기간이 더 길다. SFU에 다시 박사 과정으로 들어오기 직전까지도 NCSOFT(NC AI)에서 애니메이션 연구를 했고, 특히 실제 애니메이터들을 위한 kinematic motion 연구를 비교적 최근까지 진행했다.

그래서 나는 항상 나를 소개할 때, 컴퓨터 애니메이션에 뿌리를 두고 physics simulation과 로봇으로 확장해 가는 연구자라고 말하곤 한다. 이럴 때마다 내 와이프는 약간 화를 낸다. 요즘 핫한 분야인 로봇에 제대로 올라타야지, 상대적으로 비주류에 가까운 캐릭터 애니메이션을 전면에 내세우는 걸 못마땅해한다. 그래도 어쩌겠는가. 내 심장은 여전히 캐릭터 애니메이션에 뿌리를 둔 연구를 하고 있다.

Let’s talk about Animation Quality

재작년 이맘때쯤, 내가 좋아하는 연구자 Daniel Holden이 블로그에 한 글을 올렸다. 컴퓨터 애니메이션을 연구하는 사람이라면 감동을 받아 울면서 읽을 수밖에 없는 글이었다. “Let’s talk about Animation Quality”. 제목부터 이미 심금을 울린다. 애니메이션(모션)을 전공하려는 사람이나, 자신의 연구를 애니메이션으로 확장하려는 사람이라면 반드시 한 번은 읽어보길 바란다. 여기서 그 글의 내용을 다시 요약하기보다는, 이 글을 읽기 전에 꼭 Daniel Holden의 블로그 글을 먼저 읽고 오기를 권하고 싶다.

Obsession to the Quality

NCSOFT에 합류하기 전에도, 연구실 수준에서 애니메이션 퀄리티에 대한 집착은 분명히 있었다. 연구실 분위기 자체가 그랬고, 어떤 모션이 좋은 모션인지 아닌지에 대해 자주 토론했던 기억이 있다. 하지만 게임 회사에서 아티스트들이 요구하는 퀄리티의 기준은 그 차원이 완전히 다르다는 것을, NC에 합류한 뒤에야 실감하게 됐다.

이걸 처음으로 강하게 느낀 건 제스처 연구를 진행하면서였다. 총괄 책임자가 이제희 교수님이셨기 때문에 기본적인 모션에 대한 기준은 이미 높았지만, 함께 협업하던 테크니컬 아티스트 분들은 훨씬 더 디테일한 피드백을 주셨다. 어깨의 움직임이 조금만 어색해도 바로 짚어내셨고, 동작의 느낌이나 미세한 디테일에 대한 피드백을 통해 연구의 방향성이 자연스럽게 “퀄리티”로 수렴해 갔다. 자세한 내용은 논문을 참고하면 좋을 것 같고, 이 논문에 대한 여담은 나중에 따로 정리할 생각이다. 이후 여러 프로젝트를 진행하면서 이 문제를 더 크게 체감했다. “Video to Motion”이나 “Text to Motion” 연구는 굉장히 많은데, 왜 실제 현업 애니메이터들은 잘 쓰지 않을까라는 질문에서 출발한 프로젝트들이었다. 운 좋게도 한 테크니컬 아티스트 분과 긴밀하게 협업할 수 있었고, 결국 결론은 퀄리티 부족이라는 지점으로 귀결됐다. 그때 우리의 목표는 분명해졌다. 애니메이터가 실제로 쓸 수 있는 애니메이션 AI 툴을 만들자. 그리고 그건 곧 퀄리티를 끌어올리는 방향의 연구였다.

그 연구를 한창 진행하던 시기에 Daniel Holden의 글을 읽었고, 큰 감동을 받았다. 왜 애니메이션 분야는 그렇게까지 퀄리티에 집착하는지, 그리고 그 퀄리티를 끌어올리는 일이 얼마나 어려운지 설명하는 건 정말 쉽지 않다. 특히 다른 분야 사람들을 설득하는 건 더더욱 어렵다. 우리는 보통 데이터 특성이 다르고, 데이터셋의 퀄리티가 다르고, 크기가 다르다는 식으로만 설명해 왔지, 그의 글처럼 깊이 있게 분석해 제시한 적은 많지 않았다.

그래서 그 글은 내가 하는 연구가 왜 어렵고, 그래서 왜 의미가 있는지에 대한 하나의 증명처럼 느껴졌다. 지금도 늘 마음에 품고 있는 글이다.

Computer Vision and Computer Animation

컴퓨터 비전 분야는 지난 몇 년간 매우 폭발적으로 발전해 왔다. 그 과정에서 비전 분야의 아이디어나 evaluation 방식을 모션 분야로 가져오는 시도들도 있었다. Chuan Guo 같은 훌륭한 연구자들 덕분에, 이제는 모션에서도 FID나 diversity 같은 지표를 측정하며 퀄리티를 수치화하려는 시도가 이루어지고 있다. 그 이전까지는 애니메이션 분야의 evaluation이 상당 부분 qualitative study에 의존해 왔다. “애니메이션 퀄리티가 더 좋다”는 걸 명확한 수치로 표현하기가 애매했기 때문이다. 그래서 보통은 모션의 일부 요소들을 나눠 비교하거나, 간접적인 수치화를 시도해 왔다. 연구실 선배들 이야기를 들어보면, 비전 분야 교수님이 committee에 계신 경우 evaluation에 대한 질문을 꽤 많이 받았다고 한다.

비전 쪽에서 도입된 metric들은 퀄리티를 수치화하는 데 분명히 많은 도움을 주었고, 우리 분야의 문제를 풀기 위한 긍정적인 시도라고 생각한다. 다만, 아직은 이 metric들에만 의존하기에는 불안한 부분이 많다. NC에서 애니메이터들과 이야기를 해보면, 애니메이터가 느끼는 “좋은 모션”과 metric이 평가하는 “좋은 모션”이 일치하지 않는 경우가 종종 있다. 내 개인적인 해석으로는, motion auto-encoder 자체가 아직 매우 불안정하기 때문인 것 같다. 같은 조건에서 학습을 시켜도 latent space에서 모션이 모이는 양상이 매번 크게 달라지는 경우를 많이 봤다. 어떤 경우에는 달리는 모션끼리 잘 뭉치는데 총 쏘는 모션이 넓게 퍼지고, 학습이 더 진행되면 그 반대가 되기도 한다. temporal information도 다루기 어렵고, 어떤 요소에 가중치를 주느냐에 따라 latent 구조가 한쪽으로 확 쏠리기도 한다.

즉, general한 motion auto-encoder를 만드는 것 자체가 아직은 매우 어렵다. 거기에 motion dataset의 크기 자체도 작다 보니, 이런 작은 차이에도 매우 민감하게 반응한다. 그런 이유로 비전 도메인만큼 신뢰할 수 있는 metric이라고 보기는 아직 어렵다고 생각한다. 애니메이션을 제대로 평가할 수 있는 metric을 만들기 위해서는, 여기서 안주하지 말고 더 많은 고민이 필요하다. 비전 쪽 학회에서 발표되는 연구들의 모션은 아직 그래픽스 쪽에서 발표되는 모션의 퀄리티에는 못 미치는 경우가 많다. Daniel Holden도 글 서두에서 언급했듯이, 발이 미끄러지고, 물리 법칙에 맞지 않고, temporal consistency가 깨지고, 팔이 덜덜 떨리는 모션이라도 목표한 문제를 풀면 억셉이 되는 경우가 많다. 반면 SIGGRAPH에서는 일정 수준 이상의 모션 퀄리티라는 bar가 존재하고, 이를 넘지 못하면 리뷰어들 사이에서도 큰 논쟁이 벌어지곤 한다. 특히 kinematic motion 논문의 경우 이 기준은 더 엄격해진다. 비전 분야를 비난하려는 의도는 아니다. 다만 그 분야에서도 함께 기준을 높여가며, 고품질의 결과를 지향하는 방향으로 나아가면 어떨까 조심스럽게 제안해보고 싶다.

마치면서

연구는 왜 존재하는가? 이 질문에 대한 답은 여러 가지가 있겠지만, 개인적으로는 사회에 영향을 주기 위해서라고 생각한다. 연구를 하다 보면 종종 그보다 벤치마크 숫자에 더 집중하게 되는 순간들이 있다. 물론 evaluation metric이 현실의 유용성을 완벽하게 반영한다면, 그 숫자를 올리기 위해 최선을 다하는 게 맞다. 하지만 현재 통용되는 evaluation metric은 아직 완벽하지 않은 경우가 많다. 그래서 나는 항상 그 점을 염두에 두고 연구를 하고자 스스로 다짐한다. 애니메이션 퀄리티는 그 고민의 한 단면일 뿐이다. 문제를 위한 문제가 아니라, 진짜 문제를 풀기 위한 연구를 하려고 계속 노력하고 싶다.

출처

Let’s talk about animation Quality: https://theorangeduck.com/page/animation-quality