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

AI测试:人工智能模型的核心测试指标,分类判别、目标检测、图像分割、定量计算分别有哪些指标?

在前面的人工智能测试技术系列文章中,我们详细介绍了人工智能测试的技术方法和实践流程。在了解人工智能测试方法后,我们需要进一步学习和研究如何衡量这些方法的有效性,即人工智能模型测试指标的选择。测试指标的选择主要取决于模型的类型和模型的实施计划。对于AI医学影像辅助诊疗、自动驾驶等特定类型智能模型的测试,我们应如何选择和理解测试指标?本篇文章,我们将以AI医学影像辅助诊疗模型为例,讨论用于评价人工智能模型测试性能的关键指标,了解这些指标是如何帮助我们理解人工智能模型表现的。

一般来说,AI医学影像辅助诊疗、自动驾驶、零售业货架监控、安全监控等视觉识别模型的性能指标根据不同的技术和业务场景,主要包含分类判别、目标检测、图像分割与定量计算四方面。

分类判别(Discrimination):在AI医学影像辅助诊疗系统中,判别分类的主要任务是区分医学影像中的不同病变组织,如区分良性和恶性肿瘤,其性能指标包括准确率、灵敏度等。在多分类场景,需要将多分类产品的性能指标评估问题转化成多个二分类问题,对各级计算得到的准确度、敏感度、特异度、精确度、AUC值分别进行加权平均,从而得到整个多分类人工智能系统的综合指标。

图像分割(Image Segmentation): 图像分割要求人工智能在医学影像中准确地勾勒出病变区域的边界,性能指标包括分割的准确度、边缘误差、完整性、运算速度等。

目标检测(Object Detection): 目标检测旨在识别影像中特定的病变位置,并对其进行定位。这一任务的性能指标包括定位精确度、召回率、平均精度以及检测的置信度阈值等。

定量计算(Quantitative Computation): 定量计算涉及从医学影像中提取有关病变的量化信息,如体积、表面积、纹理特征等,性能指标包括计算的准确性、重复性和可靠性等。

下面,我们以AI医学影像辅助诊疗系统为例对各任务场景下的测试指标进行一一介绍:

1.分类判别任务的评价指标

一般来说,AI医学影像辅助模型广泛采用的核心评价指标包括准确率、精确率、召回率、特异性、F-measure分数和AUC—ROC曲线。

准确率 (Accuracy):衡量模型整体正确识别的能力,即在所有样本中,模型能够正确识别的比例。准确率虽然直观,但在数据类别不平衡时会出现不够准确的问题。比如,如果大多数样本都是正常影像,模型即使对所有异常影像都判断错误,准确率也可能很高。

精确率(precision):衡量在模型预测为正类(如疾病)的样本中,实际为正类的比例。精确率高意味着模型预测的正类结果中大部分是正确的,有助于减少误诊,但可能会漏诊一些实际患病的患者。

召回率 (Recall)或敏感性(Sensitivity):指在所有实际为正类(如疾病)的样本中,模型正确预测为正类的样本比例。在医学影像诊断系统中,召回率越高,模型漏诊的可能性越小,但可能会伴随着较高的误诊率(即模型可能将一些健康样本误识别为阳性)。

特异性(Specificity):衡量的是模型识别出真实负类(健康)样本的能力,即在所有实际健康的患者中,模型能够正确识别出的比例。特异性高意味着误诊风险低,对于需要避免不必要的医疗干预的场景,特异性非常重要。高特异性可以减少不必要的治疗和患者的心理压力。

F-measure分数:是精确率和召回率的平均值,可以更全面地评估模型在分类任务中的表现。当F1值接近1时,说明模型在精确率和召回率之间取得了较好的平衡,对于医学影像辅助诊断系统来说,这既减少了假阳性导致的过度治疗风险,也减少了假阴性导致的治疗延误风险。

其中,True Positives(TP):正确识别出的正类别样本数量;

True Negatives(TN):正确识别出的负类别样本数量;

False Negatives(FN):正类别样本被错误预测为负类别样本数量;

False Positives(FP):负类别样本被错误地预测为正类别样本数量;

Total Positives:实际的正类别样本数量;

Total Negatives:实际的负类别样本数量;

AUC-ROC曲线:AUC(Area Under Curve)是ROC(Receiver Operating Characteristic)曲线下的面积。AUC是用于评估分类模型性能的指标,衡量模型将正例(疾病)排在负例(非疾病)样本之前的能力。AUC值越接近1,表示模型的性能越好,能够在不同的分类阈值下都保持较高的真阳性率和较低的假阳性率。AUC-ROC曲线可以直观比较不同模型的性能,帮助我们找到最佳的分类阈值,以平衡真阳性和假阳性的数量,适应不同的临床需求。

这些指标为软件测试人员提供了关于模型性能的全面视角。在实际应用中,需要根据具体情况权衡这些指标。例如,对于肺癌筛查,我们可能希望模型具有高召回率以尽可能找出所有潜在患者,同时保持一定的精确率以减少不必要的进一步检查。而在健康人群的体检中,可能会更注重精确率,以避免不必要的恐慌和医疗干预。

2.图像分割任务的评价指标

在医学影像领域,图像分割任务旨在通过人工智能系统精确描绘出病变区域。

医学影像关键部位的分割在疾病诊断是关键的步骤之一,精确的分割对提高系统的最终性能非常重要。对于AI医学影像系统的图片分割任务,除了上述的准确度、完整性、召回率、特异性等指标,还有以下关键的评价指标可以反映出人工智能系统在图像分割场景中的性能。

分割准确度(Segmentation Accuracy):是衡量分割效果最直接的一个指标,通常通过计算预测分割区域与真实分割区域之间的重合度(如Dice系数、Jaccard指数)来评估。

Dice系数(Dice Coefficient):衡量两个集合相似度的一种方法,适用于二值图像。计算公式为:

其中,A和B分别是预测分割区域和真实分割区域,∣A∩B∣是两个集合的交集大小,∣A∣和∣B∣分别是两个集合的大小。Dice系数取值范围在0到1之间,越接近1表示分割效果越好。

Jaccard指数(Jaccard Index):同样是衡量两个集合相似度的一个指标,适用于多分类情况。计算公式为:

A和B同样是预测分割区域和真实分割区域,∣A∩B∣是两个集合的交集大小,∣A∪B∣是两个集合的并集大小。Jaccard指数的取值范围也是0到1之间。

平均边缘误差(Average Edge Error, AEE):用于评估分割边缘与真实边缘之间的误差。计算方法可以是计算所有边缘像素点的预测位置与真实位置之间的平均欧氏距离。

3.目标检测任务的评价指标

在医学影像领域,目标检测是指在医学影像中自动识别和定位出特定的病变区域,例如肿瘤、病变等,并对其大小、形状、边缘等特征进行量化分析,辅助诊断。在目标检测任务中,系统会比较预测框与金标准框(即由专业医生标记的实际病灶区域)之间的位置关系。这个过程涉及判断预测框是否准确地包含了病灶区域。为了进行这一步,系统会使用一系列的检出指标。

平均精度(AP):平均精度是在不同的置信度阈值下,检测到的病变区域的平均精度,是PR曲线与坐标轴围成的面积。它是通过计算每个阈值下的精确度和召回率,以精确率为 y 轴和召回率为 x 轴,绘制PR(Precision-Recall)曲线得出的。AP的计算公式为:

其中,Pi表示精确度,Ri表示召回率,n是在不同置信度阈值下计算的点数。

MAP:各个类别AP的平均值,代表了在当前多个类别下能达到的平均精度。

此外,敏感度(真阳性率)、特异度(真阴性率)等上述指标同样可以量化预测框与金标准框之间的重合程度和位置偏差,评估病灶检测的准确性。

4.定量计算任务的评价指标

定量计通常涉及对影像中的特定区域或特征进行精确测量,提供关于病变性质、大小、形状和其他相关属性的数值信息,获得对疾病的量化理解。

对于乳腺癌钼靶影像,人工智能模型可以计算出乳腺肿块的边缘特征(肿块边缘的光滑程度、是否存在毛刺征象等)、肿块的密度、肿块的体积、肿块内的微钙化灶数量等,在这些指标的帮助下,我们能够对乳腺肿块的性质进行更为精确的判断,辅助医生进行诊断和治疗。

为了确保人工智能医学影像系统的定量计算结果的准确性,通常会使用性绝对误差和相对误差两个常用指标。绝对误差是指系统测量值与实际值(金标准值)之间的差异,而相对误差则是绝对误差与实际值的比例。这些指标可以帮助医生和测试人员了解系统的准确性。

医疗影像AI模型的评估指标是一个多方面的决策过程,需要综合考虑数据特性、疾病类型、临床需求、模型预期用途、实际应用的可行性以及法规标准。在实际应用中,我们往往会根据具体需求和不同业务场景选择合适的评估指标,结合多个指标对模型进行全面评估。

我们在医疗、汽车领域拥有丰富的人工智能测试经验。具备大量的数据模型和经过训练的测试数据集,如果您有人工智能测试技术交流、人工智能工具选型、人工智能模型训练、人工智能行业数据集等需求,可私信我,一起技术交流。

参考文献

[1] 李康. 基于深度学习的医学影像病灶检测算法研究.2024.

[2] 李曼,滕依杉,郭佳颖,等.基于人工智能的医学影像辅助诊断类软件监管与评测方法研究.2022.

[3] 郑光远,刘峡壁,韩光辉.医学影像计算机辅助检测与诊断系统综述.2018.

[4] 薄靖宇.基于深度学习的肺炎医学影像自动识别与检测技术研究.2022.

(本文引用部分内容版权属于原作者,仅作交流探讨,如有侵权请联系删除。谢绝转载)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 昇思25天学习打卡营第12天 |昇思MindSpore 基于 MindSpore 通过 GPT 实现情感分类
  • CANoe:System Variables模块介绍
  • 只有IP地址没有域名怎么实现HTTPS访问?
  • 自动问答之白嫖文心一言大模型
  • 卡拉OK歌唱比赛活动策划方案
  • 使用flutter做圆形进度条 (桌面端)
  • PicInsight - 制作精美的明信片! | 限时免费
  • 成都云飞浩容文化传媒有限公司领航电商新纪元
  • URL重写
  • 代码随想录算法训练营第四十五天| 115.不同的子序列 、583. 两个字符串的删除操作 、 72. 编辑距离
  • ElasticSearch搜索
  • 【实践出真知】使用Docusaurus将md文档组织起来就是一个网站(写API文档,写教程、写日记、写博客的有福了)
  • python使用selenium切换到了iframe
  • 理解 HTTP 请求中 Query 和 Body 的异同
  • Android经典面试题之Kotlin中 if 和 let的区别
  • hexo+github搭建个人博客
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【前端学习】-粗谈选择器
  • Docker下部署自己的LNMP工作环境
  • Effective Java 笔记(一)
  • Fundebug计费标准解释:事件数是如何定义的?
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • java中具有继承关系的类及其对象初始化顺序
  • js
  • js面向对象
  • KMP算法及优化
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python语法速览与机器学习开发环境搭建
  • Twitter赢在开放,三年创造奇迹
  • ViewService——一种保证客户端与服务端同步的方法
  • Vim 折腾记
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 搞机器学习要哪些技能
  • 欢迎参加第二届中国游戏开发者大会
  • 近期前端发展计划
  • 一道面试题引发的“血案”
  • ​Linux·i2c驱动架构​
  • ​力扣解法汇总946-验证栈序列
  • #mysql 8.0 踩坑日记
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (笔试题)分解质因式
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (转)iOS字体
  • (转载)OpenStack Hacker养成指南
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .env.development、.env.production、.env.staging
  • .NET Core 项目指定SDK版本
  • .NET Remoting学习笔记(三)信道
  • .Net 执行Linux下多行shell命令方法
  • @EnableAsync和@Async开始异步任务支持
  • @RestControllerAdvice异常统一处理类失效原因