Object Recognition Using Attention Tammy Avraham and Assoc.Prof Michael Lindenbaum Computer Science Dept., Technion Haifa, Israel Projects for implementing.

Slides:



Advertisements
Similar presentations
Pseudo-Relevance Feedback For Multimedia Retrieval By Rong Yan, Alexander G. and Rong Jin Mwangi S. Kariuki
Advertisements

Feature Selection as Relevant Information Encoding Naftali Tishby School of Computer Science and Engineering The Hebrew University, Jerusalem, Israel NIPS.
Clustering Basic Concepts and Algorithms
Image Analysis Phases Image pre-processing –Noise suppression, linear and non-linear filters, deconvolution, etc. Image segmentation –Detection of objects.
Chapter 2 - Problem Solving
Face detection Many slides adapted from P. Viola.
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
Cognitive modelling (Cognitive Science MSc.) Fintan Costello
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Graz University of Technology, AUSTRIA Institute for Computer Graphics and Vision Fast Visual Object Identification and Categorization Michael Grabner,
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Visual Attention More information in visual field than we can process at a given moment Solutions Shifts of Visual Attention related to eye movements Some.
J. Michael Moore Software Design CSCE 110 Influenced by material developed by James Tam & Jennifer Welch.
Highlights Lecture on the image part (10) Automatic Perception 16
Robust Real-Time Object Detection Paul Viola & Michael Jones.
PCA Channel Student: Fangming JI u Supervisor: Professor Tom Geoden.
December 2, 2014Computer Vision Lecture 21: Image Understanding 1 Today’s topic is.. Image Understanding.
FACE DETECTION AND RECOGNITION By: Paranjith Singh Lohiya Ravi Babu Lavu.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Exercise Session 10 – Image Categorization
Face Detection using the Viola-Jones Method
Studying Visual Attention with the Visual Search Paradigm Marc Pomplun Department of Computer Science University of Massachusetts at Boston
Modeling Combined Proximity-Similarity Effects in Visual Search Tamar Avraham* Yaffa Yeshurun** Michael Lindenbaum* *Computer science dept., Technion,
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Presented by Tienwei Tsai July, 2005
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
The Face Recognition Problem Is a single image database sufficient for face recognition? A Psychological Experiment Introduction to Computational and Biological.
Software Project Planning Defining the Project Writing the Software Specification Planning the Development Stages Testing the Software.
Designing & Testing Information Systems Notes Information Systems Design & Development: Purpose, features functionality, users & Testing.
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
I Power Higher Computing Software Development The Software Development Process.
Learning to perceive how hand-written digits were drawn Geoffrey Hinton Canadian Institute for Advanced Research and University of Toronto.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Image Recognition COMP # 18.
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
Face Detection Ying Wu Electrical and Computer Engineering Northwestern University, Evanston, IL
Geodesic Saliency Using Background Priors
Creating Better Thumbnails Chris Waclawik. Project Motivation Thumbnails used to quickly select a specific a specific image from a set (when lacking appropriate.
Robust Real Time Face Detection
Lecture 09 03/01/2012 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
Computer Science Readings: Reinforcement Learning Presentation by: Arif OZGELEN.
Intermediate 2 Computing Unit 2 - Software Development.
3:01 PM Three points for today Sensory memory (SM) contains highly transient information about the dynamic sensory array. Stabilizing the contents of SM.
By: David Gelbendorf, Hila Ben-Moshe Supervisor : Alon Zvirin
Stas Goferman Lihi Zelnik-Manor Ayellet Tal Technion.
CSC321 Lecture 5 Applying backpropagation to shape recognition Geoffrey Hinton.
Distributed Pattern Recognition System, Web-based by Nadeem Ahmed.
Notes on HW 1 grading I gave full credit as long as you gave a description, confusion matrix, and working code Many people’s descriptions were quite short.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
Project Planning Defining the project Software specification Development stages Software testing.
Learning Kernel Classifiers 1. Introduction Summarized by In-Hee Lee.
Starter To complement our notes and learning from last lesson (Topic 10 Introducing Large ICT Systems: Features of Large ICT Systems), fold your piece.
Neural Networks Lecture 4 out of 4. Practical Considerations Input Architecture Output.
Cluster Analysis What is Cluster Analysis? Types of Data in Cluster Analysis A Categorization of Major Clustering Methods Partitioning Methods.
Chapter 5: Software effort estimation
Another Example: Circle Detection
ICS 3UI - Introduction to Computer Science
Traffic Sign Recognition Using Discriminative Local Features Andrzej Ruta, Yongmin Li, Xiaohui Liu School of Information Systems, Computing and Mathematics.
R-CNN region By Ilia Iofedov 11/11/2018 BGU, DNN course 2016.
Fitting Curve Models to Edges
Cryptography This week we are going to use OpenSSL
Where did we stop? The Bayes decision rule guarantees an optimal classification… … But it requires the knowledge of P(ci|x) (or p(x|ci) and P(ci)) We.
Object Recognition Today we will move on to… April 12, 2018
Lab 2: Information Retrieval
Automatic Handwriting Generation
Presentation transcript:

Object Recognition Using Attention Tammy Avraham and Assoc.Prof Michael Lindenbaum Computer Science Dept., Technion Haifa, Israel Projects for implementing a system for:

The system we are going to build Fast! How ? By directing attention to the important parts of the image. Faces is an example. We want to be able to recognize also some other types of objects Our system Do you see faces ? How many & where ? Yes, I see 10 faces in locations…

Computer Vision : Giving computers the ability to understand what a scene (=a matrix of pixels) represents. A subtask – object recognition: an expert system that detects a certain type of objects. For instance: faces, cars, chairs… A very difficult task – variations due to illumination conditions, viewing position, posture.. – Categorical (e.g. – many types of chairs) Usually object recognition systems scan all the image for the desired objects. The candidates are, for instance, all possible rectangles in the image in a few sizes Object recognition Project: build object recognizer … …

Segmentation Instead of exhaustive scanning perform segmentation as a pre-process. Segmentation/Grouping=dividing the image into regions, each hopefully representing an object. Project: implement a segmentation algorithm

Adding Attention Objective: minimize those calls Ordering\Attention algorithm candidate identity Image Candidate Selection High-level Object Recognizer

Human Attention Yarbus 67 – eye movement study

Human Attention – Psychology theory #1 Triesman & Gelade 80 - Feature integration Theory Pop-out vs. sequential scan Pop-out: when the target is different in on feature from all others Sequential: when the target is distinct by a combination of features Theory of the visual search process: – Pre-attentive stage: parallel feature extraction – Combining the feature maps to one saliency map – Attention spotlight (Posner)

A computer model based on Feature integration Theory Itti,Koch&Niebur 1998: – Bottom-up saliency – Top-down information Project: build saliency maps Saliency Map

Human Attention – Psychology theory #2- based on inner-scene similarity Duncan & Humphreys 89 – Similarity Theory – Search Difficulty depends on: Target vs. Non-target similarity Non-target vs. Non-target similarity – Theory: Stage 1 – hierarchical segmentation to structural units including similarity grouping/linkage. Stage 2 – attention, spreading suppression.

Using Inner Scene similarity for computer vision Mutual Similarity of candidates as useful information Dynamic search – use previous recognizer answers to change the priorities of the non- yet-attended candidates. Example: if the middle green creature turned out to be not interesting, mark also the other similar creatures as not interesting, and try a micki-mouse. Project: measuring similarity Project: dynamic attention

Coming back to the system we want to build A computer-vision system for object recognition using ideas from human attention to direct us faster to the important objects in the scene. Candidate selection: – Simple selection of rectangles, or: – Segmentation The attention will rely on: – Saliency – Prior knowledge on desired objects – Similarity between objects in the scene. We should be able to test all combinations of above options.

The system’s scheme candidates description 3. Similarity measures 4. Attention order control 5. Object recognition locations of targets & search order distance matrix Image + user parameters candidate index recognition results a few target and nontarget models (optional) 2. Candidates selection 1. Compute saliency saliency map candidates priorities features maps Real-Time presentation

More details on: Saliency map 1. Computing saliency Params: Calculate feature maps Feature maps image Calculate saliency per feature Saliency map per feature Combine to one saliency map model images If model images are used, they can effect the importance of each Feature when combining them to one map of saliency.

More details on: 2. Candidate selection Segmentation algorithm Image: Colored/gray Saliency map Trivial candidate selection Params: -segmentation or simple rectangular candidates -which algorithm to use for segmentation -Remove regions beyond a certain size ? -Provide only most salient candidates. How many ? -… Compute priority of each candidate Description of indexed candidates. +Priority of each If possible – consider only the salient regions during segmentation to save time

3. Similarity measures : option 1 Itti More details on: Extract some partial description of each candidate: A feature vector or a histogram Similarity matrix (distance matrix) Candidates description Params: -which features to extract -which metric to use as the distance function - … Feature extraction Distance function Feature vectors/histograms image Use some distance between the features of the candidates to measure dissimilarity Models images If model images are used, treat them as candidates and get also a similarity measure between them and the other candidates And between themselves.

3. Similarity measures : option 2 : use the feature maps calculated in the saliency stage instead of stating from the image pixels. Itti More details on: From the feature maps that describes each pixel individually create a feature vector\histogram per candidate Similarity matrix (distance matrix) Candidates description Params: -calc a feature vector or histogram -which metric to use as the distance function - … Calculate feature vectors Distance function Feature vectors/histograms Feature maps Use some distance between the features of the candidates to measure dissimilarity

4. Attention order control More details on: Iteratively decide on next candidate to attend Index of candidate to attend to Recognition results The target candidates The scan order Distance matrix Priorities vector Params: -consider priorities -consider similarity -when to stop - …

5.Recognition More details on: Learning\training offline stage (?) Image Candidates description Params Recognition (classification) Candidate index training set (target and non-target examples) All projects implementing object recognition should test their software to recognize a few categories of objects, and supply interface for testing more categories. Yes/no Amount of certainty

Implementation & Integration The system will combine C and Matlab code. In some cases we will force one of them. Each part should be able to work alone with its own graphical user Interface, and as a part of the system. How? For instance - Each project will implement a main function : OutParams MainFunction( InParams ) When this part is tested alone: The User Interface callback function will call this function. When it is used as a part of the system: The main program that will run all the system will call it. Integrators: – Provide UI for all the system for feeding parameters needed for all its parts. – Design the way parameters are passed form one part to another. – Write the main programs for running the system. – Responsible that the system will work ! Meaning – meeting with the other groups all through the semester. – Responsible that the system will work in all possible paths – Using saliency or skipping Use inner-scene similarity consideration for attention Use top-down knowledge for attention. If yes, use it when computing the saliency map or when computing the distance matrix. The type of candidates selection. Use a high resolution image only for recognition and a lower resolution image for the rest. – All above (and much more) are parameters the user can set using the UI. – Responsible for testing the system with a variety of images. – Responsible for presenting the results both in real time and the results statistics.

Important (also for your grade) DOCUMENTATION – both in the code and in the report. Each class and each method/function should be explained in details RUNNING TIME – important to save time when possible. Add time measures and report them. OPEN TO CHANGES – your code will be submitted as well and it is possible that someone else will want to use it and change it in the future.

Time Table & Grading StageDate/End DateGrade Get a projectMarch 22 Theoretic stage : understand the algorithms April 1515% Software designMay 315% Implementation and Testing June 6 Integration (all along)June 15 Project PresentationJune 2115% Final Report and code Submission June 2855% Remark: where ‘grade’ is filled, it means you have to submit something until that date

A little more on each stage Theoretic stage: 1. Read the paper/papers you are given, understand it, summarize it. 2.Explain how it fits in the system. What the input and output parameters are. 3.How do you plan to test it. Software design: Design of your code. Includes all functions and parameters you are going to implement. Description of your user Interface and your software interface for the system. (Already using the datatypes designed for the input and output parameters by the integrators). Software implementation and testing: implement and perform many tests. Pass the code to the integrators, even before it is perfect. At the end date of this stage it should be perfect. Integration stage: Putting the system together. The integrators are the most busy, but the other must be available to correct bugs if needed. At this time you should be working on your presentation. Presentation: Prepare a short power-point presentation (about 20 minutes) describing the important theory involved and show some results. Final Report: A wide description of the theory, the software documentation, and the results. Submit the code well documented (Electronically).

The integrators at each stage The integrators must be always one step ahead. During the ‘theoretic stage’ they do ‘software design’: Design the datatypes that will be used as input and output parameters for each stage. Plan the software they have to write (for instance – simple candidate selection). Describe the user interface and the way they are going to present the system’s results. During the ‘software design’ stage the integrators should implement their software with dummy functions where the models should be. During the ‘implementation stage’ they should find and film many images to be used for the full system’s testing and bring them to the other people. Gradually integrate parts to the systems when people are done (or almost done). Integration stage: Here they are the most busy people. Presentation: describe all the system and show some results.

Remarks If we correct mistakes in your theoretic report and the software design, you must correct them before going to the next stage. This slides don’t include all the details of the systems. Each group, when assigned with the project will get much more details concerning their part. Set a meeting with Tammy A.S.A.P. Some of the projects will be guided by Tammy, some by Micha. Meeting with us will be held each one-two weeks. You can set a meeting each time you have questions. Start working ASAP ! For instance: read the paper and come to ask questions before Passover