Basics of Computer Vision using Python

A 3 month course which gives a student the complete knowledge about computer vision

  • Domain : CSE
Enroll Now View demo

A Quick Overview

The focus of machines throughout the years has been to make human work easier, starting from the invention of a wheel to an electric motor. With such an intention, the idea was stirred up 60 years ago that if a computer could see and make a decision, human work would reduce invariably, and today we work vigorously to turn that dream into reality.  

To help continue this dream, we at Skill-Lync have launched a course on Computer Vision. For anyone who has ever wondered, how autonomous vehicles effortlessly navigate through busy traffic or robotic arms perform tasks such as assembling hardware with accurate prediction, or perform surgeries the answer to all the technicalities of it lies behind in having the knowledge of Computer Vision.

A field that is a combination of deep learning and machine learning, it enables a computer to see and understand. It learns this process through trial and error after processing numerous data. This means that instead of programming every single time to recognize an object, it gives the machine the capability of differentiating one object from another by taking examples from previous data.

In order to do so, knowledge on a few software tools will be essential, namely - Python, OpenCV, numpy, pandas, matplotlib, scikit-learn, Tensorflow, Keras, CUDA. All of which will be covered in our course. Thus, ensuring that the student has the knowledge on this topic from beginning to end, preparing him/her for any opportunity in this field or creating a very strong base if the student wants to pursue his studies in the same field.

In order to enroll into our course, the student is expected to have knowledge on Statistics, Linear Algebra and basic programming skills (Python, Matlab etc). Other than that, no other prerequisites are required. If there are any further queries on this course, feel free to contact us. 

In addition to this, we have world class technical support engineers helping the students at each phase during the course. This has always been our top priority to not just offer a course but guide the students through it and be there at any step if they face a doubt. 

Keeping up with that, the course is spanned out in a duration of 12 weeks, and at the end of each week, the student will be given a challenge which they are expected to complete. Apart from this, the students are to work on two major projects. These greatly add up to the portfolio of a student and help them gain hands-on experience on the subject. 

To give an insight into the course, below are a few topics that the students will be engaging into throughout the length of the course.  

  • Introduction to Computer Vision 
  • Image Processing 
  • Edge Detection 
  • Image Segmentation and features
  • 2D shape + PCA 
  • Matching Tracking 
  • Camera Models and Calib Transformation
  • Stereo Vision
  • SOTA ML based CV Techniques

GET COURSE COUNSELLING TODAY

Get a 1-on-1 demo to understand what is included in the course and how it can benefit you from an experienced sales consultant. The demo session will help you enroll in this course with a clear vision and confidence.

Request a Demo Session

COURSE SYLLABUS

1Intro to Computer Vision

  • General introduction, 
    • History of CV
    • Formulating the field, why is it a hard topic?
  • Definition of computer vision
    • Required components
    • What qualifies as a vision system
  • Humans as a vision system: how good do we “see”?
  • Useful applications
  • Image acquisition using camera
    • Different types of camera for different domain
      • Still, Video, DSLR, Bodycam, Drone
      • Infrared, Ultrasonography, Magnetic resonance
  • Physics of Color: color spectrum
  • Human encoding of color: Rods and cons of eyes
  • Color spaces: 
    • RGB, CMYK, HSV
    • Color balance
  • Camera specifications: 
    • Pinhole
    • CMOS
    • CCD
  • Image specifications: 
    • Pixel (Picture element)
    • Aspect ratio, HD, Interlacing
    • Conversions
  • Type of digital images:
    • Binary, Grayscale, Color 
    • Conversion techniques

2Image processing

  • Noise Removal
    • Pixel Neighborhood
    • Salt and pepper noise
    • Morphing to hide cracks in image
  • Applying filter to images
    • Convolution of matrices
  • Types of Filter: 
    • Mean or Box filtering
    • Median Filter
    • Mode, Mean, Pass 
    • Generic properties of smoothing
    • Anisotropic filtering
  • Gaussian: Isotropy condition, formulation, figure
    • Weight influence of pixels by their distance to the center pixel
    • Spread parameter
    • Motivating examples
  • Filter Separability
    • Computation and Maths
    • Gaussian Separability

3Edge Detection

  • Introduction to edges and gradients
    • Intensity difference
    • 1D versus 2D edge detection
  • Edge detection in mammals
  • 1D signals and 2D signals
    • Difference and derivative mask
    • Examples
  • Image Gradient
  • Image noise: Gaussian noise
  • Smoothing + Edge detection
    • Gaussian Derivative Signals
  • 2D gradient operators
    • Prewitt Masks
    • Sobel Masks
  • Steerable filters
  • Laplacian filters
    • Laplacian of Gaussian
    • Zero Crossings
  • Canny edge detection
    • Hysteresis thresholding
    • Non maximal Suppresion

4Image Segmentation and features

  • Thresholding based on histogram
  • Otsu, Adaptive Otsu
    • Formulation, Advancements and effectiveness
    • Examples
  • Distance Metric: Norm functions
  • Thresholding based on difference metrics, covariance based
  • Different type of background subtraction
    • Mean, Euclidean, Mahalanobis
    • Covariance matrix, multi dimensional mahalanobis 
  • Shadow modelling
    • Transform to color spaces
  • Multi modal background distribution
    • Gaussian Mixture Model
    • Foreground Assignment
  • Clustering to Image Segmentation
    • Agglomerative Clustering
    • K Means, K Means ++
    • Mean Shift Clustering
    • Hierarchical Clustering

5Binary Image Operation

  • Morphology: 
    • Erosion, Dilation
    • Open, Close
  • Connected component
    • Counting objects: Sequential count etc
    • Recursive count
    • Remove Small Features
  • Hough Transformation Algorithm
  • Radon Transformation Algorithm
  • Image Pyramids: Gaussian Laplacian Coding Compression

6Shape of Objects

  • Largest component
  • Medial axis
  • Boundary coding 
  • Chain Coding
  • Shape Numbering
  • Quadtree Representation
  • Bounding box
  • Perimeter, Compactness, Circularity
  • Centroid
  • Spatial Moments
    • Central
    • Second third order
  • Similitude Moment
  • Dimensionality Reduction
  • Linear basis set
  • Principal Component Analysis
    • Eigen Values and Vectors
    • Finding Eigen sets
    • Test on synthetic and Real data
  • Face Recognition using PCA: kernel trick

7Motion

  • Definition, simple motion
    • Image differentiation
    • Single constant threshold
  • Weber's Law
  • Optical flow
    • Formulas, geometry, example
  • Normal optic flow
  • Weighted aggregate,
  • Hierarchical Motion Estimation
  • Motion: Use of linear Algebra
  • 3D motion of point
    • Matrix operations for different motion in objects
    • Pinhole Camera Model
  • 2D matrix motion
    • Translation Motion
    • Similarity Motion
    • Affine Motion
  • Motion History Image
    • Spatial Pattern of where motion occurred
    • Progression of motion
  • Motion Energy Image
  • Silhouette Difference

8Matching & Tracking

  • Motivation, Example
  • Feature based tracking
  • How to find good features to track
  • Find Interest Points (General)
    • Panoramic stitching
  • Features from Accelerated Segment (FAST)
  • Harris Detector
    • Gradients
    • Window weighing function
    • Harris Corner Response Function

9Interest Point

  • SURF algorithm
  • SIFT algorithm for automated feature selection
  • Free alternative to SIFT and SURF in openCV
  •  Laplacian Of Gaussian
    • Automated Feature selection
  • Diff Of Gaussian
  • Covariance tracking
    • Descriptor Matrix
    • Finding best match
    • Rotation Invariance
  • Kanade-Lucas-Tomasi (KLT) Tracker
    • Tracking Features
    • Formulations
    • Reduction Pyramid
    • Select “good” feature based on Eigen Value
  • Mean shift tracking
    • Weighted histograms using spatial kernels
      • Evaluating similarity between distributions using Bhattacharyya coefficient
      • Object tracking by target localization (in each frame) by maximizing the similarity function using mean shift
  • Template Matching
    • Sum-of-Absolute Differences
    • Sum-of-Squared Differences
    • Normalized Cross-Correlation

10Image Registration

  • Lens
    • Thin Lens Model
    • Focus, DoF, Aperture,
  • Projective Camera Model
    • PinHole Camera
    • Intrinsic and Extrinsic Camera Parameters
  • Homogeneous Coordinate
  • Projection
    • Camera Projection
  • Camera Matrices
    • Estimating camera matrices
    • Extracting parameter P
  • Calibration
  • Projection
    • Perspective Effective
    • Affine
    • Orthographic
    • Weak
  • Transformation: Translation, Rotation, Skew, Reflection
  • Planar homography/ Projective Transformation
    • Solving homography matrix
    • Normalized Direct Linear Transformation
    • Example on real 3D data
  • RANSAC Algorithm
  • Gold Standard Algorithm

11Lens & Camera projection

  • 3D intro
    • Motivation
    • Ambiguity in single View
  • Geometry for simple stereo system
  • Depth and Calibration
  • Epipolar Geometry
    • Baseline, Epipole, Epipolar Line, Epipolar Plane
    • Epipolar Constraint
    • Converging camera
    • Parallel Camera
  • Camera Motion
  • Fundamental Matrix
    • Computation
    • 8 point algorithm
  • Depth Matrix
  • Stereo Matching Algorithm
    • Correspondence Search
    • Estimate disparity by finding corresponding points
    • Depth is inversely related to disparity
  • Stereo Matching as Energy Minimization
  • Graph cut algorithm

12SOTA ML based CV Techniques

  • LeNet
  • AlexNet
  • General detection techniques
  • YOLO
  • GAN
  • Autonomous Vehicle Specific Networks
  • Gaussian Neural Network
  • Confidence in classification output: decide object confidence for autonomous vehicle


Projects Overview

Project 1

Highlights

  • Download public road video dataset
  • Extract foreground using background segmentation
  • Use matching template to extract and identify a particular moving object  (people, car etc)
  • Use matching algorithms (Shi tomasi or harris), compare amongst different frames, comment on how well they perform
  • Implement tracking techniques discussed in the class to capture moving pedestrians and vehicles, compare them quantitatively.

Project 2

Highlights

  • Design a machine learning based technique to segment and identify specific tasks related to autonomous systems and vehicles. Objective is to give hands on experience with working on open source and data competitions
  • Students can choose between these kaggle competitions:
  • The student should implement both technique:
    • Classical computer vision based techniques that identifies based on a heuristic
      Machine learning based architecture
    • Compare the two methods

WHO IS THIS COURSE FOR ?


  • Anyone with a background in Statistics, Linear Algebra and basic programming skills (Python, Matlab etc). For instance one should be able to take derivatives, maximize a function etc.

SOFTWARE COVERED

Python, OpenCV, numpy, pandas, matplotlib, scikit-learn, Tensorflow, Keras, CUDA.

Currently these are the industry standard.
  • Basic programming language: Python
  • Computer vision library: OpenCV
  • Linear algebra and database libraries: numpy, pandas
  • Plotting: matplotlib
  • Shallow machine learning library: scikit-learn
  • Deep learning library: Tensorflow, Keras
  • GPU Lib: CUDA


COURSE FEE

Get an edge over your peers by investing in your future.

6 month 0% EMI
Total Course Fee is Rs. 30,000.
Check your 0% EMI Eligibility

GET A CHANCE TO WIN A 10% SCHOLARSHIP FOR THIS COURSE

Take Scholarship Test

Frequently Asked Questions

1Who can take your course?

Anyone with a background in Statistics, Linear Algebra and basic programming skills (Python, Matlab etc). For instance one should be able to take derivatives, maximize a function etc.

For Linear Algebra we need: matrix related operations as transpose, inverse etc. Transformations will involve basic matrix operations as addition as well as advanced operations as rotation. We will also need advanced topics as Singular Value Decomposition. For statistics we need conditional probability, mean, variance etc. For programing, one should be able to write legible scripts to perform simple applications as a calculator. Specifically, one should be able to read an algorithm given in a generic format or flowchart format and write corresponding scripts. There will also be examples to perform such operations in course content.

2What is included in your course?

Basics in classical computer vision, 2d and 3d processing, camera projections, use of machine learning in vision systems

 

3What will the student gain from your course?

Ever wonder how autonomous vehicles effortless navigate through busy traffic or robotic arms perform tasks as assembly hardware with accurate prediction. These days robotic arms are even performing surgery. All these wonders as well as so many simple applications as face detection in our smartphone cameras are due to the advance in computer vision in the last 20years. For domains in computer science, vision systems have had tremendous impact in mechanical, civil, aerospace, medical, agriculture and so many other domains.  Understanding of computer vision systems will enable one to build similar systems and work for industries and research organisations involved in these areas of active research and product building. One should also be able to build end to end state of the systems in said domain

4What software skills are you teaching and how well are these tools used in the industry?

Python, OpenCV, numpy, pandas, matplotlib, scikit-learn, Tensorflow, Keras, CUDA. Currently these are the industry standard

 

5What is the real world application for the tools and techniques will you teach in this course?

All coursework will be based on some real world project which are currently under active use/research. We will work on road camera footage, face analysis, 3d camera systems etc.

 

6Which companies use these techniques and for what?

Google, Amazon, Facebook, Apple to name a few are some companies who are using image detection for their hardware (VR system, FAIR project camera) or API development. 

 

7How is your course going to help me in my path to MS or PhD?

The course will include knowledge required for current research in leading universities around the globe especially the US. We will cover topics pertaining to major publications in CVPR NIPS and all the top tier vision and data science conferences. As a teaching instructor of the Ohio state vision community and having worked under professors from MIT, the course is inspired from the vision labs in Stanford and MIT

8How is this course going to help me get a job?

Besides making one knowledgeable in computer vision and machine learning techniques, the course will teach you a holistic approach in data science and project builds. These skills are of primal importance in not only computer vision but research/data analytics based jobs as well. 

Startups and big players in Autonomous Vehicles as Tesla, Honda, Baidu, GM Cruise requires candidates to know these technologies. 

Other booming areas include medical data analysis which is active research not only in industries as Siemens and Eli Lilly but research institutes in USA, Europe, and the IITs. 

Image indexing, identification and searching is used by tons of industries primarily the social network based companies as facebook, snap inc., open ai.


SKILL LYNC WORKS TO GET YOU A JOB

See all

Certification

  • Top 5% of the class will get a merit certificate
  • Course completion certificates will be provided to all students
  • Build a professional portfolio
  • Automatically link your technical projects
  • E-verified profile that can be shared on LinkedIn

Testimonials

Companies hire from us

See all

You Might Also Be Interested In

Related Courses

See all

The Skill-Lync Advantage

See all