my ms defense

61
Library for organization of image Library for organization of image recognition systems recognition systems Master’s thesis Master’s thesis by by Oleksandr Oleksandr Shyrokov Shyrokov http://www. http://www. ece ece .unh. .unh. edu edu/ svpal svpal/ Thesis adviser: Dr. Messner May 2002 May 2002

Upload: alexander-shyrokov

Post on 12-Aug-2015

741 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: My MS defense

Library for organization of image Library for organization of image recognition systemsrecognition systems

Master’s thesisMaster’s thesisbyby

OleksandrOleksandr ShyrokovShyrokovhttp://www.http://www.eceece.unh..unh.eduedu//svpalsvpal//

Thesis adviser: Dr. Messner

May 2002May 2002

Page 2: My MS defense

OutlineOutline

nn IntroductionIntroductionnn ApproachApproachnn Automatic micro object recognition systemAutomatic micro object recognition systemnn Automatic human brain cell recognitionAutomatic human brain cell recognitionnn Bacteria countingBacteria countingnn LibraryLibrarynn ConclusionConclusion

Page 3: My MS defense

Where are we?Where are we?

nn IntroductionIntroductionnn ApproachApproachnn Automatic micro object recognition systemAutomatic micro object recognition systemnn Automatic human brain cell recognitionAutomatic human brain cell recognitionnn Bacteria countingBacteria countingnn LibraryLibrarynn ConclusionConclusion

Page 4: My MS defense

IntroductionIntroduction

nn What is a Recognition System?What is a Recognition System?nn Who needs it?Who needs it?nn What is done?What is done?nn What can be done?What can be done?

Page 5: My MS defense

Introduction (What)Introduction (What)

nn AcquireAcquire–– Get the information from the sensors (camera)Get the information from the sensors (camera)

nn ProcessingProcessing–– Enhance image; locate region of interests; get Enhance image; locate region of interests; get

additional information (features)additional information (features)

nn Make a decisionMake a decision–– Label the situationLabel the situation

nn ReactReact–– Perform a corresponding actionPerform a corresponding action

Page 6: My MS defense

Introduction (Who)Introduction (Who)

nn IndustryIndustry–– High speedHigh speed–– Low error rateLow error rate

nn ScienceScience–– Repetitive tasks (measurements,…)Repetitive tasks (measurements,…)

nn Hazardous environmentHazardous environment–– Radiation, distanceRadiation, distance

Page 7: My MS defense

Introduction (What is done)Introduction (What is done)

nn Dedicated companiesDedicated companies–– Special hardware and software (high cost)Special hardware and software (high cost)

»» DatacubeDatacube»» ZeissZeiss

nn Software packagesSoftware packages–– MatlabMatlab, , mathcadmathcad, etc…, etc…

nn Absence of the common conventionAbsence of the common convention–– Hard to reuse the work done by the othersHard to reuse the work done by the others

Page 8: My MS defense

Introduction (What can be done)Introduction (What can be done)

nn ModularityModularity–– AcquisitionAcquisition–– Object separationObject separation–– Feature extractionFeature extraction–– ClassificationClassification–– DisplayingDisplaying

nn StandardStandard–– Predefined interfacePredefined interface

Page 9: My MS defense

Where are we?Where are we?

n Introductionnn ApproachApproachnn Automatic micro object recognition systemAutomatic micro object recognition systemnn Automatic human brain cell recognitionAutomatic human brain cell recognitionnn Bacteria countingBacteria countingnn LibraryLibrarynn ConclusionConclusion

Page 10: My MS defense

ApproachApproach

nn Human brain cell recognition research by Human brain cell recognition research by Mr. Pawlak (HBCRR)Mr. Pawlak (HBCRR)–– MatlabMatlab scriptsscripts

nn GeneralizationGeneralization–– Bacteria countingBacteria counting

nn PlugPlug--in conceptin concept–– Extendable systemExtendable system

nn Interface definitionInterface definition–– Exported functions and parametersExported functions and parameters

Page 11: My MS defense

Approach (HBCRR)Approach (HBCRR)

nn Human brain cell recognition researchHuman brain cell recognition research–– AcquisitionAcquisition

»» Acquire dataAcquire data

–– Object separationObject separation»» Locate cellsLocate cells

–– Feature extractionFeature extraction»» Make polar transformMake polar transform»» More featuresMore features

–– ClassificationClassification»» Classify each cellClassify each cell

–– DisplayingDisplaying»» Show the resultShow the result

Acquired data (tiff images)

Segmentation

Features calculation

Polar transform

Fuzzy classification

Result

Page 12: My MS defense

Approach (Generalization)Approach (Generalization)

nn Bacteria countingBacteria counting–– AcquisitionAcquisition

»» Acquire dataAcquire data

–– Object separationObject separation»» Locate bacteriaLocate bacteria

–– Feature extractionFeature extraction»» Find area of each bacteriaFind area of each bacteria

–– ClassificationClassification»» Count bacteriaCount bacteria

–– DisplayingDisplaying»» Show the resultShow the result

Acquired data (tiff images)

Find bacterias

Count bacterias

Find area of eachbacteria

Result

Page 13: My MS defense

Approach (PlugApproach (Plug--ins)ins)

nn What should be implemented as a plugWhat should be implemented as a plug--in?in?–– Acquisition plugAcquisition plug--inin–– Object Separation plugObject Separation plug--inin–– Feature extraction plugFeature extraction plug--inin–– Database plugDatabase plug--inin–– Displaying plugDisplaying plug--inin

Page 14: My MS defense

Approach (Interfacing)Approach (Interfacing)

nn AcquisitionAcquisition–– List of variablesList of variables–– List of imagesList of images

nn SegmentationSegmentation–– List of bounding rectanglesList of bounding rectangles

nn FeaturesFeatures–– Add list of variables to the bounding rectanglesAdd list of variables to the bounding rectangles

nn ClassificationClassification–– Uses list of variables for each objectUses list of variables for each object

nn DisplayingDisplaying–– Access to all object data Access to all object data

Page 15: My MS defense

Where are we?Where are we?

n Introductionn Approachnn Automatic micro object recognition Automatic micro object recognition

system (AMORS)system (AMORS)nn Automatic human brain cell recognitionAutomatic human brain cell recognitionnn Bacteria countingBacteria countingnn LibraryLibrarynn ConclusionConclusion

Page 16: My MS defense

AMORSAMORS

nn Main programMain programnn System organizationSystem organizationnn Modes of operationModes of operation

–– Normal mode (runNormal mode (run--time mode)time mode)–– Research mode (active setup)Research mode (active setup)

nn Graphical User Interface (GUI)Graphical User Interface (GUI)

Page 17: My MS defense

AMORS (Program)AMORS (Program)

nn Main ProgramMain Program–– Why AMORSWhy AMORS–– PlugPlug--insins–– GUIGUI–– Configuration fileConfiguration file

Main program

Configuration file Plug-ins Modes

Setup Information, functions Execution

ExecutionSetup, exectuon

Page 18: My MS defense

AMORS (System)AMORS (System)

nn Three main blocksThree main blocks–– AcquisitionAcquisition

»» Acquisition plugAcquisition plug--inin

–– ProcessingProcessing»» Object Separation plugObject Separation plug--inin»» Feature extraction plugFeature extraction plug--inin»» Classification plugClassification plug--inin

–– DisplayingDisplaying»» Displaying plugDisplaying plug--inin

Acquisition

Processing

Displaying

Page 19: My MS defense

AMORS (Acquisition)AMORS (Acquisition)

nn AcquisitionAcquisition–– CameraCamera–– MicroscopeMicroscope–– XYZ translation stageXYZ translation stage

Acqusition module

Hardware

XYZ stage

XYZ stagemanager

CameramanagerCamera

Microscope

Acquisitionmanager

Page 20: My MS defense

AMORS (Processing)AMORS (Processing)

nn ProcessingProcessing–– SeparationSeparation

»» Find objectsFind objects

–– Feature extractionFeature extraction»» Multiple featuresMultiple features

–– ClassificationClassification»» DatabaseDatabase

Processing module

Featureextraction(FE)

Classification

Objectseparation

Object Separationplug-in

FE Plug-in 1…….

FE Plug-in N

Database

Page 21: My MS defense

AMORS (Mode 1)AMORS (Mode 1)

nn Normal mode (RunNormal mode (Run--time)time)–– Minimum interaction with the userMinimum interaction with the user

Dataacquisition

Processingblock

Resultdisplaying

Frames Result

Feedback (user input, automatic adjustments)

Page 22: My MS defense

AMORS (Mode 2)AMORS (Mode 2)

nn Research mode (active setup)Research mode (active setup)–– A user can find parameters of the plugA user can find parameters of the plug--insins

Dataacquisition

Processingblock

Resultdisplaying

FramesUser feedback

User feedbackResults

Newconfiguration

Page 23: My MS defense

AMORS (GUI 1)AMORS (GUI 1)

nn Main windowMain window–– ConfigureConfigure–– SetupSetup–– LaunchLaunch–– Observe progressObserve progress

Page 24: My MS defense

AMORS (GUI 1)AMORS (GUI 1)

nn Main windowMain window–– ConfigureConfigure–– SetupSetup–– LaunchLaunch–– Observe progressObserve progress

Page 25: My MS defense

AMORS (GUI 2)AMORS (GUI 2)

nn Configuration dialog boxConfiguration dialog box–– Unique identifier for plugUnique identifier for plug--insins–– PlugPlug--ins type is detectedins type is detected–– Ordering of feature plugOrdering of feature plug--insins

Page 26: My MS defense

Where are we?Where are we?

n Introductionn Approachn Automatic micro object recognition systemnn Automatic human brain cell recognition Automatic human brain cell recognition

(HBCR)(HBCR)nn Bacteria countingBacteria countingnn LibraryLibrarynn ConclusionConclusion

Page 27: My MS defense

HBCR (Problem)HBCR (Problem)

nn ProblemProblem–– Huntington’s Disease (HD)Huntington’s Disease (HD)–– Brain tissueBrain tissue–– Tracing cellsTracing cells–– Identification by expertsIdentification by experts

»» Oligodendrocyte (Oligodendrocyte (OligoOligo))»» Astrocyte (Astrocyte (AstroAstro))»» Neuron (Neuron (NeuroNeuro))»» MicrogilaMicrogila»» EndothelialEndothelial

Page 28: My MS defense

HBCR (Cells)HBCR (Cells)Examples of cells:

Page 29: My MS defense

HBCR (Original)HBCR (Original)

nn Mr. Mr. Pawlak’sPawlak’s research (research (Matlab Matlab scripts)scripts)–– Image segmentationImage segmentation

»» Region Growing methodRegion Growing method

–– Polar transformPolar transform–– Feature extractionFeature extraction

»» Area, mean value, etc…Area, mean value, etc…

–– Fuzzy logicFuzzy logic»» Membership functionsMembership functions

Page 30: My MS defense

HBCR (AMORS)HBCR (AMORS)

nn Application for AMORSApplication for AMORS–– AcquisitionAcquisition

»» DummyAcqDummyAcq plugplug--in for TIFF (in for TIFF (Tagged Image File FormatTagged Image File Format) files) files

–– Image segmentationImage segmentation»» RegGrowRegGrow plugplug--inin

–– Feature extractionFeature extraction»» Polar transform plugPolar transform plug--inin»» pawlakpawlak_features plug_features plug--inin

–– ClassificationClassification»» IniDBIniDB plugplug--in for fuzzy logicin for fuzzy logic

–– DisplayingDisplaying»» SimpleDispaly SimpleDispaly plugplug--inin

Page 31: My MS defense

HBCR (Displaying 1)HBCR (Displaying 1)

nn SimpleDisplaySimpleDisplayplugplug--inin

Page 32: My MS defense

HBCR (Displaying 2)HBCR (Displaying 2)

nn HistogramsHistograms–– Image histogramImage histogram–– Histogram for all numerical Histogram for all numerical parametersparameters

Page 33: My MS defense

HBCR (Displaying 3)HBCR (Displaying 3)

nn Histogram region selectionHistogram region selection

Page 34: My MS defense

HBCR (Improvements)HBCR (Improvements)

nn ImprovementsImprovements–– 3D Acquisition3D Acquisition

»» Analyze stack of images taken with different focal Analyze stack of images taken with different focal depthsdepthsnn VotingVoting

–– SelfSelf--Organizing Map (SOM)Organizing Map (SOM)»» Solves problem of defining the membership Solves problem of defining the membership

functionsfunctions

Page 35: My MS defense

HBCR (SOM 1)HBCR (SOM 1)

nn Mapping from the input data space Mapping from the input data space RRnn onto onto a regular 2D array of nodesa regular 2D array of nodes–– Node Node ii;; parametric vector parametric vector mmii∈∈ RRnn associated with node associated with node

ii; Node location is in form ; Node location is in form (x,y)(x,y);;–– This map has the size This map has the size 55 by by 44

0,0 4,03,02,01,0

0,1 4,13,12,11,1

0,2 4,23,22,21,2

0,3 4,33,32,31,3

Page 36: My MS defense

HBCR (SOM 2)HBCR (SOM 2)

nn Let me explain SOM using the following Let me explain SOM using the following exampleexample–– Need to separate cucumbers, tomatoes and watermelonsNeed to separate cucumbers, tomatoes and watermelons–– We are given the area occupied by the We are given the area occupied by the vegetable and vegetable and

the maximum distance, as shown belowthe maximum distance, as shown below

Cucumber

Maximum distance

Tomato

Maximum distance

Watermelon

Maximum distance

Page 37: My MS defense

HBCR (SOM 3)HBCR (SOM 3)

nn Training dataTraining data–– One need a predefined data to train the mapOne need a predefined data to train the map

Area

Max

imu

m d

ista

nce

Tomato

Cucumber Watermelon

Samples

Page 38: My MS defense

HBCR (SOM 4)HBCR (SOM 4)

nn Learning: InitializingLearning: Initializing–– mmii(0)(0) is assigned randomlyis assigned randomly

Area

Ma

xim

um

dis

tan

ce

0,0 4,03,02,0

1,0

0,1 4,1

3,1

2,1

1,1

0,2

4,2

3,2

2,2

1,2

0,3

4,3

3,3

2,3

1,3

Page 39: My MS defense

HBCR (SOM 5)HBCR (SOM 5)

nn Learning: Adjusting the mapLearning: Adjusting the map–– Shifting the closest node with its neighborhood Shifting the closest node with its neighborhood

closer to the input vectorcloser to the input vector

)]()([)()()1( tmtxthtmtm iciii −⋅+=+

t – discrete-time coordinate; i – node index; mi – node vector; x – input vector; hci – so-called neighborhood kernel

Page 40: My MS defense

HBCR (SOM 6)HBCR (SOM 6)

nn Learning: Neighborhood kernelLearning: Neighborhood kernel–– Position dependencePosition dependence

»» hhcici=h(||=h(||rrcc -- rrii ||;t)||;t), where , where rrcc∈∈RR22 and and rrii∈∈RR22 –– radius vectors of radius vectors of nodes nodes cc and and ii

»» hhcici goes to 0 with increasing goes to 0 with increasing ||||rrcc -- rrii||||»» defines the defines the ““stiffnessstiffness”” of the of the ““elastic surfaceelastic surface””

–– Time dependenceTime dependence»» get smaller with timeget smaller with time»» learning ratelearning rate

–– Two stepsTwo steps»» OrderingOrdering»» Fine tuningFine tuning

Page 41: My MS defense

HBCR (SOM 7)HBCR (SOM 7)

nn Learning: Training resultLearning: Training result

Area

Ma

xim

um d

ista

nce

0,0 4,03,0

2,0

1,0

0,1

4,1

3,1

2,1

1,1

0,2

4,23,2

2,2

1,2

0,3

4,3

3,3

2,31,3

Area

Ma

xim

um d

ista

nce

0,0 4,03,0

2,0

1,0

0,1 4,1

3,1

2,1

1,1

0,2

4,2

3,2

2,2

1,2

0,3

4,3

3,3

2,3

1,3

Page 42: My MS defense

HBCR (SOM 8)HBCR (SOM 8)

nn Learning: RepresentationLearning: Representation–– high dimensions do not allow the direct high dimensions do not allow the direct

presentation of mapping processpresentation of mapping process–– nodes are forming 2D gridnodes are forming 2D grid

0,0 4,03,02,01,0

0,1 4,13,12,11,1

0,2 4,23,22,21,2

0,3 4,33,32,31,3

Page 43: My MS defense

HBCR (SOM 9)HBCR (SOM 9)

nn Learning: Map calibrationLearning: Map calibration–– Assigning labels of training samples to the Assigning labels of training samples to the

nodes ( C nodes ( C –– cucumber, T cucumber, T –– tomato, W tomato, W ––watermelon)watermelon)

0,0 4,03,02,01,0

0,1 4,13,12,11,1

0,2 4,23,22,21,2

0,3 4,33,32,31,3

C W

W

TT

C

C

W

WW

W

W

C

C

T

TT T

Page 44: My MS defense

HBCR (SOM 10)HBCR (SOM 10)

nn Learning: Quantization errorLearning: Quantization error–– finite number of nodesfinite number of nodes–– approximation of sample distributionapproximation of sample distribution–– quantization error quantization error –– average difference average difference between between

the input vector and the bestthe input vector and the best--match vectormatch vector

Page 45: My MS defense

HBCR (SOM 11)HBCR (SOM 11)

nn Using SOM for cell recognitionUsing SOM for cell recognition–– SOM_PAK software packageSOM_PAK software package

»» randinit randinit –– initializes the map for traininginitializes the map for training»» vsom vsom –– trains the maptrains the map»» vcal vcal –– labels the map vectorslabels the map vectors»» visual visual –– finds bestfinds best--matching nodesmatching nodes»» qerror qerror –– quantization errorquantization error

–– SOMDB plugSOMDB plug--inin»» Parameter setup for the trainingParameter setup for the training

Page 46: My MS defense

HBCR (SOM 12)HBCR (SOM 12)

nn SOMDB plugSOMDB plug--ininsetupsetup

Page 47: My MS defense

HBCR (SOM 13)HBCR (SOM 13)

nn Parameters used for trainingParameters used for training

nn Example with the grid size 12x8 nodesExample with the grid size 12x8 nodes

Name\Step Ordering step Fine tuningNumber of iterations 1,000 10,000

Learning rate 0.05 0.01Radius of training area 10 3

N N -- Neuron cells, ANeuron cells, A -- Astrocyte cells, O Astrocyte cells, O -- Oligodendrocyte cells, * Oligodendrocyte cells, * -- unknown cells or clutterunknown cells or clutter

Page 48: My MS defense

HBCR (Future work)HBCR (Future work)

nn Work to be doneWork to be done–– Testing of the different separation methods, by Testing of the different separation methods, by

using different plugusing different plug--insins–– Make analysis to find the best learning Make analysis to find the best learning

parameters for SOMparameters for SOM–– Features, which give maximum separation of Features, which give maximum separation of

the cellsthe cells

Page 49: My MS defense

Where are we?Where are we?

n Introductionn Approachn Automatic micro object recognition systemn Automatic human brain cell recognitionnn Bacteria counting (BC)Bacteria counting (BC)nn LibraryLibrarynn ConclusionConclusion

Page 50: My MS defense

BC (Problem)BC (Problem)

nn Pure culture vs. industrial specimenPure culture vs. industrial specimen

Industrial specimen Pure culture (inverted)

Page 51: My MS defense

BC (Solution)BC (Solution)

nn AcquisitionAcquisition–– MaxPciMaxPci–– ZeissZeiss–– FromFileAcqFromFileAcq plugplug--inin

nn MethodsMethods–– ThresholdThreshold–– Morphology operationsMorphology operations–– Clusters divisionClusters division

Page 52: My MS defense

BC (Result)BC (Result)

nn Accuracy (95 %) the same as for humanAccuracy (95 %) the same as for humannn Speed more then 5 times faster than for humanSpeed more then 5 times faster than for human

Input (inverted) Counted (bacteria)

Page 53: My MS defense

BC (Future work)BC (Future work)

nn Work to be doneWork to be done–– Automatic acquisitionAutomatic acquisition–– Automatic Automatic thresholdingthresholding–– Counting in the industrial specimensCounting in the industrial specimens

Page 54: My MS defense

Where are we?Where are we?

n Introductionn Approachn Automatic micro object recognition systemn Automatic human brain cell recognitionn Bacteria counting (BC)nn LibraryLibrarynn ConclusionConclusion

Page 55: My MS defense

LibraryLibrary

nn Statically linked libraryStatically linked library–– interfaces.libinterfaces.lib

nn PortabilityPortability–– Standard Template LibraryStandard Template Library

nn ClassesClasses–– CSJIniFile CSJIniFile (configuration files)(configuration files)–– CSJBuffer CSJBuffer (2D data)(2D data)–– CSJImage CSJImage (Color images)(Color images)–– CSJImageList CSJImageList (List of images)(List of images)–– CSJObjectInfo CSJObjectInfo (Object description)(Object description)–– CSJObjectInfoList CSJObjectInfoList (List of objects)(List of objects)–– CSJSpecimen CSJSpecimen (Description of the specimen)(Description of the specimen)

Page 56: My MS defense

Library (CD)Library (CD)

nn Open sourcesOpen sourcesnn TemplatesTemplatesnn ExamplesExamplesnn DocumentationDocumentationnn ApplicationsApplications

Page 57: My MS defense

Library (Future work)Library (Future work)

nn Work to be doneWork to be done–– Test for different operating systemsTest for different operating systems–– NonNon--linear connection of the pluglinear connection of the plug--insins–– FeedbacksFeedbacks–– StandardStandard–– Code Code maintenancemaintenance

Page 58: My MS defense

Where are we?Where are we?

n Introductionn Approachn Automatic micro object recognition systemn Automatic human brain cell recognitionn Bacteria counting (BC)n Librarynn ConclusionConclusion

Page 59: My MS defense

ConclusionConclusion

nn ReadyReady--toto--use procedure of creating the use procedure of creating the recognition systemrecognition system

nn FreeFreenn ExamplesExamplesnn TemplatesTemplatesnn DocumentationDocumentation

Page 60: My MS defense

ReferencesReferences

nn A. J.A. J. PawlakPawlak, "Automatic human brain cell , "Automatic human brain cell recognition", Master's Thesis, September recognition", Master's Thesis, September 19981998

nn R.O.R.O. DudaDuda, P.E. Hart, D.G. Stork, , P.E. Hart, D.G. Stork, ““PatternPatternCalssificationCalssification””, 2, 2ndnd edition, Wileyedition, Wiley--InterscienceInterscience Publications, 2000 Publications, 2000

nn Full list online: Full list online: http://www.http://www.eceece.unh..unh.eduedu//svpalsvpal//

Page 61: My MS defense

The endThe end

Questions, comments?Questions, comments?

Maybe a little demo?Maybe a little demo?

Thank you!Thank you!