{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 10.2 反卷积网络" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "卷积网络的输入是一幅图像,输出结果是一个概率值。而语义分割的输入是一张图片是,输出也是一张图片,必须学习像素到像素的映射,针对这个需求出现了反卷积层。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/cat.jpeg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "卷积网络中的全连接层,都是一维的向量,计算方式不再采用卷积,不再有空间信息。全卷积网络中,将全连接层转化为 1×1 的卷积层。整个模型中,全部都是卷积层,所以称为 “全卷积”。 池化层对特征图进行了 “下采样”,这样处理之后,图像的像素信息变小了。要得到原始尺寸的分类图,必须对特征图进行还原。这里输入尺寸小于输出尺寸的卷积层称为“反卷积”层,可以将图像扩充至原来的大小。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/Deconvolution.gif)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/Deconv.jpeg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "较浅的卷积层的感受域比较小,学习感知细节部分的能力强,较深的隐藏层,感受域相对较大,适合学习较为整体的、相对更宏观一些的特征。在较深的卷积层上进行反卷积还原,会丢失很多细节特征。所以在反卷积时,采用多层反卷积信息叠加,以便得到更好的分割结果:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/MultiLayers.jpeg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "图像语义分割的分类器可以以 “条件随机场”作为输出结果的优化后处理手段。FCN 是像素到像素的影射,所以最终输出的图片上每一个像素都是标注了分类的,将这些分类简单地看成是不同的变量,每个像素都和其他像素之间建立一种连接,连接就是相互间的关系。通过对能量函数优化求解,把明显不符合事实识别判断剔除,替换成合理的解释,得到对 FCN 的图像语义预测结果的优化,生成最终的语义分割结果。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](images/FCN+CRF.jpeg)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" } }, "nbformat": 4, "nbformat_minor": 2 }