# A CNN Model for Human Parsing Based on Capacity Optimization
## 3 Methodology
### Capacity Optimization of SM
Moreover, the involvement of the five additional layers has brought significant improvements in accuracy over the backbone network, as will be shown in Section 4.2. Different from traditional segmentation models, the feature representations at Stage 6 which correspond to 4 point-of-views are concatenated and fused by the 1 \(\times\) 1 convolutions at Stage 7, as compared to the direct summation in Reference [8]. Feature fusion offers a much more flexible scheme of combining the features from different point-of-views. The network can learn to add up the features or combine the features in more complex ways. Besides improving depth which leads to the increase in computational complexity, we also propose to exchange width for depth to obtain further improvements in accuracy while reducing the number of parameters. Two methods have been proposed to reduce the complexity of convolutional layers by replacing one conventional convolutional layer with a stack of simplified layers. The overall complexity of stacked simplified layers is less than that of one original convolutional layer. The mechanism is shown in Figure 5. Figure 4(b) shows our first proposed way of exchanging width for depth. In one conventional layer, \(C_{in}\) independent 3 \(\times\) 3 convolutional kernels function on \(C_{in}\) channels to obtain one output channel. In one simplified sub-layer, \(N\) (\(N\ll C_{out}\)) kernels function on each of the \(C_{in}\) input channels and the intermediate representation has \(NC_{in}\) output channels which are processed by 1 \(\times\) 1 convolutions. \(M\) is the number of sub-layers which are stacked to replace one conventional layer. Even if one sub-layer is less expressive than one conventional layer with the same \(C_{in}\) and \(C_{out}\), the stack of \(M\) sub-layers achieves a higher expressive power than one conventional layer without increasing the overall number of parameters for proper choices of \(M\) and \(N\). In Figure 4(c), the second way of exchanging width for depth is introduced. Each conventional layer is replaced by two sub-layers. The difference lies in that Figure 4(b) uses 4 sub-layers to replace one conventional layer, while Figure 4(c) uses two sub-layers. The structures introduced in Figure 5b and c will be used to simplify conv17 and conv18 shown in Figure 3. As will be shown in the experiments, accuracy is kept almost the same with the overall computational complexity reduced. Deeplab-V2 [9] and joint pose estimation and part segmentation [8] which is based on Resnet-101 [9] are also trained on the segmentation datasets for comparison. The initialization of weights in Figure 5b was discussed in Reference [61] and the initializations of weights in Figure 5c is based on minimizing the reconstruction error:

\[\operatorname*{argmin}_{\mathbf{U},\mathbf{V}}\sum_{i=1}^{C_{out}}\left\|W_{ i}-\sum_{j=1}^{C_{out}/2}U_{ij}V_{j}\right\|_{2} \tag{7}\]

Figure 5: The proposed way of exchanging width for depth: (**a**) A conventional convolutional layer; (**b**) simplify one conventional layer to sub-layers and concatenate \(M(M=4)\) sub-layers to replace one conventional layer. Each sub-layer is obtained by decomposing one conventional layer and increasing the dependency between convolutional kernels; (**c**) simplify one conventional layer to sub-layers and stack 2 sub-layers to replace one conventional layer. where \(\mathbf{W}\) denotes the weights matrix in one layer shown in Figure 5a with size \(C_{out}\times C_{in}k_{h}k_{w}\), with \(\mathbf{W}_{i}\) denoting the \(i\)-th row of \(\mathbf{W}\). \(\mathbf{V}\) denotes the weights in Sub-layer 1 with \(\mathbf{V}_{i}\) being the \(i\)-th row of the matrix. \(\mathbf{U}\) denotes the weights in Sub-layer 2 with \(\mathbf{U}_{ij}\) being the \((i,j)\)-th entry of the matrix. ### Domain Randomization

To reduce the generalization error, it is necessary to bridge the gap between the source domain (training data) and the target domain (test data). Some methods have been proposed to discuss the problem [62].