Deep learning 我使用caffe训练FCN进行语义分割任务,但总是得到所有背景结果,为什么?

Deep learning 我使用caffe训练FCN进行语义分割任务,但总是得到所有背景结果,为什么?,deep-learning,caffe,image-segmentation,Deep Learning,Caffe,Image Segmentation,我正在使用caffe对FCNs8进行训练,以便在来自scratch的pascal voc 2012数据集上执行语义分割任务,训练值协议由caffe model zoo给出, 但无论我如何尝试,调整学习速度尝试其他学习方法,我总是为代表背景的所有像素设置零标签。 输出全部为零,表示背景 当您从头开始培训细分网络时,是否有人遇到此问题? 我还尝试从头开始训练其他分段网络,如ParseNet、SegNet,但结果也都是零。 我接受了pascal voc2012以及增强pascal数据集的培训。您是如何

我正在使用caffe对FCNs8进行训练,以便在来自scratch的pascal voc 2012数据集上执行语义分割任务,训练值协议由caffe model zoo给出, 但无论我如何尝试,调整学习速度尝试其他学习方法,我总是为代表背景的所有像素设置零标签。 输出全部为零,表示背景 当您从头开始培训细分网络时,是否有人遇到此问题? 我还尝试从头开始训练其他分段网络,如ParseNet、SegNet,但结果也都是零。
我接受了pascal voc2012以及增强pascal数据集的培训。

您是如何创建标签的?我尝试了原始图像和lmdb。由于pascal voc的分割类标签图像包含255个边界,并且一些train或val图像的大小小于224,因此我将所有255更改为0,并调整最小大小小于224到224的小图像的大小,并保持比率这对我来说没有意义。你说的是两件不同的事。图像的大小和标签值是两个不相关的东西。你的问题在于标签。pascal voc共有21门课程,包括背景课程。背景像素用强度值0标记。其他类别,从飞机开始,按字母顺序标记为1、2、3等等,直到20。边界未分类,标记为255。它们被网络忽略了。现在,像素值0到20在您看来都是黑色的,但它们的值不是零值。是的,您是对的。正如你提到的,我认为我的标签是正确的。我的问题是网络很容易收敛到所有零标签。我使用VGG作为初始化参数,并使用“xavier”初始化填充新层。但在我的训练中,经过大约100步或更少的步骤后,网络将快速收敛到所有零,以获得最大最终得分图。你遇到过这样的问题吗?哪个总是快速收敛到局部极小值?你能分享你的LMDB创建、网络初始化和培训代码吗?你是如何创建标签的?我试过原始图像和LMDB。由于pascal voc的分割类标签图像包含255个边界,并且一些train或val图像的大小小于224,因此我将所有255更改为0,并调整最小大小小于224到224的小图像的大小,并保持比率这对我来说没有意义。你说的是两件不同的事。图像的大小和标签值是两个不相关的东西。你的问题在于标签。pascal voc共有21门课程,包括背景课程。背景像素用强度值0标记。其他类别,从飞机开始,按字母顺序标记为1、2、3等等,直到20。边界未分类,标记为255。它们被网络忽略了。现在,像素值0到20在您看来都是黑色的,但它们的值不是零值。是的,您是对的。正如你提到的,我认为我的标签是正确的。我的问题是网络很容易收敛到所有零标签。我使用VGG作为初始化参数,并使用“xavier”初始化填充新层。但在我的训练中,经过大约100步或更少的步骤后,网络将快速收敛到所有零,以获得最大最终得分图。你遇到过这样的问题吗?哪个总是快速收敛到局部极小值?你能分享你的LMDB创建、网络初始化和培训代码吗?