Intro to Computer Vision and Machine Learning ARTTECH 3039
- Semester, Year
- Summer, 2019
- Meetings
- (-001) Daily 9am-4:30pm
- Meeting Location
- (-001) MacLean 401
- People
- Instructor: Christopher Baker
- Canvas
- https://saic.instructure.com/courses/2535662
- General Code Discussion (Public)
- https://ats.community/
- Class Website
- http://saic-ats.github.io/ARTTECH-3039/
- Course Repository (code examples, etc)
- https://github.com/SAIC-ATS/ARTTECH-3039/
- Course Assignments
- https://github.com/SAIC-ARTTECH-3039-5039
- Course openFrameworks Addon
- https://github.com/SAIC-ATS/ofxARTTECH-3039
Bios
Christopher Baker is an artist whose work engages the rich collection of social, technological and ideological networks present in the urban landscape. He creates artifacts and situations that reveal and generate relationships within and between these networks. Christopher’s work has been presented worldwide and he contributes to the open source community at http://github.com/bakercp.
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, facial recognition and gesture analysis using RGB+D and LiDAR sensors, artificial intelligence and machine learning will be emphasized. 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
- Working and applied knowledge “classical” computer vision techniques.
- Working and applied knowledge of modern computer vision techniques that leverage machine learning.
Course Values
Methodology
Students will engage in individual in-lab and (some) 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:30 : Open Studio (Homework, Projects, Discussion, etc).
Assignments
The first 66% 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. The last 34% of the course is focused on integrating these techniques, technologies and critical discussions with your existing creative / research practice.
We will be doing most of our work in C++ with openFrameworks. Most modern computer vision and machine learning tools are built with C++ at their core. That said, many online examples use Python to interact with the same code. We will primarily focus on well-documented libraries that well-documented and easily compatible with openFrameworks (e.g. OpenCV and dlib).
Class Text(s)
There is no single class text, though there are several online books (and available for purchase) that we’ll reference on occasion.
- openFrameworks
- Collaboratively Written. ofBook
- Computer Vision
- Machine Learning
Reading and other Resources
Posted on the course website.
Materials
Provided by the student as needed.
Attendance
- Students are best served by attending all classes.
- Missing three classes will result in a class failure. This is strictly enforced.
- Six or more unexcused late arrivals or early departures will result in class failure.
Tip: If you are going to be absent, late to class, or need to depart early, please contact me BEFORE class starts. This is so I can make sure you have what you need to succeed!
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: 30% participation (discussions, critiques, etc), 70% projects / assignments.
- Incomplete grades will not be offered.
Writing Assistance
Writing Center
Learning Resources
Disability and Learning Resource Center
Study Sessions
- Students are encouraged to form a study group to meet and work on the homework.
- The TA will be available during TA office hours (TBA).
Course Schedule
(subject to change based on incoming skills and experience)
Session 00 (001: 29 Jul 2019)
- Creative Code Crash Course Part 1 + Getting Started with Computer Vision
Session 01 (001: 30 Jul 2019)
- Creative Code Crash Course Part 2 + Intro to Applied Linear Algebra
Session 02 (001: 31 Jul 2019)
Session 03 (001: 01 Aug 2019)
Session 04 (001: 02 Aug 2019)
- Intro to Machine Learning: Classification, Differentiation and Object Detection
Session 05 (001: 05 Aug 2019)
- Training a custom Convnet - Forward and Reverse Image Search
Session 06 (001: 06 Aug 2019)
- Training and Transfer Learning with CNNs
Session 07 (001: 07 Jul 2019)
- Image Generation with Pix2Pix
Session 08 (001: 08 Aug 2019)
- Image Generation with GANs
Session 09 (001: 11 Jul 2019)
Session 10 (001: 12 Aug 2019)
Session 11 (001: 13 Aug 2019)
Session 12 (001: 14 Aug 2019)
Session 13 (001: 15 Aug 2019)
Session 14 (001: 16 Aug 2019)