메뉴 바로가기 본문 바로가기

Face Scan : 안면 스캔 기술에 관하여

  • 2023.10.10

[들어가며]


컴퓨터 그래픽스에서는 사실적인 렌더링을 위한 방법들이 연구되어 오고 있습니다. 요즘 영화나 게임 그래픽을 보면 정말 실제 같은 그래픽에 놀라게 되는데 정교하게 렌더링 된 이미지를 보면 사진과 구분이 불가능할 정도입니다.

 

 

[그림] 1. 실제 이미지와 랜더링 이미지 [1] 

 

[그림] 2. 정교한 3차원 안면 스캔 [1]

 

이러한 사실적인 렌더링을 위해서는, 게임을 좋아하시는 분들이라면 많이 들어 보셨을 Ray Tracing, Physically Based Rendering(PBRT)과 같은 기술들이 사용됩니다. 정교한 3차원 모델은 물론이거니와 주어진 조명 환경에서 빛과 상호작용하여 화면에 어떻게 나타날지 다양한 모델링 기술들이 들어 갑니다. 안면 스캔에 관련된 기술도 상당히 다양한데 이번 글에서는 3차원 안면 스캔 기술에 관해 살펴보려고 합니다.

 

 

 

[베이스 지오메트리] 

 

3차원 데이터는 다양한 표현 방법들이 있습니다. 2차원 이미지의 픽셀처럼 3차원 공간을 그리드 형태로 나눠 표현한 복셀, 라이다에서 얻은 데이터와 같이 각 점의 3차원 좌표를 기록해 표현하는 포인트 클라우드, 다수의 삼각형의 꼭지점과 면으로 데이터를 표현하는 메시데이터 등이 있습니다. 안면 스캔 데이터는 주로 메시와 텍스쳐 데이터의 형태로 저장됩니다. 3차원 기하 정보를 나타내는 메시 데이터와 다양한 질감을 표현하는 텍스쳐 맵들이 렌더링에 사용됩니다. 여기서는 먼저 기본적인 기하 정보를 얻는 방법에 대해 몇 가지 알아 보겠습니다.

 

 

동일한 시간대에 동일한 물체를 여러 방향에서 촬영한 이미지를 가지고 있으면 3차원 정보를 복원 할 수 있습니다. 물체에 있는 3차원 공간의 한 점은 두 이미지에서 각각 다른 픽셀 좌표값으로 나타나게 되는데, 두 이미지에서의 대응점과 카메라 사이의 상대적 위치 정보가 있으면 3차원 좌표를 복원할 수 있습니다. 특징점 추출, 카메라 자세 추정, 최적화 등의 방법이 사용되는 Structure-from-motion (SFM)이 대표적입니다. 하지만 SFM에서 얻은 3차원 데이터는 sparse하기에 좀 더 dense하게 복원하는 과정인 Multi-view stereo 알고리즘이 사용됩니다. 복원된 3차원 정보는 포인트 클라우드와 같은 데이터이기에 Poisson Reconstruction과 같은 표면 복원 알고리즘을 통해 메시 데이터로 만들어집니다.

 

[그림] 3. High-quality Single-shot Capture of Facial Geometry [2]

 

그림은 저렴한 스테레오 카메라 세팅만으로 정교한 안면 스캔을 구현한 2010년의 논문[2]에서 가져온 이미지입니다. Dark-is-deep 방법으로도 불리는데 여러 가정들을 사용해 정규화, 최적화를 거쳐 미세한 주름, 모공 수준의 정교한 안면 스캔 데이터를 얻었습니다. 당시에 다수의 카메라만으로 모공과 같은 디테일을 복원할 수 있는 것은 상당히 놀라운 결과였습니다.

 

 

<구조광(Structured Light)을 사용한 방법>

 

3차원 스캔 기술 중 하나로 IR 프로젝터를 사용해 물체의 표면에 패턴을 쏴서 깊이를 계산하는 방법이 있습니다. 미리 알고 있는 패턴을 물체에 쏘게 되면 물체의 표면에 의해 패턴의 변형이 일어나게 됩니다. 변형된 패턴으로부터 깊이 정보를 계산해 3차원 형태로 복원하게 됩니다. Microsoft의 Kinect 같은 카메라가 구조광 방식을 사용해 깊이 정보를 얻습니다.

[그림] 4. Structured Light Imaging [3]

 

[그림] 5. 구조광을 활용한 3D 스캔 [4]

 

이 밖에도 레이저 스캐너, ToF 카메라와 같이 빛, 초음파 등을 쏘아서 물체 표면에 반사되어 돌아오는 시간을 측정해 거리를 계산하는 방식으로 깊이 정보를 복원하는 방법 등도 있습니다. 

 

이렇게 얻어낸 안면의 3차원 지오메트리 정보도 괜찮은 품질이지만 디테일의 표현에는 한계가 있습니다. 사실적인 렌더링을 위해서는 추가적인 정보가 필요하지만, 물체마다 빛과 상호작용하는 정도가 제각각이므로 간단하지는 않은 문제입니다. 아래에서는 조명을 이용한 복원 기술에 관해 살펴봅니다.

 


 

[조명을 활용한 디테일한 정보의 복원]

 

동일한 물체라도 조명에 따라 이미지는 다르게 나타납니다. 조명의 위치와 표면의 노말 벡터 방향에 따라 밝기의 변화가 다르고, 물체의 재질에 따라서도 빛이 반사되는 형태가 다양합니다. 또한 빛이 바로 반사될 뿐만 아니라 표면에 흡수되고 산란 되어 다시 방출되는 Subsurface Scattering 등 빛과의 상호작용에 의한 다양한 효과가 존재합니다. 

 

 

[그림] 6. 빛에 의해 나타나는 다양한 효과 [5]

[그림] 7. 물체 표면에 의한 빛의 반사 [5]

 

이러한 빛과 물체의 상호작용을 모델링 하기 위해 다양한 기술이 연구되어 왔고, Light stage와 같은 기술이 영화 산업 등에 활용되고 있습니다. 이미지의 조명 환경을 임의로 변경하는 것을 Relighting 이라 하는데 실제로 그 장소에 있는 듯한 느낌을 주기에 영화 제작에 활용하기 좋습니다. 영화에 나오는 배경을 재현하지 않고도 실내 환경에서 손쉽게 촬영함으로써 비용 절감의 효과를 얻을 수 있습니다. Light stage 와 관련된 기술들도 흥미롭지만 이번 글에서는 Light stage에 대해 구체적으로 다루지는 않겠습니다.

 

 

[그림] 8. Light stage [6]

 

 

 

Photometric stereo는 다양한 조명에서 찍힌 이미지로부터 물체 표면의 노말 벡터를 구하는 기술입니다. 물체 표면의 노말 방향, 조명의 위치에 따라 이미지의 밝기가 다르게 나타난다는 점을 이용합니다. 일반적으로 Multi-view geometry를 이용해 구한 3차원 정보보다 더 디테일한 표면의 정보를 얻을 수 있습니다.

 

가장 기본적인 Photometric stereo 알고리즘은 Lambertian reflection을 가정합니다. Lambertian reflection이란 관측자가 바라보는 위치와는 관계없이 모든 방향에서 똑같은 밝기로 보이는 표면에서의 반사를 말합니다. 즉, 관측되는 밝기는 빛이 들어오는 방향과 표면의 노말 벡터의 내적에 비례하게 되고 다음의 식을 세울 수 있습니다.

 

표면의 노말 벡터를 구하는 문제는 위의 선형 방정식을 푸는 문제가 되고 일반적으로 3장 이상의 이미지가 주어지면 최소자승법을 통해 해를 구할 수 있습니다.

 

[그림] 9. Photometric stereo로 복원한 surface normal, albedo [7]

 

 

이렇게 얻어진 노말은 Normal integration [8] 알고리즘을 활용하면 직접 3차원 정보를 복원하는 것도 가능하지만 노말을 합치는 과정에서 에러가 누적된다는 단점이 있습니다. 즉, 미세한 디테일에서는 유리하지만(high frequency error는 적지만) low frequency error가 비교적 크다는 점에서 Multi-view geometry로 구한 정보와는 상보적입니다. 따라서 둘을 잘 활용해 메시 데이터를 정제하는 작업이 가능합니다. [9] 에서 처음 제안 되었는데, 약간의 가정이 들어가지만 간단한 선형방정식을 풀어 노말 정보를 통해 메시 표면의 디테일을 복원합니다.

 


위와 같은 메시 데이터를 생각해보면 v에서의 노말 벡터는 uw변과 수직하게 두고 측정한 노말 Nv^m과의 내적이 최소가 되도록 노말 에러를 정의합니다. 각 점에서의 노말은 측정한 노말을 메시 데이터에 맵핑시켜 사용합니다. 추가로 각 위치에서의 점은 노말 방향으로만 움직인다는 제약 조건을 두고 포지션 에러를 정의합니다. 노말 에러와 포지션 에러가 최소가 되도록 최적화하면 노말을 통해 정제된 메시 데이터를 얻을 수 있습니다.

 

[그림] 10. Near-Instant Capture of High-Resolution Facial Geometry and Reflectance [10] 

 


[그림] 11. 노말을 활용한 디테일 정보의 복원

 

  

물체의 재질에 따라서도 빛이 반사되는 특성이 다양합니다. 금속 재질의 표면은 거울에 가까운 반사 특성을 보이기에 미끄러워 보이지만, 고무 같은 재질의 표면은 사방으로 빛을 반사하기에 거칠어 보입니다. 금속과 같은 반사 특성을 Specular reflection, 고무와 같은 반사 특성을 Diffuse reflection 이라 합니다. 이러한 물체 표면의 반사 특성을 BRDF 등의 함수로 모델링 하며 이를 구함으로 사실과 같은 렌더링이 가능합니다. Light stage에서는 다양한 조명, 빛의 편광 특성 등을 활용하여 물체 표면의 diffuse, specular 반사 특성을 분리하기도 합니다.

 

[그림] 12. Diffuse-Specular Separation using Binary Spherical Gradient Illumination [11]

 


최근에는 뉴럴 네트워크의 학습을 통한 방법들도 상당히 놀라운 성능을 보여주고 있습니다. 3차원 복원에는 NVIDIA에서 최근 공개한 Neuralangelo[12], 렌더링에는 NeRF와 같은 기술들이 최근 높은 인기로 많은 관심을 받고 연구되고 있습니다. 이러한 기술들을 얼굴에도 바로 적용할 수도 있지만, 조금 더 얼굴이라는 영역에 초점을 맞춘 연구들도 많이 있습니다. 그 중 대표적으로는 안면 파라메트릭 모델이 많이 연구되어 왔습니다.

 

[그림] 13. Neuralangelo: High-Fidelity Neural Surface Reconstruction [12]

 

 

<파라메트릭 모델을 통한 3차원 안면 복원>

 

베이스 지오메트리를 얻는 방법과 같이 직접 3차원 좌표를 측정하여 안면의 기하 정보를 복원하는 방법 이외에도 파라메트릭 모델을 피팅하여 안면의 기하 정보를 얻는 방법도 있습니다. 여러 사람의 다양한 표정 스캔 데이터로부터 파라메트릭 모델을 학습하게 되는데 PCA의 개념처럼 사람 얼굴도 낮은 차원에서 변할 수 있는 주성분으로 분해해 재구성하게 됩니다. 이러한 파라메트릭 모델을 만들기 위해서는 스캔한 안면 데이터들을 동일한 형태로 변환해 줄 필요가 있습니다. 메시를 이루는 삼각형의 수와 구조를 전부 동일한 형태로 맞춰 준다고 생각하면 되는데, 이 과정에는 Non rigid registration 알고리즘이 사용됩니다. 최근에는 이 과정을 딥러닝 학습 기반으로 간단히 한 모델들도 공개되고 있습니다.

 

[그림] 14. Instant Multi-View Head Capture through Learnable Registration [13]

 

이러한 토폴로지가 동일한 모델들은 딥러닝 학습에 사용이 용이하다는 장점이 있습니다. 이미지에 파라메트릭 모델을 피팅시키는 딥러닝 모델부터 텍스쳐 학습을 통한 고품질의 안면 데이터 생성 모델, 프롬프트 학습을 통한 생성 모델 등 다양한 딥러닝 모델들도 나오고 있습니다.  

 

[그림] 15. DreamFace: Progressive Generation of Animatable 3D Faces under Text Guidance [14] 

 

 

[그림] 16. Learning Formation of Physically-Based Face Attributes [15]

 

 

 

[끝으로]

 

안면 스캔과 관련된 다양한 기술들에 관해 살펴 보았습니다. 사람의 얼굴은 모공, 주름과 같은 복잡한 기하 구조, 내부 산란 등 다양한 빛과의 상호작용이 있기에, 사실과 같은 렌더링을 위해 여러 기술이 연구되어 오고 있습니다. 전반적으로 너무 겉보기 식으로만 소개한 듯 하여 아쉬운데요, 기술 하나하나가 자세히 들어가 보면 공부 할 요소들이 많고 재밌는 내용들도 많습니다. 기회가 되면 다음 글에서는 조금 더 깊이 들어가 보도록 하며, 이번 글은 여기서 마칩니다.

 

 

 

 

 

[Reference]

[1] https://www.fxguide.com/fxfeatured/the-art-of-digital-faces-at-ict-from-digital-emily-to-digital-ira/

[2] High-Quality Single-Shot Capture of Facial Geometry, Proceedings of ACM SIGGRAPH (Los Angeles, USA, July 25-29, 2010), ACM Transactions on Graphics, vol. 29, no. 3, pp. 40:1-40:9

[3] https://www.roboticstomorrow.com/article/2018/04/what-is-structured-light-imaging/11821

[4] https://vgl.ict.usc.edu/Research/SpatialRelighting/

[5] https://www.scratchapixel.com/lessons/3d-basic-rendering/rendering-3d-scene-overview/light-simulator.html

[6] https://en.wikipedia.org/wiki/Light_stage

[7] https://vgl.ict.usc.edu/Data/LightStage/

[8] Normal Integration: A Survey, https://arxiv.org/abs/1709.05940

[9] Efficiently Combining Positions and Normals for Precise 3D Geometry, ACM Transactions on Graphics (Proc. of ACM SIGGRAPH 2005), August 2005

[10] Near-Instant Capture of High-Resolution Facial Geometry and Reflectance ICT Technical, SIGGRAPH 2015 Technical Talks Eurographics, 2016 ICT Technical Report #ICT-TR-01-2015

[11] Diffuse-Specular Separation using Binary Spherical Gradient Illumination, Eurographics Symposium on Rendering (EGSR: EI&I) 2018

[12] Neuralangelo: High-Fidelity Neural Surface Reconstruction, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2023

[13] Instant Multi-View Head Capture through Learnable Registration, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2023

[14] DreamFace: Progressive Generation of Animatable 3D Faces under Text Guidance, ACM Transactions on GraphicsVolume 42Issue 4Article No.:138pp 1–16https://doi.org/10.1145/3592094

 

[15] Learning Formation of Physically-Based Face Attributes, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020