Convolution is a very important concept in the world of machine learning. In many of the previous chapters, you have read about various algorithms, and you have seen how they work on numbers. Convolution is a technique which automates extraction and synthesis of significant features needed to identify the target classes, useful for machine learning applications. Fundamentally, convolution is feature engineering guided by the ground truth and cost function. Thus, convolution is used for some of the coolest applications of machine learning, such as image recognition, handwriting reading, interpreting street signs, etc. As you can well imagine, one of the most famous applications of machine learning – ADAS (autonomous driver assistance system) – depends on convolution as a component of the whole system to identify objects and to interpret signs!!