23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요, Volumetric Capture 기술에 대해 소개 드리겠습니다.
일반 2D 영상 촬영과 다르게 피사체의 전방위 영상을 모두 획득하여 이를 가상의 공간 좌표로 변환하는 과정을 통해, 사용자가 자유로운 시점에서 시청이 가능한 형태의 촬영 및 프로세싱 전반의 기술을 말합니다.
일반 촬영은 촬영 작가의 의도에 따라 특정 시점(view-point)에서 촬영이 되어지고, 이를 사용자가 일방향으로 시청해야 하는 반면,
Volumetric Capture를 통해 만들어진 결과물은 사용자가 자유로운 시점(앞, 뒤, 위 등등)에서 시청이 가능한 점이 가장 큰 차이점입니다!
메타버스라 불리는 가상의 공간에서는 특히 사용자가 어떤 위치에서든 존재할 수 있고, 때문에 3D 공간 상에서의 모든 정보가 필요하기 때문에, Volumetric Capture 기술과 Fit이 잘 맞는 것 같아요 :)
Capture (@Stage)
Point generation
Meshing and texturing
Mesh tracking
Compression and encoding
먼저, Studio 에서 전방위 촬영을 진행합니다.
촬영 하기 전부터 여러가지 고려 사항이 있는데요. Studio 구축과 연관이 있는 광학 사양에서부터 영상 정보를 capture하는 camera와 촬영 데이터를 핸들링하는 DVR,
그리고 각각의 time-sync를 맞추어주는 time-generator, 촬영 공간에서의 조명 컨트롤러 등을 점검해야 합니다.
더불어 통상 Volumetric Studio에서는 다수의 카메라를 사용하기 때문에,
카메라의 위치 정보에 대한 camera-calibration과 차후 프로세싱에서의 데이터 축소를 위해 background-calibration, 조명 균일도와 색감 (파장별 투과율) 조정을 위한 white-calibration 과정을 먼저 수행합니다.
Jump Studio에서는 Pod 단위로 카메라가 배치되는데, 2대의 RBG 카메라와 2대의 IR 카메라를 묶어서 1개의 Pod로 정의합니다.
이렇게 3개의 Pod로 구성된 것이 Tower 이며, 측면에는 총 8대의 Tower가 배치되어 있습니다. (상단에도 추가로 구성되어 있음)
이렇게 구성된 Pod 단위로 Depth Map을 생성하고 신뢰도를 추정합니다. (IR 과 RGB에 대해 신뢰 가중 평균을 계산합니다)
Pod 단위로 구성되어 있다는 점은 여러가지 촬영의 case별로 IR, RBG, Hybrid 등의 다양한 방식으로 3D를 재구성할 수 있다는 장점이 있습니다.
다음은 각 case별로 보다 높은 정밀도를 구현할 수 있는 예시입니다.
3D 구현 시에 전체적인 체형은 IR이 우세하며, 머리카락이나 신발과 같이 IR이 쉽게 흡수되는 영역은 RGB가 우세합니다. 골프채의 경우에는 binary로 계산한 실루엣(SfSil)이 보다 우세함을 알 수 있습니다.
따라서 여러 상황에 맞는 최적의 값을 frame 단위로 hybrid로 구현해 내는 것이 필요합니다.
IR을 흡수하는 영역에 대한 촬영 시에는 실루엣을 사용하는 것이 결과가 보다 좋을 수 있습니다.
아래 이미지는 실제 IR을 잘 흡수하는 형태의 바지를 촬영했을 때의 사례입니다. IR dot 가 바지 영역에서는 거의 보이지 않는 것을 알 수 있습니다.
이 경우에는 위의 연구와 같이 실루엣을 적용하는 것이 좋습니다. (아래 우측 이미지) 다만 실루엣을 적용할 경우, 다른 부분의 noise가 증가할 수 있으니, 이 점에 주의하여야 합니다.
포인트 클라우드로부터 Mesh를 생성합니다.
잘 알려진 Screened PSR (Poisson surface reconstruction) 알고리즘
추가 constrain을 통해 보다 세밀한 Mesh 구성
Mesh 의 Noise 제거
주요 관심영역을 설정하여 해당 부분에 더 많은 Mesh 및 텍스쳐할당
Screened Poisson surface reconstruction(PSR) 은 오랜 기간동안 포인트 클라우드 매싱에 폭 넓게 사용되는 알고리즘입니다.
연산 수행이 상대적으로 빠르고, 불완전한 데이터에 대한 복원력이 유효한 편입니다.
따라서 보통의 경우에는 SPSR 에 상황에 맞는 추가 constrain 을 적용하여 사용하는 편입니다.
MRCS에서는 Screened PSR에 필요에 따라 background mask 와 비교하여 객체의 외부에 있을 경우,
포아송 솔버의 스칼라 계수를 음수로 확정하는 작업을 통해 Hull-constrained PSR을 적용함으로써 객체의 edge를 더 효과적으로 구현하고 있습니다.
이후에는 가장 중요한 Importance 영역을 지정합니다.
스트리밍이 가능한 형태의 Volumetric Capture 결과물에서는 용량의 이슈로 이 과정이 매주 중요합니다.
통상의 연출에서 인지적으로 중요한 요소(얼굴, 손가락 등)를 설정하고, 이를 이미지 객체 추적을 통해 영역을 자동 지정하거나, 선택하여 Mesh 및 Texture의 UV map 을 효과적으로 지정하게 됩니다.
Importance 영역으로 얼굴이 지정되었을 때, Mesh의 density 증가하고 UV map 에서의 Texture 비율이 조정되어 최종 품질이 크게 향상될 수 있습니다. (아래 예시)
3D 영상은 기본적으로 아래와 같이 세가지 형태로 구성 되어 있습니다.
Mesh / Texture / UV
여기서 UV 는 Mesh와 Texture의 공간좌표 정보를 담고 있습니다.
즉, Volumetric 영상은 기본적으로 매 frame마다 texture 정보를 담고 있으며, 따라서 영상 압축을 할 때 시간축으로 Texture 정보의 일관성을 유지하는 것은 매우 중요한 요소로 작용합니다.
특정 window 기간 안에서 효과적인 대표 frame (keyframe)을 설정하고 이를 바탕으로 UV map을 생성하는 Mesh Tracking을 통해, texture 정보의 일관성을 가급적 유지해줌으로써 효율적인 압축이 가능해집니다.
비디오 압축의 핵심은 Mesh tracking으로 인한 시간 축으로 일시적 일관성을 갖는 UV 배치입니다.
스트리밍이 가능한 MPEG 포맷으로 출력하며 NAL unit에 mesh를 embed 하는 형태를 통해 MPEG 편집시 mesh 손실 없이 컨테이너 수정 가능합니다.
아래의 예시는 Mesh Tracking에 따른 압축 후 품질 차이에 대한 부분입니다. UV map 의 일관성을 유지할 수록 보다 효과적인 압축이 가능함을 알 수 있습니다.
촬영시에 필수적인 Props이 있다면, 이를 구분하여 UV map을 배치하는 것이 최종 품질을 더욱 향상할 수 있습니다.
별도 영역에 Props을 배치하게 되면, UV map에 일관성을 유지하는데 도움을 주고, 객체의 주요 관심 영역에 더욱 많은 Texture를 할당할 수 있습니다.
여기까지 Volumetric Capture 기술에 대한 개괄적인 소개를 드렸습니다.
부족하지만, 메타버스 플랫폼이 활성화 되는데에 필요한 기술 중 하나인 Volumetric Capture 기술에 대해 조금이나마 이해할 수 있는 계기가 되었다면 좋겠습니다.
본 게시글의 주요 이미지 캡쳐는 Microsoft의 High-quality streamable free-viewpoint video (2015) https://dl.acm.org/doi/10.1145/2766945 또는 Jump Studio 결과물에서 발췌하였습니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.