46
EMBEDDED DEFORMATION FOR SHAPE MANIPULATION Robert W.Summer Johannes Schmid Mark Pauly SIGGRAPH 2007 Presenter : 김 김 김

Embedded Deformation for Shape Manipulation

Embed Size (px)

DESCRIPTION

Embedded Deformation for Shape Manipulation. Robert W.Summer Johannes Schmid Mark Pauly SIGGRAPH 2007 Presenter : 김 종 현. Abstract. 우리는 일반적이고 , 자연스럽고 , 직관적인 조정을 거쳐 변형하는 알고리즘을 소개 할 것이다 . 하나의 변형은 각 Graph Node 와 관련이 있다 . 위치 제한은 embedded object 의 points 로 기술한다 . - PowerPoint PPT Presentation

Citation preview

Page 1: Embedded Deformation for Shape Manipulation

EMBEDDED DEFORMATION FOR SHAPE MANIPULATIONRobert W.Summer Johannes Schmid Mark Pauly

SIGGRAPH 2007

Presenter : 김 종 현

Page 2: Embedded Deformation for Shape Manipulation

ABSTRACT• 우리는 일반적이고 , 자연스럽고 , 직관적인 조정을 거쳐 변형하는 알고리즘을 소개 할 것이다 .

• 하나의 변형은 각 Graph Node 와 관련이 있다 .

• 위치 제한은 embedded object 의 points 로 기술한다 .

• 특징 보존은 하나의 true rotation ( 교환하는 값 ) 으로부터 각 변형의 편차를 측정하여 암호화 했다 .

• 우리는 editing meshes, polygon soups, mesh animation, animate particle system 에 의한 증명

Unstructured Set of Polygons

Page 3: Embedded Deformation for Shape Manipulation

INTRODUCTION• 우리는 마침내 !!! 직관적인 자연스런 특징 변형을 어떠한 embedded in space 에서 적용시킬 수 있다 .

• 우리는 이 모든 문제를 object embedded 의 직관적인 조종을 통해 공간상에서의 변형을 제공한다 .

• 우리 알고리즘의 목적은 아래의 원리에 의한 motivation 이다 .

• Generality

• Efficiency

• Detail preservation

• Direct manipulation

Page 4: Embedded Deformation for Shape Manipulation

GENERALITYShape representation 의 넓은 지역을 수용하기 위해서는 공간 변형을 기반으로 한 변형모델을 구체화 한다 .

이것은 주변 공간의 global remapping 을 제공을 한다 .

우리 알고리즘에서의 공간 변형은 Affine transformation 의 집중 / 안정 (collection) 에 의해서 정의

각 요소들은 가까운 공간에서의 변형이 된다 .

Page 5: Embedded Deformation for Shape Manipulation

EFFICIENCY능률은 엄청나게 복잡한 geometry model 이 나온 이후로 항상 고려해야 할 사항이다 !!!

그 사항을 기술하는 것이 바로 !!! Reduced deformable model 이다 . 이것은 geometry 의 복잡성으로부터 변형

알고리즘의 복잡성을 분리 했다 .

• Deformation graph 는 매우 간단 , 일반적이고 어떠한 geometry representation 의 독립적

• 하나의 deformation graph 는 간접적인 edges 에 의해서 연결된 nodes 로 구성

• 하나의 Affine transformation 은 각 노드들과 관련 그래서 노드들은 결과적으로 변형을 위한 공간구성을 제공

• Graph edges 은 겹쳐진 영향력의 연결된 노드들 (globally)

Page 6: Embedded Deformation for Shape Manipulation

AFFINE TRANSFORMATION ???컴퓨터 그래픽스에서 좌표를 변환할 때 이용

• 선분에서 선분으로 변환

• 이미지를 여러 형태와 위치로 변환 시키는 것이 용이

• 평행 이동 , 원점에 대한 회전 , 크기 변형 , 비틀기 가능

(x1 , y1)

x

y(x2 , y2)

x

y

(x2’ , y2’ )

(x1’ , y1’ )

아핀 변환아핀 변환

mapping

(x4 , y4)(x3 , y3)

(x2 , y2)

(x1 , y1)

Page 7: Embedded Deformation for Shape Manipulation

TRANSLATION & SCALINGTranslation : 물체를 정의하는 모든 점에 대해 3 개의 변수들을 이동

z

y

x

tzz

tyy

txx

1000

100

010

001

),,(z

y

x

zyxt

t

t

tttT

Scaling : 공간상의 한 점 (x, y , z) 를 원점에 대하여 x 축 , y 축 , z 축으로 sx, sy, sz 만큼 신축되어 새로운 점을 생성

zsz

ysy

xsx

z

y

x

1000

000

000

000

),,(x

x

x

zyx s

s

s

sssS

Page 8: Embedded Deformation for Shape Manipulation

ROTATION Rotation : 회전 변환 : 회전축을 필요로 한다 .

• 점 p(x, y, z) 를 z 좌표축에 대하여 회전

Page 9: Embedded Deformation for Shape Manipulation

ROTATION • 점 p(x, y, z) 를 y 좌표축에 대하여 회전

• 점 p(x, y, z) 를 x 좌표축에 대하여 회전

Page 10: Embedded Deformation for Shape Manipulation

REFLECTIONReflection : 3 차원 공간에서의 객체 반사 : 주어진 평면에 대한 거울반사 된 객체가 얻어짐

Page 11: Embedded Deformation for Shape Manipulation

3D ROTATION• 원점 기준 회전 (Origin rotation) versus 중심점 기준 회전 (pivot Point Rotation)

• 중심점 기준 회전

Page 12: Embedded Deformation for Shape Manipulation

DETAIL PRESERVATION실제로 이 요구방법은 부분 특징을 변형 (deformation, stretch, shear) 이 되는 동안 rotation 시키는 것이다 .

Affine transformation 은 재 표현된 local deformation 의 graph node 와 관련이 있고 , detail 은 이것들의

변형이 교환되었을 때 가장 잘 보존이 된다 .

Page 13: Embedded Deformation for Shape Manipulation

DIRECT MANIPULATION우리의 명확한 변형은 위치상에서의 제한된 최적화된 문제로서 점들을 기술했다 !!

그것들이 하나의 embedded object 이다 . ( 사용자 직접 조종 )

• 이 알고리즘은 Affine transformation 을 위한 최적의 값을 찾아냈다 .

• 자세한 보존은 정확한 true rotation 으로부터 변형된 각 편차 값을 측정하여 각 function 안에서 암호화 .

Page 14: Embedded Deformation for Shape Manipulation

DIRECT MANIPULATION• shape 의 representation 과 그 geometry 의 복잡성에 독립적이다 .

• feature rotation 이 후에는 최적화된 절차 안에서 암호화 된다 .

• 자연스런 편집은 위치상의 제한을 통하여 단독적으로 이루어지게 된다 .

• deformation graph 가 간단 , 탄력성 있는 구조 . 그래서 좋지 않은 node 의 분포가 흡족하게 수정 해 준다 .

• 새로운 변형 방법을 제공 , 이것은 이전에 부족했던 직관력 있는 편집을 확장 .

• 우리의 방법은 복합적인 연결된 요소들과 전통적인 meshes, polygon soup, point-based model 등

Page 15: Embedded Deformation for Shape Manipulation

BACKGROUND• FFD (Free Form Deformation)

• Sederberg, Perry, Siggraph 1986

• 전역 변형과 같은 것을 표현하기 위한 방법은 에워싸인 공간에서의 변형을 야기하는 조정점 (control points) 의 격

자에서 free-form deformation 을 이용하는 것 • 이것 혹은 유사한 표현으로 , 어떤 target mesh 도 모든 mesh vertex 에 global deformation 을 적용함으로써 , 변형 할 수 있음

Page 16: Embedded Deformation for Shape Manipulation

BACKGROUND• Direct manipulation of free-from deformations

• 고정된 격자 구조는 최적화 되지 않는데 , 왜냐하면 알맞게 크기가 결정된 격자는 모든 target mesh 의 점에 대한

임의적인 비선형적 변형을 표현 못하기 때문 고정 격자 한계 !

• Wires : A geometric deformation technique

• Singh, Fiume, Siggraph 1998

Page 17: Embedded Deformation for Shape Manipulation

BACKGROUND• Volumetric

- 효율성과 안정성 증가를 위한 부분 공간 구조를 확립 . (Zhou et al 2005; Shi et al 2006)

- 비선형 방법들은 (Sheffer and Kraevoy 2004; Huang et al 2006; Botsch et al 1006) 높은 편질 질

- 하지만 높은 계산의 cost 를 가진다 .

이들의 알고리즘들은 상세하게 shape representation 변형을 표현하지 못하기 때문에 embedded object NO!!

- Huang and colleagues(2006) 에 의한 방법은 mesh-based Laplacian 에너지로 제한보존을 나타낸다 .

이것은 vertex 들의 term 과 그들의 한 링의 주변들로부터의 계산이 된다 . (one ring) : 펭귄도 한 링 이다 !!!

Page 18: Embedded Deformation for Shape Manipulation

BACKGROUND우리의 방법은 하나의 특별한 representation 을 노력하지 않는다 !!!!

그리고 어떠한 3d point 로 된 모델로 적용 시킬 수 있다 . 다른 Wires 또는 다른 공간 알고리즘들은 detail을 보존하는데

명백하지 않다 .

• deformation graph 의 복잡성은 수정하는데 있어서 shape 의 복잡성에 독립적 .

• 그래서 우리의 기술은 shpae 과 서로 작요하여 조정이 가능하다 .

• graph 는 volumetric 의 정밀한 분석을 필요로 하지 않는다 .

• 그 구조가 volumetric, 이전의 방법에서 사용한 subspace 구조보다 간단 .

• 우리의 알고리즘은 유연성을 제공 , geometry 의 복잡성에 대해 독립적 , 심플하다 .

Page 19: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH새롭게 감소된 모델을 우리는 “ deformation graph” 라고 부르겠다 !!!

• shape representation 의 다양한 종류의 복잡한 변형을 표현 .

• 이 모델의 공간 변형은 Affine transformation 의 집합 ( 모임 ) 으로 정의 할 수 있다 .

• 3 차원 공간에서 하나의 변형은 embedded graph 의 각 노드와 관련이 있다 .

• 각 Affine transformation 은 바로 가까이에 있는 공간상의 부분적인 변형을 포함

• 간단히 말해서 부분적으로 의존 !!!!!!

Page 20: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPHNode(j) 의 Affine transformation 은 R(j) 의 3 by 3 matrix 에 의해서 열거된다 !!!!

3 by 1 translation vector t(j) ),,( zyx tttT

N(j) 는 Node(j) 를 포함하는 간선

변형의 영향력은 노드 중심에 있어야 한다 . 그러므로 R(j) 에서의 어떠한 point p 의 새로운 위치 p’ 는 다음이다 .

jjjj tggpRp )(What????

Page 21: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH

Node(j) 의 Affine transformation 은 R(j) 의 3 by 3 matrix 에 의해서 열거된다 !!!!

jjjj tggpRp )(

g(j)

),,( zyx tttT

t

g(j) + t(j)

여기서 끝일까 ????

Page 22: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH

jjjj tggpRp )(

Rotation Matrix

• 결과적으로 우리의 알고리즘은 캐릭터 애니메이션에서 효과적으로 사용되는 skeleton subspace 변형 방법과 유사 !!

• 그래프 node 의 영향력은 smooth 하게 blend.

• 각 shape vertex(1..n) 의 변형된 위치는 deformation 된 그래프 Affine transformation 의 적용 후 위치의 무 게 값의 합니다 . jj

m

j

jjjiji tggvRvwv 1

~

)()[(

Page 23: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH

g(0)

),,( zyx tttT

t

jj

m

j

jjjiji tggvRvwv 1

~

)()[(

g(1) g(2

)

g(1)

g(2)

g(0)Normal 은 변형된 것과 비슷하다 . 변형된 Node 의 inverse, transpose 에 의해 각 변형된 노말의 무게

값의 합에

의해서 변형된 것과 비슷하다 .

m

j

iT

jiji nRvwn1

1~

)(

Page 24: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH

m

j

iT

jiji nRvwn1

1~

)(

하나의 행렬은 다각형과 다른 기하 요소들을 일관되게 변환 하는데 사용된다 . 그러나 이러한 행렬들이 중요한 기하학

적 성질인 표면 법선 벡터를 반환하는데도 사용될 수 있는 것은 아니다 . 법선 벡터에는 기하 구조 변환에 사용된 특정

행렬의 역 행렬의 전치 행렬이 사용되어야 한다 . 그러므로 기하구조를 변환 하는데 사용된 행렬이 M이라고 하면 , 법선

벡터를 변환 하는 행렬은 다음과 같아야 한다 .

TMN )( 1

이에 대한 정의는 Turkowski 의 저서를 참고 하면 됩니다 !!!

Page 25: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH무게 값 w(j : 1..n) 은 공간적으로 변화 한다 . 즉 , 연속적으로 바뀐다는 것이다 !!!

그러므로 무게 값은 vertex 의 위치에 달려있다 !!!

그래프 구조 때문에 , 변형은 서로 바로 곁에 있는 것은 대부분 비슷할 것이다 . 그러므로 일관성과 효율성이 있다 .

우리의 deformation graph 는 영향이 제한이 있다 .

무게 값은 아래의 식에 따라서 미리 계산 !!!!2

max )/||||1()( dgvvw jiij

우리들은 deformation graph 의 영향을 제한 : k node 에서 가장 가까운 부분의 vertex 그래프의 영향으로 제한

Page 26: Embedded Deformation for Shape Manipulation

DEFORMATION GRAPH

g(j)

2max )/||||1()( dgvvw jiij

d(max) = 4, 8

값이 클 수록 더 많이 reference 를 한다 !!!! 나눠주는 부분은 바로 nor-malize!

(c) : k = 4, (d) : k = 8

1max kd

Page 27: Embedded Deformation for Shape Manipulation

CONSTRAINT : ROTATION3 by 3 matrix R 을 회전으로 표현하기 위해서는 , 그것은 6 개의 conditions 을 만족시켜야 한다 .

3 열들의 각각은 unit length 이여야 하고 , 모든 열들은 다른 하나에 orthogonal 해야 한다 . 그 condition으로 부터

Squared derviation ( 편차제곱 ) 는 Rot(R) 로 부터 주어진다 . 2

332

222

112

322

312

21 )1()1()1()()()()( CCCCCCCCCCCCRRot

R 의 column vector 3 x 1 은 c1, c2, c3 이다 .

Rotation Matrix 는 unit length 이고 , 각 행과 열이 각각의 내적에 의해 orthogonal 이다 !!!

cossin0

sincos0

001

의 각 행과 각 행 혹은 열은 서로 직교함을 증명하여라 .

궁금하신 분 ??

http://ace3.yc.ac.kr/jhs/mecha/re1/data/chap2_1.htm

Page 28: Embedded Deformation for Shape Manipulation

CONSTRAINT : ROTATION그래서 E(rot) Term 은 deformation graph 의 transformation 회전 error 의 합이다 !!

)(1

j

m

j

rot RRotE

233

222

211

232

231

221 )1()1()1()()()()( CCCCCCCCCCCCRRot

만약 Rotation Error 가 없다면 이 Rot(R) 의 값은 0 이다 .

Rotation Matrix 의 내적은 : 0, unit length 이므로 1 거기서 -1 해주므로 0 그래서 최종으로 0!!!

• 각 축에 대해서 얼마나 회전 error

• 자신의 길이 error

Page 29: Embedded Deformation for Shape Manipulation

CONSTRAINT : REGULARIZATION만약 node(j) 와 node(k) 가 인접하다면 , 그들은 embedded shape 의 공통적인 부분집합에서 작용 !

Node(k) 의 위치는 Node(j) 의 Affine transformation 으로부터 예보 .

2

)(1

||)()(|| kkjjjkj

jNk

jk

m

j

reg tgtgggRaE

jg 현재 Node 의 위치

kg 인접해 있는 Node 의 위치

현재 위치에서 deformation

kj

Page 30: Embedded Deformation for Shape Manipulation

CONSTRAINT : REGULARIZATION

2

)(1

||)()(|| kkjjjkj

jNk

jk

m

j

reg tgtgggRaE

k j

)(.1 jkj ggR

k j k j

jj tg .2

k

j

K뒤에 Node 가 더 있다고 한다면 ??

k

j

i

무게 값 aik 는 node(j) 와 node(k) 가 겹쳐진 영향력에 비례하는 값 !! 하지만 많은 shape representa-tion 동

안에 나쁘게 정의가 된다 . (point based model, particle system) 우리는 무조건 1.0!!!

Page 31: Embedded Deformation for Shape Manipulation

CONSTRAINT : REGULARIZATION이 규칙화는 무게를 지탱하는 equation 과 유사하다 . ( Allen et al. 2003 Summer and Popovic 2004;

Pauly et al. 2005)

그러나 변형된 vertex 의 위치들은 비교된다 . 차라리 그들을 변형 하는게 더 낫다 . 그리고 그 변형은 nodes 과 관계가

있고 , 글로벌 좌표 시스템이 낫다 . 결국 자기네들이 쓰는 방법이 좋다고 말을 하고 있다 .!!!!

Page 32: Embedded Deformation for Shape Manipulation

CONSTRAINT : CONSTRAINT사용자 컨트롤은 embedded shape 의 직접 조종을 통해 최적화 되어 있다 .

• model 점들의 모임이 선택이 된다 . 그리고 사용자의 조종에 의해 조종이 된다 .

• 고정이 된다 . 그리고 model 의 모임에 있는 점들은 선택이 되고 , 공간 안에서 고정이 된다고 약속한다 .

Page 33: Embedded Deformation for Shape Manipulation

CONSTRAINT : CONSTRAINT• 그 위치의 제한은 선택이 되고 , 움직이는 mode 의 점들에 의해 열거 .

• 그들의 영향력은 Affine transformation 이 변형된 점의 위치에 작용된 이후로 최적화 된다 .

2)(

~

1

||||| llindex

p

l

con qvE

)(

~

lindexv 최종적으로 조종된 ver-tex

lq 제한된 vertex

1. 사용자가 정의한 mesh 의 부분을 허용

2. 그것이 곧 수정되어 지는 부분

3. 고정된 제한은 overhead 를 계산하지 않는다 . (윗 그림에서 컬러로 표현 )

4. 그러므로 사용자는 고밀도의 변형그래프를 사용 (fine scale). 수정 된 부분 그렇지 않은 부분 선택 가능

Page 34: Embedded Deformation for Shape Manipulation

OPTIMIZATION : NUMERICAL• 우리는 Gauss-Newton 알고리즘을 iterative 해서 풀었다 . 결과적으로 nonlinear least-squares 문제를 풀었다 .

• Gauss-Newton 알고리즘을 linearizses 했다 .

• 결국은 최소값을 찾기 위해서 least squares 를 사용한다 .

100

10

1

min...11

con

reg

rot

conconregregrotrottRtR

W

W

W

EWEWEWmm

idsfixedqtIR qq ,0,Fixed transformation

Taylor 전개를 x 에 대하여 풀면 다음과 같은 식이 나온다 . Jxfxf )()(

)(xf 각 function 에서 정의된 equation 이다 . (vector) 그래서

conconregregrotrotT EWEWEWxFxfxf )()()(

Page 35: Embedded Deformation for Shape Manipulation

OPTIMIZATION : NUMERICALVector x 는 Affine transformation 의 entries 이다 .

J 는 f(x) 의 자코비안 매트릭스 이다 .

각각의 Gauss-Newton iteration 으로 x(k) 를 이용하여 푼다 .

알지못하는 transformation 의 현재 추정치는

2||)(||minarg

Jxf kk kkk xx 1

• Convergence 할 때까지 반복

• 우리는 각 함수 에서의 변화를 감지해서 알 수 있었다 .

• 백터 는 update magnitude

우리의 경험으로 6번의 반복 후에 최적화된 수렴이 나왔다 !!

)( kk xFF

k

Page 36: Embedded Deformation for Shape Manipulation

RESULT• Detail preservation

• 적은 nodes 개수

• detail 을 보존

Page 37: Embedded Deformation for Shape Manipulation

RESULT• Detail preservation

Page 38: Embedded Deformation for Shape Manipulation

RESULT• Intuitive editing

• 직관적인 편집

• 85,792 vertices

• 넓은 지역에 있어서 특징이 보존

Page 39: Embedded Deformation for Shape Manipulation

RESULT• Intuitive editing

• 머리가 부분적으로 변화했을 때 , 840 개의 node 가 더 detail 하게 된다 .

• 몸에 선택된 fixed node 를 제외한 얼굴 node만 선택했을 경우 138 개의 node

Page 40: Embedded Deformation for Shape Manipulation

RESULT• Intuitive editing

• 연결되지 않은 정보 . 많은 hole and outlier

• 전체 180 개의 분리된 요소들 안에서 79,226 vertices

• deformation graph : 221

• 자동적으로 uniform sampling 에 의해 자동적으로 만들어 진다 .

Page 41: Embedded Deformation for Shape Manipulation

RESULT• Mesh animations

• mesh 단순화를 수동적으로 이동 시킨다 .

• 그 이후로 그래프 node 는 mesh vertices 과 동시에 선택되어 진다 .

• 애니메이션 자취를 위한 node 위치의 추가적인 계산을 요구하지 않는다 .

• 사용자는 한 상태의 keyframes 에 의해서 script 를 수정할 수 있다 .

• output mesh animation 은 사용자는 편집을 혼합시킨다 .

Page 42: Embedded Deformation for Shape Manipulation

RESULT• Particle simulations

• 시뮬레이션 파라미터를 비틈으로써 small scale 로 가능하다 .

• 더 격렬하게 수정이 될 것이다 .

Page 43: Embedded Deformation for Shape Manipulation

RESULT• Efficiency

각 Gauss-Newton iteration 이 요구하는 시간 : 20ms ~ 30ms

Constraints 된 통계적 수(vertices)

Ep2 는 s/w 를 사용한다 . Deformation graph 전달

jj

m

j

jjjiji tggvRvwv 1

~

)()[(

Page 44: Embedded Deformation for Shape Manipulation

CONCLUSION• 우리는 embedded deformation 을 위한 shape manipulation 알고리즘을 만들었고 , 그 디테일을 만족 !!!

• 우리의 method 는 주목할 만하다 !! Why?? 간단 , 효율 , 다목적이기 때문에 !!! 음… .

• 앞에서 말한 여러가지 모델에 적용이 가능 .한계점

• deformation graph 의 구조가 editing 하는 동안에 static 하다 .

• 결정적으로 달성할 수 있는 deformation 이 복잡하다 .

• find scale edit 는 조잡한 graph 에 의해서 표현될 수 없다 .

하지만 !!! Graph 를 쉽게 creation~!!

Page 45: Embedded Deformation for Shape Manipulation

CHOLESKY

Page 46: Embedded Deformation for Shape Manipulation

NEWTON RAPHSON378770838.1sinlog3)( 2 xxf