ISSN : 2288-9604(Online)
스펙트럼 맵 기반의 3D 컬러 모델링 및 렌더링 기법
3D Color Modeling and Rendering Based on Spectrum Map
Abstract
- 페이지_ 18권 4호 전체 41-46.pdf781.4KB
- 1. 서 론
- 2. 스펙트럼 기반 컬러 재현
- 3. 스펙트럼 기반 3D 모델링 및 렌더링
- 4. 스펙트럼 기반 카메라 특성화
- 4.1. 스펙트럼 기반 카메라 특성화
- 5. 스펙트럼 맵
- 5.1. 스펙트럼 샘플링 간격 결정
- 5.2. 스펙트럼 맵
- 5.3. 스펙트럼 맵의 실제 적용
- 6. 결론
- Acknowledgement
1. 서 론
인간의 시각에 인지되는 물체의 컬러는 광원에서 방출된 빛이 물체에 반사되어 인간의 눈에 다다르게 된다. 이때의 빛은 파장에 따라 다른 에너지를 가지고 있으며 빛을 인지하는 시세포가 가지고 있는 3가지 필터에 의해 3차원의 컬러 정보로 변환된다. 변환된 컬러 정보는 뇌로 보내져 다양한 처리를 통하여 인지하게 된다. 따라서 현재 널리 쓰이고 있는 컬러영상관련 장비들은 기본 RGB의 3채널 컬러데이터를 다루고 있으며, 이는 인간 시각의 시세포의 필터 특성을 모델링 한 것이다. 즉, 시세포의 세 개의 필터와 유사한 컬러 필터를 이용하여 빛을 필터링하여 각각 RGB 데이터로 양자화하여 저장한다. 저장된 RGB데이터를 출력하기 위해서는 양자화된 데이터의 크기에 따라 RGB 필터로 필터링된 각 광원의 크기를 조절하여 3개의 광원의 합으로 컬러를 재현한다. 따라서 실제 인지되는 컬러를 데이터로 표현하고 재현하는 과정은 RGB 3차원 데이터로도 가능하다. 그러나 가상의 공간에서는 문제가 달라진다.
가상의 공간에서는 광원의 빛이 물체에 반사되어 인간시각에 도달하는 컬러 정보를 측정하거나 촬영할 수 없기 때문에 이를 추정하는 시스템이 필요하다. 즉, 특정 광원 하에서 물체가 어떤 컬러로 인간시각에 인지 될 지에 대해 추정하고 이를 디스플레이에 그대로 재현하기 위한 컬러 보정 과정이 선행되어야 한다. 그러나 기존의 3D 모델링 및 렌더링 과정에서는 컬러 정보를 RGB 3채널의 정보만을 다루기 때문에 실제 물체의 컬러가 조명의 컬러에 의해서 어떻게 변화하는지를 추정하기가 어렵다. 이는 실세계에서의 컬러는 광원에서 나온 빛이 물체에 반사되어 나오는 스펙트럼의 분포가 결정하기 때문이다. 따라서 단순한 RGB 데이터로 렌더링 할 경우 현실 세계의 컬러와는 차이를 나타내게 된다. 따라서 이러한 문제를 해결하기 위해 본 논문에서는 RGB텍스쳐 맵 대신 스펙트럼 기반의 텍스쳐 맵을 이용하여 가상공간에서의 컬러를 렌더링하고 컬러 특성화 과정을 거쳐 실제 디스플레이에 나타낸다.
본문의 2장에서는 스펙트럼 기반 컬러 재현에 대해 논하고 3장에서는 3D 모델링 및 렌더링에서 적용하는 방법에 대해 설명한다. 4장에서는 스펙트럼 맵 구성과 최적화에 대해 설명하고 5장에서는 응용 어플리케이션에 대한 테스트 결과를 제시한다.
2. 스펙트럼 기반 컬러 재현
물체의 컬러를 카메라로 촬영하고 이를 디스플레이에 그대로 재현하기 위해서는 다양한 컬러 보정과정이 필요하다. 일반적으로 RGB컬러 데이터를 이용하여 카메라로 물체의 컬러를 획득하고 이를 디스플레이로 재현한다. 그러나 이러한 RGB 데이터는 각 컬러 영상장비마다 다르게 나타난다. 동일한 RGB 데이터를 두 디스플레이에 재현할 경우 두 디스플레이의 컬러가 다르게 나타난다. 따라서 이를 보정하기 위해 일반적으로 Figure 1과 같이 컬러 특성화, 색역 맵핑 등의 컬러 일치 과정이 필요하다. 일반적으로 컬러 영상 장비에 독립적인 CIEXYZ, CIELAB 컬러 공간에서 컬러를 보정한다.
Figure 1. General Color Matching Process.
이에 반해 스펙트럼 기반 컬러 재현은 Figure 2와 같이 CIEXYZ 공간이 아닌 스펙트럼 공간에서 컬러를 재현한다. 카메라의 출력 RGB 값을 스펙트럼으로 변환하는 단계가 더 포함되어 있다. 이로 인하여 카메라로 촬영된 이미지로 3D 모델을 생성한 경우 RGB 가 아닌 스펙트럼 데이터를 기반으로 가상의 공간에서 조명이나 주변 환경을 고려한 컬러 재현이 가능하다. 즉 일반적인 3D 렌더링 과정이 RGB 도메인에서 이루어지는 반면 제안한 스펙트럼 기반의 접근에서는 모든 렌더링 과정이 스펙트럼 도메인에서 이루어진다.
Figure 2. Spectrum-Based Color Matching Process.
3. 스펙트럼 기반 3D 모델링 및 렌더링
스펙트럼 기반 컬러 일치 기술을 기존의 3D 스캐닝, 모델링 및 렌더링 과정에 적용한 전체 흐름도가 Figure 3과 같다. 3D스캐닝 시스템에서 스캔한 RGB 이미지를 3D 모델링을 통해서 텍스쳐를 추출한다. 이때 스캐닝 시스템의 카메라는 스펙트럼 기반 카메라 특성화 과정을 통해서 입출력 특성을 모델링하고 이를 이용하여 RGB 텍스쳐를 스펙트럼 텍스쳐로 변환한다. 3D 렌더링 과정에서 광원, 주변 환경의 스펙트럼 정보를 이용하여 가상공간에서의 물체 스펙트럼을 추정하고 이를 디스플레이 특성화 기반의 컬러 변환 과정을 통해 RGB 텍스쳐로 다시 만들어 디스플레이에 재현한다.
Figure 3. 3D Scanning, Modeling, and Rendering Using Spectrum-Based Color Matching Process.
4. 스펙트럼 기반 카메라 특성화
스펙트럼 기반 카메라 특성화는 카메라의 출력 RGB 데이터로부터 입력 스펙트럼을 추정하는 기법이다. 이는 이론적으로 많은 오차를 수반하기 때문에 샘플 패치들을 이용한 트레이닝을 통해서 오차를 줄여나간다. 특히 시스템에서 사용될 타겟을 한정하고 이와 유사한 스펙트럼들을 트레이닝 샘플로 사용하면 그 정확도를 높일 수 있다.
4.1. 스펙트럼 기반 카메라 특성화
스펙트럼 기반 카메라 특성화를 위해 카메라의 입출력 특성을 수식 (1)과 같이 모델링한다.
d는 출력 RGB 신호를 나타내고 k는 그 인덱스를 나타낸다. 우변의 입력 파라미터들 중 I는 광원의 분광분포를 나타내며, r 은 물체의 반사율, o 는 렌즈의 투과 특성, c 는 카메라 CCD의 응답특성, 마지막으로 t 는 컬러필터의 특성을 나타낸다. 이러한 입력 파라미터들 중광원의 세기, 카메라의 렌즈 CCD, 컬러 필터 특성을 카메라 특성으로 정의하고 이를 벡터연산으로 간략화 할 경우 수식(2)와 같이 나타낼 수 있다.
여기서 r 은 물체의 분광반사율을 나타내며, S는 카메라 특성을 나타내며, d는 출력 RGB를 나타낸다. 결국 입력 트레이닝을 통해 카메라 특성을 추정하고 이를 이용하여 물체의 분광 반사율을 추정한다.
5. 스펙트럼 맵
스펙트럼 기반 카메라 특성화를 통해 생성된 스펙트럼 맵을 고속 3D 렌더링에 이용하기 위해서는 이에 맞는 최적화 과정이 필요하다. 이를 위해 먼저 하나의 스펙트럼을 나타내는 스펙트럼 샘플 개수를 결정해야 한다. 일반적으로 스펙트럼 측정기의 경우 1nm, 2nm, 5nm, 10nm 간격을 사용하여 가시광 영역의 스펙트럼을 나타낸다. 가시광 영역도 사람에 따라 인지할 수 있는 범위가 다르기 때문에 본 논문에서는 400-700nm로 한정하여 사용한다. 샘플링 간격이 좁고 가시광 영역이 넓을수 록 정교한 스펙트럼 재현이 가능하지만 이를 고속 3D 모델링 및 렌더링에 사용하기에는 한계가 있다. 따라서 최소한의 데이터를 가지고 고품질 렌더링을 할 수 있는 최적화 과정이 필요하다.
5.1. 스펙트럼 샘플링 간격 결정
스펙트럼 기반 컬러 보정 알고리즘의 최종 목적은 인간 시각에 정확한 컬러를 재현하기 위한 것이기 때문에 스펙트럼 샘플링 간격은 컬러 재현 오차를 최소화하는 범위 내에서 최적화 되어야 한다. 따라서, 최적의 샘플링 간격을 결정하기 위해 테스트 패치를 이용하여 샘플링 후 컬러 재현 오차를 비교하였다. 샘플링 간격의 경우 10nm 이하의 데이터는 고속 3D 렌더링이 어려워 최소 10nm를 기준으로 20, 30, 40, 50nm의 4단계에 대해 테스트 하였다. 테스트의 기준이 되는 원본 스펙트럼은 실측된 300개의 스펙트럼 샘플을 사용하였으며 400-700nm 대역에서 10nm 간격으로 31개의 스펙트럼 샘플로 구성되었다. 컬러 재현 오차를 구하기 위해 D65 표준 광원을 사용하였으며, CIE1931, CIE1964 표준관찰자에 대한 컬러 매칭 함수를 사용하였다. 이에 원본 스펙트럼과 샘플링 간격을 변화시킨 스펙트럼을 표준광원과 컬러 매칭함수를 이용하여 CIELAB 값으로 변환하고 이 둘 사이의 컬러 오차를 계산하였다.
Figure 4는 샘플링 간격의 변화에 대해 300개 스펙트럼의 CIELAB 컬러 재현 오차의 평균과 최대값을 나타낸다. Figure 4의 스펙트럼 측정기의 출력 스펙트럼 데이터에 D65 광원과 표준 관찰자의 컬러 매칭함수를 이용하여 도출한 CIELAB 값을 사용한 결과이다. Table 1은 이에 대한 컬러 재현 평균 오차와 최대 오차를 나타낸다. 샘플링 간격이 증가함에 따라 컬러 재현 오차가 증가하는 것을 볼 수 있으며, 평균적으로 볼 때 20nm까지의 간격을 사용할 경우 평균 컬러 재현 오차가 1이하로 나타나기 때문에 샘플링 간격은 20nm로 결정하였다.
Figure 4. Transitions of CIELAB color difference by sampling interval for computed CIELAB.
Table 1. CIELAB color difference for each intervals.
샘플링 간격 10nm와 20nm에 대해 스펙트럼 기반 카메라 특성화 기법을 적용하였을 때 발생하는 컬러 재현 오차의 차이에 대해서 테스트 하였다. 카메라 특성화 방법은 SVD(singular value decomposition) 기반의 특성화 기법이 사용되었으며 D65 광원과 Macbeth Color Checker 24개의 패치에 대해서 적용하였다. SVD 기반의 방법은 수식(2)에서 해를 구하기 위해서는 비 정방행렬의 역행렬을 구해야 한다. 이를 위해 행렬을 SVD로 분해하고 역행렬을 구해 이를 이용 하는 방법이다. Figure 5는 10nm로 샘플링한 데이터를 이용하여 추정한 스펙트럼(a)와 20nm 샘플링을 이용하여 추정한 스펙트럼(b)를 나타낸다. Figure 5(a)의 스펙트럼에 비해 Figure 5(b)의 스펙트럼이 부드럽지 못하고 꺽이는 부분이 발생하고 있는 것을 확인할 수 있다. 그러나 실제 CIELAB 컬러 재현오차를 비교해 본 결과 차이가 0.5 이하로 차이가 없음을 확인하였다.
Figure 5. Estimated spectrum data by sampling with (a) 10nm and (b) 20nm intervals.
5.2. 스펙트럼 맵
3D 모델링 및 렌더링에서 사용하는 RGB 텍스쳐 맵의 경우 하나의 픽셀을 나타내는 데이터가 3채널의 정수지만 스펙트럼 맵의 경우 하나의 픽셀을 나타내는 데이터가 10nm 일 경우 31채널의 소수이며, 최소 소수점 아래 3자리까지가 필요하다. 따라서 이러한 데이터를 그대로 사용하면 고 사양의 시스템이 요구되고 성능 또한 저하될 수 있기 때문에 데이터의양을 줄이는 과정이 필요하다.
일반적으로 측정된 스펙트럼의 형태는 연속적으로 부드러운 곡선 모양을 가지고 있다. 이는 샘플과 샘플 사이의 변화가 작다는 것을 의미하기 때문에 샘플 간의 차이를 이용한 간단한 압축방법을 적용한다. Figure 6과 같이 하나의 스펙트럼을 나타내는 16개 데이터에 대해 첫 번째 데이터는 2Byte를 할당하고 나머지는 1Byte씩 할당한다. 첫 번째 2Byte에 대한 데이터는 그대로 저장하고 이 후 1Byte에 해당 하는 데이터는 앞의 데이터와의 차이만을 저장한다. 이렇게 저장하게 되면 바로 손실 없이 데이터양을 줄일 수 있다.
Figure 6. Data structure for a spectrum.
5.3. 스펙트럼 맵의 실제 적용
3D 모델링 및 렌더링에 스펙트럼 맵을 실제적용하여 테스트 하였다. Figure 7은 스펙트럼 기반 카메라 특성화를 통해 획득된 얼굴의 스펙트럼 데이터를 이용하여 스펙트럼 맵을 생성하고 이를 디스플레이 특성화를 통하여 RGB 텍스쳐 맵으로 추출한 이미지이다. Figure 8은 스펙트럼 맵을 이용하여 생성된 텍스쳐 맵과 3D 메쉬모델을 이용하여 생성된 3D 페이스 모델을 렌더링한 결과이다. 광원효과를 배제한 텍스쳐 그대로의 컬러를 보여주고 있으며 실제 피부 컬러와 유사한 것을 확인할 수 있다.
Figure 7. Obtained texture image from spectrum map.
Figure 8. Constructed 3D face model using spectrum map.
6. 결론
스펙트럼 기반의 컬러 재현 기법을 3D 모델링 및 렌더링 과정에 적용하여 실제 물체의 컬러에 가까운 컬러를 3D 공간에서 재현하기 위한 기법이 제안되었다. 고속 렌더링을 위해 스펙트럼 맵을 최적화 하였으며, 카메라 및 디스플레이 특성화를 통해 측정 기반의 컬러 보정 기법을 적용하였다. 제안한 스펙트럼 맵을 이용한 3D 렌더링 방법을 기반으로 스펙트럼 기반 광원 렌더링 기법에 대한 연구를 진행할 예정이다.
Acknowledgement
본 연구는 문화체육관광부 및 한국콘텐츠진흥원의 2011년도 콘텐츠산업기술지원사업의 연구결과로 수행되었음
Reference
2.A. Mansouri, F. Marzani, and P. Gouto, Neural networks in cascade schemes for spectral reflectance reconstruction, IEEE International Conference on Image Processing (ICIP05) II. Genova, Italy, 718, 2005.
3.O. Kwon, I. Jang, and Y. Ha, Algorithm of Color Reproduction for Deriving with Low-Power in PDP TV, J. Korean Society for Imaging Science and Technology, 13(4), 264 (2007).
4.S. T ominaga and Y . M oriuchi, P C A based Reflectance Analysis/Synthesis of Cosmetic Foundation, 16th Color Imaging Conference, Portland, Oregon, USA, 195, 2008.