杜自豪 劉 俊
(1.武漢科技大學計算機科學與技術學院 武漢 430065)
(2.智能信息處理與實時工業系統湖北省重點實驗室 武漢 430065)
1965 年,秀麗隱桿線蟲被首次從自然界移植到實驗室中培養,用于生物學研究[1]。現如今,線蟲已經成為許多生物研究方向的重要模式生物[2],如小鼠、果蠅等,被廣泛用于細胞凋亡、壽命預測、生物基因、藥物篩選[3~4]、生物神經等的研究。線蟲作為一種微型線性生物,因其培養簡單、繁殖快、生命周期短、基因突變概率高等優勢,被廣泛用于生物衰老和壽命等研究[5]。線蟲壽命為15天左右,其端泡形態是其所處生命周期、壽命和老化的直接體現,為了對秀麗隱桿線蟲的壽命進行研究,需要對線蟲顯微圖像進行端泡的自動分割。
傳統圖像目標分割如閾值分割算法[6],將灰度值相近的像素點劃分為一類,選取不同的灰度值作為閾值,對輸入圖像的像素進行分類,實現分割。而線蟲的培養皿環境較為復雜,且常常有灰度相近的噪聲物附著在蟲體上,因此選擇最優的閾值難度較大。而基于區域的分水嶺算法[7],將輸入圖像中的極大值點連接作為分水嶺,將被分水嶺圍住的閉合區域內的像素點劃分為同一類,以此對圖像中的所有像素點進行分類,從而實現圖像的分割。分水嶺算法可以極好地分割出圖像中的細小邊緣,但會由于秀麗隱桿線蟲的蟲體紋理等導致過分割。
與傳統的圖像分割算法不同,卷積神經網絡(Convolutional Neural Networks,CNN)能夠通過多層神經網絡提取圖像本質信息,通過訓練樣本對模型進行訓練來有效地學習線蟲端泡的特征,通過測試和驗證修改網絡來提升模型的泛化能力,從而獲得更好的分割結果[8]。2014年,Long等提出全卷積神經網絡(Fully Convolutional Network,FCN)[9],只使用卷積層和反卷積層進行圖像的特征提取和處理,充分利用了CNN 全連接層棄置的圖像位置信息。FCN 可以對任意尺寸的輸入進行語義分割且輸出和輸入大小相同的分割結果。2015年,Ronneberger 等在FCN 的基礎上通過修改特征融合方式,提出了一種U 型對稱的網絡U-Net[10],該網絡通過壓縮路徑和擴展路徑進行圖像特征提取,并采用跳躍連接進行特征融合,在小樣本分割中取得了較好的表現。2020 年,Debesh Jha 等[12]提出了一種具有魯棒性和通用性的Double U-Net網絡,使用預訓練模型VGG-19 替換U-Net 中的編碼器部分,在編碼器和解碼器之間使用空洞空間卷積池化金字塔(ASPP)進行采樣,在MICCAI 2015 挑戰數據集,CVC-ClinicDB 數據集,病變邊界分割ISIC-2018 和2018 Data Science Bowl 的挑戰數據集上取得了卓越的效果。
但是,線蟲顯微圖像具有邊緣模糊、端泡區域小且像素與周圍蟲體環境相似等特點,僅使用原始Double U-Net 模型,在測試集上不能很好地擬合,線蟲端泡邊界分割表現不理想,基于此,本研究在Double U-Net 網絡結構的基礎上,通過引入密集連接模塊加強了網絡對特征的傳遞與利用;并且結合圖像的全局信息和局部信息,提出新的混合損失函數,進一步提高分割精度。實驗表明,改進后的網絡能顯著提高線蟲顯微圖像端泡分割的準確率。
Double U-Net是由Debesh Jha 等基于U-Net及其變體提出的一種雙U-Net 網絡的卷積網絡結構。該網絡分別在2015 年關于息肉自動檢測數據集的MICCAI 亞挑戰賽、CVC-Clinic DB 以及2018年數據科學杯挑戰賽和病灶邊界分割數據集上取得了優秀的分割表現。Double U-Net 網絡結構如圖1所示。

圖1 Double U-Net網絡結構
從圖1 中可以看出,網絡1 中原始U-Net 的編碼器由預訓練好的輕量級VGG-19 網絡替代,網絡1 的解碼器與網絡2 的編碼器和解碼器使用原始U-Net 的編碼器和解碼器,使用ASPP 模塊代替原有的跳躍連接進行特征連接。將圖像輸入到網絡1 中,得到的輸出(Output1)與原始圖像相乘,作為網絡2 的輸入,最后在網絡2 的CONCATENATE 模塊將網絡1 和網絡2 的輸出進行拼接。實驗證明,通過將原始圖像與輸出1進行相乘后使用網絡2再次分割,并將兩次輸出進行拼接,可以產生更好的分割結果。
原始Double U-Net 的兩個U-Net 網絡中,每一個卷積層所提取的特征圖只會被直接相鄰的后續層所學習,每一層的輸出只被使用一次,這就導致靠近輸入的層和靠近輸出的層之間缺乏聯系,使低維特征和高維特征不能有機的統一。在本研究中,引入了DenseNet[13]中密集連接的概念,使網絡中的每一層都能有效地學習到前面所有層的特征,提高網絡中特征的利用率。傳統的L層卷積網絡有L個連接(每一層與其后續層之間有一個連接),l 層的輸出為
而DenseNet 網絡有L(L+1)/2 個直接連接,l 層輸出為
其中,上面的Hl函數代表是非線性轉化函數(non-linear transformation),[ ]… 表示當前層與前面所有層的特征在channel維度上的連接。
本研究受DenseNet的啟發,在Double U-Net中引入密集連接,密集連接模塊通過卷積層下采樣,通過concat連接提取的圖像信息,網絡中提取的所有特征圖都會被多次利用。如圖2所示。

圖2 密集連接塊
如圖2 所示,在每一個密集連接塊內,所有卷積層輸出相同尺寸的特征圖,所有的特征圖可以在channel 上“疊加”。前面所有特征圖的拼接作為下一個卷積層的輸入,因此靠近密集連接塊輸出的層的輸入會非常大。本研究通過在密集連接模塊內部添加一個1×1 的卷積層,對每層的輸入進行處理。不同的密集連接模塊之間,特征圖尺寸不同,因此引入轉換層。轉換層通過一個1×1 的卷積和2×2 的平均池化來對特征圖進行處理,以此來連接兩個相鄰的密集連接塊。完整的密集連接模塊如圖3所示。
本研究在原始Double U-Net 的網絡2 中加入密集連接模塊,改進后的網絡2 結構如圖4 所示。改進后的網絡2 由編碼器、ASPP、解碼器、CONCATENATE 組成。將輸出1 和輸入圖像相乘后的結果輸入到網絡2 的編碼器,進行圖像特征的下采樣,在下采樣過程中,引入的密集連接模塊有助于特征映射的復用。輸入網絡2 的圖像,首先會經過密集連接模塊進行卷積操作,隨后通過Pooling 將特征圖的尺寸減半,然后用2×2的窗口以2的stride進行最大池化,減小特征圖的空間維數[14]。ASPP模塊對編碼器提取的特征圖使用多個不同的比例來提取高分辨率的特征。解碼器模塊包含密集連接模塊和反卷積層,對編碼器提取的特征進行上采樣,最終得到與輸入圖像大小相同的特征圖。CONCATENATE 模塊將網絡1 的輸出和改進后的網絡2 的輸出進行拼接,定量查看兩個預測輸出的差異。改進后的網絡2各層參數如表1所示。

表1 改進后網絡2各層參數設置

圖4 Dense U-Net網絡圖
本研究經過實驗發現,改進后網絡模型經過訓練集訓練后,在測試集上變現不佳,端泡分割準確率不高,尤其是在端泡邊緣區域。通過觀察訓練過程發現,原模型的損失函數為交叉熵損失函數,該函數在分割過程中依賴于區域信息,忽略了邊界區域信息,并且線蟲端泡區域與蟲體以及周圍環境相似,因此對邊界分割準確度不高。為此本文將二叉熵損失與Dice相似系數結合來匹配圖像局部信息,并聯系圖像全文信息提出一種新的混合損失函數。實驗表明該方法在線蟲顯微圖像的分割實驗中表現良好。
2.3.1 局部信息匹配
原始的交叉熵損失函數非常的優雅簡潔,被廣泛應用于二分類語義分割場景,交叉熵公式如式(3):
式中,gi為像素點i的真實類別,pi為網絡模型對像素點i的預測,LBCE表示模型預測結果與真實樣本的不一致性,其值越小表示預測值越接近真實情況。二叉熵損失能夠解決網絡訓練過程中梯度消失的問題,但是對于邊界模糊、噪聲較多的線蟲顯微圖像,在測試集邊緣的預測上差異較大。
通過計算像素相似性和相異性進行像素分類,指導網絡進行圖像分割的Dice相似系數損失函數,公式如下:
Dice 相似系數損失函數能夠根據端泡邊界像素與背景區域像素的相似性程度來指導網絡對線蟲特征的學習,提升模型對線蟲訓練集的分割效果。但是在指導過程中如果存在部分邊界被錯誤的歸類,會對模型的訓練造成不可挽回的影響。
本研究結合二叉熵和Dice 相似系數的優點,提出新的損失函數,公式如下:
式中,α為權重因子,表示兩種損失函數的比重。本研究通過對比試驗得到效果最優的權重因子α為0.6。
2.3.2 全局信息匹配
傳統網絡模型的損失函數只關注圖像分割的局部信息,圖像的上下文信息缺乏聯系,這就導致線蟲顯微圖像的蟲體紋理細節等高級特征被忽略了。為了在模型訓練中聯系圖像全局信息,本文定義了一個偏差矩陣φM來表示輸入矩陣M的每個像素值與像素平均值之間的差值[15]。
本研究通過計算圖像背景φG和模型預測特征φP間相似度L,來評價預測結果。
其中L表示模型預測結果與標注圖的相似程度,L值越大,表示模型分割效果越好。
2.3.3 聯合局部和全局的評估方法
只局限于圖像的全局信息或者局部信息,并不能對噪聲較多的線蟲圖像進行有效的分割,本研究提出一種聯合全局和局部信息的損失函數Lmix:
1)硬件環境:
CPU:Intel(R)Xeon(R)CPU E5-2676 v3 @2.40GHz
內存:32GB
GPU:NVIDIA GeForce GTX 1080ti*8
2)操作系統:Ubuntu 16.04。
3)軟件環境:Pytorch 0.40。
在微生物體態研究領域,采集顯微圖像是最容易獲取數據集的方式之一。本研究通過40 倍光學顯微鏡拍攝培養的不同生長周期的活體線蟲的頭部,得到600 張線蟲頭部圖像,并通過圖像增強[16]擴充數據集至2000 張,其中1600 張用作訓練集,400張用于測試。使用Labelme 對線蟲頭部端泡進行標注。標注圖如圖5所示。

圖5 秀麗隱桿線蟲頭部顯微圖像與Lableme標注
本研究采用三個評價指標:Dice 相似系數、準確率(Precision)和召回率(Recall)來對線蟲端泡的分割結果進行評估,評價指標定義如下:
其中,TP表示正確分割的像素,FP表示將蟲體分割為端泡的像素,FN表示未被分割出的端泡像素[17]。
本文實驗基于如下步驟,如圖6 所示。

圖6 實驗步驟
1)采用生命科學院培養的秀麗隱桿線蟲的頭部顯微圖像并按比例劃分為訓練集和驗證集。
2)使用Labelme 對圖像進行標注。
3)用標注好的訓練集對改進后的網絡模型進行訓練,使用驗證集驗證模型的分割能力。
4)通過對比試驗探究局部信息損失函數中的最優權重因子。
5)使用Dice 相似系數、準確率和召回率對驗證集的分割結果進行評估,根據評估結果調節網絡的參數。
6)進行對比試驗,驗證本研究方法的有效性。
為了驗證本研究提出的損失函數的有效性,本研究分別在原始Double U-Net 和改進的Double U-Net 模型上進行對比試驗,二叉熵損失函數(BCE)和本文提出的混合損失函(Mix)對分割結果的影響如表2 所示。實驗表明,本研究提出的混合損失函數在兩種網絡上都表現良好。

表2 不同損失函數對網絡性能的影響%
為了驗證改進Double U-Net模型的分割性能,本研究選取了Baseline Double U-Net和流行的分割模型SegNet[18]進行對照實驗,分割結果見表3,最終分割實驗效果對比圖見圖7。可以看出原始的網絡幾乎無法分割出線蟲的端泡,改進后的網絡分割效果得到顯著提升,具有良好的分割性能。

表3 改進Double U-Net與其他網絡分割結果對比

圖7 實驗步驟
本研究以Double U-Net網絡框架為基礎,通過引入密集連接、結合全局信息的混合損失算法來改進分割效果,提出了一種改進的秀麗隱桿線蟲顯微圖象端泡分割的端到端的精確分割網絡。實驗表明,本方法在線蟲顯微圖像端泡分割實驗中實現了準確的分割,證明了本研究提出線蟲端泡分割方法的有效性。