Github Source: Https://github.com/SinaHonari/RCN
Convnet Existing problems:
- Max-pooling:for tasks requiring precise localization, such as pixel level prediction and segmentation,max-pooling destroy s exactly the information required to perform well.
Solution: Summation and Concatenation/recombinator Networks (coarse features inform finer features)
- The removal of Max-pool,conv also has a certain problem, Conv is a good edge detector, so in the detection of the critical point of occlusion, will choose closer to the edge. At the same time, Conv can not learn the relative position relationship well. Therefore, a structured output is usually followed by a conv. And this question proposed denoising KeyPoint model solves this problem.
Solution: Denoising KeyPoint Model
Pictured, the left is sumnet, and the right is Recombinator Networks
Sumnet: The trunk is a convolution plus pooling process, the image scale is continuously halved, the number of channels is increasing. Then each layer will have branches, convolution operations, and finally each layer through the sampling will be a 5 channel of the same size feature map, the feature map for a weighted sum.
PS: This weighted sum is actually the same as the concatenation weighting. This allows you to understand why there are feature map additions to this operation.
Loss function: Cross entropy, L (W) =\frac{1}{n}\sum_{n=1}^n\sum_{k=1}^k-\log P (y_k=y_k^{(N)}| x=x^{(N)}) +\lambda| | w| | ^2
n is the number of training samples, K is the number of joint points
Sumnet's shortcomings: Sumnet's intention is to hope that the high-level network can guide the bottom of the network to extract information, but the network only in the final fusion, the information exchange is very late, so this article proposed the RCN.
The Recombinator Networks: Unlike Sumnet, it is only when the last layer is fused that the independence of the information is preserved before the information can be used more effectively. So I kept on concat+upsample,
Denoising KeyPoint Model: specifically with a convolutional neural network to train learning the relative distribution of key points, randomly select some nodes to block, move, let the network predict the location of all nodes. Use this network to follow the RCN, summing the two as the final output.
Experimental Details:
- Data augmentation
- Local contrast normalization
- Choose a representative image visualization
Paper reading:recombinator networks:learning coarse-to-fine featureaggregation