Explore mathematical computations and algorithms for image processing using popular Python tools and frameworks
Key Features
- Gain practical knowledge of every image processing task with popular Python libraries
- Explore topics such as pseudo-coloring, noise smoothing, and computing image descriptors
- Cover popular machine learning and deep learning techniques for complex image processing tasks
Book Description
Image processing plays an important role in our daily lives with various applications in social media (face detection), medical imaging (X-rays and CT scans), and security (fingerprint recognition). This book is designed to help you learn the core aspects of image processing, from essential concepts to code using the Python programming language.
The book starts by covering classical image processing techniques. You'll then go on to explore the evolution of image processing algorithms, right up to the recent advancements in image processing and computer vision with deep learning. As you progress, you'll learn how to use image processing libraries such as PIL, scikit-image, and scipy ndimage in Python. The book will further enable you to write code snippets in Python 3 and implement complex image processing algorithms such as image enhancement, filtering, segmentation, object detection, and classification. You'll gradually be able to implement machine learning models using the Python library, scikit-learn. In addition to this, you'll explore deep convolutional neural networks (CNNs), such as VGG-19 with Keras, before progressing to use an end-to-end deep learning model called YOLO for object detection. Later chapters will take you through a few advanced problems, such as image inpainting, gradient blending, variational denoising, seam carving, quilting, and morphing.
By the end of this book, you'll have learned how to implement various algorithms for efficient image processing.
What you will learn
- Perform basic data pre-processing tasks such as image denoising and spatial filtering in Python
- Implement Fast Fourier Transform (FFT) and Frequency Domain Filters such as Weiner in Python
- Perform morphological image processing and segment images with different algorithms
- Get to grips with techniques for extracting features from images and matching images
- Write Python code to implement supervised machine learning and unsupervised machine learning algorithms for image processing
- Use deep learning models for image classification, segmentation, object detection and style transfer
Who this book is for
This image processing handbook is for computer vision engineers and machine learning developers who are well-versed in Python programming and want to delve into the various aspects and complexities of image processing. No prior knowledge of image processing techniques is required.
Table of Contents
- Getting started with Image Processing
- Sampling Fourier Transform
- Convolution and Frequency domain Filtering
- Image Enhancement
- Image Enhancement using Derivatives
- Morphological Image Processing
- Extracting Image Features and Descriptors
- Image Segmentation
- Classical Machine Learning Methods
- Learning in Image Processing - Image Classification with CNN
- Object Detection, Deep Segmentation and Transfer Learning
- Additional Problems in Image Processing
Sandipan Dey is a Data Scientist and Data Science Developer with a wide range of interests in related areas including Computer Vision, Image Processing, Artificial Intelligence, Deep Learning, Natural Language Processing, Distributed Data Mining, Information Retrieval, Algorithms and Mathematics. He has been working on Data Mining, Machine Learning and its application since 2009. Sandipan Dey has been working He was working as a research assistant in the University of Maryland Baltimore County (UMBC), Baltimore (2009-2011) on Data Mining / Distributed Data Mining, from where he has done his Masters in Computer Science in 2011. He has published in a few International Data Mining / Machine Learning Conferences (ICDM'09, NASA-CIDU'10) and Journals (ISSRE'13, IDA'14). He has been working as a Consultant in Advanced Analytics in Wipro (2012-2014) and as a Data Scientist in a few startup companies including ThinkBigAnalytics (in MountainView) and Turnoutnow (current company). He worked on many machine learning projects, POCs, use-cases and a couple of products with real-world data. He has successfully completed many online courses such as - Image Processing courses (Duke, North-Western @Coursera) - Computer Vision courses (UPenn @Coursera, Microsoft @edX) - Computational Photography course (Gatech @Coursera) - Machine Learning (Stanford, Caltech, Columbia, UCSD, UIUC) - Deep Learning (certification from deeplearning.ai by Andrew Ng.) - Probability, Optimization, Statistics (MIT, Harvard, Purdue @edX, JHU @Coursera) - Distributed Machine Learning (UCBerkeley @edX) - R, Python (Columbia, Harvard, Microsoft @edX, JHU, UMich @Coursera) - Artificial Intelligence (Columbia, Microsoft @edX) - Recommender System, Social Network Analysis (Coursera) - NLP, Text Mining (Stanford, Columbia, UIUC @Coursera). He is a regular blogger in his own blog (sandipanweb.wordpress.com) where he writes blogs on Data Science problems. Prior to his masters, he was working as a software developer for around 5 years in a few companies including Microsoft IDC, he has an overall experience of around 15 years. He has done his BE in Computer Science from Jadavpur University, Kolkata.