환경 맵의 중요도 샘플링


14

MIS 기반 단방향 경로 추적기 및 유사한 유형의 렌더러에서 샘플링 환경 맵 (EM)에 대한 현재 가장 잘 알려져 있고 생산 검증 된 방법은 무엇입니까? 나는 매우 복잡하고 이해하기 어려운 구현 비용으로 완벽한 샘플링을 제공하는 솔루션에 비해 합리적으로 기능적인 솔루션을 선호합니다.

내가 지금까지 아는 것

EM을 샘플링하는 몇 가지 쉬운 방법이 있습니다. BSDF와 EM 함수 형태를 모두 무시하는 코사인 가중치 방식으로 필요한 반구를 샘플링 할 수 있습니다. 결과적으로 동적 EM에서는 작동하지 않습니다.

여기에 이미지 설명을 입력하십시오

샘플링을 사용 가능한 수준으로 향상시키기 위해 전체 구에서 EM의 휘도를 샘플링 할 수 있습니다. 비교적 쉽게 구현되며 결과는 상당히 좋습니다. 그러나 샘플링 전략은 여전히 ​​반구형 가시성 정보와 코사인 계수 (및 BSDF)를 무시하여 EM의 고휘도 영역에 의해 직접 비추 지 않는 표면에서 높은 노이즈를 발생시킵니다.

여기에 이미지 설명을 입력하십시오

서류

이 주제에 관한 몇 가지 논문을 찾았지만 아직 읽지 않았습니다. 순방향 단방향 경로 추적기에서 읽고 구현할 가치가 있습니까? 아니면 더 좋은 것이 있습니까?

  • Agarwal et al. 의 환경 맵의 구조적 중요성 샘플링 (2003)

  • Kartic Subr와 Jim Arvo의 Steerable Importance Sampling (2007). 그들은 코사인 가중치를 고려하면서 임의의 표면의 국소적인 방향에 의해 정의 된 양의 반구에서 샘플을 생성하는 환경 맵의 효율적인 계층화 된 중요도 샘플링을위한 알고리즘을 제시한다고 주장한다. ““중요도 샘플링 구면 고조파”라는 논문은 이에 대해 다음과 같이 언급합니다. 이는 조임 코사인을 어떤 방향 으로든 효율적으로 회전 할 수있는 조정 가능한 기반을 형성합니다.”

  • Petrik Clarberg와 Tomas Akenine-Möller의 직접 조명을위한 실제 제품 중요도 샘플링 (2008). 환경 맵 조명 및 표면 반사율의 곱을 샘플링하는 알고리즘입니다. 웨이블릿 기반 중요도 샘플링을 사용합니다.

  • Jarosz, Carr 및 Jensenn의 중요도 샘플링 구형 고조파 (2009). 초록은 "... 우리는 구형 고조파 (SH)로 표현되는 중요도 샘플링 기능을위한 첫 번째 실용적인 방법을 제시합니다 ..."

  • Feng 등의 Tone-Mapped Mean-shift Based Environment Map Sampling (2015). 이것은 꽤 새롭고 나는 그것에 대한 언급이나 논문 자체를 찾지 못했습니다.


질문이 하나 있습니다. 두 번째 사진은 EM을 샘플링해서 만 생성됩니까? 아니면 샘플링 코사인과 샘플링 EM의 MIS 버전입니까? 나는 그것이 MIS 버전이기를 정말로 희망합니다. 그렇다면 그렇다면 그림자 부분의 높은 노이즈에 대한 해결책이있을 수 있기 때문입니다.
tom

@tom은 아닙니다. (Lambert) BRDF와 코사인 계수를 모두 무시하고 구형 EM 샘플링 만 사용합니다. 64 개의 샘플이 사용되었으며 이미지 공간 필터링이 적용되지 않았으며 픽셀 영역에 대해서만 평균화되었습니다. EM 샘플링과 코사인 샘플링을 결합하기 위해 MIS를 적용하면 그림자 노이즈가 크게 줄어드는 반면 햇빛이 쬐는 부분에서는 약간 증가합니다.
ivokabel

답변:


6

이것은 정답이 아니며, 질문에 언급 된 두 가지 논문을 연구하여 얻은 지식을 공유하고 싶습니다 : 직접 조명을위한 Steerable Importance SamplingPractical Product Importance Sampling .

조정 가능한 중요성 샘플링

본 논문에서는 클램핑 된 코사인 컴포넌트와 환경 맵 조명의 제품을 샘플링하는 방법을 제안합니다.

LEM(ωi)(ωin)+

그들은 처음 9 개의 구형 고조파베이스를 사용하여 곱 함수의 곱으로 선형 근사값을 비교적 잘 표현하고 부분적으로 사전 계산할 수 있다는 사실을 이용합니다. 이들은이 삼각 근사를 적응 적으로 삼각 측량 된 EM 위에 구축하고 샘플링을위한 중요 함수로 사용합니다.

각 삼각형 정점에 대한 근사 계수와 각 삼각형의 삼각형에 대한 근사 적분 계산을위한 계수를 사전 계산하고 저장합니다. 이 계수를 정점 및 삼각형 가중치라고합니다. 그런 다음 추가 구형 고조파 기반을 통합하지 않고 개별 삼각형 ​​가중치를 합산하여 삼각형 세트에 대한 적분에 대한 계수를 쉽게 계산할 수 있다는 사실을 이용합니다. 따라서 각 노드에 노드의 하위 트리 삼각형에 대한 근사 적분을 계산하기위한 계수가 포함 된 삼각형 위에 균형 이진 트리를 만들 수 있습니다.

샘플링 절차는 삼각형을 선택하고 해당 영역을 샘플링하는 것으로 구성됩니다.

  • 삼각형은 하위 적분 근사에 비례하는 확률로 사전 구축 된 이진 트리를 내림차순으로 선택됩니다. 이 비용은 O(logN) 하위 적분의 on-the-fly 계산을 필요로하며, 각각은 사전 계산 된 계수를 갖는 클램프 코사인 구형 고조파 좌표의 내부 제품 하나로 구성됩니다.
  • 선택된 삼각형 표면은 이후 논문에서 제안 된 새로운 계층화 된 샘플링 전략에 의해 이중 선형 방식으로 시간에 샘플링된다.O(1)

나에게 이것은 유망한 기술 처럼 보입니다. 논문에 대한 고전적인 질문은 그것이 실제 생활에서 어떻게 작용할 것인가입니다. 한편, EM이 삼각 측량 선형 함수로 근사하기 어려운 병리학적인 경우가있을 수 있으며, 이로 인해 막대한 양의 삼각형 및 / 또는 샘플 품질이 떨어질 수 있습니다. 다른 한편으로, 그것은 전체 EM 기여의 비교적 좋은 근사치를 즉시 제공 할 수 있으며, 이는 다수의 광원을 샘플링 할 때 유용 할 수 있습니다.

직접 조명을위한 실용적인 제품 중요성 샘플링

본 논문에서는 환경 맵 조명과 코사인 가중치 표면 반사의 곱을 샘플링하는 방법을 제안합니다.

LEM(ωi)fr(ωi,ωo,n)(ωin)+

이 방법의 유일한 전처리는 EM의 계층 적 표현 (밉맵 또는 웨이블릿 기반)의 계산입니다. 나머지는 샘플링 중에 즉시 수행됩니다.

샘플링 절차 :

  • 온 - 더 - 플라이 BRDF의 근사치를 구축 : 그들은 처음 몇 BRDF의 중요성 샘플을 그리고 평가 합니다. 이 값으로부터 BRDF의 쿼드 트리 기반 조각 별 상수 근사값을 작성합니다. 여기서 트리의 각 리프에는 정확히 하나의 샘플이 포함됩니다.fr(ωi,ωo,n)(ωin)+
  • BRDF 근사와 EM의 곱 계산 : BRDF 쿼드 트리 잎에서 곱셈이 수행되고 평균값이 부모에게 전파됩니다.
  • 제품 샘플링 : 간단한 샘플 워핑을 사용하여 균일 한 샘플이 제품 트리를 통해 공급됩니다.

이 절차는 사전 계산 비용이 많이 들지만 상대적으로 우수한 샘플을 생성해야합니다. 이는 최고의 샘플링 성능을 달성하기 위해 BRDF 근사화에 약 100 ~ 200 개의 BRDF 샘플이 필요하다는 것을 보여줍니다. 이것은 쉐이딩 포인트 당 많은 샘플을 생성하는 순수 직접 조명 계산에 적합 할 수 있지만 일반적으로 몇 개의 샘플 만 생성하는 전역 조명 알고리즘 (예 : 단방향 또는 양방향 경로 추적기)에는 너무 비쌉니다. 음영 점당.


4

면책 조항 : 환경 맵 샘플링에서 최신 기술이 무엇인지 전혀 모르겠습니다. 사실, 나는이 주제에 대한 지식이 거의 없다. 그래서 이것은 완전한 대답은 아니지만 문제를 수학적으로 공식화하고 분석 할 것입니다. 나는 주로 이것을 위해 나 자신을 위해 그것을 명확하게하지만 OP와 다른 사람들이 그것을 유용하게 사용할 수 있기를 바랍니다.


점에서 직접 조명을 계산하려고합니다. 즉 , 적분 I = S 2 의 값을 알고 싶습니다.

I=S2f(ωi,ωo,n)L(ωi)(ωin)+dωi
f(ωi,ωo,n)L(ωi)(ωin)++(ωin)+=0(ωin)<0

Nωi1,,ωiNp(ωi)

I1Nk=1Nf(ωik,ωo,n)L(ωik)(ωikn)+p(ωik)

문제는 허용 가능한 시간 내에 샘플을 생성 할 수 있고 위 추정량의 분산이 합리적으로 작 도록 pdf 어떻게 선택 하는가 입니다.p


최선의 방법 Pick integrand p ( ω i ) ~ f ( ω i , ω o , n )에 비례 p

p(ωi)f(ωi,ωo,n)L(ωi)(ωin)+

OP가 제안한 방법 :

p

p(ωi)(ωin)+
p
p(ωi)L(ωi)

언급 된 논문의 이름을 바탕으로 나는 그들이하는 일을 부분적으로 추측 할 수 있습니다 (불행히도 지금 읽을 시간과 에너지가 없습니다). 그러나 가장 가능성이 높은 것을 논의하기 전에 파워 시리즈에 대해 조금 이야기 해 봅시다. : D


f(x)

f(x)=k=0akxk
akfn
f(x)k=0nakxk
n 충분히 높으면 오류가 실제로 작습니다.

f(x,y)

f(x,y)=k=0bk(y)xk
bk(y)y
f(x,y)=k,l=0cklxkyl
ckl

f(ω)

f(ω)=k=0αkSk(ω)
αkSk(ω)f 알려진 함수의 합계로 작성 될 수 있습니다.

f(ω,ω)

f(ω,ω)=k=0βk(ω)Sk(ω)
f(ω,ω)=k,l=0γklSk(ω)Sl(ω)

이것이 어떻게 유용한가요?

나는 CMUNSM (Crazy mental 쓸모없는 샘플링 방법)을 제안한다 : 모든 함수, 즉 대한 확장이 있다고 가정하자

f(ωi,ωo,n)=k,l,m=0αklmSk(ωi)Sl(ωo)Sm(n)L(ωi)=n=0βnSn(ω)(ωin)+=p,q=0γpqSp(ωi)Sq(n)
I=k,l,m,n,p,q=0αklmβnγpqSl(ωo)Sm(n)Sq(n)S2Sk(ωi)Sn(ω)Sp(ωi)dωi

S2Sk(ωi)Sn(ω)Sp(ωi)dωi

이것은 모두 훌륭 하지만 BSDF 또는 환경 맵의 확장을 알지 못하거나 확장이 매우 느리게 수렴하므로 합리적으로 정확한 답변을 얻으려면 많은 용어를 사용해야합니다.


L(ωi)n=0KβnSn(ωi)
p(ωi)n=0KβnSn(ωi)(ωn)+

K=0K


추가 확장. 다른 인수로 다른 함수를 확장하고 위와 비슷한 작업을 수행 할 수 있습니다. 또 다른 것은, 당신이 다른 기준으로 확장 할 수 있다는 것입니다. 즉, 구형 고조파를 사용하지 않고 다른 기능을합니다.

이것이 주제에 대한 나의 취지입니다. 적어도 당신이 그것을 조금 유용하게 찾았 으면 좋겠습니다. 이제 저는 GoT와 잠자리에 들었습니다.


하하, 대답을 게시했을 때, SE는 내가 인간인지 로봇인지 묻습니다. 사이트는 확실하지 않았습니다 .DI는 대답의 길이 때문에 그렇지 않기를 바랍니다.
tom

당신은 내 두뇌를 녹여 버리고 싶어요 ;-) BTW : 나는 이미 두 개의 논문 / 발표를 읽었으므로 이번 주 말에 질문을 확장하거나 피상적 인 답변을 쓸 것입니다. 그리고 지금, FTW!
ivokabel

0

제품 샘플링 방법은 광선에 대해 더 나은 (완벽한) 분포를 제공하지만 MIS (다중 중요도 샘플링)를 사용하는 것이 생산에서 검증 된 방법이라고 말할 수 있습니다. 섀도 잉 정보를 알 수 없기 때문에 제품 샘플링이 완벽 해지지는 않으며 완벽하게 구현하기가 어렵습니다. 더 많은 광선을 촬영하는 것이 더 가치가 있습니다! 상황과 레이 예산에 따라 다릅니다!

MIS에 대한 간단한 설명 : 본질적으로 BSDF- 레이 (간접 조명을 할 때와 마찬가지로)와 EM을 향한 명시 적 레이를 모두 추적합니다. MIS는 많은 소음을 제거하는 방식으로 결합 할 수 있도록 가중치를 제공합니다. MIS는 발생하는 상황에 따라 "기술"(암시 적 또는 명시 적 샘플링)을 선택하는 데 특히 좋습니다. 사용자가 거칠기 등을 기준으로 어려운 선택을하지 않아도 자연스럽게 발생합니다.

http://graphics.stanford.edu/papers/veach_thesis/의 9 장은 이에 대해 자세히 설명합니다. 지역 조명으로 작동하는 MIS의 데모는 https://www.shadertoy.com/view/4sSXWt 를 참조 하십시오 .


예, MIS는 중요한 생산 검증 기술이며 많은 도움이되며 솔루션에 사용합니다 (질문에서 더 명확하게 언급해야합니다). 그러나 MIS 기반 추정기의 전반적인 성능은 부분 샘플링 전략의 품질에 달려 있습니다. 내가 여기서하려는 것은 추정의 전반적인 성능을 향상시키기 위해 하위 전략 중 하나를 개선하는 것입니다. 필자의 경험에 따르면 일반적으로 생성하기에 비용이 많이 드는 것보다 품질이 낮은 샘플을 사용하는 것이 더 쉽게 생성되는 품질이 낮은 샘플보다 더 효율적입니다.
ivokabel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.