Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Conv neural network CNN:用于像素分类的Softmax层_Conv Neural Network_Image Segmentation_Softmax - Fatal编程技术网

Conv neural network CNN:用于像素分类的Softmax层

Conv neural network CNN:用于像素分类的Softmax层,conv-neural-network,image-segmentation,softmax,Conv Neural Network,Image Segmentation,Softmax,我想更详细地了解softmax层在CNN中如何对图像进行语义分割/像素分类。CNN输出一个类标签的图像,原始图像的每个像素获得一个标签 将测试图像通过网络后,下一层输出原始图像分辨率的N个通道。我的问题是,softmax层如何将这N个通道转换为标签的最终图像 假设我们有C类(#可能的标签)。我的建议是,对于每个像素,前一层的N个神经元连接到softmax层的C神经元,其中每个C神经元代表一个类别。使用softmax激活功能,C输出的总和(对于该像素)等于1(这有助于网络的训练)。最后,每个像素被

我想更详细地了解softmax层在CNN中如何对图像进行语义分割/像素分类。CNN输出一个类标签的图像,原始图像的每个像素获得一个标签

将测试图像通过网络后,下一层输出原始图像分辨率的N个通道。我的问题是,softmax层如何将这N个通道转换为标签的最终图像

假设我们有C类(#可能的标签)。我的建议是,对于每个像素,前一层的N个神经元连接到softmax层的C神经元,其中每个C神经元代表一个类别。使用softmax激活功能,C输出的总和(对于该像素)等于1(这有助于网络的训练)。最后,每个像素被分类为概率最高的类别(由softmax值给出)。 这意味着softmax层由C*像素和神经元组成。我的建议正确吗?我没有找到解释,希望你能帮助我


谢谢你的帮助

答案是softmax layer将这些N个通道转换为标签的最终图像

假设您有一个N通道的输出,您的问题是如何将其转换为最终输出的3通道

答案是你不知道。这些N通道中的每一个都代表一个类。方法是,您应该有一个具有相同高度和重量以及3个通道的虚拟阵列

现在你必须用一种颜色对每个类进行抽象编码,比如街道是绿色的,汽车是红色的等等

假设高度=5,宽度=5,通道7具有最大值。现在,

->如果通道7代表汽车,则需要在虚拟阵列上放置一个红色像素,其中高度=5,宽度=5

->如果通道7代表街道,则需要在虚拟阵列上放置一个绿色像素,其中高度=5,宽度=5

因此,您正在尝试查找像素属于N类中的哪一类。并且基于该类,您将在虚拟阵列上以独特的颜色重新绘制像素

这个虚拟数组称为掩码

例如,假设这是一个输入

我们正试图用像素分类法来定位大脑的肿瘤区域。这里的分类数为2,肿瘤存在和不存在。因此,softmax层输出一个2通道对象,通道1表示存在肿瘤,通道2表示不存在肿瘤

因此,每当高度=X,宽度=Y时,通道1的值较高,我们为Dummy[X][Y]图像制作一个白色像素。当通道2的值较高时,我们制作一个黑色像素

之后我们就有了这样的面具

这没什么意义。但是当我们叠加这两幅图像时,我们得到了这个

因此,基本上,您将尝试使用N通道从输出创建遮罩图像(第二个)。叠加它们将得到最终输出