%---------------------------------------------------------------------------- VISION - High-Level %---------------------------------------------------------------------------- INTERMEDIATE-LEVEL VISION: Example: Line Labelling Assumptions: Only polyhedral objects (no curved surfaces); no more than three lines meeting at one point Fold: A line where two surfaces meet; both surfaces visible Blade: A line where two surfaces meet; only one surface visible Example: ---------- / /| / / | ---------- | | fold | | | | / | | / | |/ ---------- blade TASK: Given a set of edges, like in the image of a cube, determine which of them are folds and which are blades. Combinatorics of the task: Number of edges in a cube: 9 Number of ways to label each edge: 2 Total number of combinations: 2**9 %---------------------------------------------------------------------------- METHOD of CONSTRAINT PROPAGATION (Waltz): If only certain types of edge junctions are possible, then we can use knowledge of types of junctions to "constrain" interpretations of possible edge labels. Types of junctions between folds and blades: Two edges: L Three edges: Y, W, T Example: L ---------- W / /| / Y / | W ---------- | | | | L | | / | | / | |/ L ---------- W No T junctions are possible in the image of a (single) cube. Enumeration of all edge/junction combinations: f=fold b=blade L junctions: b \/ b; f \/ b; b \/ f Y junctions: f \/ f; b \/ b f| f| W junctions: f\f|f/ ; b\f|b/ \|/ \|/ T junctions: --|-- ; --|-- b b b b f b An additional rule: An edge next to background is a blade (backgrounds have no folds). Example: b ---------- b / /| / / | b ---------- | | | | b | | / | | / b | |/ ---------- b By propagating constraints from the W junction on the left b ---------- b / /| / f / | b ---------- | | | | b | | / | | / b | |/ ---------- b By propagating constraints from the W junction on the top-right b ---------- b / /| / f f / | b ---------- | | | | b | | / | | / b | |/ ---------- b By propagating constraints from the Y junction in the middle: b ---------- b / /| / f f / | b ---------- | | | | b | f| / | | / b | |/ ---------- b This shows that a combinatorially explosive problem (such as trying all possible assignments of labels to all edges in a large scene) could be done very easily and very efficiently by exploiting natural constraints. Why start from the boundaries and junctions? Because they add the most constraints. %---------------------------------------------------------------------------- HIGH LEVEL VISION: Scene analysis (interpretation) Model-based vision uses stored geometric and topological models Model Representation: Example: A Bowling Ball (Bowling-Ball (shape sphere) (diameter ...) ... (indentation thumb-hole (shape cylindrical) (length ...) (width ...) ... (indentation middle-finger-hole (shape cylindrical) (length ...) (width ...) ... (indentation righ-finger-hole (shape cylindrical) (length ...) (width ...) ... ] Why use a model? To generate expectations that can help interpret images Suppose that an image shows a ball with two holes in it, one clear, corresponding to the thumb-hole on a bowling ball, one blurred, corresponding to the middle-finger-hole on a bowling ball, (the ring-finger-hole may be invisible). This information may be enough to evoke the model of the bowling ball in memory. Once evoked, the model generates expectations and helps in the task of image interpretation. %---------------------------------------------------------------------------- Copyright (c) Ashok Goel, 1994-97 Associate Professor, College of Computing Georgia Institute of Technology, Atlanta, Georgia 30332 Email: goel@cc.gatech.edu %----------------------------------------------------------------------------