CAS CS 585 Image and Video Computing - Fall 2014

Course Info - Course Objectives - Course Materials - Grading Policy - Collaboration and Academic Integrity
Help - Course Schedule - Labs - Assignments - Computer Vision Companies


Lectures: Tuesday, Thursday 12:30 pm - 2:00 pm in MCS B33
Instructor: Prof. Margrit Betke
Teaching Assistant: Ajjen Joshi
Class web page:
http://www.cs.bu.edu/faculty/betke/cs585
Class mailing list:
cascs585a1-l@bu.edu
Contact Information:

Staff Email Phone Office Hours / Homework Demo Hours Office
Margrit Betke betke @ cs.bu.edu 353-8919   Tuesdays 2-4:00 pm and 1 h TBA,
and by appointment  
MCS 286  
Ajjen Joshi ajjendj @ bu.edu Please email Mondays 3.30-4.30pm and Fridays 1.00-2.00pm, 3.00-4.00pm
and by appointment  
Undergrad CS Lab,
730 Commonwealth Ave  

Seeing Me in My Office:
Please feel free to stop by my office anytime. My office is in MCS 286 (111 Cummington Mall). I am generally around every day, but often in meetings, so the best time to reach me is during office hours. You can also make an appointment by email. I'm happy to talk with you about the course, computer vision research, your plans for the future, or anything else. Check out my personal web page to get to know me a little.

Teaching Fellow Responsibilities:
Ajjen is responsible for teaching the Laboratory section, helping you out during his office hours, and grading of the homework (or managing graders). Please talk to Ajjen if you have questions about your homework grades.


Course Objectives

Our goal is to build computer systems that analyze images automatically and determine what the computer "sees" or "recognizes." The course gives you a fundamental introduction to computer vision methods. Applications include human-computer interfaces, face detection, medical image processing, infrared image analysis of animals, and vision systems for intelligent vehicles.

Prerequisites: 1 year programming experience (e.g., C++ or Java at CAS CS 112 level), linear algebra or geometric algorithms, and calculus.


Course Materials

Handouts: The updated course syllabus and most handouts are made available online. Check our course web page at least once a week for homework assignments and other information.

Textbook: I recommend some chapters in Robot Vision by BKP Horn, MIT Press. The book is not required. I will propose alternative reading material, and I will place the book on reserve in the Science Library.

Computing Environment: You will use one of the Computer Science Department's servers csa2.bu.edu or csa3.bu.edu, to download code and submit programming solutions.

To get an account, go to the Computer Science Department's Undergraduate Lab located at 730 Commonwealth Ave. You can work on various platforms in the Lab there, use the cameras, and have immediate access to the computing staff. You can also access the servers remotely using scp and ssh.


Grading Policy

Homework: The homework includes bi-weekly programming, reading assignments, and problem sets. The due dates are listed below. Programs and reports must be submitted electronically. Solutions to problem sets must be submitted in class. They do not need to be typed but should look professional, in particular, write legibly and leave a margin for grading comments.

Guidelines for submission are provided with each assignment. Late solutions will be levied a late penalty of 20% per day (up to three days). After three days, no credit will be given.

You must demo your bi-weekly programming projects and your final class project to the grader within one of the offered time slots in order to receive full credit for your project submission. A signup sheet with available demo times will be circulated during class before the due date.

Your electronic project submission should include detailed instructions for compiling and setting up your program. The grader will recompile your program and test it on your input videos.

Project: Please read the project guidelines. You can propose your own project topic or use one of my project suggestions. I will discuss your project's scope, design, and presentation with you in my office hours and provide guidance throughout the semester. You may work in a group. You will be asked to select a project topic by the middle of the semester and present the final project in class at the end of the semester. Here will be the project schedule.

Computer Vision Talks: Students are strongly encouraged to attend the Image and Video Computing talks (Mondays 2-3 pm, MCS 148) and the CS Department Colloquia (typically Wednesdays 11-12 or 3-4 pm, MCS 148) on course related topics.

Class Participation: Come to class and participate regularly. Reading the textbook and listening in class will only give you a "passive understanding" of the material. I encourage discussions in class to help you acquire an "active understanding" of the material so that you can evaluate existing computer vision techniques critically and develop your own creative solutions. I may give a short (announced) quiz so that shy students have a chance to discuss a topic in written form.

Take-Home Exam: There will be one take-home exam on the material discussed in the class and practiced with homeworks. To prepare for the exam, come to class, participate in our discussions, and keep up with homework assignments. There will not be a final in-class exam.

Grading Policy: Your final grade will be determined roughly as follows:


Collaboration and Academic Integrity

You are encouraged to collaborate on the solution of the homework. If you do, you must acknowledge your collaborators. Each student must submit his or her own electronic version of the solutions. You can request an exception to this rule for your final project. If you use algorithms or code that are not your own original work and that were not provided in class or discussed in the textbook, you must give a detailed acknowledgment of your source .

You are not allowed to collaborate on the solution of the take-home exam. Sources must be acknowledged.

Cheating and plagiarism are not worthy of Boston University students. I expect you to abide by the rule stated above and the standards of academic honesty and computer ethics policy described in http://www.bu.edu/computing/ethics/ and http://www.bu.edu/academics/policies/academic-conduct-code


Help

Image and Video Computing is an elective course that will introduce you to an exciting topic in computer science. It should be fun and not too much of a struggle for you. Make sure that you have had the prerequisites. Depending on your level of programming experience and/or mathematics background, the course may be challenging for you. If you do not understand the material, ask for help immediately. Ask questions in class. If one student is confused about something, then maybe others are also confused and grateful that someone asked. Come and see me or the TF for help or send us email. Our task is to help you learn a very interesting topic!

You may also ask help from graduate students who are tutors in the undergraduate laboratory. Many of them have expertise in image and video computing. The names of tutors and their hours are listed on the Tutoring Schedule.

Course Schedule

Date Topics Readings Assignments
9/2 Course Introduction: Why study IVC? Image Formation, Image and Video Formats, Color. Lecture 1 links and Wiki Intro or Horn Ch. 1.  
9/4 Representations of object location, image projections, template matching, the flood fill algorithm, background differencing. Skin-based face detection. Image Pyramids. Handout of slides. Wiki on template matching A1 out
9/9-11 Similarity Functions (SSD, NCC), Binary Image Analysis: Moments, Orientation, circularity measure. Motion: Template-based Tracking. Wiki on Normalized correlation, Freeman et al. 9/9: A1 due. 9/12: A1 graded.
See results.
9/16-18 Binary Image Analysis: Circularity measures, distance measures. ROC analysis. Tumor Detection in Computed Tomography Images. Neighborhoods, Multiple Component Labeling. Human Computer Interfaces for People with Disabilities. Inspection, Virtual Colonoscopy
Horn Ch. 3, Fawcett (ROC analysis), Image Moments, Hu Moments, Hausdorff distance. Binary Image Analysis. Border following algorithm. A2 out.
9/23-25 Morphology. Thinning and Swelling, Circuit Board Inspection, Object Skeletons. Segmentation: Thresholding techniques, Region Merging, Splitting, and Growing, Region Representations. Horn Ch. 4, Morphology, Erosion, Skeleton, Euler number. Thresholding, Segmentation (not all covered). Handout on Region Segmentation. Optional: Wang et al. 2005. 9/23: A2 due. A3 out.
9/30-10/2 Medical Image Databases. Image Smoothing, Edge Detection. Lung Fissure Detection. Active Contours. Petrakis and Faloutsos, 1997, Wiki on: Edge Detection, Sobel, Prewitt, Roberts, Mexican Hat, Difference of Gaussians, Canny Edge Detector. Curve Growing for Lung Fissure Detection. Williams and Shah, 1992: paper, figures, and lecture. 9/30 A2 graded. A2 results.
10/7 Tracking Methods and Applications: Tracking Groups of Animals
Last day to drop class (without a 'W' grade), Monday, 10/6/2011.
Censusing Millions of Bats. 10/7: A3 due. Project proposals (P1) out.
10/9 Tracking with Alpha-beta Filter, Kalman Filter
No class on Tuesday, October 14 (Monday schedule).
Alpha beta filter, Kalman filter. A4 out. 10/16: A3 graded. See results
10/16, 10/21-23 Multiple Object Tracking and Data Association. Optical Flow. Horn-and-Schunk Algorithm. Optical Flow, Horn 81 10/21: A4 (written) due. 10/24: A4 graded. See results
10/28-30 Structure from Motion. Rotation. Recovering Motion, Horn 88 10/27: A4 (programming) due. 10/28: Project proposals (P1) due in class, Project assignment (P2) out.
10/30: Project proposal feedback (P1).
11/6-8 Absolute Orientation in 2D. Lung Nodule Registration. Quaternions, Absolute Orientation in 3D. In Lab: Feature-based Detection (SIFT),
Friday, 11/7/2011: Last day to drop class (with a 'W' grade).
Absolute Orientation, Horn 89, Wiki on SIFT. Paper on SIFT. Work on your projects.
11/11-13 Iterative Closest Point Algorithm. Lung Surface Alignment. Stereoscopy, relative orientation, calibration. Besl and McKay, 1992. Ko and Betke, 2001. Betke, Hong et al., 2003 Work on your projects.
11/18, 20, 25 Epipolar geometry, binocular stereo. Image formation: Lenses, Shading, Lambert's Law, Phong's Model. Theriault et al., 2014. Wiki on Lambert's law, Lambertian reflectance, Phong's model. Horn papers (or Chs. 10, 11, 17). 11/18: Exam out. 11/25: Exam due.
11/26-30 Thanksgiving Recess    
12/2 Photometric Stereo, Shape from Shading. Horn papers. 12/2: A5 out.
12/4, 5, 9 Student Projects: Guidelines, Topics, Schedule   12/4: Projects (P2) due, 12/9: A5 due.

Labs

Assignments

The assignments will have some programming components and some paper-and-pencil exercises. The links will became active when assignment is announced.

There will be two assignments that relate to your projects (P1 and P2). For project ideas, check here.

(Potential) Topics:

Exam

The take-home exam is due on Tuesday, November 20, in class. It is not available electronically. Make sure to come to class on Tuesday, November 13, to receive a copy.

Computer Vision Links

Check out http://www.cs.bu.edu/faculty/betke/links.html if you need additional ideas for your class project, if you are looking for a job in computer vision (list of companies), or if you are interested in computer vision research. You will find a list of links to computer vision conferences, journals, research groups, and companies.

Calculus Background

I do not expect you to have a background multivariate calculus. I will introduce the tools we will need. You may find the first few chapters of these notes by Cain and Herod useful, in particular, partial derivatives, Taylor polynomial, Multivariate Taylor polynomial.

Margrit Betke, Professor
Computer Science Department
Boston University
111 Cummington Mall (campus map)
Boston, MA 02215
Email: betke @ cs.bu.edu
URL: http://www.cs.bu.edu/faculty/betke
Phone: 617-353-8919
Fax: 617-353-6457

Last updated: September 9, 2014