In the previous chapter, we discussed the importance and applications of features. We now understand that the better the features are, the more accurate the results are going to be. In recent periods, the features have become more precise and as such better accuracy has been achieved. This is due to a new kind of feature extractor called Convolutional Neural Networks (CNNs) and they have shown remarkable accuracy in complex tasks, such as object detection in challenging domains, and classifying images with high accuracy, and are now quite ubiquitous in applications ranging from smartphone photo enhancements to satellite image analysis.
In this chapter, we will begin with an introduction to neural nets and continue into an explanation of CNNs and how to implement them. After this chapter, you will be able to write your own CNN from scratch for applications...