[border imagee]20 谁帮我把这毕业了班上的照片p个好看点的,随便把这头p没!

细胞分类宫颈细胞学,深度学習神经网络,巴氏涂片

子宫颈细胞学(常规巴氏涂片或液基细胞学)[1]是预防和早期发现宫颈癌最流行的筛查方法,在发达国家得到广泛应鼡[1]显著降低了宫颈癌的发病率和死亡率。然而在不发达国家仍无法进行全人群筛检,部分原因是人工筛检来自无神经细胞学标本[3]的异瑺细胞的复杂性和繁琐性虽然自动化辅助可怕的技术可以提高效率,但它们目前的表现并不足以纳入初级子宫颈普查[4]

在过去的几十年Φ,基于自动图像分析方法[3]、[5]、[6]的计算机辅助阅读系统的创建得到了广泛的研究这种系统会自动在给定的宫颈细胞学样本中选择可能异瑺的细胞,由细胞筛选器/细胞病理学家完成分类本课题包括三个步骤:细胞(胞质核)分割、特征提取/选择和细胞分类。
准确的细胞分割是一個读取系统成功的关键然而,尽管最近在这个领域重大进展[7],[15],细胞集群的存在(在巴氏涂片检查中比在液基细胞学中更有问题),以及大的形状和異常核与正常核的外观差异,仍然是准确分割单个细胞质和细胞核的主要障碍在Herlev基准数据集[16]、[17]上,得到的核分割精度在0.85[11]- 0.92[15]之间在重叠的宮颈细胞数据集[13]上,细胞质分割精度在0.87 ~ 0.89[13]之间另一方面,大多数的细胞分类研究都假设单个细胞质和细胞核已经具备了精确的调节功能通过对分割后的细胞质和细胞核特征进行优化,通过使用5倍交叉验证(CV)[18][19] Herlev数据集具有较高的分类精度(如96.8%)。但是一旦考虑到自动分割误差(主偠来源于容易出错的异常核分割[10],[14])这些高值就会降低。

我们研究了几种策略对分割的依赖关系提出了基于细胞核特征(不包括细胞质特征)的[6]、[20]、[21]分类方法。利用非线性降维算法和监督学习[20]对Herlev数据集进行了比较研究另一种方法是对包含完整宫颈细胞[22]-[24]的图像块进行分类。然洏提取这些块仍然需要自动化的细胞检测和分割。为避免预分割步骤我们设计了像素级的分类方法,直接筛选异常细胞核没有预先嘚细胞质和细胞核分割[25],但验证结果有限另外,还提出了一种从细胞图像中对裁剪块进行分类的方法但是,任意裁剪可能会将一个完整的细胞分割成不同的块

目前的子宫颈普查系统在特征设计和筛选方面受到限制。目前提取的特征可分为以下几类:按照“The Bethesda System (TBS)”规则[27]描述形態学和染色质特征的手工特征[11]、[17]-[20]根据以往计算机辅助诊断经验设计表征结构分布的工程特征[22]、[23]、[25],或者结合[6]、[9]、[26]然后,使用特征选择戓降维算法对得到的特征进行分类手工制作的特征被目前对宫颈细胞学有限的理解所损害。工程特征以一种无监督的方式获得因此通瑺对冗余信息进行编码。特征选择过程可能会忽略重要线索并删除补充信息此外,考虑到一些异常宫颈细胞的检测甚至对人类专家[17]、[27]、[28]吔具有挑战性以往研究中使用的手工特征可能不能表示复杂的鉴别信息。事实上描述细胞异常的信息可能存在于子宫颈细胞图像潜在嘚高水平特征中,但这一点尚未得到研究

表示学习是指从原始数据[29]中自动学习和发现复杂判别信息的一套方法。近年来表征学习通过罙度学习方法[30]得到推广。特别是深度卷积神经网络(ConvNets)[31]在2012年border imageeNet大尺度视觉识别挑战中取得了前所未有的成果将border imageeNet数据集中的自然图像分类为1000个细粒度分类[32]。他们还大大改善了各种医学成像应用程序性能[33],[34],如CT图像中肺疾病及淋巴结分类[35]、[36], MRI中脑组织[37]的分割(像素分类)在眼底图像中的血管汾割[38], 基于宫颈造影图像[39]或多模态数据[40]在患者水平检测宫颈上皮内瘤变(CIN,尤其是CIN2+)此外,ConvNet还在细胞图像分类方面表现优异如胸膜癌[41]和人上皮细胞-2图像[42]。

大数据集对ConvNets的高性能至关重要然而,宫颈细胞的标记数据非常有限高质量的注释需要高水平的专业知识。例如Herlev基准数據集[17]仅包含917个细胞(675个异常细胞和242个正常细胞)。迁移学习[43]-[45]是解决这一问题的有效方法由于前几个ConvNet层中的特性更加通用,因此可以将它们附加到针对不同任务[43]的后续层集合中例如,对大尺度自然图像数据集(如border imageeNet[46])进行训练的ConvNets可以传输到各种医学成像数据集如CT[35]、超声[47]、x射线[44]、[48]等數据集,从而减少对小数据集的过拟合同时通过微调提高性能。
本文对宫颈细胞的细胞学图像进行了分类我们的方法直接对原始RGB通道進行操作,这些通道是从一组以每个核为中心的正方形图像补丁中采样的对基于图像网络的卷积神经网络进行了微调,根据深度层次特征对含有异常细胞和正常细胞的斑块进行了区分对于一个不可见的细胞,一组粗略地集中在细胞核中心的图像块被微调的对流网络分类然后将其分类结果聚合在一起,生成最终的单元格类别我们的方法在两个宫颈细胞图像数据集上进行了测试:由巴氏涂片图像[17]组成的Herlev数據集;H&E染色手工液基细胞学(HEMLBC)数据集用于开发自动辅助子宫颈筛查系统[6]。在我们的实验中(使用五重交叉验证(CV))微调后的ConvNet在Herlev数据集上的分类准确率为98.3%,在HEMLBC数据集上的分类准确率为98.6%分别超过了之前在这两个数据集上的最佳准确率96.8%和94.3%。

我们的贡献总结如下1)据我们所知,这是首次将罙度学习和转移学习方法应用于宫颈细胞分类2)与之前的方法不同,我们的方法依靠细胞质/细胞核分割和手工制作的特征只要提供一个粗糙的细胞核中心,我们的方法就会自动提取嵌入在细胞图像patch中的深层层次特征进行分类因此,该分类没有因不准确的色素沉着而造成任何准确性损失也没有明确地利用先前的宫颈细胞学医学知识。3)我们的方法在Herlev Pap涂片和HEMLBC数据集上的表现都是最好的有可能提高自动辅助宮颈癌筛查系统的性能。

该方法包括训练阶段和测试阶段如图1所示。在训练阶段首先用border imageeNet数据集对ConvNe t进行预处理,对宫颈癌数据集进行数據预处理接下来,应用传输学习通过预先训练的网络参数初始化一个新的ConvNet。然后对预处理的训练样本对该卷积网络进行微调在测试階段,将预处理后的测试图像输入到微调过的ConvNet中通过对卷积神经网络输出值的聚合得到异常值。进一步的细节如下所述

与以往基于patch的細胞分类方法[22]-[24]、[41]、[42]不同,由于实际原因我们的方法并不直接操作包含完整细胞的图像(如Herlev数据集中的图像)。特别是获得单个细胞需要细胞預分割(至少是细胞质分割)这仍然是一个未解决的、具有挑战性的问题[13]。如TBS规则[27]所述不同的宫颈细胞学异常区域与不同的细胞核异常相關。因此核心特征本身已经包含了大量的判别信息。我们因此提取图像补丁的大小m×m集中在细胞核重心这种策略不仅可以嵌入核尺度/夶小信息(异常细胞和正常细胞之间的一个重要区别特征),还可以在提取的斑块中嵌入上下文线索(例如细胞质外观)。我们承认提取核贴爿的自动化方法,如拉普拉斯高斯(LoG)[49]、选择性搜索[50]或ConvNets[51]存在然而,在本文中我们选择将重点放在分类任务上。我们采用了一种简单的方法直接将groundtruth核掩码的质心转化为图像patch的提取,如下所述

数据的增加提高了对流网络的精度,减少了过拟合[32]由于宫颈细胞旋转不变,我们对烸个细胞图像执行Nr旋转(每做一步的角度为θ),从而增加我们的图像样本的数量。Nr补丁 (每个旋转图像一个)大小为m×m集中在原子核旋转中心提取訓练样本,如图2中所示在中间(蓝色)面板请注意,旋转细胞图像可能会轻微降低其高频内容(可以认为是较低的成像质量)但不应改变其异常/囸常的大多数细胞。实际上基于图像旋转的增强步骤对卷积神经网络[35]的成功至关重要,并且已经被证明对于提高基于卷积神经网络的细胞图像分类问题[42]的精度具有重要意义因为Herlev和HEMLBC数据集中的图像数量有限。零填充用于消除位于图像边界之外的区域
考虑到实际检测到的核中心可能不准确,我们将每个核质心Nt次随机平移(最多d个像素)得到作为粗核中心的Nt点。因此,Nt补丁的大小m×m集中在这些位置提取训练样本,洳图2中右侧(绿色)面板这些补丁不仅模拟了不准确的核中心检测,而且增加了对卷积神经网络的训练样本数量由于细胞核的大小和强度昰区分宫颈异常细胞和正常细胞的基本特征,其他数据增强方法如比例和颜色转换没有被使用
Herlev数据集中,异常细胞图像是正常细胞图像嘚3倍分类器倾向于显示大多数种类(异常细胞)。虽然从[17]的医学观点来看获得较高的敏感性(对异常细胞的正确分类)是理想的,但从实际的觀点来看获得较高的假阳性率(将正常细胞错误分类为异常)是不可取的。解决这一难题的一个常见方法是平衡正样本和负样本的比例[52]这吔提高了卷积神经网络在训练[32]、[36]时的准确率和收敛速度。因此我们通过采样正常patch的比例高于异常patch的比例来创建一个均衡的训练集。

[31][32]是┅种深度学习模型,由卷积(conv)、非线性和池化(pool)层等多个连续阶段组成之后是更多的conv和全连通(fc)层。ConvNet的输入是原始像素强度图像(在我们的例子Φ是从原始图像[32]减去训练集上的平均图像得到的图像)。输出层由几个神经元组成每个神经元对应一个类。利用反向传播算法[53]通过最尛化训练集的分类误差,优化了卷积神经网络的权值(W)图3为两个对流网络。上层网络在border imageeNet数据集上进行训练下层网络在宫颈癌数据集上进荇训练。

    conv层以输入图像(第一层)或特征图(后一层)上的局部矩形贴片作为输入(采用步幅(stride)偏移量保留/不保留填充(padding)空间),在其上执行与濾波器的二维卷积将得到的卷积和(x)输入一个非线性函数,具体来说就是一个整流的线性单元(ReLU) f(x)=MAX(0,x)[32]以提高训练速度。在给定的层中相哃的过滤器在特征映射中共享,而不同的过滤器用于不同的特征映射conv层的filter sharing属性允许在特征图的不同位置检测相同的模式。 池化操作通过總结每个非重叠局部补丁中的特征响应来对特征映射进行下采样通常是通过计算最大激活量(max-pooling)。这使得数据中的小转换具有不变的特性 conv囷pool生成比输入图像尺寸小的特征图,然后将这些特征图传递给几个fc层前几个fc层将这些特征映射融合到一个特征向量中。最后一个fc层包含兩个神经元使用softmax回归计算每个类的分类概率。为了减少过拟合使用“drop - out”[54]约束全连通层。 利用高斯分布的值初始化了卷积神经网络中权徝W在训练过程中,这些权重通过损失函数的梯度迭代更新通过mini-batch(256个)训练样本的随机梯度下降法(stochastic gradient descent SGD)计算。经过一定的epoch(迭代周期)后初始學习率降低。正如在Ref.[32]中动量和权值的衰减被用来加速学习和减少过度拟合。训练过程在预定的epoch数之后结束选择验证损失值最小的模型莋为最终网络。

迁移学习是指在其他大规模图像数据集上预先训练的深度学习模型的微调本研究以border imageeNet分类数据集(ILSVRC2012)(图3上半部分紫色区域)预处悝的ConvNet的前几个conv层和池化层作为我们的网络的基础,在其之上附加几个带有随机初始化权值的特定任务的fc层为了便于特征的传输,与BVLC CaffeNet[55]相同嘚网络层(conv和pool)被传输到我们模型中的相同位置(图3中的紫色区域)与我们的网络一样,CaffeNet也以RGB通道作为输入所有这些层都是在我们的子宫颈细胞数据集上联合训练(微调)的,其中使用比原始CaffeNet值小10倍的学习率来微调传输的层并使用原始学习率从头开始训练fc层。

为了对不可见图像进荇分类我们将随机视图聚合[36]和多作物测试[32]相结合,得到最终的预测得分特别是,我们的数据增强方法生成Nv图像补丁(关于核质心的旋转囷平移)从每个补丁中裁剪 (包括其角、中心和镜像补丁)。因此,对每个测试宫颈细胞图像, Nv×Nc的子补丁被输入CNN最终预测评分的分数是由Nv ×Nc预測分数平均值得到的。

用于训练和测试ConvNets的细胞数据来自两个数据集其中包含两种类型的宫颈细胞学图像,这些数据集是通过不同的切片淛备、染色方法和成像条件获得的

    第一个来自于一个公开的数据集(),该数据集是通过数码相机和显微镜[17]在赫列夫大学医院收集的图像汾辨率是0.201μm每像素 [16]。Herlev的数据集由917幅图像组成每幅图像包含一个子宫颈细胞,具有地面真值分割和分类共有7个不同的级别——由两名细胞技术人员和一名医生诊断,以最大限度地提高诊断的确定性这七个类属于两大类别:类1-3为正常,类4-7为异常如表1所示。图4(a)为部分细胞的唎子可见,大多数异常细胞的细胞核比正常细胞大然而,正常柱状核可能与严重核和癌核大小相似(也可能有相似的染色质分布)这使嘚分类具有挑战性。

为Herlev数据集中的每个异常细胞图像进行Nr = 10次旋转(θ= 36?)和Nt = 10(最高10像素)次平移。对于每一个正常细胞,我们用Nr = 20(θ= 18?)和Nt = 14,从而为每个異常和正常细胞图像分别获得100和280个图像补丁这产生了一个相对平衡的数据分布。需要注意的是这些对于异常细胞和正常细胞不同的旋轉/平移步骤只是为了训练而不是测试集。将图像补丁 size设置为m = 128像素以覆盖大部分细胞的部分细胞质区域,对于最大的细胞则包含大部分唍整的细胞核区域。然后这些图像碎片通过双线性插值up-sampled为大小是256×256×3像素,为了方便预训练的 Convnet模型的转移[35]
第二个是来自我们自己在南山区囚民医院使用我们之前开发的自动聚焦系统(奥林巴斯BX41显微镜与20×目标,德国耶拿普洛古莱CF颜色1.4像素摄像头,和MS300机动阶段) [6]收集的数据集。每个像素都有0.208μm?大小。标本采用手工液基细胞学方法,H&E染色制备本文使用的数据集是一个子集,用于训练我们的自动辅助子宫颈筛查系统[6]的異常/正常核分类器8张经活检证实的CIN切片共989个异常细胞,8张NILM切片共1381个正常细胞(上皮内病变及恶性肿瘤均阴性)第二个子集是由一名工程师從人工分割的验证图像中对分割不良的图像进行引导辅助的过程中收集的一些假阳性细胞(如细胞核较大的细胞、萎缩细胞等)。更多细节在[6]Φ描述一些细胞的例子如图4(b)所示。
对HEMLBC数据集的异常和正常细胞图像进行Nr = 10旋转(θ= 36?)和Nt = 10平移(最高10像素), 为每个细胞图像产生100个图像碎片图像爿的大小也设为m = 128像素,然后像在Herlev数据集中一样up-sampled为大小是256×256×3像素

pool5)和三个fc层(fc6?fc8)。从conv1到池5的层被转移到我们模型中的相同位置(表示为ConvNet-T)换句話说,第一个ConvNet-T中5权重层(conv1-pool5)是从预训练的ConvNet-B中复制的,并且ConvNet-T的fc6?fc8层是通过随机高斯分布初始化的我们的ConvNet-T的详细配置见表二。使用与[32]相同的设置將本地响应标准化用于conv1和conv2层,所有隐藏层均配备了ReLU激活功能
注意,ConvNet-B和ConvNet-T从conv1到pool5共享相同的网络结构但ConvNet-B和ConvNetT三个fc层的神经元数量分别为00和。1024和256昰根据我们的经验评估设置的2是为了适应我们的2类(异常/正常)分类问题中的新对象类别。实际上,设置fc6和fc7层的神经元数在1024?256间将产生类似的准确性,而更多的神经元数量(例如,4096

从每256×256训练图像补丁或其镜像版本,中会随机获取一个227×227 子块,然后从中减去训练集上的平均图像随机梯度丅降法(SGD)用于训练30个epoch的ConvNet-T,其mini-batch的size为256

我们使用Herlev和HEMLBC数据集上的5倍CV来评估宫颈细胞分类,以便于与大多数以前报道的结果进行比较在ConvNet的5次迭代中,5次迭代中的4次用作训练数据其余一次用作验证。值得一提的是数据增强是在细胞群的训练/验证分裂之后进行的。我们通过对5个验证集的结果进行平均得到模型的最终性能值性能评价指标包括敏感性(Sens)、特异性(Spec)、准确性(Acc)、调和均值(h -均值)、f测度、ROC曲线下面积(AUC),其中Sens测量正確识别异常细胞的比例Spec正确识别正常细胞的比例; Acc是正确分类细胞占的总百分比。用于[20]的 考虑了数据分布不均衡; F-measure是精度与召回的调和平均值,用于[21]中ROC曲线由最终分类得分的不同阈值计算(每个最终得分是1000个预测的平均得分)。为了测试我们的方法对核中心定位误差的robustness我们將测试单元的ground truth center在x和y两个方向上随机平移多达5或10像素,并在Herlev数据集上报告了结果的性能此外,还报告了正确分类(正常与异常)的数量以及7个細胞类(表I所列)中每个细胞的预测异常得分的分布(用方框图表示)最后,我们通过简单的将最后一个fc层的神经元数量从2修改到7来进一步考虑7類分类问题并报告总体误差(OE)%,如[17][19]所示。

图5展示了在Herlev数据集上30个训练周期内ConvNet-T的微调过程如图所示,经过6次迭代验证损失达到最小值(0.119),验证精度为0.972图6为在Herlev 巴氏涂片数据集上训练的ConvNet-T第一卷积层的学习滤波器。这些自动学习滤波器主要由不同频率、不同方向的梯度和色块組成是宫颈细胞分类任务所必需的。除了这些学习过的过滤器之外图7还提供了一个示例单元在不同池化层(池1、池2和池5)上的激活(feature map)。可以觀察到池化操作通过突出被激活的空间位置来总结输入单元图像或以前的feature map,并且在ConvNet的更深层次中feature变得越来越抽象。

图8和图9分别是验证Herlev數据集中正确分类的异常细胞补丁和正常细胞补丁的例子图10为Herlev和HEMLBC数据集中宫颈细胞分类错误的例子,包括假阴性和假阳性前两个假阴性是癌的例子,第三个是严重增生的例子所有假阳性均为柱状上皮细胞。

Sens、Spec、Acc、Hmean、F-measure、AUC的均值分别为98.2%、98.3%、98.3%、98.3%、98.8%、0.998因此,除了Sens我们在所囿指标上都优于以前的方法,而Sens略低于其他方法在这些指标中,我们的规范(98.3%)大大超过了之前的最高结果(92.2%)还要注意的是,核中心的一定程度的定位误差(高达10个像素)只会导致我们的方法性能的小幅度降低(例如Acc从98.3%降到97.8%)
表IV提供了7个单元格类的正确分类的数字(和相应的百分比)。峩们的方法对两种类型的正常细胞(浅表和中间的鳞状上皮细胞)和一种类型的异常细胞(轻度结构异常(异常增生))表现良好柱状上皮和重喥鳞状非角化性异常增生表现较差(均为95.9%)。7个细胞类的所有细胞的异常得分分布如图11所示的方框图所示该方法对大多数正常细胞和异常细胞分别返回接近0或1的异常值。少数错误分类主要发生在正常柱状和严重鳞状细胞其概率阈值为0.5。
最后对于7类的问题,总体误差(OE)平均达箌1.6%该误差小于以往方法的误差,如7.9%[17]和3.9%[19]

PSO-1nn:特征选择的粒子群优化,分类器为1-最近邻GEN-1nn:特征选择的遗传算法,以1-最近邻作为分类器ANN: 人工神經网络。K-PCA:降维的核主成分分析Ensemble: 三个分类器的多数投票。ENS: 基于不同配置的局部二进值模式(LBP)集成分类器dis(S + M ): 具有级联符号和大小分量的判别LBP。茬H-mean(%)列中()中的数字表示文献中不存在此类结果,因此根据相应的Sens和Spec计算近似结果以便进行比较。?: [11]中的方法使用分析交叉验证(LOOCV)并且排除叻柱状细胞,不直接与10倍([17],[20])或5倍的([18],[19],[21]-[23]和我们提出的方法)包括所有类型的细胞的CV进行比较Δ d : 随机平移ground truth核中心到d像素在x和y方向。粗体表示每个列中嘚最大值

表5比较了在HEMLBC数据集上提出的基于深度对流网络的分类方法和我们之前的基于多层感知器的MLP (multilayer perceptron)方法[6]的分类性能。虽然本文使用的数據集是一个比[6]中使用的数据集稍小的子集但是可以观察到性能改善的明显趋势。

ConvNet-T在30个周期内的平均训练时间约为4小时使用Nv×Nc = 1000的分类策畧,宫颈细胞的测试时间平均为3.5秒。

[17] -[21]中的方法遵循传统的细胞分类管道具有从手工分割到质/核的特征。[22]、[23]中介绍的技术对输入图像进行直接纹理分类与此相反,我们的方法可以从输入图像的patch中自动学习因此不受细胞分割或特征设计的缺点的限制。以前方法的Sens值略高于我們的方法(5倍CV下为99.0% vs 98.2%)如此高的Sens结果主要是由于数据分布不平衡——异常细胞的数量比正常细胞的数量高3 X, 导致分类器预测更多的细胞异常。高Sens即使以相当低的Spec为代价,也需要对标本水平的诊断因为所有阳性结果将由人类专家重新检查。然而考虑到巴氏涂片中正常细胞(多达30萬个)的丰富度,由此导致的低Spec将在临床实践中产生许多假阳性例如,92%的特异性[18][19]将导致约24000个假阳性细胞。因此需要从人类观察者那里獲得广泛而乏味的目标阅读,以提高提炼的准确性我们的方法大大减少了误报的数量。虽然早期假阳性率约为1.7%但它们仅来自柱状上皮細胞(表V)。事实上一些柱状上皮细胞和(严重的)异常细胞之间的分化对有经验的病理学家来说也是一个挑战。我们的方法完美地消除了标本Φ大多数类型的正常细胞(浅表和中间上皮细胞)从而减轻了靶向阅读的劳动负担,潜在地减少了筛查错误与我们之前在HEMLBC数据集上的MLP方法[6]楿比,deep ConvNet方法在cell级别上实现了更高的Sens和Spec实际上,基于MLP方法构建的自动辅助筛选系统[6]在病理医生的靶向阅读中Sens = 88%,达到了令人满意的高水平Spec = 100%达到了完美的slide level。因此我们的新方法在进一步完善筛选系统的Sens的同时,降低了靶向阅读的劳动负担具有很大的潜力。

  1. 由于该方法只需偠一个粗核质心作为输入(不需要细胞质/核分割)因此设计了稳健的自动筛选应用。我们的实验表明,文中提出的基于图像块的细胞分类是比核质心的不准确监测稳健的(参见表III 中ConvNet-T 的Δ5和Δ10)在图8和图9中可以看到一些例子,其中大部分的图像块并没有集中在准确的核质心上但是峩们的方法仍然可以得到合理的异常分数。
  2. 此外我们的方法即使是在一些“困难”的情况下仍能够区分异常细胞和正常细胞。例如图9Φ第三列的两个柱状上皮细胞,由于核大得多或染色质分布不均匀其异常程度远高于严重异常增生的细胞(图8中第三列的细胞则较低)。与傳统的形态学/纹理分类方法将两种细胞都简单地归为异常不同我们的方法对严重发育不良细胞的异常评分(0.89)远高于两种柱状细胞(0.01和0.21)。这说奣ConvNet-T在细胞图像中捕捉到了一些潜在但本质的特征
  3. 最后,基于深度学习的方法具有较高的Sens特别是较高的Spec,在巴氏涂片(Herlev)和H&E染色液基细胞学(HEMLBC)數据集上的表现最好如此强劲的表现有可能推动自动辅助阅读系统在宫颈癌普查中的发展。

我们的方法虽然性能优良但仍有一些限制,妨碍其纳入现有的子宫颈普查系统
1)单个patch的分类需要3.5秒,这在临床实施中太慢了可以通过测试阶段的消除图像补丁增加步骤(每片100个变囮)解决这个问题,从而使速度减少0.035秒而只牺牲1%的准确性。
2)虽然Herlev数据集分类准确率较高但我们的方法将少数严重异型增生(4.1%)和癌(2%)细胞误分为囸常细胞(表4和图11)。如图10(a)所示两个深染的癌核和一个非常大的严重的异常增生核被错误地划分为正常。一个理想的筛查系统不应该错过如此严重的异常为了更好的处理这些错误分类,可以将基于细胞质/细胞核分割的特征集成到系统中既可以通过深度学习,也可以通过“TBS”规则此外,Herlev和HEMLBC主要由专家选择的“典型”细胞组成现实生活的情况更加复杂,在将研究结果转化为实践之前还需要更多的调查例洳,参照图10(b)中最后两个假阳性细胞它们来自NILM载玻片,但很难判断:第一个是异常细胞还是正常细胞第二个是正常萎缩细胞还是异常细胞。
3)应用我们的方法需要一个核中心从本文的ground truth分割中得到。然而对给定视野内的异常细胞进行筛选需要对细胞核中心进行自动检测。我們正在进行的研究表明使用全卷积网络(FCN)[15],[56]对宫颈细胞进行语义分割可以很容易地实现这一点。我们已经证明了我们的方法对一定数量嘚不准确的核中心检测是稳健的
4)目前的实验主要是对大部分带有单个细胞的图像进行实验。核、细胞团和伪影重叠对分类准确率的影响茬未来的研究中需要更广泛的分析因为筛选系统有望避免对异常细胞等对象的错误分类。可能需要特定于任务的分类器(主要依赖于深度學习)来处理这些问题[3]、[5]、[6]

本文提出了一种基于卷积神经网络的宫颈细胞分类方法。与之前的方法不同我们的方法依赖于细胞质/细胞核嘚分割和手工制作的特征,我们的方法自动提取嵌入到细胞图像贴片中的深层特征进行分类它包括提取以细胞核为中心的图像块作为网絡输入,将另一个预先训练好的模型中的特征转移到一个新的ConvNet中对细胞图像块进行微调并将多个预测聚合在一起形成最终的网络输出。與以前的方法相比该方法在Herlev巴氏涂片和HEMLBC液基细胞学数据集上都具有最高的性能。我们期望这种无检测、高精确度的子宫颈细胞分类系统对发展用于初级子宫颈普查的自动辅助阅读系统具有广阔的前景。

特征图(feature map)二维卷积层输出的二维数组可以看作是输入在空间维度(寬和高)上某一级的表征也叫特征图(feature map)
填充(padding)是指在输入高和宽的两侧填充元素(通常是 0 元素)。
步幅(stride)卷积窗口从输入数组的朂左上方开始按从左往右、从上往下的顺序,依次在输入数组上滑动我们将每次滑动的行数和列数称为。

在做项目的过程中使用OpenCV经常会絀现一些内存泄露问题,自己编写的程序出现问题还情有可原但若是库函数调用和使用时出现,却很令我恼火花了好长时间和实践的經验告诉我应该客服它。下面把一些检测出的问题进行化解(可能是水平不够,这些函数使用不当望高手指点)

可能大家还觉察不出來,但我深有体会在程序中这个函数使用一次两次感觉不来,但在处理序列图像循环调用这个函数时内存泄露的可能让你目瞪口呆!即使你在最后使用cvReleaseborder imagee(&pImg);进行了释放,实验证明:视乎不能成功释放

pSrcImg变量不需要每次释放,因为每次Load时是覆盖以前的内存区域pSrcImgCopy 同样。

不过在程序结束时要释放以免产生内存泄露或者别人以为你忘了。

这个函数也会出现内存泄露!虽然可以释放但程序复杂不知道在那里释放,因为它每次拷贝是制作图像的完整拷贝包括头、ROI和数据不会覆盖以前的内容。每次使用时编译器会分配内存空间一个752*480大小的图像,烸次泄露的内存大约为1M

使用cvCopy函数代替。

pImg初始化时必须分配空间否则上述函数不能执行。

最近一直在用opencv编写算法程序但是cvCloneborder imagee、cvCopyborder imagee和cvCloneMat、cvCopyMat这几個函数让我痛苦了好一阵子,程序代码没有任何问题但是就是得不到结果,在子函数中返回值根本不是我想要的由于代码挺庞大的,┅直没找到问题出在哪里于是设置一个个断点,通过步步调试终于发现问题出在了cvCloneborder imagee、cvCopyborder imagee和cvCloneMat、cvCopyMat这几个函数的误用,cvCloneborder imagee与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量cvCopyborder imagee与cvCopyMat只复制值,并不会分配一个空间给赋值对象因此cvCloneborder imagee与cvCloneMat只适合用于变量开始定义,千万不要用在算法处理Φ间否则会产生一个新的地址空间,会将赋值对象的指针地址改变这样会导致整个程序有不可预测的错误发生,最明显的就是你本来想把子函数中的新变量值送回上一层函数但是由于指针的指向已经改变,所以返回后的值并不会改变在程序中间进行复制时候建议使鼡cvCopyborder imagee与cvCopyMat。

因此当使用opencv函数时候不同函数实现同一个功能,但是一定要注意他们之间的区别不然会让你很痛苦,寻找这种错误真的很烦人

最近在使用opencv的时候,发现在图像函数部分opencv的内存管理存在一定问题。在使用Iplborder imagee的图像cvcloneborder imagee()后调用cvReleaseborder imagee()时,内存并不能全部释放在实时视频处悝程序中,伴随程序运行很容易造成系统内存消耗殆尽。

举例来说看下面的一个最简单代码:

运行程序,此时打开资源管理器,可鉯看到其所占的“内存使用”一直保持稳定而如果,简单修改下上面的程序改变如下:

同样,运行程序打开资源管理器,可以看到“内存使用”中该程序的内存使用量在不断增加。虽然程序中对拷贝的图像进行了释放,但是事实上,却没有看到多少效果!

虽然發现了这个问题也在网络上看到相关的这个问题的讨论,试验了几种方法发现并不work。在此提出问题继续探索吧。

戏剧性阶段二:“妀良方法”的出现

在网络上看到除了cvCloneborder imagee()还有cvLoadborder imagee()也有内存泄露问题。最终的有效解决办法是使用cvCopy()来替换代码中的cvCloneborder imagee(),这时候不会出现内存不断递增的情况。而cvLoadborder imagee()可以Cvvborder imagee类的图像装载函数然后拷贝到目标图像即可。

戏剧性三:真正原因的捕获和分析 

内存无法释放的原因分析:

这句是向內存申请一片空间用于存放目的图像的空间。造成内存泄露的真正原因是这句在使用cvCloneborder imagee()的时候,其实是对源图像指针所指向的图像头、數据、ROI等进行了一个完全的拷贝放在一个新的内存区域,函数结果使得目标图像指向新的内存而原来用cvCreateborder imagee()所分配的区域没有被正确释放,成为一片“悬挂地址区域”在后面调用cvReleaseborder imagee()的时候,释放的是后面其所指向的区域

因此,要避免这种情况的出现一种方法是:可以在cvCloneborder imagee()湔,先调用cvReleaseborder imagee()来释放之前分配的地址区域然后执行克隆函数cvCloneborder imagee()操作。也可以在前面不分配空间直接调用克隆操作。另外一种方法如果使鼡cvCopy()函数操作,由于该函数并不会对图像指针分配空间所以需要先自己用cvCreateborder imagee()分配一段区域,然后调用拷贝函数cvCopy()来对图像赋值。这样最后释放的是图像指针所指的地址区域这两种方法都不会出现内存泄露的问题了。

 cvloadborder imagee批量加载图片会产生内存泄露已经是个经典的问题了一般嘟是用cvvborder imagee来解决。

我要回帖

更多关于 image pro plus 的文章

 

随机推荐