Computer Vision Applications

The University of Texas at Austin
Computer Science Department

Computer Science 376
Computer Vision

Spring 2019


General Information:

Time: Mondays and Wednesdays 3:30PM-5:00PM
Place: JSB 2216
Instructor: Qixing Huang
Office hour: Fridays 3pm-5pm at GDC 5422.

Introduction:

This is an intro course in computer vision. It is intended for upper-level undergraduate students.

Computer vision is an interdisciplinary field that deals with how computers can achieve high-level understanding from digital images or videos. From the practical perspective, it seeks to automate tasks that the human visual system can do. Popular computer vision tasks are concerned with the automatic extraction, analysis and understanding of useful information from a single image or a sequence of images. As a scientific discipline, computer vision is concerned with the theory behind artificial systems that extract information from images. The image data can take many forms, such as video sequences, views from multiple cameras, or multi-dimensional data from a medical scanner.

After covering the fundamentals for image processing, grouping, and multiple view geometry, we will emphasize machine learning-based methods, especially for supervised learning and classification. While we will motivate the concepts from the vision problems, the learning algorithms we will study are also useful tools for many other problems and beyond.

Prereqs:

Basic knowledge of probability and linear algebra; data structures, algorithms; programming experience. Previous experience with image processing will be useful but is not assumed.

Assignments will consist largely of Matlab programming problems. There will be a warm-up assignment to get familiar with basic Matlab commands. We will recommend useful functions to check out per assignment. However, students are expected to practice and pick up Matlab on their own in order to complete the assignments. The instructor and TAs are happy to help with Matlab issues during office hours and via Piazza.

If you are unsure if your background is a good match for this course, please come talk to the instructor.

Textbooks:

The course textbook is:

  • Computer Vision: Algorithms and Applications, by Rick Szeliski.
  • It is freely available online or may be purchased in hardcopy. Course lecture slides will be posted below and are also a useful reference.

    You may also find the following books useful.

  • Computer Vision: A Modern Approach, David A. Forsyth and Jean Ponce
  • Computer Vision, Linda G. Shapiro and George C. Stockman
  • Introductory Techniques for 3-D Computer Vision, Emanuele Trucco and Alessandro Verri
  • Multiple View Geometry in Computer Vision, Richard Hartley and Andrew Zisserman
  • An Invitation to 3D Vision, Yi Ma, Stefano Soatto, Jana Koseck√° and S. Shankar Sastry
  • Deep Learning, Ian Goodfellow, Yoshua Bengio and Aaron Courville

  • Schedule (Subject to Change):

    Date Topics Reading Notes
    January 23th Introduction A0 out, due Tues Jan 28th
    January 28th Linear filters
    January 30th Gradients, edges A1 out, due Friday Feb 15th
    Feburary 4th Binary image analysis
    Feburary 6th Texture
    Feburary 11th Optical flow
    Feburary 13th Hough transform
    Feburary 18th RANSAC+Robust Fitting A2 out, due Friday Mar 8th
    Feburary 20th Active Contours
    Feburary 25th Segmentation I
    Feburary 27th Segmentation II
    March 4th Local invariant features: detection
    March 6th Local invariant features: description and matching Practice midterm handout in class
    March 11th Structure from Motion
    March 13th Midterm
    March 25th Structure from Motion A3 out, due Wednesday April 10th
    March 27th Stereo I
    April 1st Stereo II
    April 3rd Visual Recognition Overview
    April 8th Machine Learning Basics
    April 10th Deep Learning Basics A4 out, due Wednesday April 24th
    April 15th Semantic Segmentation
    April 17th Object Detection
    April 22th Instance Segmentation
    April 24th Monocular Reconstruction A5 out, due Wednesday May 6th
    April 29th 3D Representations
    May 1st 3D Understanding I
    May 6th 3D Understanding II
    May 8th Course wrap-up and applications


    Course requirements:

    Assignments: Assignments will be given approximately every two weeks. The programming problems will provide hands-on experience working with techniques covered in or related to the lectures. All code and written responses must be completed individually. Most assignments will take significant time to complete. Please start early, and use Piazza and/or see us during office hours for help if needed. Please follow instructions in each assignment carefully regarding what to submit and how to submit it.

    Extension policy: If you turn in your assignment late, expect points to be deducted. Extensions will be considered on a case-by-case basis, but in most cases they will not be granted. The greater the advance notice of a need for an extension, the greater the likelihood of leniency. For programming assignments, by default, 10 points (out of 100) will be deducted for lateness for each day late. We will use the submission program timestamp to determine time of submission. One day late = from 1 minute to 24 hours past the deadline. Two days late = from 24 hours and 1 minute to 48 hours past the deadline. We will not accept assignments more than 4 days late, or once solutions have been discussed in class, whichever is sooner.

    Exams: There is an in-class midterm and a comprehensive final exam. Both exams will be offered at the listed time only. The registrar will set our final exam date, which according to the published UT academic calendar could be as late as May 15 this year. Please account for this when making your summer plans. Neither exam will be offered at a different time to accommodate personal travel plans, internship start dates, interviews, etc.

    Participation/attendance: Regular attendance is expected. If for whatever reason you are absent, it is your responsibility to find out what you missed that day. Note that attendance does factor into the final grade. (See Section II of the UTCS Code of Conduct regarding attendance expectations.)

    General responsibilities: Beyond the above, your responsibilities in the class are:

  • Come to lecture on time.
  • Check the class webpage for assignment files, notes, announcements etc.
  • Use Piazza for class-related discussion and assignment help (no spoilers, please!).
  • Complete the readings prior to lecture. The reading assignments listed on the schedule should be read before the associated class lecture.
  • Please do not use a laptop, cell phone, tablet, etc. during class.
  • Please read and follow the UTCS Code of Conduct.

  • Important Dates

    Please note the following important dates and deadlines.

  • A0 due Tues Jan 23
  • A1 due Fri Feb 9
  • A2 due Fri Mar 2 (tentative)
  • Midterm exam Thurs Mar 8 (in class, tentative)
  • A3 due Fri Mar 30 Tues April 3 (tentative)
  • A4 due Tues April 17 (tentative)
  • A5 due Tues May 1 (tentative)
  • Last class meeting Thurs May 3
  • Final exam: TBD. The exam is given during the normal final exam period and will be offered at that time only. See above.
  • Assignments are due about every two weeks. The assignment deadlines below are tentative and are provided to help your planning. They are subject to minor shifts if the lecture plan needs to be adjusted slightly according to our pace in class.