Upload
brooke-curtis
View
95
Download
2
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
EMBEDDED DEFORMATION FOR SHAPE MANIPULATIONRobert W.Summer Johannes Schmid Mark Pauly
SIGGRAPH 2007
Presenter : 김 종 현
ABSTRACT• 우리는 일반적이고 , 자연스럽고 , 직관적인 조정을 거쳐 변형하는 알고리즘을 소개 할 것이다 .
• 하나의 변형은 각 Graph Node 와 관련이 있다 .
• 위치 제한은 embedded object 의 points 로 기술한다 .
• 특징 보존은 하나의 true rotation ( 교환하는 값 ) 으로부터 각 변형의 편차를 측정하여 암호화 했다 .
• 우리는 editing meshes, polygon soups, mesh animation, animate particle system 에 의한 증명
Unstructured Set of Polygons
INTRODUCTION• 우리는 마침내 !!! 직관적인 자연스런 특징 변형을 어떠한 embedded in space 에서 적용시킬 수 있다 .
• 우리는 이 모든 문제를 object embedded 의 직관적인 조종을 통해 공간상에서의 변형을 제공한다 .
• 우리 알고리즘의 목적은 아래의 원리에 의한 motivation 이다 .
• Generality
• Efficiency
• Detail preservation
• Direct manipulation
GENERALITYShape representation 의 넓은 지역을 수용하기 위해서는 공간 변형을 기반으로 한 변형모델을 구체화 한다 .
이것은 주변 공간의 global remapping 을 제공을 한다 .
우리 알고리즘에서의 공간 변형은 Affine transformation 의 집중 / 안정 (collection) 에 의해서 정의
각 요소들은 가까운 공간에서의 변형이 된다 .
EFFICIENCY능률은 엄청나게 복잡한 geometry model 이 나온 이후로 항상 고려해야 할 사항이다 !!!
그 사항을 기술하는 것이 바로 !!! Reduced deformable model 이다 . 이것은 geometry 의 복잡성으로부터 변형
알고리즘의 복잡성을 분리 했다 .
• Deformation graph 는 매우 간단 , 일반적이고 어떠한 geometry representation 의 독립적
• 하나의 deformation graph 는 간접적인 edges 에 의해서 연결된 nodes 로 구성
• 하나의 Affine transformation 은 각 노드들과 관련 그래서 노드들은 결과적으로 변형을 위한 공간구성을 제공
• Graph edges 은 겹쳐진 영향력의 연결된 노드들 (globally)
AFFINE TRANSFORMATION ???컴퓨터 그래픽스에서 좌표를 변환할 때 이용
• 선분에서 선분으로 변환
• 이미지를 여러 형태와 위치로 변환 시키는 것이 용이
• 평행 이동 , 원점에 대한 회전 , 크기 변형 , 비틀기 가능
(x1 , y1)
x
y(x2 , y2)
x
y
(x2’ , y2’ )
(x1’ , y1’ )
아핀 변환아핀 변환
mapping
(x4 , y4)(x3 , y3)
(x2 , y2)
(x1 , y1)
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
ROTATION Rotation : 회전 변환 : 회전축을 필요로 한다 .
• 점 p(x, y, z) 를 z 좌표축에 대하여 회전
ROTATION • 점 p(x, y, z) 를 y 좌표축에 대하여 회전
• 점 p(x, y, z) 를 x 좌표축에 대하여 회전
REFLECTIONReflection : 3 차원 공간에서의 객체 반사 : 주어진 평면에 대한 거울반사 된 객체가 얻어짐
3D ROTATION• 원점 기준 회전 (Origin rotation) versus 중심점 기준 회전 (pivot Point Rotation)
• 중심점 기준 회전
DETAIL PRESERVATION실제로 이 요구방법은 부분 특징을 변형 (deformation, stretch, shear) 이 되는 동안 rotation 시키는 것이다 .
Affine transformation 은 재 표현된 local deformation 의 graph node 와 관련이 있고 , detail 은 이것들의
변형이 교환되었을 때 가장 잘 보존이 된다 .
DIRECT MANIPULATION우리의 명확한 변형은 위치상에서의 제한된 최적화된 문제로서 점들을 기술했다 !!
그것들이 하나의 embedded object 이다 . ( 사용자 직접 조종 )
• 이 알고리즘은 Affine transformation 을 위한 최적의 값을 찾아냈다 .
• 자세한 보존은 정확한 true rotation 으로부터 변형된 각 편차 값을 측정하여 각 function 안에서 암호화 .
DIRECT MANIPULATION• shape 의 representation 과 그 geometry 의 복잡성에 독립적이다 .
• feature rotation 이 후에는 최적화된 절차 안에서 암호화 된다 .
• 자연스런 편집은 위치상의 제한을 통하여 단독적으로 이루어지게 된다 .
• deformation graph 가 간단 , 탄력성 있는 구조 . 그래서 좋지 않은 node 의 분포가 흡족하게 수정 해 준다 .
• 새로운 변형 방법을 제공 , 이것은 이전에 부족했던 직관력 있는 편집을 확장 .
• 우리의 방법은 복합적인 연결된 요소들과 전통적인 meshes, polygon soup, point-based model 등
BACKGROUND• FFD (Free Form Deformation)
• Sederberg, Perry, Siggraph 1986
• 전역 변형과 같은 것을 표현하기 위한 방법은 에워싸인 공간에서의 변형을 야기하는 조정점 (control points) 의 격
자에서 free-form deformation 을 이용하는 것 • 이것 혹은 유사한 표현으로 , 어떤 target mesh 도 모든 mesh vertex 에 global deformation 을 적용함으로써 , 변형 할 수 있음
BACKGROUND• Direct manipulation of free-from deformations
• 고정된 격자 구조는 최적화 되지 않는데 , 왜냐하면 알맞게 크기가 결정된 격자는 모든 target mesh 의 점에 대한
임의적인 비선형적 변형을 표현 못하기 때문 고정 격자 한계 !
• Wires : A geometric deformation technique
• Singh, Fiume, Siggraph 1998
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) : 펭귄도 한 링 이다 !!!
BACKGROUND우리의 방법은 하나의 특별한 representation 을 노력하지 않는다 !!!!
그리고 어떠한 3d point 로 된 모델로 적용 시킬 수 있다 . 다른 Wires 또는 다른 공간 알고리즘들은 detail을 보존하는데
명백하지 않다 .
• deformation graph 의 복잡성은 수정하는데 있어서 shape 의 복잡성에 독립적 .
• 그래서 우리의 기술은 shpae 과 서로 작요하여 조정이 가능하다 .
• graph 는 volumetric 의 정밀한 분석을 필요로 하지 않는다 .
• 그 구조가 volumetric, 이전의 방법에서 사용한 subspace 구조보다 간단 .
• 우리의 알고리즘은 유연성을 제공 , geometry 의 복잡성에 대해 독립적 , 심플하다 .
DEFORMATION GRAPH새롭게 감소된 모델을 우리는 “ deformation graph” 라고 부르겠다 !!!
• shape representation 의 다양한 종류의 복잡한 변형을 표현 .
• 이 모델의 공간 변형은 Affine transformation 의 집합 ( 모임 ) 으로 정의 할 수 있다 .
• 3 차원 공간에서 하나의 변형은 embedded graph 의 각 노드와 관련이 있다 .
• 각 Affine transformation 은 바로 가까이에 있는 공간상의 부분적인 변형을 포함
• 간단히 말해서 부분적으로 의존 !!!!!!
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????
DEFORMATION GRAPH
Node(j) 의 Affine transformation 은 R(j) 의 3 by 3 matrix 에 의해서 열거된다 !!!!
jjjj tggpRp )(
g(j)
),,( zyx tttT
t
g(j) + t(j)
여기서 끝일까 ????
DEFORMATION GRAPH
jjjj tggpRp )(
Rotation Matrix
• 결과적으로 우리의 알고리즘은 캐릭터 애니메이션에서 효과적으로 사용되는 skeleton subspace 변형 방법과 유사 !!
• 그래프 node 의 영향력은 smooth 하게 blend.
• 각 shape vertex(1..n) 의 변형된 위치는 deformation 된 그래프 Affine transformation 의 적용 후 위치의 무 게 값의 합니다 . jj
m
j
jjjiji tggvRvwv 1
~
)()[(
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~
)(
DEFORMATION GRAPH
m
j
iT
jiji nRvwn1
1~
)(
하나의 행렬은 다각형과 다른 기하 요소들을 일관되게 변환 하는데 사용된다 . 그러나 이러한 행렬들이 중요한 기하학
적 성질인 표면 법선 벡터를 반환하는데도 사용될 수 있는 것은 아니다 . 법선 벡터에는 기하 구조 변환에 사용된 특정
행렬의 역 행렬의 전치 행렬이 사용되어야 한다 . 그러므로 기하구조를 변환 하는데 사용된 행렬이 M이라고 하면 , 법선
벡터를 변환 하는 행렬은 다음과 같아야 한다 .
TMN )( 1
이에 대한 정의는 Turkowski 의 저서를 참고 하면 됩니다 !!!
DEFORMATION GRAPH무게 값 w(j : 1..n) 은 공간적으로 변화 한다 . 즉 , 연속적으로 바뀐다는 것이다 !!!
그러므로 무게 값은 vertex 의 위치에 달려있다 !!!
그래프 구조 때문에 , 변형은 서로 바로 곁에 있는 것은 대부분 비슷할 것이다 . 그러므로 일관성과 효율성이 있다 .
우리의 deformation graph 는 영향이 제한이 있다 .
무게 값은 아래의 식에 따라서 미리 계산 !!!!2
max )/||||1()( dgvvw jiij
우리들은 deformation graph 의 영향을 제한 : k node 에서 가장 가까운 부분의 vertex 그래프의 영향으로 제한
DEFORMATION GRAPH
g(j)
2max )/||||1()( dgvvw jiij
d(max) = 4, 8
값이 클 수록 더 많이 reference 를 한다 !!!! 나눠주는 부분은 바로 nor-malize!
(c) : k = 4, (d) : k = 8
1max kd
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
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
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
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!!!
CONSTRAINT : REGULARIZATION이 규칙화는 무게를 지탱하는 equation 과 유사하다 . ( Allen et al. 2003 Summer and Popovic 2004;
Pauly et al. 2005)
그러나 변형된 vertex 의 위치들은 비교된다 . 차라리 그들을 변형 하는게 더 낫다 . 그리고 그 변형은 nodes 과 관계가
있고 , 글로벌 좌표 시스템이 낫다 . 결국 자기네들이 쓰는 방법이 좋다고 말을 하고 있다 .!!!!
CONSTRAINT : CONSTRAINT사용자 컨트롤은 embedded shape 의 직접 조종을 통해 최적화 되어 있다 .
• model 점들의 모임이 선택이 된다 . 그리고 사용자의 조종에 의해 조종이 된다 .
• 고정이 된다 . 그리고 model 의 모임에 있는 점들은 선택이 되고 , 공간 안에서 고정이 된다고 약속한다 .
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). 수정 된 부분 그렇지 않은 부분 선택 가능
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 )()()(
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
RESULT• Detail preservation
• 적은 nodes 개수
• detail 을 보존
RESULT• Detail preservation
RESULT• Intuitive editing
• 직관적인 편집
• 85,792 vertices
• 넓은 지역에 있어서 특징이 보존
RESULT• Intuitive editing
• 머리가 부분적으로 변화했을 때 , 840 개의 node 가 더 detail 하게 된다 .
• 몸에 선택된 fixed node 를 제외한 얼굴 node만 선택했을 경우 138 개의 node
RESULT• Intuitive editing
• 연결되지 않은 정보 . 많은 hole and outlier
• 전체 180 개의 분리된 요소들 안에서 79,226 vertices
• deformation graph : 221
• 자동적으로 uniform sampling 에 의해 자동적으로 만들어 진다 .
RESULT• Mesh animations
• mesh 단순화를 수동적으로 이동 시킨다 .
• 그 이후로 그래프 node 는 mesh vertices 과 동시에 선택되어 진다 .
• 애니메이션 자취를 위한 node 위치의 추가적인 계산을 요구하지 않는다 .
• 사용자는 한 상태의 keyframes 에 의해서 script 를 수정할 수 있다 .
• output mesh animation 은 사용자는 편집을 혼합시킨다 .
RESULT• Particle simulations
• 시뮬레이션 파라미터를 비틈으로써 small scale 로 가능하다 .
• 더 격렬하게 수정이 될 것이다 .
RESULT• Efficiency
각 Gauss-Newton iteration 이 요구하는 시간 : 20ms ~ 30ms
Constraints 된 통계적 수(vertices)
Ep2 는 s/w 를 사용한다 . Deformation graph 전달
jj
m
j
jjjiji tggvRvwv 1
~
)()[(
CONCLUSION• 우리는 embedded deformation 을 위한 shape manipulation 알고리즘을 만들었고 , 그 디테일을 만족 !!!
• 우리의 method 는 주목할 만하다 !! Why?? 간단 , 효율 , 다목적이기 때문에 !!! 음… .
• 앞에서 말한 여러가지 모델에 적용이 가능 .한계점
• deformation graph 의 구조가 editing 하는 동안에 static 하다 .
• 결정적으로 달성할 수 있는 deformation 이 복잡하다 .
• find scale edit 는 조잡한 graph 에 의해서 표현될 수 없다 .
하지만 !!! Graph 를 쉽게 creation~!!
CHOLESKY
NEWTON RAPHSON378770838.1sinlog3)( 2 xxf