Giter Site home page Giter Site logo

computer-vision-with-python's Introduction

Formation Computer Vision with Python

This repository includes the "Computer Vision and AI with Python" training course offered to the robotics section of the MicroClub student club at the Université en Sciences et Technologies Houari Boumedienne (USTHB).

The training ranges from an introduction to the Python language to the realization of a Deep Learning model for a Computer Vision task.

Framework covered

  • Data analysis : Pandas
  • Data vizualisation : Matplotlib, Seaborn
  • Machine Learning : Scikit-learn
  • Computer Vision : OpenCV, Scikit-image
  • Deep Learning : Tensorflow, Keras

Content

Session 1 : Introduction to Machine Learning + Introduction to the Python language

  • Introduction to the Python language
    • Special features
    • How to use it
    • Ecosystem
  • Introduction to the concept of Machine Learning
    • Defining Machine Learning
    • Machine Learning VS Deep Learning VS Artificial Intelligence vs Data Science
    • The world of Data Science
    • The different problems addressed by Machine Learning and Deep Learning (Computer Vision)
    • What is Machine Learning in practice?
  • Introduction to the Python language
    • Hello world with Python
    • Variables and typing
    • Arithmetic and logical operations
    • Conditions and loops
    • Functions
    • Data structures
      • Lists
      • Dictionaries
      • Tuples
      • Sets
    • Classes (introduction to the OOP concept)

Session 2 : Data analysis and visualization with Python

  • Introduction to data analysis and visualization
  • Usefulness of data analysis and visualization
  • The common Python libraries for data analysis and visualization
  • Introduction to NumPy
    • Creating and manipulating a Numpy array
    • Extracting information from a Numpy array
    • Indexing a Numpy array
    • Arithmetic, logic and matrix operations
    • Viewing and copying principles
    • Boolean Masks
    • Random Number generation
    • Reshaping a Numpy array
  • Introduction to data visualization with Matplotlib
    • Overview of the different graphs you can create
    • Customizing graphs
    • How to create subplots
  • Introduction to data analysis with Pandas
    • Load data
    • Extracting basic information from data
    • Manipulating and arranging data
    • Extract missing data and know how to replace it
    • Create DataFrame-based visualizations
    • Extracting information from data
  • Introduction to Seaborn
    • Introduction to Seaborn and graphics
    • Use cases for data visualization as a Data Science tool

Session 3: Machine Learning with Python and scikit-learn

  • Definition of Machine Learning
  • Presentation of the different problems that can arise
  • Presentation of the models we'll be using
  • Using Machine Learning for a classification problem
  • Setting up an analysis and data visualization pipeline
  • Training, optimization and performance comparison of the models presented
  • Visualization of the results obtained.

Session 4 : Introduction to Computer Vision with OpenCV

  • What is Compuer Vision
    • Definition of Computer Vision
    • Computer Vision vs Image processing
    • Several applications
  • Python libraries for Computer Vision
  • Computer Vision with OpenCV
    • Presentation of OpenCV
    • Project 1 : Classification of traffic signs
      • Data loading
      • Application of filters
      • Color space conversion
      • Image reshaping
      • Application of HoG (Histogram of Oriented Gradient)
      • Classification using previously studied Machine Learning models
    • Additional content : Faces detection using Haar Cascade algorithm

Session 5 : Introduction to Computer Vision using Deep Learning

  • Definition of Deep Learning
  • Presentation of some Deep Learning applications in Computer Vision
  • Presentation of the frameworks we'll be using
  • MNIST project
    • Introduction to Keras and Tensorflow
    • Loading a dataset
    • Dataset preprocessing
    • Creation of a CNN using the three paradigms: sequential, functional and object-oriented
    • Model training and evaluation

Session 6 : Image classification with Tensorflow

  • Image loading
  • Image pre-processing
  • Setting up a complete pipeline
  • Model evaluation
  • Discussion of possible improvements

Additional content

Complementary projects

OpenCV tutorial

Coming soon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.