CS A485 - Computer and Machine Vision

Class: Wed Lecture Distribution via E-mail (by 5PM Alaska)

Engineering Building, 2nd Floor, Office 227C
Phone: 907-786-6756
Cell: 303-641-3999
E-mail: ssiewert@uaa.alaska.edu

Office Hours:
Mon & Wed @ 1:00-3:30PM
Tues @ 1:00-5:00PM
Or by Appointment (e-mail ssiewert@uaa.alaska.edu)
Please note that all course materials should be consulted on Blackboard at http://uaa.alaska.edu/classes
If for some reason you can't access BB, this page is provided as a backup.

Course Description: An introductory course on computer vision and machine vision. Topics covered include difference between computer and machine vision, image capture and processing, filtering, thresholds, edge detection, shape analysis, shape detection, pattern matching, digital image stabilization, stereo ranging, 3D models from images, real-time vision systems, recognition of targets, and applications including inspection, surveillance, search and rescue, and machine vision navigation.

Important Course Links
  1. REQUIRED TEXT: Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2011. (ISBN 978-1-84882-934-3) author link
  2. REQUIRED TEXT: Gary Bradski, Adrian Kaehler, Learning OpenCV, 2nd Edition, O’Reilly, 2012. (ISBN 978-1449314651) publisher link
Link to Example Media for CS A485
Link to Example Code for CS A485
Grading Policies
Installing and Testing OpenCV on Ubuntu, Python OpenCV Tutorials
NASA Vision Workbench AIA Machine Vision Trade Association Camera Link Specification List of Computer Vision Systems

Syllabus (See Blackboard for Definitive Lab Due Dates and Quizzes)
Week-1 [1/13, 1/15]:

    Read: Computer and Machine Vision (CMV), Chapter 1
    Read: Learning OpenCV, Chapter 1
    Acquire Native Linux or Beagle xM and start to work on setup
    Lecture: Overview of 2D, 3D Passive and 3D Active Computer Vision
    Start Lab #1 - Getting Started with Image Processing

Week-2 [1/20, 1/22] : 

    Read: Computer and Machine Vision (CMV), Chapter 2
    Read: Learning OpenCV, Chapter 2

    Discuss: Chapter 1 of CMV
        Concept of Machine Vision

    Discuss: Lab #1 and any challenges faced in doing the work
    Lecture: Fundamentals of Image and Sequence Capture and Encoding
    Lecture: MPEG I-Frame Encoding
        MPEG Fundamentals
        Concepts of 2D Convolution
        MPEG Order of Operations and Lossy Steps
        Impact to Machine Vision

Week-3 [1/27, 1/29]:

    Read: Chapter 2, 3 & 4 in CV and OpenCV
    Re-Read: Chapter 2 of CV
    Lecture: Frame Capture with Linux
    Lecture: Basic Image Processing with Linux
        Images Encoding (Uncompressed)
	Image Operations and Convolution Transforms (E.g. Point Spread Function)

    Start Lab #2 - Basic CV Interactive and Batch Processing with Linux

Week-4 [2/3, 2/5]:

    Read: Chapter 3 & 4 in CV and OpenCV
    Re-Read: Chapter 3 of CV
    Lecture: Digital Video Encoding with Linux and Radiometry compared to Photometry
    Lecture: 3D Scene Layout Cues, Baic Image Transformations, and Parsin Concepts
        Encoding, Decoding with ffmpeg
        Modifying a set of frames with OpenCV and then encoding
    Class Lab Work: Image and Frame Level Basics on Linux

Week-5 [2/10, 2/12]:

    Read: Chapter 4 in CV and Chapter 4, 7 & 10 of Learning OpenCV
    Re-Read: Chapter 2 of CV
    Lecture: Review of Basic Geometric Transformations and 2D Convolutions
    Lecture: More Advanced 2D Transformations, Histogram Analysis and Tracking Center of Mass
    Read: Catch up on all reading to date as needed.
        Image Filtering and Transformation
        Marking Pixel Center-of-Mass in Frames
        Thresholding and Background Elimination
        Basic Edge Detection Algorithms
        Simple Image Scanning and Analysis
        Sobel Operator
        Finding Bounds and Computing Object CoM
        Outline of Topics to Come

    Start Lab #3 - Histogram Analysis and Bottom-Up Center of Mass Tracker

Week-6 [2/17, 2/19]:

    Study for and Take ONLINE QUIZ on FRIDAY

Week-7 [2/24, 2/26]:

    Re-Read: Chapter 4 of CV and Chapter 6 of Learning OpenCV

    Lecture: Methods toward Segmenting a Scene in an Image
        Canny Algorithm - Improved Edge Finder
        Hough Linear Transform
        Introduction to SIFT

Week-8 [3/3, 3/5]:

    EXAM-1: Chapters 1-4 in CMV and Learning OpenCV

    EXAM ON-CAMPUS BETWEEN 10AM and 1PM ON FRIDAY 3/7 in ENGR 227 or VIA E-MAIL and Blackboard on 3/7 or 3/8 (see instructions on Blackboard)

Week-9 [3/10, 3/12]:


Week-10 [3/17, 3/19]:

    Read: Chapter 5 of CV and Learning OpenCV

    Lecture: Shapes, Skeletal models, Face Detection and Recognition Basics
    Start Lab #4 - Shapes and Recognition (Continuous Transformations for Scene Understanding)

Week-11 [3/24, 3/26]:

    Read: Chapter 6 of CV and Chapter 11 of Learning OpenCV

    Exam-1: Solutions and Overview
    Lecture: Finishing up SIFT and Introduction to Segmentation, Camera Calibration and Feature Alignment Concepts

    Start Lab #5 - Propose and Prototype Real-time Interactive Computer Vision System

Week-12 [3/31, 4/2]:

    Read: Chapter 7 in CV, Chapter 12 in Learning OpenCV (Structure from Motion)

    Lecture:  Computer Vision Programming APIs and Languages
       - C++, Python or Java with OpenCV (Standard Approach)
       - Halide Alternative
       - MATLAB, Mathematica, Interactive Data Language

    Lecture:  3D
       - Revisiting Passive and Active 3D Multi-channel
       - Compare to Structure from Motion Methods for 3D
       - Mehthods for Building Mosaics

Week-13 [4/7, 4/9]:

    Read: Chapter 8 in CV (Dense Motion Analysis)
    Lecture: Video Motion Vectors, Gradients, and Tensor View of Images
    Discussion: Gesture Recognition in Interactive Systems

    Start Lab #6 - Self-Guided Exploration of Computer Vision

    REVIEW for EXAM #2 on 4/14


Week-14 [4/14, 4/16]:

    EXAM-2: Chapters 5 to 8 in CV and 5, 11 & 12 in Learning OpenCV, and Supplemental Materials on Blackboard (Machine Vision)


Week-15 [4/21, 4/23]:

    REVIEW Chapters 1 to 8 in CV and Chapters 1-7 & 10-12 in Learning OpenCV

    Discussion: Pulling it All Together (Toward Real-time Recognition in 3D)
        - 3D Scene Capture to Point Cloud Models
        - Efficiency and Performance Comparison Between Biological and Silicon Systems for Computer Vision
	- Comparison of 3D Model Generation Methods and the CV Turing Test
        - Future of Computer Vision and Exciting Applications 

    Lecture: Review for the Final Quiz

Finals Week [4/30]: