An Overview of EE5731 Visual Computing
Visual Computing is a module I took this semester at NUS ECE, hosted by Assoc. Prof. Robby Tan. It covers some of the best-known classic CV algorithms.
These years, rapid progressions in Deep Learning have brought enormous improvements to vision-based applications. DL methods, mainly based on CNN frameworks, are constructed usually by training instead of the domain-specific designing and programming in the traditional CV algorithms. They are easy to build, often achieve better accuracy, and the trained models can be very lightweight. So why do we still need to learn about traditional CV methods?
Unlike the black box models in machine learning, traditional CV algorithms are more explainable and tunable. They are also more general in some way since the design of the feature extraction process doesn’t rely on any specific image dataset. Therefore, algorithms like SIFT are often used for image stitching and 3D mesh reconstruction, which don’t require any class knowledge. And DL can sometimes overkill, while many traditional CV techniques can also be simplified and implemented on devices like microcontrollers.
The EE5731 Visual Computing module provides us with knowledge on topics including:
- Viola-Jones Face Detection Algorithm Finished
- Feature Extraction: Haar-like Features
- Fasten Convolution Process: Integral Image
- Feature Selection: AdaBoost
- Fasten Classification: Cascade Classifier
- Histogram of Oriented Gradients (HOG) Features and Human Detection
- Scale Invariant Feature Transform (SIFT) Algorithm and Image Stitching Under Construction
- Scale Space Extrema: Difference of Gaussian (DoG)
- Keypoint Localization: Taylor Expansion
- Orientation Assignment
- Keypoint Descriptor
- Camera Parameters Under Construction
- Forward Propagation
- Backward Propagation
- Depth from Stereo Under Construction
- Markov Random Field Under Construction
- Depth from Video Under Construction
- Optical Flow
- Structure Decomposition