Machine Learning for OpenCV: Intelligent image processing with Python

Expand your OpenCV knowledge and understand key machine learning concepts using this practical guide

Key Features

Load, store, edit, and visualize data using OpenCV and Python
Grasp the fundamental concepts of classification, regression, and clustering
Understand, perform, and experiment with machine learning techniques

Book Description

Machine learning is no longer just a buzzword, it is all around us - right from protecting your email and automatically tagging friends in pictures, through to predicting the movies you like. Computer vision is one of the most exciting fields for machine learning application, with deep learning driving innovative systems such as self-driving cars and Google's DeepMind. OpenCV is significantly related to these topics, providing a comprehensive open source library for classic as well as state-of-the-art computer vision and machine learning algorithms. In combination with Python Anaconda, you get easy access to a wide range of open source computing libraries.

This book begins by introducing you to the essential concepts of statistical learning, such as classification and regression. Once you have learned the basics, you will explore a variety of algorithms such as decision trees, support vector machines, and Bayesian networks, and learn how to combine them with other OpenCV functionalities. As you progress, you'll build on your machine learning skills, and explore one of its most important concepts - deep learning. You'll even be able to use it for classifying handwritten digits. Finally, the book will summarize everything you've learned and help you tackle machine learning problems using the tools covered in the chapters.

By the end of this book, you will have the skills you need to address different machine learning challenges, either by building on the existing source code or developing your own algorithm from scratch.

What you will learn

Explore and make effective use of OpenCV's machine learning module
Understand deep learning for computer vision with Python
Get to grips with linear regression and regularization techniques
Classify objects such as flower species, handwritten digits, and pedestrians
Learn the use of support vector machines, boosted decision trees, and random forests
Get familiar with neural networks and deep learning to address real-world problems
Discover hidden structures in your data using k-means clustering
Get up to speed with data pre-processing and feature engineering

Who this book is for

This book is for Python programmers who are already familiar with OpenCV.

Table of Contents

A Taste of Machine Learning
Working with Data in OpenCV and Python
First Steps in Supervised Learning
Representing Data and Engineering Features
Using Decision Trees to Make a Medical Diagnosis
Detecting Pedestrians with Support Vector Machines
Implementing a Spam Filter with Bayesian Learning
Discovering Hidden Structures with Unsupervised Learning
Using Deep Learning to Classify Handwritten Digits
Combining Different Algorithms into an Ensemble
Selecting the Right Model with Hyperparameter Tuning
Wrapping Up