CS A490 - Topics in Machine Vision and Computer Graphics

Class: Tues/Thurs 11:30-12:45 PM, ENGR-109

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

Office Hours: Tues, Wed, Thurs @ 2:30-4:00 PM; Tues, Thurs @ 9:30-11:00 AM
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 graphics 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. The graphics sections of the course are also introductory. Topics covered include both polygon and ray trace rendering of objects in scenes. Render languages and APIs (Application Programming Interfaces) will be covered along with theory for generation of pixel values in a render buffer with consideration of color, lighting, shading, texture, surfaces, hidden surfaces, and materials. The viewpoint, method of projection, and mathematics for rendering and viewing objects will be covered.

Important Course Links
  1. REQUIRED TEXT: Peter Shirley and Steve Marschner, Fundamentals of Computer Graphics, 3rd Edition, CRC Press, 2009. (ISBN 978-1-56881-469-8)
  2. Link to Order REQUIRED TEXT, Computer and Machine Vision, Fourth Edition: Theory, Algorithms, Practicalities by E.R. Davies, from Amazon
Link to Example Media for CS A490
Link to Example Code for CS A490
Grading Policies
Installing and Testing OpenCV on Ubuntu NASA Vision Workbench AIA Machine Vision Trade Association Camera Link Specification List of Computer Vision Systems

Syllabus (See Blackboard for Definitive Copy)
Week-1 [8/28, 30]:

    Read: Fundamentals of Computer Graphics (FCG), Chapter 1
    Read: Computer and Machine Vision (CMV), Chapter 1
    Acquire Beagle xM and start to work on setup
    Lecture: Why Machine Vision is different from Compute Vision and how Both Relate to Computer Graphics
        Fundamental Computer Architecture Related to Graphics and Image Processing
        Multi-Core and Threading - why it is necessary
        How Digital Media and Augmented Reality Combine Graphics and Machine Vision
    Start Lab #0 - Getting Started Image Processing and the Beagle xM

Week-2 [9/6] : 9/4 is a Holiday

    Discuss: Chapter 1 of FCG and CMV
        Concepts of Graphics
        Concept of Machine Vision
    Discuss: Lab #0 and any challenges faced in doing the work

Week-3 [9/11, 13]:

    DUE: Lab #0 FIRST DRAFT via e-mail to instructor before class on 9/11
    Discuss: iGPU and dGPU Memory access and which is more efficient 
    Read: Chapter 3 of FCG (Skip Chapter 2)
    Read: Chapter 2 & 3 in CMV
    Lecture: on Basic Image Processing and
        SIMD and Vector Processing - Flynn's Taxonomy
        Images Encoding (Uncompressed) and Image Operations
        Image Filtering and Transformation
        Graphics Pipeline Concepts - Rendering, Shading, Texture
        Graphics Raster Images - Any difference between Rendered and Camera Images?
    Discuss: Lab #0 on 9/13 and FCG Chapter 2, CMV Chapters 2 & 3
    Start Lab #1 - Basic Image Processing on the Beagle xM
    DUE: Lab #0 on 9/14 @ Midnight

Week-4 [9/18, 20]:

    Class Lab Work: Getting the Beagle xM Read for Machine Vision and Graphics and some hands on examples
        Encoding, Decoding with ffmpeg
        Modifying a set of frames with CG and then encoding
    Class Lab Work: Image and Frame Level Basics on Linux
    DUE: Lab #1 on 9/21 @ Midnight

Week-5 [9/25, 27]:

    Read: Catch up on all reading to date as needed.
    Lecture: Basics of Video Encoding and Integrating Simple Graphics Markers
        MPEG Fundamentals
        Marking Pixel Center-of-Mass in Frames

    Start Lab #2 - Finding and Marking Pixel Center of Mass - Integrating Graphic Markers with Digital Video

Week-6 [10/2, 4]:

    Lecture: Lossy Steps in MPEG Encoding and Impact on Machine Vision with Digital Video
        MPEG Order of Operations and Lossy Steps
        Impact to Machine Vision
        Outline of Topics to Come
    Class Lab Work: Host Linux and Embedded Focus on Frame Transformation, Basic Decode and Encode skills with ffmpeg

Week-7 [10/9, 11]:

    Read: Chapter 4 of FCG and CMV
    Lecture: Methods toward Segmenting a Scene in an Image
        Thresholding and Background Elimination

    DUE: Lab #2 on 10/12 @ Midnight
    Start Lab #3 - Tracking Center of an Object in a Scene Using Simple Algorithm

Week-8 [10/16, 18]:

    EXAM-1 on 10/16: Chapters 1-4 in CMV, and Chapters 1,3,20,21,22 in FCG

    Read: Chapter 5 of CMV
    Lecture: Edge Detection and Segmentation of Objects for Centroid Tracking
        Edge Detection Algorithms
        Simple Rastering
        Sobel Operator
        Canny Algorithm
        Finding Bounds and Computing Object CoM

Week-9 [10/23, 25]:

    Class Lab Work: Segmentation and Tracking Objects
    DUE: Lab #3 @ Midnight on 10/26

Week-10 [10/30, 11/1]:

    Read: Chapter 4 of FCG
    Lecture: Introduction to Ray Tracing
    Start Lab #4 - Rendering with Ray-Tracing
    Class Lab Work: Ray Tracing and Rendering on Linux
    Read: Chapter 13 of FCG - More on Ray Tracing

Week-11 [11/6, 8]:

    Read: Chapters 9 of FCG (More in-depth on Convolution) and Chapter 9 & 10 in CMV (Boundary and Shape Analysis)
    Lecture: Shapes, Skeletal models (e.g. Kinnect)
    Discussion: Gesture Recognition in Interactive Systems
        Leap Systems
        MS Kinect

Week-12 [11/13, 15]:

    11/13 - Guest Lecture, Dr. Randy Moulic
    Read: Chapter [17] & 18 of CMV

    11/15 - REVIEW for EXAM #2 on 11/20

    DUE: Lab #4 @ Midnight on 11/16

Week-13 [11/20]: 11/22 is a Holiday

    EXAM-2 on 11/20: Chapters 4, [9] & 13 in FCG, and Chapters 9, 10 & 18 in CMV

Week-14 [11/27, 29]:

    Read Chapter 11, 12 & 13 of CMV

    Lecture: Shapes and the Hough Transform
        Arbitrary Shapes        

    Discussion: Interactive Systems and Augmented Reality
        Leap Systems
        MS Kinect
        Metaio on Android and iOS
        Qualcomm Vuforia

    Start Lab #5 - Exploration of Motion Video: Tracking Arm/Hand and CG Stick Rendering

Week-15 [12/4, 6]:

    Read Chapter 19 & 24 of CMV

    Discussion: Pulling it All Together (Toward Real-time Recognition and Inverse Graphics)
        Concepts Behind Pixel Motion
        How Invariants Help with Recognition
        Theory of the ROC (Receiver Operator Curve)
        SIFT - Scale Invariant Feature Transform

        3D Scene Capture to Virtual Environment (Stereo Mapping)
        IC-CRIME at NC State
        Unity3D Game Engine
        DeltaSphere Laser Scanner

    Lecture: Review for the Final Exam

    DUE: Lab #5 @ Midnight on 12/7

Finals Week [12/10, 15]: