孟祥峰,王浩,张超,任海萍
中国食品药品检定研究院 光机电室,北京 100050
当前以深度学习[1-2]为代表的人工智能技术已广泛用于医疗领域,如糖网筛查[3-6],这些技术本质决定了训练集的质量对人工智能(Artificial Intelligence,AI)产品的核心算法性能有重要影响,医学AI使用的训练集数据[7-8]区别于其他领域,需要获得伦理批准,图像获得后还需进行标注等处理以获得“金标准”,建设周期长,成本高。此外,国内外也没有相关标准和规范对AI训练集的质量进行约束,不同国家、地区、机构建立的训练集的起源、数据质量、可溯源性、标注的参考标准、数据多样性往往存在较大差异。因此在训练数据集数量不足、数据质量参差不齐的情况下,AI的性能本身就受到了很大的限制。
AI软件在特定训练集训练或测试时,会得到很好的效果,然而在新的数据集上的表现就很难保证,这也说明其泛化能力差,容易出现过拟的现象。一旦数据出现“噪声”的扰动,鲁棒性能差的AI就可能产生系统性的质量问题,这对于AI企业、医生、患者,甚至整个行业将造成损失和浪费。
实际上对于糖网AI的训练集即眼底图像,在获取、传输过程中本身的格式、分辨率等有可能发生改变,甚至AI软件本身为了节省计算机资源,也会对图像进行预处理(如压缩、图像背景裁剪等),这对于软件就是一种扰动,图像在人的视觉上可能和原始的图像不可区分,但对于AI,图像扰动带来的变化是敏感的,很可能会对最终的决策产生影响。
目前对于医疗AI产品的算法评价多采用“黑盒”测试的方式。由于AI软件系统对数据的处理、计算和决策过程对用户是不可见的,因此可从AI软件的输入、输出端入手,在输入端(即测试数据集)采取图像变换的形式(如图像压缩、背景裁剪、滤波等),模拟图像采集过程中实际存在的图像改变,进而观察输出的变化。这个过程也是对AI软件的对抗攻击过程,通过模拟对抗测试[9],实现人工智能医疗器械在实际使用时的风险和可靠性评价。
本文采用实际临床100张眼底图像,对AI软件进行模拟对抗测试,原始图像分类[10-16]与分布,见表1。
分别对原始图像进行图像压缩、图像背景裁剪、图像平滑滤波变换。
(1) 图像压缩。使用双三次插值,将原始图像等比压缩,比例范围为50%~100%,步长5%,将原始100张图像分成11组,总共1100张图像。
(2) 图像背景裁剪。在原始图像两侧分别填充黑色背景,尺寸为0~100像素,步长10像素,将原始100张图像分成11组,总共1100张图像。
(3)图像平滑滤波。使用moving average滤波,卷积核1~21个像素的均一矩阵,步长2像素,将原始100张图像分成11组,总共1100张图像。
对以上3种变换共3300张图像在3种算法上进行测试,算法均为转诊筛查功能。表1中0、1、5、6类为金标准的阴性,2、3、4类为金标准的阳性。当算法将表1中图像判为不转诊时,即为AI算法的阴性;判为转诊时,即为AI算法的阳性。对每种算法每种变换的每组结果给出混淆矩阵,见表2。
计算灵敏度与特异性,灵敏度特异性计算公式如式(1)~(2)所示。
灵敏度:
特异性:
式中,N1,1为真阳性的数量,即被AI算法正确地预测为阳性的眼底数据;N1,2为假阳性的数量,即被AI算法错误的预测为阳性的眼底数据;N2,1为假阴性的数量,即被AI算法错误的预测为阴性的眼底数据;N2,2为真阴性,即被AI算法正确地预测为阴性的患者数据。
表2 AI测试结果的混淆矩阵
经三个AI算法的原始图像及图像压缩处理后的图像的测试结果分别如图1~3所示。从图1可以看出,图像压缩的变化对算法1的灵敏度和特异性引起的变动不大,然而对于算法2(图2)和算法3(图3),随着图像分辨率的降低,灵敏度出现下降,特异性出现上升。对于医生,图像分辨率越高,可能越有利于读图的准确率,然而对于算法2和算法3,灵敏度和特异性的变化趋势相反,需要研发者进行权衡。
经三个AI算法的原始图像及背景裁剪处理后图像的测试结果分别见图4~6。图像背景裁剪变化的是图像上的黑色背景,即图片中不包含眼底信息的部分,客观上也能节省AI的计算资源,同时不影响医生对于图像的判断。然而AI产品的响应出现了波动。测试结果显示,算法1的灵敏度保持平稳,特异性的变化小于2%(图4);算法2和算法3(图5~6)的灵敏度和特异性都有5%左右的波动。这也说明非病灶区的图像变化对AI产品也会造成影响,AI鲁棒性应引起注意。
经三个AI算法的原始图像及平滑滤波处理后的图像的测试结果分别如图7~9所示。图像平滑滤波作为常见预处理算法,一般是用于抑制图像获取时所产生的高频噪声或伪影,尤其对于糖网1期和2期的判断,高频噪声可能会影响微血管瘤和出血点的识别。根据测试结果,对于算法1,随着平滑滤波卷积核的增大(意味着滤波器截止频率下降),灵敏度和特异性均有下降(图7);对于算法2和算法3平滑滤波卷积核越大,灵敏度越低,特异性越高(图8~9)。
从每个算法的性能变化角度看,对于算法1,图像压缩、图像背景裁剪对灵敏度几乎无影响,特异性有轻微波动,波动量在3%以内;平滑滤波引起灵敏度和特异性同时下降,波动量达10%左右;算法2和算法3图像压缩、图像平滑滤波操作客观上导致图像空间频率降低,引起灵敏度下降,特异性上升,波动量接近20%;图像背景裁剪引起结果的小幅波动,波动量在5%以内。
表1 模拟对抗测试用原始数据集分类与分布
图1 算法1图像压缩后灵敏度及特异性变化曲线
图2 算法2图像压缩后灵敏度及特异性变化曲线
图3 算法3图像压缩后灵敏度及特异性变化曲线
图4 算法1图像背景裁剪处理后灵敏度及特异性变化曲线
图5 算法2图像背景裁剪处理后灵敏度及特异性变化曲线
图6 算法3图像背景裁剪处理后灵敏度及特异性变化曲线
图7 算法1图像平滑滤波处理后灵敏度及特异性变化曲线
图8 算法2图像平滑滤波处理后灵敏度及特异性变化曲线
图9 算法3图像平滑滤波处理后灵敏度及特异性变化曲线
本次实验使用临床数据模拟了几种图像预处理对眼底图像引起的变化,包括为了节约内存而进行的图像等比压缩、因软件而异的图像黑色填充比例调节,以及为了降低图像噪声的图像平滑处理。三种待测算法在测试中的表现具有明显差异。
综合来看,算法1在本次实验中性能的稳定程度优于算法2和3。三种图像预处理中,图像平滑滤波对AI结果的影响最大,说明降噪需谨慎处理。考虑到部分眼底相机或AI软件本身就具有降噪的功能,研发人员应当关注这些功能对AI算法的训练和优化带来的影响。黑色背景填充本身虽然与病灶无关,但对鲁棒性也有一定影响,在兼顾硬件运行效率的同时应权衡其带来的风险。
随着AI技术在医疗领域的飞速发展,医疗AI的种类也越来越多,应用在各个领域,如骨科、消化科、眼科、胸科等多个领域,对测试集的需求越来越大,对数据来源、采集设备、试验条件、人员操作、预期人群等多样性的要求也越来越高。从以上试验结果可以看出,对抗测试的方法对于比较不同AI软件性能的差异提供了一个新的维度,对于客观评价医疗AI软件鲁棒性提供了一种有效思路,这也扩展了使用单一测试集评价产品的能力。理想情况下,用于AI产品质量评价的数据集应无限大,包含人群、设备、场景等各种多样性以及可预见的数据波动。然而,受制于实际条件和成本,数据集难以包含真实世界的所有情况。采用模拟对抗的方式,有针对性地对样本进行扩充,有希望以较低的成本提高测试的科学性和发现产品质量风险的能力,值得继续深入。