图片为语义分割标注,来自cityscapes数据集
区别和联系:
首先,从任务的目的上讲.语义分割更多的在强调目标的类别含义(class-level),而目标检测更强调目标的物体含义(object-level).换句话讲,语义分割不关注目标是否是一个物体,而是关注该目标属于哪一类;而目标检测关注的是一个目标的几何范围(bounding-box)和物体的类别.从这个意义上讲,语义分割是非实例化的,而目标检测是实例级别的,因此语义分割的结果是没办法直接转化为目标检测的bounding box的,也就是没办法求解上述第一个问题--"语义分割在目标检测的问题上准确率相差了多少呢?"两者没办法进行归约.
其次,从标注的形式上讲.语义分割是像素级别(pixel-level)的,而目标检测是包围框级别(bounding-level)的.这两个是没有直接联系的,但是目前学术界的的一个分支是从目标检测到实例分割(object detection -> segmantic instance segmentation),其实还有一个未曾开辟的方向是从语义分割到实例分割,这个方法目前几乎没人做(我还没看到过).但是这个方向是有意义的,之后再说.这样,目标检测和语义分割其实可以汇聚到同一个任务.
意义:
目标检测更多是从计算机方便运算的视角出现的任务,在人类的认知视角中是没有boundxing box的概念的,但是由于规则的矩形适合计算机进行运算,因此即使在实例分割任务中人们也选择基于物体检测去做.而语义分割与人类认知类似,并且其是对物体轮廓有一个很好的刻画,能够更准确地应对复杂任务.
但是,在实际的任务过程中,单纯地从RGB图像中对物体进行语义分割和目标检测意义是不够大的,因为现实物体往往至少应该是三维的,处理三维数据得到的结构才能更好的标注进行决策.