科 / 研 / 图 / 像 / 处 / 理
Cellpose,是一种通用的、基于深度学习的细胞分割方法。
Cellpose 是目前 可运用范围最广且效果最好 的细胞分割模型,值得大家认真学习。之前写了一系列关于 Cellpose 使用的文章,可供大家参考:
(1)本地安装 CPU 版本的 Cellpose,并利用 Cellpose 的 GUI 进行细胞分割:
(2)Python 脚本调用 Cellpose,进行自动细胞计数:
(3)Python 脚本中调用 Cellpose,并利用 GPU 进行加速:
点击跳转《细胞分割神器 Cellpose(GPU加速)》
Cellpose 提供了许多预训练的神经网络,针对不同类型的图像设置了不同的模型,在不同模型上都可以得到良好结果 :
An ensemble of models with different segmentation styles
但这样的模型不允许用户根据其特定需求调整分割风格,并且对于与训练图像非常不同的测试图像的表现可能不佳。
Cellpose 2.0,作为 Cellpose 1.0 的升级版本,包括多种不同的预训练模型,并提供了一个通过 Human in the loop,快速训练自定义模型的流程:
官方教程:https://www.youtube.com/watch?v=5qANHWoubZU
这篇文章会介绍怎样利用 Cellpose 2.0,用自己的数据训练一个定制的细胞分割模型。
参考之前的文章:
点击跳转《细胞分割神器 Cellpose(GPU加速)》
二、选择预训练模型
1、数据准备
首先将同类型的图片放在同一文件夹下:
打开 Cellpose GUI,加载文件夹中的一张图片:
2、测试不同预训练模型
Cellpose 自带的预训练模型有 14 个:
可以点击不同的 Model 进行测试,选择结果最好的模型作为初始的预训练模型:
这里选择 cyto2 这个 model,因为它的 false positive 是最少的。
三、人工标注ROI
预训练模型的分割结果往往不是完美的,我们需要在此基础上删除分割错误的 ROI,重新标注正确的 ROI,或者标注出没有被分割的 ROI。
删除分割错误的ROI:Ctrl + Left Click
人工标注新的ROI:Right Click一次,沿着细胞轮廓拖动鼠标,画出完整边界后再Right Click(如果头尾相接,会自动生成ROI,不用二次Right Click)
每次标注 ROI,都会自动在图像所在文件夹生成 .npy 文件
四、模型训练
在 ROI 标注完成后,在 Models 中点击Train new model with image+masks in folder:
设置训练参数,这里主要是选择 initial model 并对 model 进行命名:
点击 OK 后,即可调用 GPU 进行 training:
训练 100 个 epoch 后,会自动打开图像文件夹的另一张图像,并利用刚才训练的模型进行分割:
然后再重复第三步-人工标注 ROI,然后再训练,反复迭代最终得到一个效果较好的模型。
Cellpose 2.0 论文中提到,这种 Online Human-in-the-loop 的方式,跟从头训练一个分割模型相比,可以标注更少的 ROI(几十到几百个),更快得到一个效果好的模型。
Average precision curves as a function of the number of manually annotated ROI
Cellpose 会自动保存自定义的模型,后面可以在 custom models 中直接调用。
通过利用 Cellpose 2.0 的预训练模型,可以很轻松地利用自己的数据,来训练一个定制的分割模型。
后面会介绍怎样利用 Cellpose 进行 3D 细胞的分割。
往期回顾