Computer and Machine Vision

Similar documents
Computer and Machine Vision

Computer and Machine Vision

Computer and Machine Vision

EE795: Computer Vision and Intelligent Systems

Lecture: Edge Detection

Digital Image Processing. Image Enhancement - Filtering

Digital Image Processing COSC 6380/4393

Edge detection. Gradient-based edge operators

An Introduc+on to Mathema+cal Image Processing IAS, Park City Mathema2cs Ins2tute, Utah Undergraduate Summer School 2010

Lecture 4: Spatial Domain Transformations

Filtering Images. Contents

Computer and Machine Vision

Computer and Machine Vision

Filtering and Enhancing Images

Lecture #13. Point (pixel) transformations. Neighborhood processing. Color segmentation

Line, edge, blob and corner detection

CS4733 Class Notes, Computer Vision

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

Automatic Colorization of Grayscale Images

Image features. Image Features

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments

Topic 4 Image Segmentation

Feature Detectors - Sobel Edge Detector

Ulrik Söderström 16 Feb Image Processing. Segmentation

A490 Machine Vision and Computer Graphics

Noise Model. Important Noise Probability Density Functions (Cont.) Important Noise Probability Density Functions

Lecture 4: Image Processing

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

Object Shape Recognition in Image for Machine Vision Application

A New Technique of Extraction of Edge Detection Using Digital Image Processing

Lecture 6: Edge Detection

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

EN1610 Image Understanding Lab # 3: Edges

Image Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical

Operators-Based on Second Derivative double derivative Laplacian operator Laplacian Operator Laplacian Of Gaussian (LOG) Operator LOG

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

Assignment 3: Edge Detection

A Keypoint Descriptor Inspired by Retinal Computation

Lecture 7: Most Common Edge Detectors

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

ECG782: Multidimensional Digital Signal Processing

Anno accademico 2006/2007. Davide Migliore

Comparison between Various Edge Detection Methods on Satellite Image

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

Feature Detectors - Canny Edge Detector

Sobel Edge Detection Algorithm

Example 1: Regions. Image Segmentation. Example 3: Lines and Circular Arcs. Example 2: Straight Lines. Region Segmentation: Segmentation Criteria

Linear Operations Using Masks

Example 2: Straight Lines. Image Segmentation. Example 3: Lines and Circular Arcs. Example 1: Regions

Feature extraction. Bi-Histogram Binarization Entropy. What is texture Texture primitives. Filter banks 2D Fourier Transform Wavlet maxima points

CMPUT 206. Introduction to Digital Image Processing

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

ECG782: Multidimensional Digital Signal Processing

Complex Sensors: Cameras, Visual Sensing. The Robotics Primer (Ch. 9) ECE 497: Introduction to Mobile Robotics -Visual Sensors

ECG782: Multidimensional Digital Signal Processing

EEM 463 Introduction to Image Processing. Week 3: Intensity Transformations

Edge Detection. CMPUT 206: Introduction to Digital Image Processing. Nilanjan Ray. Source:

IT Digital Image ProcessingVII Semester - Question Bank

ECEN 447 Digital Image Processing

Local Features: Detection, Description & Matching

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Designing Applications that See Lecture 7: Object Recognition

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

Edge Detection. EE/CSE 576 Linda Shapiro

Local Feature Detectors

2: Image Display and Digital Images. EE547 Computer Vision: Lecture Slides. 2: Digital Images. 1. Introduction: EE547 Computer Vision

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

5. Feature Extraction from Images

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

OBJECT detection in general has many applications

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Image Processing. Traitement d images. Yuliya Tarabalka Tel.

IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE

Image processing and features

JNTUWORLD. 4. Prove that the average value of laplacian of the equation 2 h = ((r2 σ 2 )/σ 4 ))exp( r 2 /2σ 2 ) is zero. [16]

Edge and corner detection

EECS490: Digital Image Processing. Lecture #19

Object Recognition with Invariant Features

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

Computer and Machine Vision

Image Processing: Final Exam November 10, :30 10:30

NAME :... Signature :... Desk no. :... Question Answer

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

Image Analysis Lecture Segmentation. Idar Dyrdal

Color Space Invariance for Various Edge Types in Simple Images. Geoffrey Hollinger and Dr. Bruce Maxwell Swarthmore College Summer 2003

Practical Image and Video Processing Using MATLAB

Lecture 9: Hough Transform and Thresholding base Segmentation

[Programming Assignment] (1)

School of Computing University of Utah

Segmentation and Grouping

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

FPGA IMPLEMENTATION FOR REAL TIME SOBEL EDGE DETECTOR BLOCK USING 3-LINE BUFFERS

CS A485 Computer and Machine Vision

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Classification of image operations. Image enhancement (GW-Ch. 3) Point operations. Neighbourhood operation

Region-based Segmentation

Processing of binary images

Transcription:

Computer and Machine Vision Lecture Week 5 Part-2 February 13, 2014 Sam Siewert

Outline of Week 5 Background on 2D and 3D Geometric Transformations Chapter 2 of CV Fundamentals of 2D Image Transformations and Convolutions (CV Chapters 3 & 4) Introduction to More Advanced 2D Transformations Bottom Up C without OpenCV Simple 2D Center-of-Mass Tracking Introduction to 2D Pattern Matching Next Time Sam Siewert 2

Thresholding Image Analysis for Segmentation and Tracking Sam Siewert 3

Simple Thresholds? Specular Reflection An Approximation to Segmentation Dividing a Scene into Constituent Objects Dark Foreground Objects on a Light Background Light Foreground Objects on a Dark Background (Laser Spot) How is Threshold Selected? This is the Challenge and Limitation Good Enough? Simple Machine Vision Problems E.g. Tracking Bright Objects Edge Detection Provides an Alternative Bounding Boxes and Approximate COM Filtering, Background Elimination, and PSF Enhancements Overall, an Unsolved Problem Even the Human Eye Can be Fooled http://en.wikipedia.org/wiki/file:tso_kiagar_lake_ladakh.jpg Bright Object Segmentation M.C. Escher http://en.wikipedia.org/wiki/file:escher_waterfall.jpg http://en.wikipedia.org/wiki/file:escher%27s_relativity.jpg Sam Siewert 4

Histogram Analysis For Simple Cases with Controlled Lighting, and Laser Emission, Intuition is Correct (Saturated Red Peak) Green and Blue Bands are Bi-Modal as is Luminosity (Gray) Histogram is a Good Guide for Threshold Value Selection Sam Siewert 5

Clutter Background Elimination Clutter Gives Us Multi-Modal Histograms No Obvious Threshold Function in Luminosity May be Ok with Laser in Red Band (Bright Enough) May Lose Spot Based on Local Background Sam Siewert 6

Does Image Enhancement Help? Filtering Not Much (Median) Sharpen and Background Elimination Works Well for Bright Target Tracking Can Be Used for Stereo Ranging E.g. 3D Analysis of Space (Active Laser Projection and Ranging) Sharpen Sam Siewert 7

Two Methods Adaptive Threshold Tile the Image and Use Threshold Based on Localized Histograms (Error Prone) Use Background Elimination (Best), Especially for Moving Targets Sam Siewert 8

Variance-Base Threshold What if the Histogram Bins are Expanded to Detect Threshold Classes? This is the Key Concept of Variance- Based Methods Variable Size Bins (Not Just New Bin Size) Probability of Pixel with Graylevel is p i =sum-at-level-i / N Partitioning of Histogram Optimized for Within-Class, Between, and Total Variance Compute Summation of Pixel Probability in Bin (π 0 ) or Not in Class (π 1 ) Use Normal Statistical Methods for Computation of Variance Between Classes Define Multiple Classes (Thresholds) Based on Maximizing Variance Sam Siewert 9

Entropy Threshold Metric for Re-binning the Histogram with a Range of Thresholds is Entropy (Flatness) Higher Entropy of Pixels in Each Sub-bin of Class are Evenly Distributed Lower Entropy of they Spike in the Class Find Thresholds Where Entropy in Each Class is Maximized Segments with Highest Order in the System Sam Siewert 10

Edge Detection Sobel Case Study Sam Siewert 11

OpenCV / GIMP Top-Down Approach Experiment with GIMP on Single Frames (Exemplars) Install OpenCV on Ubuntu Linux (Should be done!) Use Library Calls to OpenCV for Transformations in Video Embed and Optimize in Solution (Consider Methods to Port OpenCV to Embedded Systems C Implementations Bottom Up) Other Highly Useful Top-Down Tools/APIs Octave, MATLAB, Mathematica, ffmpeg and GIMP http://karytech.blogspot.com/2012/05/opencv-24-on-ubuntu-1204.html Sam Siewert 12

Bottom Up - Basic Edge Detection Examines Intensity Gradient True Edge vs. Noise Impulse Most Often Employs Convolution Mask (3x3 or Larger) Like PSF DG (Differential Gradient) Uses X and Y Direction Mask Nearest Neighbors or Pixels on 45 degree lines P4 P3 P2 P5 P0 P1 P6 P7 P8 P4 P3 P2 P5 P0 P1 P6 P7 P8 TM (Template Matching) Uses Many Directions Sam Siewert 13

Intensity Differential Gradient Use Mask Intensity Change Edge Function Step Slanted Step Smooth Step δi = sqrt(δi 2 x + δi y2 ) Edge Magnitude From Intensity P(x) to P(y) Approximate as δi x + δi y or max( δi x, δi y ) http://store.elsevier.com/computer-and-machine-vision/e_-r_-davies/isbn-9780123869081/ Sam Siewert 14

Application of Sobel DG Operator Compute X and Y Gradients, Where Image is A Compute (Approximate) Gradient Magnitude G {Q} = {G} from {A} (Gradient Magnitude Image) http://en.wikipedia.org/wiki/sobel_operator Sam Siewert 15

More on Edges Read CV Page 210 to 219 Sobel DG Edge Finder Why is Canny Better? Detailed Treatment of Sobel and Canny in E.R. Davies Computer and Machine Vision, 4 th Edition, Pages 111 to 131 You are Responsible for Concepts Only and Use of DG Edge Operators with OpenCV and GIMP Sam Siewert 16

Template Matching Up to 8 Masks With Angles Differing by 45 degrees Experiment in GIMP (Prewitt for Example) Sam Siewert 17

Differential Edge Operators E.g. Sobel Edge Operator Fast Enough for Real-Time Simpler than Canny Sam Siewert 18

Lab #3 Bottom Up - Threshold Function Design for Maximum Edge Extent (Bounding Box) Sam Siewert 19

Lab Goals Do Not Use OpenCV in Solution Do Use OpenCV to Explore Options Implement Tracker in C/C++ Using Threhshold Analysis and Simple Center of Mass (Centroid) for Bright Spot Sam Siewert 20

Simple Graymap Threshold Raster Step-1: Conversion to Graymap - Convert PPM (RGB) to PGM by Taking G band Only from Each Frame (Ok to Use OpenCV, but Try Writing your own code) Step-2: Background Elimination Step-3: Noise Filtering - Apply Sharpen PSF and/or Median Filter to Remove Any Residual Noise Step-4: Threshold Function Design - Perform Threshold Histogram Analysis and Determine Threshold Function for Laser Spot Edge Transition Step-5: Find Spot Bounding Box - Raster Image to find Maximum distance between Left and Right Edge Transition on X, First edge transition on Y, and last edge transition on Y Step-6: Compute COM - X-bar and Y-bar Step-7: Mark COM with Saturated (White=255) Crosshairs Sam Siewert 21

0,0 Bounding Extents Y bar = (Y bottom Y top ) / 2 + Y top X bar = (X right X left ) / 2 + X left Slightly Different than True Center of Mass, but Approximate for Radially Symmetric Object X left,y top X right,y bottom n,m (639, 479) Sam Siewert 22

Pattern Generation / Recognition Concepts Sam Siewert 23

Complex Patterns in Nature Fibonacci Golden Ratio Fermat s spiral Ulam s Spiral Pascal striangle http://en.wikipedia.org/wiki/file:aeonium_tabuliforme.jpg Sam Siewert http://en.wikipedia.org/wiki/file:sunflower_spiral.png 24

Basic Patterns For Next Week Lines Hough Linear Circle / Elipse Hough Circular Patterns Generalized Hough, SIFT/SURF Sam Siewert 25