图像语义的理解
语义图像分割的目标在于标记图片中每一个像素,并将每一个像素与其表示的类别对应起来。
任务表征
我们的目标是要用RGB图(height X weight X 3)或灰度图(height X weight X 1)为输入,并输出一个分割图,在分割图中每个像素都包括一个用整数表示的类别标签(height X weight X 1)。
分割成
1: Person
2: Purse
3: Plants/Grass
4: Sidewalk
5: Buildings/Structures
通过onehot编码类别标签的方法创建目标——本质上讲是要为每一个可能的类创建一个输出通道。所以我们输出有那么多通道
然后我们可以利用每一个像素位深向量的 argmax 函数将预测值分解为分割映射(上图所示)
建立网络架构
针对这项任务简单地构建神经网络架构的方法是简单地堆叠大量卷积层(用 same 填充保留维度)后输出最终的分割映射。通过特征图的接连转换,直接从输入图像学到了相对应的分割映射;然而,在整个网络中要保留完整分辨率的计算成本是很高的。
回顾深度卷积网络,前期的卷积层更倾向于学习低级概念,而后期的卷积层则会产生更高级(且专一)的特征图。为了保持表达性,一般而言,当我们到达更深层的网络时,需要增加特征图(通道)的数量。
对于分类任务,我们只需要关注图像里面有什么(而不是目标类别对象的位置)。因此,我们可以通过池化或逐步卷积(即压缩空间分辨率)定期对特征图进行下采样以缓和计算压力。