毛科技,汪敏豪,陈立建,2,陆伟,武坤秀,陈庆章,赵小敏*
1. 浙江工业大学计算机科学与技术学院, 杭州 310023; 2. 浙江广播电视大学萧山学院, 杭州 312000
骨龄是骨骼年龄的简称,是指儿童、青少年骨骼发育水平同骨骼发育标准比较而求得的发育年龄。早期骨龄评估广泛应用于诊断孩子身高发育状况。手腕作为骨骼发育最活跃的部位之一,最能代表骨骼发育程度和生长潜力。通过评定手腕部参照骨的成熟指征,并利用相关统计和数据处理方法,可以对个体做出精确的骨龄评估。
骨龄评估的方法有很多种,最常用的是图谱法和计分法。其中,图谱法是将手腕X光片直接和标准骨龄片对比,以整体最相似的骨龄片标注的骨龄作为被测儿童的骨龄,或者取两张最相似的骨龄片标注的骨龄平均值作为被测儿童的骨龄,如G-P图谱法(Greulich和Pyle,1959)。该法因为简单易行,被许多专家采用,并提出和修订了不同标准的骨骼成熟图谱。但是该评估方法最大的缺点是主观性太强(Berst等,2001)。Tanner等人(1975)通过研究提出了TW(Tanner and Whitehouse)系列(Aja-Fernndez等,2004;Helm,1979;Tanner 等,1997)的骨龄计分法。经实验得出,相比于传统方法,通过计分法得到的骨龄偏差更小,于是被越来越多的医生、专家投入临床使用。张绍岩等人(1993)联合中国人骨发育调查组,在TW2的基础上,修改并制订了《中国人手腕骨骨发育标准—CHN法》。其中,按照标准图谱(手腕参照骨)判断样本手腕骨等级是计分法中的核心问题。相比于图谱法、TW系列等方法,CHN的评估准确率更高,而且应用更广泛,是当下的社会市场中专门适用于中国青少年儿童的骨龄评估方法。CHN法现如今已被国内各大医院、诊所投入临床使用,作为评判个体生长发育的重要手段。本文将以 CHN 法为例,进行人手腕骨兴趣区域自动提取。
在骨龄评估过程中,CHN法将人的左手腕分为14块参照骨,然后根据参照骨发育程度分为不同等级,每一等级对应不同得分。最后由专家判定每块参照骨发育等级,累计所有骨发育得分,查阅骨龄得分表可以获得骨龄。可见,利用CHN法进行骨龄评估的关键在于准确提取出14块参照骨的兴趣区域(region of interest, ROI)。传统的骨龄评估通常需要由骨龄专家人工定位并判定每一块参照骨等级,工作量大且效率低下。同时,由于不同专家的专业水平有区分,评估过程也较容易受到人主观性的影响,实际评估结果往往并不精准。随着计算机技术的发展,利用深度学习辅助专家进行骨龄智能评估越来越成为发展趋势。然而,现有的绝大多数参照骨兴趣区域提取方法普遍存在以下问题:泛化能力不足,无法准确地提取出计分法中规定的所有人手腕骨类型;存在个别参照骨漏判、误判等情况。
考虑到人手腕中不同参照骨的位置存在一定的规律性和关联性,在获得参照骨ROI大数据前提下,利用已有知识来评估新样本的参照骨ROI具有非常重要的研究意义。因此,本文提出了一种结合目标检测与匹配修正的手腕骨兴趣区域提取方法。该方法不仅有效发挥了目标检测技术在人手腕骨定位任务中的巨大优势,还进一步利用参照骨的大数据样本对部分提取困难的参照骨类型进行匹配修正,弥补了深度学习模型针对个别参照骨类型提取能力不足的缺点,具备良好的泛化能力和扩展能力。
根据骨骼类型的不同,人手腕可以分为指骨、掌骨和腕骨。其中,腕骨区域的参照骨形状相对复杂,提取难度较大。杨莉等人(2009)通过计算手形宽度确定手腕分割线,并结合自适应阈值和最大面积变化法,进行桡骨区域的边缘跟踪与拟合;冉隆科等人(2011)首先根据手腕骨的形状信息,使用线性回归方法确定图像中的整手腕区域,然后采用k-cosine算法定位指骨和腕骨关键点,最后利用关键点位置直接提取出指骨和腕骨ROI;朱翔宇等人(2016)采用区域生长与最大类间方差法,进行桡骨的预处理与自动分割;Simu等人(2017)利用数学形态学,对桡骨和尺骨区域进行边缘分割。以上方法仅仅适用于腕骨区域内的参照骨分割,具有一定的局限性。曹润等人(2018)根据手骨和软组织的边缘纹理、灰度特征等信息,对RUS-CHN中的13处骨化中心进行骨架拟合;刘蕊等人(2019)通过Softmax回归模型确定最佳二值化阈值,并利用区域生长法提取完整手形;Hue等人(2011)提出一种基于分水岭变换的多阶段合并算法,通过事先去除组织周围的无关区域来提升分割准确性;Thangam等人(2012)基于粒子群优化的思想,对骨龄评估过程中所有参照骨ROI进行分割与识别;周贤年(2020)首先对手腕骨图像进行腐蚀、膨胀等预处理操作提取出手腕轮廓,然后结合手腕骨的形状信息,采用方波扫描算法来确定参照骨的边界。以上基于阈值分割、边缘检测等的传统图像处理方法,操作复杂度较高,复现起来比较困难。而且算法往往对手腕骨图像有严格质量要求,清晰度低、含大量噪音的数据会降低分割准确率。
目标检测是计算机视觉领域中一个重要的组成部分,广泛应用于图像识别、视频监控等场景。目标检测主要包含两大基础任务:目标定位、目标分类。目标定位负责从输入图像中找出感兴趣物体可能存在的区域,并确定该区域的位置以及大小;目标分类负责输出给定区域内存在某类感兴趣物体的概率。目前主流的目标检测算法按照训练阶段的不同,可以分为:两阶段目标检测、一阶段目标检测。前者通常先使用图像分割算法生成一系列候选区域,然后利用卷积神经网络对候选区域进行样本分类和位置精修,代表算法有R-CNN(region-convolutional neural network)(Girshick等,2014)、Faster R-CNN(Ren等,2017)等,这类算法的优点是检测准确率和定位精度比较高;后者则直接将目标区域定位的问题转换为回归问题,直接产生物体的类别概率和位置坐标,代表算法有YOLO(you only look once)(Redmon等,2016)、SSD(single shot multibox detector)(Liu等,2016)等,这类算法的优点是计算速度相对较快。为了发挥目标检测技术在图像分割中的应用,Liang等人(2019)基于Faster R-CNN算法,分别使用卷积神经网络进行特征提取,RPN(region proposal network)网络进行参照骨ROI定位,以及目标检测网络进行分类和边界框的回归;刘鸣谦等人(2018)通过滑动窗口确定参照骨候选区域,并配合R-CNN网络和回归模型,进行特征评估与定位;李睿等人(2020)基于YOLOv3的算法来自动定位手掌、关节以及腕部,然后利用OpenCV单独截取出感兴趣区域,并进行必要的姿态调整。
深度学习与智慧医疗的联系越来越紧密。大量研究表明,深度学习技术在手腕骨ROI提取任务中能够发挥非常出色。宋日刚(2014)、钟亚平(2013)根据改进的脉冲耦合神经网络(pulse coupled nural network, PCNN),进行手腕骨的二值分割,并结合手骨特征信息定位手骨ROI;丁维龙等人(2020)搭建BP(back propagation)神经网络,通过输入检测者的身高、年龄等信息,来得到钩骨和桡骨的自适应提取区域;Chen等人(2019)提出了结合残差映射和注意力机制的ARU-Net(attention residual U-Net)模型,对手腕中的腕骨类型进行了有效的分割。还有其他学者在图像分割方面也做了许多的研究(程龙龙 等,2019;计玉芳和吴锡生,2010;李晶和赵海燕,2013;Su 等,2018;Thodberg 等,2009;Pietka 等,2001)。然而,利用深度学习方法自动提取参照骨ROI普遍存在的问题是:模型扩展能力、泛化能力较弱;个别参照骨分割准确率低,存在漏判、误判等情况。
为了同时保证参照骨ROI提取结果的准确性和完整性,本文提出了一种结合目标检测与匹配修正的手腕骨兴趣区域提取方法。首先,基于目标检测算法对手腕骨图像进行候选区域的提取,同时保留每一类别下置信度最高的区域,并剔除置信度低于一定阈值的区域;然后根据参照骨大数据样本,构建位置点匹配模型,对剔除的参照骨ROI进行自动填补;为了进一步提升提取准确率,在填补产生的ROI基础上,使用多尺度滑动窗口并构建ROI分类模型进行坐标位置的修正。实验结果表明,该方法能够完整且准确地提取出所有参照骨ROI,相比传统的图像处理方法,可操作性强,准确率高。其中,匹配修正方法可用于参照骨ROI的填补以及坐标位置的修正,适用于大多数手腕骨提取方法,具备可扩展能力。
使用计分法评估骨龄时,需要判断每块手腕骨的成熟度等级。而如何准确地提取出手腕参照骨的兴趣区域是保证骨龄精确评估的关键。本文以《中国人手腕骨骨发育标准—CHN法》中划分的参照骨(张绍岩 等,1993)为依据,将左手腕分为14块指骨,分别为桡骨、头状骨、钩骨、掌骨Ⅰ、掌骨Ⅲ、掌骨Ⅴ、近节指骨Ⅰ、近节指骨Ⅲ、近节指骨Ⅴ、中节指骨Ⅲ、中节指骨Ⅴ、远节指骨Ⅰ、远节指骨Ⅲ、远节指骨Ⅴ,参照骨分布情况如图1所示。
图1 手腕参照骨分布Fig.1 Reference bone distribution of hand-wrist
由于不同人的手腕骨骼发育过程具有相似性,同一骨骼区域内的参照骨分布具有严格的规律性,在掌握大量人手腕参照骨ROI数据的前提下,通过匹配手腕骨之间的位置信息,可以很轻松地确定某块参照骨ROI所在的大体位置。
方法分多个阶段进行人手腕骨ROI的提取与分割,主要包括参照骨检测、位置点匹配和多尺度滑动窗口修正。整体方法流程如图2所示。首先基于目标检测技术,粗略地提取出所有候选参照骨ROI,并剔除置信度小于一定阈值的区域;然后判断是否为完整的参照骨ROI集合,若是则直接分割所有ROI,否则采用位置点匹配以及多尺度滑动窗口修正方法进行缺失区域的提取。
图2 方法流程图Fig.2 Method flowchart
目标检测技术具有较强的定位和分类能力,广泛应用于各行各业中的视觉任务。本文首先基于目标检测算法进行人手腕参照骨ROI提取,主要流程如图3所示。同时,为了追求更高的ROI提取准确率,本文在算法生成的参照骨候选ROI结果基础上,添加了一系列后处理过程,对置信度较低的区域进行选择性过滤。
图3 参照骨ROI分割及后处理流程Fig.3 ROI segmentation and post-processing process
参照骨检测及后处理方法的主要步骤如下:
1)训练模型。搭建目标检测网络结构,如YOLOv3,并利用手腕骨数据集以及相应的14块参照骨标注信息训练模型。
2)生成参照骨候选ROI。给定一幅人手腕图像样本,利用训练好的网络模型,输出所有候选区域,以及各个区域对应的置信度。
3)剔除重复区域。在实际生成的所有候选区域中,可能存在多个属于同一参照骨类别的区域。然而,一幅规范的人手腕图像针对每一种参照骨类别有且仅存在一个目标区域。因此只保留每一类别下置信度最高的区域,并剔除其余区域。
4)阈值过滤。得到14块参照骨ROI,以及每个区域对应的置信度,以0.9为默认阈值,剔除置信度低于当前阈值的区域。传统目标检测算法能够快速地定位并识别所有参照骨ROI。缺点是在实验过程中,可能会存在个别参照骨漏判、误判等情况,需要对数据做进一步后处理。给定一幅手腕骨样本,分别使用训练完成的YOLOv3和SSD模型进行测试,分割结果如图4所示。
图4 不同目标检测算法的提取参照骨分割结果Fig.4 Segmentation results for reference bones extraction by different object detection algorithms((a)YOLOv3;(b) SSD)
YOLOv3能够较准确地提取出14块参照骨区域。然而在远节指骨Ⅴ的位置,出现了一个被误判为中节指骨Ⅴ的重叠区域。这是由人手指间的骨骼形态相似,很容易产生一个参照骨类别对应多个目标区域情况。因此,本文通过只保留每一类别下置信度最高的参照骨区域,解决ROI重复判定问题。
从SSD分割结果中可以看出,部分置信度较低的区域,如头状骨、掌骨Ⅴ,并不能完整地标记出参照骨位置,这在一定程度上降低了参照骨ROI的提取准确率。因此本文在其分割基础上添加了阈值过滤规则,对置信度低于一定阈值的区域进行选择性剔除。
目标检测后处理过程会剔除部分置信度较低的参照骨ROI,本文在剩余的所有参照骨ROI上应用位置点匹配方法,对剔除区域进行重新填补,保证参照骨ROI提取的完整性。
根据人手腕参照骨的发育特点以及它们之间的位置关系,将所有参照骨划分为4个骨骼区域,如图5所示,分别为指骨Ⅰ、指骨Ⅲ、指骨Ⅴ和腕骨区域,分别记为ZO,ZT,ZF,ZW。定义BN为所有骨骼区域内参照骨的集合,RG为所有骨骼区域的集合,表达为
图5 骨骼区域划分Fig.5 Division of skeletal regions
BN=ZO∪ZT∪ZF∪ZW
(1)
RG={ZO,ZT,ZF,ZW}
(2)
可见,同一骨骼区域内的参照骨,位置接近且呈现出严格的规律性,如指骨Ⅴ区域内,从上到下依次为远节指骨Ⅴ、中节指骨Ⅴ、近节指骨Ⅴ和掌骨Ⅴ。在明确了远端、近端指骨的位置信息后,可以大致推测出中端指骨位于两者的位置点连线之间。
定义参照骨顶点坐标集合为B,B中第n块参照骨坐标为bn,n∈BN,bn的顶点坐标表示为
bn=(xtp,ytp,xbt,ybt)
(3)
式中,tp表示左上角顶点坐标,bt表示右下角顶点坐标。
确定t中缺失的参照骨集合U为
U={u|u∈BN,u∉T}
(4)
对于U中任一缺失参照骨u,确定其所属的骨骼区域Z,Z∈RG。为了便于计算,本文将参照骨矩形区域的正中心点当做位置点。对于Z区域内所有参照骨顶点坐标bn,计算其位置点坐标dn(式(5)),并根据顶点坐标集合Bt、匹配数据集BS,分别计算位置点坐标集合Mt、位置点匹配坐标集合RS。
(5)
已知Mt中第1块参照骨类型为r,r∈Z。分别计算Mt与RS中以r类型参照骨dr为参照原点的相对位置坐标fn,即
fn=Re(dn,dr)
(6)
Re(x,y)=(x[0]-y[0],x[1]-y[1])
(7)
式中,Re表示相关度(Relative)。
使用Similar函数计算两个骨骼区域之间的相似距离,并确定RS中与Mt相似距离最短的骨骼区域target
target=arg min{Si(x,Mt)|x∈region}
(8)
(9)
(10)
根据target在RS中的索引IN,填补Bt中缺失的参照骨ROI,完整算法为
算法1 位置点匹配
输入
B:样本顶点坐标集合
BS:匹配数据集
TP:骨骼区域类型
输出
IN:目标区域在匹配区域集合中的索引
// 计算位置点坐标集合
M←{ }
fori←0 to len(B)
type←B[i]区域的参照骨名称
iftype∈TP
value←B[i]区域的中心点坐标
M[type] =value
end if
end for
// 初始化参数
RS←[ ]
for eachboneinBS
region= { }
fori←0 to len(bone)
type←bone[i]区域的参照骨名称
iftype∈TP
value←bone[i]区域的中心点坐标
region[type] =value
end if
RS.push(region)
end for
end for
// 位置点匹配
assert len(M) > 1,保证样本骨骼区域内存在的参照骨数量大于1
// 初始化参数
dists←[ ],IN←0
type←keys(M)[0]
for eachkeyin keys(M)
M[key] =Re(M[key],M[type])
end for
fori←0 to len(RS)
for eachkeyin keys(RS[i])
RS[i][key] = Re(RS[i][key],RS[i][type])
end for
end for
fori←0 to len(RS)
temp= 0
for eachkeyin keys(RS[i])
ifkeyinM
temp+= Di(RS[i][key],M[key])
end if
dists.push(temp),将所有距离保存dists中
end for
end for
// 保存距离最短的匹配样本在集合中的索引
IN= argmin(dists)
returnIN
在位置点匹配算法中,计算相对位置坐标需要将任意一块参照骨的位置点记做参照原点(0, 0),因此需要保证样本骨骼区域内剩余的参照骨数量大于1。而当后处理过程设定的阈值过大时,可能会造成用于匹配的参照骨数量不足而无法填补的问题。在这种情况下,对候选的参照骨ROI按置信度进行递减排序,并保留置信度最大的两个区域,用于算法匹配。
使用位置点匹配方法可以保证将手腕中所有参照骨ROI完整地提取出来。为了进一步提升填补ROI的准确性,在填补生成的坐标基础上,进行矩形窗口的滑动,并搭建ROI分类模型用于输出窗口区域内参照骨存在的置信度,取置信度最高的区域作为修正后的参照骨ROI,滑动窗口流程如图6所示。
图6 滑动窗口流程Fig.6 Sliding window process
本文采用AlexNet作为ROI分类模型的基础网络,并调整其最后一个全连接层的输出维度为1。AlexNet是2012年ImageNet的竞赛冠军,一共包含5个卷积层和3个全连接层,同时采用了ReLU激活函数、数据增强和Dropout等技术,具有优秀的泛化能力。
从人手腕训练集中随机挑选出6 000幅图像,并按每一块参照骨标注信息分割ROI,生成一共6 000×14幅参照骨样本。对每一类参照骨样本按以下步骤训练ROI分类模型。
1)确定正样本。标记所有原始参照骨图像作为正样本。
2)图像增强。对每一幅正样本图像,随机向一个方向平移2~20像素,生成一幅新的参照骨图像,并标记为负样本。
3)制作数据集。从包括正样本、负样本在内的所有6 000×2幅参照骨图像中随机挑选出2 000幅图像作为测试集,其中正负样本数量各占一半,其余图像为训练集。
4)训练模型。调整AlexNet最后一个全连接层的输出维度为1。将参照骨图像按等比例放缩,并填充为227×227像素,输入AlexNet模型。训练过程中使用的损失函数定义为
(11)
5)测试模型。计算得到每一幅测试样本输出的概率值,将概率值大于等于0.5的样本作为正样本,小于0.5的样本作为负样本,计算分类准确率。
得到训练完成的分类模型后,对参照骨ROI进行平移变换,如图7所示。以某区域左上角顶点坐标(x,y)为例,把该区域作为滑动窗口,从(x-20,y-20)处开始向右、向下滑动,直到(x+20,y+20)处结束,滑动步长为2像素。
图7 滑动窗口生成参照骨候选ROIFig.7 Sliding window to generate reference bone candidate ROI
在实验过程中发现,同一类型下的不同参照骨ROI尺寸不完全一致,大小偏差在±10%左右。将匹配过程中产生的ROI直接应用于新样本,可能会出现ROI内感受野过大或过小的情况,影响提取结果。为了使方法更具有尺度适应性,在滑动前对全手图像做不同尺度的调整,调整比例分别为0.9、1.0和1.1,同时保持滑动窗口的大小不变。其中,比例为0.9意味着对原图进行缩小,使得同样大小的滑动窗口能够捕捉到更多感受野信息;比例为1.1意味着对原图进行扩大,从而缩小滑动窗口的感受野范围。保存滑动过程中所有窗口区域作为参照骨候选ROI,统一输入到ROI分类模型中,选择输出概率最高的候选区域作为修正后的参照骨ROI。
本文中所有数据来源于浙江省诸暨市“校园公益行”项目。该项目致力于改善青少年生长发育与体质健康,免费为在校学生进行骨龄、体成分和脊柱等发育指标的检查。
在项目开展过程中,测试团队使用了专业的骨龄拍摄设备,采集学生左手腕X光片,如图8所示。为了保证骨龄片的规范性,拍摄时需将左手袖口提到手肘处,并卸下所有手饰物件。左手五指自然舒展,手心向下,中指与前臂尽量保持成一条直线,不要左右偏斜。
图8 骨龄拍摄设备Fig.8 Bone age shooting equipment
数据集包含诊断者性别、年龄和诊断日期等数据,而姓名、身份证号等敏感信息进行了脱敏处理。参照骨坐标位置的标定工作由经验丰富的骨龄医师完成。标定工具为LabelImg,标定内容含:CHN计分法中规定的14块参照骨ROI的左上角坐标、右下角坐标以及参照骨类型。最终得到9 803幅参照骨标注图像,年龄分布为6~14岁,如图9所示。为了保证实验结果的可靠性,从数据集中随机挑选出1 000幅图像为测试集,同时保证测试集中年龄分布均匀,剩余的8 803幅图像用作训练集。
图9 不同年龄段数据分布Fig.9 Data distribution of different age groups
实验基于深度学习框架Pytorch 1.0.1,在一块GeForce RTX 2080 Ti显卡上运行。实验过程中使用Python3.6和Jupyter Notebook完成数据的统计和分析工作。
参照骨提取的准确率使用交并比IoU来衡量。(intersection-over-union, IoU)表示的是候选区域与标记区域之间的交叠率,计算公式为
(12)
式中,C表示候选区域,G表示标记区域,area表示区域所占面积。本文规定当IoU的值大于等于0.75时,将当前预测的候选区域评定为正确区域。
在参照骨检测实验中,本文选取了Faster R-CNN(Ren等,2017)、YOLOv3(Redmon等,2016)、SSD(Liu等,2016)3种算法进行对比分析。保持原有的网络结构不变,修改待检测目标类别,数量为15(包括背景类)。使用预训练好的VGG16(Visual Geometry Group 16-layer network)作为内部特征提取网络。学习率从0.001开始,每隔20 000步长减小10倍,直到0.000 01为止。
将训练完成的模型分别在1 000幅测试集上测试模型性能。由表1可知,3种算法均能达到93%以上的平均准确率,其中Faster R-CNN的IoU准确率明显高于YOLOv3和SSD。不同算法对于不同参照骨的提取能力也有所差别,如Faster R-CNN在大部分参照骨上表现优越,但在近节指骨I、头状骨上的表现弱于YOLOv3和SSD。YOLOv3比较适用于提取指骨区域内的参照骨ROI,而SSD则更偏向于提取腕骨区域。
表1 不同目标检测算法的IoU准确率Table 1 IoU accuracy of different object detection algorithms /%
位置匹配算法在目标检测基础上,对置信度低于一定阈值的参照骨ROI进行自动匹配与填补,并配合滑动窗口进一步修正参照骨ROI。
滑动窗口中用到了参照骨ROI分类模型,其识别准确率是保证ROI精确修正的关键。在由正、负样本组成的每一类参照骨数据集中,训练集为10 000幅,测试集为2 000幅。使用训练完成的分类模型对2 000幅测试集图像进行测试,分类准确率如表2所示。
表2 ROI分类模型准确率Table 2 Accuracy of ROI classification model /%
可见,所有参照骨的分类准确率均能达到99%以上。其中,指骨类型的平均准确率要高于腕骨类型。掌骨类型表现最佳,能达到99.8%以上的准确率,部分腕骨如桡骨、钩骨,准确率则相对较低。
为了验证位置点匹配模型在ROI填补以及位置修正上的能力,从1 000幅测试集中,按不同骨骼区域随机地剔除若干参照骨ROI,并计算填补生成的ROI与原标准ROI之间的IoU准确率。每组骨骼区域重复比较3次,并统计平均准确率,结果如表3所示。
表3 位置点匹配模型IoU准确率Table 3 IoU accuracy of location point matching model /%
可见,位置点匹配模型在指骨Ⅲ区域内准确率最高,达到98%以上,而在指骨Ⅰ区域内准确率仅为84%。这主要是由于指骨I区域包含的参照骨数量较少,且其中的拇指相对于其他手指灵活度更高,活动范围更大。不同的手腕摆放姿势容易导致样本间差异性大、模型匹配的成功率低。与之相似的腕骨区域,虽然参照骨数量一致,但参照骨的位置相对稳定,如钩骨和头状骨一般紧密相连,桡骨位于头状骨的右下侧,因此匹配成功率相对较高。
为了进一步评估位置点匹配模型在ROI数量较少的场景下的性能,分别在指骨Ⅲ和指骨Ⅴ区域内随机剔除2块参照骨ROI,并测试IoU准确率。由表3可知,相较于剔除1块的情况,指骨Ⅲ和指骨Ⅴ的平均准确率下降了3%~5%。其中,指骨Ⅴ的准确率最低为88.15%,指骨Ⅲ最低为92.85%,仍旧具备良好的匹配性能。
在不同目标检测算法基础上,应用位置匹配算法,IoU准确率如表4所示。相比于表2的结果3种算法均有不同程度的IoU准确率提升。YOLOv3和SSD的平均准确率分别提高了2.48%和1.23%。Faster R-CNN的提升率较小,但能达到最高98.45%的平均准确率。
表4 不同目标检测算法添加位置匹配后的IoU准确率Table 4 IoU accuracy of different object detection algorithms with location matching /%
在参照骨检测实验中,需要根据一定的阈值剔除置信度较低的参照骨候选ROI。不同阈值对算法提取准确率的影响如表5所示。可见,当设定阈值在0.7~0.9之间时,3种算法均能取得较好的提取效果。其中,Faster-RCNN属于两阶段的目标检测算法,提取得到的参照骨ROI置信度普遍较高,比较适合搭配较高的过滤阈值;而YOLO这类一阶段目标检测算法产生的ROI置信度偏低,当搭配较高的阈值时,反而会过滤掉大部分良好的参照骨ROI,导致匹配准确率下降。因此,基于不同的目标检测算法进行手腕骨ROI提取时,应当根据算法类型选择合适的过滤阈值。
表5 不同阈值下的IoU平均准确率Table 5 IoU accuracy under different thresholds /%
本文将结合目标检测和匹配修正的方法与现有的手腕骨兴趣区域提取方法进行对比,不同方法针对不同骨骼区域内的IoU平均准确率如表6所示。从表中可以看出,大多数学者主要对腕骨区域内的参照骨进行研究,杨莉等人(2009)、Simu等人(2017)采用图像处理的方法提取桡骨区域,无法保证较高的准确率;丁维龙等人(2020)、Chen等人(2019)通过图像预处理和神经网络模型相结合的方式提取钩骨、桡骨等区域,能取得较好的效果。另有其他学者对手腕中的所有参照骨进行研究,但是方法普遍缺乏泛化能力。曹润等人(2018)在指骨Ⅲ区域内的提取准确率最高,在指骨Ⅴ区域内相对偏低;周贤年(2020)在指骨Ⅲ、腕骨区域内的提取效果最好,但不利于提取指骨Ⅴ区域;Thangam等人(2012)能够有效地提取所有手腕骨类型,但是整体平均准确率较低。相比之下,本文结合目标检测与大数据匹配修正的方法优于以上传统图像处理或深度学习方法,在人手腕的4个独立骨骼区域内均能达到最佳的提取效果。同时,本文方法还具备一定的扩展能力,在匹配过程中,通过提供不同参照骨类型的匹配数据集,可以进一步适用于TW3、RUS-CHN等多种骨龄计分法。
表6 不同提取方法下的IoU平均准确率对比Table 6 Comparison of average IoU accuracy under different extraction methods /%
本文结合了目标检测与匹配修正的方法,实现人手腕参照骨ROI的准确提取。在实际应用中,通过上传人手腕图像,该方法可以自动提取并分割产生14块参照骨ROI图像。部分人手腕图像的分割结果如图10所示。在拍摄人的左手腕X光片时,一般会对手腕的朝向和五指的摆放位置有严格要求,比如手腕不能佩戴杂物,左手五指要自然舒展,中指与前臂尽量保持成一条直线。然而,在实际场景中,难免会存在部分不符合规范的图像。图10(a)(b)分别为五指并拢和五指张开的图像,从分割产生的ROI结果中可以看出手腕朝向、摆放位置等因素并不会影响模型的提取效果。图10(c)(d)为样本中包含部分杂物的图像,如佩戴手饰、标记文字等,可见模型依然可以完整且准确地提取出所有参照骨ROI,具有良好的鲁棒性。
图10 参照骨ROI提取结果Fig.10 Reference bone ROI extraction results((a)five fingers close together;(b)five fingers open;(c)with ornament;(d)with marked text)
本文提出了一种结合目标检测与匹配修正的手腕骨兴趣区域提取方法,并用于人手腕骨ROI的分割。首先,使用目标检测算法对手腕骨图像进行候选区域的分割,并剔除置信度较低的区域。然后根据位置点大数据样本,构建位置点匹配模型和ROI分类模型,对剔除的参照骨ROI进行自动填补与修正。最后从理论分析以及实验结果的角度,验证了方法的准确性和可靠性。虽然本文提出的手腕骨ROI提取方法能有效地提取参照骨ROI,但是也存在一定的不足,比如位置点匹配模型依赖于目标检测模型产生的候选ROI,匹配数据集的质量好坏也会直接影响ROI提取的准确率。在以后的工作中将进一步改进位置匹配方法,通过制定精准、规范的标准数据集,改进相似度计算函数,使模型具备更强的泛化能力和容错能力。