语义分割的Defining a loss function

                pixel-wise cross entropy loss:

是最常用于语义分割的loss函数。This loss examines each pixel individually, comparing the class predictions (depth-wise pixel vector) to our one-hot encoded target vector。左边的是预测的值,右边的是标签值(采用one-hot编码),并且是depth-wise pixel vector.

由于交叉熵损失评估每一个像素点的类别预测,然后平均所有的像素点。这个本质上就是对图片上的每个像素进行平等的学习。这就造成了一个问题,如果在图像上的多种类别有不平衡的表征,那么训练会由最主流的类别主导。

        由于上述缺陷,有人提出在不同的输出通道上加权(也就是类别上加权),以抵消数据集中的类别不平衡表现

        同时又有人提出在像素层面上加权,比如在分割物体的边缘上添加一个很大的权重。这个在U-Net: Convolutional Networks for Biomedical Image Segmentation就是这样做的,像素加权。

        另外一种流行的损失函数是基于Dice coefficientSørensen–Dice coefficient)实际上是两个样本之间重叠的度量。度量范围从0到1,如果是1则说明完全重叠,所以越高越好。Dice coefficient最初是为二进制数据开发的,计算公式为:

                                                                              Dice=\frac{2|A\cap B|}{|A|+|B|}

其中|A\cap B|代表的是A和共同的元素部分,|A|代表set(A)中的元素,对B同理。下面是计算|A\cap B|的一个例子,在预测值和标签值逐像素相乘,然后加起来:

因为我们的标签是二值的,那么就可以有效的去除预测中处于没有激活的任何像素。对于剩下的像素,本质上是 essentially penalizing low-confidence predictions。

其中|A|和|B|的计算有研究者提出两种方式:第一种就是简单的全部元素相加,第二种就是平方和。这两种方式我们可以选择之后再进行实验对比效果。下面的例子是第二种方式:

采用第二种方式的代码实现链接,里面采用了拉普拉斯平滑也就是分子分母都加1:https://blog.youkuaiyun.com/a362682954/article/details/81179276

为了建立一个最小化损失,我们采用的损失函数是:

                                                                       1-Dice

该函数被称为the soft Dice loss,because we directly use the predicted probabilities instead of thresholding and converting them into a binary mask.对于神经网络的输出,分子部分连接了激活的标签和预测值,分母部分连接着每一个mask的激活数量。这对于损失是一个很好的正则化作用,因此the soft Dice loss并不难学习那些在图片中空间表征较少的类别(类别不平衡)。

the soft Dice loss实现如下:

 https://www.jeremyjordan.me/semantic-segmentation/#datasets

### 三维语义分割技术与工具 #### 技术概述 三维语义分割是一种计算机视觉任务,旨在将三维空间中的对象分配到特定的类别中。这项技术广泛应用于自动驾驶、机器人导航以及增强现实等领域。为了实现这一目标,研究者们提出了多种技术和算法。 一种常见的方法是基于体素网格的方法[^1]。这种方法通过将三维空间划分为离散的小立方体(即体素),并利用卷积神经网络来预测每个体素所属的类别标签。这种技术的优点在于能够充分利用现有的二维图像处理模型架构,但由于其高计算复杂度,在大规模场景下可能面临性能瓶颈。 另一种流行的技术路径涉及点云数据处理。由于激光雷达传感器获取的数据通常以无序点的形式存在,因此直接操作这些原始点成为必要选择之一。PointNet及其改进版本 PointNet++ 是该领域内的代表性工作[^2]。它们设计了一种新颖的对称函数形式化表达方式,使得即使面对输入顺序变化也能保持一致的结果输出特性;同时引入分层特征学习机制进一步提升了局部几何结构捕捉能力。 此外还有融合多模态信息源来进行更精确推断的做法。例如结合RGB-D摄像头所捕获的颜色纹理图片同深度测量值一起送入定制化的深度学习框架之中完成最终决策过程[^3]。 对于实际应用开发而言,则有众多开源项目可供参考借鉴。像Minkowski Engine就是一个专门为稀疏张量运算优化过的库文件集合,特别适合用来构建高效能版次世代级联型全连接层或者转置反褶积单元等等组件构成的整体解决方案体系结构图样例展示效果非常不错[^4] 。 ```python import torch from minkowski_engine import MinkowskiConvolution, SparseTensor # Example of defining a simple sparse convolution layer using MinkowskiEngine class SimpleSparseConv(torch.nn.Module): def __init__(self, in_channels, out_channels, kernel_size=3, stride=1): super(SimpleSparseConv, self).__init__() self.conv = MinkowskiConvolution( in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, dimension=3) def forward(self, x: SparseTensor): return self.conv(x) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值