csse463: image recognition day 3 announcements/reminders: announcements/reminders: lab 1 should have...

16
CSSE463: Image Recognition CSSE463: Image Recognition Day Day 3 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now Lab 1 should have been turned in yesterday (due now if use a late day). if use a late day). Tomorrow: Lab 2 on color images. Tomorrow: Lab 2 on color images. Bring laptop Bring laptop. If you see examples of Img Rec in life, please send If you see examples of Img Rec in life, please send to me! to me! Last class? Last class? Today: Today: Introduce Introduce Fruit Finder Fruit Finder , due , due next Friday next Friday. Lots of helpful hints in Matlab. Lots of helpful hints in Matlab. Connected components and morphology Connected components and morphology Next week: Edge features Next week: Edge features Questions? Questions?

Upload: wendy-baker

Post on 17-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

CSSE463: Image Recognition CSSE463: Image Recognition Day 3Day 3

Announcements/reminders:Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a Lab 1 should have been turned in yesterday (due now if use a

late day).late day). Tomorrow: Lab 2 on color images. Tomorrow: Lab 2 on color images. Bring laptopBring laptop.. If you see examples of Img Rec in life, please send to me! If you see examples of Img Rec in life, please send to me!

Last class?Last class? Today: Today:

Introduce Introduce Fruit FinderFruit Finder, due , due next Fridaynext Friday.. Lots of helpful hints in Matlab.Lots of helpful hints in Matlab. Connected components and morphologyConnected components and morphology

Next week: Edge featuresNext week: Edge features

Questions?Questions?

Page 2: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Project 1: Counting FruitProject 1: Counting FruitHow many apples? bananas? oranges?How many apples? bananas? oranges?

Page 3: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Why the fruit-finder?Why the fruit-finder?

Crash-course in using and applying MatlabCrash-course in using and applying MatlabFor this reason, I will direct you to some useful For this reason, I will direct you to some useful

functions, but will not give details of all of themfunctions, but will not give details of all of them Practice feature extractionPractice feature extraction Practice writing a conference-paper style Practice writing a conference-paper style

report report Formal and professional!Formal and professional!Use style similar to ICME sunset paper Use style similar to ICME sunset paper

(Abstract, Introduction, Process, Results, …)(Abstract, Introduction, Process, Results, …)

Page 4: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Fruit-finding techniqueFruit-finding technique ObserveObserve

What What is is a banana’s “yellow”? (numerically, using imtool)a banana’s “yellow”? (numerically, using imtool) ModelModel

Can you differentiate between yellow and orange? Orange and Can you differentiate between yellow and orange? Orange and red? (Decisions)red? (Decisions)

Note: this isn’t using a classifier yet; just our best guess at hand-Note: this isn’t using a classifier yet; just our best guess at hand-tuned tuned boundariesboundaries

Classify pixels using your modelClassify pixels using your model ““Clean up” the resultsClean up” the results

Mathematical morphology: today’s discussion!Mathematical morphology: today’s discussion! Write up your results in a professional report (as you go)Write up your results in a professional report (as you go)

Page 5: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Region processingRegion processing

Binary image analysisBinary image analysisToday, we’ll only consider binary images Today, we’ll only consider binary images

composed of composed of foreground foreground and and background background regionsregionsExample: apple and non-appleExample: apple and non-appleUse Use findfind to create a mask of which pixels belong to create a mask of which pixels belong

to eachto each

Q1

Page 6: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Matlab How-to create a maskMatlab How-to create a mask

Lots of “Random” tidbits that I used in my Lots of “Random” tidbits that I used in my solution: solution: zeroszerossizesize findfind

Q2-3

Page 7: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Modifying the mask requires us to Modifying the mask requires us to define which pixels are neighborsdefine which pixels are neighbors

Page 8: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

NeighborhoodsNeighborhoods

Do we consider diagonals or not?Do we consider diagonals or not?

4-neighborhood of pixel p:4-neighborhood of pixel p:Consists of pixels in the 4 primary compass Consists of pixels in the 4 primary compass

directions from p.directions from p.8-neighborhood of pixel p:8-neighborhood of pixel p:

Adds 4 pixels in the 4 secondary compass Adds 4 pixels in the 4 secondary compass directions from p.directions from p.

Q4-5

Page 9: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Connected ComponentsConnected Components

Goal: to label groups of connected pixels.Goal: to label groups of connected pixels.Assign each block of foreground pixels a Assign each block of foreground pixels a

unique integerunique integer4-connectivity vs. 8-connectivity matters4-connectivity vs. 8-connectivity matters

Matlab help: search for Matlab help: search for connected connected componentscomponents, and use , and use bwlabel bwlabel functionfunction

DemoDemo You’ll likely devise an algorithm to do this You’ll likely devise an algorithm to do this

as part of week 3 take-home test.as part of week 3 take-home test.

Q6

Page 10: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Morphological operationsMorphological operations(Sonka, ch 13)(Sonka, ch 13)

Morphology = form and structure (shape)Morphology = form and structure (shape)For binary imagesFor binary images

Done via a structuring element (usually a Done via a structuring element (usually a rectangle or circle)rectangle or circle)

Basic operations:Basic operations:Dilation, erosion, closing, openingDilation, erosion, closing, opening

Page 11: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

DilationDilation

Given a structuring element, adds points in the Given a structuring element, adds points in the union of the structuring element and the maskunion of the structuring element and the mask

Intuition: Adds background pixels adjacent to the Intuition: Adds background pixels adjacent to the boundary of the foreground region to the boundary of the foreground region to the foreground.foreground.

Def, for image X and structuring element B:Def, for image X and structuring element B:

Q7a

BbXxbxppBX and,:2

Page 12: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Dilation in actionDilation in action

Strel = 2x1, centered on dot

Page 13: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

DilationDilation Matlab: Matlab: imdilate(bw, structureElt)imdilate(bw, structureElt)

Typically want symmetric structuring elementsTypically want symmetric structuring elements structureElt (for 8 neighborhood) found by:structureElt (for 8 neighborhood) found by:

structureElt = strel(‘square’, 3); structureElt = strel(‘square’, 3); % for erosion % for erosion using 3x3 neighborhoodusing 3x3 neighborhood

structureElt (for 4 neighborhood) found by:structureElt (for 4 neighborhood) found by: structureElt = strel([0 1 0; 1 1 1; 0 1 0]); structureElt = strel([0 1 0; 1 1 1; 0 1 0]);

help strelhelp strel lists 11 others lists 11 others Demo for intuition: Enlarges a regionDemo for intuition: Enlarges a region

Def:Def:

Q7a

BbXxbxppBX and,:2

Page 14: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

ErosionErosion

Removes all pixels on the boundaryRemoves all pixels on the boundaryMatlab: imerode(bw, structureElt)Matlab: imerode(bw, structureElt)

Q7b

BbXbxppBX :2

Page 15: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Closing and OpeningClosing and Opening Closing (imclose)Closing (imclose)

Dilate, then erodeDilate, then erode Fills internal holes in a region, while maintaining approximate Fills internal holes in a region, while maintaining approximate

pixel countpixel count Eliminates inlets on the boundaryEliminates inlets on the boundary

Opening (imopen)Opening (imopen) erode, then dilateerode, then dilate Removes small regionsRemoves small regions Eliminates peninsulas on the boundaryEliminates peninsulas on the boundary

To make dilation more aggressive,To make dilation more aggressive, Dilate n times, then erode n times.Dilate n times, then erode n times. Or, use a larger structuring elementOr, use a larger structuring element Example: compare Example: compare dilating twice using a 3x3 squaredilating twice using a 3x3 square with with

dilating dilating once using a 5x5 squareonce using a 5x5 square..

Page 16: CSSE463: Image Recognition Day 3 Announcements/reminders: Announcements/reminders: Lab 1 should have been turned in yesterday (due now if use a late day)

Lab 2Lab 2

You will work with a partner for each labYou will work with a partner for each labCan stay same or change Can stay same or change

I have posted a simpler 10-point grading I have posted a simpler 10-point grading rubric at the top of each labrubric at the top of each lab

Please ask questions and complete as Please ask questions and complete as much as you can in classmuch as you can in class

Each lab is due the following Weds. at 1:30Each lab is due the following Weds. at 1:30 Start now!Start now!