Cameras and computers are everywhere. Can
we make computers see? Can we make computers respond to our
behavior? Automated sensing by computers is a key element in
ubiquitous computing. Similar to the importance of vision in
humans, cameras are the most eminent sensors computers may
have. By using cameras, computers can interact with people,
inspect and monitor various processes, and identify people and
behavior. Computer vision is a rapidly evolving field of study
in computer science which is facilitated by recent years
developments in computing hardware. Advanced computer hardware
is now a standard component in off the shelf PCs, and digital
cameras are cheap and abundant. The consequence of which is a
surge in graphics and imaging applications. Computer vision
aims at the analysis of the real world based on images
captured by one or more cameras or similar sensory data for
various purposes. Such analysis is a common practice in
industrial, medical, military, and scientific applications
such as product inspection and quality control, surveillance
and monitoring, automated recognition of objects, robot
guidance, human motion tracking, document/handwriting
analysis, and augmented and virtualized reality. Topics to be
covered by the cs512 course in this semester include: overview
of computer vision and related areas, extraction of features
from images, probabilistic modeling in images, camera
calibration, epipolar geometry estimation, statistical
estimation, model reconstruction from images, statistical
filtering and tracking in video sequences, motion estimation
in video sequences, optical flow, and object recognition. The
course serves as a good starting point for graduate students
interested in getting acquainted with the area of computer
vision as well as for students interested in pursuing the area
of visual computing in greater detail. The course assumes a
basic knowledge of calculus and linear algebra and some
programming experience. Programming assignments in the course
will use the OpenCV standard to support capturing and
manipulation of images and videos. For further details please
refer to the course website or contact the course instructor.
Ying Chen,
Lawrence Amadi
SB-110, x7-5705
Office hours:
CS-512-01: (SB-104)
CS-512-02: (Internet)
CS-512-03: (Internet)
Class hours:
Tuesday, Thursday
5:00-6:15pm
Computer vision can be covered at different levels. The
focus of this course is the understanding of algorithms and
techniques used in computer vision. Students in the course
are expected to write computer programs implementing
different techniques taught in the course. The course
requires mathematical background and some programming
experience. This course does not
intend to teach how to use a specific application
software.
component
|
description
|
weight
|
participation
|
up to 4 unjustified missed
classes and all quizes ⇒
full credit
|
5%
|
assignments
|
5 TBD
|
25%
|
project
|
presentation (5%) project
(15%)
|
20%
|
midterm exam
|
open notes (1 double sided
8.5x11" page)
|
10%
|
final exam
|
open notes (2 double sided
8.5x11" pages)
|
40%
|
total
|
|
100%
|
class | date | topic | assignment |
1 | 08/21 | Introduction | AS0 |
2 | 08/23 | ||
3 | 08/28 | Geometric image formation | |
4 | 08/30 | ||
5 | 09/04 | Filtering | AS1 |
6 | 09/06 | ||
7 | 09/11 | ||
8 | 09/13 | Feature detection | |
9 | 09/18 | ||
10 | 09/20 | AS2 | |
11 | 09/25 | Object recognition | |
12 | 09/27 | ||
13 | 10/02 | Midterm
exam 5-6pm (SB104) |
|
14 | 10/04 | ||
15 | 10/09 | Camera calibration | PROJ |
16 | 10/11 | ||
17 | 10/16 | ||
18 | 10/18 | Multiple view geometry | AS3 |
19 | 10/23 | ||
20 | 10/25 | ||
21 | 10/30 | ||
22 | 11/01 | Motion and tracking | AS4 |
23 | 11/06 | ||
24 | 11/08 | ||
25 | 11/13 | ||
26 | 11/15 | Project presentations | AS5 |
27 | 11/20 | ||
28 | 11/22 | No class (Thanksgiving) | |
29 | 11/27 | ||
30 | 11/29 | ||
31 | 12/04 | Final
exam 5-7pm (SB104) |
Videos of lectures are available through blackboard
Topic | Reading |
Introduction to computer vision | Ch. 1 |
Image formation |
Ch. 2 |
Filtering | Ch. 3 |
Feature detection |
Ch. 4 |
Segmentation | Ch 5 |
Camera calibration |
Ch. 6 |
Epipolar geometry |
Ch. 11 |
Model reconstruction |
Ch 7 |
Motion analysis |
Ch. 8 |
Recognition |
Ch. 14 |
Assignment | Description | Data | Weight | Due date |
assignment 0 |
basic review |
none |
0% |
8/28 |
assignment 1 | Image
formation |
images |
5% | 9/18 |
assignment 2 | Filtering
|
images |
5% | 10/2 |
assignment 3 |
Feature
detection |
images |
5% |
10/16 |
assignment 4 |
Deep learning |
none |
5% |
10/30 |
assignment 5 |
Camera
calibration |
calibration
data |
5% | 11/13 |
assignment 6 |
Stereo
vision |
stereo pairs matched points |
5% | 11/27 |
assignment 7 |
Motion analysis |
video sequences |
5% | 11/27 |
project | presentation
(5%)
project (15%) |
N/A | 20% | (proposal 10/11 ) (final submission 11/13 ) |
Additional assignments:
Books
Software
Python pyDev (eclipse) |
Data
C++ IDE |
Latex
Papers
General |
Install wxpack
(wxWidgets v2.8.12)
Create an empty win32 console project, change the following
property of the project:
Configuration Property - C/C++ - General - Additional
Include Directories
%InstalledPath%\wxWidgets-2.8.12\include
%InstalledPath%\wxWidgets-2.8.12\lib\vc_lib\mswd
Configuration Property - Linkers - General -
Addtional Library Directories
%InstalledPath%\wxWidgets-2.8.12\lib\vc_lib
Configuration Property - Linkers - Input - Additional
Dependancies
comctl32.lib rpcrt4.lib winmm.lib
advapi32.lib wsock32.lib wxbase28d.lib wxmsw28d_core.lib
wxmsw28d_gl.lib wxjpegd.lib wxpngd.lib wxregexd.lib
wxtiffd.lib wxzlibd.lib
wxexpatd.lib
Code Generation - Runtime Library
Multi-threaded Debug (/MTd)
Linker - System
Window (/SUBSYSTEM:WINDOWS)
Build Events - Post Build Events ( this starts a
command line window together with your wxwidgets frame)
editbin $(TargetPath)
/SUBSYSTEM:CONSOLE
Compile the source or install the
appropriate package.
Compile with the following flags:
`wx-config --cxxflags`
Link with the following libraries:
`wx-config --libs` -lwx_gtk2_gl-2.8