1 / 47

Meshless Deformations Based on Shape Matching

Meshless Deformations Based on Shape Matching. Matthias Mueller, Bruno Heidelberger, Matthias Teschner and Markus Gross ACM Siggraph 2005 논문세미나 : 이성호. Abstract (1/2). 변형되는 물체를 표현하는 새로운 방법을 제안 기하도형에 동기가 있음 점 기반 물체를 다룸 연결정보 불필요 전처리가 필요 없음 연산이 간단함 조건없는 안정성을 보장. Abstract (2/2). 기본 아이디어

thuy
Download Presentation

Meshless Deformations Based on Shape Matching

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Meshless Deformations Based on Shape Matching Matthias Mueller, Bruno Heidelberger, Matthias Teschner and Markus Gross ACM Siggraph 2005 논문세미나: 이성호

  2. Abstract (1/2) • 변형되는 물체를 표현하는 새로운 방법을 제안 • 기하도형에 동기가 있음 • 점 기반 물체를 다룸 • 연결정보 불필요 • 전처리가 필요 없음 • 연산이 간단함 • 조건없는 안정성을 보장

  3. Abstract (2/2) • 기본 아이디어 • 에너지를 기하적인 제약으로 정의 • 현재 위치와 목표 위치와의 거리 • 목표 위치는 변형되지 않은 상태와 현재의 변형 상태와의 일반화된 형태 매칭으로 결정 • 오버슈팅 문제는 발생하지 않음 • 점들이 잘 정의된 위치로 이동하기 때문 • 다음의 융통성 덕분에 이 방법은 게임에 적용하기 흥미로울 것 • 물체 표현방법 • 메모리와 연산 복잡성상의 효율성 • 다이나믹 시뮬레이션의 조건없는 안정성

  4. 1 Introduction • [Terzopoulos et al. 1987]이후 변형되는 물체를 표현하는 많은 방법이 개발됨 • 이 방법들은 재료의 정확한 표현, 다이나믹 시뮬레이션의 안정성, 가소성이나 깨짐 같은 물체의 속성에 주안점을 둠 • 변형가능한 모델링은 긴 역사를 갖고있지만 게임에서는 자주 사용되지 않음 • 이제는 변형되는 옷감 모델이 몇몇 게임에서 사용 • 그러나 일반적으로는 강체가 주름잡고 있음 • 강체가 서로 연결되어 분절된 구조를 이룰 수는 있지만 • 탄성이 있게 변형되는 삼차원 물체를 안정되고 효과적으로 표현하지는 못함 • 실시간 응용프로그램에 활용되지 못하는 몇 가지 이유가 있음

  5. Efficiency • 복잡한 재질 법칙을 안정되고 implicit 통합하는 것에 기반한 기존의 방법들은 많은 연산이 필요 • 적당한 기하 복잡성을 가진 물체들에 대화식(interactive) 시뮬레이션이 불가능 • 특별한 물체 표현법을 요구하는 경우도 있어서 구현과 디버그가 어려움 • 게임과 같은 대화식 응용프로그램 • 연산효율성에 강한 제약을 둠 • 컴퓨팅 자원을 조금만 차지해야 • 표면만 표현할 수 있음 • 변형되는 물체를 표현하기 위한 특별한 볼륨 표현법을 사용할 수 없음

  6. Stability • 변형되는 물체의 시뮬레이션은 모든 환경에서 안정돼야 함 • 기존의 방법으로 다뤄지지 않는 문제들 • 짜부러진 기하도형 (degenerated geometry) • 물리적으로 부정확한 상태 • 서로 뚫고 간 물체와 같은 문제 있는 상황 • 이 문제를 다룬 첫 contribution [Irving et al. 2004] • 그러나 인터랙티브 애플리케이션을 위한 것은 아님

  7. Controllability • 물리 기반 변형 모델 • 동적인 물체 행동을 가능한 한 사실적으로 시뮬레이션 • 게임이나 오락기술 • 형태가 변형되는 정도를 개발자가 통제할 필요가 있음 • 실제 같아 보이지만 정확하지 않은 계산을 감수 • 물리적으로 그럴듯한 시뮬레이션 • [Barzel et al. 1996], [Barzel 1997] • 변형되는 물체를 다루는 많은 기법들이 이들 요소들을 다루는 데에 실패 • 우리는 언급된 문제를 해결하는 기술을 제안 • 안정되고 상호작용하고 융통성있는(versatile) 변형 모델을 제시:

  8. Contributions • 탄성은 변형된 기하도형이 잘 정의된 목적 형태로 되돌아가는 것으로 모델링 • 확장된 매칭 기술을 이용 • 표현할 수 있는 변형 디테일은 선형, 2차 변형 모드로 변화가 주어짐 • 클러스터로 세분하여 더 큰 자유도 부여 • 기하 변형은 점으로부터만 계산 • 연결 정보나 다른 표현은 사용되지 않음 • 전처리나 대용량 데이터를 필요로 하지 않음 • 파라미터 설정은 간단하고 직관적 • 그래서 우리 기법은 물체 조작 면에서 “plug and simulate”만큼 간단 • 모든 변형된 지오메트리 상태와 모든 환경에서 안정 • 잘못 형성되거나 뒤집어진 요소, non-manifold에도 문제없음 • 구현하기 간단하고 효율적 • 메모리 사용량과 실시간 성능 면에서

  9. 2 Related Work • 변형되는 물체 시뮬레이션 • Finite difference [Terzopoulos et al. 1987] • Mass spring [Baraff and Witkin 1998] [Desbrun et al. 1999] • Boundary Element Method (BEM) [James and Pai 1999] • Finite Element Method (FEM) [Debunne et al. 2001], [Mueller and Gross 2004] • Finite Volume Method (FVM) [Teran et al. 2003] • Implicit surfaces [Desbrun and Cani 1995] • Mesh-free particle systems [Desbrun and Cani 1996], [Tonnesen 1998], [Mueller et al. 2004]

  10. 정확한 시뮬레이션에 대한 가속 기법 • 큰 타임 스텝 [Baraff and Witkin 1998] • 다해상도 모델 [Debunne et al. 2001], [Capell et al. 2002], [Grinspun et al. 2002] • Modal analysis [Pentland and Williams 1989], [Shen et al. 2002], [James and Pai 2002] • 자료 기반 기법 • 상태공간과 충돌 응답 함수를 미리 연산 [James and Pai 1999] • 구, 실린더, 고깔, superquadrics의 기하 변형으로 다이나믹 모델을 유도 [Metaxas and Terzopoulos 1992]

  11. Modal analysis • [Pentland and Williams 1989], [Hauser et al. 2003], [James and Pai 2004] • 우리 방법은 변형 모드를 근사하지는 않음 • 그래서 물체 표현방법이 추가로 필요하지 않음 • 지오메트리에 동기가 있음 • 전처리를 획기적으로 줄임 • 물리에 기반하지 않았지만 Modal analysis와 유사한 변형을 보임 • 추가 자료구조가 필요하지 않음 • 비싼 모달 디컴퍼지션이 필요하지 않음 • 모달 벡터를 담을 추가 표현법이나 저장공간이 필요하지 않음 • 그래서 우리 방법은 연산복잡도나 저장공간 기준으로 효율적

  12. Shape matching • [Shoemake and Duff 1992], [Alexa et al. 2000], [Kent et al. 1992] • 형태 매칭 접근은 두 형태의 상응점을 비교하는데 쓰임 [Faugeras and Hebert 1983], [Horn 1987], [Besl and McKay 1992], [Kazhdan et al. 2004] • 우리는 상응점을 미리 알고 있음 • 강체 트랜스포메이션을 통해 least square 최적해를 구하는 것만 문제 [Kanatani 1994], [Umeyama 1991], [Lorusso et al. 1995] • 우리는 이에 선형, 2차 트랜스포메이션도 적용

  13. 3 Meshless Animation • Newton의 제2법칙 • 물리 기반 시뮬레이션 기법의 공통 기반 • 강체 시뮬레이션 • 변형되는 모델링 • 유체 시뮬레이션 • 등식에 변화를 주면 물체가 가속되어 평형 상태로 운동 • 물체의 위치를 계산하기 위해 가속도와 속도는 시간에 대해 수치 적분 • 안정성과 효율성 • 수치 적분에서 주된 고려사항 • 암시적 적분 implicit integration은 타임 스텝에 상관하지 않고 안정 • 명시적 적분 explicit integration은 계산이 빠름 • 그러나 불안정 • 명시적인 오일러 방법 [Eberly 2003]

  14. 3.1 Explicit Numerical Integration 스텝h가 너무 크면 오류 때문에 내부 힘이 계의 에너지가 증가.

  15. 다음과 같이 v는 explicit, x는 implicit Euler step으로 통합하면 Eigenvalue를 구하면

  16. A의 Spectral radius는 1보다 크지 않아야 • 안정성 보장을 위한 조건 • A가 이산 시스템이기 때문 • Spectral radius: eigenvalues중 가장 큰 값 • h2k->∞인 경우 e0는 abs(e0)<1로 1에 수렴 • 그러나 e1은 h<2(m/k)1/2일때만 수렴 • 조건부 수렴 • v(t)=0에서 적분을 시작고 하면 • 매 프레임마다 • h나 k가 크거나 m이 작으면 평형점 l0를 지나친다 • abs(x(t)-l0)이 이전 스텝보다 클 경우, 위치에너지는 증가 • 다음 스텝을 거치면서 오류는 계속 커져만 간다

  17. 명시적 적분의 안정성 문제 • 탄성력은 탄성에너지 그라디언트의 반대방향 • 명시적 적분법은 그 방향으로 맹목적으로 힘을 작용 • 평형점을 벗어나서 오버슛할 수 있음 • 일반적 해결법 • 평형점이나 목표 위치 이상으로 움직이지 않도록 이동범위를 제한 • 앞의 예제에서는 목표 위치는 x(t)=l0 • 하지만 finite elements나 복잡한 지오메트리와 같은 일반적인 경우에는 목표 위치를 계산하기란 쉽지 않음 • 우리 방법은 이 문제를 해결

  18. 3.2 The Algorithm (1/2) 그림 3: 원본 형태 x0i가 변형된 형태 xi에 매치된다. 그다음 변형된 점 xi가 매치된 형태 gi로 밀려간다.

  19. The Algorithm (2/2) • 입력 • 질량 mi와 초기 위치(configuration) x0i • 연결정보가 필요하지 않음 • 파티클간의 상호작용을 고려하지 않은 단순한 파티클 시스템으로 시뮬레이션 • 충돌처리나 중력 등에 의한 외력은 고려 • 각 타임스텝마다 각 파티클이 목표 위치 gi로 이동 • 개개의 목표 위치 계산 • x0i로 정의된 원래의 위치와 파티클들의 실제 위치 xi를 매칭

  20. 3.3 Shape Matching 주어진 x0i와 xi에 대해, 다음을 최소화하는 회전 매트릭스 R, 트랜슬래이션 벡터 t, t0를 구함 단, wi은 각 포인트의 가중치 우리는 wi=mi로 함 (mi는 질량) 트랜슬래이션 벡터는 다음처럼 각 도형의 질량중심으로 정하면 최적

  21. 최적의 회전 매트릭스R을 포함하는 문제를 구하기 전에 최적의 선형 변환A를 구하는 문제를 먼저 생각해 보자 라고 정의하면 최소화해야 하는 식: A의 모든 계수에 대해서 미분값이 0으로 되도록 하면, Proof:

  22. Aqq는 symmetric행렬이기 때문에 회전 성분이 없고 스캐일링 성분만 있음 그러므로 최적의 회전 R은 Apq의 일부 Polar decomposition을 통해 Apq=RS로 구하면 단, 그러면 목표 위치는 다음과 같이 구할 수 있음

  23. 3.4 Integration 다음과 같이 통합하면 오버슛하지 않음 α=[0...1]는 stiffness를 시뮬레이션하기 위한 계수 식 (1)의 Euler방법과의 다른 점은 내부의 탄성력이 다뤄지는 방법에 있음 α=1인 경우 (gi(t)-xi(t))/h항이 속도에 더해져서 gi(t)-xi(t)가 식 (10)에 더해지게 이것은 점을 바로 목표 위치에 이동하도록 만들거나 α<1일 경우에는 목표 위치를 향해 가도록 만든다

  24. 위 식의 eigenvalue는 두 아이겐밸류의 magnitude는alpha와 h에 관계없이 1 이것은 이 방법이 무조건 안정되고 감쇄가 없음는 것을 뜻함 외력이 없는 일반적인 삼차원의 경우에도 참 외력이 점의 위치에 독립적(예를 들어 중력)이거나 잠시동안만 작용하는 경우(예를 들어 충돌에 대한 반응) 시스템 매트릭스는 바뀌지 않으며 안정

  25. 3.5 Discussion • x0cm과 qi는 미리 계산가능 • 매 타임스텝마다 계산하는 것 • 5-10 Jacobi rotations를 통해 를 대각선화(diagonalize) • 이 연산은 점의 갯수에 독립적 • 이 기법은 stiff하고 거의 rigid한 물체에도 잘 작동 • 기존 연구와의 차이점

  26. 많은 변형이 있는 경우에는 잘 맞지 않지만 4.2와 4.3절에서 확장할 것 질량중심을 이용하여 형태를 맞추는 것은 식(9)에 도입된 임펄스를 0으로 맞추고 선형 모멘텀을 보전 mi를 형태 맞춤의 가중치로 줌으로써 Apq보전이나 각모멘텀 또한 잘 보전 식 (9)의 속도 업데이트의 문제: 시스템의 행동은 타임 스텝에 의존 다시 말해, 속도 업데이트는 변화하는 타임스텝의 경우와 같음 α=h/τ (τ≤h는 시간 상수) 로 설정하면 해결

  27. 4 Extensions Figure 4: 기본 형태 매칭 알고리즘은 거의 강체인 물체 (세 번째 육면체)에 잘 적용된다. 선형과 2차 확장은 (가운데와 첫번째 육면체) 기본 형태로부터 큰 변형을 허용한다.

  28. 4.1 Rigid Body Dynamics • α=1 • 강체 시뮬레이션을 흉내내는 데 사용가능 • 점들은 목표 위치gi를 향해 간다 • 원래 형상에서 회전되고 트랜슬래이트된 것임 • 임의의 표면을 가진 메쉬에 대해 적은 정점(vertices) 부분집합만 필요 • 나머지 정점들은 각 타임 스텝마다 구해놓은 R과 t에 대해 변환하면 • 다음부터 설명하는 방법들에도 마찬가지로 적용

  29. 4.2 Linear Deformations • 이전까지의 방법은 작은 변형만을 허용 • 식 (8)에서 gi를 구할 때, 회전 R에 추가로 식 (7)에서 구한 A도 매칭에 사용 • gi=βA+(1-β)R • β는 추가된 제어 파라미터 • 목표 형상은 선형 변환을 허용하게 • R항이 있기 때문에 변형되지 않은 형상으로 되돌아가려는 경향을 유지하게 • 부피 보존 • det(A)=1로 만들기 위해 A를 (det(A))1/3로 나눔 • 앞의 방법에서는 Apq만 있으면 됐지만 • 여기서는 도 필요 • 그러나 이것은 미리 계산 가능

  30. 4.3 Quadratic Deformations 선형 변환은 기울어짐(shear)과 늘어남(stretch)만을 표현 꼬임(twist)과 구부러짐(bending)을 표현하기 위해 다음과 같이 2차 변환을 도입 선형 시스템의 계수 순수 2차항의 계수 혼합된 항의 계수

  31. 라고 하면, 다음을 최소화해야 최적해는 다음과 같음 와 는 미리 계산할 수 있음 목표 형상을 구하는 공식 단, 이 방법은 modal analysis를 가벼운 연산으로 흉내낸 것 그림 5에 기울어짐, 늘어남, 구부러짐, 꼬임 변형이 보여짐

  32. 그림 5: 식 (12)에서의 계수 Ã=[AQM] 에 의해 정의된 3x9개의 모드들의 시각화

  33. 4.4 Cluster Based Deformation • 파티클 집합을 클러스터들로 나눔 • 더 큰 변형이 가능 • 볼륨 메쉬를 사용하여 같은 요소 안에 있는 정점을 파티클로 보고 하나의 클러스터로 묶는 방법이 있음 • 우리는 정규적으로 공각을 분할해서 육면체 영역으로 나눔 • 각 영역마다 하나의 클러스터를 생성 • 각 integration step마다 각 클러스터의 원래 형태는 실제 형태와 매치된 다음 각 클러스터가 다음 항을 더함 • gci(t)는 클러스터c안에서 파티클 i의 목표 위치

  34. 4.5 Plasticity 그림 6: 8클러스터로 이루어진 육면체가 소성 변형을 이룸

  35. 3.3 절에서 polar decomposition을 이용해서 A=RS를 구함 S=RTA는 변형만을 담고 있음 S가 R다음에 곱해지기 때문에 회전되기 이전의 변형을 담는다 각 클러스터는 소성변형 행렬 Sp를 저장 이 상태 행렬은 단위행렬 I로 초기화 각 타임스텝마다 가 cyield를 초과하면 상태는 다음처럼 업데이트 cyield와 ccreep은 소성을 제어하기 위한 파라미터[O’brien et al. 2002] 소성은 가 임계값 cmax를 넘었는지 검사할 수 있음 넘은 경우엔 소성 변형은 다음처럼 설정 부피 보존을 위해서 Sp를 로 나눔 Sp는 식 (7)의 qi에 다음과 같이 통합 Sp가 변경되면 Aqq와 Ãqq도 업데이트되어야 함

  36. 5 Results 그림 7: 물체의 유연성은 클러스터의 갯수에 비례. 이 예제에서 한 개, 두 개, 다섯 개의 클러스터가 사용됨

  37. Cluster based deformation • 그림 7에서 60개의 점으로 이루어진 2차 변형된 막대를 보임 • 각 그림마다 공간상의 같은 지점으로부터 온 스프링 힘이 물체의 같은 지점에 작용 • 클러스터가 증가할수록 변형이 더 세밀해지고 물리적인 충실도가 높아짐 • 일반적으로 클러스터의 수는 사용자가 정함 • 구처럼 생긴 단순한 물체에는 한 개의 클러스터가 적당하고 복잡한 물체에는 분할이 필요

  38. Performance

  39. 성능은 형상 매칭에 사용된 점의 갯수와 클러스터의 갯수에 비례 • 두 척도에 따른 성능의 증가량을 설명하기 위한 실험 • 점들이 임의의 위치에 존재하고 임의의 목적 위치가 정의 • 선형, 2차 변형에 대해 다양한 점 갯수에 대해 측정이 됨 • 강체의 경우 연산 복잡도는 선형 변형의 경우와 같음 • 성능은 점 갯수에 비례해 증가 • 클러스터 수가 늘어나면 더 많은 폴라 디컴퍼지션이 필요해서 성능이 저하 • 2차 변형 모델은 선형 모델보다 더 많은 연산을 필요로 함 • 그래도 8개의 클러스터와 100개의 시뮬레이션 점으로 이루어진 100개의 물체는 2차 변형으로 50fps가 나옴 • Finite Element Method나 Mass-spring방법과의 성능비교는 어려움 • 우리의 방법은 변형 모델과 클러스터 갯수에 의존하기 때문

  40. Complex simulation scenarios (1/2) 그림9: 물체 384개로 이루어진 장면. 다이나믹스 계산은 실시간으로 가능하지만 충돌검사와 충돌반응은 그렇지 않음

  41. Complex simulation scenarios (2/2) • 그림 9는 384개의 물체가 2,448개의 클러스터와 55,200개의 점으로 이루어진 장면 • 2차 형태 매칭은 한 물체가 한 프레임당 0.008에서 0.096밀리초가 걸림 • 그림 1은 145물체가 1,728클러스터와 24,618개의 점으로 이루어짐 • 2차 형태 매칭으로 한 물체가 한 프레임당 0.12초가 걸림

  42. Interactivity (1/2) 그림 10: 8개의 클러스터로 이루어진 머리 모델이 사용자 입력에 반응하거나, 다른 변형되는 모델과 충돌

  43. Interactivity (2/2) • 그림 10은 게임에 일반적으로 나타나는 것과 같은지형적인 복잡성이 있는 물체를 묘사 • 8개의 클러스터와 66개의 점으로 이루어진 머리 • 1클러스터와 13개의 점으로 이루어진 공 • 물체는 표면 메쉬로 합쳐짐 • 6,460개와 2,000개의 면으로 이루어짐 • 상호작용하는 프레임율을 보임 • 끌기, 충돌 처리, 시각화가 가능

  44. Stability (1/2) 그림 11: 오리 모델을 짜부러뜨리는 것은 많이 디폼되고 반전되는 경우에서 이 방법의 안정성과 복원능력을 보여줌

  45. Stability (2/2) • 그림 11은 우리 방법이 납작해진(degenerated) 지오메트리를 처리하는 것을 보임 • 수치 통합 방법의 무조건적인 안정성에 의해 어떤 사용자 상호작용에도 안정된 애니메이션을 보임

  46. 6 Conclusions and Future Work • 기본 모델은 modal 분석 접근과 관련되지만 • 몇가지 차이를 보임 • 전처리나 추가 자료구조가 필요하지 않음 • 연산효율적이고 무조건 안정된 시뮬레이션을 보임 • 물리적 동기에 의한 방법은 아님 • 추가로 고차원 변형모드가 고려되어야 정확성 증가 • Modal 분석의 정확성은 변형 모드의 수를 늘리면 증가 • 고차원 모드는 모델링 정확도를 높이지는 않음 • 물리적 진동 모드에 관련 없기 때문

  47. 적절한 수의 변형되는 물체를 실시간으로 표현 • 적당한 충돌 처리 방법이 요구 • 우리는 기존의 penalty-based충돌검사 기법 [Teschner et al. 2003], [Heidelberger et al. 2004]을 사용함 • 그러나 이마저도 성능 병목을 보임 • BDTree [James and Pai 2004]로 대체하는 것을 생각해 볼 수 있음 • 기존 연구도 좋지만, 변형되는 물체의 모델링에 부합하는 충돌 처리 기법이 요구 • 이 방법의 다음과 같은 특성은 게임에서 관심있는 것 • 많은 물체를 다루는 플러그-앤-시뮬레이트 방법 • 메모리와 연산 복잡성에 관한 효율성 • 다이나믹 시뮬레이션의 조건없는 안정성 • 가소성을 하나의 확장으로 제시함 • 깨짐 애니메이션을 추가로 확장해볼 수 있음 • 연결구조가 바뀌는 것은 자료구조를 조금만 수정하면 가능하기 때문에 흥미로울 것

More Related