Introduction
Machine learning is nowadays, very often used to solve difficult machine vision problems. In fact, it is a rich field of research encompassing many important concepts that would deserve a complete cookbook by itself. This chapter surveys some of the main machine learning techniques and explains how these can be deployed in computer vision systems using OpenCV.
At the core of machine learning is the development of computer systems that can learn how to react to data inputs by themselves. Instead of being explicitly programmed, machine learning systems automatically adapt and evolve when examples of desired behaviors are presented to them. Once a successful training phase is completed, it is expected that the trained system will output the correct response to new unseen queries.
Machine learning can solve many types of problems; our focus here will be on classification problems. Formally, in order to build a classifier that can recognize instances of a specific class of concepts...