贾 阳,陈伟光,王海娟,杜涵容,韩俊岗,靳晓辉,杨 斌
(1.西安邮电大学 计算机学院,陕西 西安710121;2.西安邮电大学 陕西省网络数据智能处理重点实验室,陕西 西安 710121;3.西安邮电大学 西安市大数据与智能计算重点实验室,陕西 西安 710121;4.西安市红会医院 放射科,陕西 西安 710054)
骨骼的成熟程度会在人体的不同部位表现出来,尤其是在手腕部,各骨化中心的出现、长骨骨骺和骨干干骺的形状、长骨骨骺与骨干的融合等特征具有普遍性和不可逆性。骨龄是骨骼发育成熟度年龄的简称,骨龄比时间年龄更能准确的反映机体的成熟度。骨龄评测(Bone Age Assessment,BAA)是根据特定人群骨骼发育的共有特征,通过预测骨龄和时间年龄的差异评估个体骨骼发育成熟程度的方法和技术,是目前临床测评个体发育偏离程度最准确、最客观的方法。评测时,将骨骼X线图像和标准骨骼发育图谱进行比对,若存在差异,则需进一步诊断评估。青少年骨龄评测在儿科内分泌问题和儿童成长障碍诊断方面有重要作用[1],常用于青少年内分泌紊乱、生长发育延迟、先天性肾上腺皮质増生等症状的筛查,也可对激素使用的干预效果进行评价。另外,骨龄也可用于鉴定未成年人的真实年龄,在青少年犯罪案件中认定嫌疑人年龄[2]、体育比赛中确认选手年龄、运动员身高预测和选拔[3]中都有广泛应用。
随着计算机数据处理能力和人工智能技术的发展,大型影像诊断设备结合图像识别以及人工智能技术提供了更为准确的诊断报告[4],应用人工智能算法从数据中学习并进行诊断、预测已成为智能医疗中的一个重要方向。图像型全自动骨龄评测算法及系统相关研究对骨龄评测发展具有重要意义,从20世纪90年代开始,就有研究人员设计相关专家系统对自动化BAA进行尝试,通过图像处理、模式识别进行骨龄的估计。近年来,随着深度学习技术的发展,也出现了基于深度神经网络的端到端的骨龄评测。在骨龄评测中,相关的评测标准都有确定且标准化的按照年龄排序的对应骨龄,因此,通过机器学习方法实现全自动的骨龄评测已成为可能。通过分析骨龄评测的基本医学方法,将基于手骨X线片的全自动BAA方法分为图谱法与计分法两类。介绍几种常用的X线片手骨分割方法,以及现有基于深度学习的自动骨龄评测算法,对比分析骨龄评测结果。最后,综述计算机辅助BAA的应用发展情况及其他骨龄评测手段,并对目前存在的问题进行讨论与展望。
随着骨龄研究的不断深入和数字化影像技术的发展,骨龄评测已在发育疾病诊断、身高预测、实际年龄检测中广泛使用。目前,国际上常用的基本医学方法有G-P图谱法、RWT膝部骨龄评价法和TW计分法等3种。
1)G-P法[5]。G-P中对不同年龄阶段的标准图谱分别进行了说明,详细列出手腕各骨的成熟度指征,并标示出样片中各骨的骨龄。该方法使用简便、直观,在国际上有较高的权威性,目前国内很多医院均在使用。不过该方法在整片比较中需要综合考虑各种成熟度指征,主观性相对较大。
2)RWT法[6]。RWT法通过纵向追踪大量样本,根据膝关节部位股骨下端、胫骨上端和腓骨上端等不同骨性成熟指征建立评价体系,并依此建立Latent Trait数学模型,将各年龄组的系列指征描述成一条关于骨龄发育的函数曲线,据此进行未知骨的骨龄判断。该方法首次把计算机技术和数学方法应用到骨龄评价中,解决了图谱法中依靠经验和人工判读的误差问题,也为计分法的产生、图像分割和计算机辅助BAA提供了方法学基础。
3)TW法。TW法是目前国内外最常用的BAA基本方法,TW1[7]、TW2[8]和TW3[9]等TW系列和中国人手腕骨发育标准(CHN)法[10]、中国儿童骨龄评分法和RC法(中华-05 RUS-CHN)都源于这种方法,其基本思想是先选择手腕部的参评骨,按照骨性指征的发育规律将被评定各骨的发育全过程划分为若干个发育等级,依据其对整个骨发育成熟度的得分贡献赋予各骨各等级一定的分值,评定时逐一对各骨进行等级判读,对照骨发育等级得分表查找该等级的得分,然后计算所有参评骨的成熟度得分总和,最后查找得分与骨龄对照表确定骨龄。TW计分法中选取的手骨参评骨示例如图1所示,图1(a)中方框标示了TW评分指标中的部分骨骺,图1(b) 中箭头标示分割难度极大的软组织区域,采样点标示骨骼的不同灰度分布。TW法使骨龄评价更精确、有效。
图1 TW计分法中选取的手骨参评骨示例
TW1对选取的20块骨骺进行分级,依据不同骨间成熟度得分总方差和最小化计算方法确定不同等级的得分,该方法未区分男女差异,在应用中仍存在诸多不足。TW2[8]中重新修订了各骨的发育等级和成熟度得分表。随着生活水平的提高,青少年生长发育速度明显提高,骨龄发育也出现显著加速生长的长期趋势。2001年Tanner等人重新采集样本数据,调整骨成熟度得分百分位曲线,制定了TW3[9]。TW系列是目前骨龄研究中方法学基础介绍最全面、最详细的方法,在国际上被广泛认可,很多国家也据此建立了自己的骨龄发育标准。
自20世纪50年代起我国学者也开始了骨龄方面的研究,常用的骨龄检测方法有顾氏图谱法、“百分计数法”(简称“李氏法”)、中国人手腕骨发育标准(CHN)法和“中国儿童骨龄评分法”(简称“叶氏法”)等4种。
1)顾氏图谱法。20世纪60年代,顾光宁挑选了男女儿童从出生到手腕部骨骼完全融合的代表性骨龄标准片,制定了顾氏图谱[11]。该方法使用简便应用广泛,但病例与标准图谱不一致的情况较多,评测的主观性过强。
2)百分计数法。1979年李果珍[8]根据北京市1 200多例健康儿童手腕部的不同发育程度确定其成熟度发育分期,采用统计方法制定出骨发育成熟度评价方法,将不同发育成熟度的骨骼换算成当量分值,并给出了描线图示和骨龄对照表。但是,该法仅以一次性横向资料为基础,在稳定性、读片、分期重复性及可比性方面均较TW2法差,并且随着我国生活水平的提高,青少年身高发育加速,“李氏法”已不太适合目前青少年的骨龄评价。
3)中国人手腕骨发育标准(CHN)法。张绍岩等[10]对TW2法进行修改,并利用方差极小化和迭代的数学方法,参考G-P法重新确定了骨发育分级及各级分值,提出了中国人骨发育等级标准。该方法通过对14块手腕骨观察,分期进行计分,统计总分后查图表定骨龄。目前,该标准已经在体育、刑侦、司法、医疗卫生系统和高校广泛应用。
4)中国儿童骨龄评分法。叶义言等人[12]从用TW2评价标准计算出每个样本的骨发育成熟度得分,再按照年龄组计算出中位值,并依此作为成熟度和骨龄的对照值。“叶氏法”通过对TW2法进行了修正,实现了骨发育分期系统本地化。
基于手骨X线片的全自动BAA方法均基于上述医学评判方法中的某一种进行计算机辅助分析,因此,BAA方法大致可以分为图谱法与计分法两类。图谱法即输入X线片,对照标准图谱进行判断,最终给出骨龄结果,是一种端到端的处理方式。计分法是将所需判断的骨骼及骨骺全部先分割出来,对每一块进行分析判断给出分数,通过加权求和最终给出骨龄的值。但是,这两类方法实际上均为根据骨龄标准对每位被试X线片的骨骼进行评估,最终汇总得到骨龄评价结果。要实现BAA的自动化,还需进行手骨(或手掌区域)分割、特征提取和骨龄预测。
手部X线片可分为背景、软组织区域和骨骼等3个不同的区域,最具挑战性的部分是去除手部的软组织区域,只保留手骨区域供骨龄分析使用。虽然人们普遍认为在X线片中骨骼的灰度值有其特有的分布范围,但由于骨骼区域和软组织区域、软组织区域和背景之间的部分像素灰度重叠,尤其是某些骨骺区域,如图1(b)中箭头指向的区域所示,从软组织中分割出完整的手骨并非易事,故研究者针对使用稳健的手骨分割技术以识别骨骼边缘和形状进行了大量研究。常见的手骨分割方法有阈值法、聚类法、主动轮廓模型方法、水平集方法以及优化方法,分割结果[16]如图2所示。
图2 参考标准及部分手骨分割结果
图1中A、B、C三处采样位置的灰度区别较大,阈值分割很难满足完整骨骼分割的需求。使用多阈值分割方法,在样本数量巨大的处理中,不同手骨X线片的灰度值分布可能差异较大,如何对所有的图像进行亮度标准化是首先需要解决的问题。Otsu阈值法[13]和基于Tsallis熵的阈值法[14]的手骨分割结果分别如图2(b)和图2(c)所示。可以看出,基于Tsallis熵的阈值法在手骨分割时表现并不如意,但可以考虑使用该方法进行手掌区域的分割。Thodberg等人[15]采用先分割再识别的方法,使用13块手骨,提取骨骼的形状、灰度值和Gabor纹理作为特征进行了骨龄预测。
2.2.1 基于K-means和KGRF的自适应分割法
基于K-means和Gibbs随机场(K-means Data from Bing and Google,KGRF)的自适应分割法主要分两步,第一步是使用K-means根据像素坐标和像素灰度值将图像聚为n类,第二步是将每一类都看作灰度缓慢变化的函数,使用Gibbs随机场模型描述灰度级分布。Gibbs随机场理论很好地描述了当前像素与其邻域像素之间的相互关系,以Gibbs能量的形式引入邻域约束进行图像分割,分割结果由后验概率估计所得,即
(1)
2.2.2 使用灰度共生矩阵纹理的K-means聚类
将图像分成几个竖直方向和水平方向的小块,对图像的灰度值进行K-means聚类,然后分析聚类后的各个块的灰度共生矩阵(Gray-Level Co-occurrence Matrix,GLCM)纹理[17]并据此对图像进行重建,最终得到手骨分割结果[18],如图2(e)所示。该方法可用于分割手掌区域,不适于分割手骨区域,又因人为将图像分为数个区块,块与块之间的灰度分布不一,产生明显的边缘,故此问题应在得到最终分割结果之前解决。
2.2.3 自适应正则核模糊C均值聚类法
在模糊C均值聚类法(Fuzzy C-means,FCM)中,每个数据点到每个簇都存在一个隶属度,每个数据点到所有簇的隶属度之和为1。自适应正则核模糊C均值聚类(Adaptively Regularized Kernel-Based FCM,ARKFCM)法首先指定每个数据到各个簇的隶属度,然后根据隶属度计算每一个簇的质心,接着更新隶属度矩阵,直到所有隶属度的变化的绝对值都低于所设定阈值终止。文献[19]考虑了样本空间非线性,采用高斯径向基函数核方法,得到了更好的高维特征映射空间,同时使用正则化增加分割的鲁棒性,保留更多图像细节,改进了聚类效果。
FCM算法的目标函数表示为
(2)
2.2.4 双凸模糊变分法
该方法结合模糊逻辑算法和Chan-Vese(CV)模型构造双凸目标函数,模糊能量函数表示为
(3)
其中:u为严格双凸的隶属函数;m是正整数常量;w1和w2是权重;b1和b2是在图像轮廓R内部和外部的像素的平均灰度值。分割结果如图2(i)所示,与图2(e)效果类似。
聚类法中除了使用GLCM[18]进行分析能得到较完整的手掌区域外,其他方法都无法得到较完整的分割结果,无法满足后期BAA的需求。
黄飞等人[20]结合AdaBoost级联分类器,提出基于主动形状模型(Active Shape Model,ASM)的手骨边缘提取方法。ASM受初始位置影响很大,引入AdaBoost预先定位手指骨的矩形区域,此矩形区域包含目标手指骨的大体位置信息,将此作为ASM搜索的初始位置,但该研究只提取一块手骨,需要手动设置轮廓初始位置,如果提取所有手骨,则需要框选所有手指骨,工作量过大,与实际应用也有较大差别。文献[21]也用了类似的方法进行指骨分割,同样存在需要手工标记轮廓点的问题。
文献[22]使用腕骨骨骺和骨干末端进行骨龄预测,引入气球力的主动轮廓模型[23]进行分割,该方法分割效果较好,但耗时较长,仅分割腕骨的骨骺和骨干末端两块区域需要约209.387 s,若使用该方法分割数十块BAA所需的手骨,时间复杂度过高。
Simu等人[24]在图像预处理、指骨感兴趣区域提取和边缘增强之后,用水平集方法进行指骨分割,构造的能量函数表示为
(4)
对比大津法[25]、K-means[26]、KGRF自适应分割法[27]、粒子群优化(Particle Swarm Optimization,PSO)算法、ARKFCM[19]和双凸模糊变分法[28]等6种方法与水平集方法的分割结果,表明水平集方法得到的分割效果优于其他6种方法,分割准确率在94%以上。但是,该方法使用了较多阈值处理和形态学操作,在实际应用中,图像采集设备不同会导致图像灰度分布差异,在使用此类方法时容易失效,需要进一步考虑算法的泛化性及鲁棒性。
(5)
其中,w1(th)和w2(th)是使用原先的阈值th将前景、背景区分开的概率。每一步迭代都计算每个粒子的适应度函数,粒子的速度更新表达式为
v(i+1)=v(i)+λ1r(i)[lbest(i)-x(i)]+
λ2r(i)[gbest(i)-x(i)]
(6)
其中:v(i)为粒子的速度;x(i)为当前粒子的位置;λ1和λ2为学习因子;r(i)是0~1之间的随机数;lbest(i)和gbest(i)为前一次计算出的局部最优和全局最优。粒子位置的更新表达式为
x(i+1)=x(i)+v(i+1)
(7)
当类间方差的值与前一次的差小于设定阈值时停止迭代,得到最终的分割结果,如图2(j)所示。PSO容易陷入局部最优,故采用达尔文粒子群优化方法(Darwinian Particle Swarm Optimization,DPSO)进行改进[30],加入种群内个体数量限制,当数量超出设定阈值时删除该种群,据此得到最优解,但从分割结果来看,如图2(k)所示,与传统方法并无较大差别。
文献[16]利用Li等人[31]提出的能量最小化方法(Multiplicative Intrinsic Component Optimization,MICO)进行手骨分割,采集到得的图像Mimg(x)可分解为偏移场b(x)和真实图像Gimg(x)的乘积与噪声n(x)的叠加,即
Mimg(x)=b(x)Gimg(x)+n(x)
(8)
(9)
上述5种分割方法均属于经典分割方法,由于手骨不同部位的灰度分布有一定的差异且不同组织之间灰度重叠,因此阈值法不是很适合用于进行手骨分割。聚类法核心思想还是要将同质性的像素归为一类,但与阈值法类似,也不是很适于进行手骨分割。ASM和水平集方法时间复杂度较高,且很多情况下需要人工进行初始点的标记,工作量大操作复杂。相比较而言,优化方法得到的手骨分割结果最好。
基于深度学习的医学图像分析已成为医学领域和计算机领域的研究热点[32-33]。从基于深度学习的自动骨龄评测通用框架切入,进而对多种基于神经网络模型的自动骨龄评测算法进行综述和性能对比。
基于深度学习的自动骨龄评测算法分为输入图像预处理、基于卷积神经网络的特征提取以及使用回归网络得到骨龄数值等3部分,通用框架[34]如图3所示。预处理部分通常包括手骨X线片的灰度值均衡化、图像裁剪、图像角度校正(图像角度标准化处理)和原始图像数据集增强[34-35](通过形变处理增加样本)。
图3 基于深度学习的自动骨龄评测算法框架
3.1.1 手骨X线片灰度值均衡化
不同的X光机拍摄的手骨图像可能会有较大差异,不同背景、大小的手骨X线片[36]如图4所示,手骨X线片的背景有白色也有黑色,从图像边缘区域采样检测图像背景判断是否为白色,如果是,则将所有图像的背景都统一处理为黑色,以降低图像差异带来的影响。
图4 不同背景、大小的手骨X线片
文献[37]使用灰度均衡化方法抑制与手骨无关的区域,增强手骨区域。而采用生成式对抗神经网络(Generative Adversarial Networks,GAN)对分割结果进行增强,可得到更好的特征进行骨龄预测,增强后的图像作为输入也可提升算法性能[33]。预处理中的背景抑制有利于后续手骨分割,对后期的特征提取也有及其重要的作用。
3.1.2 手骨X线片图像裁剪与角度变换
较多神经网络要求输入图像为正方形,故原始X线片手骨图像经过扩充和裁剪处理后的大小通常为224×224[37]、256×256[38]、299×299[39]和512×512[36]等。文献[36]中所有的手骨X线片图像都是竖长矩形,在保持图像长宽比不变下,将高变换为512像素,补零扩展后得到512×512的图像,之所以使用512×512,一是因为其大于网络所需224×224的尺寸,要将图像缩小到小尺寸,操作较容易;另一方面是考虑到平衡预处理速度和检测效果,选择512×512较为合适。输入图像过小会丢失图像细节,图像过大会增加计算开销。由于大部分原始图像是512×512和1 024×1 024,在计算硬件条件满足的情况下,选择512×512大小的图像可以较好的平衡图像质量和计算复杂度,适于作为神经网络的输入,若想提高训练速度,也可尝试224×224或256×256大小的样本进行训练。
将所有手骨图像进行旋转,使其在X线片中位置与方向统一,检测中指指尖、大拇指指尖和手掌头状骨中心点,由此确定整个手掌的位置,对其进行旋转、缩放等仿射变换,从而实现所有手骨的角度校正[40]。在图像校正方面,主要有两种思路:第一种是通过仿射变换对图像进行一致性和标准化处理,降低样本的差异性,减小需要学习的样本规模[37];第二种是将手骨看做是非刚性对象,通过形变等处理增加样本规模,实现数据增强,覆盖更多的手骨X线片样本[34]。
结合深度学习方法辅助的BAA结果可以提高评估准确性,降低变异性和均方根误差进而提升骨龄评估性能[41]。在基于深度学习的自动骨龄评测算法中,常用的神经网络模型主要包括Inception V3+DenseNet、ResNet、CaffeNet、U-Net+VGG、AlexNet和BoNet,以平均绝对误差(Mean Absolute Error,MAE)为评价指标,基于不同神经网络模型的自动骨龄评测算法结果如表1所示。
表1 基于不同神经网络模型的自动骨龄评测算法结果
续表1基于不同神经网络模型的自动骨龄评测算法结果算法结果(测试集)数据集Caffenet Architecture [37]最大误差:24.4个月MAE:6.4个月RSNA数据集训练集∶测试集=2∶1U-Net+VGG-style+Linear combination[40]MAE:7.52 月RSNA数据集AlexNet(共八层,5层卷积层,3层全连接层)[43]MAE 8.4月的准确率为男性71.2%,女性66.2%维吾尔族男女左手腕关节DR图像,男性245,女性227训练集∶测试集=7∶3BoNet(ad-hoc CNN,6层)[34]MAE:9.48月Digital Hand Atlas Database System总数据量:13 91男性700,女性691CNN分割+Lenet骨龄预测[36]MAE小于12个月的准确率为92.29%男性4 278,女性4 047训练集∶验证集∶测试集=70∶15∶15基于LeNet-5 的CNN[41]MAE小于12个月的准确率为98.6%,RMSE 6.558个月总数据量:8 045训练集∶测试集=85∶15
3.2.1 Inception V3+DenseNet
Inception V3处理的原始图像像素为500×500,将0表示女,1表示男的性别信息输入32个神经元的Dense层,连接图像信息和性别信息,输入至两个1 000个神经元的Dense层,最后使用单输出的线性层得到最终的骨龄预测结果,具体网络模型[44]如图5所示。
图5 Inception V3网络模型
Inception V3+Densenet模型的MAE约为4.27个月。Ren等人[42]使用基于Inception V3模型的回归卷积神经网络(Convolutional Neural Networks,CNN)对手骨X线片和注意力图[45]进行特征提取和预测,最终在RSNA数据集上的MAE为5.2个月。结合表1,可以看出使用Inception V3模型在端到端的骨龄评测中达到的效果较为突出。
Inception模块通过对输入图像并行执行多个卷积或池化操作,将所有的输出结果拼接为一个更深的特征图。尽管增加模型规模和计算代价能够获得更好的结果,但更高的计算效率和更少的参数更有利于深度学习模型在移动端和大数据场景下的应用。Inception V3[46]网络主要通过对卷积进行分解和正则化提高计算效率,核心策略就是将一个大的卷积核分解为几个小的卷积核,如将n×n的卷积核尺寸分解为1×n和n×1两个卷积,n=3时计算成本降低33%。训练时使用RMSProp(Root Mean Square Prop)优化器[47]代替随机梯度下降(Stochastic Gradient Descent,SGD),使用Batch Normalization防止梯度弥散,使用标签平滑防止过拟合。
Synho等人[36]采用Inception模型进行BAA。先对图像灰度分布及大小进行归一化,将手骨部分、其他组织、背景区域和标记文字等区域均进行区块采样,通过CNN实现手骨区域的分割,然后使用GoogLeNet进行骨龄预测,误差小于一岁的准确率为92.29%,一次耗时约为1.4~7.9 min。该研究排除了0~4岁的儿童,骨龄都以“X岁,6个月”给出,由于数据集的骨龄时间分辨率为半年,模型最终可能会引入时间上的误差。
DenseNet[48]将每一层的输出都导入后面所有层,保证了层与层之间最大程度的信息传输,这种密集连接大幅减少了网络的参数量,也减轻了过拟合现象,网络旁路加强了特征的重用,在一定程度上缓解了梯度消失的问题。DenseNet第l层的输出为
xl=Hl([x0,x1,…,xl-1])
(10)
其中,Hl表示一个非线性变换。DenseNet将所有层的输出进行通道合并,保证网络中信息流的完整性。
文献[33]采用FC-DenseNet进行手掌特征提取,同时采用QBC(Query By Committee)算法对特征进行度量,从总的数据中选择差异最大的样本(含有更多信息)进行模型训练(主动学习),最终得到手掌区域分割结果。为了得到更好地输入数据进行骨龄评测,采用生成式对抗网络(Generative Adversarial Networks,GAN)训练生成增强后的X线片手掌区域,并提出PTL(Paced Transfer Learning)进行自顶向下的逐步训练。初期只对随机初始化的顶层全连接层进行精调,当损失函数的值下降到稳定阶段后再对次高层进行精调,逐步向下直到模型收敛,最终MAE值男性为5.99个月,女性为6.26个月。骨龄评测整体框架如图6所示。
3.2.2 ResNet
ResNet[49]主要是通过使用残差解决网络深度增加时的神经网络性能退化问题,ResNet的l层的输出是l-1层的输出加上l-1层输出的非线性变换,即
xl=Hl(xl-1)+xl-1
(11)
残差的旁路只传递了部分信息,会造成信息丢失。Mutasa等人[38]提出了MABAL(Machine-Assisted Bone Age Labeling)模型,通过结合Inception模型和残差模型用14层的网络进行骨龄预测,残差层和Inception层不同组合方式的测试结果表明前些层用残差,后期使用Inception效果最好,最佳MAE约为0.64年。Pan[15]等人使用ImageNet与训练的精调ResNet-50,通过数据增强和模型组合防止过拟合,提高了算法性能,最终MAE约为4.4个月。
3.2.3 CaffeNet
Lee等人[50]首先对原始图像进行了剪切和灰度直方图调整,然后使用CNN模型CaffeNet[51]对224×224的图像进行一系列的卷积、池化操作,最终得到1 000维的特征向量,在处理中用到了ImageNet上的预训练模型权重,最终的平均绝对误差约为6.4个月,最大误差为24.4个月,但该实验数据量较少,训练数据和测试数据分别为400张和200张,数据少导致了一定的过拟合,增加样本数量可能会解决这个问题。
3.2.4 U-Net+VGG
Iglovikov等人[40]使用U-Net[52]进行手部的分割,通过关键点检测对手的位置进行了一致性的校正和对齐,然后使用VGG模型进行骨龄预测。评估发现,将手的图像、腕骨区域、掌骨及指骨等3部分进行线性组合后骨龄预测效果最好,MAE为7.52个月。
U-Net分割加上图像特征提取与骨龄预测是常见的处理流程,U-Net将图像分割看作像素分类问题,通过多次卷积进行特征提取,然后进行反卷积将分类后的像素进行位置复原,实现图像分割。
计算机视觉组(Visual Geometry Group,VGG)网络由5层卷积层、3层全连接层和1层softmax输出层构成,层与层之间使用最大池化,所有隐层的激活单元均采用ReLU函数[53]。VGG证明了卷积神经网络的深度增加及小卷积核(3×3的卷积核)的使用有利于提升网络的最终分类识别效果。
3.2.5 AlexNet
AlexNet[54]为8层深度神经网络,其中包含5层卷积层和3层全连接层,不计局部响应归一化层(Local Response Normalization,LRN)和池化层。AlexNet中将ReLU作为激活函数,使用Dropout避免过拟合,通过LRN层对局部神经元创建竞争机制,使得响应较大的值变得相对更大,并抑制其他反馈较小的神经元,增强模型泛化能力,使用数据增强减轻过拟合、增加模型泛化能力。
胡婷鸿等人[43]使用AlexNet[54]作为图像识别回归模型对维吾尔族青少年左手腕关节骨龄进行识别,在误差8.4个月时准确率约为70%,但无法用于我国青少年骨龄鉴定检案实践,后期将继续增加样本量,进一步提高准确率,并逐步克服随精度要求增加时准确率波动的现象。
3.2.6 BoNet
Spampinato等人构造了BoNet[34]进行骨龄预测,其中关键技术包括使用OverFeat[55]特征提取网络的第一层卷积层对低层视觉特征进行编码,降低X线片数量少所带来的过拟合风险,使用形变层以获得手骨的非刚性形变,增加样本数量,使用回归网络来得到预测的骨龄。在公共数据集上测试结果表明,将卷积层从2增加到6,发现卷积层并不是越多越好,使用5层就能够达到最好的性能,MAE约为9.48个月。将BoNet不同深度卷积层提取的特征所对应的感兴趣区域(Region of Interest,ROI)与TW法中所使用的ROI进行对比,如图7所示。可以看出,BoNet覆盖了所有的TW法建议的区域,但是同时也发现有一些区域对于预测骨龄并非是必须的。
传统人工评估骨龄方法繁琐费时且易受主观影响,随机误差大,骨发育等级标准的文字描述实际应用起来比较复杂、系统误差较大,因此,从90年代初期开始,通过计算机辅助进行骨龄评测。
计算机辅助骨龄评分系统[56]由计算机自动查表给出总分及骨龄。该方法对手在X线图像中的位置要求严格,结果受图像质量影响较大,不能识别重叠较多的骨骼,处理病态手较困难。
计算机辅助诊断系统[57]用于骨龄评测的过程如图8所示,由医生用鼠标标记感兴趣区域,再进行精细分割和特征提取,实现分类识别。该方法并非全自动方法,仍需要医生标记多个区域进行图像处理。
图8 计算机辅助诊断系统用于骨龄评测的过程
BoneXpert[58]是由丹麦等国联合开发的用于骨龄评测的软件。该软件基于主动外观模型(Active Appearance Model,AAM)方法提取1、3、5指骨,1~5掌骨及尺桡骨共15块骨头,提取各骨示意图如图9所示。
图9 BoneXpert提取各骨示意图
通过识别每块骨头的形状、密度,重建骨头边缘,评估除2、4掌骨外的其余13块骨头的骨龄。如果所有骨头的均值相差大于2.4岁,则无法评估该样本骨龄,最终将这些骨龄转化为G-P及TW3骨龄[59],评估过程平均单位耗时为14.5 s。该软件已广泛应用于各国医生的诊断与科研中[60-61]。Pinsker[62]测试了BoneXpert对有损压缩的JPEG格式手骨X线图像的处理效果,证明了JPEG图像也可得到较高的检测准确率。不过该软件样本采用的均为高加索儿童,与我国儿童有一定的差异,使用时需要进行相应的调整。
Sanchez[63]等人对使用传统X线和使用Norland XR-800双能X射线吸收法(Dualenergy X-ray Absorptiometry,DXA)进行骨龄评测结果对比,发现两种方法结果高度相关。但是,使用DXA方法能够发现更加细微的变化,可以测到儿童3个月的骨龄变化,在需要测试短期内儿童发育情况变化时使用DXA更加有效。
通过依图自主研发并优化的人工智能模型,对儿童骨龄片进行基于G-P/TW3标准的智能判读,5 s以内给出精准评分结果,最大误差在3个月内,诊断结果采纳率超过99%,结果与自身专家无统计学差异,目前还未见医学领域对该软件的相关评测文献[64]。
除了常见的使用手骨X线片进行骨龄评测,还有使用超声波、磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)图像和基于骨盆X线图像进行骨龄评测的方法。
骨龄超声系统BAUSTM进行骨龄评估,最大的优势就是无辐射,准确率可精确到月。Rachmiel[65]等人将超声检测结果与G-P和TW3法进行了比对,发现超声法也可以得到与经典X线检测方法相当的效果。
由于使用X线片进行骨龄评测的方法对人体有辐射,有些国家禁止进行非诊断用的手骨X线片拍摄,所以考虑使用MRI图像进行骨龄评测[66-67]。文献[68]使用左手的3D MRI图像进行全自动骨龄评测,首先使用回归随机森林方法分粗定位和精细定位两步得到骨骺间隙区域,然后将这些区域的图像特征,主要是所定位的点的亮度值、不同位置点之间的亮度差异及平均亮度值映射到按照顺序排好的年龄上,通过回归分析得到最终的骨龄预测结果,56名男性白人被试的最终MAE约为10.56±6.96个月。Stern等人[69]使用132张3D的MR手部图像进行基于随机回归森林算法的骨龄评测,MAE约为9.84±6.72个月。
Schmeling[70]提出如果X线中发现骨骼已经发育完全,在某些刑事、民事、庇护和养老程序中需要判定对象是否成年时,建议使用电子计算机断层扫描(Computed Tomography,CT)评价锁骨内侧骺的骨化程度,Ufuk等人[71]对354例被试的CT图像进行分析后,证实锁骨内侧骨骺有助于法医学鉴定年龄,我国也有学者做了类似的回顾性研究[72]。
随着年龄增长,基于手骨的骨龄评测变得困难,而使用骨盆X线片进行骨龄评测也被证实有效[73]。Zhang等人[74]使用AlexNet处理骨盆X线片图像最终得到骨龄数据,MAE为10.68月。该方法对于一般骨龄测试者都适用,即使是较大年龄,如19~21岁的被试都适用,超过22岁(含22岁)不适用。
随着国内医疗水平的提高,通过评估青少年骨龄,可了解其生长发育情况并积极采取相关干预。在各种青少年体育赛事中,使用骨龄评测方法获取青少年真实年龄的手段更加普遍,社会对骨龄评测算法及设备的研发也有很大需求。目前,基于整体图谱进行骨龄评测的软件及算法效果较好,但在时间精确度上仍需要进一步提高,在各类骨结构精确分割任务与更加详细的评估方法等方面还需要研究,具体的问题及下一步可能的研究方向主要有以下5个方面。
1)文献[36,41]中的数据集骨龄精度为6个月,会影响算法的评估精度,因此,在后期的研究中应收集精度更高的数据集,如将样本X线片的骨龄精度提高到月或以天计算,有利于训练出精度更高的骨龄评测模型。从儿科医生对青少年生长发育治疗的角度来看,骨龄评测需要有更高的精度,对发育、病情发展的短期跟踪更有意义,如通过软件发现在短期内儿童骨骼的变化,有利于医生评估患者接受生长激素等干预的效果,及时对患者的治疗方案做出调整。
2)在骨龄评测算法方面,目前的深度学习均使用端到端的方法,输入X线片最终输出骨龄数值。但是,临床医生认为计分法能够给出更加准确的结果,可以看到各骨骼的发展情况,而不仅仅是给出最终的骨龄结果。若软件能够自动标注某一患者时序上的骨骼发育变化,将各骨发展变化情况都直观展现出来,显示患者一段治疗时期内骨龄的微小变化,对于分析患者病情发展,调整治疗方案更有价值。后期骨龄评测算法研究可以深入到手骨各骨分割(多目标分割)、基于计分法的手骨各骨骨龄评测、手骨图像微弱差异分析与标注等方向。
3)在手骨分割方面,效果较好的有双凸模糊变分、能量最小化和U-Net等方法。但是,目前的分割都属于单目标分割,即将整个手掌区域或手骨区域看作需要分割的目标,最终得到一个二值图像。要满足医学上更具精准的诊断需求,有必要研究手部各骨的多目标分割方法,但该研究有一定难度,主要原因有两个方面。一方面是分割目标数目不定,在儿童发育过程中手部骨骺出现时间不一,在X线片中需要分割骨骺数量不定,使用模板法时需谨慎。另一方面是根据TW3法标准,骨龄的评定涉及到骨骺、手骨的微小形态变化,X线片中有的骨骺、骨骼边缘模糊,要得到所有骨骺、手骨的精确分割结果有一定的难度,需要更鲁棒的多目标X线片分割方法,可以考虑使用GAN和DenseNet开展手骨的精细分割研究。
4)已有研究通过深度神经网络对手掌不同区域的激活情况进行分析,发现手骨的不同区域对骨龄的贡献也不同[33],有一定的可能性真正对骨龄评测起作用的只有更少数量的手骨,可以通过进一步的深度学习分析确认。随着生活水平的提高、儿童发育时间提前,经典骨龄标准可能已经不适用于目前的少年儿童,可通过对新样本使用深度学习方法提取特征,通过统计分析进行确认,对骨龄标准进行修正,或提出新的骨龄标准。
5)目前也有一些其他的方法手段进行骨龄评测,但是基于手骨X线片的骨龄评测对于大多数生长发育诊断及真实年龄鉴定仍是最简单、最广泛使用的方法,也是发展历史最久的一种方法。有较多的基础理论支持和较大规模的数据集,在算法及技术研究方面最容易突破,但其他手段也有各自的优势,如在大龄青少年骨龄评测、使用超声波避免X线辐射等,也有一定的研究意义。