synthesizing 3d worlds

23
Synthesizing 3D Worlds - Baskar Rethinasabapathi

Upload: baskar-rethinasabapathi

Post on 08-Jul-2015

113 views

Category:

Design


0 download

DESCRIPTION

Short discussion on some of the most recent works on generating 3d world layouts using Probabilistic generative models and machine learning

TRANSCRIPT

Page 1: Synthesizing 3d worlds

Synthesizing 3D Worlds

- Baskar Rethinasabapathi

Page 2: Synthesizing 3d worlds

Why do we need this?

- laborious task; saves designer time- Building an avg scene takes upto 20 minutes

Page 3: Synthesizing 3d worlds

Why do we need this?

- laborious task; saves designer time- Building an avg scene takes upto 20 minutes

- constant need for variety

Page 4: Synthesizing 3d worlds

Why do we need this?

- laborious task; saves designer time- Building an avg scene takes upto 20 minutes

- constant need for variety

Systems find it difficult

- High dimensional ; complex to model- Object properties differ

- Constraints based- Interactive and dependent

Page 5: Synthesizing 3d worlds

Existing approaches

- Procedural modeling - Should have a structural grammar

- Component based- Not suited for scenes

- Evolutionary- Repetitive; less creative

- Probabilistic- To be discussed

Page 6: Synthesizing 3d worlds

Potential application

– Creating indefinite virtual worlds

No man’s sky – Procedural

http://youtu.be/ZVl1Hmth3HE?t=28s

Page 7: Synthesizing 3d worlds

Problem domains addressed

System 1 - Example-based Synthesis of 3D Object Arrangements

- focus on local arrangements

System 2 - Synthesizing open worlds with constraints using locally annealed reversible jump MCMC

- focus on open world arrangements

Paper Source

1. http://dl.acm.org/citation.cfm?id=2366154

2. http://dl.acm.org/citation.cfm?id=2185552

Page 8: Synthesizing 3d worlds

High-Level Challenges

- output should be highly plausible/agreeable

- should generate a very large variety

- Users should not be involved much

Page 9: Synthesizing 3d worlds

General approaches

1. Example based

2. Constraints based

Dataset

- Objects created - from Google 3D warehouse

- by users and annotated

Page 10: Synthesizing 3d worlds

Goal of System 1

- Users should judge synthesized scenes to be highly plausible compared to hand created ones

- At least one out of every three synthesized results should be usable

Page 11: Synthesizing 3d worlds

System design 1

Scene -> Contextual + User example -> Learneddatabase Categories Input scenes Mixed Model

Probabilistic Mixed Model =

Occurrence model + Arrangement model

Page 12: Synthesizing 3d worlds

Goal of System 2

- Should be more applicable on open world layouts

- Optimal object arrangements which is diverse enough

Page 13: Synthesizing 3d worlds

System design 2

Scene database ->Extract system of constraints -> Generate Factor graphs

Repeated constraints in Scene -> novel MCMC method -> new scenes

Page 14: Synthesizing 3d worlds

System 1 - Algorithm

- Build a bipartite matching graph between objects in image

- Edge cost proportional to = same basic category+ smaller distance

- Max weight = Scene’s static support + Size of Objects + Edge cost

Clustering from the database

- Randomly choose anchor object – initialize a basic cluster

- Align with = neighborhood similarity + geometric features

- Merge clusters

Page 15: Synthesizing 3d worlds

Interesting sub problems

System 1

- Finding contextual neighborhood- How do we find a cookie on a plate in image A is interchangeable with bread

on image B?- Look for forks and knives around

- Similar in type and arrangement

- Finding hierarchical static support- Cookie should be on a plate, not on the bed

- Filling gaps in user examples- Construct a Bayesian network from database

Page 16: Synthesizing 3d worlds

System 2 - AlgorithmSystem 2

- Defining constraints (π1)- numPlates = randInt(1,10)

- Size_Table = Uniform(15,25)

- Position_Plates = uniform(-10,10),uniform(-10,10)

- Size_Plate = uniform(0.1,2)

- Building factor graphs- 70% of the table should be occupied (π2)

- softEq(0.7, total_area(plates)/ area(table))

- Plates should be inside the table (π3)- For all i, softEq(0.0, area_outside_table(plate_i))

- Total constraints model = π1* π2* π3

Page 17: Synthesizing 3d worlds

System 2 - AlgorithmSystem 2

- Markov Chain- Next state is dependent only on present state

- Monte Carlo Markov Chain- The system of Markov chains attains an equilibrium eventually

- Reversible Jump MCMC- Should accommodate trans-dimensional constraints

- Locally annealed Reversible Jump MCMC- Do not accept/reject new constraints immediately

Page 18: Synthesizing 3d worlds

Demo

Page 19: Synthesizing 3d worlds

Analogy with other papers

Bricolage - example based learning

Page 20: Synthesizing 3d worlds

Discussion

- How usable are the scenes generated from both systems?

- Why can’t System 1 be scaled to open world layouts?Or, vice versa. Can you apply System 2 for local arrangements?

Page 21: Synthesizing 3d worlds

Discussion

- Consider the Coffee Shop Layout. If I want all kinds of fabric in the scene to be changed to leather, how do I achieve?

- Which of the two systems is more suitable for this problem?

Page 22: Synthesizing 3d worlds

Results

- Yes. Goals achieved

- output should be highly plausible/agreeable- Should generate a very large variety- Users should not be involved much

- Users agreed with synthesized results of System 1

- No evaluation in System 2- Focus on optimization compared to other greedy algorithms

Page 23: Synthesizing 3d worlds

Critique