====== DZO - Digital Image Processing 2025/2026 ====== ===== 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 ===== Lecturer: * [[https://cmp.felk.cvut.cz/~drbohlav/|Ondřej Drbohlav]] (ČVUT FEL, Katedra kybernetiky, místnost KN:E-215) Lectures: **Monday 11:00-12:30**, room **KN:E-301** ^ Week ^ Date ^ Topic ^ Resources ^ | 1. | 22.9.2025 | **Point operations and image scaling** - image and its histogram, intensity transforms | {{ :courses:dzo:l01_latex.pdf |slides}} / [[https://www.youtube.com/watch?v=s1PKe9Bsc60 | video]] | | 2. | 29.9.2025 | **Fourier transform** - FT in 1D and 2D, base functions, sampling theorem | {{ :courses:dzo:l02_latex.pdf |slides}} / [[https://www.youtube.com/watch?v=Hh7cpvyMaTI | video]]| | 3. | 6.10.2025 | **Convolution** - in 1D and 2D, faster convolution with separability, FFT and integral image | {{ :courses:dzo:l03_latex.pdf | slides}} / [[https://www.youtube.com/watch?v=3_GZCsKHGvI | video]] ([[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]]) | | 4. | 13.10.2025 | **Lecture cancelled - illness** Linear filtering - edge detection, noise suppression, sharpening, Wiener filtration | {{ :courses: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]]) | | 5. | 20.10.2025 | **Non-linear filtering** - bilateral filter and its fast variants | {{ :courses:dzo:l05.pdf |slides}} / video: [[https://youtu.be/-0lP30fzSfs|CZ1]], [[https://youtu.be/847SVwGix_g|CZ2]], [[https://youtu.be/CVB8jiDJmYk|EN1]],[[https://youtu.be/HyDHY6k5l_o|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]]) | | 6. | 27.10.2025 | **Image editing** - multiscale image stitching, Laplace pyramid, gradient domain editing | {{ :courses: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]]) | | 7. | 3.11.2025 | **Geometric transformations** - translation, rotation, scale, shear, affine and projective transforms | {{ :courses: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]]) | | 8. | 10.11.2025 | **Image registration 1** - similarity metrics, estimation of translation, phase correlation, Fourier-Mellin transform, | {{ :courses:dzo:l8.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]]) | | 9. | 17.11.2025 | State holiday - no lecture | | | 10. | 24.11.2025 | **Image registration 1** - cont. | {{ :courses:dzo:l8.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]]) | | 11. | 1.12.2025 | **Image registration 2** - block-matching and its fast variants. Interest points, Harris detector, transformation estimation from corresponding points | {{ :courses:dzo:l9.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]]) | | 12. | 8.12.2025 | **Image segmentation** | {{ :courses:dzo:l11.pdf | slides1}} {{ :courses:b4m33dzo:l12.pdf |slides2}} / video: [[https://youtu.be/lS01Hu_AVgo|CZ1]], [[https://youtu.be/oSBdFtSczNA|CZ2]], [[https://youtu.be/KoNVOURzuxQ|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]]) | | 13. | 15.12.2025 | **Image segmentace** (cont.) | 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]]) | | 14. | 5.1.2025 | Reserve | | ===== Labs ===== Lab tutors: * [[https://cmp.felk.cvut.cz/~cechj/|Jan Čech]] (JC) (ČVUT FEL, Katedra kybernetiky, místnost KN:G-2) * [[https://www.ciirc.cvut.cz/people/people-list/?uid=skovirad|Radoslav Škoviera]] (RŠ) (ČVUT CIIRC, místnost JP:B-611a) * [[https://cmp.felk.cvut.cz/~drbohlav/|Ondřej Drbohlav]] (OD) (ČVUT FEL, Katedra kybernetiky, místnost KN:E-215) Labs: **Tuesday 14:30-16:00**, room **KN:E-230** ^ Week ^ Date ^ Topic ^ Lab tutor ^ | 1. | 23.9.2025 | [[courses:dzo:labs:0_matlab:start|Intro to Matlab]] | OD | | 2. | 30.9.2025 | [[courses:dzo:labs:1_monadic_functions:start|Point operations 1]] - intensity transforms and histogram mapping | OD | | 3. | 7.10.2025 | [[courses:dzo:labs:1_monadic_functions:start|Point operations 2]] - cont. | OD | | 4. | 14.10.2025 | [[courses:dzo:labs:3_fourier|Fourier transform 1]] - 2D FFT, spectrum, FT images of specific functions, FT of translated and rotated signals, sampling theorem, aliasing | JČ | | 5. | 21.10.2025 | [[courses:dzo:labs:3_fourier|Fourier transform 2]] - cont. | JČ | | 6. | 28.10.2025 | State holiday - no lab | | | 7. | 4.11.2025 | [[courses:dzo:labs:4_filtering|Linear and nonlinear filtering 1]] - convolution, convolution by FFT, separability, edge detection, blurring, bilateral filter| OD | | 8. | 11.11.2025 | [[courses:dzo:labs:4_filtering|Linear and nonlinear filtering 2]] - cont. | OD | | 9. | 18.11.2025 | [[courses:dzo:labs:5_poisson|Image Editing 1]] - gradient domain editing, using Poisson or Fourier trasform. Gradient miixng. | OD | | 10. | 25.11.2025 | [[courses:dzo:labs:5_poisson|Image Editing 2]] - cont. | OD | | 11. | 2.12.2025 | [[courses:dzo:labs:6_reg|Image registration 1]] - geometric transforms, registration basics | RŠ | | 12. | 9.12.2025 | [[courses:dzo:labs:6_reg1|Image registration 2]] - translation and rotation estimation using phase correlation | RŠ | | 13. | 16.12.2025 | [[courses:dzo:labs:7_segment|Image segmentation 1]] - maxflow | OD | | 14. | 6.1.2026 | [[courses:dzo:labs:7_segment|Image segmentation 2]] - cont.| OD | Each assignment is graded and can be awarded up to 10 points. Therefore, it is possible to get 60 points for work during the semester. To get the assignment (zápočet), 30 points must be gained. ===== 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: * Pointwise 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 held only in case anything in the written test needs to be clarified. 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. ===== AI tools policy ===== The use of tools like ChatGPT, Copilot, etc. is allowed and even encouraged when **used for deepening the understanding of topics related to this course**. The general rule is: Use the AI tools to gain knowledge and understanding and not to delegate understanding and solving the homeworks to them. Of course, the requirement is that you understand every bit of you code and the idea behind it.