890 likes | 975 Views
GPU-based Hierarchical Computations for View Independent Visibility. Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran. Sixth Indian Conference on Computer Vision, Graphics & Image Processing, 2008. http://www.cse.iitb.ac.in/~{rhushabh, prekshu, sharat}. Problem Statement.
E N D
GPU-based Hierarchical Computations for View Independent Visibility Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran Sixth Indian Conference on Computer Vision, Graphics & Image Processing, 2008 http://www.cse.iitb.ac.in/~{rhushabh, prekshu, sharat}
Problem Statement • Parallel Fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel Fast computation ofview-independent visibilityin a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel Fast computation ofview-independent visibilityin a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Problem Statement • Parallel, fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Result Video VIDEO ! • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Challenges • O(N3) Time Complexity • N2point-pairs • Noccluders considered for every pair • No surface Information A B A B Polygonal Model Point Model [GKSD 07], Visibility Map for Global Illumination in Point Clouds, GRAPHITE 2007 • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Building the Octree Hierarchy • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Building the Octree Hierarchy • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Building the Octree Hierarchy • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Building the Octree Hierarchy • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Building the Octree Hierarchy • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Visibility between Point Clusters • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Visibility between Point Clusters • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Visibility between Point Clusters • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Discussion: Visibility between Point Clusters • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Discussion: Visibility between Point Clusters • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Contributions • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! Problem Statement & Contributions: • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model,using a GPU • Achieved upto 19x speed-up • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Contributions • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! Problem Statement & Contributions: • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model,using a GPU • Achieved upto 19x speed-up • Visibility Problem is highly parallel • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Contributions • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! Problem Statement & Contributions: • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model,using a GPU • Achieved upto 19x speed-up • Visibility problem is highly parallel • No compromise on quality • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Contributions • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! Problem Statement & Contributions: • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model,using a GPU • Achieved upto 19x speed-up • Visibility problem is highly parallel • No compromise on quality • No Dynamic Memory Allocation and Recursion • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Contributions • O(M2 log M) Time Complexity (for Octree with M leaves) • M2 log M << N3 • M << N … but still not fast enough ! Problem Statement & Contributions: • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model,using a GPU • Achieved upto 19x speed-up • Visibility problem is highly parallel • No compromise on quality • No Dynamic Memory Allocation and Recursion • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Application to Global Illumination • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Application to Global Illumination • Parallel, Fast computation of view-independent visibility in a • complex scene represented as a point model, using a GPU Point modeled Cornell Room and the Stanford Bunny • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Application to Global Illumination • Can be extended to the Digital Heritage Project http://research.microsoft.com • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Plan • Hierarchical Visibility Map (V-map) Construction on CPU • Parallel V-map Construction on GPU • Strategy 1 – Multiple threads per node • Strategy 2 – One thread per node • Strategy 3 – Multiple threads per node-pair • Results • Conclusion • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
Plan • Hierarchical Visibility Map (V-map) Construction on CPU • Parallel V-map Construction on GPU • Strategy 1 – Multiple threads per node • Strategy 2 – One thread per node • Strategy 3 – Multiple threads per node-pair • Results • Conclusion • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? • V-map for a tree is a collection of visibility links for every node in the tree • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? • V-map for a tree is a collection of visibility links for every node in the tree • The visibility link for any node N is a set L of nodes N List L Node N • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? • V-map for a tree is a collection of visibility links for every node in the tree • The visibility link for any node N is a set L of nodes • Every point in any node L is guaranteed to be visible from every point in N N V1 Visibility Link List L Node N V1 • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? • V-map for a tree is a collection of visibility links for every node in the tree • The visibility link for any node N is a set L of nodes • Every point in any node L is guaranteed to be visible from every point in N V2 N V1 Visibility Link List L Node N V1 V2 • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? • V-map for a tree is a collection of visibility links for every node in the tree • The visibility link for any node N is a set L of nodes • Every point in any node L is guaranteed to be visible from every point in N V3 V2 N V1 Visibility Link Node N V1 V2 V3 • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? Level 0 (Root) • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? Level 0 (Root) Level 1 With respect to at any level, -- Completely Visible -- Partially Visible -- Completely Invisible • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? Level 0 (Root) Level 1 Level 2 With respect to at any level, -- Completely Visible -- Partially Visible -- Completely Invisible • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
What is a V-map ? Level 0 (Root) Level 1 Level 2 With respect to at any level, -- Completely Visible Level 3 (Leaf) -- Partially Visible -- Completely Invisible • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Root Level L-3 B A Level L-2 Level L-1 a1 b1 Level L Compute Visibility • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Root Level L-3 B A Level L-2 Level L-1 a1 b1 Look up Look up Level L All leaf-pairs are visible • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Complete Visibility Root Level L-3 B A Level L-2 Level L-1 a1 b1 Look up Look up Level L • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Complete Visibility Root Level L-3 B A New Visibility Link Level L-2 Level L-1 a1 b1 Look up Look up Level L • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Root Level L-3 B A Level L-2 Level L-1 a1 b1 Look up Look up Level L Only some leaf-pairs are visible • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Partial Visibility Root Level L-3 B A New Visibility Link Level L-2 Level L-1 a1 b1 Look up Look up Level L • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Partial Visibility Root Level L-3 B A New Visibility Link Level L-2 Level L-1 a1 b1 Look up Look up Level L • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran
CPU based V-map Construction Level 0 Root Level L-3 B A Level L-2 Level L-1 a2 b1 Level L Compute Visibility • ICVGIP, 2008 • Rhushabh Goradia, Prekshu Ajmera, Sharat Chandran