cvml-saic

Syllabus

Intro to Computer Vision and Machine Learning ARTTECH 3039

Semester, Year

Spring, 2020

Meeting Times

Thursday 9am-4pm

Meeting Location

MacLean 401

Instructor

Doug Rosman
dougrosman.com
drosman@saic.edu

TA

Sal Moreno
smoreno4@saic.edu

Course website

https://dougrosman.github.io/cvml-saic
All course material including assignments, weekly code exercises, in class resources, etc. will be posted on the class website, NOT on Canvas

Canvas

https://saic.instructure.com/courses/2645666
Please make sure you are able to receive Canvas notifications. I will be posting announcements through Canvas to reach the entire class

Slack channel

cvmlsp20.slack.com
The Slack channel exists as a class community resource. Post code/general questions, resources, or whatever cool stuff you find

Course Description

Computer vision allows machines to see and understand their environment. This course will equip students with the practical skills and critical theory needed to both employ and critically engage these techniques. Real-time body tracking, object and facial recognition, and gesture analysis. Artificial Intelligence and machine learning will be emphasized. Machine learning applications related to text and sound and reinforcement learning will also be discussed, although in-class exercises will not focus on them.

Students will explore and critique contemporary applications ranging from automated mass surveillance to interactive installations. A final project will build on in-class workshops, technical exercises, critical readings and discussions.

Course Goals

Course Values

Methodology

Students will engage in individual in-lab and home assignments, class presentations, lectures, discussions, assigned readings, group and individual projects and desk critiques. Visiting artists / faculty may enhance the experience and offer additional perspectives.

Class Structure (Typical)

9:00 - 9:30 : Look at new artists, catch up on the week’s CV/ML headlines.
9:30 - 10:15 : Lecture Part 1.
10:15 - 10:30 : Break
10:30 - 12:00 : Lecture Part 2.
12:00 - 01:00 : Lunch
01:00 - 02:30 : Hands-on Workshop.
02:30 - 02:45 : Break
02:45 - 04:00 : Open Studio (Homework, Projects, Discussion, etc).

Assignments

The first 10 weeks of the course will be built on well-constrained code-based assignments. These assignments have clear goals and are intended to build confidence and code competency:

Creative Coding Tools

We will be doing most of our work with P5.js on the web, with potential for some Processing and C++/openFrameworks. While many modern computer vision and machine learning tools are built with C++ at their core, many powerful creative tools have become available that allow web-based applications to utilize computer vision and machine learning techniques.

Open source tools available online use a variety of coding languages and frameworks. Students are encouraged to find tools outside of what is introduced in class when composing final projects.

Class Text(s)

There is no single class text, though there are online books, guides and articles we’ll reference throughout the semester.

Computer Vision

Machine Learning

End of semester exhibition (tentative)

Depending on availability, final projects will be included in an exhibition at the end of the semester.

Materials

Some machines are available in the classroom for deep learning projects, but students should bring their personal devices to complete their assignments. Peripheral devices (webcams, Kinects, etc.) are available to check out from the ATS tech room.

Attendance

Wait Lists

Students wait-listed for classes will be admitted on a space available basis determined by instructors’ discretion (in consultation with the department chair).

Grading Procedure/Criteria

Grades are credit / no-credit for this course. Credit is based on several factors:

Writing Assistance

Writing Center

Disability and Learning Resource Center

Disability and Learning Resource Center

Study Sessions/Tutor hours

Based on class availability, I plan to be available once a week for a couple hours to help reinforce in-class concepts. I will not be providing homework answers in these sessions. Please attempt the homework before attending these sessions. Students are encouraged to work together on homework assignments.

Course Schedule

(subject to change based on incoming skills and experience)

Session 01 (01.28.2020) - Introduction

Session 02 (02.04.2020) - Computer Vision/Creative Code Basics

Session 03 (02.11.2020) - Computer Vision/Creative Code Basics II

Session 04 (02.18.2020) - Graphics/3D basics/physics

Session 05 (02.25.2020) - Intro to machine learning

Session 06 (03.03.2020) - Dimension Reduction and Visualization

Session 07 (03.10.2020) - Recognition

Session 08 (03.17.2020) - Image synthesis I

Session 09 (03.24.2020) - Image synthesis II

Session 10 (03.31.2020) - NO CLASS - CRITIQUE WEEK

Session 11 (04.07.2020) - Open studio

Session 12 (04.14.2020) - Open studio

Session 13 (04.21.2020) - Open studio

Session 14 (04.28.2020) - Critique day

Session 15 (05.05.2020) - Documentation day

Prerequisites

Knowledge of basic coding tools is strongly encouraged, but not required for this course. This includes the following:

Familiarity with the Command Line

Familiarity with Git / Github