Pytorch语义分割
最近整合了部分pytorch实现的图象语义分割模型,简单做一下总结,代码在git:pytorch-semantic-segmentation
一、简介
基于深度的图象语义分割任务不同于分类与检测任务,分类任务利用深度模型提取特征后输出特征向量并计算各类概率,简单理解为“一图对应一标记”。检测则在分类任务基础上增加了候选框的生成和回归的任务,模型同时做物体区域定位与区域分类任务,结果可以理解为“一图对应多标记”。而语义分割则属于密集分类任务,分类的对象为每一个像素点,直观理解为"All in, all out"。模型的输入为图象,输出为与原图同样大小的预测图,每一个像素点的值则对应原图相应点的类别。
如下图所示,左边为原图,右边为分割标记图,被划分为3个区域,黑色背景为一个类别,粉色人为一类别,摩托车为一类别,具体在训练的时候可以转化为{'background':0, 'person':1, 'motobicycle':2},也就是将现在看到的rgb图象转化为灰度标记图,灰度图中每一个像素点的值均为该点的类别。
二、模型
主要通过模型介绍来理解语义分割流程。