基于多任务两级卷积神经网络的膝关节定位方法与流程

文档序号:21276564发布日期:2020-06-26 23:18阅读:365来源:国知局
基于多任务两级卷积神经网络的膝关节定位方法与流程

本发明涉及图像处理、计算机视觉、目标定位领域,具体涉及一种基于多任务两级卷积神经网络的膝关节定位方法。



背景技术:

膝关节炎是非常常见的关节疾病甚至可导致残疾。在老年人、肥胖者、久坐不动的人群中具有高病发率,如果膝关节炎严重的话,会产生折磨人的疼痛感甚至造成全关节置换,每个患膝关节炎的病人每年膝关节的治疗费用可达19000欧元,所以膝关节炎是需要高度重视的一种疾病。目前医生主要是基于x光片对膝关节炎进行临床诊断,尽管还有一些其他医学成像种类,比如:磁共振成像、超声成像,但x光片是一种便宜且广泛使用的医学成像。在临床上,患者拍摄的x光片是包含双腿的医学图像,而膝关节炎主要表现出膝关节间隙变窄、骨赘形成及硬化的病理特征,所以只需要关注膝关节区域。由于医生在评阅x光片的时候具有主观性且比较耗时耗力,随着计算机技术的发展,计算机辅助方式也开始步入医疗领域,但对于包含双膝的x光片,无论是医生对其进行视觉诊断还是借助计算机辅助诊断,进行膝关节区域定位是诊断的前提,也是至关重要的一步。

目前对包含双膝的x光片定位膝关节区域,可以通过手动标注的方式,即基于人眼查看每张x光片手动标注出膝关节区域,这种手动标注的方式是耗时耗力的。后来出现计算机辅助的膝关节区域的定位方法,例如,(文献“earlydetectionofradiographickneeosteoarthritisusingcomputer-aidedanalysis[j].osteoarthritisandcartilage,2009,17(10):1307-1312.”译为:利用计算机辅助分析早期发现放射性膝关节炎,《骨关节炎和软骨期刊》)提出采用模板匹配的方法自动检测膝关节部位,这种方法对于大数据集比较慢,并且膝关节检测准确率也比较低。(文献“quantifyingradiographickneeosteoarthritisseverityusingdeepconvolutionalneuralnetworks[c]//201623rdinternationalconferenceonpatternrecognition(icpr).ieee,2016:1195-1200.”译为:利用深度卷积神经网络量化放射性膝关节炎严重性,《2016年第23届模式识别国际会议》)提出基于sobel水平图像梯度和支持向量机(svm)的方法,首先自动检测膝关节中心,然后根据检测的膝关节中心提取一个固定区域作为感兴趣的膝关节部位。在公开数据库oai(https://oai.epi-ucsf.org/datarelease/)中4496张膝关节x光片上最高检测率为81.8%,采用模板匹配的方法最高检测率为54.4%。(文献“anovelmethodforautomaticlocalizationofjointareaonkneeplainradiographs[c]//scandinavianconferenceonimageanalysis.springer,cham,2017:290-301.”译为:一种自动定位光片中膝关节区域的新方法,《斯堪的纳维亚图像分析会议》)提出使用方向梯度直方图(hog)与支持向量机(svm)结合的方法完成膝关节区域的定位。在公开数据集most(http://most.ucsf.edu)中473张膝关节x光片上测得平均iou(iou为交并比,即为0.84。以上多采用提取传统特征和结合传统分类器的方式定位膝关节区域,漏检和误检率较高,膝关节检测率还有待提高。随着深度学习的发展,深度学习技术能有效的表示图像特征,且已经广泛应用于图像中目标识别、目标检测等领域。



技术实现要素:

本发明要解决的技术问题是:为了进一步提高膝关节的检测准确率,提出一种基于多任务两级卷积神经网络的膝关节定位方法。

本发明的技术方案是:提供一种基于多任务两级卷积神经网络的膝关节定位方法,主要包括网络的搭建、网络的训练、待检测x光片的图像预处理以及待检测x光片中的膝关节定位过程,整体步骤如图1所示:

第一步,搭建基于多任务两级卷积神经网络的膝关节区域定位网络。

基于多任务两级卷积神经网络的膝关节区域定位网络包括两级网络:第一级网络和第二级网络,第一级网络的输出作为第二级网络的输入。

第一级网络由第一特征提取模块和初步目标检测模块构成。第一特征提取模块从外界接收单膝图像i,对单膝图像i提取第一图像特征,将第一图像特征发送给初步目标检测模块;初步目标检测模块对第一图像特征进行检测,输出单膝图像i中的初步膝关节区域。

第一特征提取模块由5个卷积层和3个最大池化层构成,5个卷积层中包括4个3×3卷积层和1个2×2卷积层,3个最大池化层包括2个2×2最大池化层和1个3×3最大池化层。

第一3×3卷积层对单膝图像i进行卷积操作,第一2×2最大池化层对完成卷积操作的单膝图像i进行池化操作,得到特征图f1;第二3×3卷积层对特征图f1进行卷积操作,第一3×3最大池化层对完成卷积操作的特征图f1进行池化操作,得到特征图f2;第三3×3卷积层对特征图f2进行卷积操作,第二2×2最大池化层对完成卷积操作的特征图f2进行池化操作,得到特征图f3;第四3×3卷积层对特征图f3进行卷积操作,得到特征图f4,第五2×2卷积层对特征图f4进行卷积操作,得到特征图f5,特征图f5即为提取的第一图像特征。

初步目标检测模块包括一个1×1卷积层、膝关节边界框坐标操作层以及第一非极大值抑制筛选层。1×1卷积层对特征图f5进行卷积,得到两组向量,即膝关节的概率向量a1、膝关节边界框坐标偏移向量b1。膝关节边界框坐标操作层根据a1和b1确定膝关节边界框,得到单膝图像i中的膝关节区域。第一非极大值抑制筛选层对单膝图像i中的膝关节区域进行非极大抑制筛选,得到单膝图像i中的初步膝关节区域,将单膝图像i及单膝图像i中的初步膝关节区域发送给第二级网络。

第二级网络由第二特征提取模块和最终目标检测模块构成。第二特征提取模块对从第一级网络接收的单膝图像i以及单膝图像i中的初步膝关节区域进行特征提取,得到第二图像特征;最终目标检测模块对第二图像特征进行目标检测,得到单膝图像i的最终膝关节边界框坐标以及单膝图像i的膝关节区域关键点坐标。

第二特征提取模块由4个卷积层、3个最大池化层和1个全连接层构成,4个卷积层中包括3个3×3卷积层和1个2×2卷积层,3个最大池化层包括2个2×2最大池化层和1个3×3最大池化层。

第二特征提取模块中的第一3×3卷积层对单膝图像i中的初步膝关节区域进行卷积操作,第一2×2最大池化层对完成卷积操作的单膝图像i中的初步膝关节区域进行池化操作,得到特征图f6;第二3×3卷积层对特征图f6进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f6进行池化操作,得到特征图f7;第三3×3卷积层对特征图f7进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f7进行池化操作,得到特征图f8;第四3×3卷积层对特征图f8进行卷积操作,得到特征图f9,第一全连接层对特征图f9进行全连接操作,得到特征图f10,特征图f10即为提取的第二图像特征。

最终目标检测模块包括第二全连接层、膝关节边界框以及膝关节区域的关键点坐标操作层以及第二非极大值抑制筛选层。第二全连接层对特征图f10进行全连接,得到三组向量,即膝关节的概率向量a2、膝关节边界框坐标偏移向量b2、膝关节区域六个关键点坐标偏移向量c。膝关节边界框以及膝关节区域的关键点坐标操作层根据a2、b2、c对单膝图像i进行膝关节边界框坐标以及膝关节区域的关键点坐标确定。第二非极大值抑制筛选层对单膝图像i中的膝关节区域及膝关节关键点坐标进行非极大抑制筛选,输出单膝图像i及单膝图像i的最终膝关节区域、以及单膝图像i的膝关节区域关键点坐标。

第二步,对基于多任务两级卷积神经网络的膝关节区域定位网络进行训练。

2.1准备基于多任务两级卷积神经网络的膝关节区域定位网络的数据。

2.1.1对m张(m为正整数且m>2000)原始图像进行预处理,得到经直方图均衡化处理的2m张单膝图像,方法是:

2.1.1.1从oaibaseline公开数据库(https://oai.epi-ucsf.org/datarelease/,2008年11月版本)中随机选取m张原始图像。原始图像是包含左右膝的x线片医学图像,由于拍摄时受到不同光照的影响,它既可能是背景成亮色、双腿成暗色的双膝图像,又可能是背景成暗色、双腿成亮色的双膝图像。

2.1.1.2将m张原始图像统一转化成背景成暗色、双腿成亮色的图像。首先从m张原始图像中挑选出背景成亮色、双腿成暗色的双膝图像,然后进行图像像素反转,即用255减去原始像素值,将m张原始图像统一转化成背景成暗色、双腿成亮色的图像。

2.1.1.3将m张背景成暗色、双腿成亮色的图像的像素转化成[0,255]的范围,即将背景成暗色、双腿成亮色的图像处理成uint8的图像,方法是:将m张背景成暗色、双腿成亮色的图像中的每个像素的像素值做如下处理:其中p为处理前图像中任意一个像素的像素值,pmax为处理前图像中的最大像素值,pmin为处理前图像中的最小像素值,pnew为处理后图像中的任意一个像素的像素值。

2.1.1.4将m张uint8的图像转化成2m张单膝图像,方法是:首先分别找到m张uint8的图像的宽w以及宽度的一半然后对宽度的一半取整,记为最后从uint8的图像中按照宽度坐标截取,即每张uint8的图被划分成2张单膝图像,最终获得2m张单膝图像。

2.1.1.5对2m张单膝图像分别进行直方图均衡化处理。直方图均衡化处理方法见(文献“任艳斐.直方图均衡化在图像处理中的应用[j].科技信息,2007(04):第39-40页.”)。

2.1.2标注经直方图均衡化处理后的2m张单膝图像中膝关节真实边界框,方法是:

2.1.2.1初始化变量m=1;

2.1.2.2人工手动标注第m张单膝图像膝关节区域的6个关键点。由于医生或计算机主要关注膝关节间隙及骨赘部位,所以手动标注膝关节间隙及骨赘处边界的6个点作为膝关节区域主要关键点,如图3(a)所示右膝的6个关键点,分别为股骨内侧骨赘点(fm)、股骨外侧骨赘点(fl)、胫骨内侧骨赘点(tm)、胫骨外侧骨赘点(tl)、关节间隙内侧点(jsm)、关节间隙外侧点(jsl)。如图3(b)所示,左膝的6个关键点,也分别为股骨内侧骨赘点(fm)、股骨外侧骨赘点(fl)、胫骨内侧骨赘点(tm)、胫骨外侧骨赘点(tl)、关节间隙内侧点(jsm)、关节间隙外侧点(jsl)。如图所示,左膝和右膝的6个关键点成镜像对称。后续步骤是针对6个关键点进行处理,无须关心是左膝还是右膝。

2.1.2.3根据手动标注的关键点,标注出第m张单膝图像中膝关节的边界框,方法是:

2.1.2.3.1分别计算出第m张单膝图像中6个关键点的中心点坐标(xmid,ymid)。记6个关键点坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6),6个关键点的中心点坐标(xmid,ymid)为:

2.1.2.3.2计算膝关节的宽度wknee,方法是:计算出6个关键点的最大横坐标(xmax)和最小横坐标(xmin),最大横坐标(xmax)和最小横坐标(xmin)之间的差作为膝关节宽度wknee,即:

xmax=max(x1,x2,x3,x4,x5,x6)

xmin=min(x1,x2,x3,x4,x5,x6)

wknee=xmax-xmin

2.1.2.3.3标注膝关节区域,获得真实膝关节区域边界框坐标该坐标表示真实膝关节区域边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。以6个关键点的中心点为中心上下左右各扩展膝关节宽度的0.65倍(0.65倍就可以框住每张图上的膝关节区域),作为真正感兴趣的膝关节区域,即标注的边界框,计算公式如下:

2.1.2.4若m≥2m,转2.2;若m<2m,令m=m+1,转2.1.2.2。

2.2为基于多任务两级卷积神经网络的膝关节区域定位网络中第一级网络准备训练样本,方法是:

2.2.1初始化变量m=1;

2.2.2在第m张单膝图像上为第一级网络准备训练样本,方法是:

2.2.2.1初始化变量k=1;

2.2.2.2在第m张单膝图像上随机取第k个点,令第k个点的坐标为以点作为随机选取的边界框的左上坐标点。

2.2.2.2取第k个随机选取的边界框的宽和高设第m张单膝图像的宽为wm,高为hm,并取wm和hm的最小值的一半,且进行取整操作,即为int(min(wm,hm)/2),int(min(wm,hm)/2)表示对min(wm,hm)/2取整,在[48,int(min(wm,hm)/2)]的取值区间中随机取一个整数作为随机选取的边界框的宽和高

2.2.2.3确定第k个随机选取的边界框的坐标。令点为随机选取的边界框的右下坐标点,随机选取的边界框坐标为代表第k个随机选取的边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。

2.2.2.4计算第m张单膝图像上第k个随机选取的边界框与标注的边界框的交并比则将第k个随机选取的边界框即作为训练的正样本,转2.2.2.5;若则将第k个随机选取的边界框即作为训练的部分样本,转2.2.2.5;若则将第k个随机选取的边界框即作为训练的负样本,转2.2.2.5。

2.2.2.5若k<k(k>50,k为第m张单膝图像上总共随机选取的边界框数目),令k=k+1,转2.2.2.2;若k≥k,转2.2.2.6。

2.2.2.6若m≥2m,转2.2.3;若m<2m,令m=m+1,转2.2.2。

2.2.3将2.2.2步生成的训练样本(包括正样本、部分样本、负样本)尺度缩减为48×48×3(图像长×图像宽×图像通道数)。因为是rgb图像,所以图像通道数为3。

2.2.4将2.2.3步尺度缩减后的训练样本做镜像操作增广,方法是:将每张训练样本进行左右水平翻转,即为对每张训练样本做镜像操作,生成第一级网络的训练样本,包括n11个正样本、n12个部分样本、n13个负样本,n11、n12和n13均为正整数,由在膝图像上随机选取的边界框以及计算得到的交并比值大小决定。

2.3采用第一级网络训练样本对第一级网络进行训练,得到训练后的第一级网络,方法是:

2.3.1初始化变量q=1,设置模型参数的值,包括设置学习率为0.001,批处理大小batch_size为500;

2.3.2将第一级网络的训练样本输入第一级网络,输出一个总体的损失函数lq,lq的计算如下,在2.3.1步设置的模型参数下,通过lq值的反向传播更新第一级网络中的参数,得到第q次更新了参数的第一级网络netq;

其中,n是第一级网络的训练样本的数量,n=n11+n12+n13,表示第i个训练样本在第j个任务上的损失,1≤j≤3,总共有3个任务:膝关节检测、膝关节边界框定位、膝关节关键点定位,αj表示第j个任务的重要程度系数,膝关节检测任务的重要程度系数α1=1,膝关节边界框定位任务的重要程度系数α2=0.5,膝关节关键点定位任务的重要程度系数α3=0;

2.3.3令q=q+1,若2≤q≤q,q为网络训练的次数,q=10,转2.3.4;否则训练完毕,得到训练后的第一级网络即netq,转2.4;

2.3.4将第一级网络的训练样本输入netq-1,输出第q次总体损失函数lq,在2.3.1步设置的模型参数下,通过lq值的反向传播更新netq-1中的参数,得到第q次更新了参数的第一级网络netq,转2.3.3;

2.4为基于多任务两级卷积神经网络的膝关节区域定位网络中第二级网络准备训练样本,方法是:

2.4.1初始化变量m=1;

2.4.2利用训练后的第一级网络定位第m张单膝图像i的初步膝关节区域,方法是:

2.4.2.1生成第m张单膝图像i的图片金字塔,方法是:将第m张单膝图像i依次乘以不同的缩放因子s(s为正实数,且0<s≤1),对第m张单膝图像i进行不同尺度的缩放,得到pp(pp为正整数且0<pp<100)张不同大小的单膝图像,构成单膝图像i的图片金字塔。图片金字塔(pp张)中每张图像大小记为h×w×3(图像的高×图像的宽×图像通道数,因为是rgb图像,所以有3个通道)。

2.4.2.2初始化变量p=1;

2.4.2.3经过训练的第一特征提取模块提取图片金字塔中第p张图片的特征,得到第一图像特征f5,f5为(图片高×图片宽×特征图的通道数)。

2.4.2.4初步目标检测模块采用膝关节区域检测方法对第一图像特征f5进行检测,得到单膝图像i中的膝关节区域,膝关节区域检测方法是:

2.4.2.4.1初步目标检测模块中的1×1卷积层对图片金字塔中第p张图片的第一图像特征f5进行1×1卷积,输出两组向量:膝关节的概率向量a1p,a1p为表示向量的个数,1表示每个向量的维度),向量a1p存放的是认为是膝关节的概率值(范围为[0,1]),当概率值不低于α时认为是膝关节,α为第一阈值,α∈[0.5,1],α优选值为0.6;膝关节边界框坐标偏移向量b1p,b1p为表示向量的个数,4表示每个向量的维度),每个向量的4维度(x1,y1,x2,y2)表示边界框的(左上横坐标偏移量,左上纵坐标偏移量,右下横坐标偏移量,右下纵坐标偏移量)。

2.4.2.4.2初步目标检测模块的膝关节边界框坐标操作层对a1p和b1p筛选和计算,得到单膝图像i中的膝关节区域。搜索到a1p中概率值不低于α的n个向量位置同时在b1p中找到对应的这n个向量位置以及该n个位置对应的4维坐标偏移向量其中,表示第n个边界框的坐标偏移量(左上横坐标偏移量,左上纵坐标偏移量,右下横坐标偏移量,右下纵坐标偏移量)。计算原单膝图像i中n个膝关节区域边界框坐标根据边界框坐标在原图i上框出n个膝关节区域,其中,表示第n个边界框的坐标(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标),计算公式如下:

其中,表示第n个边界框的坐标偏移量(左上横坐标偏移量、左上纵坐标偏移量、右下横坐标偏移量、右下纵坐标偏移量),s(0<s≤1)表示原始单膝图像i的缩放因子。

2.4.2.5若p≥pp,转2.4.2.6;若p<pp,令p=p+1,转2.4.2.3。

2.4.2.6第一非极大值抑制筛选层采用非极大值抑制(nms)算法对第m张单膝图片i的所有膝关节区域进行过滤。非极大值抑制(nms)算法参考(文献“efficientnon-maximumsuppression[c]//18thinternationalconferenceonpatternrecognition(icpr2006),20-24august2006,hongkong,china.ieeecomputersociety,2006.”译为:高效的非极大值抑制,《第18届模式识别国际会议》)所述,设非极大值抑制过滤阈值δ为0.6,膝关节边界区域经过阈值筛选,得到第m张单膝图像i的n1(n1为正整数且0≤n1≤100)个初步膝关节区域。

2.4.3在第m张单膝图像上为第二级网络准备训练样本,方法是:

2.4.3.1初始化变量n1=1,k=1;

2.4.3.2计算第m张单膝图像i的第n1个初步膝关节区域与第m张单膝图像i标注的膝关节区域的交并比将第n1个初步膝关节区域作为第二级网络训练的正样本,转2.4.3.3;若将第n1个初步膝关节区域作为第二级网络训练的部分样本,转2.4.3.3;若将第n1个初步膝关节区域作为第二级网络训练的负样本,转2.4.3.3。

2.4.3.3若n1≥n1(n1是第m张单膝图像i中初步膝关节区域的个数,0≤n1≤100),转2.4.3.4;若n1<n1,令n1=n1+1,转2.4.3.2。

2.4.3.4在第m张单膝图像上随机取第k个点将点作为随机选取的边界框的左上坐标点。

2.4.3.5取第k个随机选取的边界框的宽和高设第m张单膝图像的宽为wm,高为hm,取wm和hm的最小值的一半,并进行取整操作,即为int(min(wm,hm)/2),在[48,int(min(wm,hm)/2)]的区间中随机取一个整数作为随机选取的边界框的宽和高

2.4.3.6确定第k个随机选取的边界框的坐标:点记为第k个随机选取的边界框的右下坐标点,第k个随机选取的边界框坐标为代表第k个随机选取的边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。

2.4.3.7计算第m张单膝图像上第k个随机选取的边界框与标注的边界框的交并比则将第k个随机选取的边界框作为膝关节区域关键点定位的训练数据,转2.4.3.8;若直接转2.4.3.8。

2.4.3.8若k<k,令k=k+1,转2.4.3.4,若k≥k,转2.4.4。

2.4.4若m≥2m,转2.4.5;若m<2m,令m=m+1,转2.4.2。

2.4.5将2.4.3~2.4.4步生成的正样本、部分样本、负样本尺度缩减为48×48×3(图像长×图像宽×图像通道数)。因为是rgb图像,所以图像通道数为3。

2.4.6将2.4.5步尺度缩减后的正样本、部分样本、负样本做镜像操作增广,方法是:将每张训练样本进行左右方向翻转,即为镜像操作,得到第二级网络的训练样本,包括n21个正样本、n22个部分样本、n23个负样本,n21、n22和n23均为正整数,由在单膝图像上选取的初步膝关节区域以及计算得到的交并比值大小来决定。

2.5采用2.4.6步生成的第二级网络训练样本对第二级网络进行训练,得到训练后的第二级网络,方法是:

2.5.1初始化变量t=1,设置模型参数的值,包括设置学习率为0.0001,批处理大小batch_size为500;

2.5.2将第二级网络的训练样本输入第二级网络,输出一个总体的损失函数lt,lt的计算如下,在2.5.1步设置的的模型参数下,通过lt值的反向传播更新第二级网络中的参数,得到第t次更新了参数的第二级网络nett;

其中,n2是训练样本的数量,n2=n21+n22+n23;表示第i个训练样本在第j个任务上的损失,1≤j≤3,总共有3个任务:膝关节检测、膝关节边界框定位、膝关节关键点定位,αj表示第j个任务的重要程度系数,膝关节检测任务的重要程度系数α1=0.8,膝关节边界框定位任务的重要程度系数α2=0.6,膝关节关键点定位任务的重要程度系数α3=1.5;

2.5.3令t=t+1,若2≤t≤t,t为网络训练的次数,t=10,转2.5.4;否则训练完毕,得到训练后的第二级网络即nett,转第三步;

2.5.4将第二级网络的训练样本输入nett-1,输出第t次总体损失函数lt,在2.5.1步设置的的模型参数下,通过lt值的反向传播更新nett-1中的参数,得到第t次更新了参数的第二级网络nett;转2.5.3。

第三步,对待检测双膝x光片进行预处理,得到经直方图均衡化处理的2张待检测单膝图像,方法是:

3.1若待检测双膝x光片是背景成亮色、双腿成暗色,则将待检测双膝x光片转化成背景成暗色、双腿成亮色的图像,即用255减去待检测双膝x光片原始像素值作为新图像像素值,转化成背景成暗色、双腿成亮色的图像,转3.2;若待检测双膝x光片是背景成暗色、双腿成亮色,直接转3.2。

3.2将待检测双膝x光片的像素转化成[0,255]的范围,即将待检测双膝x光片处理成uint8的双膝图像;uint8的双膝图像中每个像素对应的新像素值为p为处理前图像每个像素的像素值,pmax为处理前图像的最大像素值,pmin为处理前图像的最小像素值。

3.3将uint8的双膝图像转化成单膝图像,方法是:分别找到uint8双膝图像的宽w以及宽度的一半然后对宽度的一半取整,记为最后从双膝图像中按照宽度坐标[0,int(w/2)]、[int(w/2)+1,w-1]截取,即uint8的双膝图像被划分成2张单膝图像。

3.4对2张单膝图像进行直方图均衡化处理,这2张经过直方图均衡化处理的单膝图像作为待检测单膝图像。

第四步,基于训练好的多任务两级卷积神经网络的膝关节区域定位网络对第三步获得的2张待检测单膝图像进行膝关节定位,方法是:

4.1初始化变量d=1;

4.2生成第d张待检测单膝图像的图片金字塔。将单膝图像进行不同尺度的缩放,缩放因子为s(0<s≤1),得到pp(0<pp<100)张不同大小的单膝图像,设每张图像大小为h×w×3(图像的高×图像的宽×图像通道数),称为该待检测单膝图像的图片金字塔。

4.3基于训练好的多任务两级卷积神经网络的膝关节区域定位网络中的第一级网络处理第d张待检测单膝图像的图片金字塔,得到初步膝关节区域,方法是:

4.3.1初始化变量p=1;

4.3.2第一特征提取模块提取第d张待检测单膝图像的图片金字塔中第p张图像的特征,方法是:

4.3.2.1第一特征提取模块中的第一3×3卷积层对第d张待检测单膝图像的图片金字塔中第p张图片进行卷积操作,第一2×2最大池化层对完成卷积操作的第p张图片进行池化操作,输出特征图f1:卷积操作步长为1,最大池化操作步长为2,图片金字塔中第p张图片大小设为h×w×3(图片高×图片宽×图片通道数,因为是rgb图像,所以图片通道数为3),经过第一卷积和最大池化操作层得到(特征图高×特征图宽×特征图f1的通道数)大小的特征图f1。

4.3.2.2第一特征提取模块中的第二3×3卷积层对特征图f1进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f1进行池化操作,得到特征图f2:卷积操作步长为1,最大池化操作步长为2,(特征图高×特征图宽×特征图f1的通道数)大小的特征图f1经过第二卷积和最大池化操作层得到(特征图高×特征图宽×特征图f2的通道数)大小的特征图f2。

4.3.2.3第一特征提取模块中的第三3×3卷积层对特征图f2进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f2进行池化操作,得到特征图f3:卷积操作步长为1,最大池化操作步长为2,(特征图高×特征图宽×特征图f2的通道数)经过第三卷积和最大池化操作层得到(特征图高×特征图宽×特征图f3的通道数)大小的特征图f3。

4.3.2.4第一特征提取模块中的第四3×3卷积层对特征图f3进行卷积操作,得到特征图f4:卷积操作步长为1,(特征图高×特征图宽×特征图f3的通道数)大小的特征图f3经过第四卷积操作层得到(特征图高×特征图宽×特征图f4的通道数)大小的特征图f4。

4.3.2.5第一特征提取模块中的第五2×2卷积层对特征图f4进行卷积操作,得到特征图f5:卷积操作步长为1,(特征图高×特征图宽×特征图f4的通道数)大小的特征图f4经过第五卷积操作层得到(特征图高×特征图宽×特征图f5的通道数)大小的特征图f5,特征图f5即为第d张待检测单膝图像的图片金字塔的第p张图片输入第一级网络提取的第一图像特征。

4.3.3第一级网络的初步目标检测模块采用2.4.2.4所述的膝关节区域检测方法对f5进行检测,得到待检测单膝图像的膝关节区域;

4.3.4若p<pp,令p=p+1,转4.3.2;若p≥pp,则转4.3.5。

4.3.5第二非极大值抑制筛选层采用非极大值抑制(nms)算法对第d张待检测单膝图像中的所有膝关节边界框进行过滤。非极大值抑制(nms)算法过滤阈值δ设为0.7,待检测单膝图像中的多个膝关节边界框经过阈值筛选,过滤后的边界框在第d张待检测单膝图像上框出膝关节区域,为第一级网络输出的n1个初步膝关节区域。

4.4第二级网络处理第d张待检测单膝图像的n1个初步膝关节区域,得到最终膝关节区域以及该区域的关键点,方法是:

4.4.1初始化变量n1=1;

4.4.2将第一级网络输出的第d张待检测单膝图像的第n1个初步膝关节区域尺度归一化为48×48×3(图像高×图像宽×图像的通道数)。

4.4.3第二级网络提取第d张待检测单膝图像上的第n1张初始膝关节区域图像的特征,方法是:

4.4.3.1第二特征提取模块中的第一3×3卷积层对第n1张初始膝关节区域图像进行卷积操作,第一2×2最大池化层对完成卷积操作的第n1张初始膝关节区域图像进行池化操作,输出特征图f6。卷积操作步长为1,最大池化操作步长为2,尺度归一化的初始膝关节区域图像大小为48×48×3(图片高×图片宽×图片通道数,因为是rgb图像,所以图片通道数为3),经过第一卷积和最大池化操作层得到23×23×32(特征图高×特征图宽×特征图f6的通道数)大小的特征图f6。

4.4.3.2第二特征提取模块中的第二3×3卷积层对特征图f6进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f6进行池化操作,输出特征图f7。卷积操作步长为1,最大池化操作步长为2,23×23×32(特征图高×特征图宽×特征图f6的通道数)大小的特征图f6经过第二卷积和最大池化操作层得到10×10×64(特征图高×特征图宽×特征图f7的通道数)大小的特征图f7。

4.4.3.3第二特征提取模块中的第三3×3卷积层对特征图f7进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f7进行池化操作,输出特征图f8。卷积操作步长为1,最大池化操作步长为2,10×10×64(特征图高×特征图宽×特征图f7的通道数)大小的特征图f7经过第三卷积和最大池化操作层得到4×4×64(特征图高×特征图宽×特征图f8的通道数)大小的特征图f8。

4.4.3.4第二特征提取模块中的第四3×3卷积层对特征图f8进行卷积操作,输出特征图f9。第四层卷积操作步长为1,4×4×64(特征图高×特征图宽×特征图f8的通道数)大小的特征图f8经过第四卷积操作层得到2×2×128(特征图高×特征图宽×特征图f9的通道数)大小的特征图f9。

4.4.3.5第二特征提取模块中的第一全连接层对特征图f9进行全连接操作,输出特征图f10。2×2×128(特征图高×特征图宽×特征图f9的通道数)大小的特征图f9经过第一全连接层得到包含256维向量的特征图f10,特征图f10即为提取的第二图像特征。

4.4.4第二级网络的最终目标检测模块处理第二图像特征即特征图f10,输出第d张待检测单膝图像的最终膝关节区域及关键点坐标,方法是:

4.4.4.1第二级网络最终目标检测模块的第二全连接层对特征图f10进行全连接,输出三组向量:是膝关节的概率向量膝关节边界框坐标偏移向量膝关节关键点坐标偏移向量其中有一个1维向量,有一个4维向量,有一个12维向量。

4.4.4.2第二级网络最终目标检测模块的膝关节边界框坐标以及膝关节区域关键点坐标操作层对向量进行筛选和计算,得到第d张待检测单膝图像的膝关节区域及膝关节区域的关键点。向量存放的是认为是膝关节的概率值(范围为[0,1]),当概率值不低于β时认为是膝关节,β为第二阈值,β∈[0.5,1],β优选值为0.7,若的概率值大于β,则第n1张初步膝关节区域被保留,第n1张初步膝关节区域边界框坐标为表示第n1张初步膝关节区域边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标),同时保留膝关节边界框坐标偏移向量和膝关节关键点坐标偏移向量表示第n1张膝关节边界框的偏移坐标(左上横坐标偏移量、左上纵坐标偏移量、右下横坐标偏移量、右下纵坐标偏移量),设表示第n1个膝关节区域的关键点fm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点fl点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点tm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点tl点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的jsm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的jsl点的偏移坐标(偏移横坐标,偏移纵坐标)。最终的第n1个膝关节边界框坐标(表示第n1个膝关节边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标))以及6个关键点坐标(表示第n1个膝关节区域的fm点的坐标),(表示第n1个膝关节区域的fl点的坐标),(表示第n1个膝关节区域的tm点的坐标),(表示第n1个膝关节区域的tl点的坐标),(表示第n1个膝关节区域的jsl点的坐标),(表示第n1个膝关节区域的jsm点的坐标)计算如下:

4.4.4.3若n1<n1,令n1=n1+1,转4.4.2;若n1≥n1,转4.4.4.4。

4.4.4.4第二非极大值抑制筛选层采用非极大值抑制(nms)算法对第d张待检测单膝图像中膝关节边界框进行筛选,得到第d张待检测单膝图像的最终边界框及最终膝关节区域的关键点,非极大值抑制(nms)算法的过滤阈值δ为0.7。

4.4.4.5若d<2,令d=d+1,转4.2;若d≥2,转第五步。

第五步,结束。

采用本发明可以达到以下有益效果:本发明基于多任务两级卷积神经网络的膝关节定位方法提高了膝关节定位的检测率。本发明与hog+svm方法(文献“anovelmethodforautomaticlocalizationofjointareaonkneeplainradiographs[c]//scandinavianconferenceonimageanalysis.springer,cham,2017:290-301.”译为:一种自动定位光片中膝关节区域的新方法,《斯堪的纳维亚图像分析会议》)在oai和most公开数据库上进行了对比,实验平台均采用:ubuntu16.04、gpu2080ti、python3.6、pytorch0.4。在oai数据库(45110张单膝图像)上测试,本发明测得的平均检测准确率为99.93%,hog+svm方法测得的平均检测准确率为91.73%;在most数据库(19383张单膝图像)上测试,本发明测得的平均检测准确率为99.02%,hog+svm方法测得的平均检测准确率为98.20%。可见本发明有效提高了膝关节定位的检测率。

附图说明

图1是本发明基于多任务两级卷积神经网络的膝关节定位整体流程图;

图2是本发明基于多任务两级卷积神经网络的逻辑结构图;

图3是本发明第2.1.2.2步左右膝6个关键点标注示例图。

具体实施方式

图1是本发明基于多任务两级卷积神经网络的膝关节定位整体流程图;如图1所示,本发明包括以下步骤:

第一步,搭建基于多任务两级卷积神经网络的膝关节区域定位网络。

基于多任务两级卷积神经网络的膝关节区域定位网络如图2所示,包括两级网络:第一级网络和第二级网络,第一级网络的输出作为第二级网络的输入。

第一级网络由第一特征提取模块和初步目标检测模块构成。第一特征提取模块从外界接收单膝图像i,对单膝图像i提取第一图像特征,将第一图像特征发送给初步目标检测模块;初步目标检测模块对第一图像特征进行检测,输出单膝图像i中的初步膝关节区域。

第一特征提取模块由5个卷积层和3个最大池化层构成,5个卷积层中包括4个3×3卷积层和1个2×2卷积层,3个最大池化层包括2个2×2最大池化层和1个3×3最大池化层。

第一3×3卷积层对单膝图像i进行卷积操作,第一2×2最大池化层对完成卷积操作的单膝图像i进行池化操作,得到特征图f1;第二3×3卷积层对特征图f1进行卷积操作,第一3×3最大池化层对完成卷积操作的特征图f1进行池化操作,得到特征图f2;第三3×3卷积层对特征图f2进行卷积操作,第二2×2最大池化层对完成卷积操作的特征图f2进行池化操作,得到特征图f3;第四3×3卷积层对特征图f3进行卷积操作,得到特征图f4,第五2×2卷积层对特征图f4进行卷积操作,得到特征图f5,特征图f5即为提取的第一图像特征。

初步目标检测模块包括一个1×1卷积层、膝关节边界框坐标操作层以及第一非极大值抑制筛选层。1×1卷积层对特征图f5进行卷积,得到两组向量,即膝关节的概率向量a1、膝关节边界框坐标偏移向量b1。膝关节边界框坐标操作层根据a1和b1确定膝关节边界框,得到单膝图像i中的膝关节区域。第一非极大值抑制筛选层对单膝图像i中的膝关节区域进行非极大抑制筛选,得到单膝图像i中的初步膝关节区域,将单膝图像i及单膝图像i中的初步膝关节区域发送给第二级网络。

第二级网络由第二特征提取模块和最终目标检测模块构成。第二特征提取模块对从第一级网络接收的单膝图像i以及单膝图像i中的初步膝关节区域进行特征提取,得到第二图像特征;最终目标检测模块对第二图像特征进行目标检测,得到单膝图像i的最终膝关节边界框坐标以及单膝图像i的膝关节区域关键点坐标。

第二特征提取模块由4个卷积层、3个最大池化层和1个全连接层构成,4个卷积层中包括3个3×3卷积层和1个2×2卷积层,3个最大池化层包括2个2×2最大池化层和1个3×3最大池化层。

第二特征提取模块中的第一3×3卷积层对单膝图像i中的初步膝关节区域进行卷积操作,第一2×2最大池化层对完成卷积操作的单膝图像i中的初步膝关节区域进行池化操作,得到特征图f6;第二3×3卷积层对特征图f6进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f6进行池化操作,得到特征图f7;第三3×3卷积层对特征图f7进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f7进行池化操作,得到特征图f8;第四3×3卷积层对特征图f8进行卷积操作,得到特征图f9,第一全连接层对特征图f9进行全连接操作,得到特征图f10,特征图f10即为提取的第二图像特征。

最终目标检测模块包括第二全连接层、膝关节边界框以及膝关节区域的关键点坐标操作层以及第二非极大值抑制筛选层。第二全连接层对特征图f10进行全连接,得到三组向量,即膝关节的概率向量a2、膝关节边界框坐标偏移向量b2、膝关节区域六个关键点坐标偏移向量c。膝关节边界框以及膝关节区域的关键点坐标操作层根据a2、b2、c对单膝图像i进行膝关节边界框坐标以及膝关节区域的关键点坐标确定。第二非极大值抑制筛选层对单膝图像i中的膝关节区域及膝关节关键点坐标进行非极大抑制筛选,输出单膝图像i及单膝图像i的最终膝关节区域、以及单膝图像i的膝关节区域关键点坐标。

第二步,对基于多任务两级卷积神经网络的膝关节区域定位网络进行训练。

2.1准备基于多任务两级卷积神经网络的膝关节区域定位网络的数据。

2.1.1对m张(m为正整数且m>2000)原始图像进行预处理,得到经直方图均衡化处理的2m张单膝图像,方法是:

2.1.1.1从oaibaseline公开数据库(https://oai.epi-ucsf.org/datarelease/,2008年11月版本)中随机选取m张原始图像。原始图像是包含左右膝的x线片医学图像。

2.1.1.2将m张原始图像统一转化成背景成暗色、双腿成亮色的图像。首先从m张原始图像中挑选出背景成亮色、双腿成暗色的双膝图像,然后进行图像像素反转,即用255减去原始像素值,将m张原始图像统一转化成背景成暗色、双腿成亮色的图像。

2.1.1.3将m张背景成暗色、双腿成亮色的图像的像素转化成[0,255]的范围,即将背景成暗色、双腿成亮色的图像处理成uint8的图像,方法是:将m张背景成暗色、双腿成亮色的图像中的每个像素的像素值做如下处理:其中p为处理前图像中任意一个像素的像素值,pmax为处理前图像中的最大像素值,pmin为处理前图像中的最小像素值,pnew为处理后图像中的任意一个像素的像素值。

2.1.1.4将m张uint8的图像转化成2m张单膝图像,方法是:首先分别找到m张uint8的图像的宽w以及宽度的一半然后对宽度的一半取整,记为最后从uint8的图像中按照宽度坐标截取,即每张uint8的图被划分成2张单膝图像,最终获得2m张单膝图像。

2.1.1.5对2m张单膝图像分别进行直方图均衡化处理。直方图均衡化处理方法见文献“任艳斐.直方图均衡化在图像处理中的应用[j].科技信息,2007(04):第39-40页.”。

2.1.2标注经直方图均衡化处理后的2m张单膝图像中膝关节真实边界框,方法是:

2.1.2.1初始化变量m=1;

2.1.2.2人工手动标注第m张单膝图像膝关节区域的6个关键点。由于医生或计算机主要关注膝关节间隙及骨赘部位,所以手动标注膝关节间隙及骨赘处边界的6个点作为膝关节区域主要关键点。图3是本发明第2.1.2.2步左右膝6个关键点标注示例图,如图3(a)所示右膝的6个关键点,分别为股骨内侧骨赘点(fm)、股骨外侧骨赘点(fl)、胫骨内侧骨赘点(tm)、胫骨外侧骨赘点(tl)、关节间隙内侧点(jsm)、关节间隙外侧点(jsl)。如图3(b)所示,左膝的6个关键点,也分别为股骨内侧骨赘点(fm)、股骨外侧骨赘点(fl)、胫骨内侧骨赘点(tm)、胫骨外侧骨赘点(tl)、关节间隙内侧点(jsm)、关节间隙外侧点(jsl)。如图所示,左膝和右膝的6个关键点成镜像对称。后续步骤是针对6个关键点进行处理,无须关心是左膝还是右膝。

2.1.2.3根据手动标注的关键点,标注出第m张单膝图像中膝关节的边界框,方法是:

2.1.2.3.1分别计算出第m张单膝图像中6个关键点的中心点坐标(xmid,ymid)。记6个关键点坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6),6个关键点的中心点坐标(xmid,ymid)为:

2.1.2.3.2计算膝关节的宽度wknee,方法是:计算出6个关键点的最大横坐标(xmax)和最小横坐标(xmin),最大横坐标(xmax)和最小横坐标(xmin)之间的差作为膝关节宽度wknee,即:

xmax=max(x1,x2,x3,x4,x5,x6)

xmin=min(x1,x2,x3,x4,x5,x6)

wknee=xmax-xmin

2.1.2.3.3标注膝关节区域,获得真实膝关节区域边界框坐标该坐标表示真实膝关节区域边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。以6个关键点的中心点为中心上下左右各扩展膝关节宽度的0.65倍(0.65倍就可以框住每张图上的膝关节区域),作为真正感兴趣的膝关节区域,即标注的边界框,计算公式如下:

2.1.2.4若m≥2m,转2.2;若m<2m,令m=m+1,转2.1.2.2。

2.2为基于多任务两级卷积神经网络的膝关节区域定位网络中第一级网络准备训练样本,方法是:

2.2.1初始化变量m=1;

2.2.2在第m张单膝图像上为第一级网络准备训练样本,方法是:

2.2.2.1初始化变量k=1;

2.2.2.2在第m张单膝图像上随机取第k个点,令第k个点的坐标为以点作为随机选取的边界框的左上坐标点。

2.2.2.2取第k个随机选取的边界框的宽和高设第m张单膝图像的宽为wm,高为hm,并取wm和hm的最小值的一半,且进行取整操作,即为int(min(wm,hm)/2),int(min(wm,hm)/2)表示对min(wm,hm)/2取整,在[48,int(min(wm,hm)/2)]的取值区间中随机取一个整数作为随机选取的边界框的宽和高

2.2.2.3确定第k个随机选取的边界框的坐标。令点为随机选取的边界框的右下坐标点,随机选取的边界框坐标为代表第k个随机选取的边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。

2.2.2.4计算第m张单膝图像上第k个随机选取的边界框与标注的边界框的交并比则将第k个随机选取的边界框即作为训练的正样本,转2.2.2.5;若则将第k个随机选取的边界框即作为训练的部分样本,转2.2.2.5;若则将第k个随机选取的边界框即作为训练的负样本,转2.2.2.5。

2.2.2.5若k<k(k>50,k为第m张单膝图像上总共随机选取的边界框数目),令k=k+1,转2.2.2.2;若k≥k,转2.2.2.6。

2.2.2.6若m≥2m,转2.2.3;若m<2m,令m=m+1,转2.2.2。

2.2.3将2.2.2步生成的训练样本(包括正样本、部分样本、负样本)尺度缩减为48×48×3(图像长×图像宽×图像通道数)。

2.2.4将2.2.3步尺度缩减后的训练样本做镜像操作增广,方法是:将每张训练样本进行左右水平翻转,即为对每张训练样本做镜像操作,生成第一级网络的训练样本,第一级网络正样本个数为n11、部分样本个数为n12、负样本个数为n13,n11、n12和n13均为正整数。

2.3采用第一级网络训练样本对第一级网络进行训练,得到训练后的第一级网络,方法是:

2.3.1初始化变量q=1,设置模型参数的值,包括设置学习率为0.001,批处理大小batch_size为500;

2.3.2将第一级网络的训练样本输入第一级网络,输出一个总体的损失函数lq,lq的计算如下,在2.3.1步设置的模型参数下,通过lq值的反向传播更新第一级网络中的参数,得到第q次更新了参数的第一级网络netq;

其中,n是第一级网络的训练样本的数量,n=n11+n12+n13,表示第i个训练样本在第j个任务上的损失,1≤j≤3,总共有3个任务:膝关节检测、膝关节边界框定位、膝关节关键点定位,αj表示第j个任务的重要程度系数,膝关节检测任务的重要程度系数α1=1,膝关节边界框定位任务的重要程度系数α2=0.5,膝关节关键点定位任务的重要程度系数α3=0;

2.3.3令q=q+1,若2≤q≤q,q为网络训练的次数,q=10,转2.3.4;否则训练完毕,得到训练后的第一级网络即netq,转2.4;

2.3.4将第一级网络的训练样本输入netq-1,输出第q次总体损失函数lq,在2.3.1步设置的模型参数下,通过lq值的反向传播更新netq-1中的参数,得到第q次更新了参数的第一级网络netq,转2.3.3;

2.4为基于多任务两级卷积神经网络的膝关节区域定位网络中第二级网络准备训练样本,方法是:

2.4.1初始化变量m=1;

2.4.2利用训练后的第一级网络定位第m张单膝图像i的初步膝关节区域,方法是:

2.4.2.1生成第m张单膝图像i的图片金字塔,方法是:将第m张单膝图像i依次乘以不同的缩放因子s(s为正实数,且0<s≤1),对第m张单膝图像i进行不同尺度的缩放,得到pp(pp为正整数且0<pp<100)张不同大小的单膝图像,构成单膝图像i的图片金字塔。图片金字塔(pp张)中每张图像大小记为h×w×3(图像的高×图像的宽×图像通道数,因为是rgb图像,所以有3个通道)。

2.4.2.2初始化变量p=1;

2.4.2.3经过训练的第一特征提取模块提取图片金字塔中第p张图片的特征,得到第一图像特征f5,f5为(图片高×图片宽×特征图的通道数)。

2.4.2.4初步目标检测模块采用膝关节区域检测方法对第一图像特征f5进行检测,得到单膝图像i中的膝关节区域,膝关节区域检测方法是:

2.4.2.4.1初步目标检测模块中的1×1卷积层对图片金字塔中第p张图片的第一图像特征f5进行1×1卷积,输出两组向量:膝关节的概率向量a1p,a1p为表示向量的个数,1表示每个向量的维度),向量a1p存放的是认为是膝关节的概率值(范围为[0,1]),当概率值不低于α时认为是膝关节,α为第一阈值,α∈[0.5,1],α优选值为0.6;膝关节边界框坐标偏移向量b1p,b1p为表示向量的个数,4表示每个向量的维度),每个向量的4维度(x1,y1,x2,y2)表示边界框的(左上横坐标偏移量,左上纵坐标偏移量,右下横坐标偏移量,右下纵坐标偏移量)。

2.4.2.4.2初步目标检测模块的膝关节边界框坐标操作层对a1p和b1p筛选和计算,得到单膝图像i中的膝关节区域。搜索到a1p中概率值不低于α的n个向量位置同时在b1p中找到对应的这n个向量位置以及该n个位置对应的4维坐标偏移向量其中,表示第n个边界框的坐标偏移量(左上横坐标偏移量,左上纵坐标偏移量,右下横坐标偏移量,右下纵坐标偏移量)。计算原单膝图像i中n个膝关节区域边界框坐标根据边界框坐标在原图i上框出n个膝关节区域,其中,表示第n个边界框的坐标(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标),计算公式如下:

其中,表示第n个边界框的坐标偏移量(左上横坐标偏移量、左上纵坐标偏移量、右下横坐标偏移量、右下纵坐标偏移量),s(0<s≤1)表示原始单膝图像i的缩放因子。

2.4.2.5若p≥pp,转2.4.2.6;若p<pp,令p=p+1,转2.4.2.3。

2.4.2.6第一非极大值抑制筛选层采用非极大值抑制(nms)算法对第m张单膝图片i的所有膝关节区域进行过滤。非极大值抑制(nms)算法参考(文献“efficientnon-maximumsuppression[c]//18thinternationalconferenceonpatternrecognition(icpr2006),20-24august2006,hongkong,china.ieeecomputersociety,2006.”译为:高效的非极大值抑制,《第18届模式识别国际会议》)所述,设非极大值抑制过滤阈值δ为0.6,膝关节边界区域经过阈值筛选,得到第m张单膝图像i的n1(n1为正整数且0≤n1≤100)个初步膝关节区域。

2.4.3在第m张单膝图像上为第二级网络准备训练样本,方法是:

2.4.3.1初始化变量n1=1,k=1;

2.4.3.2计算第m张单膝图像i的第n1个初步膝关节区域与第m张单膝图像i标注的膝关节区域的交并比将第n1个初步膝关节区域作为第二级网络训练的正样本,转2.4.3.3;若将第n1个初步膝关节区域作为第二级网络训练的部分样本,转2.4.3.3;若将第n1个初步膝关节区域作为第二级网络训练的负样本,转2.4.3.3。

2.4.3.3若n1≥n1(n1是第m张单膝图像i中初步膝关节区域的个数,0≤n1≤100),转2.4.3.4;若n1<n1,令n1=n1+1,转2.4.3.2。

2.4.3.4在第m张单膝图像上随机取第k个点将点作为随机选取的边界框的左上坐标点。

2.4.3.5取第k个随机选取的边界框的宽和高设第m张单膝图像的宽为wm,高为hm,取wm和hm的最小值的一半,并进行取整操作,即为int(min(wm,hm)/2),在[48,int(min(wm,hm)/2)]的区间中随机取一个整数作为随机选取的边界框的宽和高

2.4.3.6确定第k个随机选取的边界框的坐标:点记为第k个随机选取的边界框的右下坐标点,第k个随机选取的边界框坐标为代表第k个随机选取的边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标)。

2.4.3.7计算第m张单膝图像上第k个随机选取的边界框与标注的边界框的交并比则将第k个随机选取的边界框作为膝关节区域关键点定位的训练数据,转2.4.3.8;若直接转2.4.3.8。

2.4.3.8若k<k,令k=k+1,转2.4.3.4,若k≥k,转2.4.4。

2.4.4若m≥2m,转2.4.5;若m<2m,令m=m+1,转2.4.2。

2.4.5将2.4.3~2.4.4步生成的正样本、部分样本、负样本尺度缩减为48×48×3(图像长×图像宽×图像通道数)。因为是rgb图像,所以图像通道数为3。

2.4.6将2.4.5步尺度缩减后的正样本、部分样本、负样本做镜像操作增广,方法是:将每张训练样本进行左右方向翻转,即为镜像操作,得到第二级网络的训练样本,第二级网络训练的正样本个数为n21、部分样本个数为n22、负样本个数为n23,n21、n22和n23均为正整数。

2.5采用2.4.6步生成的第二级网络训练样本对第二级网络进行训练,得到训练后的第二级网络,方法是:

2.5.1初始化变量t=1,设置模型参数的值,包括设置学习率为0.0001,批处理大小batch_size为500;

2.5.2将第二级网络的训练样本输入第二级网络,输出一个总体的损失函数lt,lt的计算如下,在2.5.1步设置的的模型参数下,通过lt值的反向传播更新第二级网络中的参数,得到第t次更新了参数的第二级网络nett;

其中,n2是训练样本的数量,n2=n21+n22+n23;表示第i个训练样本在第j个任务上的损失,1≤j≤3,总共有3个任务:膝关节检测、膝关节边界框定位、膝关节关键点定位,αj表示第j个任务的重要程度系数,膝关节检测任务的重要程度系数α1=0.8,膝关节边界框定位任务的重要程度系数α2=0.6,膝关节关键点定位任务的重要程度系数α3=1.5;

2.5.3令t=t+1,若2≤t≤t,t为网络训练的次数,t=10,转2.5.4;否则训练完毕,得到训练后的第二级网络即nett,转第三步;

2.5.4将第二级网络的训练样本输入nett-1,输出第t次总体损失函数lt,在2.5.1步设置的的模型参数下,通过lt值的反向传播更新nett-1中的参数,得到第t次更新了参数的第二级网络nett;转2.5.3。

第三步,对待检测双膝x光片进行预处理,得到经直方图均衡化处理的2张待检测单膝图像,方法是:

3.1若待检测双膝x光片是背景成亮色、双腿成暗色,则将待检测双膝x光片转化成背景成暗色、双腿成亮色的图像,即用255减去待检测双膝x光片原始像素值作为新图像像素值,转化成背景成暗色、双腿成亮色的图像,转3.2;若待检测双膝x光片是背景成暗色、双腿成亮色,直接转3.2。

3.2将待检测双膝x光片的像素转化成[0,255]的范围,即将待检测双膝x光片处理成uint8的双膝图像;uint8的双膝图像中每个像素对应的新像素值为p为处理前图像每个像素的像素值,pmax为处理前图像的最大像素值,pmin为处理前图像的最小像素值。

3.3将uint8的双膝图像转化成单膝图像,方法是:分别找到uint8双膝图像的宽w以及宽度的一半然后对宽度的一半取整,记为最后从双膝图像中按照宽度坐标[0,int(w/2)]、[int(w/2)+1,w-1]截取,即uint8的双膝图像被划分成2张单膝图像。

3.4对2张单膝图像进行直方图均衡化处理,这2张经过直方图均衡化处理的单膝图像作为待检测单膝图像。

第四步,基于训练好的多任务两级卷积神经网络的膝关节区域定位网络对第三步获得的2张待检测单膝图像进行膝关节定位,方法是:

4.1初始化变量d=1;

4.2生成第d张待检测单膝图像的图片金字塔。将单膝图像进行不同尺度的缩放,缩放因子为s(0<s≤1),得到pp(0<pp<100)张不同大小的单膝图像,设每张图像大小为h×w×3(图像的高×图像的宽×图像通道数),称为该待检测单膝图像的图片金字塔。

4.3基于训练好的多任务两级卷积神经网络的膝关节区域定位网络中的第一级网络处理第d张待检测单膝图像的图片金字塔,得到初步膝关节区域,方法是:

4.3.1初始化变量p=1;

4.3.2第一特征提取模块提取第d张待检测单膝图像的图片金字塔中第p张图像的特征,方法是:

4.3.2.1第一特征提取模块中的第一3×3卷积层对第d张待检测单膝图像的图片金字塔中第p张图片进行卷积操作,第一2×2最大池化层对完成卷积操作的第p张图片进行池化操作,输出特征图f1:卷积操作步长为1,最大池化操作步长为2,图片金字塔中第p张图片大小设为h×w×3(图片高×图片宽×图片通道数,因为是rgb图像,所以图片通道数为3),经过第一卷积和最大池化操作层得到(特征图高×特征图宽×特征图f1的通道数)大小的特征图f1。

4.3.2.2第一特征提取模块中的第二3×3卷积层对特征图f1进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f1进行池化操作,得到特征图f2:卷积操作步长为1,最大池化操作步长为2,(特征图高×特征图宽×特征图f1的通道数)大小的特征图f1经过第二卷积和最大池化操作层得到(特征图高×特征图宽×特征图f2的通道数)大小的特征图f2。

4.3.2.3第一特征提取模块中的第三3×3卷积层对特征图f2进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f2进行池化操作,得到特征图f3:卷积操作步长为1,最大池化操作步长为2,(特征图高×特征图宽×特征图f2的通道数)经过第三卷积和最大池化操作层得到(特征图高×特征图宽×特征图f3的通道数)大小的特征图f3。

4.3.2.4第一特征提取模块中的第四3×3卷积层对特征图f3进行卷积操作,得到特征图f4:卷积操作步长为1,(特征图高×特征图宽×特征图f3的通道数)大小的特征图f3经过第四卷积操作层得到(特征图高×特征图宽×特征图f4的通道数)大小的特征图f4。

4.3.2.5第一特征提取模块中的第五2×2卷积层对特征图f4进行卷积操作,得到特征图f5:卷积操作步长为1,(特征图高×特征图宽×特征图f4的通道数)大小的特征图f4经过第五卷积操作层得到(特征图高×特征图宽×特征图f5的通道数)大小的特征图f5,特征图f5即为第d张待检测单膝图像的图片金字塔的第p张图片输入第一级网络提取的第一图像特征。

4.3.3第一级网络的初步目标检测模块采用2.4.2.4所述的膝关节区域检测方法对f5进行检测,得到待检测单膝图像的膝关节区域;

4.3.4若p<pp,令p=p+1,转4.3.2;若p≥pp,则转4.3.5。

4.3.5第二非极大值抑制筛选层采用非极大值抑制(nms)算法对第d张待检测单膝图像中的所有膝关节边界框进行过滤。非极大值抑制(nms)算法过滤阈值δ设为0.7,待检测单膝图像中的多个膝关节边界框经过阈值筛选,过滤后的边界框在第d张待检测单膝图像上框出膝关节区域,为第一级网络输出的n1个初步膝关节区域。

4.4第二级网络处理第d张待检测单膝图像的n1个初步膝关节区域,得到最终膝关节区域以及该区域的关键点,方法是:

4.4.1初始化变量n1=1;

4.4.2将第一级网络输出的第d张待检测单膝图像的第n1个初步膝关节区域尺度归一化为48×48×3(图像高×图像宽×图像的通道数)。

4.4.3第二级网络提取第d张待检测单膝图像上的第n1张初始膝关节区域图像的特征,方法是:

4.4.3.1第二特征提取模块中的第一3×3卷积层对第n1张初始膝关节区域图像进行卷积操作,第一2×2最大池化层对完成卷积操作的第n1张初始膝关节区域图像进行池化操作,输出特征图f6。卷积操作步长为1,最大池化操作步长为2,尺度归一化的初始膝关节区域图像大小为48×48×3(图片高×图片宽×图片通道数,因为是rgb图像,所以图片通道数为3),经过第一卷积和最大池化操作层得到23×23×32(特征图高×特征图宽×特征图f6的通道数)大小的特征图f6。

4.4.3.2第二特征提取模块中的第二3×3卷积层对特征图f6进行卷积操作,第二3×3最大池化层对完成卷积操作的特征图f6进行池化操作,输出特征图f7。卷积操作步长为1,最大池化操作步长为2,23×23×32(特征图高×特征图宽×特征图f6的通道数)大小的特征图f6经过第二卷积和最大池化操作层得到10×10×64(特征图高×特征图宽×特征图f7的通道数)大小的特征图f7。

4.4.3.3第二特征提取模块中的第三3×3卷积层对特征图f7进行卷积操作,第三2×2最大池化层对完成卷积操作的特征图f7进行池化操作,输出特征图f8。卷积操作步长为1,最大池化操作步长为2,10×10×64(特征图高×特征图宽×特征图f7的通道数)大小的特征图f7经过第三卷积和最大池化操作层得到4×4×64(特征图高×特征图宽×特征图f8的通道数)大小的特征图f8。

4.4.3.4第二特征提取模块中的第四3×3卷积层对特征图f8进行卷积操作,输出特征图f9。第四层卷积操作步长为1,4×4×64(特征图高×特征图宽×特征图f8的通道数)大小的特征图f8经过第四卷积操作层得到2×2×128(特征图高×特征图宽×特征图f9的通道数)大小的特征图f9。

4.4.3.5第二特征提取模块中的第一全连接层对特征图f9进行全连接操作,输出特征图f10。2×2×128(特征图高×特征图宽×特征图f9的通道数)大小的特征图f9经过第一全连接层得到包含256维向量的特征图f10,特征图f10即为提取的第二图像特征。

4.4.4第二级网络的最终目标检测模块处理第二图像特征即特征图f10,输出第d张待检测单膝图像的最终膝关节区域及关键点坐标,方法是:

4.4.4.1第二级网络最终目标检测模块的第二全连接层对特征图f10进行全连接,输出三组向量:是膝关节的概率向量膝关节边界框坐标偏移向量膝关节关键点坐标偏移向量其中有一个1维向量,有一个4维向量,有一个12维向量。

4.4.4.2第二级网络最终目标检测模块的膝关节边界框坐标以及膝关节区域关键点坐标操作层对向量进行筛选和计算,得到第d张待检测单膝图像的膝关节区域及膝关节区域的关键点。向量存放的是认为是膝关节的概率值(范围为[0,1]),当概率值不低于β时认为是膝关节,β为第二阈值,β∈[0.5,1],β优选值为0.7,若的概率值大于β,则第n1张初步膝关节区域被保留,第n1张初步膝关节区域边界框坐标为表示第n1张初步膝关节区域边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标),同时保留膝关节边界框坐标偏移向量和膝关节关键点坐标偏移向量表示第n1张膝关节边界框的偏移坐标(左上横坐标偏移量、左上纵坐标偏移量、右下横坐标偏移量、右下纵坐标偏移量),设表示第n1个膝关节区域的关键点fm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点fl点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点tm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的关键点tl点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的jsm点的偏移坐标(偏移横坐标,偏移纵坐标),表示第n1个膝关节区域的jsl点的偏移坐标(偏移横坐标,偏移纵坐标)。最终的第n1个膝关节边界框坐标(表示第n1个膝关节边界框的(左上横坐标,左上纵坐标,右下横坐标,右下纵坐标))以及6个关键点坐标(表示第n1个膝关节区域的fm点的坐标),(表示第n1个膝关节区域的fl点的坐标),(表示第n1个膝关节区域的tm点的坐标),(表示第n1个膝关节区域的tl点的坐标),(表示第n1个膝关节区域的jsl点的坐标),(表示第n1个膝关节区域的jsm点的坐标)计算如下:

4.4.4.3若n1<n1,令n1=n1+1,转4.4.2;若n1≥n1,转4.4.4.4。

4.4.4.4第二非极大值抑制筛选层采用非极大值抑制(nms)算法对第d张待检测单膝图像中膝关节边界框进行筛选,得到第d张待检测单膝图像的最终边界框及最终膝关节区域的关键点,非极大值抑制(nms)算法的过滤阈值δ为0.7。

4.4.4.5若d<2,令d=d+1,转4.2;若d≥2,转第五步。

第五步,结束。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1