광선추적기법을 이용한 실사영상의 재현

 

1.    광선추적기법이란?

 

   3차원 컴퓨터 그래픽의 궁극적인 목표는 실세계를 사진과 같이 정확하게 표현해 내는 것이라고 할 수 있다. 그러나 컴퓨터 그래픽에서 실세계의 복잡한 물리적인 현상을 수식과 알고리즘으로 정확히 표현하는 데에는 한계가 있다. 따라서 가장 적합한 테크닉을 사용해서 현실에 매우 가까운 영상을 얻을 수 있을 뿐인데, 컴퓨터 그래픽의 다양한 테크닉 가운데 거울이나 경면(specular surface)물체의 영상을 가장 유사하게 랜더링할 수 있는 기술이 광선추적기법(ray tracing method)이다.

  광선추적기법은 광선의 경로를 하나하나 추적하여 눈에 들어오는 빛을 찾아내는 방법인데, 이 방법을 이용하면 굴절과 반사의 효과를 나타내는 데 있어 그리 어렵지 않다. 광선의 효과가 없는 평범한 다면체들을 그려내기 위해 광선추적기법으로 광선을 일일이 추적하는 것은 비효율적이지만, 거울이나 투명체를 표현하는 데 있어서는 광선추적기법이 매우 알맞은 방법이다. 광선추적기법의 또 다른 장점은 은면제거 알고리즘이 따로 필요하지 않다는 것이다. 그 이유는 가려진 물체가 발산하는 빛은 우리의 눈에 직접 들어오지 않고 다른 물체에 닿아버리므로 결국 이 빛은 화면에 표시되지 않기 때문이다. 광선추적기법이 물리적인 빛의 반사와 굴절을 모델링한다는 장점을 이용하여 추적대상이 되는 빛과 물체의 정확한 물리적인 특성을 정의한다면 실제 인간의 눈으로 입사하는 빛의 물리량을 추적할 수 있을 것이다. 본 연구에서는 이러한 특성을 이용하여 실제로 사용되는 실세계의 빛과 물체의 물리적인 특성에 기반하여 실제 시감이 느끼는 물리적인 자극치를 계산하고 이러한 자극과 대응하는 정확한 색을 재현하는 알고리즘을 연구한다.

 

    

그림 1. 광선추적기법을 이용한 랜더링 영상의 예

 

 

2.    순방향 광선추적기법(forward ray tracing)

 

빛의 순방향 추적은 광원에서 시작된 광선이 물체에 닿아 반사, 산란, 투과되는 현상을 모델링하여 최종적으로 관찰자의 눈에 들어오는 빛을 찾는 기법으로 너무 많은 샘플과 계산량 때문에 응용하기에 어려움이 있다. 순방향 광선추적기법은 역방향 광선추적기법에 비해 자연현상을 좀 더 충실하게 시뮬레이션한다는 점에서 장점이라 할 수 있지만, 광원이 내보내는 모든 방향의 광선을 추적해야 한다는 비능률적인 단점을 가지고 있다. 즉, 광원에서 시작하여 수많은 방향으로 세분화시킨 광선들을 모두 추적한다 해도, 그것들 중 대부분은 우리의 눈에 들어오지 않을 뿐만 아니라 그러한 광선들은 영상을 생성할 때에 전혀 기여하지 못하기 때문이다. 그러므로 충분한 개수의 광선이 눈, 즉 화면에 들어오도록 만들기 위해서는 광원에서 출발한 광선들을 거의 무한하게 세분화시켜야 한다는 것이다. 또한, 거친 표면에 닿은 빛은 넓은 범위로 분산되므로 정확한 추적을 위해서는 또다시 방향을 세분화시켜야만 하기 때문에 사실상 이러한 방법으로 자연현상을 모델링 하기란 불가능하다.

 

 

그림 2. 순방향광선추적기법의 개념도

 

 

3. 역방향 광선추적기법(backward ray tracing)

   순방향 광선추적기법에 비하여, Arbo[6]와 Whitted[7]에 의해 제안된 역방향 추적기법은 관찰시점이 되는 인간의 눈에서 시공간(viewing space)이 되는 스크린으로 이어지는 광선(ray)의 경로를 하나하나 추적하여 눈에 들어오는 빛만을 찾아내는 방법이다. 즉, 관찰자의 시선방향을 따라가서 빛을 발산하는 물체를 찾아내는 역방향 추적기법으로써, 미리 정해진 개수만큼의 광선을 추적하므로 모든 광선을 추적하는 정방향 추적기법에 비해 계산량을 줄일 수 있는 효율적인 방법이다. 추적 대상이 되는 시선이 물체에 닿았다는 것은 그 방향에서 물체의 빛이 눈으로 들어오는 것을 의미하므로 추적하는 모든 광선은 영상내의 픽셀의 색을 결정하는데 모두 기여하게 된다. 이러한 역방향 광선추적기법은 기존의 와이어프레임 랜더링이나 은면제거 알고리즘(hidden surface removal)이 필요하지 않고, 경면반사(specular reflection)나 경면굴절(specular refraction)이 일어나는 금속이나 거울, 또는 유리물체에 대한 매우 사실적인 영상을 생성할 수 있다는 장점이 있다. 다음의 그림 3에서 이와 같은 역방향광선추적기법의 개념을 나타내고 있다.

  

  

 

그림 3. 역방향 광선추적기법의 개념도

 

그림 3에서 볼 수 있듯이, 시점(eye point)을 출발한 광선은 컴퓨터의 스크린으로 설정되는 시공간을 따라 픽셀단위로 진행하면서 물체와의 교차점을 찾고, 다음 진행방향을 계산하면서 광원으로부터 오는 빛을 강도를 계산하는 과정을 반복한다. 만약 시점을 출발한 임의의 광선이 어떠한 물체와도 교차점이 존재하지 않으면, 그 픽셀은 미리 정한 배경색으로 칠해지게 된다. 그림 2에서 이러한 역방향 광선추적기법의 흐름도를 나타내었다.

 

그림 4. 역방향 광선추적기법의 흐름도

 

 

4. 음영모델(shading model)

 

광선추적기법에서는 진행하던 빛이 가상의 3차원 공간상에 있는 물체에 닿아서 교점이 발생했을 때 음영모델을 적용하여 그 지점에서의 색을 계산하게 된다. 거울면과 같이 입사하는 빛을 모두 정확하게 반사하는 이상적인 정반사(specular reflection)를 제외하고는 대부분의 실세계 물체들은 정반사 방향을 중심으로 멀어질수록 빛의 세기가 점점 약해지다가 결국 자연스런 난반사되는 빛의 세기로 바뀌게 된다. 교점에서 색을 계산하기 위한 모델로는, 국부조명모델(local illumination model)과 전역조명모델(global illumination model)로 구분된다. 다음의 수식과 같이, 국부조명모델은 현재 교점에서의  조명모델을 나타내며, 전역조명모델은 다음 추적된 광선에서 계산되는 색을 나타낸다.

여기서

        P    는  교점,

        Pr   는  반사광을  추적한  후  발생한  다음  교점,

        Pt   는  굴절광을  추적한  후  발생한  다음  교점,

        Krg    물체의  반사계수,

        Ktg    물체의  투과계수    각각  나타낸다.

 

 

5. 분광분포 기반의 광선추적기법

  

 실제로 눈의 시감으로 느끼는 색을 정확하게 추정하기 위해서는 그 색의 물리적인 변화과정을 추적할 필요가 있는데, 그 이유는 눈으로 들어오는 빛에너지는 광원에서 출발하여 여러 물체들을 반사, 투과하는 과정을 거치게 되고 주변광(ambient light)의 영향을 받아 에너지의 크기와 분광분포(spectral distribution)가 변화하기 때문이다. 실사영상을 재현하기 위해 본 연구에서 사용된 광선추적기법은 시선에서 출발한 광선이 물체와 교차하여 반사와 굴절을 반복할 때에 기존의 RGB 삼원색으로 계산하지 않고 색의 분광분포를 이용한 계산을 함으로써 실세계에서 일어나는 물리적 현상을 정확하게 모델링하였다. 다음 그림에서는 이러한 과정을 나타내었다. 광원에서 출발한 빛에너지의 분광분포는 투과체를 통과하면서 분광분포가 변형되고, 반사하는 물체를 만나면 또다시 분광분포가 변화하여 최종적으로 사람의 눈에 입사하는 빛에너지는 사람이 인식할 수 있는 물체의 색으로 나타내어진다.

 

그림 5. 분광분포기반의 색의 계산과정

 

 

6. 재현모니터의 특성을 고려한 색의 계산과정

 

모든 색은 각각 고유의 분광분포를 가지고 있고, 분광분포에 대한 정보로서 장치 독립적인(device independent) 색 공간으로 변환하여 정확한 색의 정의가 가능하게 된다. 또한, 이러한 물체의 고유색을 디스플레이 장치에 정확히 재현하기 위해서는 현재의 장치에 맞는 변환행렬을 통해 RGB 값으로 변환하는 과정을 거쳐야 한다.

그림 6. 재현모니터의 특성을 고려한 색의 계산과정

 

 

7. 실험결과

 

본 연구의 실험에서는 실제 자동차의 리어램프의 점등실사영상을 본 알고리즘을 적용하여 랜더링하고 그 결과영상을 실제 디지털카메라로 촬영하여 비교하였다. 근본적으로 관측자가 직접 랜더링된 영상과 실제의 점등램프를 동시에 관찰하여 비교하여야 하나, 실험을 위하여 디지털카메라로 촬영하였으므로 색(color)에 있어서 다소 차이가 남을 알 수 있다.

 

(a)실제 촬영된 영상     (b) 시뮬레이션 영상

그림 7. 방향지시등의 점등 시뮬레이션

 

            

(a)실제 촬영된 영상                  (b) 시뮬레이션 영상

그림 8. 리어램프의 점등 시뮬레이션

 

              

(a)실제 촬영된 영상                 (b) 시뮬레이션 영상

그림 9. 리어램프의 점등 시뮬레이션(15도 회전)

 

              

(a)실제 촬영된 영상                    (b) 시뮬레이션 영상

그림 10. 리어램프의 점등 시뮬레이션(30도 회전)

 

 

8. 참고문헌

 

[1] Thomas A. Funkhouser, “A Visibility Algorithm for Hybrid Geometry- and Image-based Modeling and Rendering,” Computers & Graphics, vol. 23, pp. 719 - 728, 1999.

[2] Tein-tsin Wong, Pheng-ann heng, Siu-Hang, and Wai-yin, “Illumination of Image-Based Objects,”The Journal of Visualization and Computer Animation, vol. 9, pp. 113 - 127, April. 1998.

[3] Stephen R. Marschner, Stephen H.Westin, Eric P. F. Lafortune, and Kenneth E. Torrance, “Image-based Bidirectional Reflectance Distribution Function Measurement,” Applied Optics, 2000 Optical Society of America, vol. 39, no. 16, pp. 2592 - 2600, June. 2000.

[4] Andrew Woo, Pierre Poulin, and Alain Fournier, “A Survey of Shadow Algorithms,” IEEE Computer Graphics and Applications, vol. 10, no. 6, pp. 13 - 32, Nov. 1990.

[5] Roy S. Berns, Principles of Color Technology, Wiley Interscience.

[6] J. Arvo, "Backward Ray Tracing," Tutorial Notes on the Developments in Ray Tracing SIGGRAPH 86, Aug. 1986.

[7] Whitted J. T, "An Improved Illumination Model for Shaded Display," Comm. ACM, vol. 23, no. 6, pp. 342 - 349, June. 1980.

[8] Phong B, "Illumination for Computer-Generated Pictures," Comm. ACM, vol. 18, no. 6, pp. 311 - 317, 1975.

[9] James F. Blinn, "Models of Light Reflection for Computer Synthesized Pictures," Computer Graphics, Proceedings, Annual Conference Series ACM SIGGRAPH, pp. 192 - 198.

[10] K. Torrance and E. Sparrow, "Theory for Off-Specular Reflection from Rough Surfaces," Journal of the Optical Society of America, vol. 57, no. 9, pp. 1105 - 1114, 1967.

[11] Robert L. Cook, "A Reflectance Model for Computer Graphics," Computer Graphics, vol. 15, no. 3, Aug. 1981.

[12] Andrew S. Glassner, ”An Introduction to Ray Tracing,” Morgan Kaufmann Publishers, Inc.