雷锋网按:本文为AI研习社编译的技术博客,原标题 Road scene understanding using Deep Learning,作者为 Bogdan Djukic。
翻译 | 王祎 校对 | 陶玉龙 整理 |余杭
将语义分割的最终输出应用到道路识别场景中
场景理解
语义分割是深度学习的方法之一,通过语义分割,我们可以对图片中的每一个像素赋予含义,即将像素划分到一个预先设定的类中。从上边的 GIF 图可以看出,我们在语义切分的过程中将像素分为两类(分别是道路和非道路),其中我们将识别为道路的部分标上了颜色。
通过语义分割的方法,我们可以根据特定的需求来将场景进行切分。通过这一点,汽车可以识别出当前场景下哪一块是可行驶区域,这一点对无人驾驶汽车来说尤为重要。
工作原理
语义分割的方法之一就是使用全卷积网络(FCN),一篇来自于伯克利大学的论文很好地阐释了其原理和架构。我们接下来的实现就会基于这篇论文来展开。
传统的卷积网络是由卷积层和几个全连接层组合而成的。这类架构对于分类问题来说很有用(诸如:这是一条路吗?),但是对于需要在图片中定位道路这种问题(诸如:路在哪里?),我们就需要一个新的网络来维护这些特殊信息。这就是 FCN 产生的由来,也向人们传达了语义分割最先进的成果。
如何构建FCN
要构建 FCN,有以下三个要点:
将全连接层都替换为1x1卷积层
通过颠倒卷积层的顺序引入上采样
添加跳跃连接
接下来让我们详细地看看应该如何实现上述步骤。
我们的FCN架构包含两个部分:编码器和解码器
FCN 架构
对于编码器的构建,我们利用已在 ImageNet 数据集上预训练的 VGG16 模型进行编码,我们将 VGG16 模型上的全连接层全部用卷积来替代。编码器将图片中的特征抽取出来,并且把它应用在解码器中。
构建完编码器后,下一步就是构建解码器,解码器是通过转置卷积层,对编码器末层进行上采样来实现的。卷积转置本质上来说就是反向卷积
FCN架构是由预训练模型、全连接层替换和卷积转置构成的架构
在最后,我们会在某些特定的层之间添加跳跃层,其中这些特定层需要能够允许网络使用不同的像素大小。跳跃层在降低信息流失的同时也保证了网络可以很好地纵观整个图片。由于传统的卷积网络往往会聚焦于图片中的某一部分,因此添加跳跃层能够很好地提升切分效果。
FCN 中的跳跃连接
......
想要继续阅读,请移步至我们的AI研习社社区:https://club.leiphone.com/page/TextTranslation/773
更多精彩内容尽在 AI 研习社。
不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。
雷锋网雷锋网(公众号:雷锋网)