English | 中文版 | 手機(jī)版 企業(yè)登錄 | 個(gè)人登錄 | 郵件訂閱
當(dāng)前位置 > 首頁 > 技術(shù)文章 > 論文解讀:Cellpose 軟件在細(xì)胞分割領(lǐng)域的應(yīng)用

論文解讀:Cellpose 軟件在細(xì)胞分割領(lǐng)域的應(yīng)用

瀏覽次數(shù):3642 發(fā)布日期:2023-4-3  來源:本站 僅供參考,謝絕轉(zhuǎn)載,否則責(zé)任自負(fù)
科技前沿 | "AI的狂飆" Cellpose: 細(xì)胞分割領(lǐng)域的ChatGPT​

圖片
本文作者:蘇濟(jì)雄(李博課題組)

復(fù)旦大學(xué)腦科學(xué)轉(zhuǎn)化研究院

 

細(xì)胞分割與Cellpose

基于顯微鏡圖像的單細(xì)胞分析是目前生命科學(xué)領(lǐng)域的前沿和熱點(diǎn)問題。細(xì)胞分割能對成像圖片進(jìn)行批量處理,將其形態(tài)、位置、RNA 表達(dá)和蛋白質(zhì)表達(dá)等信息賦予識(shí)別出的每個(gè)細(xì)胞。比如:
  • 對于多光子鈣成像分析,需要識(shí)別出單個(gè)神經(jīng)元,才能提取每個(gè)神經(jīng)元的鈣熒光信號(hào),進(jìn)行下游的處理和分析;
  • 對于空間轉(zhuǎn)錄組分析,也需要分割細(xì)胞,將 RNA 的表達(dá)量賦予單個(gè)細(xì)胞;

  • 對于醫(yī)學(xué)診斷而言,通過細(xì)胞的大小、形態(tài)、位置以及計(jì)數(shù)來診斷病變

  • ……
由此可見,細(xì)胞分割的意義可見一斑。【注:深度學(xué)習(xí)用于細(xì)胞分割的應(yīng)用案例請點(diǎn)擊Make it Evident丨TruAI 加速狼瘡腎炎病理學(xué)診斷查看!

Cellpose 是一款基于深度學(xué)習(xí)算法的細(xì)胞分割的開源軟件,已發(fā)表兩篇論文,都發(fā)表在 Nature Methods 上,即 Cellpose 1.0 和 2.0 版本。

圖片

該款軟件使用 Python 語言編寫,憑借其良好的細(xì)胞分割效果、不錯(cuò)的運(yùn)行速度、易于使用的界面、支持與其他軟件聯(lián)動(dòng)等特性,獲得了廣泛的使用和認(rèn)可,在GitHub上獲得770+的star數(shù),可謂是細(xì)胞分割領(lǐng)域的"ChatGPT"。



Cellpose 論文解讀

Cellpose軟件主要由來自珍妮莉亞研究園區(qū) (Janelia Research Campus)的研究員“夫妻檔” Marius Pachitariu 與 Carsen Stringer 開發(fā)。兩位研究員的經(jīng)歷很相似,都是從數(shù)學(xué)背景轉(zhuǎn)向計(jì)算神經(jīng)科學(xué),博士都畢業(yè)于英國倫敦大學(xué)的蓋茨比計(jì)算神經(jīng)科學(xué)中心,之后都來到 Janelia 擔(dān)任研究員。目前兩位各自的實(shí)驗(yàn)室方向也有很大的重合,主要從事于小鼠視覺皮層的神經(jīng)元解碼工作。

為了便于分析工作的開展,他們以 MATLAB 和 Python 為主要開發(fā)語言,與其他實(shí)驗(yàn)室合作開發(fā)了一系列軟件來處理大規(guī)模成像數(shù)據(jù),并在 Github 開源。

https://github.com/MouseLand

他們開發(fā)的軟件以良好的性能和友好的 GUI 界面為特色,得到了眾多神經(jīng)科學(xué)家喜愛和廣泛使用。其中:
  • Kilosort 用于處理超大通量的神經(jīng)電生理信號(hào),能對神經(jīng)元信號(hào)進(jìn)行提取和分類(Spike Sorting);

  • Suite2p 集成了雙光子鈣成像數(shù)據(jù)的處理流程,能夠進(jìn)行運(yùn)動(dòng)配準(zhǔn)、神經(jīng)元檢測、動(dòng)作電位推斷等流程;

  • Rastermap 能以 GUI 界面選擇神經(jīng)元,并排序繪制對應(yīng)的柵格圖(Raster Plot),支持與 Suite2p 聯(lián)動(dòng),直觀展示不同神經(jīng)元的鈣信號(hào)變化;

  • Facemap 通過解析小鼠面部表情來預(yù)測神經(jīng)活動(dòng);

  • Cellpose 是用于生物圖像的細(xì)胞分割,支持與 Suite2p 聯(lián)動(dòng)來提取神經(jīng)元鈣信號(hào),也是本文的重點(diǎn)介紹內(nèi)容。

     

    圖片

    圖 1 Marius Pachitariu 與 Carsen Stringer開發(fā)的軟件開源在Github上的MouseLand組織里
     

基于多樣化數(shù)據(jù)集的Cellpose 1.0
Cellpose 1.0 的文章發(fā)表于 2020 年 12 月 14 日[1]。其特色是,開發(fā)了一個(gè)通用的細(xì)胞分割模型,為此構(gòu)建了一個(gè)多樣化的數(shù)據(jù)集,希望通過這個(gè)多樣化的數(shù)據(jù)集訓(xùn)練得到的細(xì)胞分割效果,無論在單一的數(shù)據(jù)集還是多樣的數(shù)據(jù)集都能有好的表現(xiàn),不需要用戶重新訓(xùn)練。
其專門構(gòu)建的數(shù)據(jù)集共 608 張,包含 316 張帶有熒光細(xì)胞質(zhì)標(biāo)記的細(xì)胞、50 張明場顯微鏡拍攝的細(xì)胞、58 張帶有熒光細(xì)胞膜標(biāo)記的細(xì)胞、86 張其他類型顯微鏡的圖像以及 98 張由水果、巖石和水母等重復(fù)物體組成的非顯微鏡拍攝圖片,并將其中 100 張帶有熒光細(xì)胞質(zhì)標(biāo)記的細(xì)胞抽取出來作為 Cell Image Library。

圖片

圖 2 Cellpose構(gòu)建的包含608張多類型圖像的數(shù)據(jù)集可視化展示
 

簡單介紹下 Cellpose 的算法:
在圖像分割領(lǐng)域常通過計(jì)算圖像的梯度來提取物體邊界,以此進(jìn)行分割物體。有別于傳統(tǒng)圖像分割中基于灰度值計(jì)算梯度的分水嶺算法,Cellpose 中的圖像梯度是通過模擬擴(kuò)散創(chuàng)建出來的,從手動(dòng)分割注釋的細(xì)胞數(shù)據(jù)集(Groud Truth)中,為每個(gè) ROI(Regions of Interest)使用熱擴(kuò)散算法,從 ROI 中心迭代擴(kuò)散以此模擬創(chuàng)建出拓?fù)鋱D,解出 x 和 y 方向的梯度矢量場。設(shè)計(jì)的深度神經(jīng)網(wǎng)絡(luò),基于經(jīng)典的 Unet 結(jié)構(gòu)進(jìn)行改進(jìn),并引入了殘差塊。神經(jīng)網(wǎng)絡(luò)架構(gòu)通過對輸入的圖像進(jìn)行預(yù)測,輸出圖像的水平、垂直梯度及像素是否在細(xì)胞內(nèi)三個(gè)矩陣,這三個(gè)預(yù)測結(jié)果合成一個(gè)梯度向量場。再根據(jù)這個(gè)梯度向量場構(gòu)建一個(gè)具有固定點(diǎn)的動(dòng)力系統(tǒng),所有收斂到同一個(gè)固定點(diǎn)的像素分組在一起,得到單個(gè)細(xì)胞的形狀。

圖片

圖 3 Cellpose 模型的架構(gòu)

文章中將 Cellpose 與 Mask R-CNN、Stardist、U-Net3、U-Net2 等不同深度學(xué)習(xí)模型進(jìn)行了比較,分別通過對 generalist data(包含全部 608 張圖像的數(shù)據(jù)集)和 specialist data (只包含 100 個(gè)熒光細(xì)胞的 Cell Image Library)分別對 Cellpose 和其他模型進(jìn)行訓(xùn)練。其結(jié)果為,用 generalist data 訓(xùn)練的模型,用 generalist data 和 specialist data 測試,Cellpose 模型都比其他模型預(yù)測的更精準(zhǔn);用 specialist data 訓(xùn)練的模型,在 specialist data 測試,Cellpose 也比其他模型要好。

圖片

圖 4 Cellpose與其他模型的分割效果的比較 。IoU,為標(biāo)準(zhǔn)交集并集度量(intersection over union),是衡量圖像分割精度的重要指標(biāo),將算法的預(yù)測與不同匹配精度閾值的真實(shí)掩模進(jìn)行匹配,一般這個(gè)值達(dá)到 0.5,就認(rèn)為預(yù)測是有效的。AP,為平均精確率(average precision),在預(yù)測有效的情況下(IoU閾值以上),計(jì)算 TP、FP、FN,AP=TP/(TP+FP+FN)。

文章里同時(shí)還探究了 ROI 同質(zhì)性與 ROI 凸性對 Cellpose 分割的影響。同質(zhì)性指的是圖像內(nèi)每個(gè) ROI 大小差別,同質(zhì)性越大,ROI 大小差別越小,計(jì)算方式是對 ROI 面積大小從小到大排序,第一四分位數(shù)除以第三四分位數(shù)即為同質(zhì)性指標(biāo)。通過對同質(zhì)性與分割效果的相關(guān)性分析以判斷是否相關(guān) ;而凸性可以理解為 ROI 圓不圓潤,凸性越大,ROI越圓潤,計(jì)算方式為 ROI 面積除以恰好能包裹住的圓的面積,通過將 ROI 分為低、中和高凸性來探究 ROI 的凸性是否影響分割效果。實(shí)驗(yàn)結(jié)果表明,分割效果與細(xì)胞大小的同質(zhì)性之間沒有關(guān)系,而凸性會(huì)影響到分割效果,所有模型在高凸性 ROI 的分割表現(xiàn)優(yōu)于低凸性ROI。

圖片

圖 5 探究了ROI同質(zhì)性與ROI凸性對Cellpose分割的影響

文章的最后,作者還對 Cellpose 模型進(jìn)行了修改,使其能支持 3D 的數(shù)據(jù),即支持對視頻內(nèi)的細(xì)胞進(jìn)行分割。

圖片

圖 6 支持3D數(shù)據(jù)的Cellpose模型
 

Cellpose 2.0的預(yù)訓(xùn)練模型與“人在回路”

“Cellpose 2.0: how to train your own model”發(fā)表于 2022 年 11 月[2]。盡管 Cellpose 1.0 在設(shè)計(jì)之初就考慮了通用性,希望可以為許多不同的細(xì)胞圖像提供開箱即用的良好分割效果。但是在實(shí)際應(yīng)用中,卻發(fā)現(xiàn)一個(gè)很大的問題——一方面不同數(shù)據(jù)集差別很大,每個(gè)數(shù)據(jù)集注釋風(fēng)格也不一致,另一方面不同用戶想要的分割樣式可能也不一樣。如何確保模型的自適應(yīng)力強(qiáng),不僅能用于不同數(shù)據(jù)集,還能滿足不同用戶希望的分割風(fēng)格,是細(xì)胞分割領(lǐng)域的一大挑戰(zhàn)。

為此,Cellpose2.0 改進(jìn)之一,是集合了原有的 608 張多類型的圖像以及 TissueNet[3]、LiveCell 數(shù)據(jù)集[4],通過聚類分成了 9 個(gè)不同風(fēng)格數(shù)據(jù)集,為這 9 個(gè)具有人工注釋的數(shù)據(jù)集單獨(dú)訓(xùn)練對應(yīng)的 Cellpose 模型進(jìn)行集成。這 9 個(gè)模型具有不同的分割樣式,用戶可以選擇最符合他們要求的模型,并且軟件可支持計(jì)算輸入圖像的風(fēng)格來自動(dòng)推薦模型。 
 

圖片

圖 7 Cellpose 2.0 集成了不同分割風(fēng)格的模型
 

鑒于集成的 9 個(gè)模型可能依然無法解決對全新圖像類型的泛化問題,文章中還探究了用戶能否以相對較少的注釋來訓(xùn)練一個(gè)自定義模型。將 TissueNet 和 LiveCell 數(shù)據(jù)集視為新的圖像類別,通過比較 Cellpose 1.0 已預(yù)訓(xùn)練的模型和完全從頭開始訓(xùn)練的 Cellpose 模型(from scratch),將 TissueNet 和 LiveCell 團(tuán)隊(duì)各自使用的模型(Mesmer 模型和 LiveCel 模型)當(dāng)作參考基準(zhǔn),探究對于兩個(gè)數(shù)據(jù)集需要多少個(gè) ROI 訓(xùn)練才能實(shí)現(xiàn)良好的分割效果。實(shí)驗(yàn)結(jié)果表明,預(yù)訓(xùn)練模型比完全從頭開始訓(xùn)練的模型更有優(yōu)勢,僅僅只需要 500-1,000 個(gè)訓(xùn)練 ROI 就足以在TissueNet 和 LiveCell 數(shù)據(jù)集中實(shí)現(xiàn)接近最大的分割精度,并且在多樣化的 Cellpose 數(shù)據(jù)集中預(yù)訓(xùn)練能比大型的 TissueNet 和 LiveCell 數(shù)據(jù)集預(yù)訓(xùn)練表現(xiàn)更好。
 

圖片

圖 8 Cellpose 模型并不需要大量基準(zhǔn)數(shù)據(jù)集就能達(dá)到良好的分割性能
 

Cellpose 2.0 的改進(jìn)之二,借鑒了 TissueNet 數(shù)據(jù)集的細(xì)胞 ROI 標(biāo)注方法[3],在深度學(xué)習(xí)算法層面引入了“人在回路”(Human-in-the-loop)。傳統(tǒng)的監(jiān)督學(xué)習(xí)算法,包括 Cellpose 1.0 算法,完全依賴于數(shù)據(jù)標(biāo)注員對數(shù)據(jù)集的注釋,經(jīng)過一次次的迭代訓(xùn)練使其在當(dāng)前的數(shù)據(jù)集表現(xiàn)良好,卻無法真正保證其在新數(shù)據(jù)下的表現(xiàn)。“人在回路”的思想是在訓(xùn)練過程中引入人的反饋,以提高模型預(yù)測的準(zhǔn)確性、不同數(shù)據(jù)集下的魯棒性。目前大火的 ChatGPT,便是在 GPT3.5 模型上引入了“人在回路”的強(qiáng)化學(xué)習(xí),人工對答案滿意度進(jìn)行打分排序,使得 ChatGPT 的回答更接近于人。

Cellpose 2.0 的“人在回路”訓(xùn)練過程為,先訓(xùn)練一個(gè)初始的、可能并不完美的模型,這個(gè)初始模型應(yīng)用于用戶的數(shù)據(jù)上,結(jié)果將由用戶來修正,模型再通過修正后的結(jié)果進(jìn)行重新訓(xùn)練,以提高模型的細(xì)胞分割表現(xiàn)。文章表明,Cellpose 預(yù)訓(xùn)練模型配上“人在回路”訓(xùn)練方式僅需要 3-5 張圖像(100-200 個(gè)手動(dòng)分割的 ROI)就足以獲得良好的分割效果。 
 

圖片
圖 9 Cellpose的“人在回路”示意圖及在TissueNet數(shù)據(jù)集和LiveCell數(shù)據(jù)集使用“人在回路”訓(xùn)練的過程

 

Cellpose 使用入門
本文的最后,將簡單介紹 Cellpose 的使用。
 在線版本 Cellpose 1.0

Cellpose 官網(wǎng)支持運(yùn)行在線版本的 Cellpose 1.0。

https://www.cellpose.org/
用戶能夠直接上傳數(shù)據(jù)來進(jìn)行簡單的分割。模型運(yùn)行完畢后,將顯示原圖、預(yù)測的細(xì)胞分割結(jié)果、預(yù)測的細(xì)胞分割 mask 及預(yù)測的梯度矢量場,并且支持下載 mask 為 png 圖片。

圖片

圖 10 運(yùn)行在線的cellpose

本地版本Cellpose 2.0 

如果需要大量的細(xì)胞成像圖片進(jìn)行細(xì)胞分割以及想體驗(yàn) Cellpose 2.0 的新模型和“人在回路”訓(xùn)練自定義模型,則需要安裝本地版本。

Cellpose 基于 Python 語言編寫,并沒有提供 exe 文件來直接安裝。

在Cellpose的Github repo上有詳細(xì)的安裝指導(dǎo):

https://github.com/MouseLand/cellpose。

官方的安裝建議是使用 conda 作為包和環(huán)境管理器,來安裝 Cellpose。安裝和配置 conda 這里并不展開,可從網(wǎng)絡(luò)搜索教程,Windows 系統(tǒng)和 Mac 系統(tǒng)推薦安裝具有圖形界面的 Anaconda,而 Linux 系統(tǒng)推薦安裝更為輕便的 miniconda 或 mambaforge。
在確保 conda 配置完畢的前提下,需要打開命令行窗口(Anaconda Promopt/CMD/Bash 等)來安裝安裝 Cellpose,安裝命令如下:
圖片

運(yùn)行 Cellpose 的命令如下:

圖片

之后便會(huì)打開 Cellpose。

圖片

圖 11 Cellpose 軟件界面

簡要介紹下 Cellpose 的基本使用方式。
  • 加載圖像:
    通過拖入圖像或者點(diǎn)擊左上方的【File】選項(xiàng)欄可以加載圖像,Cellpose 不僅會(huì)讀取當(dāng)前的圖像,通過按左右鍵則可以切換同一文件下的其他圖像。
  • 運(yùn)行模型:在左邊的 Segmentation 欄,可以輸入細(xì)胞的平均直徑、選擇要分割的通道、配置模型運(yùn)行參數(shù),下方可以根據(jù)實(shí)際情況選擇不同的模型,或者讓程序自動(dòng)推薦模型。點(diǎn)擊【run model】即開始運(yùn)行模型,運(yùn)行完畢后,將在圖像上展示預(yù)測的分割結(jié)果 mask 和識(shí)別的 ROI 數(shù)目。
  • ROI 操作:【鼠標(biāo)左鍵】選中某個(gè) ROI,【Ctrl/Command+ 鼠標(biāo)左鍵】刪除某個(gè) ROI,【鼠標(biāo)右鍵】繪制新 ROI。
  • 訓(xùn)練自定義模型:先選擇一個(gè)預(yù)訓(xùn)練模型,對圖像進(jìn)行分割,對分割得到的 ROI 進(jìn)行增刪之后, 點(diǎn)擊左上方的【Model->Train new model with image+mask in folder】,進(jìn)行訓(xùn)練得到自定義模型,將會(huì)自動(dòng)加載到 custom model 的選項(xiàng)中,之后通過重復(fù)的運(yùn)行 + 修正 + 訓(xùn)練,得到最終滿意的分割模型。
更多使用方式詳見 Cellpose 的文檔

https://cellpose.readthedocs.io/en/latest/

Cellpose 與軟件的聯(lián)動(dòng)
  • napari:作者專門開發(fā) napari 的插件,Github 地址為:

    https://github.com/MouseLand/cellpose-napari
  • ImageJ:Cellpose 的 Github repo 中提供了將 cellpose 導(dǎo)出的 outline.txt 轉(zhuǎn)為 ImageJ ROI 的 Python 腳本

    https://github.com/MouseLand/cellpose/blob/main/imagej_roi_converter.py
  • Suite2p:Suite2p 支持使用 Cellpose 的模型對神經(jīng)元進(jìn)行分割


Cellpose 與硬件的聯(lián)動(dòng)
  • ......(暫無)

     

    【注:Cellpose在算法與分析功能方法已經(jīng)完勝大多數(shù)商業(yè)化AI軟件,不過從事儀器硬件生產(chǎn)研發(fā)的廠家的則
    更擅長
    AI+智能硬件
    的整體解決方案
    。通過AI算法實(shí)時(shí)分析采集的圖像,精準(zhǔn)定位研究目標(biāo)對象,進(jìn)而映射并控制圖像采集設(shè)備
    ,具備從
    AI采集到AI分析
    的全流程
    智能功
    能,
    例如:科技前沿丨真·人工智能替你搬磚
    。更多TruAI相關(guān)信息,請點(diǎn)擊“閱讀原文”獲取。】

 

參考文獻(xiàn)
[1] Stringer C, Wang T, Michaelos M, et al. Cellpose: a generalist algorithm for cellular segmentation [J]. Nature Methods, 2021, 18(1): 100-6.
[2] Pachitariu M, Stringer C. Cellpose 2.0: how to train your own model [J]. Nature Methods, 2022, 19(12): 1634-41.
[3] Greenwald N F, Miller G, Moen E, et al. Whole-cell segmentation of tissue images with human-level performance using large-scale data annotation and deep learning [J]. Nature Biotechnology, 2022, 40(4): 555-65.
[4] Edlund C, Jackson T R, Khalid N, et al. LIVECell-A large-scale dataset for label-free live cell segmentation [J]. Nature Methods, 2021, 18(9): 1038-45.

用戶名: 密碼: 匿名 快速注冊 忘記密碼
評論只代表網(wǎng)友觀點(diǎn),不代表本站觀點(diǎn)。 請輸入驗(yàn)證碼: 8795
Copyright(C) 1998-2025 生物器材網(wǎng) 電話:021-64166852;13621656896 E-mail:info@bio-equip.com