/computer-vision-exercises

Computer Vision Course Exercises at Amirkabir University of Technology - fall 2022

Primary LanguageJupyter Notebook

Computer Vision (CV) Exercises

Computer Vision Course Exercises at Amirkabir University of Technology - Fall 2022

By Gholamreza Dar

Content

  • Table of Contents
    • Exercise 1 [Image Manipulations, Canny Edge Detection, Histogram Equalization]
    • Exercise 2 [Road Lane Detection, Crack Segmentation using Active Contours]
    • Exercise 3 [Thresholding, Template Matching]
    • Exercise 4 [Image Segmentation using K-Means, GLCM, FilterBanks]
    • Exercise 5 [Feature Matching using SIFT and FREAK]
    • Exercise 6 [Object Detection using R-CNN on Counter Strike Dataset]
    • Exercise 7 [3D Vision, LiDAR data, Stereo Matching, 3D Scene Reconstruction, Depth Maps]
    • Exercise 8 [Corner Detection, Optical FLow using Lukas-Kanade and Gunnar-Farneback]

Exercise 1

  • Fundamental image manipulations
  • Extract colors using HSV colorspace and inRange() function
  • Align and Combine misaligned channels

- Canny edge detection practice - Histogram Equalization using RGB vs YUV color spaces

Exercise 2

  • Road Lane Detection
    • Detect road lanes using Canny, Hough, Clustering lines by angle, and Linear regression

  • Road Lane Detection on video
    • Added smoothing features to maintain the lanes over time (Some frames were very blurry or foggy, but we could assume that the car doesn't suddenly change directions).

video

video

  • Crack Segmentation using Active Contours

Exercise 3

  • Implement Otsu Thresholding
  • Implement Iterative Thresholding
  • Match Template Exercise
    • Detect the template in various orientations by rotating the template each time.

Exercise 4

  • Colored-Image Segmentation by Clustering

  • Image Segmentation using GLCM

  • Image Segmentation using Filter Banks

Exercise 5

  • Feature Matching using SIFT
    • Recover a rotated Image using feature matching

  • Compare SIFT and FREAK

Exercise 6

  • Object Detection on the Counter-Strike dataset (R-CNN method)
    • Classes are: W(eapon), T(errorist), C(ounter terrorist), D(ead), bg
    • using mean (average) of a patch as the feature and KNN as classifier

  • using LBP (Local Binary Pattern) of a patch as the feature and KNN as classifier

  • using Neural Network (EfficientNetb0) as the feature extractor and classifier

  • Some of the results (Can definitely be improved but due to the end-of-semester time limits didn't try to improve it).

Exercise 7

  • 3D Vision
    • Plotting LiDAR data on the image using the camera parameters

* Using LiDAR data to estimate the depth map

* Using Linear Interpolation to overcome the sparsity of LiDAR data

* Using stereo matching to estimate the depth map

* 3D reconstruction of the scene using the estimated depth map

Exercise 8

  • Detect Corners using Shi-Tomas Algorithm

  • Optical Flow using the Lukas-Kanade Algorithm

  • Dense Optical Flow using the Gunnar-Farneback Algorithm