Computer Vision Flashcards
What is representation learning of CNN
The Network not only predicts the classification but also learns how the image is composed, all the interconnection that are in the image in order to make is an object
Self supervised learning, what is it?
Still need to fully get it
What is perception?
Ability to capture and process information from our senses
What is the perceptron
Simple model that defines a linear boundry 0 or 1 ( sign(xw)). It does not work if the observation are not linearly separable. You can see the perceptron as one neuron
Learning algorithm
Is an algorithm that is able to learn from data. Ingredients: - Task - Performance Measures - Experience
Unsupervised Learning
Find pattern in data without really giving them any direction (no expert input). Mainly used for clustering
Reinforcment learning
There is an agent that is performing a certain task, in order to learn a specific task there is a feedback loop that gives rewards to the agent as soon that it makes a correct action. Used a lot for games
The agent is in a particular state and is performing a certain action, this action will bring the agent to be in state + 1. This move is associated to a positive, negative or neutral feedback
List all the type of learnings
Active Learning Online Learning and Incremental Learning Weak supervised Learning Self-supervised Learning Deep Learning Federated Learning
What is inductive bias
Inductive Bias is the bias that is introduced by the hipothesi selection (meanig which assumption I am using in the modeling phase)
You have two types of Bias
- Restriction (lmit hipothesis space)
- Preference: Impose ordering on hypothesis (priorities)
Bias and Variance trade-off
When you are modeling you risk to overfit or underfit, meaning introducing a lot of bias or a lot of variance in your predictions.
Bias means that your assumption are too strict and you are not able to fully explain the phenomenon.
Variance means that you ar e explaining not only the phenomenon but also the noise such as measurement error that do not help when generalizing the results.
If you have high variance you will see strong performances in the training set and bed ones in the test set. High Bias you see bad performances in both the data-sets
What is Algorithmic Bias
An algorithm that creates unfair outcomes it has a Bias. A system that is acheiving better result for an ethnic group
Cost Function
Is your tool to measure performances and feed these information back into the model. Your goal is to minimize it.
Gradient Descent
Is a successful algorithm that allows you to estimate the parameters.
You are basically descending the loss functions towards low value of it. You use the gradient to inform it.
Update the weights towards the negative of the gradient multiplied by a learning rate
Challenges connected to Vision
- Illumination
- Shadow
- Scale
- Perspective view
- Viewpoint
- Deformation
- Occlusion
- Clutter
- For Classification (intra-class variation or inter class variation)
image representation
Binary: Black and white image can be represented as 0 and 1 matrix
Greyscale: values from 0 to 255
Color Images: 3 layers with values betwee n 0 and 255 (blue, green and red)
What is color constancy?
Some color might look different if they are close to other colors
What is the issue due sampling?
Is basically when you have an image where the border are not well defined, in order to decrease this problem you can increase the resolution (dpi)
Quantized?
Image are mapped into a matrix with values for each pixel
Image instogram
Is a nice way of visualizing an image as an intogram. Since every pixel is a value between 0 and 255 you can visualize thir distribution. Can be done for Greyscale and color image.
It is not really useful for image comparison
What does it mean that you can see the image as a function?
You can see an image as a matrix of values, and x the rows and y the column, in such a way that the function f(x,y) map these two coordinates to a particular value between 0 and 255
What is a filter?
It is used in order to transform the pixels from an image. It is used to extract info or transform the images to simplify it or add info. It is basically a function that defines how to process teh pixels
Use case:
- Extract Info
- Detect patterns
- De-noising
Filters are typically Convolution filters
Smoothing filter
Smothing filters are filters that are applied to the images to remove sharp feature or it.
They need to have some propreties:
- They need to have positive values
- They need to sum up to one
- Amount of smoothing depends on the kernel size
- Remove high frequencies (remove the dependencies with closeby region with a lot of black for instance)
Moving average = kXk filter with the sum that goes to 1 that is going to be applied in a region of the image. It replace each filter as the neighbour average. It has the goal of removing sharp feature
Boundry issue
Every time that you apply the filter you do not get the same shape out if you are not using a padding
Gaussian Filter
The Gaussian filter is a type of convolution filter where the pixel are weighte depending on the distance from the filter center.
There are two parameters that rules the filter and are:
- Size of the filter
- Scale of the gaussian ditstribution
What is a convolution
Given an n-dimentional object a convolution is the function that applyis a certain kernel sequencially on each reagion of the input.
To call it convolution you need to take the kernel and then flip it, vertically and then horizontally. Otherwise you are looking at cross correlation. It all depends on the casuality of the signal, what depends on what.
It is used for signal processing
Propreties of convolution
- Commutative: fg = gf
- Associative: (fg)h = f(gh)
- Homogeneity: k fg = fk g = k(f*g)
- Distributive: f(g+h) = fg + f*h
- Shift invariant: You can shift the image but the utput will behave the same (the inputs are the same just shifted)
- Separability: You can separate a 2d filter into 2 1d filters (using matrix multiplication)
Sharpening filter
You can use convolution where you use two different filters (explane)