---
author:
- 'Hao Lu, Yutong Dai, Chunhua Shen, and Songcen Xu'
title: Index Networks
---

[Lu : Index Networks]{}

is an essential stage for dense prediction tasks using deep convolutional neural networks (CNNs). The frequently used upsampling operators include transposed convolution [@zeiler2014visualizing; @long2015fully], unpooling [@badrinarayanan2017segnet], *periodic shuffling* [@shi2016real] (a.k.a.  depth-to-space), and naive interpolation [@lin2017refine; @chen18v3] followed by convolution. These operators, however, are not general-purpose designs and often exhibit different behaviors in different tasks.

The widely-adopted upsampling operator in semantic segmentation and depth estimation is bilinear interpolation, while unpooling is less popular. A reason might be that the feature map generated by max unpooling is sparse, while the bilinearly interpolated feature map has dense and consistent representations for local regions (compared to the feature map before interpolation). This is particularly true for semantic segmentation and depth estimation where pixels in a region often share the same class label or have similar depth. However, we observe that bilinear interpolation can perform significantly worse than unpooling in boundary-sensitive tasks such as image matting. A fact is that the leading deep image matting model [@xu2017deep] largely borrows the design from the SegNet method [@badrinarayanan2017segnet], where unpooling was first introduced. When adapting other state-of-the-art 