# Deep Learning for Computer Vision

- Institution: IIT Hyderabad
- Department: Computer Science and Engineering
- Teacher: Prof. Vineeth N Balasubramanian
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106106224)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106106224)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

The automatic analysis and understanding of images and videos, a field called Computer Vision, occupies significant importance in applications including security, healthcare, entertainment, mobility, etc. The recent success of deep learning methods has revolutionized the field of computer vision, making new developments increasingly closer to deployment that benefits end users. This course will introduce the students briefly to traditional computer vision topics, before presenting deep learning methods for computer vision. This course delves into the fundamental concepts of neural networks, explores convolutional architectures, and covers the latest advancements in computer vision tasks such as image classification, object detection, segmentation, and generative modeling. Students will engage in hands-on programming assignments, as well as learn to implement and optimize deep learning models. By the end of the course, participants will be equipped with the skills and knowledge to contribute to the rapidly evolving field of computer vision, pushing the boundaries of what machines can perceive and understand.

The course assumes a basic background in machine learning, and may be most useful to students that have also completed basic introductory materials on deep learning.

INTENDED AUDIENCE : Senior undergraduate students, Post-graduate students, Industry professionals seeking to understand computer vision

Prerequisites: Completion of a basic course in Machine Learning(Recommended, not mandatory) Completion of a course in Deep Learning, or exposure to topics in neural networksKnowledge of basics in probability, linear algebra, and calculusExperience of programming in PythonIf you are unsure whether you meet the background requirements for the course, please look at Assignment 0 (both theory and programming). If you are comfortable solving/following these assignments, you are ready for the course.

## Lectures

1. [Course Introduction](https://invisiblenetwork.ai/learn/nptel/106106224/b677cdb21424) (YouTube)
2. [History](https://invisiblenetwork.ai/learn/nptel/106106224/cb7ba04e8d05) (YouTube)
3. [\[Optional\] Image Formation](https://invisiblenetwork.ai/learn/nptel/106106224/d9a5010fd53a) (YouTube)
4. [Image Representation](https://invisiblenetwork.ai/learn/nptel/106106224/583ac1a33ace) (YouTube)
5. [Linear Filtering](https://invisiblenetwork.ai/learn/nptel/106106224/e6b8492d3c0f) (YouTube)
6. [Image in Frequency Domain](https://invisiblenetwork.ai/learn/nptel/106106224/0e768ae63c63) (YouTube)
7. [\[Optional\] Image Sampling](https://invisiblenetwork.ai/learn/nptel/106106224/4fc69f68b665) (YouTube)
8. [Edge Detection](https://invisiblenetwork.ai/learn/nptel/106106224/63481d16a562) (YouTube)
9. [From Edges to Blobs and Corners](https://invisiblenetwork.ai/learn/nptel/106106224/9415e125a6ef) (YouTube)
10. [Scale Space, Image Pyramids and Filter Banks](https://invisiblenetwork.ai/learn/nptel/106106224/2f36d019650b) (YouTube)
11. [Feature Detectors : SIFT and Variants](https://invisiblenetwork.ai/learn/nptel/106106224/3e841998f15d) (YouTube)
12. [\[Optional\] Image Segmentation](https://invisiblenetwork.ai/learn/nptel/106106224/85fb30f1c804) (YouTube)
13. [Other Feature Spaces](https://invisiblenetwork.ai/learn/nptel/106106224/75b610ab3953) (YouTube)
14. [\[Optional\] Human Visual System](https://invisiblenetwork.ai/learn/nptel/106106224/722017f25c6a) (YouTube)
15. [Neural Networks: A Review - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/95c0744fdcc7) (YouTube)
16. [Neural Networks: A Review - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/0959fb0188bb) (YouTube)
17. [Feedforward Neural Networks and Backpropagation - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/7b20cf379987) (YouTube)
18. [Feedforward Neural Networks and Backpropagation - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/66871f92229f) (YouTube)
19. [Gradient Descent and Variants - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/49e7bde3fb1f) (YouTube)
20. [Gradient Descent and Variants - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/d14bdefd4882) (YouTube)
21. [Regularization in Neural Networks - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/2746abb9fd1e) (YouTube)
22. [Regularization in Neural Networks - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/156c7ab99607) (YouTube)
23. [Improving Training of Neural Networks - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/8fccd7e679b0) (YouTube)
24. [Improving Training of Neural Networks - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/38cf6d77c1d5) (YouTube)
25. [Convolutional Neural Networks: An Introduction - Part 01](https://invisiblenetwork.ai/learn/nptel/106106224/3dff7222763f) (YouTube)
26. [Convolutional Neural Networks: An Introduction - Part 02](https://invisiblenetwork.ai/learn/nptel/106106224/4b45891c7638) (YouTube)
27. [Backpropagation in CNNs](https://invisiblenetwork.ai/learn/nptel/106106224/801ecf18ac6d) (YouTube)
28. [CNN Architectures for Image Classification: AlexNet, VGG](https://invisiblenetwork.ai/learn/nptel/106106224/f20d614f9573) (YouTube)
29. [Evolution of CNN Architectures: InceptionNet, ResNet](https://invisiblenetwork.ai/learn/nptel/106106224/d5780727e990) (YouTube)
30. [Newer and Recent CNN Architectures](https://invisiblenetwork.ai/learn/nptel/106106224/498a79cc11c2) (YouTube)
31. [Finetuning CNNs](https://invisiblenetwork.ai/learn/nptel/106106224/0448411f0707) (YouTube)
32. [Visualizing CNNs](https://invisiblenetwork.ai/learn/nptel/106106224/77065f6ce357) (YouTube)
33. [CNNs for Object Detection: Pre-Deep Learning Era and Initial Steps](https://invisiblenetwork.ai/learn/nptel/106106224/b050d1baa3c0) (YouTube)
34. [CNNs for Object Detection: Two-Stage Models](https://invisiblenetwork.ai/learn/nptel/106106224/c1a19f3b1cc5) (YouTube)
35. [CNNs for Object Detection: Single-stage Models](https://invisiblenetwork.ai/learn/nptel/106106224/fe53f706e926) (YouTube)
36. [CNNs for Segmentation](https://invisiblenetwork.ai/learn/nptel/106106224/30aa73439443) (YouTube)
37. [Recurrent Neural Networks: Introduction](https://invisiblenetwork.ai/learn/nptel/106106224/1d666571030f) (YouTube)
38. [Backpropagation in RNNs](https://invisiblenetwork.ai/learn/nptel/106106224/ae6c5b6fe510) (YouTube)
39. [LSTMs and GRUs](https://invisiblenetwork.ai/learn/nptel/106106224/1521c5e24fb8) (YouTube)
40. [Video Understanding using CNNs and RNNs](https://invisiblenetwork.ai/learn/nptel/106106224/957c59c2045e) (YouTube)
41. [Attention in Vision Models: An Introduction](https://invisiblenetwork.ai/learn/nptel/106106224/0edf0ad47ed6) (YouTube)
42. [Soft and Hard Attention: Image Captioning](https://invisiblenetwork.ai/learn/nptel/106106224/4fe14303b33c) (YouTube)
43. [Additional Content: Beyond Captioning: Visual QA and Dialog](https://invisiblenetwork.ai/learn/nptel/106106224/4694a6b92c48) (YouTube)
44. [Self-Attention and Transformers](https://invisiblenetwork.ai/learn/nptel/106106224/f548a100ac21) (YouTube)
45. [From Transformers to Vision Transformers](https://invisiblenetwork.ai/learn/nptel/106106224/8ef661e2dcab) (YouTube)
46. [Transformers for Detection](https://invisiblenetwork.ai/learn/nptel/106106224/4d1ac58c4699) (YouTube)
47. [Transformers for Segmentation](https://invisiblenetwork.ai/learn/nptel/106106224/b42887a3fcda) (YouTube)
48. [Deep Generative Models: An Introduction](https://invisiblenetwork.ai/learn/nptel/106106224/c5c316a7e7e6) (YouTube)
49. [Generative Adversarial Networks - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/960b56509da9) (YouTube)
50. [Generative Adversarial Networks - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/854bcbbaaaf8) (YouTube)
51. [GAN Hacks and Improvements](https://invisiblenetwork.ai/learn/nptel/106106224/d7c27e427a7f) (YouTube)
52. [Variational Autoencoders](https://invisiblenetwork.ai/learn/nptel/106106224/13ed36cc7bba) (YouTube)
53. [VAEs and Disentanglement](https://invisiblenetwork.ai/learn/nptel/106106224/52832205fa5a) (YouTube)
54. [Introduction to Diffusion Models and DDPMs - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/d4c3a3b648a0) (YouTube)
55. [Introduction to Diffusion Models and DDPMs - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/805a7a965115) (YouTube)
56. [Classifier and Classifier-Free Diffusion Guidance](https://invisiblenetwork.ai/learn/nptel/106106224/cfa8b08c33dd) (YouTube)
57. [Contrastive Learning and History in Face Understanding - Part 1](https://invisiblenetwork.ai/learn/nptel/106106224/7d5be51295c2) (YouTube)
58. [Contrastive Learning and History in Face Understanding - Part 2](https://invisiblenetwork.ai/learn/nptel/106106224/6d9fda706647) (YouTube)
59. [Self-Supervised Learning: SimCLR](https://invisiblenetwork.ai/learn/nptel/106106224/f8921688e46a) (YouTube)
60. [Vision Language Models: Introduction and History](https://invisiblenetwork.ai/learn/nptel/106106224/0ab45ec17ed3) (YouTube)
61. [CLIP: The Anchoring Inflection Point](https://invisiblenetwork.ai/learn/nptel/106106224/344d32c5441b) (YouTube)
62. [Beyond CLIP: BLIP, BLIP-2 and CoCA](https://invisiblenetwork.ai/learn/nptel/106106224/aec5a61974ee) (YouTube)
63. [From VLMs to Multimodal LLMs](https://invisiblenetwork.ai/learn/nptel/106106224/6ccb1bf2d58f) (YouTube)
64. [Course Conclusion](https://invisiblenetwork.ai/learn/nptel/106106224/13f2ca13ffeb) (YouTube)
