Post on 19-Jan-2016
An Introduction to An Introduction to Computer VisionComputer Vision
George J. Grevera, Ph.D.George J. Grevera, Ph.D.
http://www.sju.edu/~ggrevera/csc2151-5155/index.htmlhttp://www.sju.edu/~ggrevera/csc2151-5155/index.html
How does the Sony AIBO dog find its way How does the Sony AIBO dog find its way “home” (to its charging stations)?“home” (to its charging stations)?
How does the yellow, virtual first-down line How does the yellow, virtual first-down line work?work?
science of analyzing images and videos in order science of analyzing images and videos in order to recognize or just model 3D objects, persons, to recognize or just model 3D objects, persons, and environmentsand environments
How do cameras perform image stabilization?How do cameras perform image stabilization? In this class, we study the underlying principles In this class, we study the underlying principles
and produce working examples.and produce working examples.
Computer VisionComputer Vision
VisualizationVisualization
Computer graphicsComputer graphics
Computer / Machine Computer / Machine visionvision
Image understandingImage understanding
Database and Database and communicationscommunications
Computer gamesComputer games
Medical ImagingMedical Imaging
Image processingImage processing
Pattern recognitionPattern recognition
Ansel Adams: El CapitanAnsel Adams: El Capitan
Bill Brandt: Lambeth WalkBill Brandt: Lambeth Walk
George Grevera: Horse FishingGeorge Grevera: Horse Fishing
SegmentationSegmentation
SegmentationSegmentation
recognitionrecognition
delineationdelineation
Models from CT (Computed Models from CT (Computed Tomography) head dataTomography) head data
Model buidingModel buiding
3D visualization of CT head data3D visualization of CT head data
MRI Diffusion Tensor ImagingMRI Diffusion Tensor Imaging
RegistrationRegistration
RegistrationRegistration
A.K.A.:A.K.A.: alignmentalignment warpingwarping mosaicingmosaicing morphingmorphing fusionfusion
Simple MRI Example (rigid)Simple MRI Example (rigid)
DeformableDeformable
pre post (no reg)
post(after Thirion’s
Demons registration)
diff
diff
Non-medical visualizationNon-medical visualization
What is a distance transform?What is a distance transform?
Input: an Input: an binarybinary image image
Output: a grey imageOutput: a grey image for all points . . .for all points . . .
assign the minimum distance from that particular assign the minimum distance from that particular point to the nearest point on the border of an point to the nearest point on the border of an objectobject
Applications of distance Applications of distance transforms:transforms:
skeletonization/medial axis transformskeletonization/medial axis transform interpolationinterpolation registrationregistration efficient ray tracingefficient ray tracing classification of plant cellsclassification of plant cells measuring cell wallsmeasuring cell walls characterize spinal cord atrophycharacterize spinal cord atrophy
Experimental ResultsExperimental Results
binary input image distance transform result
Application areas:
• Object recognition
• Tracking
• Registration
• Fusion
Intelligence, industrial and medical projects
• FBI Automatic Fingerprint Identification System
• FOCUS: Monitor change in satellite images
• FBI Facial Reconstruction
Software: Target Junior
Image UnderstandingImage Understanding
Image UnderstandingImage Understanding
Image UnderstandingImage Understanding
Image UnderstandingImage Understanding
Image UnderstandingImage Understanding
TextbookTextbook
L.G. Shapiro, G.C. Stockman, Computer L.G. Shapiro, G.C. Stockman, Computer Vision, Prentice-Hall, 2001.Vision, Prentice-Hall, 2001.
TopicsTopics
Imaging and image representationImaging and image representation SensorsSensors Problems (including noise)Problems (including noise) Image file formatsImage file formats
Color representation and shadingColor representation and shading Binary image analysisBinary image analysis
Connected componentsConnected components MorphologyMorphology Region propertiesRegion properties
TopicsTopics
Pattern recognition conceptsPattern recognition concepts Classifiers and classificationClassifiers and classification
Filtering (enhancing) imagesFiltering (enhancing) images SegmentationSegmentation Registration (matching)Registration (matching)
TopicsTopics
RegistrationRegistration Texture representation and segmentationTexture representation and segmentation Motion from sequences of 2D imagesMotion from sequences of 2D images
HomeworkHomework
Read chapter 1.Read chapter 1. Hand in 1.1, 1.2, and 1.3.Hand in 1.1, 1.2, and 1.3.
Survey questions…Survey questions…
1. Do you have access to a digital camera?1. Do you have access to a digital camera?
2. Write a function that, given a 2D array, returns a 2. Write a function that, given a 2D array, returns a 1D array of the sum of the rows in the 2D 1D array of the sum of the rows in the 2D array.array.
In Java:In Java:int[] sumOfRows ( int m[][], int rows, int cols ) {int[] sumOfRows ( int m[][], int rows, int cols ) {……}}
In C++:In C++:#define Rows 150#define Rows 150#define Cols 50#define Cols 50int* sumOfRows ( int m[Rows][Cols] ) {int* sumOfRows ( int m[Rows][Cols] ) {……}}ororint* sumOfRows ( int* m ) {int* sumOfRows ( int* m ) {……}}