Date | L# | Topic |
Thu. Jan.13
|
01 |
- course / assignmnet overview
- basic image i/o (PPM, PGM images)
- typical image processing nested for loop
- 2D access to 1D array
- "wraparound indices"
- periodic image extension
|
Tue. Jan.18
|
02
|
- OpenMP multi-core parallelization
- basic convolution
- separable filters
- Sobel operators, see also:
separable filters
Supplemental:
|
Thu. Jan.20
|
03 |
- Fourier Transform
- basis vectors and functions
- orthogonality and the dot product
- projection onto basis
|
Tue. Jan.25
|
04 |
Assignment 01 due:
basic image processing, RGB luminance conversion
- example "bar chart" representation by basis functions
- properties of basis functions
- solving for coefficients
- infinite support vs. compact support
|
Thu. Jan.27
|
05 |
- the Discrete Wavelet Tranform (DWT)
- scaling, dilating, shifting
- unit square example
- recipe for wavelet function from scaling function:
\(\psi(x) = \sum_{k}(-1)^{k}c_{k+1}\phi(2x - k)\)
- orthogonality of \(\phi\) and \(\psi\):
\(\langle\phi,\psi\rangle = 0\)
- recursive decomposition
Supplemental:
|
Tue. Feb.01
|
06 |
Assignment 02 due:
Sobel convolution
- schematic for 1D wavelet decomposition with FIR filters
- Haar wavelets
- quadrature mirror filters
- reconstruction
- numerical example
- schematic for 2D wavelet decomposition with FIR filters
|
Thu. Feb.03
|
07 |
- imaging pipeline
- when to normalize image
|
Tue. Feb.08
|
08 |
- dwt code,
main.c
pgm_idwt2d() call
make_wavelets(HAAR)
pgm_dwt2d() details (two-pass DWT)
- extra things to do for DWT assignment
- MSE against original image
- edge detection via modulus maxima
- compression simulation via wavelet coefficient decimation
- anisotropic filtering via wavelet coefficient decimation
|
Thu. Feb.10
|
09 |
- intro to video processing
- video files as containers (of streams)
- ffmpeg, ffplay, ffprobe
- MPEG encoding
|
Tue. Feb.15
|
10 |
OpenCV install notes, including contrib modules, python sym links
|
Thu. Feb.17
|
11 |
OpenGL example
|
Tue. Feb.22
|
12 |
Assignment 03 due:
Discrete wavelet transform
|
Thu. Feb.24
|
13 |
DEMO DAY: Students present their image processing work
- short (e.g., 3 min) PowerPoint presentation
- show images produced
- show interesting stuff you implemented
- give feedback, e.g., lessons learned, what was fun, what wasn't, ...
Face detection
- Viola-Jones detector
- integral image representation, Haar-like feature sets
- machine learning approach
- cascaded combination of classifiers
- how to implement
Supplemental
|
Tue. Mar.01
|
14 |
Assignment 04 due:
OpenCV video processing
Face detection and tracking
- frame coherence (more or less) patterened after particle systems
- face object is born
- face object grows old, i.e., decays,
decay = \(e^{-ka}\) where \(k\) is some constant
(e.g., \(0.05\)) and \(a\) is age
- face object dies
Supplemental
-
Duchowski, A. T., Gehrer, N. A., Schönenberg, M., and
Krejtz, K.,
Art Facing Science: Artistic Heuristics for Face Detection,
in Proceedings of the 4th Workshop on Eye Tracking and
Visualization (ETVIS),
June 25-28, 2019,
Denver, CO.
|
Thu. Mar.03
|
15 |
Intro to camera calibration
- quick review of affine transoformations (rotations, translations)
- intro to homography
- solving the homography
Supplemental
|
Tue. Mar.08
|
16 |
Midterm
|
Thu. Mar.10
|
17 |
Camera calibration details
- what is the homography matrix
- intrinsic parameters
- extrinsic parameters
- distortion parameters
- camera calibration in OpenCV
|
Tue. Mar.15
Dr. D. away
CSUN
|
18 |
Lab Day
|
Thu. Mar.17
Dr. D. away
CSUN
|
19 |
Assignment 05 due:
OpenCV face detection and tracking
|
Tue. Mar.22
|
-- |
Spring Break
|
Thu. Mar.24
|
-- |
Spring Break
|
Tue. Mar.29
|
20
|
Final Project Proposals due
(see previous year's projects)
Use:
The ACM Publishing System (TAPS) Best Practices [templates]
DEMO DAY: Students present their face detection & tracking
work
- short (e.g., 3 min) PowerPoint presentation
- show videos produced
- show interesting stuff you implemented
- give feedback, e.g., lessons learned, what was fun, what wasn't, ...
OpenCV camera calibration and pose estimation
- chessboard parameters: know its configuration (important)
K , dist instrinsic parameters
rvec , tvec rotation, translation
- pose estimation via
drawAxes or
projectPoints
- projection using OpenGL
|
Thu. Mar.31
|
21
|
Assignment 06 due:
OpenCV camera calibration and undistortion
More on camera calibration
- how to use arrays of
objpoints = [] and
imgpoints = []
- solving for
rvec , tvec every frame
with solvePnP()
- analogy to 2D calibration using minimization of least squares
OpenCV ArUco marker detection
- marker parameters: know its dictionary and size
- using
aruco.detectMarkers() to find markers
- using
aruco.estimatePoseSingleMarkers()
to solve for rvec , tvec
|
Tue. Apr.05
|
22
|
Hotelling (Karhunen-Loeve) Transform,
a.k.a. Principal Components Analysis
- ellipse fitting
- KLT computation
- block coding
|
Thu. Apr.07
|
23
|
Fiducial marker papers
-
Andrist, S., Gleicher, M., and Mutlu, B.,
Looking Coordinated: Bidirectional Gaze Mechanisms for Collaborative
Interaction with Virtual Characters,
in Proceedings of CHI 2017,
May 6-11, 2017,
Denver, CO.
-
Garrido-Jurado, S., Munoz-Salinas, R., Madrid-Cuevas, F. J., and
Marin-Jimenez, M. J.,
Automatic generation and detection of highly reliable fiducial
markers under occlusion,
Pattern Recgonition,
47, 2014.
-
Romero-Ramirez, F. J., Munoz-Salinas, R., and Medina-Carnicer, R.,
Speeded Up Detection of Squared Fiducial Markers,
Image and Vision Computing,
2018.
-
Romero-Ramirez, F. J., Munoz-Salinas, R., and Medina-Carnicer, R.,
Fractal Markers: A New Approach for Long-Range Marker Pose
Estimation Under Occlusion,
IEEE Access,
2019.
|
Tue. Apr.12
|
24
|
Assignment 07 due:
OpenCV ArUco marker detection
Computational Photography
- Fredo Durand's EG 2017 keynote address
|
Thu. Apr.14
|
25
|
High-Dynamic Range (HDR), bilateral filtering
|
Tue. Apr.19
|
26
|
DEMO DAY: Students present their marker detection work
|
Thu. Apr.21
|
27
|
-
Santella, A. and DeCarlo, D.,
Robust Clustering of Eye Movement Recordings for
Quantification of Visual Interest,
ETRA,
2004.
-
Fitzgibbon, A. W., Pilu, M., and Fisher, R. B.,
Direct Least Squares Fitting of Ellipses,
IEEE PAMI, 21(5), May, 1999.
-
Halir, R., Flusser, J.,
Numerically Stable Direct Least Squares Fitting of
Ellipses,
1998.
Seminal Computer Vision papers
|
Tue. Apr.26
|
28
|
Final Project due
- hand in a short writeup and/or a web page
Course Review
- basic image operations, i/o
- OpenMP parallelization
- edge detection, convolution, Finite Impulse Reponse (FIR) filters
- Sobel edge detection filters
- Fourier Transform (FT), basis vectors
- Discrete Wavelet Transform (DWT), wavelet filters
- basic video processing, ffmpeg
- OpenCV, video i/o
- face detection & tracking
- camera calibration, homography
- fiducial marker detection & tracking
- Karhunen-Loeve Transform (KLT) / Hotelling Transform
- Principle Component Analysis (PCA), ellipse fitting
- Computer Vision papers:
- stereo registration
- Canny edge detection
- Kalman filter
- Compuattional Photography
- High Dynamic Range (HDR) tone mapping
- bilateral (Infinite Impulse Reponse, IIR) filter
|
Thu. Apr.28
|
29 |
Reading Day
- go through each others' projects before final presentations
|
Wed. May.04
|
30 |
Final Exam 3:00-5:30pm: Project Presentations
|