Basics of Computer Vision using Python

Basics of Computer Vision using Python

A comprehensive course on Computer Vision using Python. This course is highly suited for beginners

  • 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


Basics of Computer Vision using Python

The computer vision online course is quite comprehensive as it covers an array of functions and techniques. Once students enrol in the course, they can easily learn computer vision with Python. The programme begins with some basic concepts and then progresses to the nitty-gritty of the language. Students get a chance to work on a live project where they will get hands-on experience on how computer vision will work with the help of Python.

The computer vision course includes two projects on which the students will be working. The project will consist of fundamentals of Python along with background segmentation and designing of basic techniques that build autonomous systems and vehicles. The computer vision online course will also cover the following aspects:

  • Introduction to Computer Vision.
  • Image Processing.
  • Image Segmentation.
  • Stereo Vision.
  • Camera Models.

The computer vision online course will also include 2D shapes and stereo vision. The computer vision course is very comprehensive and will help in understanding Python and then using it practically in real-life based situations. Skill Lync provides the best computer vision course where you can easily learn computer vision with Python and learn the basics of Python, a multipurpose language. The course fee is Rs.30,000 and will last for 12 weeks.

Who Should Take the Computer Vision Online Course? 

The computer vision course is ideally designed for students who have prior experience handling Algebra and Statistics. Also, students should opt-in for this course and learn computer vision with Python if they have some basic programming skills or have used platforms like Python, Matlab, etc., before. Also, this course will require them to design a lot of functions. Therefore, students should have decent mathematical skills to join this course. Maximising a function, taking derivatives, etc., will be an important part of the computer vision course.

However, the language is a little difficult, and the course has a few prerequisites. An ideal student is expected to understand Statistics, Algebra, etc., before enrolling on the course. Also, an idea of basic programming is a must-have as Python can get tricky. We offer the best computer vision course to help professionals make a career out of the language.

What Will you Learn?

While students learn computer vision with Python, they will touch upon several other aspects once they get enrolled in the computer vision course. The course gives students two projects to work on, which will help them understand how the industry works on computer vision and how Python can be integrated to use computer vision. Some aspects that students will learn are listed below:

  • Introduction to Computer Vision and the history.
  • Image processing and understanding the Pixel neighbourhood.
  • An introduction to edges and gradients and edge detection in 1D and 2D images.
  • Segmenting of images and their features.
  • Morphology and its elements.
  • Object shapes and sizes and the element of the Medial axis.
  • Feature-based and matching and tracking and spotting good and trackable features.
  • Understanding the SURF algorithm and the SIFT algorithm and their alternatives can be brought to use.
  • Registration of Images.
  • Projection of the lens and the camera.

Skills You Will Gain?

Here are some of the skills you will acquire once students start working on Python and implementing it to computer vision:

  • Programming Skills
  • Statistics
  • Linear Algebra
  • Deriving functions
  • Using Computer Vision and working with all kinds of images
  • Plotting of data
  • A sense of how machine learning works
  • Tools like TensorFlow, Kera’s, etc
  • Image Processing

Key Highlights of the Programme 

  • The resources shared with the candidates align with the standard industry practices. Students will get an idea as to how things work practically.
  • Skill-Lync provides certificates to anyone who completes the course. Additionally, a merit certificate will be provided to the top 5% of the course participants.
  • It is a 3-month course, and access to the course material will depend on the amount you pay.
  • Several technical engineers will support the students throughout the course.

Career Opportunities after taking the course 

There are several career opportunities for people who opt-in for the computer vision course. Engineer, researcher, developer, programmer, and scientist are just a few computer vision occupations available. Opportunities abound, and the pay for these positions is quite competitive.

A computer vision online course will make students abreast with the latest technologies and trends driving computer vision. Not only that, but the course also offers a live project where students can learn computer vision with Python and bring the literature to use. With the help of the live project, students will get a real-time experience using Computer Vision. Students can then take up any job that involves Computer Vision or its application like Image Processing, Object Detection, etc.

FAQs on Basics of Computer Vision using Python

  1.  Is Machine Learning an important part of Computer Vision?
    Computer vision involves various algorithms, and hence Machine Learning has become an important part of it.
  2.  Will we be provided with some reading material for the computer vision course?
    Yes, a lot of reading material is provided for you to read from and practice.
  3.  Will Cloud Services be a part of the computer vision course?
    Yes, but you are not required to be a specialist in the same. An introductory knowledge would be more than enough.
  4.  Will I get a certificate post the completion of the course?
    You will get a certificate of completion once you finish the course.
  5. Is the course relevant for engineers?
    Students who come from a mechanical and computer science background can enrol in this course.
  6. 6. Will the project involve the elements of Image Processing?
    Yes, image processing forms a very important part of the live project.
  7. 7. Can I take a trial session before paying for the course?
    Yes, you can book a one-on-one demo before making the payment for the course.
  8. 8. Can Computer Vision be used in Autonomous Vehicles?
    Computer Vision is very actively used in Autonomous Vehicles, and you can take up the course if you are developing new-age vehicles.

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