An Introduction to Computer Vision George J. Grevera, Ph.D. ggrevera/csc2151-5155/index.html.

Post on 19-Jan-2016

215 views 2 download

Tags:

Transcript of An Introduction to Computer Vision George J. Grevera, Ph.D. ggrevera/csc2151-5155/index.html.

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 ) {……}}