一种基于多尺度融合和可变形自注意力的白细胞检测方法

未命名 08-14 阅读:80 评论:0


1.本发明涉及计算机视觉深度学习和医学图像处理技术领域,具体指一种基于多尺度融合和可变形自注意力的白细胞检测方法。


背景技术:

2.在医院进行的血常规检测中,通常需要采用显微镜来观察病人的白细胞,而白细胞自动分类,需要将白细胞从病人的血液显微影像中进行切割,随后使用白细胞分类器来对切割的白细胞进行自动分类和计数,这种方法通常需要高精度的医学图像分割技术或者大量的人力资源,而且可能受到图像质量或者环境因素的影响。尽管白细胞自动分类相比于医生在显微镜下手动计数效率和准确率要高,但是仍存在一定的限制,因此为了能够进一步简化步骤,去除图像切割的步骤,本章进行了白细胞目标检测研究,并实现了一步到位的过程,即从血液显微影像直接进行白细胞分类和计数,有助于医生快速的诊断病情。
3.在血液显微影像的白细胞目标检测过程中,存在以下的问题:1)不同医院采集的血液图像的设备不同,因此生成的图像存在色差。2)白细胞图像特征较少,这对于白细胞检测造成一定的困难。3)不同医院仪器的放大倍数不同,因此会造成相同类别的白细胞在不同血液图像中尺寸不同。此外不同白细胞,本身也存在不同的尺寸,这对于白细胞的检测会造成一定的困难。


技术实现要素:

4.本发明针对现有技术的不足,提出一种基于多尺度融合和可变形自注意力的白细胞检测方法,通过不同尺度特征图的融合和可变形自注意力模块,提高了模型的特征提取和表达能力。
5.为了解决上述技术问题,本发明的技术方案为:
6.一种基于多尺度融合和可变形自注意力的白细胞检测方法,包括如下步骤:
7.s1、获取白细胞目标检测数据集并预处理;
8.s2、构建mfds-detr模型并训练,
9.所述mfds-detr模型包括骨干网络、高层筛选特征融合金字塔、可变形自注意力模块、编码器和解码器,
10.所述骨干网络采用残差连接方式的resnet-50,并在所述resnet-50上增加卷积块,该卷积块包括2个1*1卷积和1个3*3卷积,所述高层筛选特征融合金字塔包括特征选择模块和特征融合模块,所述可形变自注意力模块包括偏移模块和注意力模块;
11.s3、使用训练好后的mfds-detr模型,在骨干网络中,将预处理后的数据集作为输入,通过骨干网络提取得到不同尺度的特征图,
12.s4、在高层筛选-特征融合金字塔中,通过特征选择模块对不同尺度的特征图进行特征选择,随后采用特征融合模块将高层信息和低层信息进行多尺度融合,使得各层特征都具有丰富的语义信息。
13.s5、在可形变自注意力模块中,通过偏移模块得到不同尺度的偏移输出向量,最后将不同尺度的偏移输出向量通过注意力模块进行加权从而获得最终的输出向量;
14.s6、将步骤s5输出的最终的输出向量作为输入,通过编码器提取全局特征;
15.s7、将提取的全局特征作为输入,通过解码器得到最终目标检测结果。
16.作为优选,所述步骤s1中数据预处理的方法为:
17.对白细胞目标检测数据集中的图像数据的白细胞通过labelme标注为(x1,y1),(x2,y2),其中x1,y1表示的左上角的坐标,x2,y2表示的右下角的坐标,进而将标注格式转换为(x1,y1)和标注框的宽和高,并且将所有图像的标注文件分别进行整合,整合为coco格式的标注数据;
18.在获得coco格式的训练数据之后,需要对输入图像进行数据增广,通过对训练数据集进行数据增广,使用随机裁剪,中心裁剪,加入椒盐噪声和高斯噪声等操作来进行数据增强。
19.作为优选,所述特征选择模块包括通道注意力模块和维度匹配模块,所述通道注意力模块包括全局平均池化和全局最大池化,所述维度匹配模块包括1*1卷积;
20.通过所述特征选择模块进行特征选择的方法为:首先经过全局平均池化和全局最大池化,然后将计算的特征进行相加,随后通过激活函数sigmoid来计算每个通道的权重值,最后输出每个通道的权重f
ca
∈rc×1×1,随后将获得的权重信息与自身尺度的特征图相乘,获得筛选后的特征图;在维度匹配模块中采用1*1卷积将每个尺度的特征图的通道数缩小至256。
21.作为优选,所述特征融合模块包含转置卷积、双线性插值组合和ca模块;
22.通过特征融合模块得到多尺度融合特征向量的方法为:给定一个输入高层特征f
high
∈rc×h×w,输入低层特征首先高层特征通过步长为2,卷积核为3*3的转置卷积扩展特征尺寸随后为了统一高层特征和低层特征的尺寸,使用双线性插值对高层特征进行下采样或上采样,得到其中,c表示特征图的通道数,h表示特征图高度,w表示特征图宽度;获取到尺寸一致的特征之后,使用ca模块将高层特征转换为相对应的注意力权重用来筛选低层特征,最后将筛选后的低层特征与高层特征相融合得到多尺度融合特征向量,表达式如下:
23.f
att
=bl(t-conv(f
high
))
24.f
out
=f
low
*ca(f
att
)+f
att
25.作为优选,所述步骤s5中得到通不同尺度的偏移输出向量的方法为:
26.在多尺度融合特征向量输入到偏移模块之前,首先需要将多尺度融合特征向量转换为特征图,随后根据参考点坐标获得输入的查询向量;对于查询向量使用线性变换,获得该查询向量的偏移量δpq,随后根据每个参考点的偏移量找到该参考点所关注的点,即采样点,并采用双线性插值的方式获得该点的输出offset
value
,每个所述查询向量,有h个关注头,而对于每个关注头则有k个偏移点。
27.作为优选,所述步骤s5中获得最终的输出向量的方法为:
28.首先对于输入的查询向量进行线性变换,随后采用softmax函数获得每个偏移量的权重向量,将每个偏移量输出与对应的权重向量相乘并相加获得采样值sample
value
,随后
将该参考点中每个关注头进行拼接获得最后采样的输出向量sample
output
,最后将采样的输出向量进行线性变换获得最终的输出output,表达式如下:
29.weight=softmax(wq)
[0030][0031][0032]
output=w*sample
output

[0033]
所述编码器设置有6层,每层所述编码器由可变形自注意力和ffn网络结构组成,
[0034]
所述编码器提取全局特征的方法为:多尺度特征融合向量加入空间位置编码和尺度编码作为编码器的输入,该输入向量通过可变性自注意力来提取白细胞的全局特征,随后通过残差结构对输出向量归一化;将上述的输出的向量通过ffn网络结构进行一学习白细胞特征。
[0035]
作为优选,所述解码器包括自注意力特征提取模块和交叉注意力特征提取模块;
[0036]
所述自注意力特征提取模块包括自注意力模块和ffn,其中自注意力模块是通过输入向量之间彼此交互学习(自注意力机制),计算不同对象的权重,从而找到更关注的区域信息,自注意力计算公式如下述所示:
[0037][0038]
attention(q,k,v)=cos(q,k)
×v[0039]
所述交叉注意力特征提取模块的结构上与编码器相同,但是编码器,交叉注意力机制的输入分别来自输出位置编码和编码器最后一层提取的全局特征。
[0040]
作为优选,所述mfds-detr模型的损失函数是由分类损失,回归损失,辅助损失组成的联合损失函数,表达式如下:
[0041][0042]
本发明具有以下的特点和有益效果:
[0043]
本发明提出了一种基于多尺度融合和可变形自注意力的白细胞检测模型(multi-level feature fusion and deformable self-attention detr,mfds-detr),该模型通过不同尺度特征图的融合,提高模型的特征表达能力,解决了白细胞数据集中存在的多尺度问题。
[0044]
此外针对传统的cnn检测无法获得白细胞图像全局特征的缺点,采用了可变形自注意力来提取白细胞全局特征。不需要查看所有可能的图像空间,减少了传统模型参数,加快训练速度。
附图说明
[0045]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可
以根据这些附图获得其他的附图。
[0046]
图1为本发明mfds-detr模型结构图
[0047]
图2为本发明hs-fpn结构图
[0048]
图3为本发明选择特征融合模块
[0049]
图4为本发明自注意力和可变形自注意力的复杂度比较可视化
[0050]
图5为本发明可变形自注意力模块
[0051]
图6为本发明不同检测模型在白细胞目标检测数据集上识别效果比较
[0052]
图7为本发明不同多尺度融合方式的ap值曲线图
[0053]
图8为本发明不同编码器层数对应的ap值曲线图
[0054]
图9为本发明不同解码器层数对应的ap值曲线图
[0055]
图10为本发明不同位置编码对应的ap值曲线图
[0056]
图11为本发明不同损失函数对应的ap值曲线图
[0057]
图12为本发明不同注意力头的采样点及其对应的注意力权重可视化
[0058]
图13为本发明最后一层编码器的采样点及其注意力权重可视化
[0059]
图14为本发明最后一层解码器的采样点及其注意力权重可视化
[0060]
图15为本发明mfds-detr在wbcdd数据集上的预测结果(黑色的框表示ground truth,不同颜色的框表示其预测框)
具体实施方式
[0061]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0062]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0063]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
[0064]
本发明提供了一种基于多尺度融合和可变形自注意力的白细胞检测方法,包括如下步骤:
[0065]
s1、获取白细胞目标检测数据集并预处理;
[0066]
s2、构建mfds-detr模型并训练
[0067]
具体的,mfds-detr模型结构如图1所示。mfds-detr模型主要由以下几个部分组
成,分别是骨干网络(backbone),高层筛选-特征融合金字塔(high-level select-feature pyramid networks,hs-fpn),可形变自注意力模块,编码器(encoder)和解码器(decoder)。
[0068]
s3、使用训练好后的mfds-detr模型,在骨干网络中,将预处理后的数据集作为输入,通过骨干网络提取特征得到特征图,先使用1*1卷积减少通道数,随后使用3*3卷积来降低特征图尺寸,最后使用1*1卷积来扩充通道数,进而输出不同尺度的特征图;
[0069]
针对骨干网络部分,mfds-detr采用改进版的resnet-50作为骨干网络来提取特征。resnet-50采用了残差连接的方式解决了梯度消失问题,并且使得模型收敛的更快,不会出现深度神经网络退化问题。表1展示了mfds-detr中改进版的resnet-50的网络结构,由于白细胞图像特征较少,需要更深层的语义信息,因此该骨干网络在原先的resnet-50模型的基础上再增加了卷积块(conv block),用于提取深层信息。该卷积块采用了与resnet-50中结构相似的卷积,先使用1*1卷积减少通道数,随后使用3*3卷积来降低特征图尺寸,最后使用1*1卷积来扩充通道数。
[0070]
其中,骨干网络的具体参数如表1所示:
[0071]
表1骨干网络的模型参数
[0072][0073]
s4、在高层筛选特征融合金字塔中,通过特征选择模块对不同尺度的特征图进行特征选择得到高层特征和低层特征,随后采用特征融合模块将高层信息和低层信息进行多尺度融合得到多尺度融合特征向量;
[0074]
针对高层筛选-特征融合金字塔(hs-fpn)部分,可以分为两个部分:1)特征选择。2)特征融合。首先对于不同尺度的特征图进行特征选择,随后采用选择特征融合模块将高
层信息和低层信息相融合。对于特征选择具体实现如下:
[0075]
特征选择模块主要由两部分组成,分别是通道注意力模块(channel attention,ca)和维度匹配模块。如图2的ca模块所示,对于输入特征图f
in
∈rc×h×w(c表示特征图的通道数,h表示特征图高度,w表示特征图宽度),首先经过两个池化层,分别是全局平均池化和全局最大池化,然后将计算的特征进行相加,随后通过激活函数sigmoid来计算每个通道的权重值,最后输出每个通道的权重f
ca
∈rc×1×1。在通道注意力模块中使用了全局平均池化和全局最大池化来计算每个通道的平均值和最大值,平均池化的目的在于平均的获取特征图的所有信息,不至于丢失过多信息,而最大池化目的是提取出每个通道最具代表性的信息,因此在ca模块中使用两种池化能够在提取每个通道中最具代表性信息的同时不丢失过多信息。随后将获得的权重信息与自身尺度的特征图相乘,获得筛选后的特征图。由于不同尺度的特征图具有不同的通道数,因此在特征融合之前需要将不同尺度的特征图进行维度匹配,在维度匹配模块中采用1*1卷积将每个尺度的特征图的通道数缩小至256。
[0076]
对于特征融合,常用的方法是使用上采样高层特征与低层特征直接像素相加,使得各层特征都具有丰富的语义信息。但是上述方法只是简单对不同特征层进行像素相加,并没有对特征进行选择,针对该问题,本发明设计了选择特征融合模块(select feature fusion,sff),通过将高层特征作为权重来筛选低层特征中重要的语义信息,实现了有目的的特征融合。如图3所示,给定一个输入高层特征f
high
∈rc×h×w,输入低层特征首先高层特征通过步长为2,卷积核为3*3的转置卷积(t-conv)扩展特征尺寸随后为了统一高层特征和低层特征的尺寸,使用双线性插值(bilinear interpolation)对高层特征进行下采样或者上采样,得到在获取到尺寸一致的特征之后,使用ca模块将高层特征转换为相对应的注意力权重用来筛选低层特征,最后将筛选后的低层特征与高层特征相融合,提高模型的特征表达能力。公式(1)(2)表示选择特征融合的过程。在图像上采样的过程中,本发明采用转置卷积和双线性插值组合的方式来还原高层特征的尺度。双线性插值的优点在于它是一种简单而快速的方法,通过对像素的操作实现了图像的放大和缩小。而转置卷积的优点在于:1)通过可学习的参数来适应数据:转置卷积的输出不仅仅是对于特征图的放大,而是通过卷积的形式对于输入进行一定的重构,它首先采用0来填充,扩展特征图,随后采用卷积核来实现卷积运算,该过程通过可学习的参数(卷积核)来调整。2)处理非均匀采样:转置卷积可以在输出图像的不同位置采样输入图像的不同区域,不同于双线性插值只能选取周围几个点,因此可以处理非均匀采样的情况。
[0077]fatt
=bl(t-conv(f
high
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0078]fout
=f
low
*ca(f
att
)+f
att
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0079]
s5、在可形变自注意力模块中,通过偏移模块得到不同尺度的偏移输出向量,最后将不同尺度的偏移输出向量通过注意力模块进行加权从而获得最终的输出向量;
[0080]
针对可形变自注意力模块部分,不同于传统的自注意力机制,可变形自注意力模块只关注图像参考点周围一组关键采样点,并不需要关注特征图的大小。如图4所示,方形矩阵中圆圈表示键和查询之间的注意力,橘色表示保留的连接,白色表示删除的连接,对角线的灰色则表示该参考点的位置。相比于传统自注意力机制对于输入呈二次指数型复杂
度,可变形自注意力模块通过将查询稀疏化来减小注意力对于输入的复杂度,它相对于输入呈线性复杂度。可变形自注意力模块主要由两个重要的部分组成,分别是偏移模块和注意力模块。
[0081]
偏移模块:如图5所示,在向量输入到偏移模块之前,首先需要将其转换为特征图,随后根据参考点坐标获得输入的查询向量。对于查询向量使用线性变换,获得该查询向量的偏移量δpq,并且对于输入的特征图使用线性变换获得内容特征图,随后根据每个参考点的偏移量找到该参考点所关注的点,即采样点,并采用双线性插值的方式获得该点的输出offset
value
。如图所示,对于每个查询向量,有h个关注头,而对于每个关注头则有k个偏移点,在本章的实验中,h为8,k为4。
[0082]
注意力模块:如图5所示,在注意力模块中,首先对于输入的查询向量进行线性变换,随后采用softmax函数获得每个偏移量的权重向量,并且将偏移模块中学习到的每个偏移量输出与对应的权重向量相乘并相加获得采样值sample
value
,随后将该参考点中每个关注头进行拼接获得最后采样的输出向量sample
output
,最后将采样的输出向量进行线性变换获得最终的输出output。它的具体公式如(3),(4),(5),(6)所示。
[0083]
weight=softmax(wq)
ꢀꢀꢀꢀ
(3)
[0084][0085][0086]
output=w*sample
output
ꢀꢀꢀꢀ
(6)
[0087]
由于mfds-detr使用了hs-fpn模块对于骨干网络的特征输入进行多尺度融合,因此编码器的输入是多尺度特征图。为了能够更充分的从不同尺度提取白细胞的特征信息,采用了多尺度可变形注意力模块,其不仅仅对于输入参考点的尺度进行偏移量学习,还根据归一化后的参考点在不同尺度的相对位置,从不同尺度进行偏移量学习。对于每个尺度的偏移量采用可变形自注意力的偏移模块计算获得该参考点的偏移输出向量,最后将不同尺度的偏移输出向量加权相加获得最终的输出向量。
[0088]
s6、将步骤s5输出的最终的输出向量作为输入,通过编码器提取全局特征;
[0089]
针对编码器和解码器部分,编码器的作用是提取白细胞图像的全局特征。如图1所示,编码器的输入是加入空间位置编码和尺度编码的多尺度特征。一层编码器由可变形自注意力和ffn模块组成,在可变形自注意力中最重要的是参考点位置,因此在可变形自注意力中,参考点的初始化方式按照以下步骤进行:1)找到每个尺度像素点的中心位置坐标。2)通过除以不同尺度特征图的宽高实现归一化。在获得参考点位置之后则按照多尺度可变形自注意力模块来获得输出向量,值得注意的是,采用的可变形自注意力一般都设置八个注意力头,可以从图12看到,每个头关注不同方向的偏移量。获得输出向量之后通过残差结构(add&norm方式)来对输出向量归一化,其目的是防止梯度消失,并且加速模型收敛。随后将输出的向量通过ffn网络结构来进一步学习白细胞特征,ffn是一个多层感知机,它通过扩展和降低维度的方式来使模型能够学习到更多特征之间的非线性关系。在mfds-detr模型中,设置了6层编码器,并且本发明通过消融实验证明了6层编码器的效果最优。
[0090]
s7、将提取的全局特征作为输入,通过解码器得到最终目标检测结果。
[0091]
解码器的作用是学习不同检测特征表示之间的关系,即学习目标的位置和类别信
息。如图1所示,一层解码器由两个部分组成,自注意力特征提取模块和交叉注意力特征提取模块。1)自注意力特征提取模块由两部分组成:自注意力模块和ffn。2)交叉注意力特征提取模块的结构上与编码器类似,但是不同于编码器,交叉注意力机制的键和查询都来自于输出位置编码(object queries),它的值则来自于编码器最后一层提取的全局特征。
[0092]
不同于传统的目标检测任务,该模型使用transformer结构,将目标检测任务视为集合预测任务。模型训练的困难在于如何根据原始目标集合来对预测集合进行评分,为了解决这个问题,使用了匈牙利算法来对原始目标集合和预测集合进行匹配。如公式(8)所示,假设目标集合为y,预测集合为通过匈牙利算法来找到使得损失函数最小的匹配方式其中损失函数的计算公式如式(9)所示,主要由分类损失和回归损失函数组成。
[0093][0094][0095]
(1)分类损失
[0096]
由于在解码器中设置了100个对象查询框,而一张白细胞图像的实际目标只有2个或者3个白细胞,因此这会造成严重的正负样本不均衡问题,因此引入了focal loss损失函数。
[0097]
focal loss损失函数最先是由何凯明在retinanet中提出的损失函数,主要用于解决目标检测中正负样本不平衡和难分类样本学习的问题。由于当前数据集存在长尾现象,因此可以采用focal loss来作为模型的分类损失,它是交叉熵损失函数的衍生,它的计算公式如下:
[0098][0099]
(2)回归损失
[0100]
边界框检测是目标检测的关键步骤,因此为了能够使模型对边界框的位置进行学习,设置了回归损失函数。在现有的回归损失函数中有l1,smoothing l1,iou,giou等损失函数。由于最常用的l1损失函数会受到尺度的影响,因此在联合损失函数中,使用了l1和giou损失函数作为回归损失函数,公式如式(10)所示,boxy和表示使用匈牙利算法配对的预测框和目标框,λ
giou
和λ
l1
是两个超参数,表示的是giou和l1损失的权重,表示的giou的损失函数,l1损失函数则是目标框与预测框位置差的绝对值。
[0101][0102]
giou损失函数的计算公式如(11)(12)(13)所示,假设原始目标框为boxy,预测目标框为首先计算两个框之间的iou值,即将两个框的交集除以并集。并且为了解决两个框出现不重叠从而无法反应距离问题,首先计算目标框和预测框的最小外接矩形areac,并使用iou值与areac中没有被两个框覆盖的面积的占比相减得到了giou。giou损失函数的好处在于:1)它对于尺度不敏感,不受物体大小的影响。2)giou不仅关注目标框与预测框重叠区域,还考虑了非重叠区域,更好的反应预测框与目标框的重合度。3)解决在预测框与目标框没有相交时iou无法反应距离的问题。
[0103][0104][0105][0106]
另外,损失函数中还联合了辅助函数,与上述两个损失函数不同,该辅助损失主要用于模型训练加速。在原先的模型中,只有编码器最后一层的输出用于预测目标,而辅助损失则对于编码器每一层输出用于预测,并且计算每一层的分类和损失函数,用于模型训练。因此其最终的损失函数的计算公式如式(10)所示,即将每一层解码器都作为模型的最后一层来预测结果,其中n为解码器的层数。
[0107]
分类损失和回归损失用于模型的优化,即找到最合适的匹配值,而辅助损失则是用于加速模型的收敛,它主要是计算每一层解码器输出的分类损失和回归损失。
[0108][0109]
为了对上述验证上述一种基于多尺度融合和可变形自注意力的白细胞检测方法的有效性,给出一下具体实施例:
[0110]
本实施例中,获取的数据集
[0111]
总共采用三个数据集来进行验证,分别是白细胞目标检测数据集(white blood cell detection dataset,wbcdd),lisc和bccd数据集,其中白细胞目标检测数据集是自身收集的,而lisc和bccd是公开的数据集,用于验证模型的泛化性。表2和表3展示了不同数据集中各类细胞的个数,图6展示了各个数据集的白细胞图像。
[0112]
wbcdd是从当地医院进行收集,该数据集中图片是由检验科的医生通过显微镜观察病人血液图像所得,并且在专业医生的指导下,使用了labelme工具进行白细胞目标框标注,该白细胞数据集包含684张白细胞图像样本,五类白细胞,分别是中性粒细胞(neu),嗜酸性粒细胞(eos),单核细胞(mon),嗜碱性粒细胞(bas)和淋巴细胞(lym)总计1257个白细胞。在实验之前,将该数据集按照类别进行划分,其中训练集包含了540张图像样本,测试集包含了144张图像样本。
[0113]
lisc是一个早期的白细胞数据集,该数据集是从健康志愿者的外周血中获取的血液图像,使用了gismo-right技术对涂片进行染色,并使用sony型号sscd50ap相机在放大100倍的axioskope 40显微镜下进行观察。然后,由一名血液专家将250张血液图像进行分类,一共分为五个细粒度类别。但是由于该数据集是分类数据集,因此为了能够用于目标检测模型,使用了labelme工具进行白细胞的标注。在实验前,将该数据集分为训练集和测试集,其中训练集包含200张图片,测试集包含50张图片。
[0114]
bccd数据集是一个公开可用的带标注的血细胞图像数据集,称作blood cell count dataset。该数据集也用gismo-right技术染色,并使用ccd彩色相机在放大100倍的常规光学显微镜下进行观察,并且由一名血液专家所标注。该数据集一共包含了364张图片,分为三类,分别是白细胞(wbc),血细胞(rbc)和血小板(platelets)。在实验前,将该数据集分为训练集和测试集,其中训练集包含了292张图片,测试集包含了72张图片。
[0115]
表2lisc和wbcdd中不同类别白细胞的个数
[0116][0117]
表3 bccd数据集中不同类别细胞的个数
[0118][0119]
本实施例中,步骤s2中,所构建mfds-detr模型的主要使用python语言,并使用pytorch深度学习框架来实现mfds-detr模型。由于mfds-detr模型无法在小数据集上进行快速收敛,因此先在公开的ms coco数据集上进行训练,并使用迁移学习的思想在白细胞目标检测数据集上进行微调。该实验的硬件设备为一块24gb的gpu(nvida geforce rtx 3090),操作系统是ubuntu 20.04。
[0120]
mfds-detr模型训练的批次设置为100,骨干网络的学习率设置为0.00002,编码器和解码器的学习率设置为0.0002,hs-fpn的学习率设置为0.0003,学习率的衰减方式为steplr,按照每40批次学习率下降到原来的0.1来进行调整。优化器采用adamw优化器来对模型调优,其中β1=0.9,β2=0.999,权重衰减设置为0.0001。
[0121]
本实施例中,由于获得患者血液图片中并没有对白细胞进行标注,因此为了构建自己的白细胞目标检测数据集,首先采用labelme工具来对血液图像的白细胞进行标注和分类。labelme是一种基于web的开源工具,它是由麻省理工学院的计算机科学和人工智能实验室(csail)开发,用于手动注释图像数据集。
[0122]
在训练之前首先要对数据集进行数据预处理,由于labelme的标注格式为(x1,y1),(x2,y2)其中x1,y1表示的左上角的坐标,x2,y2表示的右下角的坐标,并且对于每个图像有一个json格式的标注文件。因此在训练之前,先对标注信息进行预处理,首先将标注格式转换为(x1,y1)和标注框的宽和高,并且将训练集和测试集中所有图像的标注文件分别进行整合,整合为coco格式的标注数据。
[0123]
在获得coco格式的训练数据之后,需要对输入图像进行数据增广,因为通过计算获得该数据集图像各个通道的均值和方差分别为[0.8063,0.7413,0.6825],[0.1429,0.1497,0.1121],均值相对偏高,方差则偏低,这会造成模型在训练过程中会优先选择具有高均值的样本,则会造成过拟合,从而在验证集上表现不佳,因此为了解决过拟合问题,通过对训练数据集进行数据增广,在实验中,使用随机裁剪,中心裁剪,加入椒盐噪声和高斯噪声等操作来进行数据增强。
[0124]
本实施例中,通过所构建的mfds-detr模型进行预测分析:
[0125]
不同于分类任务,目标检测任务的tp表示的是与目标框的iou大于阈值的预测框数量,fp表示的是与目标框的iou小于等于阈值的预测框数量,fn则表示iou为0的预测框数量,即没有检测到真实目标框的数量。因此在目标检测任务中,精确率表示的预测正确的框在全部预测框中的占比,召回率表示的所有正确的预测框在目标框中的占比。单纯的使用精确率或者召回率评价整个检测器是不公平的,因为不同的检测任务有着不同的指标,因此为了能够更公平的评估检测器,通常采用ap来对模型进行评估,ap的计算公式按照如下
的步骤进行:1)选择一个iou阈值。2)对于每个类别,按照置信度从高到低对所有预测框进行排序。3)从置信度高的预测框开始,依次计算精确率和召回率。4)计算该类别的ap
class
,即p-r曲线下的面积,其公式如(15)所示。5)对于所有类别的ap
class
取平均值获得该iou阈值下的api。6)对于不同的阈值,重复步骤2-5来计算不同阈值下的api,随后对于不同阈值的api取平均值获得最终的ap值,如式(16)所示,其中iou阈值为0.5到0.95间隔为0.05的10个阈值数。
[0126][0127][0128]
通过在不同白细胞目标检测数据集上进行实验验证mfds-detr模型的有效性和泛化性。该实验在三个数据集上进行,分别是:白细胞目标检测数据集(wbcdd),lisc,bccd数据集。将mfds-detr与目标检测领域通用的模型进行对比,例如faster r-cnn,ssd,retinanet,detr等模型。表4展示了mfds-detr模型在白细胞目标检测数据集上的结果,本发明提出的mfds-detr在白细胞目标检测数据集上ap和ap
50
分别达到了79.7%和97.2%,从结果可以看出模型使用了多尺度特征提取和全局特征提取的方法有助于白细胞目标检测的精度。该模型相比于传统的二阶段的目标检测模型(faster r-cnn),ap和ap
50
分别提高了21.5%和23.5%。相比于传统的单阶段多尺度特征提取的目标检测模型(ssd),ap和ap
50
分别提高了15.5%和16.7%。与全局特征提取的目标检测模型(detr),ap和ap
50
分别提高了12.9%和10.8%。为了能够进一步说明模型在哪一方面提高了检测结果,本发明计算了每一类白细胞的ap值来进行验证,从表4中可以看到,在白细胞目标检测数据集,与基线模型(deformable detr)相比,嗜酸性粒细胞和淋巴细胞的ap值提升明显,分别提升了10.5%和6.6%。
[0129]
表4展示了mfds-detr模型在白细胞目标检测数据集上的结果
[0130][0131]
为了进一步验证模型的泛化性,将该模型在lisc和bccd数据集上进行实验。如表5和表6所示,在lisc数据集上,ap和ap
75
是最优的,尽管其ap
50
不如faster r-cnn和基线模型(deformable detr),但是仅仅只差0.1%,并且在除了中性粒细胞之外的其他细胞均达到了最优检测效果,这是由于在lisc数据集中中性粒细胞都是分叶核粒细胞,其在细胞核上与其他种类白细胞有着显著的差距,因此两阶段的目标检测模型能够更精准的定位和分
类。在bccd数据集上,它与其他模型相比在各个指标上均达到了最优效果。
[0132]
表5不同检测模型在lisc数据集上识别效果比较
[0133][0134]
表6不同检测模型在bccd上识别效果比较
[0135][0136][0137]
由于白细胞之间存在尺度差距,因此为了能够更为准确的定位和分类白细胞,本发明设计了hs-fpn来选择性的将高层语义信息和低层特征相融合。为了能够证明设计的hs-fpn能够更为有效的融合多尺度的特征,将其与其他多尺度特征融合方式进行对比(fpn,bifpn,pafpn,fapn)。如表7所示,hs-fpn的ap相对于fpn提高了3.6%,并且ap
50
和ap
75
分别提高了4.1%和4.6%,并且相对于其他先进的fpn模型,其在白细胞检测中效果均为最好,因此证明了hs-fpn通过将高层语义作为权重来筛选低层特征的方式能够定位底层特征中高层语义信息,更为有效的将白细胞图像的高层语义信息与低层特征相融合。图7展示了采用不同fpn的ap曲线,其中图7a是ap指标曲线图,而图7b则是对于iou阈值为0.5时的ap曲线图。
[0138]
表7不同多尺度特征融合方法对比
[0139]
[0140]
并且如表7所示,hs-fpn中采用了转置卷积和双线性插值的上采样组合比仅仅使用双线性插值的上采样方法的效果要好。
[0141]
mfds-detr中编码器是模型学习全局特征的关键,为了验证模型学习全局特征的重要性,本发明通过改变编码器的层数来进行验证,如表8所示,在没有编码器的情况下,ap下降了2.8%,ap
50
和ap
75
分别下降了3.2%和3.0%。在采用一层编码器时,它的效果不但没有增加,反而下降了一点,因此仅仅采用一层编码器是无法准确提取图像的全局特征。随着编码器层数的增加,其ap也在增加。因此通过实验证明全局特征的学习是十分重要的,编码器对于如何理解白细胞和其位置有着关键作用。图8展示了不同编码器层数的ap曲线,其中图8a是ap指标曲线图,图8b则是在iou阈值为0.5时的ap曲线图。
[0142]
表8编码器对于模型的重要性
[0143][0144]
mfds-detr中解码器则是模拟不同检测的特征表示之间关系的组件,为了验证解码器的重要性,本发明通过改变解码器的层数来进行验证。如表9和图9所示,随着编码器层数的递减,其检测效果不断的下降,相比于仅仅采用一层编码器作为模型的预测输出,其ap,ap
50
和ap
75
分别下降了1.6%,2.7%和2.6%。
[0145]
表9解码器对于模型的重要性
[0146][0147]
在mfds-detr中,一共有三种位置编码:空间位置编码,尺度编码,输出位置编码(object queries)。
[0148]
空间位置编码:为了学习图像的全局特征,需要将图像进行序列化操作,因此为了能够表明序列化后的图像在原始图像的位置,需要对每个序列块加入位置编码,不同于detr,该空间位置编码只加在编码器中,因为采用可变形卷积,解码器中的参考点由输出位置来决定,因此键值不需要加入空间位置编码。
[0149]
尺度编码:mfds-detr是针对多尺度的输入,不同尺度的位置编码会一样,从而导致无法区分位置,因此为了能够分辨不同尺度的输入,在空间位置编码的基础上再加入尺度编码。
[0150]
输出位置编码:这是不可或缺的位置编码,它用于输出预测框的位置。
[0151]
空间位置编码通常有两种,可学习的位置编码(learned pe)和固定编码(sin pe),如表10所示,通过实验证明了位置空间编码和尺度编码是必须的,在不使用空间位置编码和尺度编码时,ap分别下降了3.1%,3.4%,并且在编码器中使用固定的位置编码效果
要好于可学习的位置编码。图10展示了使用不同位置编码的ap曲线图。
[0152]
表4位置编码的对于模型的重要性
[0153][0154]
为了验证该模型中联合损失函数不同组成部分的重要性,通过对联合损失函数中不同损失排列组合来进行消融实验。在mfds-detr的联合损失函数中,采用了三种损失,分别是分类损失,回归损失和辅助损失,而回归损失则是由l1边界框损失函数和giou损失函数组成。分类损失函数对于模型的训练至关重要,无法将它去除。因此本发明训练了一个没有边界框距离损失和一个没有giou损失的模型,并且为了进一步验证辅助损失的重要性,还训练了一个没有辅助损失的模型。如图11和表11所示,giou损失比l1损失更重要,在没有l1损失的情况下,其ap下降了1.4%,而在没有giou损失函数时,其ap下降了1.9%。在实验中,与没有辅助损失的模型相对比,其ap下降了4.5%,因此证明了辅助损失函数对于模型的训练起着重要的作用。
[0155]
表11不同损失函数对于模型的重要性
[0156][0157]
为了能够更直观的理解mfds-detr中多头注意力是学习什么子空间的信息,通过可视化该标注框中心点坐标的每个注意力头的可变形自注意力,即可视化该中心点在不同注意力头和不同尺度中学习到的偏移点坐标,其中每个采样点都标记为一个实心圆,其颜色表示其对应的注意力权重,参考点则显示为黑色的十字标记。如图12所示,对于不同的注意力头,它通过学习不同方向的偏移量,最终获得该参考点不同尺度,不同方向的所有采样点。
[0158]
本发明将模型中编码器和解码器最后一层的采样点和注意力权重可视化,进一步理解mfds-detr的注意力模块学习到什么信息。如图13和图14所示,采样点和注意力权重表示方式与图12相同,预测框边界则根据不同细胞有不同颜色的边界框,并且其类别和置信度分数在其上方表示。该注意力模块通过调整细胞对不同采样点分配不同的权重,来学习不同细胞的特征,并且从编码器和解码器的注意力可以看到,越靠近目标检测点的采样点,其关注度越高。
[0159]
为了能够更清晰的展示模型预测的效果,图15展示了模型在wbcdd数据集上的预测类别与位置和原图像目标框与类别,其中黑色的框表示的是ground truth,其他不同颜色的框则为mfds-detr预测的结果和置信度,其中绿色表示淋巴细胞,橘色表示中性粒细
胞,紫色表示嗜酸性粒细胞,蓝色表示嗜碱性粒细胞,橙色表示单核细胞。从图中可以看到其对于五种白细胞图像均能够获得较高的预测置信度和较准的预测位置。
[0160]
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

技术特征:
1.一种基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,包括如下步骤:s1、获取白细胞目标检测数据集并预处理;s2、构建mfds-detr模型并训练,所述mfds-detr模型包括骨干网络、高层筛选特征融合金字塔、可形变自注意力模块、编码器和解码器,所述骨干网络采用残差连接方式的resnet-50,并在所述resnet-50上增加卷积块,该卷积块包括2个1*1卷积和1个3*3卷积,所述高层筛选特征融合金字塔包括特征选择模块和特征融合模块,所述可形变自注意力模块包括偏移模块和注意力模块;s3、使用训练好后的mfds-detr模型,在骨干网络中,将预处理后的数据集作为输入,通过骨干网络提取特征得到特征图,先使用1*1卷积减少通道数,随后使用3*3卷积来降低特征图尺寸,最后使用1*1卷积来扩充通道数,进而输出不同尺度的特征图;s4、在高层筛选特征融合金字塔中,通过特征选择模块对不同尺度的特征图进行特征选择得到高层特征和低层特征,随后采用特征融合模块将高层信息和低层信息进行多尺度融合得到多尺度融合特征向量;s5、在可形变自注意力模块中,通过偏移模块得到不同尺度的偏移输出向量,最后将不同尺度的偏移输出向量通过注意力模块进行加权从而获得最终的输出向量;s6、将步骤s5输出的最终的输出向量作为输入,通过编码器提取全局特征;s7、将提取的全局特征作为输入,通过解码器得到最终目标检测结果。2.根据权利要求1所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述步骤s1中数据预处理的方法为:对白细胞目标检测数据集中的图像数据的白细胞通过labelme标注为(x1,y1),(x2,y2),其中x1,y1表示的左上角的坐标,x2,y2表示的右下角的坐标,进而将标注格式转换为(x1,y1)和标注框的宽和高,并且将所有图像的标注文件分别进行整合,整合为coco格式的标注数据;在获得coco格式的训练数据之后,需要对输入图像进行数据增广,通过对训练数据集进行数据增广,使用随机裁剪,中心裁剪,加入椒盐噪声和高斯噪声等操作来进行数据增强。3.根据权利要求1所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述特征选择模块包括通道注意力模块和维度匹配模块,所述通道注意力模块包括全局平均池化和全局最大池化,所述维度匹配模块包括1*1卷积;通过所述特征选择模块进行特征选择的方法为:首先经过全局平均池化和全局最大池化,然后将计算的特征进行相加,随后通过激活函数sigmoid来计算每个通道的权重值,最后输出每个通道的权重f
ca
∈r
c
×1×1,随后将获得的权重信息与自身尺度的特征图相乘,获得筛选后的特征图;在维度匹配模块中采用1*1卷积将每个尺度的特征图的通道数缩小至256。4.根据权利要求2所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述特征融合模块采用转置卷积、双线性插值组合和ca模块;通过特征融合模块得到多尺度融合特征向量的方法为:给定一个输入高层特征f
high

r
c
×
h
×
w
,输入低层特征首先高层特征通过步长为2,卷积核为3*3的转置卷积扩展特征尺寸随后为了统一高层特征和低层特征的尺寸,使用双线性插值对高层特征进行下采样或上采样,得到其中,c表示特征图的通道数,h表示特征图高度,w表示特征图宽度;获取到尺寸一致的特征之后,使用ca模块将高层特征转换为相对应的注意力权重用来筛选低层特征,最后将筛选后的低层特征与高层特征相融合得到多尺度融合特征向量,表达式如下:f
att
=bl(t-conv(f
high
))f
out
=f
low
*ca(f
att
)+f
att
。5.根据权利要求4所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述步骤s5中得到通不同尺度的偏移输出向量的方法为:在多尺度融合特征向量输入到偏移模块之前,首先需要将多尺度融合特征向量转换为特征图,随后根据参考点坐标获得输入的查询向量;对于查询向量使用线性变换,获得该查询向量的偏移量δp
q
,随后根据每个参考点的偏移量找到该参考点所关注的点,即采样点,并采用双线性插值的方式获得该点的输出offset
value
,每个所述查询向量,有h个关注头,而对于每个关注头则有k个偏移点。6.根据权利要求5所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述步骤s5中获得最终的输出向量的方法为:首先对于输入的查询向量进行线性变换,随后采用softmax函数获得每个偏移量的权重向量,将每个偏移量输出与对应的权重向量相乘并相加获得采样值sample
value
,随后将该参考点中每个关注头进行拼接获得最后采样的输出向量sample
output
,最后将采样的输出向量进行线性变换获得最终的输出output,表达式如下:weight=softmmax(wq)weight=softmmax(wq)output=w*sample
output
。7.根据权利要求6所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述编码器设置有6层,每层所述编码器由可变形自注意力和ffn网络结构组成,所述编码器提取全局特征的方法为:最终的输出向量中加入空间位置编码和尺度编码作为编码器的输入;通过可变性自注意力初始化参考点获得输出向量;通过残差结构对输出向量归一化,随后通过ffn网络结构进行一学习白细胞特征。8.根据权利要求7所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述解码器包括自注意力特征提取模块和交叉注意力特征提取模块;所述自注意力特征提取模块包括自注意力模块和ffn,其中自注意力模块是通过输入向量之间彼此交互学习(自注意力机制),计算不同对象的权重,从而找到更关注的区域信息,自注意力计算公式如下述所示:
所述交叉注意力特征提取模块的结构上与编码器相同,但是编码器,交叉注意力机制的输入分别来自输出位置编码和编码器最后一层提取的全局特征。9.根据权利要求8所述的基于多尺度融合和可变形自注意力的白细胞检测方法,其特征在于,所述mfds-detr模型的损失函数是由分类损失,回归损失,辅助损失组成的联合损失函数,表达式如下:

技术总结
本发明公开了一种基于多尺度融合和可变形自注意力的白细胞检测方法,包括如下步骤:S1、获取白细胞目标检测数据集并预处理;S2、构建MFDS-DETR模型并训练,S3、通过骨干网络提取特征得到特征图;S4、通过高层筛选特征融合金字塔得到多尺度融合特征向量;S5、通过可形变自注意力模块中获得最终的输出向量;S6、将步骤S5输出的最终的输出向量作为输入,通过编码器提取全局特征;S7、将提取的全局特征作为输入,通过解码器得到最终目标检测结果。本发明将高层语义特征作为权重来筛选低层特征,并将筛选后的特征与高层语义特征逐点相加,提高模型的特征提取和表达能力。采用了可变形自注意力来提取白细胞全局特征,模型训练更加轻便。模型训练更加轻便。模型训练更加轻便。


技术研发人员:陈一飞 陈奔 黄凡丁 黄一语 秦飞巍
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.05.19
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐