May 27, 1998
GENESIS
Morphological handling of shapes
Project leader : Prof. B.B. Kimia , email: kimia@lems.brown.edu
Project members :
-
Ilana Frankel
email: if@lems.brown.edu
-
Huseying Tek email: tek@lems.brown.edu
-
Daniel Sharvit email: des@lems.brown.edu
-
Frederic Leymarie email: leymarie@lems.brown.edu
A paradigm for shape creation, deformation, manipulation, updating, ...
and the study of evolution through transitions (and eventually
morphometric dynamics).
For 1998 we will limit ourselves to (at first, function of progress) :
-
2D shapes,
-
use of a "blank" canvas.
Goal:
-
To (re) design GENESIS, a toolbox within RAPHAEL, for 2D Free-From
Shape Modeling and Interaction.
References (previous work):
-
Z.F.Roadhouse & B.B.Kimia, "A morphogenetic approach to
generating shape queries" CVPR'97.
-
P.J.Giblin & B.B.Kimia, "On the
local form and transitions of symmetry sets, and medial axes, and
shocks in 2D", LEMS TR 170, April 1998.
-
R.C.Zeleznik, K.P.Herndon & J.F.Hughes, "SKETCH:
An interface for sketching 3D scenes", SIGGRAPH'96.
-
K.Siddiqi & B.B.Kimia, "Parts
of visual form: Computational aspects", PAMI, vol.17(3),
pp.239-251, March 1995.
-
D.Sharvit, J.Chan & B.B.Kimia, "Symmetry-based
indexing of image databases", CVPR'98.
-
H.Tek, F.Leymarie & B.B.Kimia, "Multiple
generation shock detection & labeling using CEDT", in
"Visual Form", 1997.
-
M.Leyton, "Symmetry, Causality,
Mind", MIT Press, 1992.
-
J.Bloomenthal,
"Skeletal design of natural forms", PhD thesis, Computer Sci.
Dept, U. of Calgary, Alberta, Canada, January 1995.
-
Fabrizio Capobianco, "FORMAFLUENS:
a tool for describing evolving forms", Dipartimento di
Informatica e Sistemistica, Pavia University, Italy, 1997.
-
S.C.Zhu
& A.Yuille, "FORMS: A flexible object recognition &
modeling system" IJCV, vol.20(3), 1996.
Early challenges
How to:
-
draw a "simple" axis (with the mouse, in a gesture-based
manner);
-
bend an axis;
-
compose 2 shapes : bring a part or on another one and unify their
representation;
-
de-compose 2 shapes : e.g. separate a protrusion from a
"corps"
-
pull out a protrusion (of a certain shape, along an axis);
-
push in an indentation
-
...
Dense Space of Shapes (changes)
Examples (suggestions) of interaction:
-
click on a shock --> reconstruct points on the bounding contour
-
click on a shock group --> reconstruct bounding curves or part
-
2 clicks (or other button) on a shock or shock group --> reconstruct
the contours of a shock group + its parents/children
-
"simplify" the shape or part (e.g. rectify it or un-bend)
-
Menu of operations on a shock group : bend, protrude, adds, ...
DRAFT - PLAN
Step I - Background + Elementary Reconstruction
-
Read some literature, with an emphasis on:
-
Look at Brandon Roy's code (in Raphael) and meet him if needed.
-
Additional resources: Daniel Sharvit for Raphael & Python
-
Implement from scratch - or debug/modify Brandon's code - the following
"elementary" functions (assuming an available shock graph:
ask Daniel):
-
Select (click on) a shock --> reconstruct boundary points
-
Select a shock group --> reconstruct associated bounding curves
-
Select a shock group --> show also the parents/children's associated
bounding curves
Step II - Bending of shapes
-
Consider existing shock datum: bend these ? (the trace of)
-
"Knobs" on curvature functions
Step III - "Erosions" of shape
Modification by deletion/transform of branches
-
Deletion of skeletal features (shock groups)
-
Deletion from the boundary (select a boundary segment --> look for
significant curvature minima : see Siddiqi&Kimia)
-
De-compose: send waves to modify (locally) the shock graph (see Tek, Leymarie&Kimia).
-
"Simplify" (to be defined; but see Step IV).
-
"Complexify" by "adding" (empty "stuff")
indents, holes, ... (to be defined).
Step IV - Rectification of shape
Straightening, simplification or mapping to "primitives" of
shape sub-parts.
-
Transform on accelerations : constant or null
-
Transform on velocities: constant
-
"Simplify": remove parts (protrusions, indents), separate (at
necks), ...
-
Map to canonical parts: transform toward cylindrical parts with simple
cross-sections (constant, linear) or circular arcs.
Step V - "Dilation" of shape
Modification by addition/transform of branches
-
Addition of skeletal features (shock groups): create an axis.
-
Addition from the boundary (select a boundary segment --> create
significant curvature extrema : see Leyton )
-
Gesture-based: draw the (coarse) outline of a part and merge it with
the core shape.
-
Re-compose: send waves to modify (locally) the shock graph (see Tek, Leymarie&Kimia).
-
"Simplify" (to be defined; but see Step IV).
-
"Complexify" by "adding" (new "stuff")
protrusions, filing holes, ... (to be defined).
Step VI - Other transforms
-
Displacement of parts (protrusions/indents) along a boundary.
-
Displacement of "stuff": moving and deforming holes
-
Fusion: merge parts with a core shape
-
Fission: separate parts from a core shape, but keep/create
the identity of these parts/shapes.
-
"Fractalize/randomize": add micro-structure to the bounding
contours.
-
"Smooth": remove micro-structure from the bounding contours
(e.g. with implicit polynomials)
Step VII - Creation from scratch
No shock graph given; have to create a purely synthetic shape.
-
Axis-based:
-
draw an axis
-
specify radius function
-
specify speed and acceleration
-
...
-
Gesture-based:
Step VIII - Evolutions
Study the characterization of the evolution/appearance of species
through shape "transitions".
Study/compare variations across a specie (say humans) in terms of shape
"morphings".
Step IX - Image Analysis with Genesis
Use the machinery developed for Genesis on images to extract 2D shapes.
Page created by Frederic
Leymarie, 1998.
Comments, suggestions, etc., mail to: leymarie@lems.brown.edu