A significant work in deep learning technique such as Convolution Neural Network (CNN) is in preparation and augmentation of image data. The data is then fed to the network for classification. In this talk, we will discuss an example where we will solve a CNN after preparing the data using appropriate computer vision and image processing algorithms using modules such as numpy, scipy, OpenCV etc.
Deep learning solves some of the most complex problems in computer vision. Deep learning is primarily a data problem (i.e.,) the more data we can provide to the learning algorithm, the better would be the outcome. In that regards, data preparation is a pre-requisite for solving deep learning problems.
Python is one of the most popular language for solving these deep learning problems. Python libraries such as Tensorflow, Theanos, Keras have made programming deep learning relatively easy. However, we still need to perform image augmentation and image preparation before feeding the data to deep learning. In this talk, we will learn about preparing large dataset of images for solving Convolution Neural Network (CNN) based classification.
We will read images using OpenCV and store them as numpy arrays. We will then filter and pre-process the images using scipy and OpenCV, so that the resulting tensor can be fed to the CNN. Along the way, we will discuss the philosophy behind each of these modules.
We will use Anaconda Python distribution along with the latest version of Tensorflow for this talk.
Dr. Ravi Chityala is a Senior Engineer at Elekta Inc. He has more than 12 years of experience in image processing and scientific computing. He is also a part-time instructor at University of California Santa Cruz, Silicon Valley Extension, Santa Clara, CA, where he teaches advanced Python to programmers. He uses Python for web development, scientific prototyping and computing and as a glue to automate process.