fast kd tree construction with an adaptive error bounded heuristic
Download
Skip this Video
Download Presentation
Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic

Loading in 2 Seconds...

play fullscreen
1 / 26

Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic. Warren Hunt, William R. Mark, Gordon Stoll. prezentace : Radek Richtr. Obsah prezentace. 1) kd-tree – krátké zopakování 2) konstrukce datové struktury kd-tree 3) kritérium výběru místa dělení - SAH

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic' - tanisha-wood


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
fast kd tree construction with an adaptive error bounded heuristic

Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic

Warren Hunt, William R. Mark, Gordon Stoll

prezentace : Radek Richtr

obsah prezentace
Obsah prezentace

1) kd-tree – krátké zopakování

2) konstrukce datové struktury kd-tree

3) kritérium výběru místa dělení - SAH

4) aproximace cenové funkce

5) adaptivní výběr vzorků

6) snížení chyby

7) zhodnocení

kd tree kr tce
Kd - tree (krátce)

- Speciální případ BSB - tree

- Datová struktura založená na dělení prostoru

- Reprezentace binárním stromem

- Užitečné pro mnoho různých aplikací

- Mnoho různých variant a optimizací

wikipedia.org

konstrukce d s kd tree
Konstrukce d.s. kd-tree

Kd-tree i jeho konstrukce má mnoho variant

  • dle místa dělení (body, hrany, prostor…)
  • kritérium výběru místa dělení (polovina, medián, SAH…)
  • dle os podle kterých dělíme (RR, jedna osa, hybridní…)
  • adaptivní a neadaptivní, top-down…

Klasická konstrukce kd-tree je pomalá pro raytracing v reálném čase

    • Použít jinou datovu strukturu (hybridní, mřížky…)
    • Urychlit raytracing
    • Urychlit stavbu datové struktury kd tree
      • Stavba méně přesné struktury (lazy building)
      • Urychlit výpočet kritéria při dělení
surface area heuristic sah
Surface area heuristic (SAH)

Jedna z metod nacházení dělících hran

snaha o minimalizaci kritéria :

toto je jedna z podob kritéria, zde upravená pro rychlý výpočet

CI cena(náročnost) traverzování uzlu (konstanta)

CL(P) cena traverzace levého(p.) uzlu, který vznikne dělením v místě x

SAL(P) velikost(plocha / objem) vzniklé oblasti (l. a p. potomka)

SA velikost(plocha / objem kořene

Jde tedy o součet ceny traverzace s pravděpodobností průniku uzlu.

Kritérium je porovnáno s cenou případu, kdy uzel nedělíme. Pokud je cena rozdělení uzlu nižší, je uzel rozdělen v místě x na dva potomky.

slide6
SAH
  • velmi dobré kritérium
  • velmi pomalé
  • je třeba výpočet urychlit

‚Nalezneme úzké hrdlo‘

      • Výpočet hodnot CL a CR (zde je představují počty objektů v potenciálních potomcích) je náročný
slide7
SAH

Výpočet SAH

- sorting (předřazení objektů + test)

O(n log2(n)), lze snížit na O(n log(n))

- scaning (testování v bodech)

O(qn) => q-konstanta => O(n)

  • Místo výpočtu ceny ve všech bodech (obvykle pomocí předřazení objektů dle os) vybereme vzorky v dostatečném počtu bodů.
  • Dělicí hranu je možné buď umístit do zkoumaných bodů, nebo je možné celkovou funkci aproximovat
sah p klad
SAH, příklad

délka : 10

výška 0.1

  • SA(v) = 1
  • 10 částí - SA(v,x) = 0.1, 0.2 .. 0.9
  • CL a CR – počty AABB obálek
  • Celkem 12 AABB obálek
sah p klad1
SAH, příklad

1 · 0.1 + 11 · 0.9 = 10

sah p klad2
SAH, příklad

1 · 0.1 + 11 · 0.9 = 10

2 · 0.2 + 10 · 0.8 = 8.4

sah p klad3
SAH, příklad

1 · 0.1 + 11 · 0.9 = 10

2 · 0.2 + 10 · 0.8 = 8.4

3 · 0.3 + 9 · 0.7 = 7.2

sah p klad4
SAH, příklad

1 · 0.1 + 11 · 0.9 = 10

2 · 0.2 + 10 · 0.8 = 8.4

3 · 0.3 + 9 · 0.7 = 7.2

3 · 0.4 + 9 · 0.6 = 6.6

sah p klad5
SAH, příklad

1 · 0.1 + 11 · 0.9 = 10

2 · 0.2 + 10 · 0.8 = 8.4

3 · 0.3 + 9 · 0.7 = 7.2

3 · 0.4 + 9 · 0.6 = 6.6

7· 0.5 + 6 · 0.5 = 6.5

sah p klad6
SAH, příklad

10

8.4

7.2

6.6

6.5

6.6

8.9

9.6

10

min

aproximace cenov funkce
Aproximace cenové funkce

- Lze dělit buď ve zkoumaných bodech, nebo funkci aproximovat

- Pro postavení odpovídající cenové funkce obvykle postačuje poměrně malý počet vzorků (max.32)

- Je třeba aby samotná aproximace nebyla náročnější, než vypočítání celé funkce

- Aproximace (v zásadě nepřesná) nesmí snížit kvalitu nalezeného minima

adaptivn v b r vzork
Adaptivní výběr vzorků

- Hledaná cenová funkce nemusí být jednoduchá.

- Pevně daný počet (q) dělení nemusí postihnout její reálný tvar

- Nalezneme q/2 vzorků a následně, dle jejich hodnot umístíme dalších q/2 vzorků pro přesnější aproximaci funkce

- Je třeba zvolit vhodné kritérium dle kterého hledat vzorky

sah adaptivn vzorky1
SAH, adaptivní vzorky

10

8.4

7.2

6.6

6.5

6.6

8.9

9.6

10

sah adaptivn vzorky2
SAH, adaptivní vzorky

10

8.4

7.2

6.6

6.5

6.6

8.9

9.6

10

sah adaptivn vzorky3
SAH, adaptivní vzorky

10

8.4

7.2

6.6

6.5

6.6

8.9

9.6

10

6.2

omezen chyby ap
Omezení chyby ap.
  • Při interpolaci funkce je obecně problém, pokud je skutečná cenová funkce složitá (prudké změny), případně nespojitá
  • Toto bývá problém i při jiných způsobech stavby
  • K lokalizaci těchto nespojitostí pomáhá adaptivní výběr vzorků
omezen chyby ap1
Omezení chyby ap.

Aby byly vlivy těchto nespojitostí co nejmenší, vybírá algoritmus dělící blízko ‚nespojitosti(místo prudké změny funkce)‘ – tím je již po několika krocích ‚nespojitost‘ uzavřena v jediném uzlu. Navíc čím je ‚skok‘ větší, tím dříve je ‚nespojitost‘ uzavřena dříve (a tedy i v menší buňce)

9

8

7

6

zopakov n
Zopakování
  • Klasická stavba kd-stromu je příliš pomalá
  • Jednou z možností urychlení je zrychlit (zjednodušit) výpočet kritéria kde rozdělit uzel
  • Místo seřazení uzlů testujeme ‚obsah‘ uzlu v několika bodech (testujeme top-down)
  • Body určíme napevno a v místech kde je změna funkce největší dodáme další
  • Skutečnou cenovou funkci poté aproximujeme
  • Nespojitosti a nepřesnosti izolujeme do vlastních uzlů
literatura
Literatura

W. Hunt, G. Stoll and W. Mark. Fast kd-tree construstion with an adaptive error-bounded heuristic

S. Popov, J. Gunter, H. Seidel, P. Slusallek. Experiances with Construction of SAH KD-Trees

V. Havran, X36DPG slidy

sah c l
SAH, CL

10

8.4

7.2

6.6

6.5

6.6

8.9

9.6

10

12

6

0

ad