1. 引言
染色体核型分析是医学诊断中不可或缺的辅助工具,在识别染色体易位、缺失等异常、诊断遗传性疾病以及进行细胞遗传学分类和染色体变异研究方面发挥着关键作用。然而,传统分析方法主要经经验丰富的染色体遗传学专家人工核对,这制约了染色体分析领域的发展。
自动化染色体核型分析被视为解决这一瓶颈的有效途径,其核心流程通常包括染色体图像选择、染色体与簇从背景中提取、粘连/重叠染色体的分割以及分割后染色体的分类四个关键阶段[1]。早期的自动化方法主要依赖传统数字图像处理和机器学习技术(如基于中轴特征的分类器、基于阈值/几何特征的分割等) [2],这类方法受限于人工设计特征的表达能力,泛化能力不足,在复杂的临床环境中处理能力有限。
近年来,基于深度学习的自动化方法展现出显著优势,例如在分割任务上,基于卷积神经网络(CNN)的方法在精度上已超越传统方法[3]。然而,深度学习在染色体核型分析中的应用仍面临严峻挑战:
(1) 数据标注成本高昂:染色体是线状非刚性结构,中期图像中常存在强度不均、交叉、重叠现象,需要经验丰富的遗传学家进行精细(尤其是像素级)标注,导致高质量标注数据极其稀缺。
(2) 模型泛化能力不足:不同显微镜系统、成像协议和染色条件导致染色体图像存在显著的域差异(Domain Shift)。在有限标注数据上训练的模型极易过拟合特定来源数据,跨域泛化能力差。
数据稀缺和域差异问题严重阻碍了深度学习在染色体分析领域的广泛应用和快速发展,为了解决这些核心挑战,本文提出了一种结合半监督学习与迁移学习的策略,应用于染色体实例分割任务。该方法旨在显著降低对大量精细标注数据的依赖,并提升模型在跨域场景下的适应性和泛化性能。
2. 相关工作
2.1. 染色体分割方法
染色体分割任务的目标是提取染色体实例,大体上可以分为两种方案:
(1) 语义分割网络侧重于对于图像的每个像素分配标签,例如Hu等人[4]于2017首次提出了基于U-Net [5]的染色体语义分割神经网络。Sun等人[6]则利用了SS扩张卷积和GI扩张卷积与U-Net相结合的模型,通过改变扩张率来调整感受野大小。它们通常在处理局部区域(如重叠染色体簇)时表现良好,但在处理完整中期图像并区分密集、交叉的染色体实例时效果不佳。
(2) 实例分割网络不仅具备语义分割网络的特点,还能在全局图像上区分所有的实例对象。例如Xie等人[7]利用Mask-R-CNN [8]实例分割模型对染色体中期图像进行分割,后续也有研究者[9]结合方向信息,在Mask-R-CNN基础上改进出了Mask Oriented R-CNN染色体实例分割模型。
Cascade-R-CNN [10]则利用了预测细分和自适应处理提高了检测的准确度,是一种多阶段检测模型。Chen等人[11]提出了混合级联(Hybrid Task Cascade, HTC)模型,充分利用Cascade-R-CNN和Mask-R-CNN模型的优点,通过在每个阶段结合级联和多任务的方法来改善信息流,充分利用空间上下文提高准确性,将目标检测和语义分割结合在一起提高实例分割的性能[12]。鉴于HTC在复杂目标分割上的优异表现,本文将选用其作为基础的实例分割模型框架。
2.2. 迁移学习
迁移学习(Transfer learning)是缓解域差异问题的关键技术,其核心思想是指将模型在现有的任务上学习到的知识应用到相关联的领域中,具体到深度学习上是指将训练好的模型参数作为新模型初始化赋值,然后用新任务的数据继续训练[13]。在实例分割领域,通常采用在大规模自然图像数据集(如COCO数据集)上预训练的模型权重作为初始化参数。有研究表明[14],通过迁移学习,将预训练的模型应用于U-Net网络,并在特定数据集的微调,得到的迁移学习模型在图像分割任务中,性能优于从头开始训练的U-Net模型。在染色体分析中,迁移学习对于克服不同显微镜系统成像差异(如染色均匀性、背景噪声、形态表征)导致的泛化难题尤为重要。
2.3. 半监督学习
半监督学习(Semi supervised Learning)旨在利用大量未标注数据辅助少量标注数据进行模型训练,从而降低对昂贵标注的依赖。在标注成本极高的染色体实例分割领域,半监督学习具有巨大潜力,主要方法包括[15]:
(1) 生成式方法:利用生成模型(如GAN)大规模合成数据来扩充数据集,如文献[16],该方法实现简单,但生成数据的质量和多样性依然是关键性的挑战。
(2) 一致性正则化:对未标注数据施加噪声,对模型进行约束,使原始样本和噪声样本的预测保持一致。这种方法可以有效减少过拟合,鲁棒性好,但引入的随机噪声可能会带来误差。
(3) 基于图的方法:利用少量携带标注的数据信息与无标注信息混合,构建相似图与亲和矩阵,图结构反映了节点之间的相似性,大量未标记相似节点的加入便提升了模型效果。
(4) 伪标签方法:先使用标注数据训练初始模型,然后用该模型预测未标注数据生成“伪标签”,筛选高置信度伪标签加入训练集进行迭代训练。该方法灵活、应用广泛,能有效利用未标注数据提升泛化性。
在医学图像领域,由于数据规模天然受限且隐私要求高,伪标签方法因其不依赖大规模初始数据集且能有效利用真实未标注图像的特性,被认为具有较大优势。文献[17]的工作展示了对比学习结合伪标签在半监督医学图像分割中的有效性。
参考这些方法,本文改进并测试了一种基于混合半监督学习方法的染色体实例分割HTC模型,结合迁移学习与半监督学习,通过预训练的迁移权重来逐步更新伪标签,使用少量的标注数据图和大量非标注数据图来完成染色体实例分割任务。
3. 方法
3.1. 半监督迁移学习流程设计
算法模型框架如图1所示。
Figure 1. Algorithm model flowchart
图1. 算法模型流程图
(1) 第一阶段将选取400张已人工标注的图像构成初始训练集,用于训练HTC实例分割模型。训练完成后,获得一组具有较高分割精度的预训练模型权重,将其作为模型的初始权重。在正式迭代训练开始前,执行一次伪标签生成流程以初始化训练数据,将使用该预训练模型对无标注数据进行像素级预测,之后筛选出置信度高于预设初始阈值的预测结果作为伪标签,最后将这些伪标签与初始的真实标注合并,形成包含伪标签的初始训练数据集。
(2) 在第二阶段,使用上述包含伪标签的新训练数据集,重新训练HTC实例分割模型。训练结束后,再次执行伪标签更新流程。首先使用当前训练得到的最新模型对无标注数据进行预测,逐步提高置信度阈值,并筛选出高于新阈值的预测结果作为更新后的伪标签,再将这些新的伪标签与真实标注合并,构建更新的训练数据集。随后,基于更新后的数据集重新训练模型。此过程将会循环迭代运行,直至达到预设的最大训练轮数或伪标签置信度阈值达到设定的上限。
3.2. 伪标签更新模块
迁本文中提出的伪标签更新模块是一种针对染色体图像分析的动态伪标签更新机制,该模块通过迭代优化伪标签的质量与可靠性,有效缓解了半监督学习中的噪声累积问题,包含以下关键步骤,关键代码实现见表1:
(1) 候选区域生成
基于当前训练模型对未标注图像的前向推理结果,采用自适应阈值筛选策略获取初始候选区域:
其中,
、
、
分别表示预测框坐标、置信度得分及实例掩码,
为第
轮迭代的动态阈值(初始值
,衰减因子
)。该策略在训练初期采用较高阈值保证伪标签可靠性,并将会随训练进程逐步放宽以覆盖更多潜在正样本。
(2) 形态学约束与标注融合
为契合染色体图像的生物学特性,设计双重过滤准则:
几何约束:剔除长宽比
[0.5, 2]或面
[5, 100]像素值的异常预测;
重叠区域抑制:对于真实标注区域
,我们将计算候选伪标签掩码
与
的交并比(IoU),若
,则判定为冗余检测并剔除:
此操作可避免系统标注真实数据部分,又防止系统注意力无视染色体潜在的重叠区域。
(3) 渐进式伪标签融合
我们将通过迭代式标注更新实现训练数据的动态增强,每K轮训练周期(本文中设置K = 5)生成新版伪标签集
,并同步保存每个版本以供回溯。维护窗口大小
的历史伪标签集,采用非极大值抑制(NMS)融合多版本预测,提升标注一致性。混合训练中,将融合后的伪标签
输入检测模型,通过加权损失函数平衡监督与无监督信号:
Table 1. Pseudo-label generation algorithm
表1. 伪标签生成算法
算法:生成染色体实例伪标签(Generate Chromosome Pseudo-Labels) |
输入:图像 img, 预训练模型 model, 置信阈值 score_thr, 已有标注掩码 ann_filter 输出:COCO格式伪标签字典 `pseudo_ann` 1: preds ← model.predict(img) 2: pseudo_ann ← {filename: img.name, width: img.width, height: img.height, annotations: []} 3: for each inst in preds: 4: if inst.score < score_thr: continue 5: mask ← inst.mask 6: if ann_filter: 7: overlap = area(mask ∩ ann_filter) 8: if overlap > 0.3: continue 9: polygons = mask_to_polygons(mask) 10: if not polygons: continue 11: bbox = [x, y, w, h] 12: pseudo_ann['annotations'].append({ 13: 'bbox': bbox, 14: 'area': area(mask), 15: 'category_id': inst.label, 16: 'iscrowd': 0, 17: 'segmentation': polygons 18: }) 返回: pseudo_ann |
注:(1) 代码基于MMDetection v3.3.0实现,预测输出包含HTC模型的score,mask,label,bbox。(2) mask_to_polygons的实现:使用OpenCV的findContours (检索外部轮廓)和approxPolyDP (精度因子 = 0.002 × 轮廓周长)生成简化多边形,当顶点数 ≥ 3视为有效。(3) 实验选定的置信阈值score_thr为0.7,重叠过滤阈值为0.3,并且按照COCO要求为每一个实例安排了全局ID。
4. 实验结果与分析
4.1. 数据集划分与评价指标
本文使用的数据集分为多部分,分别来自合作医院,互联网公开数据,以及文献[18]作者的开源数据集合计共约4000张图像,并且遵循COCO数据集的格式统一转换数据,含标注的图像将所有的染色体统一标记为chromosome,标注信息将会保存在json文件中。
图例如图2所示。合作医院提供了高质量的未标注图像数据,统一调整尺寸为640 * 480,组成了无标注数据部分。针对标注数据,对文献[18]提供的样本进行了修剪,并按照不同比例和无标注数据混合构建数据集备用。
Figure 2. Chromosome images in different staining styles
图2. 不同风格的染色体图像
为了在一定程度上定量分析性能指标,我们参考了COCO数据集的评价标准,使用不同IoU阈值下的平均精度均值(mean Average Precision, mAP)来评估分割算法的综合性能,并且区分检测框(BBox)与掩码(Mask)指标,并同时记录AP50 (IoU = 0.5),AP75 (IoU = 0.75)等评价标准来辅助分析,划分的训练数据集如表2,测试数据集为随机抽取的100张中期染色体图像。
Table 2. Training set division diagram
表2. 训练集划分示意表
数据集 |
图片数量 |
标注比例 |
D1 |
400 |
100% |
D2 |
800 |
50% |
D3 |
1600 |
25% |
D4 |
400 |
0% |
D5 |
4000 |
50% |
D6 |
4000 |
25% |
D7 |
4000 |
10% |
D1数据集源自单一图像来源,所有标注均由遗传学专家手工绘制完成。D2与D3数据集以D1的标注为基础,分别引入了400张与800张来自不同数据源的真实无标注图像,旨在评估在现有标注数据基础上融合真实图像伪标签后的模型性能变化。D4数据集不含任何标注信息,且图像内容与D1完全不同,用于测试模型在无监督学习场景下的泛化能力。D5与D6数据集对部分图像依托labelme进行了人工标注,以模拟大规模图像数据集环境,从而探究在减少标注成本的前提下模型所能达到的性能水平。D7数据集以D1的标注为核心,进一步扩充了3600张真实图像并生成大量伪标签,用于验证在极端数据扩展情况下模型的潜力与稳定性。
4.2. 实验环境设置
本文实验在Windows11操作系统上进行实验,显卡为NVIDIA/ GeForce RTX 4060。模型使用Hybrid Task Cascade实例分割模型,实验骨干网络为ResNet50,该模型依托于MMDetection开发框架编写,使用的版本为MMDetection v3.3.0,依赖的Cuda版本为11.8,mmcv为2.1.0。HTC模型的超参数针对染色体实例分割任务进行了适应性微调,模型neck部分增加了P2层以增强表层特征提取,保留更多细节。为了适应染色体图像特点,RPN候选域大小被设置为[4, 8, 16, 32, 64]。ROI特征提取器参数设置为2 × 2,以启用更密集采样。
在训练中,我们使用了使用β1 = 0.9,β2 = 0.999的Adam分类器。批次设置为2,学习率初始化为 0. 001,余弦退火调度至0.0001,总训练轮数为20,第16和19个轮次后启用衰减。
为了胜任半监督迁移染色体分割任务,本文对MMetection预设的HOOK进行了替换,部署了一个自定义HOOK钩子,该钩子将会按照2.2节设计的框架触发各模块,具体配置如下(具体代码实现见表3):
Table 3. Pseudo-label update algorithm
表3. 伪标签更新算法
算法:伪标签更新钩子(Pseudo-Label Update Hook) |
类: PseudoLabelUpdateHook(Hook) 方法: before_run(runner): 1: if not self.initialized and exists(initial_checkpoint): 2: generator = ChromoPseudoLabelGenerator( 3: config = generator_cfg.config, 4: checkpoint = initial_checkpoint, 5: score_thr = score_thr 6: ) 7: generator.generate( 8: img_dir, original_ann_path, ann_path, epoch = 0 9: ) 10: self._update_dataloader(runner) 11: self.initialized = True 方法: after_train_epoch(runner): 12: if runner.epoch % update_interval ! = 0: return 13: ckpt = format(generator_cfg.checkpoint, runner.epoch) 14: generator = ChromoPseudoLabelGenerator( 15: config = generator_cfg.config, 16: checkpoint = ckpt, 17: score_thr = score_thr 18: ) 19: generator.generate( 20: img_dir, original_ann_path, ann_path, runner.epoch 21: ) 22: score_thr = min(score_thr + 0.05, 0.7) 23: self._update_dataloader(runner) 方法: _update_dataloader(runner): 24: merged_ann = merge_annotations(original_ann_path, ann_path) 25: runner.train_loop.dataloader.dataset.update_annotations(merged_ann) 26: runner.train_loop.dataloader = rebuild_dataloader() |
注:(1) 初始化阶段使用预训练模型(initial_checkpoint)生成初始伪标签,且在预设轮数后更新伪标签。(2) 数据更新时,将使用当前检查点数据,并按照原始标注优先原则更新伪标签,并重建数据集。(3) 置信阈值逐步提升(每次 + 0.05,过滤上限为0.7)。
(1) 初始置信度阈值
,更新周期K = 5,且自动配置前一轮保存的检查点文件初始化伪标签生成器,确保模型状态一致性。
(2) HOOK在初始化阶段会提前加载预训练权重获取初始伪标签,重构Data Loader以载入混合标注数据(真实标注 + 伪标注)。初始化结束后,渐进式更新阶段的HOOK将基于当前模型对未标注图像预测实例掩码,保留置信度高于动态阈值的候选区域,并在训练集更新后,采用内存映射机制快速重建Data Loader,减少IO延迟。
4.3. 实验结果分析
4.3.1. 预训练伪标签权重
我们使用了D1数据集作为预训练伪标签权重的核心,检测实例如图3所示。图中每个选框代表了检测到的染色体实例,并且标识了预测概率。
D1数据集实验表明,在一些复杂的交叉情况中表现得也较为良好。在图4中,一并给出了染色体不同分布情况的实验结果。在后续的实验中,我们将使用该权重进行伪标签的初次预测。
注:左为含标注原图,右为HTC模型预测的结果。
Figure 3. Schematic of D1 data instance segmentation
图3. D1数据实例分割示意
注:左右图分别为染色体周围杂质较多情况,染色体分布分散情况。
Figure 4. Other examples
图4. 其他示例
4.3.2. 伪标签迁移学习分析
分别对数据集D2~D7进行半监督迁移学习,实验数据结果如表4所示,对比图如图5所示。
Table 4. Experimental results of chromosome pseudo-labeling dataset
表4. 染色体伪标签数据集实验结果
|
BBox |
Mask |
mAP |
AP50 |
AP75 |
mAP |
AP50 |
AP75 |
D1 |
56.7 |
93.9 |
62.6 |
64.1 |
95.4 |
78.5 |
D2 |
72.8 |
94.6 |
87.1 |
56.4 |
94.1 |
71.4 |
D3 |
73.1 |
95.6 |
88.3 |
50.3 |
91.4 |
51.2 |
D4 |
55.1 |
92.6 |
62.5 |
45.3 |
91.8 |
35.8 |
D5 |
75.2 |
96.8 |
89.3 |
63.1 |
94.8 |
74.9 |
D6 |
75.1 |
96.9 |
89.1 |
49.2 |
91.3 |
48.3 |
D7 |
55.5 |
93.1 |
62.6 |
44.6 |
90.6 |
34.3 |
注:上行分别为掩码图,D1~D3分割效果图,下行为D4~D7分割效果图。
Figure 5. Detection comparison across different datasets
图5. 不同数据集检测对比图
与基准模型D1相比,使用伪标签训练的模型D2和D3在目标检测(BBox)精度上取得了显著提升,特别是严格IoU阈值下的AP75指标(D2: 87.1% vs D1: 62.6%; D3: 88.3% vs 62.6%),这有力证明了伪标签生成的边界框位置具有较高的准确性,并且显著增加了模型对于更精确定位的推理能力。然而,在像素级(Mask)精度上,D2和D3均出现下降,尤其是在高IoU阈值(Mask AP75)下性能降低更为显著(D2: 71.4% vs 78.5%; D3: 51.2% vs 78.5%)。这表明,当前使用的算法有助于提升模型的定位能力,但其在像素级分割上的置信度不完全可靠。在严格的评估标准下,这一问题暴露得更加明显,并且随着伪标签数量的增加(如D3),分割性能的下降可能更为严重。
采用大规模半监督数据集训练的模型D5,其目标检测精度(BBox mAP: 75.2% vs 56.7%; AP75: 89.3% vs 62.6%)相比D1实现了大幅提升。这验证了半监督学习在提升检测任务上的有效性,大规模数据不仅显著优于小规模数据(避免了过拟合风险),且D5的标注含量仅为50%,节省了大量标注成本。在分割任务上,D5的Map (63.1%)与D1 (64.1%)基本持平,但其严格阈值下的AP75 (74.9% vs 78.5%)仍略低于D1,表明分割精度在高要求下仍存在提升空间。
当进一步减少真实标签数量时(D6),模型性能相比D5出现下降。这种下降在实例分割任务上尤为突出,其mAP降至49.2% (D5: 63.1%),而最严格阈值下的AP75更是显著下降至48.3% (约为D5 AP75的64.5%)。这凸显了在分割任务中,并不准确的像素掩码会给模型带来困扰,即使是相对少量的真实标签,对于维持高精度要求下的模型性能,起着至关重要的作用。
在几乎完全依赖伪标签且仅有极少真实标签(D7)或完全没有真实标签(D4)的情况下,模型的分割性能出现显著恶化。尽管它们在宽松IoU阈值下的检测定位精度(BBox AP50: D7: 93.1%, D4: 92.6%)能够接近D1 (93.9%),但其分割精度(Mask mAP: D7: 44.6%, D4: 45.3% vs D1: 64.1%; AP75: D7: 34.3%, D4: 35.8% vs D1: 78.5%)严重下降,特别是在Mask AP75指标上表现最差。多次迭代也难以将伪标签的置信度提升到足够高的水平,这也说明了在缺乏真实标签指导的情况下,模型在高精度分割任务上非常容易受到伪标签噪声的干扰。
5. 风险分析
我们的实验结果表明,基于伪标签的半监督学习策略能显著提升模型的目标定位能力,但在高精度分割任务上却需要性能权衡,表现为掩码AP,尤其是高IoU阈值(如MASK AP75)下的精度损失。本节将深入探讨这一分割精度的细微下降,对于染色体分析等实际临床任务可能产生的潜在影响。
染色体分类严重依赖于其形态特征,如着丝粒位置、臂长比例以及整体长度。一个不够精确的掩码可能会扭曲这些关键的形态学参数,这会导致对染色体总长度和着丝粒位置的估算不准确。如果在同源染色体中一条的掩码“更瘦长”,而另一条被分割得“更粗短”,即便它们的边界框位置和大小相近,自动化系统仍然可能无法将它们识别为匹配对,或与错误的染色体进行配对。而我们的模型D3和D4在Mask AP75上存在下降(分别为51.2%和35.8%),表明其产生的掩码边界在严格标准下与真实形状存在较大偏差。这种偏差虽不一定影响宽松标准下的检测定位(BBox AP50仍高达92%),但足以对依赖精确轮廓的中期图像实例分类系统引入系统性误差,直接降低在中期图像上实现核型分析自动化的可能性。例如,一条染色体的短臂因分割边界向内收缩而被低估,其臂率(长臂长度/短臂长度)将会增大。这可能导致将原本应为“亚中着丝粒”的染色体(如C组染色体)误判为“中着丝粒”染色体(如F组染色体),从而造成分类错误。
综上所述,本研究揭示了一种性能权衡,我们采用的半监督方法在目标检测定位任务上表现优异,能高效且低成本地提升模型找到并框定染色体的能力;然而,这种方法在高精度分割任务上存在明确的性能损失。这种掩码精度的下降带来潜在风险,它可能对下游的染色体分类、配对和异常检测等临床任务产生连锁性的负面影响。因此,在将此类模型投入实际临床应用前,必须正视并设法解决这一问题。未来的工作将集中于开发更先进的伪标签净化策略、设计对边界敏感的分割损失函数,或探索引入极少量高质量真实标签以稳定分割性能的方法,以期在享受半监督学习带来的标注成本红利的同时,确保分割结果的精确性与临床可靠性。
6. 结语
本研究提出了一种基于HTC模型的渐进式半监督迁移学习方法,旨在应对染色体图像分析中标注资源密集的挑战。该方法通过结合大规模自然图像预训练模型的迁移初始化与渐进式伪标签迭代优化,有效降低了标注需求,扩充了训练数据规模,显著提升了模型在训练样本稀缺场景下的泛化能力,并缓解了过拟合风险。
实验结果表明,相较于仅使用有限标注数据的全监督基准模型(D1),本方法训练的模型在目标检测精度(BBox)上取得了显著提升。在实例分割任务中,模型在中等IoU阈值(AP50)下的性能与全监督模型相当,验证了该方法在核心分割任务上的有效性。通过系统性地引入不同比例的无标注数据进行验证,实验结果充分证明了渐进式半监督学习策略在染色体图像分割领域,适应不同标注比例场景的潜力。
尽管本方法取得了积极进展,但仍存在局限性:当前伪标签生成的掩码边界不够精确,主要提供目标的大致区域,导致在高IoU阈值(AP75)下的分割性能有待提升。未来的研究工作将聚焦于探索更鲁棒的掩码伪标签生成与优化策略(如改进边界细化、置信度校准或不确定性建模),以显著提升AP75指标下的掩码精度,从而更彻底地解决染色体医学图像分割的高标注成本难题。