MS【1】:Metric

news2025/1/17 18:10:35

文章目录

  • 前言
  • 1. Dice Loss
    • 1.1. Dice coefficient
    • 1.2. F1 score - Dice
    • 1.3. Dice Loss
  • 2. Sensitivity & Specificity
    • 2.1. Sensitivity
    • 2.2. Specificity
  • 3. Hausdorff distance
    • 3.1. 概念
    • 3.2. 单向 Hausdorff distance
    • 3.3. 双向 Hausdorff distance
    • 3.4. 部分 Hausdorff distance
  • 4. Average surface distance
    • 4.1. 概念
    • 4.2. 计算过程
  • 总结


前言

本文主要介绍几种在医学图像分割领域常用的评价标准:Dice Loss, Sensitivity & Specificity, Hausdorff distance, Average surface distance


1. Dice Loss

1.1. Dice coefficient

Dice 系数,是一种集合相似度度量函数,通常用于计算两个样本点的相似度(值范围为 [ 0 , 1 ] [0, 1] [0,1] ),其值越大意味着这两个样本越相似

  • 用于分割问题,分割最好时为1,最差为0
  • 用于解决样本不均衡的问题,但不稳定,容易出现梯度爆炸

计算公式:
D i c e = 2 ∣ X ∩ Y ∣ ∣ X ∣ + ∣ Y ∣ Dice = \frac{2|X \cap Y|}{|X| + |Y|} Dice=X+Y2∣XY

参数含义:

  • ∣ X ∩ Y ∣ |X\cap Y| XY 表示 X X X Y Y Y 之间交集元素的个数
  • ∣ X ∣ |X| X ∣ Y ∣ |Y| Y 分别表示 X X X Y Y Y 中元素的个数
  • 其中,分子中的系数 2,是因为分母存在重复计算 X X X Y Y Y 之间的共同元素的原因
  • 有时候会在分子分母中全部添加一个可选参数:Laplace smoothing
    • 避免当 ∣ X ∣ |X| X ∣ Y ∣ |Y| Y 都为 0 时,分子被 0 除的问题
    • 减少过拟合

1.2. F1 score - Dice

在这里插入图片描述

Truth\ClassifiedPositiveNegative
PositiveTrue PositiveFalse Negative
NegativeFalse PositiveTrue Negative
  • Precision
    • 表示在预测为1的样本中实际为1的概率
      P = T P T P + F P P = \frac{TP}{TP + FP} P=TP+FPTP
  • Recall
    • 表示在实际为1的样本中预测为1的概率
      R = T P T P + F N R = \frac{TP}{TP + FN} R=TP+FNTP
  • PrecisionRecall 往往是相互制约的
    • 如果提高模型的 Precision,就会降低模型的 Recall
    • 提高模型的 Recall 就会降低模型的 Precision

在二分类问题中,Dice coefficient 也可以写成:
D i c e = 2 T P F P + 2 T P + F N = F 1 s c o r e Dice = \frac{2TP}{FP + 2TP +FN} = F1score Dice=FP+2TP+FN2TP=F1score

1.3. Dice Loss

Dice Loss 数学表达式如下:
D i c e L o s s = 1 − D i c e = 1 − 2 ∣ X ∩ Y ∣ ∣ X ∣ + ∣ Y ∣ DiceLoss = 1 - Dice = 1 - \frac{2|X \cap Y|}{|X| + |Y|} DiceLoss=1Dice=1X+Y2∣XY

Dice Loss 用于医学图像分割问题中,参数含义:

  • X X X 表示真实分割图像的像素标签
  • Y Y Y 表示模型预测分割图像的像素类别
  • ∣ X ∩ Y ∣ |X \cap Y| XY 近似为预测图像的像素与真实标签图像的像素之间的点乘,并将点乘结果相加
  • ∣ X ∣ |X| X ∣ Y ∣ |Y| Y 分别近似为它们各自对应图像中的像素相加

对于二分类问题,真实分割标签图像的像素只有 0 0 0 1 1 1 两个值,因此 ∣ X ∩ Y ∣ |X \cap Y| XY 可以有效地将在预测分割图像中未在真实分割标签图像中激活的所有像素值清零,对于激活的像素,主要是惩罚低置信度的预测,置信度高的预测会得到较高的 Dice 系数,从而得到较低的 Dice Loss,即:
D i c e L o s s = 1 − 2 ∑ i = 1 N y i y i ^ ∑ i = 1 N y i + ∑ i = 1 N y i ^ DiceLoss = 1 - \frac{2\sum_{i=1}^N y_i \hat{y_i}}{\sum_{i=1}^N y_i + \sum_{i=1}^N \hat{y_i}} DiceLoss=1i=1Nyi+i=1Nyi^2i=1Nyiyi^

参数含义:

  • y i y_i yi 表示像素 i i i 的标签值
  • y i ^ \hat{y_i} yi^ 表示像素 i i i 的预测值
  • N N N 为像素点总个数,等于单张图像的像素个数乘以 batchsize

Dice Loss 可以缓解样本中前景背景(面积)不平衡带来的消极影响,前景背景不平衡也就是说图像中大部分区域是不包含目标的,只有一小部分区域包含目标。Dice Loss 训练更关注对前景区域的挖掘,即保证有较低的 FN,但会存在损失饱和问题。因此单独使用 Dice Loss 往往并不能取得较好的结果,需要进行组合使用,比如 Dice Loss+CE Loss 或者 Dice Loss+Focal Loss


2. Sensitivity & Specificity

Truth\ClassifiedPositiveNegative
PositiveTrue PositiveFalse Negative
NegativeFalse PositiveTrue Negative
  • TP:P 表示你预测的 Positive,T (True) 表示你预测正确,TP 表示你把正样本预测为正样本
  • FP:P 表示你预测的 Positive,F (False) 表示你预测错误,FP 表示你把负样本预测为正样本
  • TN:N 表示你预测的 Negative,T (True) 表示你预测正确,TN 表示你把负样本预测为负样本
  • FN:N 表示你预测的 Negative,F (False) 表示你预测错误,FP 表示你把正样本预测为负样本
  • FP + TP = 所有分类为阳性的样本
  • TP + FN = 真阳 + 假阴 = 所有真的是阳性的样本

2.1. Sensitivity

TPR:True positive rate,描述识别出的所有正例占所有正例的比例

计算公式:
T P R = T P T P + F N TPR = \frac{TP}{TP+ FN} TPR=TP+FNTP

可以理解为患者实际有病且被正确诊断出来的概率,即敏感性高 = 漏诊率低(但假性多)

2.2. Specificity

FPR:False positive rate,描述将负例识别为正例的情况占所有负例的比例

F P R = F P F P + T N FPR = \frac{FP}{FP + TN} FPR=FP+TNFP

可以理解为患者时间没病而且被正确确诊的概率,即特异性低 = 误诊率高(即假阴性多)


3. Hausdorff distance

3.1. 概念

Hausdorff distance 是度量空间中两个子集之间的距离,它将度量空间的非空子集本身转化为度量空间。

非正式地说,如果一个集合的每个点都接近另一个集合的某个点,那么两个集合在 Hausdorff distance 上是接近的。Hausdorff distance 是指对手在两组中的一组中选择一个点,然后必须从那里到达另一组的最长距离。换句话说,它是从一个集合中的一个点到另一个集合中最近的点的所有距离中最大的一个。

假设有两组集合:
A = { a 1 , a 2 , ⋯   , a p } , B = { b 1 , b 2 , ⋯   , b p } A = \{ a^1, a^2, \cdots, a^p \}, \quad B = \{ b^1, b^2, \cdots, b^p \} A={a1,a2,,ap},B={b1,b2,,bp}

3.2. 单向 Hausdorff distance

计算公式:
h ( A , B ) = max ⁡ a ∈ A min ⁡ b ∈ B ∣ ∣ a − b ∣ ∣ h ( B , A ) = max ⁡ b ∈ A min ⁡ a ∈ B ∣ ∣ b − a ∣ ∣ h(A, B) = \displaystyle\max_{a \in A}\displaystyle\min_{b \in B} || a - b || \\ h(B, A) = \displaystyle\max_{b \in A}\displaystyle\min_{a \in B} || b - a || h(A,B)=aAmaxbBmin∣∣ab∣∣h(B,A)=bAmaxaBmin∣∣ba∣∣

参数含义:

  • ∣ ∣ a − b ∣ ∣ || a - b || ∣∣ab∣∣ 表示 a 与 b 之间的欧式距离
  • h ( A , B ) h(A, B) h(A,B) 也叫前向 Hausdorff distance h ( B , A ) h(B, A) h(B,A) 也叫后向 Hausdorff distance

h ( A , B ) h(A, B) h(A,B) 的理解:

  • 先在集合 B 中取距离集合 A 最近的点 b j b^j bj,然后计算集合 A 中的每个点 a i a^i ai b j b^j bj 之间的距离,并将距离进行排序,然后取距离最大的值作为 h ( A , B ) h(A, B) h(A,B) 的值
  • h ( A , B ) = d h(A, B) = d h(A,B)=d,表示 A A A 中所有点到 B B B 集合的距离不超过 d d d
  • 需要注意的是,Hausdorff 距离是定向的(或者说不对称的),这意味着大多数情况 h ( A , B ) h(A, B) h(A,B) 不等于 h ( B , A ) h(B, A) h(B,A)

图解:

  1. 给定两个点集 A A A B B B,求它们的 Hausdorff 距离 h ( A , B ) h(A, B) h(A,B)

在这里插入图片描述

  1. 计算 a 1 a_1 a1 b 1 , b 2 , b 3 b_1, b_2, b_3 b1,b2,b3 的距离 d 11 , d 12 , d 13 d_{11}, d_{12}, d_{13} d11,d12,d13

在这里插入图片描述

  1. 保留最短的距离 d 11 d_{11} d11

在这里插入图片描述

  1. 计算 a 2 a_2 a2 b 1 , b 2 , b 3 b_1, b_2, b_3 b1,b2,b3 的距离 d 21 , d 22 , d 23 d_{21}, d_{22}, d_{23} d21,d22,d23

在这里插入图片描述

  1. 保留最短的距离 d 23 d_{23} d23

在这里插入图片描述

  1. d 11 d_{11} d11 d 23 d_{23} d23 中较大者即为 Hausdorff 距离 h ( A , B ) = d ( a 1 , b 1 ) h(A, B) = d(a_1, b_1) h(A,B)=d(a1,b1)

在这里插入图片描述

  1. 我们可以得到 A A A 中的任意点到 B B B 部分点的距离,至多为 h ( A , B ) h(A, B) h(A,B)

在这里插入图片描述

3.3. 双向 Hausdorff distance

计算公式:
H ( A , B ) = m a x { h ( A , B ) , h ( B , A ) } H(A, B) = max\{ h(A, B), h(B, A) \} H(A,B)=max{h(A,B),h(B,A)}

双向 Hausdorff 距离取单向 Hausdorff 距离中的最大值,度量了两个点集间的不相似程度(双向 Hausdorff 距离越小,匹配程度越高)

3.4. 部分 Hausdorff distance

但是,在图像存在噪声污染或遮挡等情况时,上述的 Hausdorff 距离很容易造成误匹配,如下图:

在这里插入图片描述

B 集合中距离 A 集合最近的点 b j b_j bj,A集合中距离 b j b_j bj 最远的点是 a 2 a_2 a2,但是由于存在噪声,Hausdorff 距离并没有取 a 2 a_2 a2 b j b_j bj 之间的距离,而是噪声与 b j b_j bj 之间的距离,导致错误。

  • 部分单向 Hausdorff 距离:
    • 计算公式:
      • h f F ( A , B ) = f F th ⁡ a i ∈ A min ⁡ b j ∈ B ∣ ∣ a i − b j ∣ ∣ h^{f_F}(A, B) = f_F \displaystyle\th_{a^i \in A} \displaystyle\min_{b_j \in B}|| a^i - b^j || hfF(A,B)=fFthaiAbjBmin∣∣aibj∣∣
      • h f R ( B , A ) = f R th ⁡ b j ∈ B min ⁡ a i ∈ A ∣ ∣ b j − a i ∣ ∣ h^{f_R}(B, A) = f_R \displaystyle\th_{b^j \in B} \displaystyle\min_{a_i \in A}|| b^j - a^i || hfR(B,A)=fRthbjBaiAmin∣∣bjai∣∣
    • 参数含义:
      • f F , f R ∈ [ 0 , 1 ] f_F, f_R \in [0, 1] fF,fR[0,1] 分别称为前向分数和后向分数,控制着前向距离和后向距离
      • t h th th 表示排序
      • f F = f R = 1 f_F = f_R = 1 fF=fR=1 时,该公式退化为原始的单向 Hausdorff 距离
  • 部分双向 Hausdorff 距离:
    • H f F f R ( A , B ) = m a x { h f F ( A , B ) , h f R ( B , A ) } H^{f_F f_R} (A, B) = max\{ h^{f_F}(A, B), h^{f_R}(B, A) \} HfFfR(A,B)=max{hfF(A,B),hfR(B,A)}

4. Average surface distance

4.1. 概念

Mean surface distance 这个指标就是 P 中所有点的表面距离的平均,这个指标又可称为Average Symmetric Surface Distance (ASSD)。

通过对体素数据,体素点与体素点之间的距离进行编码,建立查找表,从而极大减小了运算量和算法复杂度,从而计算点与点之间的距离。这里需要注意的是,体素与体素之间的距离计算是以单位体积进行计算的

  • ASD 计算公式:
    • X X X 集合中所有点到 Y Y Y 集合表面距离的平均,点 x x x 到集合 Y Y Y 的距离,就是点 x x x Y Y Y 最近的距离
      A S D ( X , Y ) = ∑ x ∈ X m i n y ∈ Y d ( x , y ) / ∣ X ∣ ASD(X, Y) = \displaystyle\sum_{x \in X} min_{y \in Y} d(x, y) / |X| ASD(X,Y)=xXminyYd(x,y)/∣X
    • 参数含义:
      • d ( x , y ) d(x, y) d(x,y) 是由两个图像体 X X X Y Y Y 之间的欧几里得距离组成的三维矩阵
  • ASSD 计算公式
    • X X X Y Y Y 的平均表面距离,和 Y Y Y X X X 的平均表面距离的平均
      A S S D ( X , Y ) = { A S D ( X , Y ) + A S D ( Y , X ) } / 2 ASSD(X, Y) = \{ ASD(X, Y) + ASD(Y, X) \} / 2 ASSD(X,Y)={ASD(X,Y)+ASD(Y,X)}/2

4.2. 计算过程

输入 A 和 B:

  • 类似 marching cube 等值面,建立相交点构成平面的法向量,根据法向量和
    voxel spacing,获得 surface distance 的查找表(长度为 256 的 list)
  • 判断数据类型 (bool),crop 有效区域
  • 通过 kernel 卷积进行编码(记为 CODE
  • 将大于 0 的像素值均变为 1,同时要求该像素值不为 255 (borders)
  • 距离转换,计算图像中非零点到最近背景点(即 0) 的距离,构造距离图
  • CODE 为输入,0~255 对应 index 的 element,和查找表进行映射,取面积距离值,构成面积距离图 (surface map)
  • 以 A 的 borders 大于 0 的像素作为索引(相当于选点的过程),获得 B 的 distance 的映射结果,即 A 集合中的体素与 B 中 border 的距离图(记为 (distances_ map, 1 dimension))
  • 以 A 的 borders 大于 0 的像素作为索引,获得 A 的 surface_ map 的映射结果(记为 (surfel map, 1 dimension)
    • 相当于获得体素边界表面面积距离图
  • 求均值:(distances map * srufel map) / sum(surfel map),即得到了 ASD
    • 可以看到这里的边界表面面积距离图起到了权重的作用,能够有效平滑尖锐区域带来的误差

在这里插入图片描述

在这里插入图片描述


总结

主要总结了有关医学图像分割领域几种常用的模型评价标准,会根据在后续论文中遇到的指标进行补充和修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用ResNet18实现CIFAR100数据集的训练

如果对你有用的话,希望能够点赞支持一下,这样我就能有更多的动力更新更多的学习笔记了。😄😄 使用ResNet进行CIFAR-10数据集进行测试,这里使用的是将CIFAR-10数据集的分辨率扩大到32X32,因为算力相关的…

二、数据仓库模型设计

数据仓库模型设计一、数据模型二、关系模型三、维度模型1、事实表(1)事务事实表(2)周期快照事实表(3)累计快照事实表(4)无事实的事实表2、维度表3、维度模型类型(1&#…

LVGL学习笔记16 - 进度条Bar

目录 1. Parts 2. 模式 2.1 LV_BAR_MODE_SYMMETRICAL:对称模式 2.2 LV_BAR_MODE_RANGE:范围模式 3. 动画 4. 样式 4.1 方向 4.2 渐变色 4.3 增加边框 4.4 滚动条方向 进度条有一个背景和一个指示器组成,通过lv_bar_create创建对象。…

mysql多表查询

一、关联查询(联合查询) 1.1 什么是关联查询 关联查询:两个或者多个表,一起查询。 前提条件: 这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段&#x…

初识IL2CPP

在Unity中进行打包时,有两种打包方式选择:Mono和IL2CPP Mono和IL2Cpp是Unity的脚本后处理方式,通过脚本后处理实现Unity的跨平台 1.Mono (1). Mono组成组件: C#编辑器,CLI虚拟机,以及核心类别程序库 (2).跨平台过程 Mo…

【Linux】多线程概念

目录🌈前言🌸1、Linux线程概念🍡1.1、概念🍢1.2、线程的优点🍧1.3、线程的缺点🍨1.4、线程的异常和用途🌺2、Linux下进程 vs 线程🌈前言 这篇文章给大家带来线程的学习!…

PID算法入门(一)

1.简介 PID是Proportional(比例), Integral(积分), Differential(微分)的首字母缩写,他是一种结合比例,积分,微分三个环节于一体的闭环控制算法. 2.PID各环节 2.1比例环节 成比例地反应控制系统的偏差信号,即输出&a…

Codeforces Round #843 (Div. 2) A1 —— D

题目地址:Dashboard - Codeforces Round #843 (Div. 2) - Codeforces一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion:2023.1.11 Last edited: 2023.1.11 目录 ​编辑 A1. Gardener…

读论文——day61 目标检测模型的决策依据与可信度分析

目标检测模型的决策依据与可信度分析本文贡献及原文1 相关工作(略看)1.3 目标检测模型2 背景知识(LIME)2.2 LIME3 目标检测决策依据及可信度分析3.1 决策依据3.2 对目标检测模型的预测进行可信度评价4 基于 LIME 的目标检测模型解…

(第四章)OpenGL超级宝典学习:必要的数学知识

必要的数学知识 前言 在本章当中,作者着重介绍了几个和3D图形学重要的数学知识,线性代数基础好的同学可以直接绕过本章,说实话这篇博客写到这里,我是非常犹豫的,本章节的内容可以说是很基础,但是相当…

SSM框架01_Spring

有一个效应叫知识诅咒:自己一旦知道了某事,就无法想象这件事在未知者眼中的样子。00-Spring课程介绍01-初识Spring今天所学的Spring其实是Spring家族中的Spring Framework;Spring Fra是Spring家族中其他框架的底层基础,学好Spring可以为其他S…

Morse1题解

原理摩尔斯电码和电报简单说一下电报和摩尔斯电码的原理最简单的电报模型就是一个电源,一个开关和一个电磁铁当需要长距离使用时候,需要用到继电器按下开关,电磁铁会吸引磁铁长按开关,电磁铁就会闭合一段时间,留下一划…

Jenkins集成GitLab Webhooks自动化构建

JenkinsGitLab Webhooks自动构建项目1 构建步骤1.1 Jenkins中设置构建触发器1.2 Build Authorization Token Root插件安装1.3 GitLab配置Webhooks2 测试webhooks2.1 测试推送事件2.2 测试合并请求事件2.3 代码修改提交测试1 构建步骤 1.1 Jenkins中设置构建触发器 这里先随便写…

Markdown与DITA比较

Markdown是一种轻量级标记语言,创始人为John Gruber。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。由于Markdown的轻量化、易读易写特性,并且对于图片&am…

第一章Mybatis基础操作学习

文章目录MyBatis简介MyBatis历史MyBatis特性和其它持久化层技术对比搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能不带参数的增删改查Mapper接口的编写对应Mapper接口的xml文件编写核心配…

【Python基础】如何使用pycharm

1、设置Python 解释器 在任何项目,第一步就是设置Python 解释器,就是那个Python.exe 在File->Setting->Projec: xxx 下找到 Project Interpreter。然后修改为你需要的 Python 解释器。注意这个地方一定要注意的是:在选择 Python 解释…

Dubbo 学习笔记

Dubbo 学习笔记 1.基础知识 1.1 分布式基础理论 1.1.1 什么是分布式系统? 《分布式系统原理与范型》定义: 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统分布式系统(distributed system&#xf…

java基于ssm蛋糕店蛋糕商城蛋糕系统网站源码

简介 java使用ssm开发的蛋糕商城系统,用户可以注册浏览商品,加入购物车或者直接下单购买,在个人中心管理收货地址和订单,管理员也就是商家登录后台可以发布商品,上下架商品,处理待发货订单等。 演示视频 …

HTML贪吃蛇游戏源码(穿墙)

演示 完整HTML <!DOCTYPE html> <html> <head><meta charset"utf-8"><title><・)))><<</title><link rel"shortcut icon" href"${ctx}/image/snake_eating.png"><meta name"ref…

中科大2006年复试机试题

中科大2006年复试机试题 文章目录中科大2006年复试机试题第一题问题描述解题思路及代码第二题问题描述解题思路及代码第三题问题描述解题思路及代码第四题问题描述解题思路及代码第五题问题描述解题思路及代码第六题问题描述解题思路及代码第一题 问题描述 求矩阵的转置。 给…