CS754 - Advanced Image Processing (2021)
Course offered in: Spring 2021 Instructors: Prof. Ajit Rajwade
Prerequisites Any probability and statistics course is a must. A background in signal processing will be helpful but it’s not that essential. It is not essential to do a basic image processing course before taking this. The course contents of CS663/EE610 image processing courses are “orthogonal” to the topics discussed here.
Difficulty The course involves coding assignments in MATLAB and reading research papers. The theory also needs some effort to understand. The end semester project involves implementing a research paper. The course is on the tougher side but it has immense learning value.
Course Content: The course covers contemporary topics in image processing like compressed sensing, tomography, learning image representations, natural image statistics, low rank matrix completion, robust PCA, and much more. There is a strong continuity in the themes covered in the course and the major part of it deals with solving inverse problems. There is a good mix of theory and applications. The mathematics is not too rigorous but there is still a fair amount of it, especially linear algebra. Here’s a brief overview of some key topics. Compressed sensing: Hardware sensors directly acquire a compressed form of the signal and then the entire signal is recovered in software. This involves solving an underdetermined set of linear equations using various kinds of prior information about the signal. We discuss algorithms for solving these as well as various implementations of actual compressive imaging systems. Tomography: The mathematics behind CT scans as well as cryo electron microscopy. Dictionary learning: aims to learn a “basis” for a particular class of signals. This can be used for compression, denoising, deblurring, inpainting, compressive recovery and tomography. Natural image statistics: Out of all the random pixel combinations that could fit in say an m by n image only a few would appear as natural images. This topic deals with characterising various properties of natural images. These properties can also be used for above applications.
This is not an ML course. It focuses more on classical optimisation techniques. However, you will still learn several concepts relevant to ML. It does not go into deep learning.
Feedback on Lectures: The lectures are somewhat dense, and it is essential to be regular in class otherwise, you might have trouble covering up. But don’t be scared by this! Make an effort to attend all the classes and participate in discussions with the professor during class, and it will be a very rewarding experience for you.
Feedback on Tutorials, Assignments and Exams: The evaluations are done quite reasonably. The assignments are unambiguous, and it is never a hassle to get your cribs heard. Besides the assignments, which have theory and coding problems, the course has a midsem, endsem and project. The midsem and endsem papers are closed book and given the breadth of the content one might feel a little worried at first. However, the exams do not test your memorizing power at all, they are highly conceptual and also on the easier side if you have been regular. The course project will need a reasonable amount of time from your side. The project is evaluated based on a viva with the instructor. The assignments and project are to be done in groups of 2. Choose your partner wisely.
Weightage: Assignments (6 to 7) - 50% Project - 25% Midsem - 10% Endsem - 15%
Grading Statistics:
Difficulty: 3/5
Study Material and References: Only the professor’s slides are enough (and the slides are amazing). References will not be needed. Sometimes you might want to look at research papers on the topic to get a deeper understanding.
Follow-up Courses Even the instructor recommends doing the basic image processing course (CS663/EE610) either before or after this course to get a complete picture of the field. The course on Medical Image Processing which runs in the same semester, is also a great option. I believe signal processing, optimisation, machine learning and deep learning courses would also complement this well.
Final Takeaways In my second year, this was the one course that really challenged me, excited me and motivated me to do more than what was asked. The instructor is fantastic, the applications are fascinating and there is a lot of scope for research in this area. I strongly recommend it to anyone who finds the course contents intriguing. The course has made me a lot more comfortable coding in MATLAB, in making LaTeX reports and in reading research papers.
Refer to the course webpage. It has a lot more details - https://www.cse.iitb.ac.in/~ajitvr/CS754_Spring2022/
Review by - Pranava Singhal, 2024 (BTech)