深度学习用于疾病诊断-第一课第三周5-6节-数据增强以及dice损失函数

本文主要是介绍深度学习用于疾病诊断-第一课第三周5-6节-数据增强以及dice损失函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

既然我们已经讨论了分割体系结构,那么让我们来讨论一种可以应用于这种模型训练的技术,即数据扩充(数据增强 data augumentation)。

我们在前面学过,我们可以对输入胸部X光片的变换,这样每个例子的分类标签都是一样的。

现在让我们看看如何将相同的原则应用于分割,但有几个关键的区别。

分割过程中数据扩充的一个关键区别是我们把图像旋转了,同时标签也得跟着转,保证对齐。

所以当我们将输入图像旋转90度以产生变换后的输入。我们还需要将标签旋转90度以获得变换后的标签。

第二个区别是,我们现在有了三维体积,而不是二维图像。所以这些变换必须应用于整个三维体。

有了这个,我们几乎拥有了训练我们的脑肿瘤分割模型所需的所有部件。

最后我们要看的是损失函数。

让我们举一个非常简单的例子。实际上,我们会有一个更高分辨率的图像,我们会看到一个三维的体积。

但是我们这里简单的二维例子可以让我们快速的理解。

这里P表示分割模型在9个像素上的输出。在每个位置,我们都有肿瘤的预测概率。

G指定每个像素位置上ground truth(gt)。9个像素中有3个是肿瘤,表示为1,其余6个是正常脑组织,表示为0。

表格的每一行是一个单元位置,以及它们对应的预测值和gt。

例如,这里的i4指定概率输出为0.8,gt为0。在这个表中表示p和g将使我们更清楚地理解损失函数。

我们将使用 dice损失 来优化分割模型。dice损失是分割模型中常用的损失函数。

它优点是在不平衡数据的存在下工作良好。在我们的脑肿瘤分割任务中,这一点尤其重要,因为大脑中很小的一部分会成为肿瘤区域。

dice损失 将测量P和G之间的误差。我们希望分子很大,当gi等于1时,我们希望Pi接近1。

我们也希望分母较小, 所以当gi等于0时,我们希望Pi接近0,否则这个项会很大,分母也会很大。

现在,我们取1减去这个分数,这样重叠区域越小,损失越大,相反,重叠区域越大,损失越小。

为了计算这个例子中的损失,我们将P和G元素相乘得到pigi。例如,0.9乘以1等于0.9。

为了计算分母,我们需要求pi平方和 和 gi的平方和。类似地,我们可以通过将p列平方得到pi的平方和g列得到gi的平方来计算这些。

我们可以将这些值代入这个特殊例子的dice损失中,结果大约是0.2。

下一步我们将研究分割模型的评估。

文章持续更新,可以关注微信公众号【医学图像人工智能实战营】获取最新动态,一个关注于医学图像处理领域前沿科技的公众号。坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起学习进步~

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连
在这里插入图片描述

这篇关于深度学习用于疾病诊断-第一课第三周5-6节-数据增强以及dice损失函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328458

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑