当前位置: 首页 > news >正文

2023.8.7论文阅读

文章目录

  • CMUNeXt: An Efficient Medical Image Segmentation Network based on Large Kernel and Skip Fusion
    • 摘要
    • 本文方法
    • 实验结果
  • Boundary Difference Over Union Loss For Medical Image Segmentation(损失函数)
    • 摘要
    • 本文方法
    • 实验结果

CMUNeXt: An Efficient Medical Image Segmentation Network based on Large Kernel and Skip Fusion

摘要

u型结构已成为医学图像分割网络设计的一个重要范例。然而,由于卷积固有的局部局限性,具有u型结构的全卷积分割网络难以有效地提取全局上下文信息,而这对于病灶的精确定位至关重要。虽然结合cnn和transformer的混合架构可以解决这些问题,但由于环境和边缘设备施加的计算资源限制,它们在真实医疗场景中的应用受到限制。此外,轻量级网络中的卷积感应偏置能很好地拟合稀缺的医疗数据,这是基于Transformer的网络所缺乏的。为了在利用归纳偏置的同时提取全局上下文信息,我们提出了一种高效的全卷积轻量级医学图像分割网络CMUNeXt,该网络能够在真实场景场景中实现快速准确的辅助诊断。

CMUNeXt利用大内核和倒瓶颈设计,将远距离空间和位置信息彻底混合,高效提取全局上下文信息。我们还介绍了Skip-Fusion模块,旨在实现平滑的跳过连接,并确保充分的特征融合。在多个医学图像数据集上的实验结果表明,CMUNeXt在分割性能上优于现有的重量级和轻量级医学图像分割网络,同时具有更快的推理速度、更轻的权重和更低的计算成本。
代码地址

本文方法

在这里插入图片描述
CMUNEXT模块比较简单,总的来说不是很复杂

实验结果

在这里插入图片描述

Boundary Difference Over Union Loss For Medical Image Segmentation(损失函数)

摘要

医学图像分割对临床诊断至关重要。然而,目前医学图像分割的损失主要集中在整体分割结果上,较少提出用于指导边界分割的损失。那些确实存在的损失往往需要与其他损失结合使用,并且产生无效效果。为了解决这个问题,我们开发了一种简单有效的损失,称为边界差分联合损失(边界DoU损失)来指导边界区域分割。它是通过计算预测与真值的差集与差集与部分交集集并集的比值得到的。我们的损失只依赖于区域计算,使得它易于实现并且训练稳定,不需要任何额外的损失。此外,我们使用目标大小来自适应调整应用于边界区域的注意力。
代码地址

本文方法

在这里插入图片描述
在这里插入图片描述

实验结果

在这里插入图片描述

class BoundaryDoULoss(nn.Module):def __init__(self, n_classes):super(BoundaryDoULoss, self).__init__()self.n_classes = n_classesdef _one_hot_encoder(self, input_tensor):tensor_list = []for i in range(self.n_classes):temp_prob = input_tensor == itensor_list.append(temp_prob.unsqueeze(1))output_tensor = torch.cat(tensor_list, dim=1)return output_tensor.float()def _adaptive_size(self, score, target):kernel = torch.Tensor([[0,1,0], [1,1,1], [0,1,0]])padding_out = torch.zeros((target.shape[0], target.shape[-2]+2, target.shape[-1]+2))padding_out[:, 1:-1, 1:-1] = targeth, w = 3, 3Y = torch.zeros((padding_out.shape[0], padding_out.shape[1] - h + 1, padding_out.shape[2] - w + 1)).cuda()for i in range(Y.shape[0]):Y[i, :, :] = torch.conv2d(target[i].unsqueeze(0).unsqueeze(0), kernel.unsqueeze(0).unsqueeze(0).cuda(), padding=1)Y = Y * targetY[Y == 5] = 0C = torch.count_nonzero(Y)S = torch.count_nonzero(target)smooth = 1e-5alpha = 1 - (C + smooth) / (S + smooth)alpha = 2 * alpha - 1intersect = torch.sum(score * target)y_sum = torch.sum(target * target)z_sum = torch.sum(score * score)alpha = min(alpha, 0.8)  ## We recommend using a truncated alpha of 0.8, as using truncation gives better results on some datasets and has rarely effect on others.loss = (z_sum + y_sum - 2 * intersect + smooth) / (z_sum + y_sum - (1 + alpha) * intersect + smooth)return lossdef forward(self, inputs, target):inputs = torch.softmax(inputs, dim=1)target = self._one_hot_encoder(target)assert inputs.size() == target.size(), 'predict {} & target {} shape do not match'.format(inputs.size(), target.size())loss = 0.0for i in range(0, self.n_classes):loss += self._adaptive_size(inputs[:, i], target[:, i])return loss / self.n_classes
http://www.lryc.cn/news/116317.html

相关文章:

  • 2023河南萌新联赛第(五)场:郑州轻工业大学 --Kruskal
  • Maven引入本地jar包
  • Java并发编程实战——结构化并发应用程序
  • uniapp echarts 点击失效
  • 手机开启应急预警通知 / 地震预警
  • 2020年12月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 遇到无法复现的 Bug
  • 虚拟列表的实现(简单易懂)
  • 【WordPress】如何在WordPress中实现真·页面路由
  • Android界面设计与用户体验
  • 基于 FFmpeg 的跨平台视频播放器简明教程(八):音画同步
  • 【NLP pytorch】基于BiLSTM-CRF模型医疗数据实体识别实战(项目详解)
  • 人工智能原理(1)
  • 预测成真,国内传来三个消息,中国年轻人变了,创新力产品崛起
  • 维深(Wellsenn):2023中国消费端VR内容开发商调研报告(附下载
  • redis事务管理详解
  • 国产低功耗蓝牙HS6621CxC/6621Px系列支持Find My网络功能方案芯片
  • 【openGauss】分区表的介绍与使用
  • 代码随想录算法训练营day57
  • 【基础类】—前后端通信类系统性学习
  • vite项目中使用@代表根路径
  • 冶金化工操作VR虚拟仿真实验软件提高员工们协同作业的配合度
  • SQL Server数据库 -- 索引与视图
  • 2023 java web面试秘籍
  • 2023-08-05力扣今日二题
  • stl_list类(使用+实现)(C++)
  • 利用hfish反控境外攻击源主机
  • 4、Rocketmq之存储原理
  • 在线原型设计工具有好用的吗?就是这10个
  • Vc - Qt - QPainter translate