Aspect Graphs
![](aspect_images/aspect_title.gif)
Outline
Definition
Application
Construction
Demos
References
Next
![](aspect_images/aspect_title.gif)
DEFINITIONS
Aspect is the topological appearance of an object. Appearance to the eye, esp, when seen from a specific view.
Viewpoint Space Partition is a partition of viewpoint space into maximal regions of constant aspect.
Event is a change in topological appearance. Represent boundaries of viewpoint space partition.
Aspect Graph is a graph with a node for every aspect and edges connecting adjacent aspects. The dual
of a viewpoint space partition is an aspect graph.
Aspect graphs can be made for:
Prev | Next
APPLICATIONS
An early application of aspect graphs:
![](aspect_images/lshape.gif)
How will an L-shaped object look from different regions of a cube?
Prev | Next
ASPECT GRAPHS UNDER DIFFERENT VIEWING MODELS
Viewpoint Freedom
Perspective Model | | | Orthographic Model |
More Freedom Viewpoint can be anywhere! | | Aspect Graph is easier! Viewpoint can be thought of as being
restricted to a certain type of surface. What kind of surface??? |
Prev | Next
Characteristic-View Approach to 3D Object Recognition
INPUT
SAMPLE CHARACTERISTIC VIEWS
![](aspect_images/char1.gif) Top |
![](aspect_images/char2.gif) Bottom Left |
![](aspect_images/char5.gif) Top Left |
![](aspect_images/char3.gif) Front |
|
![](aspect_images/char4.gif) Bottom |
Basic Idea
If stored view is similar to input image, recognition would be simple and fast.
How could this work?
Images can be compared in parallel.
Prev | Next
VISIBILITY PROCESSING
Rendering Polyhedra Scenes
What is Visible?
![](aspect_images/exact_viz.gif)
Prev | Next
IMAGE BASED RENDERING
Basic Idea
Several pictures are taken from novel views in the environment. When rendering, these images are used to
create views from new viewpoints. Very realistic rendering of environments without geometry.
Issues
What images should you combine in each region?
At what point might you need to include a new image?
Prev | Next
COMPUTER VISION
Using Aspect Graphs to Identify Convex Polyhedra
Basic Idea
Compute the VSP in 3-space for the object to be recognized. Since each region of the VSP has constant aspect, make a
characteristic view for each region. Use these characteristic views to compare against the input image.
Images can be compared in parallel.
Observations
Complexity
Questions
Constructing Aspect Graph
Extend all faces of polyhedra. The resulting subdivision is the VSP. Place a node in each distinct region of VSP and connect
nodes which share a common boundary.
![](aspect_images/arrange.gif)
Using Aspect Graph
Example
Prev | Next
Using Aspect Graphs to Identify Non-Convex Polyhedra
Observations
Complexity
Prev | Next
TOPOLOGY CHANGE
![](aspect_images/topo1.gif)
4-sided polygon
![](aspect_images/topo2.gif)
5-sided polygon
Prev | Next
EVENT TYPES
Edge Vertex: EV
![](aspect_images/EV.gif)
DEMO
Edge-Edge-Edge: EEE
![](aspect_images/EEE.gif)
Prev | Next
COMPLEXITY
Time And Space Complexity of VSP and Aspect Graph
Maximum size of the VSP
-----------------------
Convex Non-convex
Polyhedra Polyhedra
------------------------------------------
Orthographic O(n^2) O(n^6)
Perspective O(n^3) O(n^9)
Construction time of the VSP & aspect graph
-------------------------------------------
Convex Non-convex
Polyhedra Polyhedra
--------------------------------------------
Orthographic O(n^2) O(n^6 log n)
Perspective O(n^3) O(n^9 log n)
Prev | Next
Uses of VSP/Aspect Graph in Computer Graphics Visibility
Given a viewpoint and a polyhedral scene, an aspect graph could be used to deduce exact visibility. Below we have a 2D visualization of an aspect graph and viewpoint space partition. For each region the viewpoint is in, there is a corresponding node of the aspect graph. At each node of the aspect graph, information regarding what primitives are visible from each region is stored. Also, the links to other nodes (ie. regions) are stored.
![](aspect_images/exact_viz.gif)
Prev | Next
COMPRESSING ASPECT GRAPHS
Linearized Aspect Graph
A conservative approach to visibility which over-estimates the visible polygons in the scene from a viewpoint. The hardware z-buffer is used to resolve exact visibility for this superset of exact visibility. More crucially, the linearized aspect graph only catalogs VE (vertex-edge) events thus reducing the complexity of the aspect graph. Here's a naive algorithm for utilizing a linearized aspect graph for computing visibility:
Precompuation:
- Compute the aspect graph. Catalog all VE events found
Runtime:
--let A be the aspect graph containing B boundaries
--let S be the set of visible polygons
--let B be the set of polygons added
or deleted by crossing boundary
1. Find region containing viewpoint.
2. S = {visible polygons from that region}
3. while(!done)
(wait for mouse input)
forall B in A
if (viewpoint crossed region boundary)
S = S + B (eg. S = S + p1 + p2 - p3 -p4)
render S
4. end
Advantages:
The algorithm only spends time reporting only visible changes, rather than recomputing visibility for each new viewpoint
Disadvantages:
Excessive time and storage of precomputation in creating the aspect graph. A scene of size n generates O(n^2) planes, partitioning the 3-dimensional space into O(n^6) cells. This implies that it needs atleast O(n^6) time to create the aspect graph. This makes it impractical for scenes containing more than a few tens of polygons.
Prev | Next
References
[1] Satyan Coorg and Seth Teller. Temporally coherent conservative visibility. In Proc. 12th Annual ACM Symposium on Computation Geometry (1996).
[2] Ziv Gigus and Jitendra Malik. Computing the Aspect Graph for Line Drawings of Polyhedral Objects. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 12, No. 2, February 1990.
[3] Ziv Gigus and John Canny. Efficiently Computing and Representing Aspect Graphs of Polyhedral Objects. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 13, No. 6, June 1991.
[4] Harry Plantinga and Charles Dyer. Visibility, Occlusion, and the Aspect Graph. Int. J. of Computer Vision, 5:2, 137-1609 (1990).
+