cessing is the study of any algorithm that takes an image as input and produces
... Digital Image Processing: An Algorithmic Introduction Using Java, by Willhelm.
CS/BIOEN 4640: Image Processing Basics Administrative Details and Syllabus Spring 2012
Course Web Page: http://www.coe.utah.edu/~cs4640/ Description. This course is an introduction to digital image processing. Simply put, image processing is the study of any algorithm that takes an image as input and produces an image as output. Digital images are ubiquitous in today’s world, and the number of images available on the internet is exploding. Images are an important form of data in many fields. Examples include microscopy in biology, MRI and CT in medicine, satellite imagery in geology and agriculture, fingerprint and face images in security, and many others. Digital image processing is vital in fully harnessing the information in all of this data. Practically every digital image you see today has undergone some form of image processing. Even point-and-shoot digital cameras have a dedicated image processing microchip that performs simple image processing tasks immediately after a photograph is taken. In this course you will learn the basic algorithms of image processing, including image enhancement, filtering, feature detection, geometric transforms, color processing, and compression. The goals of this course are to give you the understanding of how image processing algorithms work and what algorithms to apply to a given problem, and also the foundation necessary to develop your own image processing algorithms. Instructor. Tom Fletcher. Office: 4686 WEB. Email:
[email protected]. Office Hours: Monday 11am - noon, Thursday 11am - noon. Class Meetings. Tuesdays and Thursdays, 2:00 pm – 3:20 pm, in WEB L102 Teaching Assistant. Yang Gao. Office: MEB 3115 (desk 9). Email:
[email protected]. Office Hours: Tuesday 11am - noon, Wednesday 10am - 11am. Getting Help. Take advantage of the instructor and TA office hours. We will work hard to be accessible to students. Please send us email if you need to meet outside of office hours. Don’t be shy if you don’t understand something: come to office hours, send email, or speak up in class! Students are encouraged to use email for questions outside of class and office hours. To send a question to the course staff, use the mailing list (
[email protected]). Mail sent to this address is seen only by the instructor and TAs, who will respond to each question individually. Mailing List. Important announcements, such as assignment corrections or deadline changes, will be sent to the class mailing list (
[email protected]). Only the instructor and TAs may send email to this address. Sign up for the mailing list here: https://sympa.eng.utah.edu/ sympa/info/cs4640. Textbook. Digital Image Processing: An Algorithmic Introduction Using Java, by Willhelm Burger and Mark J. Burge (ISBN: 978-1-84628-379-6). The schedule on the course web page lists the sections covered in each lecture. It is recommended that you read these sections before they are covered in class. Grading Policy. The final course grade is based on the homework assignments (50% total), 1
quizzes (25%), and the final project (25%). Letter grades are assigned as follows:
93-100 90-92
A A-
87-89 83-86 80-82
B+ B B-
77-79 73-76 70-72
C+ C C-
67-69 63-66 60-62
D+ D D-
0-59
E
Homework assignments will consist of writing Java code to solve image processing problems as well as written questions. We will use the open-source software ImageJ to develop image processing methods. ImageJ can be found here: http://rsbweb.nih.gov/ij/ Homeworks are due by 11:59pm on the due date by electronic submission. Late assignments will receive a 10% deduction during the first day they are late (midnight to 11:59pm), and a 20% deduction in the second day. Assignments will not be accepted beyond 48 hours late. If you believe there is an error in grading (homeworks or quizzes), you may request a regrading within one week of receiving your grade. Requests must be made in writing, explaining clearly why you think your solution is correct. Working Together. You are welcome to discuss the concepts in a homework assignment with your fellow classmates. However, you must develop and write up your own solutions. Do not read another person’s code, and do not show your code to anyone else. Copying another student’s solutions will be considered cheating. Also, it is important that you first try to solve problems on your own, and discuss them only when you are stuck or to reassure yourself about your answer. Copying solutions or code from outside sources (people outside class, internet sources, etc.) is also prohibited. For the final course project, you are encouraged to work together in teams of 2-3 people. Of course, there must be no collaboration during in-class quizzes. If a student is caught cheating on a homework or quiz, they will receive a failing grade for the course. For a detailed description of the university policy on cheating, please see the University of Utah Student Code: http://www. regulations.utah.edu/academics/6-400.html. School of Computing Cheating Policy. The School of Computing has instituted a “two strikes and you’re out” cheating policy, meaning if you get caught cheating twice in any SoC classes, you will be unable to take any future SoC courses. In order to receive a grade in this course, all students must do the following: • Read the School of Computing Cheating Policy. • Sign the Acknowledgment Form, and return this to the SoC front desk (MEB 3190). Note that signing this form only needs to be done once at the department level, so if you’ve done this already for another class, you don’t need to sign this form again. Students with Disabilities. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD). CDS will work with you and the instructor to make arrangements for accommodations.
2
Syllabus. The following topics will be covered. See the course web page for a detailed schedule. • Introduction to Images. Why is image processing important and what are its applications? Image acquisition. Image representation and sampling. Basic operations on images. Sources of image noise. • Image Enhancement. Pixel intensity transformations. Histogram equalization and matching. Introduction to noise removal. Edge sharpening. • Spatial Filtering. Convolution. Image smoothing. Computing image derivatives. • Feature Detection. Detecting edges, corners, and simple curves. • Color Images. Color spaces and conversions. Features in color images. • Spectral Techniques. The Fourier transform. Filtering in frequency space. • Geometric Transforms. Image interpolation and transformation. • Image Compression. Measures of compressed image fidelity. Basic coding techniques. Compression in image file formats. Course Outcomes. At the conclusion of CS 4640 , students should: • Understand the basic principles of image acquisition, sampling, and noise. • Write code to implement pixel operations, histogram operations, and convolution, in order to perform tasks such as brightness/contrast adjustment, noise removal, and edge detection. • Understand the Fourier transform and reason about image filtering operations in both the spatial and frequency domains. • Know the basic image color spaces and relate properties of human color perception to image processing algorithms.
3