본문 바로가기
STEM - 학술세미나/컴퓨터공학

3D 렌더링에 인공지능을 어떻게 사용할까?

by STEMSNU 2022. 4. 12.

 

 

안녕하세요. 저는 공우 12기 배재혁입니다. 인공지능은 인간 지능과 연결된 인지 문제를 해결하는 데 주력하는 컴퓨터 공학분야예요. 오늘은 인공지능과 딥러닝이라는 넓은 주제 중에서, 3D 렌더링에 인공지능을 어떻게 사용하는지에 대해서 이야기해보려고 해요.

3D 렌더링이란 무엇일까?

3D 렌더링은 컴퓨터를 사용하여 디지털 3차원 장면에서 2D 이미지를 생성하는 과정을 의미해요. 렌더링 과정을 통해 가상의 물체를 실제 눈으로 보는 것처럼 실감 나는 이미지를 얻을 수 있죠. 3D 렌더링은 건축, 제품 디자인, 광고, 비디오 게임 및 영화, TV, 애니메이션 등 시각 효과를 포함한 많은 산업 분야에서 필수적인 기술입니다.

현재 가장 널리 사용되는 3D 렌더링의 기본 기술은 Ray tracing이라는 기술이에요. 가상의 3차원 공간에서 모든 물체는 작은 다각형들의 집합(polygon mesh)으로 표현돼요. 물체를 더 자세하게 표현하고 싶으면 다각형들을 더 잘게 쪼개서 표현하고, 간략하게 표현 가능한 물체는 큰 다각형들로 표현할 수 있어요.

Ray tracing은 빛이 다각형(polygon)의 표면에 닿을 때 반사되는 빛을 물리학의 법칙을 통해 추적하는 방법이에요. 물체를 구성하는 모든 다각형들에 대해서 반사되는 빛을 추적하고, 추적한 빛들을 종합하여 물체의 2D 이미지를 생성하는 것이죠.

이러한 Ray tracing 기술은 실제 물리학의 법칙에 입각하여 선명하고 세밀한 3D 렌더링이 가능하다는 장점이 있어요. 하지만, 가상의 공간에 있는 모든 물체를 많은 수의 다각형으로 표현해야 하고, 각 다각형에 대해서 모두 반사되는 빛을 추적해야 한다는 점에서 많은 양의 작업과 계산이 필요하다는 단점이 있죠. 실제 산업에서는 Ray tracing 기술에 사용되는 계산을 실시간으로 빠르게 수행하기 위해서 최신 그래픽카드를 사용하여 작업을 진행하고 있어요.

Neural Rendering이란?

앞에서 설명한 바와 같이, 3D 렌더링 기술 중 Ray tracing 기술은 모든 물체를 다각형들의 집합으로 정의하고 모든 다각형들에 대해서 반사되는 빛을 계산한다는 점에서 계산량이 매우 많아요. 이와 같은 계산량을 인공지능을 통해 줄여보고자 하는 연구 분야가 바로 Neural Rendering이에요.

Neural Rendering은 Deep Learning과 Rendering을 합쳐놓은 분야라고 생각할 수 있어요. Deep Learning은 간단하게 다량의 데이터를 통해 원하는 미분 가능한 함수를 학습하는 것이라고 설명할 수 있어요. 기본적인 예시로, 데이터를 분류(classification)하거나 데이터로부터 값을 예측(regression)하는 함수들을 학습하는 것이에요. 물리학의 법칙을 사용하는 Ray tracing 기술과 다르게, Neural Rendering에서는 데이터를 통해 미분 가능한 rendering function을 학습하게 되고, 학습된 함수를 통해 2D 이미지를 생성하게 돼요. Ray tracing 기술과 다르게 모든 물체를 작은 다각형으로 쪼개어 계산할 필요가 없으니까 계산량이 크게 감소할 것으로 기대하고 있어요.

Photo by Michael Dziedzic on Unsplash

Neural Rendering에는 여러 가지 주제들이 있어요. 먼저, 입력으로 들어온 이미지로부터 특정 부분을 제거하거나 추가하고, 변형한 이미지를 출력하는 task가 있어요. 이를 Semantic Photo Synthesis and Manipulation이라고 해요.

Sementic Photo Synthesis and Manipulation (Tewari et al. "State of the art on neural rendering." Computer Graphics Forum. Vol. 39. No. 2. 2020)

또한, 하나의 장면과 물체에 대해서 여러 각도로 찍은 사진을 입력 데이터셋으로 가지고 있을 때 이를 학습하여 새로운 각도에서 보는 물체의 2D 이미지를 출력할 수 있어요. 위와 같은 task를 View Synthesis라고 해요.

View Synthesis ( Ronghang Hu et al. ”Worldsheet: Wrapping the World in a 3D Sheet for View Synthesis from a Single Image”, ICCV 2021)

Relighting은 특정 광원을 통해 반사되는 물체의 이미지를 입력 데이터셋으로 가지고 있을 때 이를 학습하여 새로운 광원 위치에서 보이는 물체의 2D 이미지를 출력하는 task에요. 이론적으로는 두 개의 광원 위치에 대한 이미지셋을 가지고 있을 경우 모든 광원 위치에 해당되는 2D 이미지를 표현할 수 있다고 해요.

Relighting ( Tewari et al. "State of the art on neural rendering." Computer Graphics Forum. Vol. 39. No. 2. 2020.)

Facial/Body Reenactment는 특정 인물의 이미지가 주어졋을 때, 주어진 단어를 말하는 얼굴의 2D 이미지를 생성하거나, 주어진 동작을 취하는 사람의 2D 이미지를 생성하는 task에요. 실제 존재하는 이미지나 비디오에 등장하는 인물로부터 인위적으로 합성된 영상을 만들어내는 DeepFake도 이 task에 속해요. DeepFake 기술에 의해 가공된 영상물은 다양한 형태로 사회적 문제를 발생시킬 수 있기 때문에 위 기술의 사회적 가치에 대해 항상 고민해야 함을 잊지 말아야 해요.

Body Reenactment ( Tewari et al. "State of the art on neural rendering." Computer Graphics Forum. Vol. 39. No. 2. 2020.)


그 밖에도, Deep Learning과 computer graphics의 개념을 결합할 수 있는 어떤 것이라도 Neural Rendering의 주제가 될 수 있어요.

글을 마치며

Neural Rendering은 의미 있는 결과가 2020년이 되서야 나왔을 정도로 새로운 주제이며, 빠르게 발전하고 있는 주제예요. 아직은 Ray tracing과 같은 현재 3D 렌더링 기술을 대체할 수 있을 정도로 빠르고 정밀한 렌더링은 불가능해요. 하지만, 미래에는 물리학의 법칙을 포함한 렌더링 기술이 Neural Rendering을 통해서 Deep Learning의 neural network에 내재될 거예요. 이를 다양한 분야에 활용할 수 있는데, 하나의 예시로 VR/AR 기기를 착용한 상태에서 사용자의 얼굴을 렌더링 할 때 3D polygon mesh를 저장하지 않고 2D 이미지를 생성하여 빠르고 가볍게 표현할 수 있어요. 이미지를 생성하기 위한 저장 용량이나 속도 측면에서 비약적인 발전을 할 수 있을 것이라고 기대하고 있어요.

그 외에도, 미래에 인공지능이 어떻게 3D 렌더링 분야를 뒤바꿀 지 상상해 보면서 여기서 글을 마칠게요. 긴 글 읽어주셔서 감사합니다!

댓글