Print

发布时间: 2020-10-25
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.200236
2020 | Volume 25 | Number 10




    研究应用    




  <<上一篇 




  下一篇>> 





AS-PANet:改进路径增强网络的重叠染色体实例分割
expand article info 林成创1,3,4, 赵淦森1,3,4, 尹爱华2, 丁笔超1,3,4, 郭莉2, 陈汉彪2
1. 华南师范大学计算机学院, 广州 510631;
2. 广东省妇幼保健院, 广州 511400;
3. 广州市云计算安全与测评技术重点实验室, 广州 510631;
4. 华南师范大学唯链区块链技术与应用联合实验室, 广州 510631

摘要

目的 染色体是遗传信息的重要载体,健康的人体细胞中包含46条染色体,包括22对常染色体和1对性染色体。染色体核型化分析是产前诊断和遗产疾病诊断的重要且常用方法。染色体核型化分析是指从分裂中期的细胞显微镜图像中,分割出染色体并根据染色体的条带进行分组排列的过程。染色体核型化分析通常由细胞学家手工完成,但是这个过程非常费时、繁琐且容易出错。由于染色体的非刚性特质,多条染色体之间存在重叠及交叉现象,致使染色体实例分割非常困难。染色体分割是染色体核型化分析过程中最重要且最困难的一步,因此本文旨在解决重叠、交叉染色体实例分割问题。方法 本文基于路径增强网络(PANet)模型,提出AS-PANet(amount segmentation PANet)模型用于解决重叠染色体实例分割问题。在路径增强网络的基础上引入染色体计数领域知识预测作为模型的一个预测分支,并改进了路径增强网络的模型结构和损失函数,使图像分类、目标检测、实例分割和染色体计数4个子任务共享卷积特征,进行联合训练。在临床染色体图像数据上进行标注并构建训练集和测试集,同时提出有效的数据增广方法用以扩充染色体标注训练数据集,提升模型的训练效果。结果 在临床染色体数据集中开展实证研究实验。实验结果表明,本文方法在临床染色体数据集中,平均分割精度mAP(mean average precision)为90.63%。该结果比PANet提升了1.18%,比基线模型Mask R-CNN提升了2.85%。分割准确率为85%,相比PANet提升了2%,相比Mask R-CNN(region with convolutional neural network)提升3.75%。结论 本文染色体实例分割方法能够更有效地解决临床染色体分割问题,相比现有的方法,分割效果更好。

关键词

AS-PANet; 路径增强网络; 染色体分割; 实例分割; 染色体核型分析

AS-PANet: a chromosome instance segmentation method based on improved path aggregation network architecture
expand article info Lin Chengchuang1,3,4, Zhao Gansen1,3,4, Yin Aihua2, Ding Bichao1,3,4, Guo Li2, Chen Hanbiao2
1. School of Computer Science, South China Normal University, Guangzhou 510631, China;
2. Guangdong Wormen old Children Hospital, Guangzhou 511400, China;
3. Key Laboratory on Cloud Security and Assessment technology of Guangzhou 510631, China;
4. South China Normal University&VeChina Joint Laboratory on BlockChain Technology and Application, Guangzhou 510631, China
Supported by: National Key Research and Development Program of China(2018YFB1404402); Key-Area Research and Development Program of Guangdong Province(2019B010137003); Guangdong Science and Technology Fund (2016B030305006, 2018A07071702, 201804010314)

Abstract

Objective Twenty-three pairs of chromosomes, including 22 pairs of autosomes and a pair of sex chromosomes, are found in the cells of a healthy human body. As those chromosomes are vital genetic information carriers, karyotyping chromosomes is important for medical diagnostics, drug development, and biomedical research. Chromosome karyotyping analysis refers to segmenting chromosome instances from a stained cell microphotograph and arranging them into karyotype in accordance with their band criterion. However, chromosome karyotyping analysis is usually performed by skilled cytologists manually, which requires extensive experience, domain expertise, and considerable manual efforts. In this study, we focus on the segmentation of chromosome instances because it is a crucial and challenging obstacle of chromosome karyotyping. Method In this study, we propose the AS-PANet(amount segmentation PANet) method by improving the PANet instance segmentation model for the segmentation task of chromosome instances. We add a chromosome counting task into AS-PANet for joint training, thereby enabling the classification, detection, segmentation, and counting tasks to share latent features. We propose a chromosome label augmentation algorithm for augmenting the training dataset. Result We collect clinical metaphase cell microphotograph images from Guangdong Women and Children Hospital. Then, we build a clinical dataset by labeling 802 chromosome clusters. The clinical dataset is split into training and testing datasets with a ratio of 8 :2. The proposed augmentation algorithm augments the training dataset from 802 samples into 13 482 samples. Our solution achieves a more competitive result on the clinical chromosome dataset with 90.63% mean average precision (mAP), whereas PANet yields 89.45% mAP and Mask R-CNN(regirn with convolutional neural network) obtains 87.78% mAP at the equal experimental condition. The AS-PANet method yields 85% instance segmentation accuracy, which is 2% higher than the result of PANet and 3.75% higher than the result of Mask R-CNN. Conclusion Experimental results demonstrate that the proposed method is an effective and promising solution for solving the segmentation problem of clinical chromosome instances. The contributions and highlights of this study are summarized as follows: 1) we proposed a novel chromosome instance segmentation method by improving the path aggregation network architecture. 2) We built a clinical dataset for training and verifying the proposed method. 3) We demonstrated the effectiveness of the proposed method for tackling the chromosome instance segmentation task. Experimental results showed that the proposed method is more promising than previous studies. 4) The highlights of this work are high chromosome segmentation certainty and accuracy with a small amount of manual labeling cost.

Key words

amount segmentation PANet(AS-PANet); path aggregation network(PANet); chromosome segmentation; instance segmentation; chromosome karyotyping analysis

0 引言

染色体是遗传信息的重要载体,正常的人体细胞中包含46条染色体,其中包括22对常染色体和1对性染色体(女性为两条X性染色体,男性为一条X染色体和一条Y染色体)(Lin等,2020)。染色体核型分析是产前诊断、遗传疾病诊断和筛查常用且重要的基础手段。染色体核型分析, 如图 1所示, 是指从细胞分裂中期的显微镜图像中分割出染色体实例,并根据ISCN(international system for human cytagenetic nomenclature)规则(Shaffer等,2013)排列成染色体核型的过程。染色体核型分析主要包括染色体分割和染色体分类排序两个阶段。染色体分割是指从显微镜图像中将染色体实例分离出来。受到染色体的非刚性特性的影响, 在显微镜图像中经常出现染色体接触或者重叠在一起的现象, 给染色体实例的分割带来巨大的挑战,同时也吸引了众多学者投入研究。

图 1 染色体细胞图像和对应的核型图
Fig. 1 Examples of the G-band metaphase chromosome cell microphotograph and the corresponding karyotype
((a) illustrates a G-band metaphase chromosome cell microphotograph;(b) depicts the corresponding chromosome karyotype)

整体而言,重叠或接触染色体实例的分割的研究主要分成两大技术路线,基于几何方法的图像分割技术路线和基于深度学习的实例分割技术路线。

Grisan等人(2009)提出在高低荧光区域交接的染色体图像中使用空间变化阈值结合几何特征构建决策树的方案,并在作者选择的数据集中取得了一定的效果。

Minaee等人(2014)提出基于几何特征的方法处理接触和重叠染色体分离方法。该方法先找到染色体簇的凸包轮廓,然后根据凸包的曲率来估计染色体簇的示例数量,紧接着采用阈值方法对凸包的交叉点进行分割。尽管该方法在作者的数据集取得了91.9%的分割准确率,然而该方法的参数对数据集敏感。

Arora和Dhir(2019)提出基于区域活动轮廓分割方法。该方法利用凸包轮廓法对凸包的周长、面积及扁平度进行抽取,配合阈值分割技术实现对接触染色体的分割。

基于几何特征技术路线的染色体分割方法的主要问题是鲁棒性不强。因为几何特征分割实质上是基于规则的阈值分割,在遇到新的数据集时极容易出现超出阈值导致实例的错误分割。

Hu等人(2017)提出基于神经网络的图像分割方法用于解决部分染色体重叠的问题。该方法使用U-Net模型(Ronneberger等,2015)在合成的染色体重叠数据中进行实验,并取得不错的效果。然而,该方法的潜在假设是染色体仅存在两两重叠的现象,并且在该假设下人为构造数据集。但现实染色体重叠的情况比两两重叠要复杂得多。

李康等人(2020)提出基于卷积神经网络和几何优化的染色体核型分析方法。其中在重叠染色体分割步骤中采用Mask R-CNN(region with convolutional neural network)模型用于分割交叉重叠的染色体。在作者人工标注的343幅图像数据集中,该方法获得了最高52.06%的平均分割精度。

冯涛等人(2020)提出在Mask R-CNN模型的基础上进行改进,引入方向信息提升染色体分割效果。该方法在作者收集的数据集中获得了最高52.81%的AP50(average precision, 重叠面积大于或等于50%时的平均精度)分割精度。

尽管以上研究在染色体分割任务中已经取得了一些进展,然而在当前染色体实例分割中仍然存在以下挑战:

1) 染色体差异大。在人体细胞中存在22对常染色体和1对性染色体,共计24种类型(22+X+Y)。不同类型的染色体在条带分布和长度上均存在较大差异。因此在实例分割中极易将一条较长染色体错误地认为是若干条较短染色体接触在一起,从而错误地进行分割。

2) 染色体的非刚性特质。由于染色体非刚性特质导致在不同的显微镜图像中,即使是相同类型的染色体也由于弯曲程度和方向等原因出现较大差异。

3) 复杂染色体簇。在临床应用中往往存在多条染色体同时出现交叉和重叠的情况,导致以上研究均难以正确识别。

为了解决以上挑战,提出基于路径增强网络PANet(Liu等,2018)的染色体实例分割模型AS-PANet。AS-PANet模型是在PANet的基础上结合染色体图像数据的特点提出在预测分支头部额外加入数量统计分割(amount segmentation,AS)的领域信息。该模型通过融合图像分类、目标检测、实例分割和染色体计数4个任务共享特征层的特征进行联合训练,实现提高染色体实例分割的效果。

同时, 为了能够在尽可能少的标注训练数据集中最大化模型的泛化性能,提出了标注样本的数据增广算法。通过该算法能够有效地扩大训练样本,提升模型在测试集的分割准确性。

最后,在临床数据集中开展实验验证本文方法的有效性。结果显示,本文方法在临床染色体数据集中,染色体实例分割的准确率(accuracy)为85%,相比基线模型MaskR-CNN提升3.75%,平均分割精度(mean average precision, mAP)为90.63%,相比基线模型提升2.85%。实验表明,在临床染色体的分割应用中,本文方法相比现有的模型表现更好。

1 方法

1.1 问题描述及定义

图 2所示,染色体实例的分割目标是将多条重叠或者交叉在一起的染色体分割开。为了保证染色体实例完整性,对于重叠的像素信息需要补充到对应的实例中。同时为了能够进行定量分析和对比不同的染色体分割方法之间的分割效果,需要先对染色体分割进行形式化描述。

图 2 染色体实例分割示例
Fig. 2 The illustration of chromosome instance segmentation task((a) an chromosome cluster which contains two overlapping chromosome instances; (b) two instances which have been separated from (a))

使用图像$\mathit{\boldsymbol{I}}$表示包含$k$个染色体实例的待分割图像样本。图像样本中的染色体实例集合可以表示为${\mathit{\boldsymbol{U}}_I} = \left\{ {{\mathit{\boldsymbol{S}}_1}, {\mathit{\boldsymbol{S}}_2}, \cdots {\mathit{\boldsymbol{S}}_k}} \right\}$。其中, ${\mathit{\boldsymbol{U}}_I}$中至少有两条染色体实例存在像素交叉重叠的现象,即$。使用$\exists {\mathit{\boldsymbol{S}}_i}, {\mathit{\boldsymbol{S}}_j} \in {\mathit{\boldsymbol{U}}_I} \to {\mathit{\boldsymbol{S}}_i} \cap {\mathit{\boldsymbol{S}}_j} \ne \emptyset $表示染色体图像分割模型,使用$\mathit{\Phi }$表示图像分割模型$\mathit{\Phi }$对于图像$\mathit{\boldsymbol{I}}$的分割结果,即${{\mathit{\boldsymbol{U'}}}_I} = \left\{ {{{\mathit{\boldsymbol{S'}}}_1}, {{\mathit{\boldsymbol{S'}}}_2}, \cdots {{\mathit{\boldsymbol{S'}}}_l}} \right\}$。其中,${{\mathit{\boldsymbol{U'}}}_I} = \mathit{\Phi }\left(\mathit{\boldsymbol{I}} \right)$表示图像分割模型$\mathit{\Phi }$从染色体图像样本中分割出$l$个染色体实例。

对于染色体图像分割模型$\mathit{\Phi }$的效果评价,可以从分割准确率(accuracy)和染色体分割精度(precision)两个维度进行评估。

对于图像样本$\mathit{\boldsymbol{I}}$而言,$A$ (accuracy)可以定义为模型$\mathit{\Phi }$分割出的有效染色体条数占实际条数的百分比,即

$ {A_I} = \frac{{\left| {\sum\limits_{j = 1}^l {s_j^\prime } \in {\mathit{\boldsymbol{U}}_I}} \right|}}{k} $ (1)

对于包含$N$的染色体图像数据集$\mathit{\boldsymbol{X = }}\left\{ {{\mathit{\boldsymbol{I}}_k}} \right\}_{k = 1}^N$而言,整体accuracy可以定义为在数据集$\mathit{\boldsymbol{X}}$中,所有被正确分割出来的染色体实例数量占数据集中的染色体实例数量的比重

$ A = \frac{{\sum\limits_{k = 1}^N | \sum\limits_j {\mathit{\boldsymbol{S}}_j^\prime } \in {\mathit{\boldsymbol{U}}_k}|}}{{\sum\limits_{k = 1}^N | {\mathit{\boldsymbol{U}}_k}|}} $ (2)

分割精度$P$ (precision)是衡量染色体实例分割的完整程度,即模型$\mathit{\Phi }$分割出来染色体实例结果${\mathit{\boldsymbol{s'}}_i}$与真实实例${\mathit{\boldsymbol{s}}_i}$之间重叠像素比重,即

$ {P_{{s_i}}} = \frac{{|{\mathit{\boldsymbol{s}}_i} \cap \mathit{\boldsymbol{s}}_i^\prime |}}{{|{\mathit{\boldsymbol{s}}_i}|}} $ (3)

对于数据集$\mathit{\boldsymbol{X}}$而言,平均分割精度(mAP)可以定义为

$ mAP = \frac{{\sum\limits_m {{p_m}} }}{m} $ (4)

式中, ${p_m}$为式(3)中定义的${P_{{s_i}}}$

1.2 模型设计

本文提出的染色体实例分割模型AS-PANet(amount segmentation PANet)在实例分割模型PANet(Liu等,2018)的基础上结合染色体图像数据的特点,提出在PANet模型的预测分支中加入领域知识预测。该领域知识是通过专家标记训练集中每幅图像的染色体实例的数量得到的。从模型学习的角度,对于每一幅染色体簇图像,模型不仅需要学习和预测图像中的实例类别(class)、染色体所在区域的坐标(bounding box)和染色体实例的掩码(mask),同时还需要学习和预测染色体簇中所包含的染色体条数。染色体条数的加入有助于提升模型对染色体特征的学习过程。

AS-PANet模型的结构如图 3所示,橙色部分为特征提取层,蓝色部分为预测分支输入及输出层。该模型的设计包括染色体特征提取层设计、输出层设计和损失函数设计。

图 3 AS-PANet模型结构
Fig. 3 The architecture of AS-PANet

1.2.1 特征提取层

AS-PANet模型与PANet模型(Liu等,2018)特征提取阶段保持一致,采用残余网络ResNet (He等,2016)+特征金字塔网络(feature pyramid network,FPN) (Lin等,2017)作为特征提取骨架。在多层卷积神经网络中,浅层的特征通常更能体现出边缘形态,这对于准确进行像素分类和实例分割至关重要(Liu等,2016Kong等,2016), 而染色体实例分割恰恰最重要的就是实例边缘的确定。在特征提取网络中,图 3中红色的箭头部分指示浅层特征可以通过自底向上的卷积操作传递到顶层,但是会因为经过太多的卷积操作导致浅层特征中的重要细节信息丢失。PANet模型通过从FPN网络中插入多条路径(绿色箭头指示), 从而在高层特征空间中保留不同层级空间的特征,最终达到缩短特征信息传输路径的目的。在路径增强过程中,将通过缩短路径$\left\{ {{\mathit{\boldsymbol{P}}_2}, {\mathit{\boldsymbol{P}}_3}, {\mathit{\boldsymbol{P}}_4}, {\mathit{\boldsymbol{P}}_5}} \right\}$增强的4个不同层级的特征使用$\left\{ {{\mathit{\boldsymbol{N}}_2}, {\mathit{\boldsymbol{N}}_3}, {\mathit{\boldsymbol{N}}_4}, {\mathit{\boldsymbol{N}}_5}} \right\}$表示。不同层级的特征增强过程通过3×3卷积操作后与路径信息相加得到,即

$ {\mathit{\boldsymbol{N}}_{i + 1}} = conv (3 \times 3,{\mathit{\boldsymbol{N}}_i}) \oplus {\mathit{\boldsymbol{P}}_{i + 1}} $ (5)

式中,$conv$表示卷积操作,3×3表示卷积核为3,$ \oplus $表示特征矩阵加法。

路径增强网络获得最终特征将通过自适应特征池化层转换后供输出层的不同任务使用。

1.2.2 输出层

由于染色体图像实例分割结果直接影响染色体核型化结果,并最终影响遗传疾病诊断的准确性,所以在染色体实例分割任务中要求每个实例都能被完整地分割出来。为了确保遗传疾病临床诊断的正确性,首先需要确保染色体实例分割的准确性,因此需要对染色体实例分割模型的输出层进行优化。输出层在特征提取层获得染色体特征后,采用多任务训练的方式,通过不同任务之间相互监督提升分割的准确率。多任务训练包括染色体分类任务、染色体目标检测任务、染色体实例分割任务和染色体计数任务。

图像分类任务是对特征提取层提取的特征图进行扁平化转换(flatten),得到1维向量${\mathit{\boldsymbol{V}}^{d \times 1}}$,然后通过全连接层后经过Softmax函数预测该区域是染色体实例的概率,即

$ p = Softmax ({\mathit{\boldsymbol{W}}^{\rm{T}}} \cdot {\mathit{\boldsymbol{V}}^{d \times 1}}) $ (6)

式中,${\mathit{\boldsymbol{W}}^{\rm{T}}}$为全连接的学习权重,$d$为扁平化后向量的维度。

目标检测任务是对染色体实例位置进行预测的回归任务。染色体实例的位置由目标框坐标确定,其中目标框坐标由$\mathit{\boldsymbol{B}} = \left\langle {{b_x}, {b_y}, {b_h}, {b_w}} \right\rangle $ 4个值构成的4元组确定。目标检测任务从特征提取层获取到特征中进行扁平化操作得到扁平特征向量,然后通过全连接层得到坐标的预测值,最终输出4×$k$个神经元,$k$表示预测候选框数。每个类别分配一组预测单元,即

$ \mathit{\boldsymbol{B}} = {\mathit{\boldsymbol{W}}^{\rm{T}}} \cdot {\mathit{\boldsymbol{V}}^{d \times 1}} $ (7)

实例分割任务是预测染色体掩码(mask)的回归任务。实例分割任务为每一个候选区域(region of interest,RoI)输出一个$m \times m$的掩码,这个掩码不存在类别的概念,即每个染色体实例都在不同的掩码上。获得掩码后,通过sigmoid函数得到每个像素点所在位置的二进制值。在该任务中,对于每个候选区域RoI的特征$\mathit{\boldsymbol{S}}$,都会经过4个卷积层和1个反卷积层。每个卷积层的卷积核为3×3×256,反卷积层的上采样比例为2。同时,为了获得更加精细的位置,在第3个卷积层后接一条短路径,通过2个3×3的卷积层连接全连接层获得一个特征修正向量,然后通过reshape操作将该向量的尺寸匹配到输出尺寸。实例分割任务计算为

$ \mathit{\boldsymbol{Q}} = conv 3({\mathit{\boldsymbol{W}}_3} \otimes conv 2({\mathit{\boldsymbol{W}}_2} \otimes conv 1({\mathit{\boldsymbol{W}}_1} \otimes \mathit{\boldsymbol{S}}))) $ (8)

$ {{\mathit{\boldsymbol{U}}_1} = deconv ( conv4({\mathit{\boldsymbol{W}}_4} \otimes \mathit{\boldsymbol{Q}}))} $ (9)

$ {{\mathit{\boldsymbol{U}}_2} = fc({\mathit{\boldsymbol{W}}_{fc}} \cdot conv 5({\mathit{\boldsymbol{W}}_5} \otimes conv 4({\mathit{\boldsymbol{W}}_4} \otimes \mathit{\boldsymbol{Q}})))} $ (10)

$ {\mathit{\boldsymbol{U}} = {\mathit{\boldsymbol{U}}_2} \oplus {\mathit{\boldsymbol{U}}_2}} $ (11)

$ {M = sigmoid (\mathit{\boldsymbol{U}})} $ (12)

式中,$deconv\left({} \right)$表示反卷积,${W_1}$${W_2}$${W_3}$分别表示第1~3个卷积层的权重,$S$表示RoI的特征。$\mathit{\boldsymbol{Q}}$表示RoI特征S依次经过3个卷积操作后得到的新的高维特征变量。${\mathit{\boldsymbol{U}}_\mathit{\boldsymbol{1}}}$表示经过特征向量$\mathit{\boldsymbol{Q}}$经过第4个卷积操作后,再进行反卷积解码得到和$\mathit{\boldsymbol{Q}}$属于同一层级的掩码特征。$\mathit{\boldsymbol{U = }}{\mathit{\boldsymbol{U}}_\mathit{\boldsymbol{1}}} + {\mathit{\boldsymbol{U}}_2}$$M$为RoI中所有染色体实例的掩码数组。

染色体计数任务是对整个染色体簇图像计算实例个数的预测任务。与其他任务不同,染色体计数任务不需要候选区域RoI参与。染色体计数任务直接利用特征提取层中的不同层级的特征$\left\{ {{\mathit{\boldsymbol{N}}_2}, {\mathit{\boldsymbol{N}}_3}, {\mathit{\boldsymbol{N}}_4}, {\mathit{\boldsymbol{N}}_5}} \right\}$进行计算。首先对不同层级的特征进行卷积操作,并将它们规范化为同一个尺寸大小的特征图,之后再进行扁平化操作。最后在全连接层中进行条数的预测。在条数预测中,对输出结果向下取整并加1进行校正,使得最终输出的结果为整数。计算为

$ \begin{array}{*{20}{l}} {\mathit{\boldsymbol{X}} = conv 2({\mathit{\boldsymbol{W}}_2} \otimes {\mathit{\boldsymbol{N}}_2}) + conv 3({\mathit{\boldsymbol{W}}_3} \otimes {\mathit{\boldsymbol{N}}_3}) + }\\ { conv 4({\mathit{\boldsymbol{W}}_4} \otimes {\mathit{\boldsymbol{N}}_4}) + conv 5({\mathit{\boldsymbol{W}}_5} \otimes {\mathit{\boldsymbol{N}}_5})} \end{array} $ (13)

$ {\mathit{\boldsymbol{Y}} = {\rm{flatten}}(\mathit{\boldsymbol{X}})} $ (14)

$ {\mathit{\boldsymbol{Z}} = \left\lfloor {fc({\mathit{\boldsymbol{W}}_{fc}} \cdot \mathit{\boldsymbol{Y}})} \right\rfloor + 1} $ (15)

式中,$flatten\left({} \right)$表示角平氏操作,$\mathit{\boldsymbol{X}}, \mathit{\boldsymbol{Y}}$为运算过程的中间变量,其中$\mathit{\boldsymbol{X}}$表示4个层级特征进行对应卷积相加后得到的特征图,$\mathit{\boldsymbol{Y}}$表示对特征图$\mathit{\boldsymbol{X}}$进行扁平化得到的特征向量。$\mathit{\boldsymbol{Z}}$表示最终的RoI中染色体的实例数,$\left\lfloor \cdot \right\rfloor $为向下取整。

1.2.3 损失函数

对于AS-PANet而言,由于该模型分为两阶段预测模型,所以损失函数不仅与多任务的预测分支有关,还和候选区域网络(region proposed network, RPN)的训练损失相关。因此,AS-PANet模型的损失函数为RPN网络损失加分支预测头的函数。

其中,图像分类任务基于softmax loss,目标检测任务使用smooth L1 loss,实例分割任务使用的average binary cross-entropy loss,染色体计数任务使用MSE(mean square error) loss。最后将两阶段的4个损失函数相加即为模型的最终损失函数。

对于图像分类任务,需要最小化实例分类损失。由于分类任务输出为前景和实例的概率值,属于二分类问题,因此损失函数需要衡量预测输出值和真实值的两个概率分布。同时,图像分类任务最后一层的输出是softmax输出,损失函数(softmax loss, SL)的计算过程为

$ SL({y_{{\rm{ pred }}}},{y_{{\rm{ label }}}}) = {\rm{log}}\frac{{{{\rm{e}}^{{y_{{\rm{ label }}}}}}}}{{\sum\limits_{j = 1}^2 {{{\rm{e}}^{{y_j}}}} }} $ (16)

式中,${y_{{\rm{pred}}}}$表示模型的预测类别结果,${y_{{\rm{label}}}}$表示实际的类别结果。

由于AS-PANet模型是两阶段预测模型,RPN网络先对每个RoI是否为染色体区域进行预分类,对于RPN网络中预测为染色体区域的RoI,预测头部中的类别预测分支再进行一次输出类别的预测。因此,可以使用${p_i}$${p'_i}$表示第$i$个候选区域RoI的真实标签和预测标签,且在RPN阶段有${N_1}$个RoI,在预测分支中有${N_2}\left({{N_2} \le {N_1}} \right)$个RoI,则图像分类的整体损失${L_{{\rm{els}}}}$

$ \begin{array}{*{20}{l}} {{L_{{\rm{cls}}}} = \frac{1}{{{N_1}}}\sum\limits_{i = 1}^{{N_1}} S L(p_i^\prime ,{p_i}) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{1}{{{N_2}}}\sum\limits_{i = 1}^{{N_2}} S L(p_i^\prime ,{p_i})} \end{array} $ (17)

由于目标检测属于回归任务,因此依据Girshick等人(2015)的方法引入smooth L1 loss作为损失函数。smooth L1 loss($S$)定义为

$ S(x) = \left\{ {\begin{array}{*{20}{l}} {0.5{x^2}}&{|x| < 1}\\ {|x| - 0}&{{\rm{其他}}} \end{array}} \right. $ (18)

由于在目标检测过程中,一个目标框由4个值$\left\{ {{b_x}, {b_y}, {b_h}, {b_w}} \right\}$确定,因此对于一个目标框$\mathit{\boldsymbol{b}}$的损失函数可以计算为

$ \begin{array}{*{20}{l}} {{l_b} = S({b_x} - b_x^\prime ) + S({b_y} - b_y^\prime ) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} S({b_h} - b_h^\prime ) + S({b_w} - b_w^\prime )} \end{array} $ (19)

则对于所有目标框,引入集合$\mathit{\boldsymbol{B}}$表示,其中$\mathit{\boldsymbol{B = }}\left\{ {{b_1}, {b_2}, \cdots {b_t}} \right\}$。则所有目标框的损失函数可以计算为

$ {L_{{\rm{Box}}}} = \frac{1}{{|\mathit{\boldsymbol{B}}|}}\sum\limits_{b \in \mathit{\boldsymbol{B}}} {{l_b}} $ (20)

对于实例分割任务,采用二进制交叉熵损失(binary cross-entropy loss)作为损失计算函数。在计算损失loss时,模型输出的所有掩码mask中,只有对应为ground truth类别的mask才会对loss有贡献。且由于mask掩码图实际上是由0和1构成的,因此对于每一个像素点而言是一个二分类任务,可以采用sigmoid函数得到每个像素的预测值。因此,一幅mask的损失函数可以计算为

$ \begin{array}{*{20}{l}} {{L_i} = - {w_i}[\mathit{\boldsymbol{y}}_i^\prime \cdot {\rm{log}}(\sigma ({\mathit{\boldsymbol{y}}_i})) + }\\ {(1 - \mathit{\boldsymbol{y}}_i^\prime ) \cdot {\rm{log}}(1 - \sigma ({\mathit{\boldsymbol{y}}_i}))]} \end{array} $ (21)

式中,$\left({{\mathit{\boldsymbol{y}}_i}, {{\mathit{\boldsymbol{y'}}}_i}} \right)$为第$i$个mask的真实图和预测图,${w_i}$为所占的权重,$\sigma $为sigmoid函数,则对于所有掩码$\mathit{\boldsymbol{M}}$而言,整个实例分割的损失函数为

$ {L_M} = \frac{1}{{|\mathit{\boldsymbol{M}}|}}\sum\limits_{m \in \mathit{\boldsymbol{M}}} {{L_m}} $ (22)

对于染色体实例数量的预测任务,采用均方差MSE作为损失函数,其损失计算方法为

$ {L_{{\rm{amount}}}} = \frac{1}{m}\sum\limits_{j = 1}^m {\sqrt {{{(y_j^\prime - {y_j})}^2}} } $ (23)

式中,${y'_j}$为一个batch中模型预测第$j$个样本包含的染色体实例数,${y_j}$为其实际的实例数。最后AS-PANet的损失函数计算为

$ {L_{{\rm{AS - PANet}}}} = \frac{1}{N}\sum {({L_{{\rm{cls}}}} + {L_{{\rm{Box}}}} + {L_M} + {L_{{\rm{amount}}}})} $ (24)

式中,$N$为一个训练批次的样本数。

2 数据

2.1 数据集构建

为了评估AS-PANet在临床应用中的实际效果,从广东省妇女儿童医院医学遗传中心获取临床染色体显微镜图像数据。该临床染色体数据集共计500幅,通过阈值分割的方式获得染色体簇图像后,使用labelme工具(https://github.com/wkentaro/labelme)标注了882幅染色体簇图像样本。其中训练数据集802幅,测试集80幅。数据标注样例,如图 4所示。

图 4 染色体训练数据标注示例
Fig. 4 Examples of labeled chromosome cluster

2.2 数据增广

对于AS-PANet的训练和精调而言,802个训练样本明显是不够的。训练样本过少极易出现过拟合现象。为了能够最大程度地提升模型的泛化性能,对训练数据集中的802个样本进行增广。

尽管在训练数据集增广中,可以同时对训练数据图像及标注进行垂直变换和水平变换。但是上述两种图像增广方式对训练集的增广效果非常有限。为此,提出了基于仿射变换的标注图像数据增广算法。

算法1:标注数据增广算法

输入:训练数据集$\mathit{\boldsymbol{X}} = \left\{ {\left({{\mathit{\boldsymbol{I}}_k}, {{\mathit{\boldsymbol{I'}}}_k}} \right)} \right\}_{k = 1}^N, {\mathit{\boldsymbol{I}}_k}$为标号为$k$的原始染色体簇图像,${{{\mathit{\boldsymbol{I'}}}_k}}$为对应的标注图像。

输出:增广后的训练数据集$\mathit{\boldsymbol{X'}}$

$\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{X}}$

${\rm{for}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \left({{\mathit{\boldsymbol{I}}_k}, {{\mathit{\boldsymbol{I'}}}_k}} \right){\rm{in}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{X}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{do:}}$//对每个样本进行增广

$\left({\widetilde {{\mathit{\boldsymbol{I}}_k}}, \widetilde {{{\mathit{\boldsymbol{I'}}}_k}}} \right) = {\rm{v\_flip}}\left({{\mathit{\boldsymbol{I}}_k}, {{\mathit{\boldsymbol{I'}}}_k}} \right)$//垂直翻转

$\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{X'}} \cup \left({\widetilde {{\mathit{\boldsymbol{I}}_k}}, \widetilde {{{\mathit{\boldsymbol{I'}}}_k}}} \right)$

$\left({\widetilde {{\mathit{\boldsymbol{I}}_k}}, \widetilde {{{\mathit{\boldsymbol{I'}}}_k}}} \right) = {\rm{h\_flip}}\left({{\mathit{\boldsymbol{I}}_k}, {{\mathit{\boldsymbol{I'}}}_k}} \right)$//水平翻转

$\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{X'}} \cup \left({\widetilde {{\mathit{\boldsymbol{I}}_k}}, \widetilde {{{\mathit{\boldsymbol{I'}}}_k}}} \right)$

  ${\rm{for}}\;\;\theta \;\;in\;\;\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}\;\;do:$//预定义所有旋转的角度

    $\widetilde {{\mathit{\boldsymbol{I}}_k}} = rotate\left({{\mathit{\boldsymbol{I}}_k}, \theta } \right)$//原图像旋转$\theta ^\circ $

    $\widetilde {{{\mathit{\boldsymbol{I'}}}_k}} = rotate\left({{{\mathit{\boldsymbol{I'}}}_k}, \theta } \right)$//标注旋转处理

    $\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{X'}} \cup \left({\widetilde {{\mathit{\boldsymbol{I}}_k}}, \widetilde {{{\mathit{\boldsymbol{I'}}}_k}}} \right)$

  ${\rm{End}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{for}}$

${\rm{End}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{for}}$

${\rm{Return}}\;\mathit{\boldsymbol{X'}}$

在图像增广算法中,$\mathit{\Theta} $表示所有旋转角度参数的集合,其取值为{15, 30, 45, …, 345}。使用上述算法,将旋转后超出边界的样本舍弃,最终从802个训练样本中获得了13 482个训练样本,为模型训练提供了充足的数据保障。

3 实验

3.1 实验环境说明

基于Pytorch框架实现AS-PANet模型,使用opencv-python库作为图像预处理工具。实验所在计算平台的处理器为Intel(R) Xeon(R) CPU E5-2620 0@ 2.00 GHz,内存为80 GB,显卡型号为NVIDIA TITAN XP,显存为12 GB。AS-PANet模型的参数设置如表 1所示。

表 1 AS-PANet模型参数设定
Table 1 The settings of the AS-PANet model

下载CSV
参数
learning_rate 0.000 1
weight_decay 0.000 1
gamma 0. 1
steps [0, 120 000, 160 000]
max_iters 250 000
BATCH_SIZE_PER_IM 512
RPN_PRE_NMS_TOP_N 2000
MASK_RESOLUTION 28

BATCH_SIZE_PER_IM:每幅图像中提取的RoI数量,即在RPN网络部分,最后提取到的RoI数量。

RPN_PRE_NMS_TOP_N:在RPN网络之后,会利用NMS(non-maximum suppression)算法(Neubeck和Van Gool,2006)对提取到的RoI进行处理,筛选出RPN_PRE_NMS _TOP_N个最具有代表性的RoI,此时也将其称为proposal。

MASK_RESOLUTION:在mask预测分支中设定的掩码图分辨率,大小为MASK_RESOLUTION×MASK_RESOLUTION。在实例分割中,一幅图像由于卷积网络的特性,其对于平滑区域可能过采样,对于对象边界可能欠采样,导致预测结果的轮廓变得模糊。所以通常图像分割方法基于低分辨率规则网络来进行预测(Kirillov等,2019)。

在学习率方面,采用了按需调整学习率策略(You等,2017),即Pytorch框架中的Multi-StepLR方法。初始学习率learning_rate为0.000 1,权重衰减变量weight_decay设置为0.000 1以防止过拟合。并且设置间隔区间为[0, 160 000, 200 000],每个batch为4幅图像,一共迭代训练250 000个batch,在0、160 000和200 000次迭代时对学习率进行调整,调整为当前学习率的gamma倍大小。

3.2 实验结果分析

3.2.1 比对实验结果及分析

为了评估AS-PANet模型对染色体实例分割的效果,使用式(2)定义的分割准确率和式(4)定义的平均分割精度mAP作为定量评估指标。同时,采用实例分割最常用的基线模型Mask R-CNN模型(He等,2017)以及改进之前的PANet模型(Liu等,2018)作为对比模型。

对比实验结果如表 2所示,其中Mask R-CNN模型能够从染色体簇中成功分割出81.25%的染色体实例,平均每个实例的分割精确度是87.78%。在相同的数据集中,PANet模型的表现比Mask R-CNN模型更为优越。其中PANet模型的实例分割准确度为83%,比Mask R-CNN模型高出1.75%,平均分割准确度为89.45,比Mask R-CNN模型高出1.67%。本文AS-PANet模型能够从染色体簇中正确分割出85%的实例,相比基线模型提升了3.75%,平均每个实例的分割精度高达90.63%,相比基线模型提升2.85%。

表 2 实验结果汇总
Table 2 Summary of experimental results  

下载CSV
/%
模型 mAP 准确率
Mask R-CNN(基线) 87.78 81.25
PANet 89.45(1.67↑) 83.00(1.75↑)
本文(AS-PANet) 90.63(2.85↑) 85.00(3.75↑)
注:加粗字体表示最优值。

通过对比实验以及上述分析表明,本文方法相比经典的实例分割模型Mask R-CNN和优秀的实例分割模型PANet更加符合染色体实例分割任务,能够获得更高的分割准确率和分割精度。

为了验证所提数据增广算法的有效性,进行了严格的消融对照实验,实验结果如表 3所示。

表 3 数据增广消融实验结果
Table 3 Results of ablation experiments  

下载CSV
/%
模型 增广 mAP 准确率
PANet 65.86 55.33
89.45(23.59↑) 83.00(27.67↑)
本文(AS-PANet) 68.31 60.26
90.63(22.32↑) 85.00(24.74↑)
注:加粗字体表示最优值。

消融实验结果表明,在没有足够标注数据的情况下,无论是PANet模型还是本文模型均不能得到有效的训练,导致在染色体实例分割中的结果不理想。使用本文数据增广方法后,两个模型都可以得到有效的训练,无论是分割准确率还是分割精确度均有超过20%的提升幅度。该消融实验结果表明了该标签数据集增广算法的有效性。

3.2.2 切割实例样例分析

为了能够更加清楚地展示模型在实际应用中的效果和存在的问题,可以通过实际样例进一步进行分析和讨论。

图 5展示了部分模型的分割效果图样例。第1行的图像为原始的染色体簇,原始图像中包含了多条染色体实例接触的情况和多条染色体交叉并且重叠的情况。第2行为AS-PANet模型的预测结果。从模型的预测结果看,所有实例均被正确分割。但从模型的分割精度看,仍有改进的空间,例如在图 5的第4列的样例中,右下角的染色体实例仍有部分区域没有被正确分割。

图 5 染色体实例分割样例图
Fig. 5 The example of chromosome cluster segmentation results
((a)chromosome cluster images (b) corresponding segmentation results where different colors mean different instances)

4 结论

本文提出基于深度学习的AS-PANet染色体簇分割模型,能够有效解决多条染色体接触、重叠和交叉的情况下染色体实例的分离和分割问题。交叉、重叠染色体实例分割问题一直是制约染色体自动核型化分析的最大挑战和难题。本文模型在临床染色体实例分割中进行实验,证明了所提方法解决重叠、交叉染色体簇实例分割问题的有效性。本文的主要贡献总结如下:

1) 提出并实现了基于领域专家信息预测的染色体交叉、重叠实例分割AS-PANet模型。

2) 使用临床染色体数据进行人工标注并构建了染色体实例分割数据集,并提出有效的标签数据集增广算法。

3) 从染色体切割的准确率和精确度两个维度在临床数据集上开展严格的对比实验,证明本文模型优于常用的基线模型。

本文AS-PANet模型的亮点可以总结如下:

1) 分割准确度高。AS-PANet模型在临床数据集的切割中获得了85%的分割准确度和90.63%的分割精度,均优于PANet模型和实例分割金标准Mask R-CNN模型。

2) 适应场景广。与较早的基于几何特征的染色体实例分割方法(Arora和Dhir,2019)相比, 本文模型不受具体几何规则的约束,泛化性更好。与前期的基于神经网络的实例分割方法(Hu等,2017)相比,本文方法不局限于处理两条实例交叉的情况,实用性更广。

尽管本文模型在临床数据集的验证中获得了比早前研究更好的结果,但并不代表本文方法没有局限性。当前,该方法在分割准确度和分割精度仍有提升的空间,未来通过增加更多的标注数据对模型进行训练和精调来实现更加精准的分割效果。

参考文献

  • Arora T , Dhir R. 2019. A novel approach for segmentation of human metaphase chromosome images using region based active contours. The International Arab Journal of Information Technology, 16(1): 132-137
  • Feng T, Chen B and Zhang Y F. 2020. Chromosome segmentation framework based on improved mask region-based convolutional neural network[EB/OL].[2020-05-01]. https://www.cnki.net/KCMS/detail/51.1307.TP.20200609.0949.002.html (冯涛, 陈斌, 张跃飞. 2020.基于改进的Mask R-CNN的染色体图像分割框架[EB/OL].[2020-06-09]. https://www.cnki.net/KCMS/detail/51.1307.TP.20200609.0949.002.html)
  • Girshick R. 2015. Fast R-CNN//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE: 1440-1448[DOI:10.1109/ICCV.2015.169]
  • Grisan E, Poletti E , Ruggeri A. 2009. Automatic segmentation and disentangling of chromosomes in Q-band prometaphase images. IEEE Transactions on Information Technology in Biomedicine, 13(4): 575-581 [DOI:10.1109/TITB.2009.2014464]
  • He K M, Gkioxari G, Dollár P and Girshick R. 2017. Mask R-CNN//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy: IEEE: 2980-2988[DOI:10.1109/ICCV.2017.322]
  • He K M, Zhang X Y, Ren S Q and Sun J. 2016. Deep residual learning for image recognition//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE: 770-778[DOI:10.1109/CVPR.2016.90]
  • Hu R L, Karnowski J, Fadely R and Pommier J P. 2017. Image segmentation to distinguish between overlapping human chromosomes[EB/OL].[2020-05-01]. https://arxiv.org/pdf/1712.07639v1.pdf
  • Kirillov A, Wu Y X, He K M and Girshick R. 2019. PointRend: image segmentation as rendering[EB/OL].[2020-05-01]. https://arxiv.org/pdf/1912.08193.pdf
  • Kong T, Yao A B, Chen Y R and Sun F C. 2016. HyperNet: towards accurate region proposal generation and joint object detection//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE: 845-853[DOI:10.1109/CVPR.2016.98]
  • Li K, Xie N, Li X , Tan K. 2020. Statistical karyotype analysis using CNN and geometric optimization. Journal of Nanjing University (Natural Science), 56(1): 116-124 (李康, 谢宁, 李旭, 谭凯. 2020. 基于卷积神经网络和几何优化的统计染色体核型分析方法. 南京大学学报(自然科学), 56(1): 116-124) [DOI:10.13232/j.cnki.jnju.2020.01.013]
  • Lin C C, Zhao G S, Yang Z R, Yin A H, Wang X M, Guo L, Chen H B, Ma Z H, Zhao L, Luo H Y, Wang T X, Ding B C, Pang X W and Chen Q R. 2020. CIR-Net: automatic classification of human chromosome based on inception-ResNet architecture.[EB/OL].[2020-05-01]. https://ieeexplore.ieee.org/abstract/docurment/9120197[DOI:10.1109/TCBB.2020.3003445]
  • Lin T Y, Dollár P, Girshick R, He K M, Hariharan B and Belongie S. 2017. Feature pyramid networks for object detection//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE: 936-944[DOI:10.1109/CVPR.2017.106]
  • Liu S, Qi L, Qin H F, Shi J P and Jia J Y. 2018. Path aggregation network for instance segmentation//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE: 8759-8768[DOI:10.1109/CVPR.2018.00913]
  • Liu W, Anguelov D, Erhan D, Szegedy C, Reed S, Fu C Y and Berg A C. 2016. SSD: single shot MultiBox detector//Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer: 21-37[DOI:10.1007/978-3-319-46448-0_2]
  • Minaee S, Fotouhi M and Khalaj B H. 2014. A geometric approach to fully automatic chromosome segmentation//Proceedings of 2014 IEEE Signal Processing in Medicine and Biology Symposium. Philadelphia: IEEE: 1-6[DOI:10.1109/SPMB.2014.7163174]
  • Neubeck A and Van Gool L. 2006. Efficient non-maximum suppression//Proceedings of the 18th International Conference on Pattern Recognition. Hong Kong, China: IEEE: 850-855[DOI:10.1109/ICPR.2006.479]
  • Ronneberger O, Fischer P and Brox T. 2015. U-Net: convolutional networks for biomedical image segmentation//Proceedings of the 18th International Conference on Medical Image Computing and Computer-Assisted Intervention. Munich, Germany: Springer: 234-241[DOI:10.1007/978-3-319-24574-4_28]
  • Shaffer L G, McGowan-Jordan J and Schmid M. 2013. ISCN 2013: An International System for Human Cytogenetic Nomenclature. Basel: Karger Medical and Scientific Publishers
  • You Y, Gitman I and Ginsburg B. 2017. Large batch training of convolutional networks[EB/OL].[2020-05-01]. https://arxiv.org/pdf/1708.03888.pdf