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.
- Data analysis : Pandas
- Data vizualisation : Matplotlib, Seaborn
- Machine Learning : Scikit-learn
- Computer Vision : OpenCV, Scikit-image
- Deep Learning : Tensorflow, Keras
- 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)
- 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
- 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.
- 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
- 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
- Image loading
- Image pre-processing
- Setting up a complete pipeline
- Model evaluation
- Discussion of possible improvements