首页 PaddleCV 帖子详情
求助:对语义分割的最后一个网络层的理解
收藏
快速回复
PaddleCV 问答语义分割 3010 2
求助:对语义分割的最后一个网络层的理解
收藏
快速回复
PaddleCV 问答语义分割 3010 2

请问大佬:如果数据集(512,512,3)的类别是num_class=9

那么网络的最后一层:如果是反卷积的话,那么他的卷积核的数目也是 9.  所以网络的输出是(512,512,9),这个通道数为9,也就是每个通道代表一类物体。

在预测时,对输出(512,512,9)在通道c的维度找出那个维度的值最大,记下该通道是哪个通道,然后转换为(512,512)这个数组每个元素的值记录的是哪个通道,也就是哪类。

预测时在得到网络输出后,需要在通道维度找出数值最大的通道,得到如下输出数组():

例如:【9,8,1,5,..........6,5,9,6,

            5,6,8,9,9,...........5,1,2

            ......................................】该数组是(512,512)的,然后其中的数字1,其实代表着第1类物体,也代表着在网络输出的(512,512,9)中通道为1的那个值与其他9个通道数值相比是最大的。

个人理解,不知是否正确,请大佬指点

0
收藏
回复
全部评论(2)
时间顺序
m
mar836924042
#2 回复于2020-05

你得看是哪篇论文的方法,语义分割我只看过Mask R-CNN时,貌似跟你这种不太一样,但是也值得参考。

Mask R-CNN网络层输出有三个分支,分别是分类、边界框回归和语意分割三个。对于语义分割这一部分,按照你的指标输出是(512,512,9),每个通道代表一个类。 但是在Mask R-CNN中,语义分割输出每个通道的每个元素值(像素值)都会经过sigmoid二值化成0和1,至于这9个通道里哪个通道会被作为最终的输出结果就要取决于分类分支预测的结果,比如分类分支预测是第3类,那么语义分割那里第3个通道就是最终识别结果。

Mask R-CNN是多阶段的方法,看你描述的理解是那种单阶段的语义分割?

0
回复
m
mar836924042
#3 回复于2020-05
你得看是哪篇论文的方法,语义分割我只看过Mask R-CNN时,貌似跟你这种不太一样,但是也值得参考。 Mask R-CNN网络层输出有三个分支,分别是分类、边界框回归和语意分割三个。对于语义分割这一部分,按照你的指标输出是(512,512,9),每个通道代表一个类。 但是在Mask R-CNN中,语义分割输出每个通道的每个元素值(像素值)都会经过sigmoid二值化成0和1,至于这9个通道里哪个通道会被作为最终的输出结果就要取决于分类分支预测的结果,比如分类分支预测是第3类,那么语义分割那里第3个通道就是最终识别结果。 Mask R-CNN是多阶段的方法,看你描述的理解是那种单阶段的语义分割?
展开

之前问错了,这里跟多阶段和单阶段没有关。再看了你的描述,你那边是对输入图像每个像素都会进行分类,也就是输出的图像中每个像素必会被标记上一个语义标签(颜色)。而Mask R-CNN是只对输出图像中识别出来的类别进行语义标记,有一些像素不属于这9个里的任何识别,就不会标记,就如下面的图一样

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户