Applied Computer Vision Course
About the Course
This course on applied computer vision was born after several successful editions of internships and schools held by the It-Jim team. As we are a company that is focused specifically on computer vision and machine learning tasks, our lectures offer the most comprehensive syllabus covering both classical CV algorithms and deep learning approaches with many real project examples as icing on the cake.
Curious how to make computers see and interpret data as humans do? We will guide you from image analysis and processing through multi-view geometry and stereovision up to state-of-the-art neural network architectures. Each lesson is a mixture of theory, enhanced with mathematics essentials for computer vision, and practical workshops showcasing the methods learned.
WhenOctober 5, 2021
How long10 weeks / 20 lessons /2h each
how many20 students in a group
how much15000 UAH
Week 1. Image processing and understandingLecture 1Theory
- What is an image?
- Image representations
- Pixels and intensities
- Color spaces
- Histogram, histogram equalization, CLAHE
- Python, libs
- Virtual environments
- OpenCV basics
- Data types
- Image/video input
- Channel separation
- Color spaces
- Image filtering (blur, bilateral)
- Background subtraction
- Image gradients
- Thresholding (global, adaptive, Otsu)
- Morphological operations
- Math: temporal and frequency domain filtering
Week 2. Feature extraction: BasicLecture 1Theory
- Corners and Edges
- Contour detection
- Template matching
- Local keypoints: detection & description. Scale and rotation invariance
- SIFT and SURF algorithms
- Toward real-time: FAST & ORB local feature detectors
- Binary description: ORB, A-KAZE
- Contour detection
- Template matching
- Image retrieval
- Bag of Words (BoW), clustering and local features
- Histogram of oriented gradients (HoG)
- Local binary patterns (LBP), GLCM for texture recognition
- Feature extraction
- Pattern detection
Week 3. Feature extraction: AdvancedLecture 1Theory
- Haar-like features for face detection
- d-Nets for image matching
- ER, MSER for text detection
- Line descriptors
- Histogram matching to track a person
- D-nets example
- Descriptors matching
- Histogram matching
- Distance metrics
- 3D reconstruction example
- Math: LoG and/or DoG pyramid example
- Histogram matching
- Various distances
Week 4. Description and matchingLecture 1Theory
- Homography and RANSAC method
- Intrinsic and extrinsic camera parameters
- Camera calibration
- Planar object detection and augmentation
- Camera calibration example
- Image stitching
- Optical flow
- Template-based tracking
- Math: Lukas-Kanade Optical Flow + LS solver
- Sparse and dense optical flow
- Optical flow visualizations
Week 5. Stereovision, multi-view geometry + computational photographyLecture 1Theory
- Coordinate systems
- Stereo camera calibration
- Epipolar geometry
- Essential matrix and fundamental matrix
- Visual odometry
- Bundle adjustment
- Images rectification
- Camera pose estimation
- Sparse 3D reconstruction
- Image compression
- HDR and tone mapping
- Camera theory: focus distance, defocusing, bokeh, exposure time, aperture, RAW files
- Light field cameras
- Focus stacking
- IR and UV cameras
- Event-based cameras
- Math: JPEG in details and lens geometry
- Focus stacking
Week 6. Introduction to machine learningLecture 1Theory
- Machine learning: how does that work
- Types of ML (brief overview of methods)
- Typical ML project (Exploratory data analysis, filtering, preprocessing, training, cross-validation, etc.)
- Typical ML project
- Supervised learning (Regression, Classification)
- Random forest in details, kernel trick, xgboost
- Unsupervised learning (Clustering, Dimensionality reduction, anomaly detection)
- Math: statistics, distributions, confusion matrix, PCA, eigenvalues analysis
- Image classification using ML methods
- Custom superpixels segmentation by clusterization
Week 7. Introduction to neural networksLecture 1Theory
- Math: multi-layer perceptron in details with backpropagation
- Neural networks: key concepts, neuron model, backpropagation and gradient descend
- Tensorflow playground with linear and nonlinear tasks
- Pytorch regression example
- Classification with neural network
Convolutional neural networks:
- – Appearance of CNNs
- – Feature extraction
- Classification with CNN
- Visualization of features for different layers of neurons
Week 8. Deep learning essentialsLecture 1Theory
- The modern history of architectures
- Key architectural improvements since AlexNet
- Set of activation functions
- More types of convolutional layers (transposed, deformable, dilated, separable)
- Implementation of main architectural blocks of popular modern CNNs
The newest history of architectures:
- – RNN+LSTM+Attention
- – Visual attention and self-attention
- – Transformers and visual transformers
- – Data augmentation
- – Regularization techniques
- OCR with LSTM
- Batch normalization
Week 9. Deep learning for practical CV problemsLecture 1Theory
- Image classification
- Object detection
- Semantic and instance segmentation
- Dataset overview
- Efficient net backbone overview
- Optical flow NNs
- Object tracking
- Action recognition
- Datasets overview
- Deeplab architecture overview
Week 10. Deep learning for image representation and generationLecture 1Theory
- Representation learning, compression and generation
- Embeddings learning
- Face recognition
- SIREN example
- Generative adversarial networks (GANs)
- DALL-E and CLIP
- Style transfer
- Visual transformer overview
By the end of this course, you will be fully equipped to:
- Choose and apply methods for image processing
- Be able to implement and analyze basic methods for computer vision
- Build efficient DL pipelines
- Be able to pick the right DL architecture for specific CV problems
- Be able to choose the right methods for specific CV tasks and analyze their possibilities and limitations
Meet Your Lecturers
Pavlo VyplavinCTO at It-Jim
Pavlo’s scientific experience for over 15 years in both industry and academia and a Ph.D. degree in radio physics helps him to drive technological development at It-Jim. Pavlo is an active contributor to the company’s educational program. He constantly delivers lectures and presentations on computer vision, machine learning, and artificial intelligence at international conferences. Within this course, Pavlo will be teaching the classical computer vision part.
Yurii ChyrkaHead of ML at It-Jim
Yurii is a Ph.D. in signal processing, has 10+ years of scientific experience and dozens of completed CV/ML projects of different scales. Apart from controlling and supporting a full cycle of AI project development, Yurii is a key speaker in multiple educational projects in the machine learning and deep learning fields. Yurii will be delivering the second part of the course dedicated to machine learning and deep learning for computer vision tasks.
WebinarsOnline webinars will be held two times a week. The lectures will be delivered either in Ukrainian or Russian. Every webinar will consist of a theoretical introduction, practical workshop and review of homework solutions.
Access to all materialsThe recordings of live webinars will be available in your account in LMS (Learning Management System) shortly after each lecture along with other materials including presentations, demos, hands-on exercises, useful links and resources.
Home tasksEach week, you will receive a home task to work through the material and get feedback from lecturers on your solutions. Additionally, you will get assignments in LMS to test your knowledge in a course content of a given week.
This course is for you if...
- You are an experienced software developer who wants to switch to CV/ML/DL domain, or
- You are a 4- or 5-year student of technical specialties with a passion for computer vision, or
- You are a data scientist with little background in computer vision aiming to change that, or
- You are looking for an extensive and solid base in computer vision.
- Know Python,
- Be familiar with the basics of linear algebra, calculus and probability.
Let our students do the talking
“It was two hot months. The first month was devoted to classical approaches in image analysis, and the second one - to computer vision with neural networks. At the beginning of each lesson, we went over the best code implementations in homework assignments, and it was very helpful.
By the end of the course, I had gained structured knowledge about approaches in computer vision and working code implementations for my pet projects. Many thanks to the team for sharing their knowledge so generously and with dedication.”
“Probably one of the best computer vision courses I've seen.
Nowadays CV is often identified with ML, so I liked the part of the course that touches on approaches without using machine learning the most. The material from the block on classical methods is hard to find in the public domain in such a clear and structured way.”
“I took part in this Computer Vision course in summer 2019.
Despite the fact that I was a newbie in this area, well-prepared lessons allowed me to progress quickly and it was really fun. After a few months of study on the course, I continued to learn more about CV and ML as part of the It-Jim team.
CV is an interesting sphere and this course can prove it.”
“During the internship, we listened to lectures on classical computer vision and deep learning in CV, took part in workshops and worked on our home tasks. The material was really interesting and useful. The workshops gave us lots of hints and facilitated a more in-depth search on the topics.
In the end, I had no doubts that I would follow the path of a computer vision engineer.”
“The It-Jim CV internship course gives a deep understanding of what an image is, what we can do with it, and why. Much emphasis is placed on classical computer vision, the approaches of which are basic to CV.
Special kudos to the entire team!”
“During the internship, we got a good overview of both classical and deep learning approaches to solving computer vision problems. The learning from foundations provides more options for fine-tuning complex algorithms. Each theoretical lesson was complemented by interesting homework with real-world tasks. It allowed me to dive deeper into the subject.
Moreover, we had after-homework discussions with a review of our solutions and valuable insights.”
Students ask, we answer
How much time do I need to devote to the course to successfully complete it?Apart from 4-5 hours a week that you are going to spend for online classes, you will need another 15-20 hours to work on the homework, test assignments and explore additional materials that we will provide.
How do I interact with the lecturers?All communication will be arranged in Slack channels. And, of course, you can count on lots of discussions during online webinars and receiving feedback from lecturers on each of your home assignments in the LMS.
If I don't like the course, will I get a refund?If you change your mind before the third lecture we will refund you the full price of the course.
If I miss a class, how do I catch up on the material?You will have access to all the course materials including recordings of lectures through the personal account in the LMS. If you missed something, you will be able to catch up on the material there.
Will I get a certificate of completion?Yes, but only if you complete all the home assignments.
Will I have access to the course materials when I complete the course?After you have completed the course, you will still have access to all the materials.
Reserve your spot now
WhenOctober 5, 2021
How many15 spots left