• No results found

Interactive Collision Detection for Large-Scale Deformable Objects

N/A
N/A
Protected

Academic year: 2022

Share "Interactive Collision Detection for Large-Scale Deformable Objects"

Copied!
39
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Interactive Collision Detection for Large-Scale Deformable Objects

Sung-Eui Yoon

Scalable Graphics Lab.

KAIST

http://sglab.kaist.ac.kr/~sungeui/

(2)

Collision Detection

Collision detection is used in various fields

Game, movie, scientific simulation and robotics

<Figure from PIXAR>

<Figure from C. Lauterbach >

<Figure from AION >

(3)

Goals

Achieve interactive performance for exact collision detection between large-scale

deformable models

E.g., deforming models consisting of tens or hundreds of thousand triangles

<Cloth-ball, 94K triangles> <Breaking dragon, 252K triangles>

(4)

Large-Scale Applications

Entertainment (games/movies)

E-heritage applications

Virtual reality, etc

(5)

Overview

HPCCD: Hybrid parallel continuous collision detection

FASTCD: Fracturing-Aware Stable Collision Detection

HCCMeshes: Hierarchical-Culling oriented Compact Meshes

(6)

Overview

HPCCD: Hybrid parallel continuous collision detection

FASTCD: Fracturing-Aware Stable Collision Detection

HCCMeshes: Hierarchical-Culling oriented Compact Meshes

(7)

Discrete vs. Continuous

Discrete collision detection (DCD)

Detect collisions at each frame

Fast, but can miss collisions

Frame1 Frame2

Miss collisions

(8)

Discrete vs. Continuous

Discrete collision detection (DCD)

Continuous collision detection (CCD)

Identify the first time-of-contact (ToC)

Accurate, but requires a long computation time

Not widely used in interactive applications

Frame1 Frame2

The first time-of-contact (ToC)

(9)

Inter- and Self-Collisions

Inter-collisions

Collisions between two objects

Self-collisions

Collisions between two regions of a deformable object

Takes a long computation time to detect

From Govindaraju’s paper

(10)

Parallel Computing Trends

Many core architectures

Multi-core CPU architectures

GPU architectures

Heterogeneous architectures

Intel’s Larabee and AMD’s Fusion

Designing parallel algorithms is important to utilize these parallel architectures

(11)

Main Contributions

A novel, hybrid parallel CCD method

Utilize both multi-core CPUs and GPUs

No locking in the main loop of CD

GPU-based exact CD between two triangles

High scalability & interactive performance

Multi-core

CCD

CPU Multi-core CPU

GPU

GPU

- Kim et al. PG 09

- Received a distinguished paper award

(12)

Task Distribution

CCD

BVH update BVH traversal Elementary tests

BVH update and traversal

Elementary tests

Multi-core CPUs GPUs

-Random accesses

- Branch prediction - Caching

- Solving cubic equations

Streaming processors optimized with floating point operations

(13)

13

Testing Environment

Machine

One quad-core CPU (Intel i7 CPU, 3.2 GHz )

Two GPUs (Nvidia Geforce GTX285)

Run eight CPU threads by using Intel’s hyper threading technology

(14)

14

Results

(15)

15

Results of Our CPU-based Parallel CCD

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

Improvement (times)

Number of Threads

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

Improvement (times)

Number of Threads

7.1 Ideal

Our method Naïve

3.5

Remove locking in the main loop of CD

Employ efficient dynamic load-balancing based on inter-CD task units

(16)

16

Results of HPCCD

As the number of GPUs is increased, we get higher performances

(17)

17

Limitation

Low scalability for small rigid models

(18)

18

Summary

A novel, hybrid parallel algorithm

Utilize both multi-core CPUs and GPUs

High scalability

About 13 times performance improvement for CCD by using a quad-core CPU and two GPUs compared with using a single CPU core

Interactive performance

Show 19-140 FPS for various deformable models consisting of tens or hundreds of thousand triangles

The i

mplementation code will be available as OpenCCD library

(http://sglab.kaist.ac.kr/OpenCCD)

(19)

19

Overview

HPCCD: Hybrid parallel continuous collision detection

FASTCD: Fracturing-Aware Stable Collision Detection

HCCMeshes: Hierarchical-Culling oriented Compact Meshes

(20)

20

Fracturing in Simulations

More widely used in various applications to create more realistic interactions

Presents significant challenges to CD

Self-CD can take more expensive time with fracturing models

Fractured segments can be located in a near proximity

(21)

21

Examples (Video)

142K

252K

(22)

22

Research Challenges with Fracturing Models

Most prior works assume fixed topologies

Can take prohibitive times when models change their topologies

Self-CD can take more expensive time with fracturing models

Fractured segments can be located in a near proximity

(23)

23

Our Approach

Fracturing-aware stable CD

Incrementally update meshes and BVHs by utilizing topological changes of models

Design a simple self-CD culling method without much pre-computations

(24)

24

Results with the Exploding Dragon Model

T-CCD: Tang et al. [2008]

(25)

25

Results with the Breaking-Wall Model

S-Hash: Optimized spatial hashing (Teschner et al. 03]

(26)

26

Overview

HPCCD: Hybrid parallel continuous collision detection

FASTCD: Fracturing-Aware Stable Collision Detection

HCCMeshes: Hierarchical-Culling oriented Compact Meshes

(27)

Hierarchical Culling and Traversal

Widely used in many search based algorithms

Various proximity queries

Ray tracing

[ Images are from Jensen’s homepage ]

Path tracing Photon mapping

(28)

Ray Tracing – Massive Model

128M triangles

256M BVH nodes

14GB data

Size of memory < 4GB

Rendering time : 40 min

St. Matthew

(29)

Collision Detection– Massive Model

30M triangles

60M BVH nodes

3.2GB data

Lucy & CAD turbine

(30)

Random-Accessible Compressed Data

Compression methods of meshes and hierarchies

Reduce the memory requirements

Supports random accesses on meshes and hierarchies

Can be useful to many different applications [Kim et al. Eurographics 2010 (to appear);

Kim et al., TVCG 09;

Yoon and Lindstrom, VIS 07]

1st rank at ACM SIGGRAPH Student Competition

(31)

Hierarchical-Culling oriented

Compact Meshes (HCCMeshes)

Consists of two parts:

i-HCCMeshes (in-core representation)

o-HCCMeshes (out-of-core representation)

(32)

32

Data Access Framework

Main memory

User

Request

Data

Data pool

(33)

33

Data Access Framework - Out-of-Core Technique

Main memory

User

Request

Data

Cached data External drive

Data pool

Cluster c0 Cluster c1 Cluster c2 Cluster c3 Cluster c4 Cluster c5

Cluster cn

cluster ID

cluster

(34)

34

HCCMeshes

Main memory

User

Request

Data

Cached data External drive

Data pool

cluster ID

Decomp.

cluster

compressed cluster

Decomp.

Compressed Data

Cluster cm Cluster c0 Cluster c1 Cluster c2 Cluster c3 Cluster c4 Cluster c5 Cluster c6 Cluster c7 Cluster c8 Cluster c9 Cluster c10 Cluster c11 Cluster c12 Cluster c13

o-HCCMesh i-HCCMesh

Support hierarchical random access!

(35)

35

Main Benefits

Use a lower memory space and working set size

o-HCCMeshes have 20:1 compression ratios

i-HCCMeshes have 6:1 compression ratios

Improve runtime performance

(36)

36

Applications

Whitted-style ray tracing

LOD-based ray tracing

Collision detection

Photon mapping

Non-photorealistic rendering

(37)

37

Results

(38)

Conclusions

Discussed three different techniques for

interactive CD among large-scale deforming models

HPCCD: Hybrid parallel continuous collision detection

FASTCD: Fracturing-Aware Stable Collision Detection

HCCMeshes: Hierarchical-Culling oriented Compact Meshes

(39)

Acknowledgements

Research collaborators

DukSu Kim, JaePil Heo, TaeJoon Kim, Pio

Claudio, BooChang Moon, YongYoung Byun, SeungYong Lee, YongJin Kim, JaeHyuk Heo, John Kim

Funding sources

Ministry of Knowledge Economy

Microsoft Research Asia

KAIST seed grant

Samsung

Korea Research Foundation

Referanser

RELATERTE DOKUMENTER

Exploiting this observation, we present the novel kinetic separation list, which enables continuous inter- and intra- object collision detection for arbitrary deformations such

We have implemented our method within the SOFA frame- work [ACF ∗ 07] and applied it to various deformable, rigid and skinned models, with geometries ranging from simple cubes to

Although cubes can be thought as a closer shape of some teeth crowns, bounding circles have proved to be more accurate than bounding boxes for teeth collision detection (in our

The core of our framework is the particle based collision de- tection that is used to throw particles along the trajectory of the vertices and along the moving edges.. It has been

The approach is compared with the last releases of two other broad phase algorithms of the Bullet library [Bul], the 3D incremental sweep and prune (SAP) [CLMP95] (a 64 bits version

§ More complicated collision detection is necessary –  E.g., rigid body simulation.. –  Broad-phase collision detection –  Narrow-phase

In this paper, a two-level parallel spatial hashing method for real-time collision detection between deformable objects on GPU is presented.. Firstly, the geometric primitives in

Without having a positive training set, we instead use the k best detections of our single instance classifier and train one aggregated instance classifier with k + 1 positives and