The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Parcel Lot Division with cGAN
1. Typology of Subdivisions and
Parcel Lot Division With Image-
to-Image Translation Machine
Learning Algorithms
By: Matthew To and Guo Yu Wei
2. Research Questions
How to simplify the approach to divide various
subdivisions into typologies?
Is an "image-to-image translation with conditional
adversarial nets" a viable machine learning
algorithm for subdivision planning?
3. Subdivision Classification – Means to an
End?
What should subdivisions be classified for?
Identification for
planning design
Simplifying the
pix2pix algorithm
4. Subdivision Classification – Means to an
End?
What should subdivisions be classified for?
Identification for
planning design
Simplifying the
pix2pix algorithm
Same goal!
5. Subdivision Classification Proposed
Techniques
Manual classification
Individual judgement by principles
Planning design resources
Classification by statistics of attributes
Density of housing via average parcel size
Road to subdivision ratio
Machine learning?
Do we classify both target and input data?
6. Subdivision Classification
Manual classification
Few training datasets (30, planned 100)
Shape analysis easier with humans than computers
Selective modification
Automated classification may be used once number
of datasets far exceeds human capabilities or
reliable method of classification is found
Originally from Report for the President's Conference on
Home Building and Home Ownership, 1932 by Thomas
Adams and Walter Baumgarten
Retrieved from Street Standards and the Shaping of Suburbia
by Southworth and Ben-Joseph
7. Parcel Lot Division with pix2pix
pix2pix = conditional generative adversarial network (cCAN)
TensorFlow implementation
1. Takes a collection of image pairs
2. Creates a model
3. Uses model to produce output
Why pix2pix?
Designed to be general-purposed
No other accessible algorithm currently
8. Conditional Generative Adversarial
Network (cGAN)?
Conditional = takes user input to create output
Generative = creates estimated outputs that improves with more training
Adversarial = creates two neural networks (generator and discriminator) to
compete for a better output
(Artificial) Neural Network = machine learning system which takes input,
processes the data within “hidden layers”, and returns an output
Images retrieved from https://affinelayer.com/pix2pix/, by Hesse
9. Conditional Generative Adversarial
Network (cGAN)?
Conditional = takes user input to create output
Generative = creates estimated outputs that improves with more training
Adversarial = creates two neural networks (generator and discriminator) to
compete for a better output
(Artificial) Neural Network = machine learning system which takes input,
processes the data in “hidden layers”, and returns an output
Images modified from https://affinelayer.com/pix2pix/, by Hesse
10. Methodology
Training and target data retrieval and clean-up
Export shapefiles into images
Categorize training data
Train and test pix2pix model
Perform image segmentation on output
11. Methodology
Training and target data retrieval and clean-up
Export shapefiles into images
Categorize training data*
Train and test pix2pix model
Perform image segmentation on output
* Only one result will have training data categorized
12. Training Data
Study area:
Independent of source, however data is from Kitchener-Waterloo area
Rules:
When training with borders, roads must be one colour, lots (pre and post
development) must be another
When training with four colours, no lot with same colour can intersect
All lots in training data must have a road bordering
No redundancies (adds too much weight)
17. Experiment 2: Larger Borders
Borders are better drawn compared to Experiment 1
Borders do not connect well
Shapes are unstructured
Lots generated in-land without a bordering road
Rule where every lot must border a road was not
enforced
22. Experiment 3: Analysis
Lines are shaky, but structured
Lots are very small
Lots with no backdoor neighbours are somewhat accurately represented
Large parcel areas are poorly segmented with weird lot generation in the
middle
Areas with backdoor neighbours (between two roads) are inconsistent
Overall a major improvement from Experiment 1 and 2
Better cleanup may have changed result of data
23. Experiment 4: Categorized Datasets
Categorized based on road surrounding subdivision and dense neighbourhoods
11 Training Datasets
27. Experiment 4: Analysis
Lines are shaky
Better than Experiment 3 at parcel division based on its own specialization
Parcels without backdoor neighbours are represented fairly well, not as good
as Experiment 3
Consistent lot sizes
Bubbly housing lots similar to Experiment 2
28. Four Colour Theorem
Any arrangement of polygons on a 2D surface only requires four colours
without any of the colours intersecting
29. Experiment 5: Four (Five) Colour
Theorem
Selected nine random parcels
Assigned red to roads, four common colours for lots in training data
31. Experiment 5: Analysis
Colour separation is fairly discrete (easy image
segmentation)
Output similar to experiment 2 and 4; bubbly output
Lots without backdoor neighbours are somewhat well
divided
No coherent structure
32. Limitations
About 30 training datasets at the most
Many trained models use tens of thousands
Even less for categorized datasets (Experiment 4)
Algorithm is extremely resource intensive (512x512 is soft-cap limit)
16 minutes to train 29 images with a GTX 1060 6GB
Various technical variables and terminology makes it difficult for non-
scientists or statisticians to understand in-depth
Epoch (Iterations)
Layers/Generator and Discriminator Filters
Gradients
Steps
33. Overall Results Analysis
None of the experiments produce data close to target
data
Experiment 3 hints more training data produces better
shaped lots
Experiment 4 hints that categorization maintains
consistency (against target data)
Application of four colour theorem (Experiment 5) is
indeterminant
34. Next Steps
Multiple types of subdivision classification
(at least one category with 50+ datasets)
Train at least 100 subdivisions (aggregate)
Play with pix2pix internal variables (max
epochs, layers, steps)