1.一种脊柱侧弯Lenke分型系统,其特征在于,包括Lenke分型数据库单元、全脊柱X光图像输入单元、全脊柱X光图像分割单元、全脊柱X图像匹配单元和脊柱侧弯Lenke分型单元;
所述Lenke分型数据库单元包括Lenke分型的6种类别的标准图片和1个类别的无侧弯正常脊柱图片,每个类别标准图片的数量为m1,m2,m3,m4,m5,m6,m7;
所述全脊柱X光图像输入单元用于输入待检测的全脊柱X光图像;
所述全脊柱X光图像分割单元用于分割待检测的全脊柱X光图像得到待检测的全脊柱X光图像中的脊椎块图像;
所述全脊柱X图像匹配单元用于将待检测的全脊柱X光图像与Lenke分型数据库单元中的标准图片比对,得到K张图像与待检测图像最相近的标准图片;
脊柱侧弯Lenke分型单元将所述K张图像拥有最多类型的Lenke分型类别,即判定为待检测的全脊柱X光图像的Lenke分型所属类别。
2.根据权利要求1所述的脊柱侧弯Lenke分型系统,其特征在于,所述全脊柱X光图像分割单元通过APSegmenter方法对全脊柱X光图像分割得到脊椎块图像:
1.1)将输入的全脊柱X光图像x分解为一个块序列 然后每个
图像块拉伸成一维向量,最后通过线性变换投影到块嵌入,产生
表示投影操作;接着,通过一个可学习位置的位置嵌入,对其进行编码pos=
N×D
[pos1,...,posN]∈R ,以获得最终结果的输入序列z0=x0+pos;
D 2
其中,xN表示第N个块,R表示实数的D维空间, 表示N×P×C维空间,N表示块的数量,P×P表示块的大小,C表示通道的数量,pos表示位置嵌入点序列,posN表示第N个位置嵌N×D入点,R 表示N×D维空间;Z0表示块序列的位置标记,x0表示块嵌入序列;
1.2)设置共L层组成的Transformer编码器,每层包括一个多头自注意力块和一个逐点N×D地多层感知器模块,将序列Z0生成上下文编码zL∈R :
ai‑1=MSA(LN(zi‑1))+zi‑1, [1]
zi=MLP(LN(ai‑1))+ai‑1, [2]
其中i∈{1,...,L},并通过自注意力操作,来更有效地利用ZL序列;ai‑1表示经过MSA的中间结果,MSA()表示经过多头自注意块处理,LN()表示经过LayerNorm操作,即对每个样本的所有特征做归一化,zi‑1表示第i‑1个上下文编码,MLP()表示逐点地多层感知器模块表示;
N×D H×W×K
1.3)解码过程中,将图像块编码序列zL∈R 解码为分割映射s∈R ,s为分割映射,H和W为图像块高和宽,K为类别数;解码器学习将来自编码器的图像块级编码映射到图像块级的类分数;图像块级的类分数被上采样通过双线性插值到像素级分数;
N×D N×K N×K
1.4)输入的zL∈R 首先经过点向线性层变换到zlin∈R ,再由zlin∈R 重塑到slin∈H/P×W/P×K H/P×W/P×KR ;slin∈R 再经过双线性上采样到原图像尺寸;zlin表示块级类对数,K表示类别数,slin表示2D特征图;
K×D
1.5)引入可学习的类嵌入,cls=[cls1,...,clsK]∈R ,随机初始化分配到单个语义N×D类,同图像块编码zL∈R 一起处理;cls表示类嵌入,clsK表示第k个类嵌入,K表示类别数;
接着,定义一个由M层组成的transformer编码器,通过计算解码器输出的标准化图像N×D K×D块嵌入zmask∈R 和类嵌入c∈R 的标量乘积,生成K个掩码图,类掩码的集合计算公式如T下:Masks=(zmask,c)=zmaskc ,其中Masks=(zmask,c)表示一组块序列;进而,将每个MasksH/P×W/P×K块序列重塑为二维掩码,记为Smask∈R ,再通过上采样层,并接着应用Argmax函数,得到像素级的类分类,从而形成输出最终的像素分割图I1;其中,zmask表示图像块嵌入,c表示类嵌入,K表示类别数,T表示转置操作,Masks表示类掩码集合。
3.根据权利要求2所述的脊柱侧弯Lenke分型系统,其特征在于,还包括如下步骤:
2.1)对全脊柱X光图像图像分割得到最终的像素分割图I1,利用公式[3],先对背景进行开运算,卷积核B大小为4×30,再对椎块区域进行开运算,卷积核B大小为10×40,处理后图像记为I2;
2.2)利用公式[4],去除图像I2中面积小于500的区域,计算各分割椎块长和宽,粘连区域的长小于宽,正常椎块长大于宽,分别保存正常椎块和非正常椎块到图像I3和I4;
其中,width表示分割结果中各个锥块的宽度high表示分割结果中各个锥块的高度area表示脊块面积;contour表示分割锥块区域;
2.3)获取图像I4中每个区域的边界信息,遍历左边界,步长为3,利用公式[5]求出Left_pointi‑1、Left_pointi、Left_pointi+1三点之间的夹角θ,当cosθ≥0时,认为点Left_pointi为粘连椎块分割的左边界点,遍历右边界,寻找与Left_pointi‑1、Left_pointi+1在同一水平面的右边界点Right_pointi‑1、Right_pointi+1,闭合Left_pointi‑1、Left_pointi+1、Right_pointi‑1、Right_pointi+1为椎块分界线,保存图像为I5;
Left_pointi‑1、Left_pointi、Left_pointi+1分别表示位序在当前锥块之前锥块的左下顶点、当前锥块的左下顶点和序在当前锥块后锥块的左下顶点;Right_pointi‑1、Right_pointi+1分别表示位序在当前锥块之前锥块的右下顶点和序在当前锥块后锥块的右下顶点;
2.4)合并I3和I5得到最终自适应优化处理后待检测的全脊柱X光图像中的脊椎块图像I6。
4.根据权利要求3所述的脊柱侧弯Lenke分型系统,其特征在于,所述全脊柱X图像匹配单元通过以下方法确定待检测的全脊柱X光图像中的脊椎块图像的Lenke分型所属类别:
3.1)经过步骤一分割后的脊椎图像为I6,S={p0,p1,...,pm}表示I6中脊椎块左侧外轮廓的端点序列,则脊椎块图像I6中包含m/2个脊椎块,则脊椎左侧外轮廓端点共包括m个端点,设置形状编码模板,即将一个圆形区域沿周向均分为n个区域并按照由顶部区域沿顺时针方向依次按照1、2、3...n的顺序编码,将所述m个端点自上向下首位依次连接形成m‑1个线段,将圆形区域的圆心置于每个线段首端的端点,对应线段经过的区域的编号则为对应线段的形状编码,使用1至n对所有的线段进行编码,得到一组编码序列CS={x1,x2,...,xm‑1},其中xi是一个脊椎图像中第i‑1号端点和第i号端点之间线段的形状编码,最后,对于两个脊椎块图像的编码序列C1={x1,x2,...,xm‑1}和C2={y1,y2,...,ym‑1}的相异度DisSim1(C1,C2)定义为:其中n表示循环划分模板的数量,m表示脊椎块的数量;Pm表示脊椎块右侧外轮廓的第m个端点,yi是另一个脊椎图像中第i‑1号端点和第i号端点之间的形状编码;
3.2)设S={p1,p2,...,pm}和S′={p′1,p′2,...,p′m}分别是两个分割后脊椎块图像X和Y的的外轮廓端点集合,C1={x1,x2,...,xm‑1}和C2={y1,y2,...,ym‑1}分别是X和Y对应的形状编码序列设PL1={x1,x2,..,xm‑1}为脊椎X锥块第一块到第m‑1块锥块的左下角点的坐标,设和PB={y2,y3,...,ym}脊椎锥块第2块到第m块锥块的左上角点的坐标,设PK1={x1,x2,...,xm‑1}为PL1与PB1对应点形成的斜率,设PL2={x1,c2,...,xm‑1}为脊椎Y锥块第一块到第m‑1块锥块的左下角点的坐标,PB2={y2,y3,...,ym}为脊椎Y锥块第2块到第m块锥块的左上角点的坐标,设PK2={x1,x2,...,xm‑1}为PL2与PB2对应点形成的斜率,PLi的计算方法为
xi[1]存放的是锥块左下角角点的纵坐标信息,xi[0]存放的是锥块左下角角点的横坐标信息yi+1[1]存放的是锥块右下角角点的纵坐标信息,yi+1[0]存放的是锥块右下角角点的横坐标信息PLn‑i中n取值为X和Y,对应指锥块X和锥块Y
对于PLn‑i中如果出现斜率的正负变化,出现局部最大变化斜率,脊椎中会存在≥1个局部最大变化斜率;对于S和S′,如果边界线段(pi‑1,pi)存在局部最大变化的斜率,则定义pi(i>0)为关键点,(pi‑1,pi)为关键边界线段,给定任一分割脊椎图像的关键点数量,则s和s′*中的关键点分别表示为{kpj},j=1,...,k和{kpj},j=1,...,k;接着,使用公式(5)计算每一个关键点pi(i>0)的匹配权重wi:其中,|| ||操作表示脊椎块外轮廓上两个点之间的间隔距离;
最后,对于两组编码序列C1={x1,x2,...,xm}和C2={y1,y2,...,ym}之间的相异度进一步优化为:
3.3)给定分割后脊椎块X的左边外轮廓端点集合S={p0,p1,...,pm},分别过每个端点pi作水平线li,以li为基准,沿顺时针方向计算与pi所对应上边界或下边界的角度θi,则定义公式[8]来计算脊椎的水平倾斜角度αi,实际上,公式[8]隐含了脊椎块水平角度倾斜方向,若θi≤90°,则意味着αi取li顺时针方向与上下边界相交的角度,即αi为正数;若θi>90°,则意味着αi取li逆针方向与上下边界相交的角度,即αi为负数;
设X和Y是分割后待匹配的两组脊柱,S={p0,p1,...,pm}和S′={p′0,p′1,...,p′m}分别是他们的外轮廓端点集合,C1={x1,x2,...,xm}和C2={y1,y2,...,ym}分别是X和Y对应的形状编码序列,α={α0,α1,...,αm}和β={β1,β2,...,βm}分别是X和Y的水平倾斜角度,则X和Y的相异度进一步优化为:
5.根据权利要求4所述的脊柱侧弯Lenke分型系统,其特征在于,设X和Y为分割后待匹配的两个脊椎,①首先分别计算X和Y的外包矩形,并计算脊椎块左侧所有外轮廓端点到它们外包矩形右边界的距离,分别记为:hX={h0,h1,...,hm}和dy={d0,d1,...,dm},其中具有最大距离的记为hmax和dmax;hX表示脊椎X上脊椎块左侧所有外轮廓点到它们外包矩形右边界的距离集合,编号从0开始,dy表示脊椎Y上脊椎块左侧所有外轮廓点到它们外包矩形右边界的距离集合,编号从0开始,hm表示脊椎X上序号为m的脊椎块左侧所有外轮廓点到它们外包矩形右边界的距离集合,dm表示脊椎Y上序号为m的脊椎块左侧所有外轮廓点到它们外包矩形右边界的距离集合;
②将Y沿着垂直线翻转,即得到Y的镜像,记为Y′,进而计算Y′的外包矩形,同样计算Y′中脊椎块左侧所有外轮廓端点到外包矩形右边界的距离,记为:dy′={d0′,d1′,...,dm′};
③按公式[11]计算X和Y的最佳对称匹配距离为dis(X,Y);
综合公式[10]和公式[11],即定义X和Y之间的形状差异度为:
其中ε,λ,δ为权重因子;DisSimilarity(X,Y)越小表示两个脊椎块图像越接近,脊柱侧弯Lenke分型单元根据公式[12]得到Lenke分型数据库单元中与待检测的全脊柱X光图像最接近的K张标准图片,将所述K张图像拥有最多类型的Lenke分型类别,判定为待检测的全脊柱X光图像中的脊椎块图像的Lenke分型所属类别。