首页> 中国专利> 一种自底向上的寄生虫虫种发育阶段及图像像素分类方法

一种自底向上的寄生虫虫种发育阶段及图像像素分类方法

摘要

本发明提供一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,利用显微镜或者玻片自动扫描设备将玻片进行数字化,构建基于Transformer的深度学习算法逐视野进行寄生虫检测,采用focal_loss函数、CB_focal_loss函数和Jaccard函数抑制长尾分布。本发明方法简单,仅用薄血膜即可进行寄生虫鉴定,还可降低检测的时间和人工成本,提高局部区域的寄生虫检测水平,并且可对寄生虫虫种及发育阶段进行鉴定,效率高、速度快、降低人工成本和地区医疗差异。

著录项

  • 公开/公告号CN113256636A

    专利类型发明专利

  • 公开/公告日2021-08-13

    原文格式PDF

  • 申请/专利权人 北京小蝇科技有限责任公司;

    申请/专利号CN202110802685.1

  • 发明设计人 李柏蕤;连荷清;

    申请日2021-07-15

  • 分类号G06T7/00(20170101);G06T7/11(20170101);G06K9/38(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11673 北京巨弘知识产权代理事务所(普通合伙);

  • 代理人赵洋

  • 地址 100085 北京市海淀区信息路12号1幢2层B205室

  • 入库时间 2023-06-19 12:13:22

说明书

技术领域

本发明涉及计算、推算、计数技术领域,具体涉及一种自底向上的寄生虫虫种发育阶段及图像像素分类方法。

背景技术

寄生虫检测是医院、疾控中心等实现公共防控的主要手段,常见的寄生虫包括疟原虫、阿米巴原虫、杜氏利士曼原虫、弓形虫、犬巴贝斯虫、伊氏锥虫、卡氏住白细胞虫等。流式细胞术可筛选并提示可能存在,并不能检测寄生虫。

目前,寄生虫的检测方法主要包括:

(1)镜检:医生利用显微镜观察外周血涂片检查疟原虫是诊断疟疾的常规方法,通常需要在显微镜100x物镜下观察整个血玻片,一般需要查看上千个视野,耗时一天,如果发现疟原虫则为阳性,就可作为确诊的可靠依据。一次阴性结果不能否定诊断,需多次复查;

(2)培养:在一定的营养条件下,培养样本中的微生物,观察繁殖扩增的生长特性来判断是否存在寄生虫;

(3)抗原或抗体检测:通过向样本中注入特定抗体(或抗原),观察是否发生特异性反应,来推定微生物是否存在寄生虫;

(4)基因检测:利用核酸杂交、基因芯片、聚合酶反应等技术,检测寄生虫的核酸序列来判断是否存在寄生虫。

但是,这些检测方法存在一定的局限性,镜检方法,与检测人员的专业水平密切相关,存在效率低、速度慢、工作强度大、人员易疲劳、易漏检等问题;培养方法,一般需要寄生虫在培养基上生长18-24小时,周期较长;抗原或抗体检测,则需要有明确的抗原抗体反应,或者需要枚举所有方式;基因检测方法,成本较高,难以在一些条件较差的地区(如非洲、偏远山区)得到普及。

目前也有采用数学模型进行寄生虫检测的先例,但是现有的寄生虫检测模型在建立时,采用的传统的损失函数:

由于寄生虫分布的长尾现象,该损失函数并不能将尾部类别的样本同头部类被的样本对于整个模型的更新拥有的贡献权重进行区分,且简单样本和困难样本对损失函数拥有相同的贡献度,因此无法克服寄生虫检测分类中最大问题即的长尾问题,即其易对寄生虫漏检,检测效果不佳,不具实用性。

发明内容

本发明是为了解决血液寄生虫的检测和分类问题,提供一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,利用显微镜或者玻片自动扫描设备将玻片进行数字化,构建基于Transformer的深度学习算法逐视野进行寄生虫检测,采用focal_loss函数、CB_focal_loss函数和Jaccard函数抑制长尾分布,方法简单,仅用薄血膜即可进行寄生虫鉴定,还可降低检测的时间和人工成本,提高局部区域的寄生虫检测水平,并且可对寄生虫虫种及发育阶段进行鉴定,效率高、速度快、降低人工成本和地区医疗差异。

本发明提供一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,包括如下步骤:

S1、训练集和测试集准备:在显微成像设备下对标注用血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到标注用图像集,在标注用图像集中的单个图像上标注出寄生虫位置、类别、发育阶段和像素点类别,生成标注数据,将标注数据分为训练集和测试集;

S2、基于Transformer的血液寄生虫分类检测分割模型构建:构建基于Transformer的血液寄生虫分类检测分割模型,采用特定损失函数优化模型以抑制长尾分布,使用训练集和测试集进行模型训练,得到血液寄生虫分类检测分割模型;

S3、全片采集及拼接:在显微成像设备下对待检测血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到待检测图像集;

S4、检测:将待检测图像集输入血液寄生虫分类检测分割模型中,进行血液寄生虫虫种及发育阶段的检测和分类,得到检测结果并输出,检测完成。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S2包括:

S21、构建模型:构建基于Transformer的血液寄生虫分类检测分割模型的拓扑结构,血液寄生虫分类检测分割模型用于检测单个图像中的寄生虫位置、类别、发育阶段和像素点类别;

S22、构建优化目标:采用focal_loss函数、CB_focal_loss函数和Jaccard函数优化基于Transformer的血液寄生虫分类检测分割模型,损失函数抑制长尾分布;

S23、模型训练:使用训练集和测试集进行模型训练,得到血液寄生虫分类检测分割模型。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S21中,基于Transformer的血液寄生虫分类检测分割模型包括依次设置的编码器、解码器和多层神经网络映射层;

编码器包括顺序连接的至少两个多头自注意力模块,编码器用于将单个图像分割成k个图像块,通过第一个多头自注意力模块的查询矩阵Qi、值矩阵Vi和关键字矩阵Ki将图像块线性变换得到图像块的特征表达,将特征表达叠加多头自注意力模块的特征后输入下一个多头自注意力模块,直至最后一个多头自注意力模块得到图像块最终特征表达,图像块最终特征表达与位置编码叠加后得到解码器输入特征;

解码器包括顺序连接的至少一个多头自注意力模块,解码器用于将解码器输入特征经至少两个多头自注意力模块解码得到解码后特征向量;

多层神经网络映射层用于将解码后特征向量进行计算得到对应的特征向量并经过线性映射得到检测框坐标(

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,单个图像数据像素为608*608,k为16,图像块像素为38*38;

编码器包括顺序连接的四个多头自注意力模块,解码器包括顺序连接的四个多头自注意力模块,多层神经网络为三层全连接层神经网络。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S21中,构建基于Transformer的血液寄生虫分类检测分割模型的算法还包括以下任意一种或多种:

SSD、FPN、Fast R-CNN 、faster R-CNN、mask R-CNN、efficentNet、YOLO /v2/v3/v4/v5、RetianNet,Deeplabv1/v2v/3和Unet,MaskRcnn等。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S22中,focal_loss函数为:

其中

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,

focal_loss函数用于抑制寄生虫数量稀少,背景类别数量较大的长尾分布,背景类别为血液细胞;

当含有寄生虫的样本被错误识别为背景类别时,调制系数趋于1,含有寄生虫的样本为困难样本,focal_loss函数通过调高困难样本的权重,使得基于Transformer的血液寄生虫分类检测分割模型在训练时更专注于困难样本。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S22中,CB_focal函数为:

其中,

CB_focal函数用于使用有效的样本量进行逆向加权缓解寄生虫分类问题中的长尾问题。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S22中,Jaccard损失函数为:

其中,

Jaccard损失函数用于缓解正样本所占像素点个数稀少、负样本所占像素点数量较大的样本不均衡。

本发明所述的一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,作为优选方式,步骤S4中,寄生虫为疟原虫时,融合所述图片集中每一个图像确定的寄生虫类别来确定疟原虫发育阶段并最终确定虫种类别。

本发明的具体方法为:首先,输入608*608的图像,将其按照38*38的像素大小等分成16份。将该16个图像块作为需要计算注意力系数的图像块,送入编码器的‘多头自注意力(M-SELF-ATTENTION)’模块,分别计算该图像块同其他图像块之间的相关度。其中对于每个图像块,都有查询矩阵Qi,值矩阵Vi,关键字矩阵Ki。‘多头自注意力’模块运算规则如下:

1)对于当前图像块,设置其查询矩阵Qi,并将38*38图像块向量化后作为值矩阵Vi,将Qi和Vi进行矩阵运算,得到线性变换后的查询矩阵Qi*。

2)对于其他的图像块,分别设置关键字矩阵Ki,利用当前值矩阵Vi,将Ki和Vi进行矩阵运算,得到线性变换后的关键字矩阵Ki*。

3)基于(1)所计算得到的Qi*,基于(2)所计算的16个矩阵组合维一个大矩阵K*,将Q*和K*进行矩阵相乘运算即得到相关度矩阵W,对W进行归一化操作得到该图像块同其他图像块之间的相关度(0-1)。

4)将该相关度矩阵同其他图像块的值矩阵Vi做矩阵乘法,得到基于不同图像块的加权特征。将该特征经过全连接层进行映射,得到最终的该图像块的特征表达。其中全连接层用来控制最终表述的特征维度。

5)将最后得到的特征同输入‘多头自注意力’的特征(或图像)进行‘叠加’操作,得到新特征,作为下一级‘多头自注意力’的输入。将上述新特征送入第二级‘多头自注意力’模块。

重复上述操作,在编码器内得到最终的特征。整个编码流程共进行了四级‘多头自注意力’计算。然后进行解码,将编码器得到的特征的位置信息进行编码。将该位置编码同编码器得到的特征进行‘叠加’操作,得到最终解码器的输入特征。将该特征送入解码器,该解码器共包含四级‘多头注意力’操作,同编码器‘多头注意力’操作计算流程相似,最终解码器输出解码后的特征向量。将该特征向量分别送入检测框,类别,mask所对应的三层全连接层,得到不同任务独有的特征向量,将该特征向量分别进行线性映射,得到检测框坐标,每一个检测框的类别信息,每一个像素点的类别信息。依据检测头的检测结果,对于检测框内的像素点,统计类别信息,得到检测框内占比最多的像素类别所占百分比,作为该检测框的内细胞类别信息的像素点层面的置信度,将该置信度和分类头得到的类别置信度进行加权融合,得到最终的类别概率,选出概率最大的类别作为最终的输出类别。

其中

由于寄生虫在血液中相对于血细胞数量数目较少,且在寄生虫内不同类别的细胞所采集到的样本数量不一,整个模型面临长尾分布的偏移影响,即分类模型在进行类别识别时会倾向于数量较多的头部类别,造成识别错误。因此我们分别应用了focal_loss和CB_focal_loss。

4.1检测头focal_loss

在检测时,由于寄生虫数量较少,且检测的背景类别为大量的血液细胞,寄生虫类别为尾部类别,寄生虫有被识别为背景类别的倾向。此时1、当一个样本被分错的时候,pt很小,此时调制系数就趋于1,即该样本为困难样本,且其对于整个损失的贡献度为100%。当pt趋于1的时候,此时分类正确而且是简单样本,调制系数趋于0,此时,该样本对于总的loss的贡献很小,所以该损失函数可以有效的缓解长尾分布所带来的检测问题。

4.2分类头CB_focal

由于在寄虫分数据采集过程中,不同类别的寄生虫数量不同,导致模型在分类识别面临严峻的长尾问题,即分类结果倾向于数量较多的头部寄生虫类别。同检测阶头的损失函数,我们在分类问题上进行了进一步的改进。

我们采用了有效样本理论,即在深度学习模型中,不同类别的样本对于模型优化的贡献程度不同,且对于某个类别,存在一个饱和的数据量,使得在该类别上继续增加数据对模型优化无显著影响,进而可以利用有效样本容量对损失函数进行加权。

假设某类的样本总容量

其中

当n=1时,有效样本的期望为1,假设n=N-1时,上式成立,则有n=N时,有p=En-1/N的概率同前面已经采样得到的样本重合,则此时

由(1),(2),(3)式可知

又因为

所以

但是,因为我们无法知晓某一类别确切的样本总量,所以我们用某一类别采集到的样本数量代替有效的样本总量。所以,此时,我们有加权损失函数

利用有效的样本量进行逆向加权,可以一定程度上缓解分类问题中的长尾问题。

4.3 语义分割头Jaccard损失函数

同理,在像素点分类(语义分割)任务中,同样面临正样本所占像素点个数稀少,负样本所占像素点数量较大,造成较为严重的样本不均衡问题,我们采用Jaccard损失函数来缓解此种问题。

4.4 类别确定

疟原虫的类别由两级组成,一级类别为具体虫种,二级为虫种发育阶段,两级共同构成疟原虫类别。其他寄生虫只有一级类别,且一般来说一张血玻片仅有一个虫种,因此虫种类别鉴定需要结合整张血玻片中每一个寄生虫类别才能确定,显微成像设备下采集的图像组成血玻片图像数据库,对数据库中每一张图像运用步骤3所示算法进行单个寄生虫检测及虫种和发育阶段类别判定,然后全玻片寄生虫虫种类别融合,确定最终虫种类别。

本发明具有以下优点:

(1)本发明提出全片采集,并对物理位置相邻图像进行拼接,避免遗漏,对于寄生虫数量较少的样本非常有意义。

(2)本发明利用transformer技术,将寄生虫检测和分类一体化,无需额外模块进行分割分类,一步到位,且采用类别融合机制,使得最终的识别结果更加精确。

(3)本发明采用focal_loss函数、CB_focal_loss函数和Jaccard函数,有效抑制寄生虫数量、种类的长尾分布,避免漏检,提高检测准确率;

(4)本发明仅用薄血膜即可进行寄生虫鉴定,还可降低检测的时间和人工成本,提高局部区域的寄生虫检测水平,并且可对寄生虫虫种及发育阶段进行鉴定,效率高、速度快、降低人工成本和地区医疗差异。

附图说明

图1为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例1-2流程图;

图2为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例1-2步骤S2流程图;

图3为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例3流程图;

图4为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例3寄生虫检测分类模型架构示意图;

图5为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例3虫种及发育阶段分类算法流程图;

图6为一种自底向上的寄生虫虫种发育阶段及图像像素分类方法实施例3类别融合算法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

实施例1

如图1所示,一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,包括如下步骤:

S1、训练集和测试集准备:在显微成像设备下对标注用血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到标注用图像集,在标注用图像集中的单个图像上标注出寄生虫位置、类别、发育阶段和像素点类别,生成标注数据,将标注数据分为训练集和测试集;

S2、基于Transformer的血液寄生虫分类检测分割模型构建:构建基于Transformer的血液寄生虫分类检测分割模型,采用损失函数优化模型以抑制长尾分布,使用训练集和测试集进行模型训练,得到血液寄生虫分类检测分割模型;

S3、全片采集及拼接:在显微成像设备下对待检测血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到待检测图像集;

S4、检测:将待检测图像集输入血液寄生虫分类检测分割模型中,进行血液寄生虫虫种及发育阶段的检测和分类,得到检测结果并输出,检测完成。

实施例2

如图1所示,一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,包括如下步骤:

S1、训练集和测试集准备:在显微成像设备下对标注用血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到标注用图像集,在标注用图像集中的单个图像上标注出寄生虫位置、类别、发育阶段和像素点类别,生成标注数据,将标注数据分为训练集和测试集;

S2、基于Transformer的血液寄生虫分类检测分割模型构建:构建基于Transformer的血液寄生虫分类检测分割模型,采用损失函数优化模型以抑制长尾分布,使用训练集和测试集进行模型训练,得到血液寄生虫分类检测分割模型;

如图2所示,S21、构建模型:构建基于Transformer的血液寄生虫分类检测分割模型的拓扑结构,血液寄生虫分类检测分割模型用于检测单个图像中的寄生虫位置、类别、发育阶段和像素点类别;

基于Transformer的血液寄生虫分类检测分割模型包括依次设置的编码器、解码器和多层神经网络映射层;

编码器包括顺序连接的至少两个多头自注意力模块,编码器用于将单个图像分割成k个图像块,通过第一个多头自注意力模块的查询矩阵Qi、值矩阵Vi和关键字矩阵Ki将图像块线性变换得到图像块的特征表达,将特征表达叠加多头自注意力模块的特征后输入下一个多头自注意力模块,直至最后一个多头自注意力模块得到图像块最终特征表达,图像块最终特征表达与位置编码叠加后得到解码器输入特征;

解码器包括顺序连接的至少一个多头自注意力模块,解码器用于将解码器输入特征经至少两个多头自注意力模块解码得到解码后特征向量;

多层神经网络映射层用于将解码后特征向量进行计算得到对应的特征向量并经过线性映射得到检测框坐标(

单个图像数据像素为608*608,k为16,图像块像素为38*38;

编码器包括顺序连接的四个多头自注意力模块,解码器包括顺序连接的四个多头自注意力模块,多层神经网络为三层全连接层神经网络;

构建基于Transformer的血液寄生虫分类检测分割模型的算法还包括以下任意一种或多种:

SSD、FPN、Fast R-CNN 、faster R-CNN、mask R-CNN、efficentNet、YOLO /v2/v3/v4/v5、RetianNet,Deeplabv1/v2v/3和Unet,MaskRcnn;

S22、构建优化目标:采用focal_loss函数、CB_focal_loss函数和Jaccard函数优化基于Transformer的血液寄生虫分类检测分割模型,损失函数抑制长尾分布;

focal_loss函数为:

其中

focal_loss函数用于抑制寄生虫数量稀少,背景类别数量较大的长尾分布,背景类别为血液细胞;

当含有寄生虫的样本被错误识别为背景类别时,调制系数趋于1,含有寄生虫的样本为困难样本,focal_loss函数通过调高困难样本的权重,使得基于Transformer的血液寄生虫分类检测分割模型在训练时更专注于困难样本;

CB_focal函数为:

其中,

CB_focal函数用于使用有效的样本量进行逆向加权缓解寄生虫分类问题中的长尾问题;

Jaccard损失函数为:

其中,

Jaccard损失函数用于缓解正样本所占像素点个数稀少、负样本所占像素点数量较大的样本不均衡;

S23、模型训练:使用训练集和测试集进行模型训练,得到血液寄生虫分类检测分割模型;

S3、全片采集及拼接:在显微成像设备下对待检测血玻片逐视野无缝进行拍照采集图像,采取相邻图像拼接的方式将图像边界部分无缝连接,得到待检测图像集;

S4、检测:将待检测图像集输入血液寄生虫分类检测分割模型中,进行血液寄生虫虫种及发育阶段的检测和分类,得到检测结果并输出,寄生虫为疟原虫时,融合所述图片集中每一个图像确定的寄生虫类别来确定疟原虫发育阶段并最终确定虫种类别,检测完成。

实施例3

如图3所示,一种自底向上的寄生虫虫种发育阶段及图像像素分类方法,包括如下步骤:

1、全片采集及拼接

为了避免寄生虫的漏检,本发明首先在显微成像设备下对血玻片下逐视野无缝进行拍照采集,对于图像边界,采取相邻图像拼接的方式将边界部分无缝连接,以避免漏掉任何一个可能的寄生虫。

2、寄生虫数据标注

由专业医生在单个视野图上用特定标注工具标注出寄生虫位置,类别信息及像素点类别信息,标注量达到一定规模后,将标注数据按照一定比例分为训练集和测试集,为构建深度学习网络模型准备数据。

3、基于Transformer的血液寄生虫分类检测分割模型构建

本发明构建了一个自底向上的寄生虫检测分类及像素分类算法。

如图4所示,首先,输入608*608的图像,将其按照38*38的像素大小等分成16份。将该16个图像块作为需要计算注意力系数的图像块,送入编码器的‘多头自注意力(M-SELF-ATTENTION)’模块,分别计算该图像块同其他图像块之间的相关度。其中对于每个图像块,都有查询矩阵Qi,值矩阵Vi,关键字矩阵Ki。‘多头自注意力’模块运算规则如下:

1)对于当前图像块,设置其查询矩阵Qi,并将38*38图像块向量化后作为值矩阵Vi,将Qi和Vi进行矩阵运算,得到线性变换后的查询矩阵Qi*。

2)对于其他的图像块,分别设置关键字矩阵Ki,利用当前值矩阵Vi,将Ki和Vi进行矩阵运算,得到线性变换后的关键字矩阵Ki*。

3)基于(1)所计算得到的Qi*,基于(2)所计算的16个矩阵组合维一个大矩阵K*,将Q*和K*进行矩阵相乘运算即得到相关度矩阵W,对W进行归一化操作得到该图像块同其他图像块之间的相关度(0-1)。

4)将该相关度矩阵同其他图像块的值矩阵Vi做矩阵乘法,得到基于不同图像块的加权特征。将该特征经过全连接层进行映射,得到最终的该图像块的特征表达。其中全连接层用来控制最终表述的特征维度。

5)将最后得到的特征同输入‘多头自注意力’的特征(或图像)进行‘叠加’操作,得到新特征,作为下一级‘多头自注意力’的输入。将上述新特征送入第二级‘多头自注意力’模块。

重复上述操作,在编码器内得到最终的特征。整个编码流程共进行了四级‘多头自注意力’计算。然后进行解码,将编码器得到的特征的位置信息进行编码。将该位置编码同编码器得到的特征进行‘叠加’操作,得到最终解码器的输入特征。将该特征送入解码器,该解码器共包含四级‘多头注意力’操作,同编码器‘多头注意力’操作计算流程相似,最终解码器输出解码后的特征向量。将该特征向量分别送入检测框,类别,mask所对应的三层全连接层,得到不同任务独有的特征向量,将该特征向量分别进行线性映射,得到检测框坐标,每一个检测框的类别信息,每一个像素点的类别信息。依据检测头的检测结果,对于检测框内的像素点,统计类别信息,得到检测框内占比最多的像素类别所占百分比,作为该检测框的内细胞类别信息的像素点层面的置信度,将该置信度和分类头得到的类别置信度进行加权融合,得到最终的类别概率,选出概率最大的类别作为最终的输出类别。

除本发明提出的模型之外,还包括SSD、FPN、Fast R-CNN 、faster R-CNN、mask R-CNN、efficentNet、YOLO /v2/v3/v4/v5、RetianNet,Deeplabv1/v2v/3,Unet,MaskRcnn等算法均可完成。

4、抑制长尾分布

由于寄生虫在血液中相对于血细胞数量数目较少,且在寄生虫内不同类别的细胞所采集到的样本数量不一,整个模型面临长尾分布的偏移影响,即分类模型在进行类别识别时会倾向于数量较多的头部类别,造成识别错误。因此我们分别应用了focal_loss和CB_focal_loss。

4.1检测头focal_loss

1)focal_loss

其中α∈(0,+∞),pt∈[0,1],γ∈{1,2,3},α(1-pt)为调制系数

在检测时,由于寄生虫数量较少,且检测的背景类别为大量的血液细胞,寄生虫类别为尾部类别,寄生虫有被识别为背景类别的倾向。此时1、当一个样本被分错的时候,pt很小,此时调制系数就趋于1,即该样本为困难样本,且其对于整个损失的贡献度为100%。当pt趋于1的时候,此时分类正确而且是简单样本,调制系数趋于0,此时,该样本对于总的loss的贡献很小,所以该损失函数可以有效的缓解长尾分布所带来的检测问题。

4.2分类头CB_focal

由于在寄虫分数据采集过程中,不同类别的寄生虫数量不同,导致模型在分类识别面临严峻的长尾问题,即分类结果倾向于数量较多的头部寄生虫类别。同检测阶头的损失函数,我们在分类问题上进行了进一步的改进。

我们采用了有效样本理论,即在深度学习模型中,不同类别的样本对于模型优化的贡献程度不同,且对于某个类别,存在一个饱和的数据量,使得在该类别上继续增加数据对模型优化无显著影响,进而可以利用有效样本容量对损失函数进行加权。

假设某类的样本总容量N,我们所收集到的数据均是由该总集中采样得到。我们有

其中En为某一类别有效的样本的期望值,N为该类别总的样本数量。

当n=1时,有效样本的期望为1,假设n=N-1时,上式成立,则有n=N时,有p=En-1/N的概率同前面已经采样得到的样本重合,则此时

由(1),(2),(3)式可知

又因为

所以

但是,因为我们无法知晓某一类别确切的样本总量,所以我们用某一类别采集到的样本数量代替有效的样本总量。所以,此时,我们有加权损失函数

利用有效的样本量进行逆向加权,可以一定程度上缓解分类问题中的长尾问题。

4.3 语义分割头Jaccard损失函数

同理,在像素点分类(语义分割)任务中,同样面临正样本所占像素点个数稀少,负样本所占像素点数量较大,造成较为严重的样本不均衡问题,我们采用Jaccard损失函数来缓解此种问题。

4.4 类别确定

疟原虫的类别由两级组成,一级类别为具体虫种,二级为虫种发育阶段,两级共同构成疟原虫类别。其他寄生虫只有一级类别,且一般来说一张血玻片仅有一个虫种,因此虫种类别鉴定需要结合整张血玻片中每一个寄生虫类别才能确定,如图5-6所示,显微成像设备下采集的图像组成血玻片图像数据库,对数据库中每一张图像运用步骤3所示算法进行单个寄生虫检测及虫种和发育阶段类别判定,然后全玻片寄生虫虫种类别融合,确定最终虫种类别。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号