CIS 391 - Intro to AI 1 Interpreting Line Drawings (An Introduction to Constraint Satisfaction) Mitch Marcus CIS 391 Fall 2008.

Slides:



Advertisements
Similar presentations
Solving problems by searching
Advertisements

Heuristic Search techniques
AI Pathfinding Representing the Search Space
Testing planarity part 1 Thomas van Dijk. Preface Appendix of Planar Graph Drawing Quite hard to read So we’ll try to explain it, not just tell you about.
1 Constraint Satisfaction Problems. 2 Intro Example: 8-Queens Generate-and-test: 8 8 combinations.
CIS Intro to AI 1 Interpreting Line Drawings & Constraint Satisfaction II Mitch Marcus CIS 391 – Fall 2008.
Review Binary Search Trees Operations on Binary Search Tree
Recovering Human Body Configurations: Combining Segmentation and Recognition Greg Mori, Xiaofeng Ren, and Jitentendra Malik (UC Berkeley) Alexei A. Efros.
May 2006CLINT-LN Parsing1 Computational Linguistics Introduction Approaches to Parsing.
Problem Solving and Search in AI Part I Search and Intelligence Search is one of the most powerful approaches to problem solving in AI Search is a universal.
Chapter 12: Expert Systems Design Examples
SolidWorks Teacher Guide Lesson9 School’s Name Teacher’s Name Date.
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
1Ellen L. Walker Recognizing Objects in Computer Images Ellen L. Walker Mathematical Sciences Dept Hiram College Hiram, OH 44234
Orthogonal Projection and Multiview Representation
November 10, 2009Introduction to Cognitive Science Lecture 17: Game-Playing Algorithms 1 Decision Trees Many classes of problems can be formalized as search.
MSU CSE 803 Stockman1 CV: Perceiving 3D from 2D Many cues from 2D images enable interpretation of the structure of the 3D world producing them.
Constraint Satisfaction Problems Russell and Norvig: Chapter 3, Section 3.7 Chapter 4, Pages Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm.
Constraint Propagation (Where a better exploitation of the constraints further reduces the need to make decisions) R&N: Chap. 5 + Chap. 24, p
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Transforming Infix to Postfix
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
CSE (c) S. Tanimoto, 2007 Segmentation and Labeling 1 Segmentation and Labeling Outline: Edge detection Chain coding of curves Segmentation into.
1 Pertemuan 20 Understanding Continued Matakuliah: T0264/Intelijensia Semu Tahun: Juli 2006 Versi: 2/1.
1 Perceiving 3D from 2D Images How can we derive 3D information from one or more 2D images? There have been 2 approaches: 1. intrinsic images: a 2D representation.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm Lecture #18.
Recap Low Level Vision –Input: pixel values from the imaging device –Data structure: 2D array, homogeneous –Processing: 2D neighborhood operations Histogram.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Artificial Intelligence Lecture 9. Outline Search in State Space State Space Graphs Decision Trees Backtracking in Decision Trees.
Game Playing.
Shape from Contour Recover 3D information. Muller-Lyer illusion.
Multiway Trees. Trees with possibly more than two branches at each node are know as Multiway trees. 1. Orchards, Trees, and Binary Trees 2. Lexicographic.
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
May 2006CLINT-LN Parsing1 Computational Linguistics Introduction Parsing with Context Free Grammars.
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
1 CS B551: Elements of Artificial Intelligence Instructor: Kris Hauser
Edge and Boundary interpretation Consistent line drawing labeling via backtracking Presented by Guy Shtub.
3D Shape Inference Computer Vision No.2-1. Pinhole Camera Model the camera center Principal axis the image plane.
(c) 2000, 2001 SNU CSE Biointelligence Lab Finding Region Another method for processing image  to find “regions” Finding regions  Finding outlines.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Artificial Intelligence Lecture No. 6 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Informed Search II CIS 391 Fall CIS Intro to AI 2 Outline PART I  Informed = use problem-specific knowledge  Best-first search and its variants.
Trees Dr. Yasir Ali. A graph is called a tree if, and only if, it is circuit-free and connected. A graph is called a forest if, and only if, it is circuit-free.
G51IAI Introduction to Artificial Intelligence
Knowledge Representation Fall 2013 COMP3710 Artificial Intelligence Computing Science Thompson Rivers University.
Search in State Spaces Problem solving as search Search consists of –state space –operators –start state –goal states A Search Tree is an efficient way.
February 11, 2016Introduction to Artificial Intelligence Lecture 6: Search in State Spaces II 1 State-Space Graphs There are various methods for searching.
Lecture 8CSE Intro to Cognitive Science1 Interpreting Line Drawings II.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
1 Ι © Dassault Systèmes Ι Confidential Information Ι Instructor’s Guide to Teaching SolidWorks Software Lesson 9 School’s Name Teacher’s Name Date.
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
G5AIAI Introduction to AI
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Solving problems by searching Chapter 3. Types of agents Reflex agent Consider how the world IS Choose action based on current percept Do not consider.
Knowledge Representation
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Constraint Satisfaction Problems vs. Finite State Problems
CS B551: Elements of Artificial Intelligence
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
The Alpha-Beta Procedure
Haskell Tips You can turn any function that takes two inputs into an infix operator: mod 7 3 is the same as 7 `mod` 3 takeWhile returns all initial.
3D Shape Inference Computer Vision No.2-1.
Vision: Scene Labelling
Two – One Problem Legal Moves: Slide Rules: 1s’ move right Hop
Two – One Problem Legal Moves: Slide Rules: 1s’ move right Hop
Vision: Scene Labelling
Presentation transcript:

CIS Intro to AI 1 Interpreting Line Drawings (An Introduction to Constraint Satisfaction) Mitch Marcus CIS 391 Fall 2008

CIS Intro to AI 2 We Interpret Line Drawings As 3D  We have strong intuitions about line drawings of simple geometric figures:  We naturally interpret 2D line drawings as planar representations of 3D objects.  We interpret each line as being either a convex, concave or occluding edge in the actual object.

CIS Intro to AI 3 Possible Vs. Impossible Line Drawings  We can reject some line drawings as impossible 3D objects, but only after some confusion. “The Devil’s Trident”

CIS Intro to AI 4  We will consider scenes made up only of opaque trihedral objects, objects where All object faces are planar Exactly three faces intersect at each vertex Interpreting Trihedral Scenes

CIS Intro to AI 5 Convexity Labeling Conventions Each edge in an image can be interpreted to be either a convex edge, a concave edge or an occluding edge:  + labels a convex edge (angled toward the viewer);  - labels a concave edge (angled away from the viewer);  labels an occluding edge. To its right is the body for which the arrow line provides an edge. On its left is space. convexconcave occluding

CIS Intro to AI 6 Huffman/Clowes Junction Labels  A trihedral image can be automatically interpreted given information about each junction of three lines in the image.  Each interpretation gives convexity information for each junction,  This interpretation is based on the junction type. arrow Y L T junction junction junction junction

CIS Intro to AI 7 Arrow Junctions have 3 interpretations (from Winston, Intro to Artificial Intelligence) A1 A3 A2 Important: The image of a given vertex gives a different junction type from a different point of view

CIS Intro to AI 8 L Junctions have 6 interpretations L3 L1 L6L5 L2 L4

CIS Intro to AI 9 The Same “Arrow” and “L” Junctions in a Different Orientation

CIS Intro to AI 10 “T” Junctions Have 4 Interpretations, “Y” Junctions Have 5 + -

CIS Intro to AI 11 Summary Type of JunctionNumber of Physically Possible Interpretations Arrow Junctions3 L Junctions6 T Junctions4 Y Junctions5

CIS Intro to AI 12 Huffman/Clowes Line Drawing Interpretation  Given: a line drawing of a simple “blocks world” physical image  Compute: a set of junction labels that yields a consistent physical interpretation  Assuming: the General Viewpoint Assumption

CIS Intro to AI 13 The General-Viewpoint Assumption:  Shifts in the position of the viewer do not affect the configuration of the line drawing.  This rules out the possibility of the accidental alignment of image features into a spurious junction. (drawings from Machine Interpretation of Line Drawings, Kokichi Sugihara, MIT Press)

CIS Intro to AI 14 The Edge Consistency Constraint

CIS Intro to AI 15 The Edge Consistency Constraint Any consistent assignment of labels to the junctions in a picture must assign the same line label to any given line. L4 + + L L3... L5

CIS Intro to AI 16  Consider an arrow junction with an L junction to the right:  A1 and either L1 or L6 are compatible since they both associate the same kind of arrow with the line.  A1 and L2 are incompatible, since the arrows are pointed in the opposing directions,  Similarly, A1 and L3 are incompatible. An Example of Edge Consistency

CIS Intro to AI 17 An Example of Edge Consistency II  A2 is compatible with ___?  A3 is compatible with ___? Ans: (A2, L4) (A3, L5)

CIS Intro to AI 18 The Generate and Test Algorithm 1.Generate all conceivable labelings. 2.Test each labeling to see whether it violates the edge consistency constraint; throw out those that do. Complexity:  Each junction has on average 4.5 labeling interpretations.  If a figure has N junctions, we would have to generate and test 4.5 N different labelings.  Thus the Generate and Test Algorithm is O(4.5 N ).

CIS Intro to AI 19 Generate & Test: A Useful Algorithm??  A picture with 27 junctions, like the devil’s trident) will not be rejected until all hypotheses have been rejected, leaving no interpretation.  =  A computer capable of checking for edge consistency at a rate of 1 hypothesis per nanosecond would take about 1,000 years to establish that the devil’s trident has no consistent interpretation!

CIS Intro to AI 20 Improving on Generate & Test  The Generate and Test algorithm considers too many hypotheses that are simply outright impossible according to the edge consistency constraint.  The Solution:

CIS Intro to AI 21 Locally Consistent Search  A better algorithm would exploit locally consistent labelings to construct a globally consistent interpretation: 1.No junction label would be added unless it was consistent with its immediate neighbors; 2.If the interpretation could not be continued because no consistent junction label can be added, that interpretation would be abandoned immediately.

CIS Intro to AI 22 Search Trees to the Rescue! Implementation by search tree: 1.Select some junction as the root. 2.Label children at the 1 st level with all possible interpretations of that junction. 3.Label their children with possible consistent interpretations of some junction adjacent to that junction. 4.Each level of the tree adds one more labeled node to the growing interpretation. 5.Leaves represent either futile interpretations that cannot be continued or full interpretations of the line drawing.

CIS Intro to AI 23 The Top Three Levels of a Search Tree A1A3A2A1 L1 A1 L5 A2 L3 A3 L6

CIS Intro to AI 24 The Fourth Level of the Search Tree A1A3 A2 A1 L1 A1 L5 A2 L3 A3 L6 A1 L1 A1 L5 A3 A2 L3 XX A3 L6 A1 X

CIS Intro to AI 25 Another Idea… We are doing somewhat better than the Generate and Test algorithm by not examining useless paths. Nevertheless, we are not fully exploiting the structure of the problem:  Consider a picture with disconnected “islands” (junctions which are not connected by a path along any series of edges).  All our current search methods will explore and re-explore these islands even though they do not interact with the rest of the picture!! This is very wasteful…..