一种基于OrientedCascadeMaskRCNN网络的细胞分割方法
未命名
08-12
阅读:104
评论:0
一种基于oriented cascade mask rcnn网络的细胞分割方法
技术领域
1.本发明属于图像分割技术领域,尤其涉及一种基于oriented cascade mask rcnn网络的细胞分割方法。
背景技术:
2.在一张医学图像中将分布较为密集的细胞进行分类标注是一项非常繁琐和重复性的工作,人工完成相关的任务会非常费时费力。随着计算机技术的进步,依靠算法和机器视觉来完成这一任务变得越来越普遍,在早期,这种技术主要依靠一些图像处理算法,如分水岭、阈值分割算法等,这些算法虽然速度上较快,但精度上欠佳,存在着过分割或欠分割的缺点。随着深度学习技术的发展和计算机算力的进步,基于机器学习模型的细胞分割取得了引人注目的效果。它不仅能取得较好的分割效果,具有较高的检出率和分割精度,而且效率也较高。
3.在细胞分割方面,现有的效果比较好的是mask rcnn网络。mask rcnn网络是一个两阶段分割网络,它能同时预测出细胞所属的类别,但仅仅使用mask rcnn会存在精度低和漏检的问题。
技术实现要素:
4.本发明目的在于提供一种基于oriented cascade mask rcnn网络的细胞分割方法,以解决上述的技术问题。
5.为解决上述技术问题,本发明的一种基于oriented cascade mask rcnn网络的细胞分割方法的具体技术方案如下:
6.一种基于oriented cascade mask rcnn网络的细胞分割方法,包括如下步骤:
7.步骤1:数据处理:包括图像归一化、图像去噪、图像切分以及图像增强;
8.步骤2:特征提取:使用resnet-50网络对切分后的图像进行特征提取,使用imagenet数据集对这部分进行预训练;
9.步骤3:rpn感兴趣区域提议:根据resnet-50网络的输出特征输出候选框,然后根据这些候选框与真实锚框之间的iou来将其标记为正或负样本,将候选框再传递给检测头部来完成优化;
10.步骤4:roialign从原始特征图上找到每个roi区域对应的特征向量:rpn输出候选框后,使用roialign模块从特征图上找到对应的特征向量;
11.步骤5:cascade型分类、回归与分割分支分别预测结果:cascade型分类回归与分割分支将来自roialign模块输出的每个感兴趣区域对应的特征向量进行处理,使用级联型的设计思路,每个阶段使用越来越高的iou匹配阈值,分别使用三个内嵌的卷积结构对分类、回归与分割这三个分支进行建模;
12.步骤6:使用nms对预测的倾斜框进行过滤:在使用三个分支输出分类与回归结果后,使用nms算法对结果进行过滤,nms算法之后,得到每个目标的具有最高置信度的预测边
界框,达到有且只有一个边界框来对每个细胞进行标识与定位。
13.进一步地,所述步骤2使用一个倾斜的边界框去定位细胞所在的区域,所述倾斜的边界框就是细胞对应的最小外界矩形,使用cv2.minarearect函数求得该矩形的左上角坐标与右下角坐标。
14.进一步地,所述步骤3使用cascade策略提供的级联的检测头,逐级增加任务的难度进行筛选,来逐渐减少噪声对网络训练的影响,所述cascade策略是根据iou的高低进行正负样本的划分与过滤,用a、b、c来分别表示三个检测头,使用的iou分别用ioua,ioub,iouc表示,则存在着ioua《ioub《iouc的关系,分别将其设置为0.5,0.6,0.7,根据该iou值对每阶段的样本进行正负样本的划分。
15.进一步地,所述方法在训练和预测时都使用了有重叠的滑动窗口方法对图像进行切分,统一使用640*640的分辨率进行预测,在训练时,对图像进行了随机缩放,比例在0.8~1.2之间,概率为0.2。
16.进一步地,所述步骤5包括两阶段实例分割模型,在第一阶段,使用rpn模块生成可能的roi区域,这些roi区域需要根据与真实掩码之间的iou来标定为正例或负例;然后,使用roialign模块,将这些roi区域转换到特征图上,从而从特征图中提取中对应的区域特征,在分类分支中,使用交叉熵cross entropy作为损失函数,其计算公式为
[0017][0018]
其中,当预测的类别与真实类别相同时,yi是1,否则,是0,
[0019]
在回归分支中,使用smoothl1作为损失函数,其计算公式为:
[0020][0021]
在分割分支中,同样使用cross entropy损失函数来计算每个像素点的预测类别与真实像素点的预测类别之间的差别,这里的类别指的是每个像素点是否属于细胞,也就是分割任务相当于一个二分类任务,在所述分类与回归的基础上,得到可能存在细胞的感兴趣区域边界框及它之中可能存在的细胞的类别,然后,取出这一区域中的特征向量,经过分割分支,就从该区域中分割出了细胞所在的具体区域。
[0022]
进一步地,所述步骤5在第二阶段中,使用回归分支得到最终的预测边界框,这些候选框需要进行过滤,即非极大值抑制算法的处理,将一些彼此之间交并比iou较大的候选框过滤掉,具体过程为:
[0023]
s1:对候选边界框集合b根据置信度进行降序排序;
[0024]
s2:从集合b中选择第一个候选框,把它放入最终的边界框集合d中并从集合b中删除;
[0025]
s3:遍历集合b中的每个候选框,计算它们与d集合中这个候选框的iou值,如果iou值大于阈值n,则把它从集合b中删除;
[0026]
s4:重复步骤s2~3直到集合b为空。
[0027]
进一步地,所述方法在训练阶段使用labelme软件对图像中的细胞进行标注,最终得到每个细胞的分割掩码数据,每张图像中的每个细胞使用一个整数唯一标识,然后使用opencv得到每个细胞对应的边界框,这些数据经过过滤和切分后,再对每张小图进行清洗,最终得到细胞分割数据集。
[0028]
进一步地,所述方法使用三次交叉验证方法,将数据集分成三份,每次取其中两份作为训练集,另一份作为验证集,依次训练与验证,并取在验证集上的测试指标的平均值作为最终的测试结果。
[0029]
本发明的一种基于oriented cascade mask rcnn网络的细胞分割方法具有以下优点:
[0030]
(1)本发明时效性高。基于卷积神经网络的细胞分割方法具有较高的效率。
[0031]
(2)本发明抗干扰性能强。在数据处理阶段我们对数据进行了过滤和预处理,在训练过程中我们也使用了较多的数据增强方法,减轻了模型过拟合的风险。而在用模型对测试图像进行预测时,它也可以保证较高的迁移性。
[0032]
(3)本发明性能指标较高。由于采用了oriented和cascade策略对模型进行优化,而且mask rcnn属于两阶段实例分割网络,本身的精度也较高,这使得模型可以对图像进行较好的分割预测。
[0033]
(4)本发明检测检出率较高。同样由于上述原因,oriented cascade mask rcnn网络可以对医学图像进行良好的分析,并能最大限度地对密集分布的细胞进行检测与识别,这些都大大加强了模型的处理效果。
[0034]
(4)本发明可以全自动地完成医学图像的分析与检测,便捷性高,使用方便,依赖于python的可移植性,用户可以在笔记本电脑、台式机、服务器等终端系统上安装运行整个网络。
附图说明
[0035]
图1为本发明的模型训练与检测流程图;
[0036]
图2为cascade原理图;
[0037]
图3为oriented使用的编码方式long edge definition(90)示意图;
[0038]
图4为oriented cascade mask rcnn模型结构图;
[0039]
图5为实验中使用的免疫组化分割数据集示例图;
[0040]
图6为qupath检测结果图;
[0041]
图7为oriented cascade mask rcnn检测结果图;
[0042]
图8为如何对大分辨率图像进行切分与检测结果合并的原理图;
[0043]
图9为检测样本及标签图;
[0044]
图10为mask rcnn检测结果图;
[0045]
图11为cascade mask rcnn检测结果图;
[0046]
图12为oriented mask rcnn检测结果图
[0047]
图13为oriented cascade mask rcnn检测结果图。
具体实施方式
[0048]
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于oriented cascade mask rcnn网络的细胞分割方法做进一步详细的描述。
[0049]
本发明在mask rcnn网络的基础上,结合了oriented rcnn和cascade rcnn网络。如图4所示,我们首先使用了cascade策略,发现模型的精度确实会变高,然而在一些分布密集的区域,有不少细胞会被漏检。通过分析我们发现,这是由于水平框之间的iou会较高,当其高于非极大值抑制算法的iou阈值时,两个距离较近的细胞中的一个就会被过滤掉。所以,在cascade策略的基础上,我们又添加了oriented策略。这可以有效避免上述问题。而且,值得注意的是,由于oriented策略可以将边界框转换为倾斜框,iou计算的方法也要转换为倾斜框,这也为cascade策略提供了更好的计算方式,产生了一加一大于二的效果。
[0050]
如图1所示,本发明的一种基于oriented cascade mask rcnn网络的高分辨率医学图像细胞分割方法,包括如下步骤:
[0051]
步骤1:数据处理;
[0052]
数据处理主要包括图像归一化、图像去噪、图像切分以及图像增强等,由于细胞分割数据集较小,为了增强后续模型的训练效果,这些处理是非常重要的。而且一般医学图像分辨率较高,试想将1024*1024分辨率的医学图像传给后续网络进行处理,由于模型规模较大,参数量较高,计算复杂度也很高,会出现内存溢出的问题,就算使用多卡进行训练和预测,这个过程消耗的时间也会很长。
[0053]
步骤2:特征提取;
[0054]
特征提取主要使用resnet-50网络对切分后的图像进行特征提取,我们首先使用了imagenet数据集对这部分进行预训练。
[0055]
步骤3:rpn感兴趣区域提议;
[0056]
rpn感兴趣区域提议主要根据resnet-50网络的输出特征输出候选框,然后我们可以根据这些候选框与真实锚框之间的iou来将其标记为正或负样本。由于这些候选框还较为粗糙,也没法完成分割操作,我们需要将其再传递给检测头部来完成优化。
[0057]
步骤4:roialign从原始特征图上找到每个roi区域对应的特征向量;
[0058]
rpn输出候选框后,我们需要使用roialign模块从特征图上找到对应的特征向量。与roipooling模块不同,roialign模块可以避免在计算过程中因为量化过程中存在的误差而导致的精度损失问题。
[0059]
步骤5:cascade型分类、回归与分割分支分别预测结果;
[0060]
cascade型分类、回归与分割分支可以将来自roialign模块输出的每个感兴趣区域对应的特征向量进行处理。为了提高模型的精度,我们使用了级联型的设计思路,每个阶段使用越来越高的iou匹配阈值,这样可以依次提高每阶段的训练样本质量,模型最后的输出质量就会变高。我们分别使用了三个内嵌的卷积结构对分类、回归与分割这三个分支进行建模。
[0061]
步骤6:使用nms对预测的倾斜框进行过滤;
[0062]
在使用三个分支输出分类与回归结果后,我们需要使用nms算法对结果进行过滤。nms算法之后,我们可以得到每个目标的具有最高置信度的预测边界框,并且尽可能有且只有一个边界框来对每个细胞进行标识与定位。
[0063]
经过以上步骤后,我们就可以得到一张医学图像中有关细胞的分割掩码了。
[0064]
与之前的细胞分割方法不同的是,oriented cascade mask rcnn的优势在于,它可以同时保证较高的检出率和分割的精准度。
[0065]
(1)分割的精准度:与自然场景下的目标检测与分割不同,细胞分割存在的一个难点就是细胞分布较为密集,而且其分布是存在一定方向性的。注意到细胞一般呈椭圆形,而如果我们使用一个水平框去包含一个倾斜的椭圆形,这个边界框中的背景区域占比将较大,那么经过roialign之后在每个区域中提取到的特征也会包含大量的无关特征,这些特征对细胞分割会造成一定的干扰。相对应的,如果我们使用一个倾斜的边界框去定位这个细胞所在的区域,那么其中细胞区域的占比就会变大很多,提取到的特征中也就不会有那么多的噪声了。这个倾斜的边界框其实就是细胞对应的最小外界矩形,可以使用cv2.minarearect函数求得该矩形的左上角坐标与右下角坐标。在此基础上,cascade策略则为我们提供了级联的检测头,如图2所示,它可以通过逐步优化检测结果,来获得更加优秀的效果。这可以逐级增加任务的难度进行筛选,来逐渐减少噪声对网络训练的影响。由于cascade策略是根据iou的高低进行正负样本的划分与过滤,假设三个头分别用a、b、c来表示,使用的iou分别用ioua,ioub,iouc表示,则存在着ioua《ioub《iouc的关系,我们分别将其设置为0.5,0.6,0.7,根据该iou值就可以对每阶段的样本进行正负样本的划分了。值得注意的是因为我们已经使用了倾斜框代替了水平框,所以这里计算的时候也是使用的倾斜框的iou计算方式,这样能更进一步提升模型的检测精度。通过上述分析,我们可以预料到oriented cascade mask rcnn可以得到比oriented mask rcnn和cascade mask rcnn都要好的效果。
[0066]
(2)较高的检出率:在分割的精准度中我们提到过,oriented策略可以减少感兴趣区域中无关部分的面积,如图3所示为oriented使用的编码方式long edge definition(90),在细胞分割任务中,由于细胞分布较为密集,使用普通的水平框时,相邻边界框之间的iou会比较大,如果大于设置的iou阈值,则其中的一个将会被错误过滤掉,也就是说经过非极大值抑制过程,原本表示某个细胞的边界框被错误抑制掉了。而通过倾斜框的策略,两个相邻目标对应的边界框之间的iou将变小,所以其中之一被错误消除掉的概率就变低了,也就提高了模型的检出率。与此同时,在(1)中提到过模型的检测精准度变高了,那么模型预测出的结果的置信度也会变高,那么在最后根据置信度对结果进行过滤(一般取置信度高于0.5)时,被错误消除掉的预测框也会变少,这也提高了模型的检出率。
[0067]
数据处理部分包含了样本去噪、正负样本匹配等处理,由于医学图像细胞分割数据集一般较小,为了改善后续模型的性能,我们需要对数据进行筛选和增强;模型中的骨干部分采用了resnet-50模块,它是一个深度神经网络,核心思想是通过残差块来解决梯度消失和梯度爆炸等问题,从而可以有效地训练更深的卷积神经网络,在多种任务上都有着不错的效果;模型中的rpn模块作为第一阶段的检测器,首先我们会使用聚类等方法给出一些可能的感兴趣区域roi(region of interest),并根据它们与真实锚框之间的iou来标记为正例或负例,这些样本被用来训练rpn网络;模型的最后一部分则分别使用分类、回归和分割三个分支来完成对应的任务,这种多任务的训练模式可以融合来自多个任务的信息,对每个子任务都起到了监督和减轻过拟合的作用。
[0068]
oriented cascade mask rcnn模型可以实现端到端的训练、可以检测出任意大小
的医学图像中的细胞,且有着较高的准确率和检出率。由于医学图像一般有着较高的分辨率,比如1024*1024甚至更大,对于一般的设备而言,无法直接对这么大的图像进行细胞检测与分割,为此,我们在训练和预测时都使用了有重叠的滑动窗口方法对图像进行切分,统一使用640*640的分辨率进行预测,而在训练时,为了增强训练的效果,我们对图像进行了随机缩放,比例在0.8~1.2之间,概率为0.2,这样既能起到数据增强,减少过拟合的效果,又能用统一的尺寸进行预测,减少了后续处理的复杂度。
[0069]
作为两阶段实例分割模型,在第一阶段,我们会使用rpn模块生成可能的roi区域,这些roi区域需要根据与真实掩码之间的iou来标定为正例或负例。然后,我们会使用roialign模块,将这些roi区域转换到特征图上,从而从特征图中提取中对应的区域特征。与roipooling相比,它可以很好地解决两次量化造成的区域不匹配问题。因为roipooling的作用是根据候选框的位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便进行后续的分类、回归和分割,由于这些操作中一般是浮点数,要转换为尺寸值,需要进行一些量化操作,这会造成最终得到的候选框与最开始回归出来的位置有一定的偏差,这个偏差会影响检测或分割的准确度。针对该问题,roialign给了一个很好的解决思路。它取消了量化操作,使用双线性内插的方法获得坐标为浮点数的像素点上的图像树值,从而将整个特征聚集过程转换为一个连续的操作。在细胞分割任务上,由于细胞一般体积较小,所占的像素点也较少,这种区域不匹配带来的误差对检测的影响是较大的,而roialign的提出可以较好地解决该问题。
[0070]
在分类分支中,我们使用交叉熵cross entropy作为损失函数,其计算公式为
[0071][0072]
其中,当预测的类别与真实类别相同时,yi是1,否则,是0。交叉熵损失函数可以加速训练时模型的收敛,加速参数的更新,可以避免均方误差损失函数学习速率下降的问题,因为如果采用了sigmoid损失函数,存在着梯度消失的问题。
[0073]
在回归分支中,我们使用smoothl1作为损失函数,其计算公式为
[0074][0075]
与l1loss和l2loss相比,smoothl1loss对异常点更加鲁棒,尤其在细胞分割任务上,由于我们需要对大图像进行裁剪,这样在边缘部分会存在较多的细胞碎片,使用smoothl1loss可以使损失更加平滑,有助于模型的收敛。
[0076]
l1loss计算公式为
[0077][0078]
l2loss计算公式为
[0079][0080]
在分割分支中,我们同样使用了cross entropy损失函数来计算每个像素点的预测类别与真实像素点的预测类别之间的差别,需要注意的是,这里的类别指的是每个像素点是否属于细胞,也就是分割任务相当于一个二分类任务。在上述分类与回归的基础上,我们得到了可能存在细胞的感兴趣区域边界框及它之中可能存在的细胞的类别,然后,我们取出这一区域中的特征向量,经过分割分支,就从该区域中分割出了细胞所在的具体区域。分割分支最终给我们提供了细胞的具体掩码,有着更加精确的分割结果。
[0081]
为了提高模型的检测效果,我们使用了多阶段级联的分类分支与回归分支。mask rcnn是一种两阶段分割方法,在第一阶段我们得到了一些候选框,并使用roialign模块从特征图上取出了相应区域中的特征向量,这些特征向量继而经过分类与回归分支,作了二次优化,所以mask rcnn的效果是优于一阶段的分割方法如yolo模型的。在第二阶段中,我们使用回归分支得到了最终的预测边界框,这些候选框需要进行过滤,即非极大值抑制算法的处理,将一些彼此之间交并比iou较大的候选框过滤掉,具体过程为:
[0082]
(1)对候选边界框集合b(每个候选框都有一个置信度,代表了该候选框中存在细胞的可能性,该置信度越高,则表示该候选框越可靠)根据置信度进行降序排序
[0083]
(2)从集合b中选择第一个候选框(置信度最高),把它放入最终的边界框集合d(初始为空集合)中并从集合b中删除
[0084]
(3)遍历集合b中的每个候选框,计算它们与d集合中这个候选框的iou值,如果iou值大于阈值n,则把它从集合b中删除
[0085]
(4)重复步骤2~3直到集合b为空。
[0086]
mask rcnn属于两阶段分割算法,在第一阶段中,我们会根据候选框与真实锚框之间的iou来将其标记为正例或负例,这需要事先指定一个阈值,而这个阈值的确定对模型的效果是存在着较大的影响的。如果阈值较大,则正样本会较少,模型容易过拟合;如果阈值较小,则正样本的精准度又降低,同时模型的训练成本也将加大。为了获得更好的训练效果,cascade rcnn提供了一种思路:采用级联的方式,逐步提高iou阈值,使用质量越来越好的训练集来训练级联的分支,以使模型的最终输出达到满意的效果。
[0087]
为了得到训练模型的数据集,我们需要使用labelme软件对图像中的细胞进行标注,最终可以得到每个细胞的分割掩码数据,每张图像中的每个细胞使用一个整数唯一标识,然后我们可以使用opencv得到每个细胞对应的边界框,这些数据经过一些过滤(如去除面积较小的细胞)和切分后,我们再对每张小图进行清洗(如去除图像边缘处因切分而只剩下极小部分的细胞),最终我们便得到了细胞分割数据集。为了准确地评估模型的性能,我们还需要使用三次交叉验证方法,将数据集分成三份,每次取其中两份作为训练集,另一份作为验证集,依次训练与验证,并取在验证集上的测试指标的平均值作为最终的测试结果。
[0088]
下面使用的实验数据集为私有的免疫组化分割数据集,图5所示为示例图。
[0089]
实施例1:
[0090]
下面以要从一张1024*1024分辨率大小的图片中分割出细胞为例,从下图可以看出,这张图片中包含了大量的细胞,为了尽可能对每个细胞都标记出一个且唯一一个边界
框,使用人工来完成这项工作将花费大量的时间和精力,我们也使用了一个开源软件qupath对这张图片进行分析,结果如图6所示,从结果可以看出,qupath的检测结果并不令人满意。而使用oriented cascade mask rcnn进行检测的结果如图7所示。从下图可以看出,我们的方法可以取得更好的效果。
[0091]
使用oriented cascade mask rcnn来实现这一工作大致需要以下步骤:
[0092]
(1)对图像进行切分,我们使用有重叠的滑动窗口方法完成这一工作,经过切分后,一张1024*1024图像可以被切分为64张256*256的图片。这些图片经过一些过滤和预处理后,就可以使用oriented cascade mask rcnn模型进行处理了。
[0093]
(2)对切分后的每张256*256的小图片,模型会依次进行如下的处理。
[0094]
(3)resnet-50从每张图片中提取出特征;rpn模块根据这些特征给出可能的感兴趣区域,即一些候选框及其所属类别;roialign模块将每个候选框对齐到resnet-50提取的特征图上,这样我们就得到了每张图片上所有感兴趣区域的特征向量;这些特征向量被传递到分类、回归与分割三个分支中,由于cascade的设计方式,每阶段的分类与回归分支可以依次得到越来越好的预测结果,这些结果与真实锚框之间的iou会越来越大;在得到每个细胞所有可能的预测边界框和对应的掩码后,我们还需要使用nms对这些结果进行过滤,这样可以尽量保证每个细胞既能被检测到,同时又能只用一个边界框进行唯一标识,也就是说减少了漏检和过检的风险。
[0095]
(4)在得到每张256*256图片的检测结果后,我们还需要将这些结果进行合并。我们使用如下算法来完成这一工作。
[0096]
(5)首先,在合并过程中可能出现重复检测结果的可能性存在于几张小图的交集处,比如对图8中的小图1我们只需要考虑区域a和b即可,我们取出小图1中所有在区域a中的预测锚框和小图2中所有在区域a中的预测锚框,并将它们的坐标分别标定到原本的1024*1024大图上,再对这些集合进行nms过滤。对区域b,我们同样需要进行上述操作。我们按照从上到下,从左到右的顺序依次遍历每张小图,对每张图及其右上、左下和右下(如果存在的话)的小图的交集区域中的预测框进行nms过滤。经过上述操作后,我们就可以得到1024*1024图像中几乎所有细胞的分割掩码及其边界框了。
[0097]
实施例2:
[0098]
对于oriented策略和cascade策略,我们进行过相关的消融实验。我们使用的数据集是自己打标的免疫组化图像数据集。它包含了60张1536*1536分辨率的图像,其中一共有41003个阳性细胞和95422个阴性细胞。每张图片都对应了一个txt文件,每行的格式是类别及其边界框左上角和右下角坐标,值得注意的是在进行切分时,我们需要将这些坐标重新标定到每张小图上。
[0099]
图9为检测样本及标签图,经过实验我们可以得到如下表所示的对比结果。从中可以看出相比于mask rcnn、oriented mask rcnn和cascade mask rcnn,oriented cascade mask rcnn能取得更好的效果。图10-13分别为这四个模型的检测结果图。
[0100][0101]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。
技术特征:
1.一种基于oriented cascade mask rcnn网络的细胞分割方法,其特征在于,包括如下步骤:步骤1:数据处理:包括图像归一化、图像去噪、图像切分以及图像增强;步骤2:特征提取:使用resnet-50网络对切分后的图像进行特征提取,使用imagenet数据集对这部分进行预训练;步骤3:rpn感兴趣区域提议:根据resnet-50网络的输出特征输出候选框,然后根据这些候选框与真实锚框之间的iou来将其标记为正或负样本,将候选框再传递给检测头部来完成优化;步骤4:roialign从原始特征图上找到每个roi区域对应的特征向量:rpn输出候选框后,使用roialign模块从特征图上找到对应的特征向量;步骤5:cascade型分类、回归与分割分支分别预测结果:cascade型分类回归与分割分支将来自roialign模块输出的每个感兴趣区域对应的特征向量进行处理,使用级联型的设计思路,每个阶段使用越来越高的iou匹配阈值,分别使用三个内嵌的卷积结构对分类、回归与分割这三个分支进行建模;步骤6:使用nms对预测的倾斜框进行过滤:在使用三个分支输出分类与回归结果后,使用nms算法对结果进行过滤,nms算法之后,得到每个目标的具有最高置信度的预测边界框,达到有且只有一个边界框来对每个细胞进行标识与定位。2.根据权利要求1所述的细胞分割方法,其特征在于,所述步骤2使用一个倾斜的边界框去定位细胞所在的区域,所述倾斜的边界框就是细胞对应的最小外界矩形,使用cv2.minarearect函数求得该矩形的左上角坐标与右下角坐标。3.根据权利要求1所述的细胞分割方法,其特征在于,所述步骤3使用cascade策略提供的级联的检测头,逐级增加任务的难度进行筛选,来逐渐减少噪声对网络训练的影响,所述cascade策略是根据iou的高低进行正负样本的划分与过滤,用a、b、c来分别表示三个检测头,使用的iou分别用表示,则存在着的关系,分别将其设置为0.5,0.6,0.7,根据该iou值对每阶段的样本进行正负样本的划分。4.根据权利要求1所述的细胞分割方法,其特征在于,所述方法在训练和预测时都使用了有重叠的滑动窗口方法对图像进行切分,统一使用640*640的分辨率进行预测,在训练时,对图像进行了随机缩放,比例在0.8~1.2之间,概率为0.2。5.根据权利要求1所述的细胞分割方法,其特征在于,所述步骤5包括两阶段实例分割模型,在第一阶段,使用rpn模块生成可能的roi区域,这些roi区域需要根据与真实掩码之间的iou来标定为正例或负例;然后,使用roialign模块,将这些roi区域转换到特征图上,从而从特征图中提取中对应的区域特征,在分类分支中,使用交叉熵cross entropy作为损失函数,其计算公式为,其中,当预测的类别与真实类别相同时,是1,否则,是0,在回归分支中,使用smoothl1作为损失函数,其计算公式为:
,在分割分支中,同样使用cross entropy损失函数来计算每个像素点的预测类别与真实像素点的预测类别之间的差别,这里的类别指的是每个像素点是否属于细胞,也就是分割任务相当于一个二分类任务,在所述分类与回归的基础上,得到可能存在细胞的感兴趣区域边界框及它之中可能存在的细胞的类别,然后,取出这一区域中的特征向量,经过分割分支,就从该区域中分割出了细胞所在的具体区域。6.根据权利要求1所述的细胞分割方法,其特征在于,所述步骤5在第二阶段中,使用回归分支得到最终的预测边界框,这些候选框需要进行过滤,即非极大值抑制算法的处理,将一些彼此之间交并比iou较大的候选框过滤掉,具体过程为:s1:对候选边界框集合b根据置信度进行降序排序;s2:从集合b中选择第一个候选框,把它放入最终的边界框集合d中并从集合b中删除;s3:遍历集合b中的每个候选框,计算它们与d集合中这个候选框的iou值,如果iou值大于阈值n,则把它从集合b中删除;s4:重复步骤s2~3直到集合b为空。7.根据权利要求1所述的细胞分割方法,其特征在于,所述方法在训练阶段使用labelme软件对图像中的细胞进行标注,最终得到每个细胞的分割掩码数据,每张图像中的每个细胞使用一个整数唯一标识,然后使用opencv得到每个细胞对应的边界框,这些数据经过过滤和切分后,再对每张小图进行清洗,最终得到细胞分割数据集。8.根据权利要求1所述的细胞分割方法,其特征在于,所述方法使用三次交叉验证方法,将数据集分成三份,每次取其中两份作为训练集,另一份作为验证集,依次训练与验证,并取在验证集上的测试指标的平均值作为最终的测试结果。
技术总结
本发明属于图像分割技术领域,公开了一种基于Oriented Cascade Mask RCNN网络的细胞分割方法,本发明基于Mask RCNN框架,结合Cascade RCNN和Oriented RCNN,提出了Oriented Cascade Mask RCNN,实现医学图像中细胞的精确分割与分类。其中,Cascade RCNN可以通过级联的分类与回归分支来达到更精准的分割效果,而Oriented RCNN则将Oriented Anchors引入到RCNN模型中,减少了边界框中的无效区域,从而减少无用特征对分割结果的影响。将这两部分结合,取得了更精确且检出率也更高的检测效果。更高的检测效果。更高的检测效果。
技术研发人员:张兵 孟濬 许力
受保护的技术使用者:浙江大学
技术研发日:2023.04.11
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
