CS231n Lecture 11:图像分割与检测
图像的分割和检测的相关任务有不同的粒度,我们首先明确一下有关概念:
- 语义分割(Semantic Segmentation):将每个像素标注为某一类别,是一个分类问题。该任务不区分实例,即同一类别的不同实例都标为同一颜色(如下图中的两头牛);
- 单目标检测:只识别图像中的一个目标,并标出bounding box,此任务可以理解为分类+定位;
- 目标检测(Object Detection):识别图像中的所有目标,并分别标出bounding box;
- 实例分割(Instance Segmentation):识别图中所有目标,并标出它们的精确边界。
一、语义分割
滑动窗口?
现在尝试实现语义分割。为了预测某个像素所属的类别,我们可以以这个像素为中心在原图中裁切出一个子图(Patch),并对这个子图进行图像分类(Classification)。我们使用滑动窗口依次对每个像素对应的patch进行分类,最终得到结果。
这样做理论上是可以的,但显然计算量太大,有许多冗余计算——patch间的重合部分的feature map是相同的。
直接上CNN?
我们可以直接串联若干卷积层,输出C个[H x W]的feature map作为结果(C为类别数),第i个feature map代表各像素属于类别i的概率。