1 서론
컴퓨터 그래픽스 분야에서 실사 이미지를 렌더링하기 위해 물리 기반 렌더링 방식이 주로 사용되고 있다. 특히, 경로추적법(path tracing) 및 양방향 경로추적법(bidirectional path tracing) [1]은 렌 더링 방정식 [2]의 적분값을 몬테카를로 방식으로 추정하는 대 표적인 비편향 알고리즘이다. 이러한 방식은 비편향 방식이지만 몬테 카를로 샘플 수가 유한할 때 몬테카를로 분산(잡음)의 영향 으로 렌더링 품질이 저하되고, 잡음이 없는 이미지로 수렴하는 데 많은 시간(비용)이 소요된다. 특히, 커스틱(caustics)과 같은 복 잡한 물리 효과를 포함하는 장면을 렌더링할 때 이러한 문제가 더욱 심화된다.
광자 매핑(photon mapping) [3]은 가상의 카메라와 광원으로부 터 광선을 추적하여 빛의 물리 현상을 시뮬레이션하는 방식으로, 광원에서 나오는 광자들의 정보를 광자 맵(photon map)에 저장 하고 카메라로부터 광선을 추적하여 적중점(hit point)을 기준으 로 일정 반경안의 광자들에 대한 커널 밀도를 추정하여 픽셀값을 계산하는 방식이다. 광자 매핑 방식은 편향된 방식이지만, 샘플 수가 무한할 때 참값으로 수렴하는 것을 이론적으로 보장할 뿐만 아니라 커스틱과 같은 전역 조명 효과를 비편향 렌더링 방식보 다 효율적으로 렌더링할 수 있어 컴퓨터 그래픽스 분야에서 널리 사용되고 있다.
하지만, 기존 광자 매핑 방식은 메모리의 물리적 한계로 인해 저장되는 광자의 수가 제한되어 실질적으로는 참값으로 수렴할 수 없는 문제가 있다. 이를 해결하기 위해 점진적 광자 매핑(progressive photon mapping) [4] 방식이 제안되었고, 이 방식은 모든 광자를 광자 맵에 저장하지 않고 일정한 수의 광자를 반복해서 추적하며 누적된 플럭스(flux) 값을 저장하여 많은 메모리가 필요 하지 않다. 또한, 반복마다 누적된 플럭스 값에 일정한 가중치를 곱하며 누적하여 반복 횟수가 증가함에 따라 참값으로 수렴하도 록 한다.
점진적 광자 매핑 방식에서 매 반복마다 누적된 플럭스 값에 곱해지는 가중치는 반경 조절 매개변수에 의해 결정되고, 반경 조절 매개변수의 최적값은 2/3로 제시되었다 [5]. 하지만, 기존 에 알려진 최적값은 점진적 광자 매핑 방식으로 추정된 이미지의 점근적 오류를 기반으로 도출된 값으로 샘플 수가 무한으로 수 렴한다는 가정하에 분석된 오류를 기반으로 한다. 본 논문에서는 향후 경사하강법 등 기울기 기반 최적화 기법을 통해 픽셀 오류 추정을 기반으로 최적의 매개변수를 학습하여 샘플이 유한할 때 픽셀 오류를 최소화 할 수 있도록, 점진적 광자 매핑 알고리즘 내에서 매개변수의 기울기를 추정하고 추정된 기울기가 유한 차 분법을 통해 계산된 기울기와 유사함을 보인다. 추정된 기울기는 향후 연구에서 기울기 기반 점진적 광자 매핑 최적화에 활용될 수 있다.
2 관련 연구
광자 매핑 방식은 이미지 전역의 광자들을 저장하고 커널 밀도 추정을 통해 픽셀값을 추론하는 전역 조명 렌더링 알고리즘으로 반사-확산-반사(specular-diffuse-specular) 표면 등 경로 추적법을 통해 렌더링하기 어려운 물리 현상을 보다 효율적으로 시뮬레이 션할 수 있어 이를 기반으로 많은 연구가 되어 왔다. 이 장에서는 몬테카를로 렌더링 분야에서 제안된 다양한 광자 매핑 방식에 대 해 간략하게 소개한다.
점진적 광자 매핑 방식 [4]은 기존 광자 매핑 방식 [3]의 메모리 문제를 해결하기 위해 소량의 광자를 반복적으로 방출하여 방사 휘도를 계산함으로써 메모리 문제를 해결하였다. 이 방식을 볼 륨 및 광범위한 렌더링 시나리오에 적용하기 위해 광자 빔(beam) 을 사용한 방식 [6]과 분산 광선 추적법(distributed ray tracing)과 결합된 방식 [7]으로 확장되었다. 특히, 광자 매핑 방식은 광택 이 있는 표면에서 높은 분산 값을 가지는데 이를 해결하기 위해 양방향 경로추적법과 점진적 광자 매핑 방식을 결합한 렌더링 기 술 [8, 9]들이 제안되었다.
점진적 광자 매핑 방식은 광자의 커널 밀도 함수 추정을 통해 픽셀값을 추론하는 알고리즘으로 커널 밀도 함수의 대역폭에 따 라 분산과 편향을 조정할 수 있다. Hachisuka 외 [10]는 점진적 광자 매핑 방식에서 커널의 분산과 편향을 추정하였고, Knaus와 Zwicker [11]는 분산과 편향 분석을 통해 국소 광자 통계와 무관 한 커널 밀도 함수 대역폭의 축소비율을 제시하였다.
최근에는 적응적 광자 매핑 방식 [5, 12, 13]들이 제시되었다. Kaplanyan과 Dachsbacher [5]은 점근적 오류 분석을 기반으로 커 널 밀도 함수의 대역폭을 조정하는 매개변수의 최적값을 제시하 고, 국소 회귀식에 기반한 편향과 분산 분석을 통해 각 픽셀의 커널 대역폭을 조정하였다. Lin 외 [13]의 연구자들은 카이제곱 검정을 통해 광자의 분포를 파악하고 커널 반경을 조정하는 방식 을 제시하였고, Zhu 외 [12]은 딥 러닝을 통해 광자 밀도 커널을 학습하는 방식을 제시하였다. 이들 방식 모두 커널 밀도를 적응 적으로 조정하여 커널의 분산과 편향을 최적화함으로써 최종적 으로 렌더링 된 이미지의 오류를 줄이는 것을 목표로 한다.
샘플이 유한한 상황에서 픽셀 오류를 추정하여 매개변수에 대 한 기울기를 추정하고 이를 기반으로 매개변수를 최적화할 수 있다면, 점진적 광자 매핑의 픽셀 추정치의 오류를 최소화할 수 있을 것으로 기대된다. 이를 위해 본 논문에서는 점진적 광자 매 핑 알고리즘 내에서 픽셀 추정치에 대한 매개변수의 기울기를 추정하여 향후 기울기 기반 점진적 기반 최적화에 활용될 수 있 도록한다.
3 배경: 점진적 광자 매핑
렌더링 방정식에서 픽셀값 I는 다음과 같이 추정된다 [11].
여기서 는 카메라 경로와 물체가 만나는 지점(적중 점) xj에서 방향으로의 방사 휘도 의 영향력을, 는 카메라 경로의 샘플링 확률을 나타낸다.
점진적 광자 매핑 방식 [4]은 수식 (1)과 같이 카메라 경로를 생성하여 적중점을 생성하는 과정을 광선 추적 단계(ray tracing pass)로, 광원으로부터 광자를 추적하고 광자 정보를 저장하여 방 사 휘도를 추정하는 과정을 광자 패스(photon pass)로 정의한다. 수식 (1)의 방사 휘도 는 점진적 광자 매핑 알고리즘의 광자 패스(photon pass)를 m번 반복하여 추정한다.
점진적 광자 매핑에서 특정 i ∈ {1, ..., m} 번째 광자 패스에서 의 방사 휘도는 다음과 추정되고 [10], 카메라 경로에 대한 색인 j 는 생략한다.
여기서, τi(x, )는 적중점 x에서 i 번째 광자 패스까지 누적된 정규화된 플럭스를 뜻하고, k1과 는 각각 플럭스를 추정하는 커널 밀도 함수의 정규화 상수 및 i 번째 패스에서의 커널 반경으 로 정의한다.
수식 (2)에서 누적된 플럭스 는 i−1번째 광자 패스까지 누적된 플럭스 와 i번째 광자 패스에서 추정된 플럭스 를 가중 평균하여 계산할 수 있다.
여기서 Ne와 Ni는 각각 현재 패스에서 방출된 광자 수 및 i 번째 광자 패스까지 방출된 총 광자 수를 의미한다. 수식 (3)의 는 현재 광자 패스에서 광원으로부터 방출된 광자 정보 를 광자 맵에 저장하고, 추적된 카메라 경로의 적중점 x에서의 커널 함수 K를 통해 추정된다.
여기서, 는 적중점 x에서 입사 방향 , 반사 방향 인 BRDF를 의미하고, ϕp는 커널 반경 내의 광자 q의 에너지를 의미한다. Qi는 커널 반경 내의 광자의 수를 의미한다. 수식 (4) 의 커널 함수K(tq)는 매끄럽고 방사형인 임의의 커널 함수를 의 미하고, 이때 tq는 적중점과 커널 반경 내의 q 번째 광자 사이의 정규화된 거리를 의미한다.
수식 (3)와 같이 i 번째 광자 패스에서 누적 플럭스 를 추정하기 위해서는 i − 1 번째 광자 패스에서 누적된 플럭스 에 다음과 같이 가중치를 곱하여 가중 평균한다.
점진적 광자 매핑의 경우 참값으로의 수렴을 위해 매 반복에 서 광자 수집 반경 을 축소하고, 축소된 광자 수집 반경 비율 을 수식 (5)과 같이 누적된 플럭스 에 곱하 여 값을 보정한다. 또한, 샘플이 유한할 때 렌더링 된 이미지의 분산과 편향은 광자 수집 반경 에 의해 조절되고 이는 점진적 광자 매핑 방식에서 중요한 문제 중 하나이다.
Knaus와 Zwicker [11]는 반경이 축소될 때 증가하는 추정 오차 의 분산을 고려하여 반경 조정 비율을 다음과 같이 제시했다.
여기서 α는 반경 축소비율을 결정하는 상수로, 0부터 1 사이 의 값을 가지는 매개변수이다. 따라서, 렌더링 된 이미지의 분산 과 편향은 Figure 1과 같이 α값에 의해 조절될 수 있다. 큰 α를 선택하면 반경이 천천히 줄어들어 그림자와 커스틱 경계는 흐릿 해지지만(편향), 이미지의 잡음은 감소한다(Figure 1의 (d)). 작은 α는 반경을 빠르게 감소시켜 그림자와 커스틱 경계를 선명하게 표현하지만, 이미지 잡음을 증가시킨다(Figure 1의 (a)).
기존 연구 [5]에서는 이미지 전체에 대한 점근적 오차 분석을 통해 매개변수 α의 최적값(2/3)을 제시하였다. 그러나 이는 무한 한 샘플(n)을 사용할 수 있다는 가정하에 도출된 값으로, 샘플이 유한할 때는 최적값으로 볼 수 없다 [5].
샘플이 유한한 상황에서 최적의 α값을 찾는 방법으로는 기울 기 기반 최적화 기법을 점진적 광자 매핑 알고리즘에 활용하는 것이 있다. 기울기 기반 최적화 기법은 픽셀 오류 및 이를 최소화 하는 기울기 추정이 필요하다. 이를 위해 본 논문에서는 점진적 광자 매핑 알고리즘에서 픽셀 추정치에 대한 매개변수의 기울기 를 구하고, 향후 픽셀 오류 추정을 통해 기울기 기반 최적화에 활용하여 픽셀 추정치의 오류를 효율적으로 최소화할 수 있도록 한다.
4 온라인 점진적 광자 매핑 최적화를 위한 기울기 계산
이 장에서는 기울기 기반 점진적 광자 매핑 최적화를 위한 픽셀 값에 대한 커널 반경 조절 변수 α의 미분을 구하는 방법을 소개 한다. 효율적인 점진적 광자 매핑 최적화를 위해서는 매 광자 패 스마다 커널 반경 조절 변수 α에 관한 기울기 추정이 필요하다. 따라서 i번째 광자 패스에서의 커널 반경 조절 변수를 αi로 정의 하고, 목적 함수의 αi에 관한 미분을 계산한다. 제안하는 방법은 점진적 광자 매핑으로 추정한 픽셀값 를 커널 반경 조절 변수 로 미분한 기울기를 계산하는 방법으로, 추정한 픽셀값 에 관한 임의의 목적 함수(ϵ)에 적용할 수 있다. 대표적인 목적 함수의 예 로는 l2 손실 함수가 있으며, 목적함수 ϵ은 최적화 방법에 따라 선택할 수 있다. 이 장에서 사용되는 수식은 모두 특정 픽셀 c를 기준으로 작성되었으며, 편의를 위해 픽셀 색인 c는 생략하여 표 기한다.
임의의 목적함수의 기울기 ∇αiϵ는 연쇄 법칙에 따라 다음과 같이 표현할 수 있다.
여기서 목적 함수의 픽셀값에 관한 미분 는 목적 함수에 따라 달라진다. 본 논문에서는 픽셀값에 관한 매개변수의 미분 를 추정하는 방법을 제안함으로써 다양한 목적 함수를 최적화에 활용할 수 있는 기반을 마련하고자 한다.
점진적 광자 매핑 알고리즘에 연쇄 법칙을 적용하면, 픽셀값에 관한 매개변수의 미분 를 다음과 같이 나타낼 수 있다.
첫 번째 항은 추정한 픽셀값을 방사 휘도로 미분한 것으로, 픽 셀당 하나의 샘플을 사용하고 있기 때문에 방사 휘도의 가중치를 픽셀 샘플링 확률로 나눈 와 같다.
두 번째 항은 방사 휘도의 αi에 관한 미분으로, 방사 휘도 계산 식(수식 (2), (3) 및 (5))을 이용하여 방사 휘도를 이전 광자 패스까 지 누적된 플럭스 τi−1를 포함하는 항과 현재 패스의 광자 맵을 사용하여 구한 플럭스 을 포함하는 항, 총 두 개의 항의 합으로 나타낼 수 있다.
여기서 현재 패스의 광자 수집 반경 Ri와 플럭스 는 이전 패스 에서 갱신된 αi의 영향을 받는다. 반면, 첫 번째 항은 αi가 갱신되 기 전에 계산되었으므로 현재 αi와는 무관하다. 따라서 방사 휘도 의 미분에서 전항은 소거되어 다음과 같이 정리된다.
방사 휘도의 미분은 위의 수식 (11)에 수식 (4)와 (6)을 대입하 여 다음과 같이 계산할 수 있다.
여기서 Ci는 로 정의되는 상수이다. 단, 사용되는 커널 함수는 매끄럽고 미분가능하며 K′(1) = 0을 만족하는 방사함수여야 한다.
최종적으로 픽셀값의 기울기는 수식 (8)에 수식 (9), 수식 (12) 를 대입하여 아래와 같이 계산할 수 있다.
픽셀값의 기울기는 각 광자 정보의 곱 에 커널 함수로 이루 어진 가중치를 곱하여 더한 형태이므로, 기존 점진적 광자 매핑의 방사 휘도 계산 과정에서 함께 계산할 수 있다. 목적 함수의 기울 기는 수식 (7)에 의하여 목적 함수의 미분 ∂ϵ/∂αi와 수식 (13)를 곱하여 최종적으로 구할 수 있다.
제안한 방식은 점진적 광자 매핑에서 픽셀값의 기울기를 효율 적으로 계산하는 방법을 제시한다. 수식 (13)에서 볼 수 있듯이, 픽셀값의 기울기는 각 광자 정보의 곱에 커널 함수로 이루어진 가 중치를 곱하여 더한 형태로 표현된다. 이는 기존 점진적 광자 매 핑의 방사 휘도 계산 과정에서 추가 비용 없이 계산할 수 있다는 장점이 있다. 또한, 수식 (7)에 따라 목적 함수의 미분과 픽셀값의 기울기를 곱하여 최종 목적 함수의 기울기를 구할 수 있다. 이러 한 특징 덕분에 제안된 기울기 계산 방식은 다양한 목적 함수와 결합하여 점진적 광자 매핑의 최적화에 활용될 수 있다.
5 결과 및 논의
이 장에서는 제안된 기울기 계산 방법의 검증을 위해 유한 차분 법으로 계산한 기울기와 결과를 비교한다. 비교 실험에는 간단 한 장면인 C-BOX와 복잡한 물리 현상을 포함하는 장면인 BOX, TORUS, 그리고 WATER 장면을 사용하였다. 커널 함수로는 Perlin 커널(K(t) = 1 − 6t5 + 15t4 − 10t3) [14]을 사용하였다. 모든 장 면은 Mitsuba [15] 렌더러를 이용하여 렌더링하였으며, Intel(R) Xeon(R) CPU E5-2687W v4환경에서 실험을 수행하였다.
유한 차분법으로는 중앙유한차분법을 사용하였으며, 다음과 같이 기울기를 계산하였다.
여기서 와 는 광자 패스를 i번 반복하여 구한 픽셀 값으로, Ri−1에서 Ri로 반경을 축소할 때 반경 조절 변수로 각각 αi + ξ와 αi − ξ를 사용하여 산출한 값이다. 기울기는 한 광자 맵으로 계산되기에 i = 2에서 실험하였고, BOX, C-BOX, TORUS 장면에서는 ξ = 0.001을, WATER 장면에서는 ξ = 0.01을 사용 하였다. 유한 차분법과 제안된 방식의 비교를 위해 유한차분법과 제안된 방식에 동일한 적중점과 광자 맵, 초기 커널 반경을 사용 하였으며, 모든 실험에서 10만 개의 광자를 사용하였다. 비교는 점근적 최적값으로 알려진 α = 2/3 [5]에 대해 이루어졌다.
Table 2은 유한 차분법과 제안된 방식으로 구한 기울기를 비교 한 결과를 보여준다. 제안된 방식은 모든 장면에서 유한 차분법 과 유사한 기울기 값을 산출하였으며, 낮은 절대 오차를 나타내 었다. Figure 2는 BOX 장면에서 유한 차분법과 제안된 방식으로 계산한 기울기와 절대 오차를 시각화한 것이다.
논의 유한 차분법과의 비교를 통해 제안된 방식의 정확성을 검 증하고 유한 차분법보다 효율적으로 기울기를 계산할 수 있음을 확인하였다. 유한 차분법은 ξ의 선택에 민감하지만, 제안된 방식 은 추가 변수의 영향 없이 α에 관한 기울기를 계산할 수 있다는 장점이 있다. 또한, 제안된 방식은 렌더링 과정에서 기울기를 함 께 계산할 수 있어 이미지 두 장을 렌더링해야 하는 유한 차분법 에 비해 최적화 과정의 시간 효율성이 높을 것으로 기대된다.
향후 연구방향 제안한 기울기 계산 방식을 이용하여 α를 온라 인으로 최적화하여 점진적 광자 매핑의 성능을 향상할 수 있을 것으로 기대된다. 기존 제안된 방법은 점근적 오차를 최소화하는 방향으로 커널 반경을 최적화했다. 이는 무한한 광자를 사용할 때 의 최적값으로, 한정된 광자를 사용하는 상황에서 최적값이라고 보기 어렵다. 향후 연구에서 잡음이 있는 현재 광자 패스에서의 오류 추정하고 본 논문에서 제안한 기울기 추정 방법과 결합하여 광자가 유한한 상황에서도 최적값을 찾아 렌더링 성능을 향상하 는 것을 목표로 한다. 이를 통해 다양한 장면에서 기존 방법과 성능을 비교할 게획이다. 예를 들어, 점진적 광자 매핑의 평균제 곱오차 추정값 [10]을 목적 함수로 사용하여 최적화를 수행할 수 있다. 더 나아가 광자 매핑과 딥러닝을 결합한 최신 연구 [12, 16] 와 같이 딥러닝 기술과 접목하여 점진적 광자 매핑의 성능을 한층 더 개선할 수 있을 것으로 기대된다.
6 결론
본 논문에서는 점진적 광자 매핑의 기울기 기반 최적화를 위한 새로운 기울기 계산 방법을 제안하였다. 제안된 방식은 점진적 광자 매핑으로 추정한 픽셀값을 커널 반경 조절 변수로 미분하여 기울기를 계산함으로써, 추정 픽셀값에 관한 다양한 목적 함수 최 적화에 활용될 수 있다. 또한, 제안 방식은 렌더링 과정에서 추가 비용 없이 기울기를 계산할 수 있어 효율적이다. 다양한 장면에 서 유한 차분법과의 비교 실험을 통해 제안된 방식의 정확성을 검증하고, 유한 차분법보다 빠른 계산 속도를 보임을 확인하였 다. 제안된 방식은 다양한 손실 함수 및 최적화 기법과 결합될 수 있어 확장성이 높으며, 점진적 광자 매핑의 성능 향상에 기여할 것으로 기대된다. 향후 연구로는 제안 방식을 점진적 광자 매핑 의 온라인 최적화에 적용하고, 더 나아가 딥러닝 기술과 접목하여 점진적 광자 매핑의 성능을 한층 더 개선하는 방안을 모색해 볼 수 있다.