Skip to main content

Intro to Generative Adversarial Networks | GANs 001

   GANs consist of three terms Generative Adversarial Network. Let's understand these three terms first. Generative : A Generative Model takes input training sample from some distribution and learns to represents that distribution. Adversarial : It basically means Conflicting or Opposing. Networks : These are basically neural networks. So,Generative Adversarial Networks are deep neural network architecture comprising of two neural networks compete with each other to make a generative model. A GAN consist of two class models : Discriminative Model :- It is the one that discriminate between two different classes of data.It tries to identify real data from fakes created by the generator Generative Model :- The Generator turns noise into an imitation of the data to try to trick the discriminator Mathematically, A Generative Model 'G' to be trained on training data 'X' sampled from some true distribution 'D' is the one which, given some standard random distrib

How to resize an Image using OpenCV

Media files tends to have a lot of information and processing it need a lot of time and computation. Resizing of image and videos is done to prevent computational strain Resizing is basically modifying the width and height. Many image recognition and machine learning applications benefit from scaling. By Resizing, the training time of a neural network can be significantly reduced.

We'll use CV2.resize() method :-

cv2.resize(src, dsize, interpolation)

  src - takes the input image

  dsize - take the output dimension as input in Tuple

  Interpolation take three method as input

  •  cv2.INTER_AREA : This is used when we need to shrink an image.It is the preferred method
  •  cv2.INTER_CUBIC : A Bicubic method, is slow but more efficient.
  •  cv2.INTER_LINEAR : This is primarily used when zooming is required. This is the default interpolation technique in OpenCV

  The Function defined below will always work for Images, Video and Live Camera Feed.

CODE FOR RESIZING.


import cv2

frame= cv2.imread("cam.jpg") #read the input image

def rescaleFrame(frame,scale_value=0.50):
width = int(frame.shape[1] * scale_value)
height = int(frame.shape[0] * scale_value)
dim = (width,height)

return cv2.resize(frame,dim)

img = rescaleFrame(frame)

cv2.imshow('image',img)
cv2.waitKey(0)

NOTE :

Change the value of 'scale_value' according to your preference it is basically the percent by which you want to change the size of image.

'frame.shape[1] ' - is the width of the input image 

'frame.shape[0] ' - is the height of the input image 



Comments

Popular posts from this blog

Best Platforms to Improve Machine Learning Skills | 2020

 Machine learning is one of the most exciting techniques one has ever encountered.The field of study that gives computers the ability to learn without being explicitly programmed is machine learning.Their are platforms that can help you improve your Machine Learning skills. Today I've come up with the list of some of my favorite platforms.   Platforms to Improve Machine Learning Skills 1. Kaggle The online community of data scientists and machine learning practitioners is Kaggle, a subsidiary of Google LLC. Kaggle is the largest data science community in the world.Kaggle enables users in a web-based data-science environment to find and publish data sets, explore and build models, work with other data scientists and machine learning engineers, and enter competitions to solve challenges in data science.With it's free GPUs, high paying competitions,massive community , thousands on datasets and notebooks, this platform helps a lot. 2. Seedbank It was launched by  'TensorFlow