GPU-Based Large-Scale Scientific Visualization Johanna Beyer, - - PowerPoint PPT Presentation

gpu based large scale scientific visualization
SMART_READER_LITE
LIVE PREVIEW

GPU-Based Large-Scale Scientific Visualization Johanna Beyer, - - PowerPoint PPT Presentation

GPU-Based Large-Scale Scientific Visualization Johanna Beyer, Harvard University Markus Hadwiger, KAUST Course Website: http://johanna-b.github.io/LargeSciVis2018/index.html Part 4 - Display-Aware Visualization and Processing MOTIVATION


slide-1
SLIDE 1

GPU-Based Large-Scale Scientific Visualization

Johanna Beyer, Harvard University Markus Hadwiger, KAUST

Course Website: http://johanna-b.github.io/LargeSciVis2018/index.html

slide-2
SLIDE 2

Part 4 - Display-Aware Visualization and Processing

slide-3
SLIDE 3

MOTIVATION

goal: perform computations at output resolution <1 megapixel visible 250 megapixels

resolution level 0 resolution level 3

slide-4
SLIDE 4

DISPLAY-AWARE IMAGE OPERATIONS

slide-5
SLIDE 5

Dyadic image pyramids

  • Mipmaps [Williams 1983]: texture mapping (standard on GPUs)
  • Gaussian/Laplacian pyramids [Burt and Adelson 1983]: image processing/compression

IMAGE PYRAMIDS

level 0 level 1 level 2 level 3

slide-6
SLIDE 6

IMAGE PYRAMIDS

level 0 level 1 level 2 level 3

Dyadic image pyramids

  • Mipmaps [Williams 1983]: texture mapping (standard on GPUs)
  • Gaussian/Laplacian pyramids [Burt and Adelson 1983]: image processing/compression
slide-7
SLIDE 7

IMAGE PYRAMIDS

level 0 level 1 level 2 level 3

Dyadic image pyramids

  • Mipmaps [Williams 1983]: texture mapping (standard on GPUs)
  • Gaussian/Laplacian pyramids [Burt and Adelson 1983]: image processing/compression
slide-8
SLIDE 8

IMAGE PYRAMIDS

level 0 level 1 level 2 level 3 Laplacian pyramid

Dyadic image pyramids

  • Mipmaps [Williams 1983]: texture mapping (standard on GPUs)
  • Gaussian/Laplacian pyramids [Burt and Adelson 1983]: image processing/compression
  • Sparse pdf maps [Hadwiger et al. 2012]
slide-9
SLIDE 9

IMAGE PYRAMIDS

level 0 level 1 level 2 level 3

Dyadic image pyramids

  • Mipmaps [Williams 1983]: texture mapping (standard on GPUs)
  • Gaussian/Laplacian pyramids [Burt and Adelson 1983]: image processing/compression
  • Sparse pdf maps [Hadwiger et al. 2012]

Local Laplacian filtering [Paris et al. 2011]

slide-10
SLIDE 10

ANTI-ALIASING IN IMAGE PYRAMIDS

level 0

slide-11
SLIDE 11

ANTI-ALIASING IN IMAGE PYRAMIDS

level 0 level 4

slide-12
SLIDE 12

ANTI-ALIASING IN IMAGE PYRAMIDS

level 4 level 0

slide-13
SLIDE 13

ANTI-ALIASING IN IMAGE PYRAMIDS

level 0 level 4, standard level 4

slide-14
SLIDE 14

ANTI-ALIASING IN IMAGE PYRAMIDS

level 0 level 4, sparse pdf maps level 4, standard level 4, ground truth

slide-15
SLIDE 15

Apply non-linear operation to each pixel

  • Color map or non-linear contrast adjustment
  • Bilateral filtering: range weight
  • Smoothed local histogram filtering [Kass and Solomon 2010]
  • Local Laplacian filtering [Paris et al. 2011]: point-wise, non-linear re-mapping

NON-LINEAR IMAGE OPERATORS

input pixel value

  • utput pixel value
slide-16
SLIDE 16

Compute Laplacian pyramid coefficient

  • Adjust local contrast via point-wise non-linearity; then downsample

Same as local color mapping, then downsampling

  • Cannot apply the re-mapping function to the downsampled image!
  • Need to compute ground truth (pyramid!) or proper “anti-aliasing”

LOCAL LAPLACIAN FILTERING [PARIS ET AL. 2011]

σ σ σ σ

  • utput pixel

μ μ

input pixel

slide-17
SLIDE 17

Night Scene Panorama: 47,908 x 7,531 pixels (361 Mpixels)

  • Every downsampled

pixel results from the entire pyramid above it

  • Sparse PDF maps allow

direct computation!

LOCAL LAPLACIAN FILTERING: SCALABILITY

slide-18
SLIDE 18

Sparse PDF Maps Concept

slide-19
SLIDE 19

Represent distribution of pixel values in footprint in original image

SPARSE PDF MAPS

slide-20
SLIDE 20

SPARSE PDF MAPS

level 2

Represent distribution of pixel values in footprint in original image

slide-21
SLIDE 21

SPARSE PDF MAPS

level 2 level 0

Represent distribution of pixel values in footprint in original image

slide-22
SLIDE 22

SPARSE PDF MAPS

level 2 level 0

Represent distribution of pixel values in footprint in original image

slide-23
SLIDE 23

SPARSE PDF MAPS

level 2

Represent distribution of pixel values in footprint in original image Apply non-linear operation

slide-24
SLIDE 24

EXAMPLE 1: DOWN-SAMPLED IMAGE

level 0 level 2

slide-25
SLIDE 25

EXAMPLE 2: COLOR MAPPING

level 0

color map

slide-26
SLIDE 26

EXAMPLE 2: COLOR MAPPING

level 0

color map

level 2

plus: bilateral filtering, local Laplacian filtering in linear time, …

slide-27
SLIDE 27

INTERACTIVE GIGAPIXEL FILTERING

slide-28
SLIDE 28

Computation

slide-29
SLIDE 29

SPATIAL AND RANGE COHERENCE

slide-30
SLIDE 30

GREEDY APPROXIMATION: MATCHING PURSUIT

Spatial filter : 5 x 5 1 coefficient chunk (# coefficients == 1 * # pixels)

slide-31
SLIDE 31

Spatial filter : 3 x 3 1-3 coefficient chunks (# coefficients == 1-3 * # pixels)

GREEDY APPROXIMATION: MATCHING PURSUIT

slide-32
SLIDE 32

Data Structure

slide-33
SLIDE 33

SPDF MAPS DATA STRUCTURE

conceptual index image coefficient image

slide-34
SLIDE 34

SPDF MAPS DATA STRUCTURE

conceptual index image coefficient image

slide-35
SLIDE 35

Display-Aware Gigapixel Image Processing

slide-36
SLIDE 36

Out-of-Core Processing

  • Divide data into smaller tiles, process each tile independently (e.g., 256x256)
  • Image operations are performed only on requested sub-tiles (display-aware)
  • Rendering based on tiled data, using GPU-based virtual memory approach

GIGAPIXEL IMAGE PROCESSING

slide-37
SLIDE 37

GIGAPIXEL IMAGE PROCESSING

viewport visible tile

slide-38
SLIDE 38

GPU-based virtual memory architecture [Hadwiger et al. 2012] GIGAPIXEL IMAGE PROCESSING

slide-39
SLIDE 39

Results

slide-40
SLIDE 40

NASA Blue Marble bathymetry: 21,601 x 10,801 pixels (233 Mpixels)

COLOR MAPPING GIGAPIXEL IMAGES

slide-41
SLIDE 41

details enhanced details enhanced

  • riginal
  • riginal

details reduced details reduced

slide-42
SLIDE 42

GIGAPIXEL LOCAL LAPLACIAN FILTERING

  • riginal

details reduced details enhanced

slide-43
SLIDE 43
  • riginal
slide-44
SLIDE 44

details reduced

slide-45
SLIDE 45

details enhanced

slide-46
SLIDE 46
  • riginal volume

VISIBLE HUMAN (512 X 512 X 1884)

slide-47
SLIDE 47
  • riginal volume

fine to coarse

VISIBLE HUMAN (512 X 512 X 1884)

  • ctree (averaging) 
slide-48
SLIDE 48

VISIBLE HUMAN (512 X 512 X 1884)

  • riginal volume
  • ctree (averaging) 

sparse pdf volumes 

slide-49
SLIDE 49

BLOOD VESSELS (1024 X 1024 X 1024)

10243 5123 2563 1283

  • ctree (averaging) 

sparse pdf volumes 

  • riginal volume
slide-50
SLIDE 50

Display-aware processing with flexible new image pyramid (spdf map)

  • Consistent, sparse representation of pixel footprint pdfs

Unified evaluation of many important non-linear image operations

  • Local Laplacian filtering for gigapixel images

Efficient CUDA implementation

  • Pre-computation costly, but only performed once
  • Run time storage and computation similar to standard pyramids

Sparse PDF maps for images:

Hadwiger et al., Sparse PDF Maps for Non-Linear Multi-Resolution Image Operations, Siggraph Asia 2012

Sparse PDF volumes for volume rendering:

Sicat et al., Sparse PDF Volumes for Consistent Multi-Resolution Volume Rendering, IEEE Scientific Visualization 2014

SUMMARY

slide-51
SLIDE 51

GPU-Based Large-Scale Scientific Visualization

Johanna Beyer, Harvard University Markus Hadwiger, KAUST

Course Website: http://johanna-b.github.io/LargeSciVis2018/index.html

slide-52
SLIDE 52

Wrap-Up, Summary

slide-53
SLIDE 53

LARGE-SCALE VISUALIZATION PIPELINE

Data Processing Visualization Image

Filtering Data Pre‐Processing Ray‐Guided Rendering Data Structures Acceleration Metadata On‐Demand Processing

  • n-demand?

Scalability

Mapping Rendering

slide-54
SLIDE 54
  • Working set determination on GPU
  • Single-pass rendering
  • Traversal on GPU
  • Virtual texturing

RAY-GUIDED VOLUME RENDERING

slide-55
SLIDE 55
  • Empty space skipping essential
  • Efficient culling is basis for empty space skipping
  • Compact and scalable data structure (to millions of objects)
  • Hierarchical culling algorithm
  • Hybrid approaches
  • Image-order vs. object-order
  • Deterministic vs. probabilistic

VOLUME RENDERING OF SEGMENTED DATA

slide-56
SLIDE 56

THANK YOU! Johanna Beyer, Harvard University Markus Hadwiger, KAUST

Course Website: http://johanna-b.github.io/LargeSciVis2018/index.html