本文主要是介绍肺部影像辅助分析软件的一些规范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
国家对这方面的一些规定
肺部影像辅助分析软件算法性能测试方法.pdf
术语和定义
- 通过准则 pass criteria
判断一个软件项或算法功能的测试是否通过的判别依据。 - 测试计划 test plan
描述预定测试活动的范围、方法、资源和进度的一种文档。它确定测试项、要测试的特征、测试任务、执行每一任务的人员以及需要应急对策的任何风险。 - 基线扫描 baseline scan
患者接受的首次影像扫描。 - 随访扫描 follow-up scan
患者在随访阶段接受的影像扫描。 - 重复筛查 repeat screening
以一定周期重复进行的筛查。 - 征象 sign
在进行身体检查或病理检查时,能够提供医生对医疗进展及疾病状况的迹象及指标,通常可由客观测度得到的。 - 影像征象 signs in radiology
通过影像学手段获取的征象。 - 压力测试 stress test
使用具有挑战性的用例或测试集开展测试的过程。
测试环境
硬件环境
硬件环境是指测试使用的服务器、客户端、网络连接设备、辅助硬件设备所构成的环境。
软件环境
软件环境指被测软件运行时使用的操作系统、数据库、云平台与应用系统的软件等构成的环境。
测试环境配置
- a) 宜在软件用户文档集中规定的最低硬件及软件环境下进行测试,如运行环境中在最低环境之外还指定了“推荐环境”、“部分功能受限环境”、“最优运行环境”等,宜在这些环境下进行必要的测试或理论分析。
- b) 如存在多个软件环境,且软件环境中规定的运行库/框架等差异对算法性能可能存在影响的,应当在所有存在疑问的环境中分别测试。
- c) 测试环境中的其他软件如影响待测产品的部署、运行和测试,测试时应进行控制。
- d) 在产品临床应用环境下具备测试条件时,也可直接选择在临床应用环境下进行测试。
- e) 如按要求部署测试环境后软件无法运行(这通常是软件环境规定得不全导致的),或按要求部署测试环境后产品出现重大运行缺陷(如界面无法正常展示、频繁崩溃、内存泄漏等),应当予以记录并在结果表达中明示。
- f) 测试环境应在结果表达中完整记录。
测试
测试集通用要求
测试集的质量应满足YY/T xxxxx.2《人工智能医疗器械 质量要求和评价 第2部分:数据集通用要求》。测试集应独立于算法研发、训练、调优过程,保证封闭性和安全性。
肺部影像辅助分析软件的制造商可根据产品预期用途和临床应用场景,对测试数据进行限定。
测试集样本量
测试人员宜结合测试的置信度、算法主要指标的允差、阳性样本在测试集中的比例,计算单次测试的样本量要求。对预期用于分类的产品,可采用灵敏度计算单次测试中阳性样本的样本量,用特异度计算单次测试中阴性样本的样本量,计算公式如下:
式中:
- N——单次测试中阳性样本/阴性样本样本量;
- z为底的1减2分之阿尔法——标准正态分布的分位数;
- P——灵敏度或特异度的预期值;
- ∆——P的允许误差大小,一般取P的95%置信区间宽度的一半,常用的取值为0.05—0.10。
对预期用于检出的产品,可采用召回率计算单次测试中阳性样本的样本量。对其他预期用途的产品,制造商宜描述单次测试样本量选取的依据。
使用单次测试的阳性样本量除以阳性样本的比例(患病率),得到单次测试的样本总量。制造商宜提供患病率的数值和来源。
测试数据集的样本总量应不低于单次测试样本总量的n倍,n由制造商定义。
测试集配置
- a) 测试集应考虑多中心临床使用场景在人群特征、疾病分布、数据质量要求、数据标注标准、数据采集设备与场所方面的统计学差异,确保数据容量与多样性。
- b) 根据不同的测试目标,应组建不同的测试集和测试流程。
- c) 应记录测试集的版本、标识、制造责任方、总体样本量、样本构成、使用日期、存储位置。
- d) 测试人员宜根据测试集的数据层次,从设备、人群、地区、机构、数据质量、成像参数等方面抽取子测试集,开展分层测试,评估不同场景、不同配置下的算法性能。
- e) 测试数据如包含同一病例在不同时间的数据,如基线扫描、随访扫描、重复筛查,应记录数据采集、数据标注的时间、地点、人员;如适用,对采集、标注过程的差异进行分析,对测试数据进行筛选。
扩增数据
在算法可靠性、鲁棒性测试中,可使用以黑盒或白盒方式扩增的仿真数据进行附加的算法测试,研究产品性能的变化趋势,以及在极端条件下的表现。
- a) 白盒扩增方式,其内部环节是可理解的,如:旋转、分割、叠加噪声/伪影、叠加滤波、重建;
- b) 黑盒扩增方式忽略内部环节,集中响应输入和执行条件产生输出,如:生成对抗网络;
- c) 如算法依赖的数据特征具有明确定义,可针对该特征进行针对性的扩增;
- d) 测试计划应描述数据扩增的原理、方法、依据,对扩增的仿真数据与真实世界数据的异同进行比较论证,必要时进行抽样标注和验证;
- e) 扩增数据集的配置宜符合4.3.3的要求。在标识与版本控制方面,扩增数据应与真实数据严格区分,使用记录可追溯。
测试报告
测试报告对测试结果进行客观、定量的描述,内容至少应包含:
- a) 软件环境;
- b) 硬件环境;
- c) 测试平台描述(如适用);
- d) 测试集描述;
- e) 算法性能指标的符合性分析,包含性能指标的定义、测试通过准则、统计分析;
- f) 算法错误分析。
目标检测
常见标记匹配方式:
- a) 区域重叠:通过计算算法标记目标与参考标准区域重叠的程度(如Dice系数、Jaccard系数)并设定匹配阈值来确定匹配结果。
- b) 中心点距离:通过计算算法标记目标与参考标准区域中心的距离并设定匹配阈值来确定匹配结果。
- c) 中心点落入:通过判断算法标记的感兴趣区域中心是否落入参考标准区域范围内来确定匹配结果。
匹配结果分为三种情形:
a)真阳性,即匹配参考标准的算法标记目标,总数记为TP,预测为正,实际也为正;
b)假阳性,即未匹配参考标准的算法标记目标,总数记为FP,预测为正,实际为负;
c)假阴性,即未匹配算法标记目标的参考标准目标,总数记为FN,预测为正,实际为负。
特殊情况处理:
a) 如采用区域重叠方式,取区域重叠的程度更大的;
b) 如采用中心点距离方式,取中心点距离更小的;
c) 如采用中心落入方式,取中心点距离更小的
检测方法:
- 召回率 Rec
算法分割的感兴趣区域与参考标准分割的感兴趣区域的交集除以参考标准分割的感兴趣区域。
- 精确度 Pre
算法分割的感兴趣区域与参考标准分割的感兴趣区域的交集除以算法分割的感兴趣区域。
- 交并比
当感兴趣区域为一般实体时(如肺结节),宜采用Dice系数或Jaccard系数计算交并比。
Dice系数为算法分割的感兴趣区域与参考标准分割的感兴趣区域交集的两倍除以两者之和(召回率与精确度的调和平均数)。
Jaccard系数为算法分割的感兴趣区域与参考标准分割的感兴趣区域交集除以两者的并集。
- 树检测长度 (tree length detection,TLD)
当感兴趣区域为气管或其他树形结构时,宜采用树检测长度评估计算正确分割的气管长度与参考标准气管长度的比例。
- 表面距离
表面距离为算法和参考标准给出的感兴趣区域之间的距离,可用于评价轮廓分割的效果。
- 密度测量
算法识别的感兴趣区域内像素的密度值或灰度值,与参考标准感兴趣区域的结果进行比较,以计算相对误差绝对值的平均值。
- 尺寸测量
尺寸测量的对象是感兴趣区域的尺寸,如长短径、紧密包裹矩形框的长宽等。感兴趣区域可以是二维平面、三维立体空间。
当算法识别的感兴趣区域可近似看做凸形状时,可对算法识别的感兴趣区域轮廓(含边界)使用旋转卡壳法(rotating caliper)或其他方法,定位具有医学意义的关键点,计算长径、短径和平均值,与参考标准的感兴趣区域结果进行比较,计算相对误差绝对值的平均。
- 体积测量
分别统计算法识别的感兴趣区域和参考标准的感兴趣区域内的体素数量,乘以每个体素的体积,可计算体积测量的绝对误差;也可根据体素数量,计算相对误差绝对值的平均值。
影像分类
测量方法:
- 构建混淆矩阵 Confusion Matrix
- 灵敏度 Sen
- 特异度 Spe
- 漏检率 MR
- 阳性预测值 PPV
- 阴性预测值 NPV
- 准确率 Acc
- 约登指数 Y
- Kappa系数 K
- ROC曲线
多功能组合, 如:
首先对标记-匹配场景进行评价,计算检出的指标;
其次对正确检出的感兴趣区域,计算分类的指标;
再次对分类正确的感兴趣区域,计算分割的指标;
最后计算测量相关指标
随访评估
对具有随访评估功能的产品,应输入同一病例的基线扫描、随访扫描、重复筛查等不同时间节点的数据,比较算法对同一感兴趣区域的分析结果与参考标准之间的符合性,计算绝对误差;同时,根据各时间节点的结果,可建立动态曲线,计算与参考标准曲线之间的一致性。
患者分诊
对具有患者分诊功能的产品,测试集应依据临床诊疗标准或专家共识对测试数据建立分级标签,比如阴阳性分诊或危重分诊,与算法输出的标签进行对比,建立混淆矩阵,采用5.1.3.1的方法计算灵敏度、特异性、Kappa系数等指标。 对具有患者优先级排序的产品,参照执行本条款的方法。
质量特性与测试方法
泛化能力
泛化能力是指算法对陌生样本的适应能力。制造商应根据产品预期用途和部署环境,对产品研发使用的训练集与真实世界陌生样本之间的差异进行分析,形成文档,作为配置测试集的依据。实际测试中,宜通过测试集的多样性与变化性,对算法的泛化能力进行验证。
鲁棒性
制造商应根据产品风险分析和临床部署环境特征,评估临床使用阶段各种可能干扰算法性能的因素,获取或模拟相关数据,组成专用测试集,对算法性能进行对抗测试,分析各指标的变化情况,形成鲁棒性研究资料。
面向硬件变化的对抗测试
测试人员应考虑医学成像硬件设备、参数设置的多样性,收集或模拟生成更多的图像数据,作为对测试集的扩充,验证算法面对影像采集硬件设备的鲁棒性。参数设置的多样性包括:物理分辨率、像素分辨率、亮度、调焦、射线质量等。模拟生成的图像数据不应影响标注结论。
面向软件前处理的对抗测试
测试人员宜考虑软件前处理的多样性,收集或模拟生成更多的图像数据,作为测试集的扩充,验证算法面对软件前处理的鲁棒性。软件前处理的多样性包括:背景裁切、图像压缩、背景填充、平滑预处理、重建算子等。模拟生成的图像数据不应影响标注结论。
面向欺骗攻击的对抗测试
欺骗攻击是一种加入人员难以觉察的扰动从而骗过模型的攻击手段,测试人员可使用白盒攻击(Projected Gradient Descent,PGD)产生最大范数有限(如不到8/256)的扰动,并将扰动插入到原始图像中,然后用模型对这些添加扰动后的图像进行测试,从而验证模型是否能抵御恶意欺骗攻击。
压力测试
压力测试是在模拟实际应用中可能遇到的长时间极端输入或者环境下(不同负载、极限值、边界值、大容量数据、错误数据、稀有数据等),测试某算法模型的性能、可靠性、稳定性等。
压力样本的定义
压力样本是指在某算法模型的标定范围内,特征容量极大或者极小的样本。压力样本不应影响医生的正常判断。
压力样本的选取
压力样本的选取可遵循以下原则:
a) 受试者年龄偏大的影像;
b) 特定疾病的影像;
c) 有伪影但满足数据质量要求的影像;
d) 影像的层厚极大或者极小;
e) 影像序列包含的图像数量极大;
f) 有植入物(干扰项)的;
g) 有并发症的;
h) 多发、弥散性病变。
重复性
测试人员应对同一测试集进行重复测试,测试次数不宜低于三次。
这篇关于肺部影像辅助分析软件的一些规范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!