CS510: Image Computation
Bruce [email protected]
(970) 491-7873Room 442, CSB
www.cs.colostate.edu/~cs510
CS Stage 1• Text based
computing– Manual data
entry, – command-line
interfaces, etc.
Image from Wikimed ia Commons
CS Stage 2Image Output (graphics on screens)
– Gaming computers (e.g. Xbox)– Window-based operating systems– Applications: Maps, YouTube, etc.
Image from Wikimed ia Commons
Context: CS Stage 3Image Input (cameras everywhere)
– Gaming (e.g. Kinect)– Security (e.g. Face rec., Activity rec., etc.)– Ubiquitous Computing (e.g. Self-driving cars)
Image from Wikimed ia Commons
Course Goals
• Prepare students for graduate level research in computer vision – Note: no one on the current CSU faculty does
(or advises) Ph.D. level research in graphics.
• Prepare students to integrate vision into new applications (Stage 3!)
Prerequisites• You are assumed to know:
1) Homogeneous coordinates 2) 2D & 3D transformations 3) Perspective projection5) Pin-hole camera models6) Reflectance models
• Basics will be reviewed – but quickly.
Main focus areas for CS 510
1. Images & Videos
2. Pattern Matching
3. Feature Matching
4. Visual Learning
Textbooks• This course does not closely follow any text• We will mostly use Rick Szeliski’s text
– http://szeliski.org/book– free & online
• We will also use CVOnline– http://homepages.inf.ed.ac.uk/rbf/CVonline/– Free & online, but less well structured/edited
• Occasional reference Shapiro & Stockman’s text– Outdated, but good on basics– https://courses.cs.washington.edu/courses/cse576/99
sp/book.html
Requirements• Four programming assignments (70%)
– A “warm up” assignment (worth 10%)– 3 “major” assignments (worth 20% each)
• The assignments build on each other• You may use previous assignments by your team or other teams
– In C++ or Python• We will be reliant upon OpenCV
• Midterm & Final (15% each)– One hour each– Non-cumulative– Test material that is not well covered by assignments
• Class Participation 0% -- but I notice
Programming Assignments• Programming assignments are “research-y”
– Done in (small) teams (2 or 3)– I provide a general goal
• e.g. “change detection”• Related to one or more lecture topics
– You write up specific goal (1st deadline)• E.g. “we will use technique X to attempt Y in video Z,
and evaluate it according to A, B & C”– You write up description (2nd deadline)
• Similar to goal (but more specific, with mods)– You write up evaluation (2nd deadline)
• How well did it work?
Exception : warm-up assignment
• The point of the 1st warm-up assignment is to get over procedural hurdles– Get your team together– Learn to use OpenCV– Find where the data lives
• Only 1 deadline for this assignment
Class Slides
• Class slides (lectures) will be available on the class web page.
• The class web page is a general source of useful information, including links to interesting computer graphics and/or computer vision web sites:
• http://www.cs.colostate.edu/~cs510
Class Web Site Applications• Image Search (Google)• Face Recognition in Social Networks
(Facebook)• Product Recognition (Amazon)• Self-driving Cars (Google, BMW, Delco,…,
Apple?)• Immigration Control (Australia, UAE)• ??? (military)
Spring 2016 Application
• You will build an action recognition system– Consume video from an arbitrary fixed
camera– Detect & track moving objects – Classify object based still image frames– Classify actions based on video snippets
Spring 2016 Application