문체부과제 제안서 작성 관련

안녕하세요. 이번 주는 제안서 작업 때문에 x리뷰 대신 x-diary로 작성하고자 합니다.

문체부과제 내용

일단 이번에 새로 제안서를 쓴 과제의 과제명은 “디지털 3D 에셋의 지능형 축적 및 공유 플랫폼 개발” 여기서 에셋(Asset)이라 함은 3D model과 관련된 정보들을 통합해서 부르는 용어인 듯 합니다. 즉 애니메이션 제작, 메타버스 등등 다양한 분야에서 사용되는 3D모델과 그와 관련된 다양한 속성 정보들을 의미하는 것이죠.

저희 연구실은 이러한 3D 에셋의 지능형 축적 및 공유 플랫폼 안에 구성된 기술들에 대해 연구 개발을 수행하게 됩니다. 크게 2가지의 연구개발 목표가 있는데, 하나는 인공신경망 기반의 3D 에셋 메타데이터 분석 기술 개발, 다른 하나는 이렇게 분석된 메타데이터 기반 에셋의 분류 및 검색 기술 개발 입니다.

여기서 앞 부분은 이진영 교수님 연구실이 수행하는 연구 꼭지이므로 넘어가도록 하고, 저희는 그 뒤에 3D 에셋을 분류 및 검색하는 기술을 중점적으로 맡게 되는 것이죠.

3D 에셋 분류 및 검색 기술

그럼 3D 에셋 분류 및 검색 기술에 대해서 간략하게 설명하도록 하겠습니다. 해당 테스크는 이름 그대로 분류(Classification) 혹은 검색(Retrieval)을 수행하는 분야이며, 이때 입력으로 사용되는 데이터는 3D 정보를 그대로 활용하거나 혹은 해당 정보에서 전처리해 취득한 영상 데이터를 활용할 수도 있습니다.

먼저 3D 데이터 자체를 활용하는 방법론에 대해서 간단히 다루고 넘어가도록 하죠.
3D 데이터 자체를 활용한 방법론들은 보통 입력 데이터로 3D point cloud 혹은 mesh 데이터를 활용하게 됩니다.

point cloud와 mesh의 차이점이 있다면 point cloud는 말 그대로 3차원(x,y,z) 좌표 값이 담겨있는 포인트의 집합이라고 생각하시면 되고, mesh는 이 점들을 연결하여 원근감이 표현된? 그런 정보라고 이해하시면 될 것 같습니다.

어찌됐든 해당 데이터들은 어떤 객체에 대해 x, y, z 정보들을 담고 있으며 해당 정보들을 입력으로 3D 데이터에 초점을 맞춘 백본 네트워크를 활용하여 분류 및 검색을 수행하면 되는 것입니다.
가장 대표적은 3D 데이터 전용 백본으로는 PointNetPointNet++PointNext 등이 존재합니다. 제목에서도 유추하실 수 있듯이, PointNet을 시작으로 PointNet++은 기존 PointNet의 복잡한 장면에 대한 일반화 가능성, 세밀한 패턴 등을 인식하는 것에 대한 한계를 극복하고자 계층적 특징 학습 구조를 적용한 방법론입니다.

또한 PointNexT는 PointNet++보다 더 좋은 성능을 보이는 PointMLP, Point Transformer들은 구조적 차이로 인한 성능 향상보다는 Data augmentation과 최적화 기술 관점에서 성능 향상이 있다는 저자의 견해에 따라, 기존 PointNet++에서 학습 전략을 적용하여 매우 큰 성능 향상을 이끌어낸, PointNet++의 개선된 버전이라고 생각하시면 됩니다.

위 논문들에 대해서 더 자세한 내용을 다루면 좋겠지만, 저희 문체부 과제에서는 3D data를 활용하여 3D 에셋의 분류 및 검색을 수행하는 것은 아니기 때문에, 관련 분야에 대해서 깊게 서베이를 하지 않았으므로 관련 내용은 생략하고 넘어가겠습니다.

영상 기반 3D 애셋 분류 및 검색 기술

해당 분야가 이번 과제에서 저희 연구실이 중점적으로 맡을 분야입니다. 위에 소개드린 3D Point Cloud를 활용하는 것이 아닌, point cloud(or mesh) 데이터로부터 영상을 새로 렌더링하여 영상 데이터를 추출하고, 이렇게 추출된 영상 데이터를 토대로 분류 및 검색을 수행하는 것입니다.

렌더링 과정이 진행되어 영상을 생성하게 되면, 결국 그 이후의 파이프라인은 영상 기반 분류 및 검색 기술이랑 동일하기 때문에 사실 크게 새롭거나 어려울 문제는 없습니다만, 해당 분야가 한가지 재밌는 점은 3D 객체 데이터에서 분류를 수행하는 것이기 때문에 어느 시점의 영상을 주어야만 하는지가 상당히 큰 관심 중 하나입니다.

위에 내용을 자세하게 설명드리기 전에 영상 기반 3D 애셋 분류에 대한 대표 논문을 하나 설명드리겠습니다.


위에 그림은 2015 ICCV에 게제된 Multi-View CNN for 3D Shape Recongnition(MVCNN)이라는 논문입니다.
보시면 단순히 영상 한장만을 활용하는 것이 아니라 크게 4가지 단계로 구성되는 것을 확인하실 수 있는데; 먼저 (1)3D 데이터로부터 다양한 시점의 영상들을 렌더링한 다음, (2) 취득된 multi-view image를 각각 CNN에 태워서 특징을 추출하고, (3)추출된 특징들을 잘 합친 뒤 (4)Classifier에 태워 최종적인 분류를 수행하게 됩니다.

물론 single-view로부터 취득한 image를 가지고 분류를 수행할 수도 있겠으나, 그렇게 하게 될 경우 어떤 시점을 활용하느냐에 따라서 분류 성능이 크게 좌지우지 되며 결과적으로 multi-view를 활용한 것과 비교하여 모델의 정확도가 떨어질 수 밖에 없게 됩니다. 그래서 영상 기반 3D 분류 방법론들은 대부분 single-view가 아닌 multi-view를 활용하는 모습을 보여주고 있습니다.

해당 분야의 연구 이슈를 요약하면 다음과 같이 정리할 수 있을 듯 합니다.

  1. 렌더링 관점에서 분류 및 검색에 최적화된 camera view를 어떻게 선정하면 좋을지
  2. multi-view point들 간에 데이터를 어떻게 aggregation하면 좋을지
  3. 그 외 분류 및 검색 분야에서 관심있어 하는 연구주제들(Loss, 학습 전략 등등)

저희 연구실은 영상 기반으로 3D 분류 및 검색 기술의 향상을 위하여 3년 동안 연구를 진행하게 됩니다. 일단 저희 연구실도 해당 분야를 처음 접하고 익숙치 않기 때문에 1차년도에는 Multi-view based 3D classification 방법론들을 기반으로 베이스라인을 설정할 것 같습니다.

2차년도부터는 조금 더 복잡한 내용이 들어가게 되는데, 단순히 영상 데이터만을 활용하는 것이 아니라 해당 영상들로부터 Reflection 및 Shading과 같은 이미지 내부 요소 정보들을 함께 활용하게 됩니다. Reflection과 Shading이란 하나의 영상이 있다고 쳤을 때, 그 영상을 구성하는 세부 요소들이라고 볼 수 있습니다.


즉 Reflection의 경우에는 영상 속 개개인의 물체가 가지는 고유의 텍스쳐라고 생각하시면 될 것 같으며, Shading의 경우에는 해당 뷰포인트에서 대상을 바라봤을 때 조도에 따라 대상이 보이는 명도값?을 의미한다고 보시면 될 것 같습니다.

이렇게 영상 내에서 각 속성들을 추출하는 기술 연구는 이진영 교수님 연구실에서 진행이 될 예정이며 저희는 해당 모델을 받아 각 시점의 영상들로부터 Reflection과 Shading에 대한 정보들을 추출하여 3D 분류 및 검색에 입력 데이터로 함께 활용하게 됩니다.

저희는 이것을 다중 시점 영상과 분석된 메타데이터를 활용한 3D 에셋 분류 및 검색 기술이라고 명칭하였는데, 사실 3D Classfication 분야에서는 영상 데이터랑 Point Cloud를 함께 사용하는 방법들은 가끔 보였지만, Reflection과 Shading과 같은 정보를 활용한 연구들은 전혀 보지 못했기 때문에 저희 연구실에서 아마 첫 시도를 해보지 않을까 생각이 듭니다. 그래서 해당 정보들을 함께 활용하였을 때 성능 개선이 얼만큼 일어날지에 대하여 확신은 없지만 그래도 최대한 노력하면 좋은 결과가 있지 않을까 생각이 드네요^^.

마지막 3차년도는 2차년도 방법론을 토대로 경량화 작업에 들어갑니다. 사실 위에서 설명드린 Multi-view based 3D Classification의 경우 보통 12장에서 많게는 24장의 이미지를 활용하게 됩니다. 이 말은 하나의 객체를 분류하기 위해 12장의 영상을 입력으로 하여 cnn을 태운다는 의미인 것이죠.

이것은 곧 single image로 동작하는 방법론과 비교하여 훨씬 많은 양의 연산량이 요구되기 때문에 실시간 검색 추천 시스템 적용에 치명적인 문제로 남을 수도 있습니다. 따라서 최소한의 view를 활용하여 분류 및 검색 정확도는 유지한체 연산량도 낮출 수 있다면 상당한 이점이 있으므로 3차년도에는 multi-view 수를 대폭 줄이는 방향의 연구를 진행하고자 합니다.

시점을 줄이기 위한 방향성으로 많은 고민을 해보지는 않았지만, 일단 지금 제가 생각하는 방향은 크게 2가지로 나뉩니다. 하나는 어떤 view가 분류 성능에 가장 많은 영향을 끼치는지를 찾아주는 네트워크를 개발하는 것이며, 다른 하나는 다중 시점 영상에서 학습 및 추출된 특징을 그보다 더 적은 혹은 single view만을 토대로 추출된 특징에게 지식을 전이하는 Knowledge Distillation 기법 등이 있을 것 같습니다.

image

특히 이 Knowledge Distillation 기법은 나름 좋은 효과를 주지 않을까 라는 기대감이 없지 않아 있습니다. 그 이유는, Masekd AutoEncoder로 Self-supervised Learning을 수행하는 논문들 중 Masking을 한 영상을 입력 받는 네트워크를 student, masking하지 않은 영상을 입력 받는 네트워크를 teacher model로 두어 SSL을 수행하는 논문이 한편 있었는데, 해당 논문과 유사하게 저희는 multi-view 데이터에서 view를 줄이는 행위 자체를 단일 영상 내에서의 masking을 하는 행위로 본다면 앞선 논문과 마찬가지로 유의미한 결과를 얻을 수 있지 않을까 생각합니다.

아무튼 이정도로 저희 연구실에서 수행하게 될 연구 내용 및 방향성을 정리할 수 있을 듯 합니다.

제안서 작업 과정

사실 제안서 작업과 관련해서 제가 따로 뭐 팁을 드린다거나 하기에는 제 자신도 아직 좋은 점 보다는 부족한 점이 훨씬 많기 때문에 딱히 다룰만한 내용이 없네요ㅎㅎ;
다만 항상 느끼는 점이지만, 과제 관련된 논문들의 서베이스를 상당히 꼼꼼하게 해야하는 것이 중요하다는 점은 꼭 강조하고 싶습니다. 관련 기술 서베이를 잘 정리해두면 제안서 작업 과정 및 그 이후 과제 진행 과정에서도 상당히 많이 활용되고 도움이 되기 때문에 귀찮고 번거롭더라도 정리하는 습관을 잘 들여두면 좋을 듯 합니다.

그리고 이번 제안서는 그 동안 함께 일했던 한대찬 연구원 없이 제가 주도적으로 작성을 진행하다 보니 생각보다 힘들기도 했지만, 또 생각보다는 막 그렇게 힘들지 않았던 것?? 같습니다. 권석준 연구원이 옆에서 같이 작업을 도와주었기 때문에 시간 단축을 많이 할 수도 있었기 때문에 쉽게 처리했던 일들도 있었으며, 반대로 단계별 정량적 목표치를 설정한다거나, 베이스라인 방법론을 잘 설정하기 위한 논문 선정 등과 같이 신중하고 전문적으로 설정해야하는 일들에 대해서는 저 혼자 고민하는 시간이 좀 많다보니 힘이 제법 들었던 구간들도 있었던 것 같습니다.

그리고 아직 권석준 연구원도 연차가 쌓이지 않아 제안서 작업을 처음하는지라 그렇겠지만, 권석준 연구원한테 단순히 오더를 내리는 것 뿐만 아니라 이 일의 목적 및 방향성 혹은 진행 방법에 대한 (친절한) 설명까지 함께 곁드리는 것들도 조금은 힘들었던 것 같습니다(석준아 미안ㅎㅎ 그래도 제안서 작업 중간에 일본 갔으니 이렇게 말해도 이해해줄거지?^^)

그래도 이번에 제가 메인을 직접 맡아 제안서 작업을 진행하면서, 다양한 경험과 교수님께서 지도해주신 내용들이 제 내적 성장에 많은 도움이 된 것 같아서 기쁜 마음도 있습니다. 그 동안 AI카메라 같은 좋은 과제와 김태주 연구원 덕분에 제가 제안서 작업을 하는 일이 그리 많지 않았던터라 내심 제안서 작업에 걱정도 많았는데 지금은 조금 자신이 생겨버렸을지도 모르겠네요.

이번 과제가 붙을지는 모르겠지만, 만약 붙게 된다면 권석준 연구원이랑 한번 잘 진행하면 좋겠습니다.

Author: 신 정민

1 thought on “문체부과제 제안서 작성 관련

  1. 와… 계획서보다 더 상세하게 작성하셨네요.
    연구원들 수준 올려주시는 신정민 연구원이 있어서 든든합니다.
    신정민 연구원도 고생하셨고, 과제가 승인 여부 떠나서 언제나 화이팅이고 응원합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다