在 语义分割 和 图像分类 任务中,image、label 和 output 的形状会有所不同。

1. 图像分类 (Image Classification)

图像分类 任务是将整个图像分类为一个类别。通常,output 是对整个图像的类别的预测,而 label 是该图像的真实类别。
1.1 image 的形状
  • image 是输入图像数据,通常是一个四维张量:

    • 形状(batch_size, channels, height, width)

    • 说明:批次中的每个图像是一个 RGB 图像(有 3 个通道),并且具有指定的高度和宽度。

示例

  • 假设图像尺寸是 3x3batch_size = 2,并且是 RGB 图像(3 个通道),则:

    • image 的形状(2, 3, 3, 3)

    • 其中:

      • 2:批次大小,表示 2 张图像。

      • 3:图像的颜色通道数(RGB)。

      • 3, 3:每张图像的尺寸(高 3,宽 3)。

1.2 label 的形状
  • label 是图像的真实标签(类别)。在图像分类中,每张图像对应一个 整数标签,表示该图像的类别。

    • 形状(batch_size,)

    • 说明:标签是一个一维张量,长度等于批次大小,每个值代表一个类别的整数标签。

示例

  • 对于二分类任务,label 可能是:

    label = torch.tensor([0, 1]) # 第一个图像的标签是 0,第二个图像的标签是 1
  • label 的形状(2,),表示 2 张图像的类别。

1.3 output 的形状
  • output 是模型对每张图像的预测,通常是每个类别的得分或概率。在图像分类中,output类别得分概率,并且通常使用 softmaxsigmoid 函数将它们转换为概率。

    • 形状(batch_size, num_classes)

    • 说明:每张图像有一个类别得分或概率,num_classes 是类别数量。

示例

  • 对于二分类问题(背景和前景),output 可能是:

    output = torch.tensor([[0.7, 0.3],  # 第一个图像:类别 0 的概率是 0.7,类别 1 的概率是 0.3
                           [0.2, 0.8]])  # 第二个图像:类别 0 的概率是 0.2,类别 1 的概率是 0.8
    
  • output 的形状(2, 2),表示批次中有 2 张图像,每张图像有 2 个类别的预测概率。


2. 语义分割 (Semantic Segmentation)

语义分割 任务是将图像中的每个像素分类到一个类别。每个像素的标签表示该像素的类别。因此,outputlabel像素级别的标签
2.1 image 的形状
  • image 是输入图像数据,通常是一个四维张量:

    • 形状(batch_size, channels, height, width)

    • 说明:每张图像是一个 RGB 图像(3 个通道),并且具有指定的高度和宽度。批次大小是图像的数量。

示例

  • 假设图像尺寸是 3x3batch_size = 2,并且是 RGB 图像(3 个通道),则:

    • image 的形状(2, 3, 3, 3)

    • 其中:

      • 2:批次大小,表示 2 张图像。

      • 3:图像的颜色通道数(RGB)。

      • 3, 3:每张图像的尺寸(高 3,宽 3)。

2.2 label 的形状
  • label 是每个像素的类别标签,通常是一个 二维张量,每个像素的值表示该像素所属的类别。

    • 形状(batch_size, height, width)

    • 说明label 是一个三维张量,包含每张图像的像素级别标签。

示例

  • 对于二分类任务(背景和前景),label 可能是:

    label = torch.tensor([[[0, 0, 1],  # 第一张图像的标签:背景(0)和前景(1)
                           [0, 1, 1],
                           [2, 2, 1]],
                          [[1, 0, 1],  # 第二张图像的标签:背景(0)和前景(1)
                           [1, 1, 0],
                           [2, 0, 1]]])
    
  • label 的形状(2, 3, 3),表示批次中有 2 张图像,每张图像是 3x3 的大小,每个像素有一个类别标签(例如:0、1、2)。

2.3 output 的形状
  • output 是模型对每个像素的预测,通常是一个 类别得分概率图,每个像素位置有多个得分(针对每个类别)。对于二分类问题,output 的形状通常是 (batch_size, num_classes, height, width)

    • 形状(batch_size, num_classes, height, width)

    • 说明output 是一个四维张量,其中 num_classes 是类别数量,每个像素会有一个对应类别的得分。

示例

  • 对于二分类问题(背景和前景),output 可能是:

    output = torch.tensor([[[[0.2, 0.8],  # 第一张图像:每个像素在背景和前景类别下的得分
                            [0.5, 0.5],
                            [0.6, 0.4]],
                           [[0.8, 0.2],
                            [0.1, 0.9],
                            [0.7, 0.3]]],
                          [[[0.9, 0.1],  # 第二张图像:每个像素在背景和前景类别下的得分
                            [0.3, 0.7],
                            [0.2, 0.8]],
                           [[0.6, 0.4],
                            [0.5, 0.5],
                            [0.9, 0.1]]]])
    
  • output 的形状(2, 2, 3, 3),表示批次中有 2 张图像,每张图像有 2 个类别(背景和前景),每个图像的尺寸是 3x3


总结:

图像分类 (Image Classification)
  • image 的形状(batch_size, channels, height, width),例如 (2, 3, 3, 3)

  • label 的形状(batch_size,),例如 (2,)

  • output 的形状(batch_size, num_classes),例如 (2, 2)

语义分割 (Semantic Segmentation)
  • image 的形状(batch_size, channels, height, width),例如 (2, 3, 3, 3)

  • label 的形状(batch_size, height, width),例如 (2, 3, 3)

  • output 的形状(batch_size, num_classes, height, width),例如 (2, 2, 3, 3)

自我理解

图像分类:一张图像的预测值为一个列表,列表里面有num_classes个值,每个值表示对应类别的概率。

语义分割:一张图像的的每个像素的预测值为一个列表,列表里面有num_classes个值,每个值表示对应类比的概率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值