復旦大學腦科學轉化研究院
細胞分割與Cellpose
對于空間轉錄組分析,也需要分割細胞,將 RNA 的表達量賦予單個細胞;
對于醫(yī)學診斷而言,通過細胞的大小、形態(tài)、位置以及計數(shù)來診斷病變
該款軟件使用 Python 語言編寫,憑借其良好的細胞分割效果、不錯的運行速度、易于使用的界面、支持與其他軟件聯(lián)動等特性,獲得了廣泛的使用和認可,在GitHub上獲得770+的star數(shù),可謂是細胞分割領域的"ChatGPT"。
Cellpose軟件主要由來自珍妮莉亞研究園區(qū) (Janelia Research Campus)的研究員“夫妻檔” Marius Pachitariu 與 Carsen Stringer 開發(fā)。兩位研究員的經歷很相似,都是從數(shù)學背景轉向計算神經科學,博士都畢業(yè)于英國倫敦大學的蓋茨比計算神經科學中心,之后都來到 Janelia 擔任研究員。目前兩位各自的實驗室方向也有很大的重合,主要從事于小鼠視覺皮層的神經元解碼工作。
為了便于分析工作的開展,他們以 MATLAB 和 Python 為主要開發(fā)語言,與其他實驗室合作開發(fā)了一系列軟件來處理大規(guī)模成像數(shù)據(jù),并在 Github 開源。
https://github.com/MouseLand
他們開發(fā)的軟件以良好的性能和友好的 GUI 界面為特色,得到了眾多神經科學家喜愛和廣泛使用。其中:Kilosort 用于處理超大通量的神經電生理信號,能對神經元信號進行提取和分類(Spike Sorting);
Suite2p 集成了雙光子鈣成像數(shù)據(jù)的處理流程,能夠進行運動配準、神經元檢測、動作電位推斷等流程;
Rastermap 能以 GUI 界面選擇神經元,并排序繪制對應的柵格圖(Raster Plot),支持與 Suite2p 聯(lián)動,直觀展示不同神經元的鈣信號變化;
Facemap 通過解析小鼠面部表情來預測神經活動;
圖 1 Marius Pachitariu 與 Carsen Stringer開發(fā)的軟件開源在Github上的MouseLand組織里
圖 2 Cellpose構建的包含608張多類型圖像的數(shù)據(jù)集可視化展示
圖 3 Cellpose 模型的架構
文章中將 Cellpose 與 Mask R-CNN、Stardist、U-Net3、U-Net2 等不同深度學習模型進行了比較,分別通過對 generalist data(包含全部 608 張圖像的數(shù)據(jù)集)和 specialist data (只包含 100 個熒光細胞的 Cell Image Library)分別對 Cellpose 和其他模型進行訓練。其結果為,用 generalist data 訓練的模型,用 generalist data 和 specialist data 測試,Cellpose 模型都比其他模型預測的更精準;用 specialist data 訓練的模型,在 specialist data 測試,Cellpose 也比其他模型要好。
文章里同時還探究了 ROI 同質性與 ROI 凸性對 Cellpose 分割的影響。同質性指的是圖像內每個 ROI 大小差別,同質性越大,ROI 大小差別越小,計算方式是對 ROI 面積大小從小到大排序,第一四分位數(shù)除以第三四分位數(shù)即為同質性指標。通過對同質性與分割效果的相關性分析以判斷是否相關 ;而凸性可以理解為 ROI 圓不圓潤,凸性越大,ROI越圓潤,計算方式為 ROI 面積除以恰好能包裹住的圓的面積,通過將 ROI 分為低、中和高凸性來探究 ROI 的凸性是否影響分割效果。實驗結果表明,分割效果與細胞大小的同質性之間沒有關系,而凸性會影響到分割效果,所有模型在高凸性 ROI 的分割表現(xiàn)優(yōu)于低凸性ROI。
圖 5 探究了ROI同質性與ROI凸性對Cellpose分割的影響
文章的最后,作者還對 Cellpose 模型進行了修改,使其能支持 3D 的數(shù)據(jù),即支持對視頻內的細胞進行分割。
Cellpose 2.0的預訓練模型與“人在回路”
“Cellpose 2.0: how to train your own model”發(fā)表于 2022 年 11 月[2]。盡管 Cellpose 1.0 在設計之初就考慮了通用性,希望可以為許多不同的細胞圖像提供開箱即用的良好分割效果。但是在實際應用中,卻發(fā)現(xiàn)一個很大的問題——一方面不同數(shù)據(jù)集差別很大,每個數(shù)據(jù)集注釋風格也不一致,另一方面不同用戶想要的分割樣式可能也不一樣。如何確保模型的自適應力強,不僅能用于不同數(shù)據(jù)集,還能滿足不同用戶希望的分割風格,是細胞分割領域的一大挑戰(zhàn)。
為此,Cellpose2.0 改進之一,是集合了原有的 608 張多類型的圖像以及 TissueNet[3]、LiveCell 數(shù)據(jù)集[4],通過聚類分成了 9 個不同風格數(shù)據(jù)集,為這 9 個具有人工注釋的數(shù)據(jù)集單獨訓練對應的 Cellpose 模型進行集成。這 9 個模型具有不同的分割樣式,用戶可以選擇最符合他們要求的模型,并且軟件可支持計算輸入圖像的風格來自動推薦模型。
鑒于集成的 9 個模型可能依然無法解決對全新圖像類型的泛化問題,文章中還探究了用戶能否以相對較少的注釋來訓練一個自定義模型。將 TissueNet 和 LiveCell 數(shù)據(jù)集視為新的圖像類別,通過比較 Cellpose 1.0 已預訓練的模型和完全從頭開始訓練的 Cellpose 模型(from scratch),將 TissueNet 和 LiveCell 團隊各自使用的模型(Mesmer 模型和 LiveCel 模型)當作參考基準,探究對于兩個數(shù)據(jù)集需要多少個 ROI 訓練才能實現(xiàn)良好的分割效果。實驗結果表明,預訓練模型比完全從頭開始訓練的模型更有優(yōu)勢,僅僅只需要 500-1,000 個訓練 ROI 就足以在TissueNet 和 LiveCell 數(shù)據(jù)集中實現(xiàn)接近最大的分割精度,并且在多樣化的 Cellpose 數(shù)據(jù)集中預訓練能比大型的 TissueNet 和 LiveCell 數(shù)據(jù)集預訓練表現(xiàn)更好。
Cellpose 2.0 的改進之二,借鑒了 TissueNet 數(shù)據(jù)集的細胞 ROI 標注方法[3],在深度學習算法層面引入了“人在回路”(Human-in-the-loop)。傳統(tǒng)的監(jiān)督學習算法,包括 Cellpose 1.0 算法,完全依賴于數(shù)據(jù)標注員對數(shù)據(jù)集的注釋,經過一次次的迭代訓練使其在當前的數(shù)據(jù)集表現(xiàn)良好,卻無法真正保證其在新數(shù)據(jù)下的表現(xiàn)。“人在回路”的思想是在訓練過程中引入人的反饋,以提高模型預測的準確性、不同數(shù)據(jù)集下的魯棒性。目前大火的 ChatGPT,便是在 GPT3.5 模型上引入了“人在回路”的強化學習,人工對答案滿意度進行打分排序,使得 ChatGPT 的回答更接近于人。
Cellpose 2.0 的“人在回路”訓練過程為,先訓練一個初始的、可能并不完美的模型,這個初始模型應用于用戶的數(shù)據(jù)上,結果將由用戶來修正,模型再通過修正后的結果進行重新訓練,以提高模型的細胞分割表現(xiàn)。文章表明,Cellpose 預訓練模型配上“人在回路”訓練方式僅需要 3-5 張圖像(100-200 個手動分割的 ROI)就足以獲得良好的分割效果。
Cellpose 使用入門
Cellpose 官網(wǎng)支持運行在線版本的 Cellpose 1.0。
https://www.cellpose.org/
圖 10 運行在線的cellpose
本地版本Cellpose 2.0
如果需要大量的細胞成像圖片進行細胞分割以及想體驗 Cellpose 2.0 的新模型和“人在回路”訓練自定義模型,則需要安裝本地版本。
Cellpose 基于 Python 語言編寫,并沒有提供 exe 文件來直接安裝。
在Cellpose的Github repo上有詳細的安裝指導:
https://github.com/MouseLand/cellpose。
官方的安裝建議是使用 conda 作為包和環(huán)境管理器,來安裝 Cellpose。安裝和配置 conda 這里并不展開,可從網(wǎng)絡搜索教程,Windows 系統(tǒng)和 Mac 系統(tǒng)推薦安裝具有圖形界面的 Anaconda,而 Linux 系統(tǒng)推薦安裝更為輕便的 miniconda 或 mambaforge。運行 Cellpose 的命令如下:
之后便會打開 Cellpose。
圖 11 Cellpose 軟件界面
簡要介紹下 Cellpose 的基本使用方式。https://cellpose.readthedocs.io/en/latest/
Cellpose 與軟件的聯(lián)動【注:Cellpose在算法與分析功能方法已經完勝大多數(shù)商業(yè)化AI軟件,不過從事儀器硬件生產研發(fā)的廠家的則
參考文獻