Point Set Surface Editing Techniques based on Level-Setsxxg061000/xguo_CGI04Talk.pdf · Editing...
Transcript of Point Set Surface Editing Techniques based on Level-Setsxxg061000/xguo_CGI04Talk.pdf · Editing...
Point Set Surface Editing Techniques Point Set Surface Editing Techniques based on Levelbased on Level--SetsSets
Xiaohu Guo , Jing Hua , Hong QinXiaohu Guo , Jing Hua , Hong QinDepartment of Computer ScienceDepartment of Computer Science
SUNY Stony BrookSUNY Stony Brook
OutlineOutline
Introduction and motivationIntroduction and motivationLevelLevel--setset--driven point set surface modelingdriven point set surface modeling
LevelLevel--set formulationset formulationScalarScalar--field freefield free--form deformationform deformationDynamic update and samplingDynamic update and samplingTopology change handlingTopology change handling
Editing toolkits & resultsEditing toolkits & resultsConclusionsConclusions
OutlineOutline
Introduction and motivationIntroduction and motivationLevelLevel--setset--driven point set surface modelingdriven point set surface modeling
LevelLevel--set formulationset formulationScalarScalar--field freefield free--form deformationform deformationDynamic update and samplingDynamic update and samplingTopology change handlingTopology change handling
Editing toolkits & resultsEditing toolkits & resultsConclusionsConclusions
Point set surfaces are enjoying Point set surfaces are enjoying their renaissancetheir renaissance
PointPoint--based renderingbased rendering[[Rusinkiewicz and Levoy 2000]] [Pfister et al. 2000][Zwicker et al. 2001] [Dachsbacher et al. 2003]……
Oriented particle surfaceOriented particle surface [Szeliski and Tonnesen 1992]
Moving least squares surfaceMoving least squares surface [Alexa et al. 2001]
PointPoint--based appearance editingbased appearance editing [Zwicker et al. 2002]
PointPoint--based shape modelingbased shape modeling [Pauly et al. 2003]
……Free of connectivity concern!Free of connectivity concern!
Interactive shape controlInteractive shape control
The spectrum of surface editing and deformation types is far from enough.It is not easy to handle collision detection and topology changes purely based on point information.Scalar-field-driven implicit representation and level-sets are powerful :
Free of parameterization artifactsCan handle arbitrary topology and complicated geometry easily
Our solution: level-set-driven editing paradigm for point set surfaces.
System overviewSystem overview
OutlineOutline
Introduction and motivationIntroduction and motivationLevelLevel--setset--driven point set surface modelingdriven point set surface modeling
LevelLevel--set formulationset formulationScalarScalar--field freefield free--form deformationform deformationDynamic update and samplingDynamic update and samplingTopology change handlingTopology change handling
Editing toolkits & resultsEditing toolkits & resultsConclusionsConclusions
Implicit surface construction Implicit surface construction from point cloudsfrom point clouds
Implicit surface:Implicit surface:}),(|)({ kttS == xx φ
Construction from point clouds:Construction from point clouds:[[Hoppe et al. 1992Hoppe et al. 1992], ], [[Frisken et al. 2000Frisken et al. 2000], ], [[Carr et al. 2001Carr et al. 2001], ], [[Turk and OTurk and O’’Brien 2002Brien 2002], ], [[Zhao and Osher 2002Zhao and Osher 2002], ], [[Ohtake et al. 2003Ohtake et al. 2003],],……
LevelLevel--set formulationset formulation
,...),,( φφφφ∇∇=
∂∂ xF
t
Partial differential equation :Partial differential equation :
Speed function:Speed function:
dtdF xx ⋅
∇∇
−≡∇φφφφ ,...),,(
SparseSparse--field method field method [Whitaker 1998]:[Whitaker 1998]:
Layer 0Layer -1 Layer +1
FreeFree--form deformationform deformation
Smooth deformation field F:Smooth deformation field F:RR33→→RR33 that warps 3D that warps 3D spacesspaces
[[Sederberg et al. 86], [Coquillart 90], [MacCracken et al. 96], [Singh et al. 98], …
Can be applied to point samplesCan be applied to point samplesMoving least squares surface definition [Moving least squares surface definition [Pauly et al. 2003Pauly et al. 2003]]ScalarScalar--field freefield free--form deformation form deformation –– our approachour approach
(courtesy of Pauly et al.)
ScalarScalar--field freefield free--form deformation form deformation (SFFD)(SFFD)
OverviewOverview
ssEmbed the entire model or part of the model (represented as poinEmbed the entire model or part of the model (represented as point set t set surfaces) into a surface scalar field sampled on levelsurfaces) into a surface scalar field sampled on level--set grids:set grids:
}0),(|)({ == tstS s xx
Define a tool scalar field used to perform deformations, Define a tool scalar field used to perform deformations, and and tscalculate the tool scalar values at all the vertices of the gridcalculate the tool scalar values at all the vertices of the grids. s.
Constrain the grid vertices on the level sets of the tool scalarConstrain the grid vertices on the level sets of the tool scalar field where field where they originally reside by enforcing vertexthey originally reside by enforcing vertex--flow constraints during the flow constraints during the deformation process.deformation process.
ScalarScalar--field freefield free--form deformation form deformation (SFFD)(SFFD)
Surface Tool Bending Tool
Velocity FieldVelocity FieldBended Surface
ScalarScalar--field freefield free--form deformation form deformation (SFFD)(SFFD)
Mathematical expressionMathematical expression
}),(|)({ ctst t =xxThe trajectory of the grid vertex can be represented aThe trajectory of the grid vertex can be represented as:s:)(tx
The derivative of : The derivative of : ),( tst x 0=∂∂
+⋅∇ts
dtds t
tx
Consider general velocity of the grid vertex as : Consider general velocity of the grid vertex as : dtdx ),,( zyx vvv
The objective function : The objective function :
∫ ∇+∂∂
+⋅∇= xvv dtssE t
t22 )()( λ
ScalarScalar--field freefield free--form deformation form deformation (SFFD)(SFFD)
Mathematical expression (contMathematical expression (cont’’d)d)
21012 LLLLLi UUUU −−∈
To discretize , consider only the grid vertices on the spaTo discretize , consider only the grid vertices on the sparserse--field layers:field layers:E
∑ +=i
isicE ))()(( λ
2))()()(()(tsiv
zsiv
ysiv
xsic t
zt
yt
xt
∂∂
+∂∂
+∂∂
+∂∂
=
[ ]∑∈
−+−+−=iNj
zzyyxxi
jvivjvivjvivN
is 222 ))()(())()(())()((1)(
},|{ 210126 LLLLLjCijjNi UUUU −−∈∈=
The solution, satisfying The solution, satisfying , ,
can minimize .can minimize .
ScalarScalar--field freefield free--form deformation form deformation (SFFD)(SFFD)
Mathematical expression (contMathematical expression (cont’’d)d)
E
0)(=
∂∂
ivE
x
0)(=
∂∂
ivE
y
0)(=
∂∂
ivE
z
The solution is : The solution is : ΤΤΤ
∂∂
∂∂
∂∂
−= ],,[],,[],,[zs
ys
xsvvvvvv ttt
zyxzyx μ
222 )()()(zs
ys
xs
tsv
zsv
ysv
xs
ttt
tz
ty
tx
t
∂∂
+∂∂
+∂∂
+
∂∂
+∂∂
+∂∂
+∂∂
=λ
μ
LevelLevel--set speed function : , to advance tset speed function : , to advance the he surface scalar field.surface scalar field.
v⋅∇∇
−=s
s
ssF
Dynamic update and samplingDynamic update and sampling
UpUp--sampling: Farthest point sampling sampling: Farthest point sampling method in [method in [M. Alexa, et al. 2001M. Alexa, et al. 2001]]
DownDown--sampling: Iterative simplification sampling: Iterative simplification method in [method in [M. Pauly, et al. 2002M. Pauly, et al. 2002].].
Points move in their normal directionPoints move in their normal direction
Topology change handlingTopology change handling
LevelLevel--set contour can change topology set contour can change topology automatically.automatically.The topology of the point set surfaces The topology of the point set surfaces need to be explicitly handled, e.g. deleting need to be explicitly handled, e.g. deleting points in the intersection region.points in the intersection region.Collision detection based on digital Collision detection based on digital topology. [topology. [Bertrand 1994Bertrand 1994] [] [Bischoff and Bischoff and Kobbelt 2003Kobbelt 2003]]
Digital TopologyDigital Topology
1int =n1=extn
0int =n1=extn
1int =n0=extn
1int =n2=extn
2int =n1=extn
))(),((),( *26
266int vNVvNcVvn I=
))((),( *2626 vNVcVvnext I=The number of exterior components : The number of exterior components :
The number of interior components : The number of interior components :
A grid is A grid is simplesimple w.r.t. a grid set (i.e. and have thw.r.t. a grid set (i.e. and have the same e same number of components), if and only if :number of components), if and only if :
v V V }{vV U1),(),(int == VvnVvn ext
Collision detection and handlingCollision detection and handling
vu w
2int ≥nIf , at least two parts of the If , at least two parts of the front are going to collide.front are going to collide.
Delete the point samples residing in Delete the point samples residing in the prescribed vicinity of grid u and w.the prescribed vicinity of grid u and w.
Calculate of the current Calculate of the current advancing grid v.advancing grid v.
intn
Place a tag between v and w.Place a tag between v and w.
OutlineOutline
Introduction and motivationIntroduction and motivationLevelLevel--setset--driven point set surface modelingdriven point set surface modeling
LevelLevel--set formulationset formulationScalarScalar--field freefield free--form deformationform deformationDynamic update and samplingDynamic update and samplingTopology change handlingTopology change handling
Editing toolkits & resultsEditing toolkits & resultsConclusionsConclusions
Editing toolkitsEditing toolkits
FreeFree--form deformationform deformationShrinking/InflationShrinking/InflationBendingBendingTaperingTapering
SketchSketch--based editingbased editingOther toolsOther tools
Embossing/EngravingEmbossing/EngravingSmoothingSmoothing
FreeFree--form deformation toolsform deformation tools
Tool scalar field generated as the blending of Tool scalar field generated as the blending of field functions of a set of skeleton elements field functions of a set of skeleton elements (blobs, curves, etc)(blobs, curves, etc)
Enforcing control in two ways:Enforcing control in two ways:Adjusting the coefficients of the implicit functions for each Adjusting the coefficients of the implicit functions for each skeleton elementskeleton elementManipulating or moving the skeleton elementsManipulating or moving the skeleton elements
∑=
=N
iit zyxgzyxs
1),,(),,(
FreeFree--form deformation toolsform deformation tools
Shrinking/InflationShrinking/Inflation
FreeFree--form deformation toolsform deformation tools
BendingBending
FreeFree--form deformation toolsform deformation tools
TaperingTapering
SketchSketch--based editing toolsbased editing tools
Allowing surfaces to grow/drill along userAllowing surfaces to grow/drill along user’’s s input strokes by defining the speed function:input strokes by defining the speed function:
φφαα
∇∇
⋅∇−+= )1(DF
Other toolsOther tools
Using the speed function proposed by Using the speed function proposed by [[Museth et al. 2002Museth et al. 2002] :] :
)()()( γγ GCdDF q=
VideoVideo
Time performanceTime performance
Editing toolsEditing tools # Grids# Grids # Points# Points Time (s)Time (s)
Shrinking/InflationShrinking/Inflation 12812833 67,03867,038 4.6524.652
BendingBending 12812833 67,03867,038 3.0093.009
Sketch editingSketch editing 646433 9,3489,348 0.1830.183
EmbossingEmbossing 646433 9,1919,191 0.2140.214
SmoothingSmoothing 646433 9,8269,826 0.5350.535
Implemented on a Microsoft Windows XP PC with dual Intel Xeon 2.Implemented on a Microsoft Windows XP PC with dual Intel Xeon 2.0GHz 0GHz CPUs and 1.5GB RAM.CPUs and 1.5GB RAM.
ConclusionsConclusions
A new modeling and deformation paradigm for A new modeling and deformation paradigm for point set surfaces based on levelpoint set surfaces based on level--sets.sets.Local and global editing on arbitrary point set Local and global editing on arbitrary point set surfaces of any topological types.surfaces of any topological types.Taking advantages of levelTaking advantages of level--set geometry and set geometry and scalarscalar--field freefield free--form deformation. form deformation. Employ digital topology to handle topological Employ digital topology to handle topological changes during deformation.changes during deformation.Various editing toolkits for user interaction.Various editing toolkits for user interaction.
AcknowledgementsAcknowledgements
NSF grants IISNSF grants IIS--0082035 and IIS0082035 and IIS--00976460097646Alfred P. Sloan FellowshipAlfred P. Sloan FellowshipColleagues from the Center of Visual Colleagues from the Center of Visual Computing, SUNY Stony Brook.Computing, SUNY Stony Brook.
Thank you!