# Multi-Pooled Inception Features for No-Reference Image Quality Assessment
## 2 Methodology
### Pipeline of the Proposed Method  
The pipeline of the proposed framework is depicted in Figure 2. A given input image to be evaluated is run through a pretrained CNN body (GoogLeNet [31] and Inception-V3 [32] were considered in this study) which carries out all its defined operations. Specifically, global average pooling (GAP) layers are attached to the output of each Inception module. Similar to max- or min-pooling layers, GAP layers are applied in CNNs to reduce the spatial dimensions of convolutional layers. However, a GAP layer carries out a more extreme type of dimensional reduction than a max- or min-pooling layer. Namely, an \(h\times w\times d\) block is reduced to \(1\times 1\times d\). In other words, a GAP layer reduces a feature map to a single value by taking the average of this feature map. By adding GAP layers to each Inception module, we are able to extract resolution independent features at different levels of abstraction. Namely, the feature maps produced by neuroscience models inspired [37] Inception modules have been shown representative for object categories [31; 32] and correlate well with human perceptual quality judgments [40]. The motivation behind the application of GAP layers was the following. By attaching GAP layers to the Inception modules, we gain an architecture which can be easily generalized to any input image resolution and base CNN architecture. Furthermore, this way the decomposition of the input image into smaller patches can be avoided, which means that parameter settings related to the database properties (patch size, number of patches, sampling strategy, etc.) can be ignored. Moreover, some kinds of image distortions are not uniformly distributed in the image. These kinds of distortions could be better captured in an aspect-ratio and content preserving architecture. As already mentioned, a feature vector is extracted over each Inception module using a GAP layer. Let \(\mathbf{f}_{k}\) denote the feature vector extracted from the \(k\)th Inception module. The input image's feature vector is obtained by concatenating the respective feature vectors produced by the Inception  
Figure 2: The pipeline of the proposed method. An input image is run through on an ImageNet [41] database pretrained CNN body (GoogLeNet [31] and Inception-V3 [32] were considered in this study) which carries out all its defined operations. Furthermore, global average pooling (GAP) layers are attached to each Inception module to extract resolution independent deep features at different abstraction levels. The feature vectors obtained from the Inception modules are concatenated and an SVR with radial basis function is applied to predict perceptual image quality. modules. Formally, we can write \(\mathbf{F}=\mathbf{f}_{1}\oplus\mathbf{f}_{2}\oplus...\oplus\mathbf{f}_{N}\), where \(N\) denotes the number of Inception modules in the base CNN and \(\oplus\) stands for the concatenation operator. In Section 3.3, we present a detailed analysis about the effectiveness of different Inception modules' deep features as a perceptual metric. Furthermore, we point out the prediction performance increase due to the concatenation of deep features extracted from different abstraction levels. Subsequently, an SVR [42] with radial basis function (RBF) kernel is trained to learn the mapping between feature vectors and corresponding perceptual quality scores. Formally, it can be written:  
\[y_{i}=\langle\mathbf{w},\Phi(\mathbf{x}_{i})\rangle+b, \tag{1}\]  
where \(\mathbf{w}\) is the separating hyper-plane and \(b\) is the bias. They are learned from the training data.