[[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B241/public/html/predmety/46/84/p4684806.html|Schedule BE4M33DZO]] [[https://cw.felk.cvut.cz/upload/|Upload system]] [[https://cw.felk.cvut.cz/forum/forum-1881.html|Discussion forum]] ====== BE4M33DZO - Digital Image 2024/2025 ====== ===== Course topics ===== This course presents an overview of basic methods for digital image processing. Students practice the gained knowledge on six implementation tasks, which will help them understand the concepts and use them to solve practical problems. ===== Prerequisites ===== Students are expected to know topics from calculus, linear algebra, statistics and probability to the extent taught at CTU in Prague, FEE. Basic programming skills are also expected, especially in [[https://www.mathworks.com/products/matlab.html|MATLAB]]. ===== Lectures ===== Lecturers: * [[https://cmp.felk.cvut.cz/~drbohlav/|Ondřej Drbohlav]] (CTU in Prague, FEE, Dept. of Cybernetics, room KN:E-215) * [[https://dcgi.fel.cvut.cz/~sykorad/|Daniel Sýkora]] (CTU in Prague, FEE, Dept. of Computer Graphics and Interaction, room KN:E-422) Place and Time: **Wednesday 09:15am-10:45am**, Lecture Hall **KN:E-301** Extent: **2 hours** weekly ^ Week ^ Date ^ Topics ^ Teaching Materials ^ | 1st | 25.09.2024 | **Pointwise (Monadic) Operations** - digital image, histogram, change of brightness and contrast, thresholding, negative, quantization, gamma correction, histogram equalization and mapping | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l01.pdf|slides]] / video: [[https://youtu.be/7E83-R6Hcak| CZ1]], [[https://youtu.be/jwFGq3eJI60|CZ2]], [[https://youtu.be/RdZOJWowY0Q|EN1]], [[https://youtu.be/K5I8cvUqSUw|EN2]] | | 2nd | 02.10.2024 | **Fourier Transform** - Fourier transform in 1D and 2D, basis functions, time and frequency domain, amplitude and phase, discrete Fourier transform, fast Fourier transform, sampling theorem | {{ :courses:b4m33dzo:l02.pdf |slides}} / video: [[https://youtu.be/SAlWMzuDxI0|CZ1]], [[https://youtu.be/VsRm-m1Zc1k|CZ2]], [[https://youtu.be/FaKTCyXp9kc|EN1]], [[https://youtu.be/_zYY3X96wV4|EN2]] | | 3rd | 09.10.2024 | **Convolution** - convolution in 1D and 2D, fast computation using separable kernels, mip-mapping, integral image and Fourier transform | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l03.pdf|slides]] / video: [[https://youtu.be/p38h4QIXwrc|CZ1]], [[https://youtu.be/KeJyygtmOd8|CZ2]], [[https://youtu.be/qVaRvLn8gbA|EN1]], [[https://youtu.be/PSgS8JqR6xg|EN2]] ([[http://dl.acm.org/ft_gateway.cfm?id=15921&type=pdf&CFID=85229293&CFTOKEN=92024084|1]], [[http://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2005.00880.x/pdf|2]]) | | 4th | 16.10.2024 | **Linear Filtering** - applications of 1D and 2D convolution: noise suppression, edge detection, blur, sharpening, Wiener filter, anti-aliasing, depth of field, motion blur, light scattering, glossy reflections, soft shadows, hybrid image | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l04.pdf|slides]] / video: [[https://youtu.be/MqJlvsSZl2w|CZ1]], [[https://youtu.be/fL1uE2CEJtk|CZ2]], [[https://youtu.be/Rj-UrE1FvIM|EN1]], [[https://youtu.be/HyDHY6k5l_o|EN2]] ([[http://olivalab.mit.edu/abstracts/acm_transactions_graphics.html|1]]) | | 5th | 23.10.2024 | **Non-linear Filtering** - bilateral filter, fast computation using rectangular kernels, piecewise linear approximation, and bilateral grid, applications: noise suppression maintaining sharp edges, digital makeup, abstraction, tone mapping, appearance modification, detail fusion, simulation of HDR image, material/texture change, glossiness removal, noise suppression using flash, depth map sharpening. | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l05.pdf|slides]] / video: [[https://youtu.be/-0lP30fzSfs|CZ1]], [[https://youtu.be/847SVwGix_g|CZ2]], [[https://youtu.be/CVB8jiDJmYk|EN1]], [[https://youtu.be/qqvAU1OKWck|EN2]] ([[http://www.shellandslate.com/fastmedian.html|1]], [[http://www.csbio.unc.edu/mcmillan/pubs/sig05_bennett.pdf|2]], [[http://groups.csail.mit.edu/graphics/bilagrid/|3]], [[https://dl.acm.org/doi/abs/10.1145/1141911.1142018|4]], [[http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html|5]], [[http://johanneskopf.de/publications/jbu|6]], [[http://people.csail.mit.edu/fredo/PUBLI/flash/index.htm|7]], [[http://people.csail.mit.edu/fredo/PUBLI/Siggraph2002/|8]], [[http://research.microsoft.com/en-us/um/redmond/projects/flashnoflash|9]]) | | 6th | 30.10.2024 | **Image Editing** - linear and multi-band image stitching, Laplace pyramid, gradient domain editing and its applications: stitching, cloning, smoothing, fusion, context highlighting, color to gray conversion, diffusion curves | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l06.pdf|slides]] / video: [[https://youtu.be/Gjl8A_4JtBI|CZ1]], [[https://youtu.be/QOGGbcpvYYA|CZ2]], [[https://youtu.be/bcpWYwCy_Js|EN1]], [[https://youtu.be/3tcLf_lYdrU|EN2]] ([[http://persci.mit.edu/pub_pdfs/spline83.pdf|1]], [[https://www.cs.jhu.edu/~misha/Fall07/Papers/Perez03.pdf|2]], [[http://graphics.cs.cmu.edu/projects/gradient-paint/|3]]) | | 7th | 06.11.2024 | **Image Deformation** - translation, rotation, scaling, skew, affine and projective transformations, backward mapping, bilinear interpolation, moving least squares, as-rigid-as-possible and as-similar-as-possible image deformation | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l07.pdf|slides]] / video: [[https://youtu.be/olaNN6OiJMk|CZ1]], [[https://youtu.be/NM5D6tdogI8?si=-3ystZy4J8rGO9W5|CZ2]], [[https://youtu.be/ic-gHqIkRYc|EN1]], [[https://youtu.be/uaFQGBRWyLg|EN2]] ([[http://faculty.cs.tamu.edu/schaefer/research/mls.pdf|1]]) | | 8th | 13.11.2024 | **Image Registration 1** - image similarity metrics, estimation of translation, block-matching, fast computation using early termination, multi-resolution processing, winner-take-all strategy, phase correlation, gradient descent, texture synthesis, hole filling | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l08.pdf|slides]] / video: [[https://youtu.be/hRj0WC40sqE|CZ1]], [[https://youtu.be/8RV4-yprNZQ|CZ2]], [[https://youtu.be/rbQOCse-YHo|EN1]], [[https://youtu.be/U4YCO8gxwXE|EN2]] ([[http://www.ri.cmu.edu/pub_files/pub3/lucas_bruce_d_1981_2/lucas_bruce_d_1981_2.pdf|1]], [[http://www.ri.cmu.edu/pub_files/pub3/baker_simon_2004_1/baker_simon_2004_1.pdf|2]], [[https://people.cs.nctu.edu.tw/~yschen/papers/TIP01-winup.pdf|3]]) | | 9th | 20.11.2024 | **Image Registration 2** - estimation of rotation and scaling, log-polar and Fourier-Mellin transformation, generalized gradient descent (affine and projective transformation), as-similar-as-possible image registration | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l09.pdf|slides]] / video: [[https://youtu.be/hRj0WC40sqE|CZ1]], [[https://youtu.be/dAzCkwRo1cI|CZ2]], [[https://youtu.be/jWwahkWZsRE|EN1]], [[https://youtu.be/7AoJHVGymP0|EN2]] ([[https://ieeexplore.ieee.org/document/506761|1]], [[http://dcgi.felk.cvut.cz/home/sykorad/deform.html|2]], [[http://dcgi.felk.cvut.cz/home/sykorad/textoons.html|3]], [[http://graphics.cs.cmu.edu/people/efros/research/EfrosLeung.html|4]]) | | 10th | 27.11.2024 | **Image Registration 3** - keypoint extraction, Harris detector, SIFT keys and their correspondence, estimating transformation parameters using SVD and RANSAC, elimination of outliers, applications (panorama stitching, object detection, background reconstruction, augmented reality, 3D reconstruction). | [[https://dcgi.fel.cvut.cz/home/sykorad/dzo/slides/dzo-l10.pdf|slides]] / video: [[https://youtu.be/xw4j48YeNOE|CZ]], [[https://youtu.be/JMILEU9SOCQ|EN1]], [[https://youtu.be/d-OD0-c3eX8|EN2]] ([[https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf|1]], [[http://matthewalunbrown.com/autostitch/autostitch.html|2]], [[http://mesh.brown.edu/DGP/pdfs/Fitzgibbon-etal-98.pdf|3]]) | | 11th | 04.12.2024 | **Revision** - [[https://forms.gle/YYW9fZjti1TbawF87|suggest a topic for discussion]] | {{ :courses:b4m33dzo:opacko.pdf|slides}}, video: [[https://youtu.be/WAFCRMqyEeM|CZ1]], [[https://youtu.be/HubsSjG3XJQ|CZ2]], [[https://youtu.be/WIdqCfXpsc8|EN1]], [[https://youtu.be/WBSJ9iGvq-I|EN2]] ([[http://vision.cse.psu.edu/people/chenpingY/paper/grady2006random.pdf|1]], [[http://www.csd.uwo.ca/~yuri/Papers/ijcv06.pdf|2]], [[http://leogrady.net/wp-content/uploads/2017/01/sinop2007linf.pdf|3]]) | | 12th | 11.12.2024 | **Image Segmentation** - an overview of interactive image segmentation algorithms, modifications and extensions of the original optimization problem: color model, imprecise background and foreground specification, multiple segments, colorization, and applications: alpha-channel estimation, recoloring, interactive tone mapping, coloring of hand drawings | {{ :courses:b4m33dzo:l11.pdf |slides1}} {{ :courses:b4m33dzo:l12.pdf |slides2}} / video: [[https://youtu.be/lS01Hu_AVgo|CZ1]], [[https://youtu.be/oSBdFtSczNA|CZ2]], [[https://youtu.be/vmOYciDLIis|EN1]], [[https://youtu.be/vmOYciDLIis|EN2]] ([[http://dcgi.felk.cvut.cz/home/sykorad/lazybrush.html|1]], [[http://grail.cs.washington.edu/projects/photomontage/|2]], [[http://www.cs.huji.ac.il/~yweiss/Colorization/|3]]) | | 13th | 18.12.2024 | **Daniel Sýkora**'s lecture: **Towards High-quality Replication of Visual Appearance** | ([[https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf|1]], [[https://people.mpi-inf.mpg.de/~elgharib/projects/PaintingStyle/index.html|2]], [[https://openaccess.thecvf.com/content_CVPR_2019/papers/Kolkin_Style_Transfer_by_Relaxed_Optimal_Transport_and_Self-Similarity_CVPR_2019_paper.pdf|3]], [[https://dl.acm.org/doi/abs/10.5555/3495724.3496298|4]], [[https://proceedings.mlr.press/v139/radford21a/radford21a.pdf|5]], [[https://dcgi.fel.cvut.cz/home/sykorad/dia.html|6]], [[https://proceedings.mlr.press/v162/nichol22a/nichol22a.pdf|7]], [[https://openaccess.thecvf.com/content/CVPR2024/papers/Hertz_Style_Aligned_Image_Generation_via_Shared_Attention_CVPR_2024_paper.pdf|8]], [[https://openreview.net/pdf?id=9VbGjXLzig|9]], [[https://www.wisdom.weizmann.ac.il/~vision/VideoCompletion.html|10]], [[https://sites.cc.gatech.edu/cpl/projects/textureoptimization/|11]], [[https://dcgi.fel.cvut.cz/home/sykorad/stylit|12]], [[https://mrl.cs.nyu.edu/projects/image-analogies/|13]],[[https://dcgi.fel.cvut.cz/home/sykorad/facestyle|14]], [[https://dcgi.fel.cvut.cz/home/sykorad/styleblit|15]], [[https://ondrejtexler.github.io/faceblit/|16]], [[https://dcgi.fel.cvut.cz/home/sykorad/toonsynth|17]], [[https://dcgi.fel.cvut.cz/home/sykorad/styleprop|18]], [[https://dcgi.fel.cvut.cz/home/sykorad/ebsynth|19]], [[https://dcgi.fel.cvut.cz/home/sykorad/stylebin|20]], [[https://www.mmlab-ntu.com/project/fresco/|21]]) | | 14th | 08.01.2025 | **Recapitulation** | | ===== Labs ===== Lab Assistants: * [[https://cmp.felk.cvut.cz/~cechj/|Jan Čech]] (CTU in Prague, FEE, Department of Cybernetics, Room: KN:G-2) * [[https://www.ciirc.cvut.cz/people/people-list/?uid=skovirad|Radoslav Škoviera]] (CTU in Prague, CIIRC, Room:JP:B-611a) * [[https://dcgi.fel.cvut.cz/home/sykorad/|Daniel Sýkora]] (CTU in Prague, FEE, Department of Computer Graphics and Interaction, Room: KN:E-422) * [[https://cmp.felk.cvut.cz/~drbohlav/|Ondřej Drbohlav]] (CTU in Prague, FEE, Department of Cybernetics, Room: KN:E-215) Place and Time: **Tuesday 2:30pm-4:00pm**, Lab Room **KN:E-230** Extent: **2 hours** weekly ^ Week ^ Date ^ Topics ^ Lab Assistant ^ | 1st | 24.09.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/0_matlab/start|Introduction to MATLAB]] | **Jan Čech**, **Radoslav Škoviera**, **Daniel Sýkora**, **Ondřej Drbohlav** | | 2nd | 01.10.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/1_monadic_functions/start|Monadic Operations 1]] - brightness and contrast changes, gamma correction, histogram equalization and mapping | **Ondřej Drbohlav** | | 3rd | 08.10.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/1_monadic_functions/start|Monadic Operations 2]] - submission of the 1st assignment (10 points) | **Ondřej Drbohlav** | | 4th | 15.10.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/3_fourier|Fourier Transform 1]] - 2D FFT, displaying spectrum, basis functions, shift, convolution and sampling theorems | **Jan Čech** | | 5th | 22.10.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/3_fourier|Fourier Transform 2]] - submission of the 2nd assignment (10 points) | **Jan Čech** | | 6th | 29.10.2024 | Dean's Day | | | 7th | 05.11.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/4_filtering|Linear and Non-linear Filtering 1]] - convolution, Fourier transform, separable kernel, blurring, edge detection, deconvolution, bilateral filter | **Radoslav Škoviera** | | 8th | 12.11.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/4_filtering|Linear and Non-linear Filtering 2]] - submission of the 3rd assignment (10 points) | **Radoslav Škoviera** | | 9th | 19.11.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/5_poisson|Image Editing 1]] - gradient domain approach, solving the Poisson equation using a system of linear equations and Fourier transform, image cloning, gradient mixing | **Daniel Sýkora** | | 10th | 26.11.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/5_poisson|Image Editing 2]] - submission of the 4th assignment (10 points) | **Daniel Sýkora** | | 11th | 03.12.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/6_reg|Image Registration 1]] - estimation of translation, scale and rotation using Fourier-Mellin transform (phase correlation, log-polar transformation) | **Radoslav Škoviera** | | 12th | 10.12.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/6_reg|Image Registration 2]] - submission of the 5th assignment (10 points) | **Radoslav Škoviera** | | 13th | 17.12.2024 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/7_segment|Image Segmentation 1]] painting hand-drawn images using maxflow algorithm | **Daniel Sýkora** | | 14th | 07.01.2025 | [[https://cw.fel.cvut.cz/wiki/courses/b4m33dzo/labs/7_segment|Image Segmentation 2]] - submission of the 6th assignment (10 points) | **Ondřej Drbohlav** | In total, it is possible to obtain 60 points from all assignments. In order to pass labs, student have to obtain at least 30 points. ===== Exam ===== The exam consists of two parts, **written test** and **short oral** part. The written part consist of a number of questions and problems covering all the course topics: * Monadic operations (simple modifications of pixel intensity, histogram equalization and mapping) * Fourier transform (formulation, properties, sampling theorem) * Convolution (formulation, properties, speed-up methods, applications) * Image deblurring (formulation, solution using Wiener filter) * Bilateral filter (formulation, speed-up methods, applications) * Image editing in the gradient domain (formulation, solution, applications) * Image deformation (1, 2, 3, 4-point) * Image registration (translation, solution methods) * Image registration (translation, rotation, and scaling using Fourier-Mellin) * Image segmentation (formulation, solution using maximum flow, applications) * Image segmentation (formulation, solution using random walker, applications) The oral part is short and serves for going over the tests and clarifying anything as needed. The total of 40 points can be obtained for the written test. To pass the exam, a minimum of 20 points is required. ===== Evaluation ===== The final grade is determined by the sum of the points obtained from the labs (maximum 60) and from the exam (maximum 40): ^ Grade ^ Point range ^ Description ^ | A | 90 or more | excellent | | B | 80 to 89 | very good | | C | 70 to 79 | good | | D | 60 to 69 | satisfactory | | E | 50 to 59 | passable | | F | less than 50 | failed | ===== Literature ===== * He J., Kim C.-S., Kuo C.-C. J.: //Interactive Segmentation Techniques: Algorithms and Performance Evaluation//, Springer, 2014. * Radke R. J.: //Computer Vision for Visual Effects//, Cambridge University Press, 2012. * Goshtasby A. A.: //Image Registration: Principles, Tools and Methods//, Springer, 2012. * Paris S., Kornprobst P., Tumblin J., Durand F.: //Bilateral Filtering: Theory and Applications//, Now Publishers, 2009. * Gonzalez R. C., Woods R. E.: //Digital Image Processing (3rd Edition)//, Prentice Hall, 2008. * Šonka M., Hlaváč V., Boyle R.: //Image Processing, Analysis and Machine vision (3rd Edition)//, Thomson Learning, 2007. * Pratt W.: //Digital Image Processing (3rd Edition)//, John Wiley, 2004.