Owen Carmichael : Teaching : ECS 189H

Introduction to Image Processing and Analysis

UC Davis, Winter 2007

 

Home / News

Affiliations / Contact

Research

Papers

Teaching

Community Resources

Reading Groups

Leisure

 

This course will introduce students to the essential techniques for using computers to extract useful information from photographs, 3D surface scanners, and volumetric medical images.  If you have any questions, email me: first initial, then last name, at ucdavis.edu.

 

Who can take it?  Undergrads and grad students are welcome to take the class.  I am going to try like heck to make it not too basic for grad students, but not too hard for undergrads either.  Prerequisites are knowledge of data structures and programming techniques, plus a background in linear algebra.  If you have taken courses in this, great; if you know programming and linear algebra through some other avenue, let me know and weÕll talk about it.

Topics

2D images: We will talk about algorithms for automatically extracting information out of digital photographs and movies.  We will discuss the basics of how to detect basic features such as edges, corners, and visual patterns (such as stripes, leopard spots, etc), and how to use those basic features to detect objects like this ladder.  We will also talk about how to use information from multiple images to build 3D models of objects and environments.

 

3D surface imagery: Here we will focus on data that comes from 3D surface sensors such as RADAR and laser range finders: they typically give you a set of 3D points that lie on the surfaces they are pointed at.  We will talk about how to remove noise and other artifacts from surface data, how to detect objects in 3D data, and how to combine multiple views of the same object into a single, unified 3D model of it (like this plumbing part).

Volumetric medical images: Medical imaging modalities such as CT, MR, PET and SPECT give you a filled-in, solid 3D ÒcubeÓ of data that represents the physical properties of molecules inside part of the human body (the brain, for example).  We will talk a little about how these images are formed and how to get rid of artifacts from them.  We will then discuss how to automatically detect that an object is present in one of these images—for instance a brain tumor.  We will go into techniques for mathematically describing the shapes of biological objects (like the brain) and how the shapes change over time and over the course of disease.  For example, the image to the left depicts changes to a key brain structure as a result of AlzheimerÕs disease.

 Key components of the course

Lectures: Students will learn algorithms for automatically detecting objects in images of various types, building 3D models of objects and scenes from example views, removing image artifacts, and mathematically representing the shapes of things.  I will try to give students a general sense of what the Òbig problemsÓ in image processing are, and the key characteristics of available solutions.

Programming assignments: Students will program image processing algorithms in small teams using the Insight Toolkit (ITK), a cross-platform, open-source package of C++ classes and supporting software.  ITK is currently the industry standard for public-domain image processing functionality, especially for medical images.  Most of the course grade (60%) will be based on the results of 3 programming assignments, in which students use ITK to add significant functionality to bare-bones code that solves a major problem for 2D images, 3D surface imagery, and medical images.

Exams: There will be a midterm and final, corresponding to 15% and 25% of the grade, respectively.