
428
|
第
14
章
很难进行公平的比较,而这种比较对大多数人都有用,并且可以持续有效几个月以上。
因此我们可以通过在物体周围绘制边界框来定位对象。但是也许你想变得更加精确。让
我们看看如何来下降到像素级别。
14.10 语义分割
在语义分割中,每个像素根据其所属物体的类别(例如,道路、汽车、行人、建筑物等)
进行分类,如图 14-26 所示。请注意,没有区分相同类别的不同物体。例如分割图像右
侧的所有自行车都变成了一大块像素。此任务的主要困难在于,当图像通过常规的 CNN
时,它们会逐渐失去其空间分辨率(由于步幅大于 1 的层),因此常规的 CNN 可能最终
会知道在图像的左下方某处有一个人,但不会比这更精确了。
就像物体检测一样,有许多种方法可以解决此问题,有些方法非常复杂。但是,Jonathan
Long 等人在 2015 年的论文中提出了一个我们之前讨论过的相当简单的解决方法。作
者首先采用经过预先训练的 CNN,然后将其转换为 FCN。CNN 对输入图像应用的总步
幅为 32(如果所有步幅的总和都大于 1),则意味着最后一层输出的特征图是输入图像的
1/32。这显然太粗糙了,因此他们添加了一个单独的上采样层来把分辨率乘以 32。
图 14-26:语义分割
有几种解决方法可用于上采样(增加图像的大小),例如双线性插值,但仅在
×
4 或
×
8
时才有效。取而代之的是,他们使用转置的卷积层
注 33
:等效于首先插入空的行和列(充
满零)来拉伸图像,然后执行常规的卷积(见图 14-27)。另外,有些人更喜欢将其视为 ...