A Probabilistic Model for Component-Based Shape Synthesis

Document Sample
A Probabilistic Model for Component-Based Shape Synthesis Powered By Docstoc
					   A Probabilistic Model for
Component-Based Shape Synthesis
    Evangelos Kalogerakis, Siddhartha Chaudhuri,
           Daphne Koller, Vladlen Koltun
                 Stanford University
                      Bayesian networks
 • Directed acyclic graph (DAG)
      – Nodes – random variables                     Earthquake           Burglary
      – Edges – direct influence (“causation”)
 • Xi ? Xancestors | Xparents
 • e.g., C ? {R,B,E} | A
                                                 Radio            Alarm
 • Simplifies chain rule by using
   conditional independencies


Pearl, 1988
• A tool that automatically synthesizes a variety
  of new, distinct shapes from a given domain.
Various geometric, stylistic and functional
relationships influence the selection and
placement of individual components to ensure
that the final shape forms a coherent whole.
                         Sailing ships vary in:

                         - Size

                         - Type of hull, keel and mast

                         - The number and configuration of masts.
Probabilistic Reasoning for Assembly-
         Based 3D Modeling
      Siddhartha Chaudhuri, Evangelos Kalogerakis,
          Leonidas Guibas, and Vladlen Koltun

    ACM Transactions on Graphics 30(4) (Proc. SIGGRAPH), 2011
The probabilistic model is flat!!!!
It describes the relationship among components, but it does NOT
tells us how these components form the whole structure.
Offline Learning

Online shape synthesis
                                      The input shapes have two component
                                      categories: Legs and tabletops


 one-legged tables            four-legged tables

# tabletop: 1                 # tabletop: 1 or 2
# leg: 1                      # leg: 4

         Offline Learning
Synthesize one-leg tables
                    Step 1: synthesize a set of components (1
                    leg & 1 tabletop)


                     Step 2: optimize component placement

                        The model structure

R - shape style

S = {Sl} - component style per category l

N = {Nl} - number of components from category l.

C = {Cl} - continuous geometric feature vector for components from category l. (curvature
histograms, shape diameter histograms, scale parameters, spin images, PCA-based descriptors, and lightfield

D = {Dl} - discrete geometric feature vector for components from category l. (encode adjacency
For 4-legged table:            For 1-legged table
Ntop=1 or 2;                   Ntop=1
Nleg=4;                        Nleg=1
Stop=rectangular tabletops     Stop=roughly circular tabletops
Sleg=narrow column-like legs   Sleg=split legs
• The input:
  – A set of K compatibly segmented shapes.
  – For each component, we compute its geometric
  – The training data is thus a set of feature vectors:
  – O = {O1,O2, . . . ,Ok}, where Ok = {Nk,Dk,Ck}.
• The goal
  – learn the structure of the model (domain sizes of
    latent variables and lateral edges between observed
    variables) and the parameters of all CPDs in the model.
The desired structure G is the one that has highest
probability given input data O [Koller and Friedman 2009].
By Bayes’ rule, this probability can be expressed as

          Max P(G|O) -- > Max P (O | G)
Assume prior distributions over the parameters Θ of the model.

                                        parameter priors

summing over all possible assignments to the latent
variables R and S:
the number of integrals is exponentially large !!!
 To make the learning procedure computationally tractable, they
 use an effective approximation of the marginal likelihood known as
 the Cheeseman-Stutz score [Cheeseman and Stutz 1996]:

                          the parameters estimated for a given G

   a fictitious dataset that comprises the training data O and
   approximate statistics for the values of the latent variables.
The score defines a metric to measure how good a model is.

The goal is to search a G maximize the score!
          What does the G mean?

The number of table styles (R)

Whether a category of components belongs to a specific
style? What is the number? (S)
         Greedy Structure search
• Initially, set the domain size of 1 for R (a single shape
• for each category l,
   – Set the component style as 1, compute the score, then 2, 3,
     …, stop when the score decreases. The local maximal value
     is the style number of l. Move the next category.
• After the search iterates over all variables in S,
  increase the domain size of R and repeat the
• terminates when the score reaches a local maximum
  that does not improve over 10 subsequent iterations;
                         Domain size of R =1
• All tables belong to the same style.
• For leg:
   – Compute the score for case 1: all legs are of the same
   – Compute the score for case 2: narrow column-like legs and
     split legs.
   – Compute the score for case 3: three styles of legs. Score
     decreases so stop.
• For table-top:
    CPT of R              CPT of Stop (R=1)     CPT of Stop (R=2)

1              2          1           2         1           2

5/12               7/12   1.0             0.0   0.0             1.0

CPT of Sleg (R=1)         CPT of Sleg (R=2)

           2                          2
1                          1
1.0                0.0    0.0             1.0
                        Shape Synthesis
  • Step 1: Synthesizing a set of components

                                                      1-legged or 4-legged

                                                                      column-like or split

  Rect or circular?

Pruning: Branches that contain assignments that have extremely low probability density
                Shape Synthesis
  • Step 1: Synthesizing a set of components
  • Step 2: Optimizing component placement

“slots” specify
where this
component can be
attached to other
            Shape Synthesis
• Step 1: Synthesizing a set of components
• Step 2: Optimizing component placement

                             discrepancies of
                             position and relative
                             size between each
                             pair of adjacent slots
            Shape Synthesis
• Step 1: Synthesizing a set of components
• Step 2: Optimizing component placement
      Application: Shape database
• synthesize all instantiations of the model that
  have non-negligible probability
  – identify and reject instantiations that are very
    similar to shapes in the input dataset or to
    previous instantiations. (by measuring the feature
    vectors of corresponding components)
    Application: Constrained shape
• Give partial assignments to constrained
  random variables assume values only from the
  range corresponding to the specified

• Learning took about 0.5 hours for construction vehicles,
  3 hours for creatures, 8 hours for chairs, 20 hours for
  planes, and 70 hours for ships.
• For shape synthesis, enumerating all possible
  instantiations of a learned model takes less than an
  hour in all cases, and final assembly of each shape
  takes a few seconds.
Can it generate models like below?

           or            or

The probability should
be very low.
  Inspiration- Variability vs plausibility
• To maintain plausibility: should be similar to the existing
• To increase variability: should be as different as possible
  from the existing ones.
• This work is good for maintaining plausibility but the
  variability seems low.
• How to pursue large variability while maintaining

 Topic? Generating shape variation by
          variability transfer
• learn the varying model in the dataset rather
  than the shape model.
• Use the varying model to synthesize new
  shape in another dataset.
   Topic? function-preserved shape
• The function of a component is not taken into
  account in the current model…
• By considering function, we can create
  variations with high dissimilarity on geometric
  looking while preserve the function.

Shared By: