Summary
In this chapter, we have presented the concept of a deep convolutional network, which is a generic architecture that can be employed in any visual processing task. The idea is based on hierarchical information management, aimed at extracting features starting from low-level elements and moving forward to the high-level details that can be helpful to achieve specific goals.
We discussed the concept of convolution and how it's applied in discrete and finite samples. We followed on by defining the properties of standard convolution, before analyzing some important variants such as atrous (or dilated) convolution, separable (and depth wise separable) convolution, and, eventually, transpose convolution. All these methods can work with 1D, 2D, and 3D samples, even if the most diffused applications are based on bidimensional (not considering the channels) matrices representing static images. In the same section, we also discussed how pooling layers can be employed to reduce...