语义分割|学习记录(1)语义分割前言
提示:来自up主霹雳吧啦Wz,我只是做一下学习笔记,原视频
前言
语义分割的前言部分主要介绍一下本文涉及到的内容:
- 什么是语义分割
- 暂定的学习目标
- 语义分割任务常见数据集格式
- 语义分割得到结果的具体形式
- 语义分割常见评价指标
- 语义分割标注工具
一、什么是语义分割?
语义分割时常见分割任务中的一种,常见的分割任务有以下三方面:
- 语义分割 (semantic segmentation)FCN
- 实例分割(Instance segmentation)Mask R-CNN
- 全景分割(Panoramic segmentation) Panoptic FPN
全景分割就是不但要区分背景和前景,而且还要将背景进行一些列的分类分割。 上述三种分割任务的难度是依次递增的。
二、学习规划
几个语义分割领域算法源码的介绍
二、语义分割任务常见数据集格式
1.PASCAL VOC
PASCAL VOC在语义分割中提供的其实就是一个PNG图片,在这个PNG文件中有记录每个像素所属于的类别,这里的PNG图片使用调色板的格式进行存储的(原图片是一个1通道的灰度图),把相应的像素值映射到了相应的颜色值。比如:
- 像素0对应的是(0,0,0)黑色
- 像素1对应的是(127,0,0)深红色
- 像素255对应的是(224,224,129)
== 这个255有必要解释一下==:当我们在计算损失的时候我们会忽略掉像素值是255的这些像素,因为目标的边缘到底严格属于哪个类别我们不好说,包括有些不太好分割的目标,我们也有255来填充。比如,上图有一个四边形,其实是一个飞机的尾翼,这个分割难度是很大的,我们直接把它忽略。
2.MS COCO
特点是每一个目标都给出了一个多边形,并且记录下多边形每个角的坐标。 MS COCO数据集介绍以及pycocotools简单使用
三、语义分割得到结果的具体形式
为什么不直接显示灰度图片呢,而是要将它转化为彩色? 比如说飞机是像素值对应的是1 ,人对应是15 ,它们之间的区别非常大小,如果采用灰度的形式,我们很难看出区别来。 所以我们采用将像素值映射到彩色格式下,并且每一个像素数值对应类别索引 。
四、语义分割评价指标
Pixel Accuracy(Global Acc):
预
测
正
确
的
像
素
个
数
总
的
像
素
个
数
\frac {预测正确的像素个数}{总的像素个数}
总的像素个数预测正确的像素个数?
Σ
i
n
i
i
Σ
i
t
i
\frac{\Sigma_{i}n_{ii}}{\Sigma_{i}t_{i}}
Σi?ti?Σi?nii?? mean Accuracy:对各个类别的像素的精度求平均值
1
n
c
l
s
Σ
i
n
i
i
t
i
\frac{1}{n_{cls}}\Sigma_{i}\frac{n_{ii}}{t_{i}}
ncls?1?Σi?ti?nii?? mean IoU:对IoU求平均值
1
n
c
l
s
Σ
i
n
i
i
t
i
+
Σ
j
n
j
i
?
n
i
i
\frac{1}{n_{cls}}\Sigma_{i}\frac{n_{ii}}{t_{i}+\Sigma_{j}n_{ji}-n_{ii}}
ncls?1?Σi?ti?+Σj?nji??nii?nii??
颜
色
重
叠
区
域
的
面
积
总
面
积
\frac {颜色重叠区域的面积}{总面积}
总面积颜色重叠区域的面积?
其中:
-
n
i
j
n_{ij}
nij?:类别i被预测成类别j的像素个数
-
n
c
l
s
n_{cls}
ncls?:目标类别个数(包含背景)
-
t
i
=
Σ
j
n
i
j
:
t_{i}=\Sigma_{j}n_{ij}:
ti?=Σj?nij?:目标类别i的总像素个数(真实标签)
对这个评价指标进行一个深刻的理解
mean acc
?
=
1
5
∑
(
c
l
a
s
s
i
a
c
c
)
\ =\frac{1}{5}\sum(class_iacc)
?=51?∑(classi?acc)
mean IoU
?
=
1
5
∑
(
c
l
s
i
i
o
u
)
\ =\frac{1}{5}\sum(cls_i iou)
?=51?∑(clsi?iou)
五、语义分割标注工具
传统的标注工具,比如:Labelme Labelme
半自动化的一个标注工具:百度的EISeg EISeg
六、参考资料
PASCAL VOC2012数据集介绍 EISeg分割标注软件使用
|