Published on

대학원일지 | 석사 그 어느 중간 2편

대학원 입학하기 직전, 우연히 이 PPT를 읽었던 적이 있다.

다행히 대학원 연구실과 연구분야, 연구주제까지 다 대비했던 편이라 그에 대해서는 문제가 없었는데, 문제는 내가 해당 분야에 대해 무지했던 점, 그렇다고 어디서부터 시작할지 막막했던 적이 있었다. 그렇게 방황하면서 코스웍도 듣고 1기를 보냈던 것 같다.
이런 방황?을 방지하기 위해 해당 연구실에 진학하기 전 인턴으로 근무하는게 중요하다는 것을 깨달았기도 했고, 내가 정한 주제가 얼마나 어처구니 없게 어려웠던 것인지 잘 몰랐었던 것 같다.
다른 분들도 아마 나와 같은 생각일 것 같긴 한데, General한 대학원 생활보다 특히 Motion Control 혹은 Character Animation에 관해 관심이 있으시거나 해당 분야에 진학할 예정이신 분들인데 노베이스라면 조금이나마 도움이 될지도 모르겠다. 이렇게 써도 이 분야에서 참 잘하시는 분들이 많아서 1일 1자괴감 들긴하더라.. 나 빼고 다 아는 듯

Computer Graphics 분야와 연구실

Character Animation 상위 카테고리는 Computer Graphics이다. Computer Graphics를 크게 나눈다면:

  • Geometry
  • Rendering
  • Animation

이렇게 나눌 수 있을 것 같다.
Geometry는 정점으로 이루어진 면들 정보를 다루는 분야이고, Rendering은 빛의 방향, 사실적인 모습을 담으려고 하는 분야이고, Animation은 3차원 움직임을 더 자연스럽게 연구하는 분야이다.

Character Animation 하위 분야

Animation에서도 또 하위 분야로 나뉘게 되는데, 이건 정확하게 카테고리화되는 건 아니고 논문들을 읽으면서 나름 분류를 해보았다. 석사 들어가면서 하위분야가 다양하다고 많이 느꼈던 것 같다.

  • Motion(Locomotion) Control: 관절 제어, Dynamics, Kinematics 쪽으로 제어를 주는 분야이다.
  • Motion Denoise: 모션 트래킹 관절 정보가 튀는 경우가 있는데, 그런 노이즈들을 간소화하는 분야이다.
  • Motion Matching: 잘은 모르겠으나, 모션 데이터 중 가장 잘 표현된 프레임들을 모아서 더 좋은 모션을 생성하는.. 그런 것 같다. 이 쪽 분야 논문은 한 번도 안 읽어서 기회가 된다면 읽어보려고 한다.
  • Motion Synthesis: 2가지 스타일 혹은 그 이상의 모션들을 합성하는 분야이다. 이 분야라면 GAN이나 CNN, RL은 기본 베이스로 연구하는 것 같다.
  • Pose Estimation: 2D 화면에서 3D 포즈를 예측하여 추출하는 분야, 가장 유명한 라이브러리로 VideoPose3D가 있다.

아마 더 있을 것으로 아는데, 아시는 분이 계시면 댓글에 남겨주시길..!

어떻게 준비할까? 어떤 마음으로?

나처럼 아예 전무한 상태로 준비한다면 위와 같이 논문들의 키워드 검색, 논문들을 읽거나 관련 라이브러리들을 공부하는 것을 강력하게 추천한다. 특히 최근 몇 년간 RL와 같이 AI와 융합하여 연구하는 경향이 커서 인공지능 깊게는 아니더라도 (어차피 석사 때 논문 많-이 읽는다. 이미 인공지능을 학부생때 담갔었다면 연구를 매~우 수월하게 진행할 수 있다.)

Pybullet? Pydart? Mujoco? Gazebo? Ogre? Unity?

Comparing Popular Simulation Environments in the Scope of Robotics and Reinforcement Learning

입학하기 전에 Pybullet을 쓰고 있어서 크게 어려움은 없었다. 입학하고 나니 세상에는 Pybullet 말고도 simulation 엔진은 굉장히 많다고 생각했다.

최근에는 Unity로도 Simulation 관련해서 훈련하는 엔진으로도 잘 사용되고 있다.

안타깝게도 제목으로 작성한 라이브러리들은 유료이거나(Mujoco), OS가 한정적이거나(Gazebo) 관련 자료가 많이 없다는 점인데,

관련 자료가 없는 라이브러리의 경우 남들이 만든 example을 뜯어보거나 라이브러리 document를 뒤져가면서 습득하는 수 밖에 없다. React와 같이 웹 프레임워크 관련 책은 널린게 책인데, 이런 분야는 수요가 없으니 책도 없을 수 밖에.

다른 얘기이지만, React-native로 현재 사이드 프로젝트로 프로토타입 앱을 만들고 있는데, 처음 시작할 때 React-native 강의나 책은 일절 찾아보지 않고 "해당 기능의 목적"을 정확히 알고 문제 해결점을 찾고 내 프로젝트에 적용해 나가면서 빌드하고 있는 중이다.

이처럼 Motion viewer와 같이 간단한 프로젝트부터 시작하면서 이해해 나간다면 앞으로 논문 주제와 관련해서 논문 구현은 엄청나게 어렵지 않을 것으로 생각된다.

인공지능? 몰?루..

이렇게 적어도 필자도 인공지능에 대해서 깊게는 알지 못한다. 아예 인공지능 건드린다면 얘기가 달라지지만, Character animation 분야는 인공지능 "응용 및 활용"에 더 가깝기 때문에, 석사 수준에서 인공지능 정도라면 석사 입학하기전 학부생 때 인공지능개론 관련해서 수강하거나 석사 1기 때 듣기를 추천한다. 나 또한 이렇게 듣고 석사 올라왔는데, 논문 읽으면서 왜 CNN 쓰는지 RNN 구조는 대략적으로 어떻게 생기고 돌아가는지 정도는 파악이 되기 때문에, 수업을 꼭 들으시길..!

만약 그런 기회가 없었다면, 인공지능 한해서는 국내 IT 책은 매우 잘 설명이 되어 있으니 서점 가서 책 아무거나 집어서 공부해보는 것도 좋은 방법이다.

앞으로 나의 계획

불행하게도 내 분야에 관련 서적이 거의 없다고 봐서, 다음 학기부터 모션 입문 관련 책을 준비하려고 한다. 나처럼 무지성으로 시작하는 사람들을 위해 방향을 정해주었으면 좋겠다는 생각도 있고, 뭐..
그 이전에 졸업 시험과 졸업 논문이나 과제가 우선이니, 열심히 2022년, 2023년 상반기까지 잘 보내보려고 한다.

Authors