尹彥豪 劉 俊 楊 燁
(1.武漢科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 武漢 430065)
(2.智能信息處理與實時工業(yè)系統(tǒng)湖北省重點(diǎn)實驗室 武漢 430065)
(3.華中科技大學(xué)生命科學(xué)與技術(shù)學(xué)院 武漢 430074)
秀麗隱桿線蟲是生物學(xué)研究中最重要的無脊椎模式生物之一,有著生命周期較短、生理結(jié)構(gòu)簡單、與人類基因高度同源、蟲體透明便于觀察等特點(diǎn),從19世紀(jì)70年代初開始,就作為功能強(qiáng)大的模式生物被廣泛應(yīng)用[1]。它的研究跨越了多個學(xué)科領(lǐng)域,包括基因大規(guī)模功能與表征研究[2],全身細(xì)胞的完整譜系追蹤[3]以及動物神經(jīng)系統(tǒng)連接組的結(jié)構(gòu)體構(gòu)建[4]等。秀麗隱桿線蟲也為研究導(dǎo)致個體健康與壽命差異的變異性誘因提供了一個理想的模型:其在兩周的壽命周期中體現(xiàn)出來的相對變異性與人類從出生到80 歲時幾乎一樣多,因此對線蟲不同壽命階段差異性的研究對人類健康和衰老具有重要意義[5]。近年來隨著機(jī)器學(xué)習(xí)和人工智能等前沿技術(shù)在生物學(xué)研究方面的應(yīng)用,已有很多學(xué)者將深度學(xué)習(xí)等方法引用于線蟲壽命測定中。本文選用蛋白穩(wěn)態(tài)失衡現(xiàn)象作為線蟲壽命階段分類的指示器[6],使用螢火蟲熒光素酶蛋白輔助觀測。由于拍攝數(shù)據(jù)集時線蟲處于存活狀態(tài)且獲取熒光蛋白亮斑需要相對較長的曝光時間,本文數(shù)據(jù)集圖像存在模糊,有效特征區(qū)域較小等問題。為了在此前提下得到更好的分類效果,本文提出基于卷積神經(jīng)網(wǎng)絡(luò)的雙路特征融合模型,對線蟲圖像進(jìn)行特征學(xué)習(xí)。該方法將深度學(xué)習(xí)提取的特征和基于先驗知識提取的熒光蛋白聚集度特征相連接,共同作用于分類結(jié)果。實驗結(jié)果表明,該方法能夠有效提高線蟲壽命階段分類準(zhǔn)確率。
關(guān)于秀麗隱桿線蟲的壽命評估問題,目前有兩個主要的研究方向,一類是利用生理特征進(jìn)行評估,另一類是利用生物感受器進(jìn)行評估。生理特征評估是指根據(jù)可直接觀察到的線蟲的生理特征表現(xiàn),例如咽部吞咽速率、圖像熵測定、外觀測定、運(yùn)動能力測定以及自熒光測定等。利用生理特征評估的優(yōu)勢在于有著較高的準(zhǔn)確率以及適用于多種線蟲突變株,但由于研究局限于線蟲本體,缺乏技術(shù)遷移的可能性,對人體研究意義較為有限。相比利用生理特征,生物感受器主要由壽命相關(guān)基因或microRNA 啟動子攜帶熒光蛋白構(gòu)成,基因背后相關(guān)信號通路機(jī)制清晰,存在著技術(shù)遷移的可能性,對人類衰老階段評估有潛在指導(dǎo)意義[7]。但在實際研究中發(fā)現(xiàn),目前的生物感受器存在以下兩方面問題。一方面,生物感受器整體性能相對較低,這可能是由于單一基因本身對于壽命影響力有限導(dǎo)致的。另一方面,部分內(nèi)源性基因,在野生型中具有一定評估效力,但在特定突變蟲株(如daf-16)中往往評估能力較差,這主要是由于評估使用的基因往往受限于特定信號通路,而衰老現(xiàn)象由多條信號通路共同調(diào)控[8]。鑒于以上兩種方式存在的缺陷,本文選用蛋白穩(wěn)態(tài)失衡作為壽命相關(guān)指示器。這是因為絕大部分生物活動均依賴于蛋白功能,秀麗隱桿線蟲中多條壽命相關(guān)信號通路均表現(xiàn)出對蛋白穩(wěn)態(tài)的調(diào)控,隨著線蟲的衰老,蛋白的聚集會逐漸增多,同時在人類衰老的過程中,蛋白穩(wěn)態(tài)失衡也多種老年病相關(guān),例如阿茲海默癥、帕金森病等[6,9]。為了便于對線蟲體內(nèi)蛋白聚集的觀察,本文在多種亞穩(wěn)態(tài)蛋白中選取了未報道病理過程相關(guān)的螢火蟲熒光素酶蛋白(firefly luciferase)[10],攜帶多拷貝螢火蟲熒光素酶基因線蟲不會出現(xiàn)早衰以及癱瘓的表型。因此,選用亞穩(wěn)態(tài)蛋白作為觀察目標(biāo)既能具有較高的準(zhǔn)確性,又對人類健康和壽命研究具有較好的遷移性的評估方式。
隨著深度學(xué)習(xí)方法的發(fā)展與應(yīng)用,目前已有研究人員將深度學(xué)習(xí)強(qiáng)大的特征提取能力運(yùn)用于秀麗隱桿線蟲的壽命測定相關(guān)研究上。如Martineau[11]等從線蟲活動視頻中提取到的數(shù)百種形態(tài)、姿勢和行為特征,并使用支持向量機(jī)(SVM)對其于線蟲壽命直接的關(guān)系進(jìn)行分析。Lin[12]等通過將線蟲曲直信息作為全集特征引入基于卷積神經(jīng)網(wǎng)絡(luò)的線蟲壽命天數(shù)邏輯回歸分析模型,其精度高達(dá)0.8478,已獲得較好的評估結(jié)果。Sahand[13]等選用生物感受器作為研究對象,為采用Mask R-CNN 算法識別線蟲PVD 神經(jīng)元衰老后出現(xiàn)的神經(jīng)變性亞細(xì)胞突起,并以此對線蟲當(dāng)前壽命階段進(jìn)行判定,將線蟲的生物狀態(tài)分為年輕、老化、冷休克三個狀態(tài),最終得到0.85 的分類準(zhǔn)確率。但是Martineau 和Lin 均采用線蟲生理特征進(jìn)行評估,其研究僅局限于線蟲本身,缺乏可遷移性。Sahand僅將線蟲生物狀態(tài)分為3 類研究,分類階段較為簡單。針對以上方法的局限性,本文提出基于深度神經(jīng)網(wǎng)絡(luò)的雙路特征融合模型不僅可以通過神經(jīng)網(wǎng)絡(luò)提取線蟲的局部特征,還能通過計算熒光蛋白聚集度信息彌補(bǔ)其在全局特征上的損失,最終輸出線蟲壽命周期6 階段分類結(jié)果。
本文采用攜帶外源性熒光素酶融合蛋白的活體線蟲圖像進(jìn)行實驗。在拍攝時為了獲取清晰的熒光蛋白亮斑,需要較長的曝光時間,且無法控制蟲體的姿態(tài)和位置,使得同一類別下的圖像差異過大(如圖1 所示),同時由于拍攝獲取的圖像分辨率為6000×4000,需要將圖像壓縮后才能進(jìn)入神經(jīng)網(wǎng)絡(luò)框架訓(xùn)練學(xué)習(xí),該過程會使大量較小的熒光蛋白亮斑特征丟失。導(dǎo)致在圖像的中的全局特征參存在丟失的現(xiàn)象。
圖1 同一壽命階段不同個體圖像對比
本文對于秀麗隱桿線蟲壽命階段分類問題的研究,提出采用卷積神經(jīng)網(wǎng)絡(luò)雙路特征融合模型,通過引入一個新的附加屬性—聚集度信息作為全局特征,以提高實驗?zāi)P偷姆诸悳?zhǔn)確率。本文模型的總體框架如圖2 所示,分為兩個主要的模塊:CNN 特征提取模塊M1 和聚集度特征提取模塊M2。子模塊M1部分共有4個串行的卷積模塊,每個卷積模塊分為4 個層,每一層均由一個2D 卷積層組成,同時將該層的輸出與之前每一層的輸出連接,作為下一層的輸入使用,最后一層經(jīng)過全局均值池化后,得到特征向量F1。在子模塊M2 中,首先用快速傅里葉變換增強(qiáng)圖像中的亮斑特征,再使用LoG 算子獲取線蟲蟲體上熒光蛋白亮斑的坐標(biāo)信息。通過坐標(biāo)信息可以計算得到線蟲熒光亮斑的聚集度信息Pi。將算得的前n 個聚集度信息(P1,P2,…,Pn) 作為特征向量F2 。將特征向量F1 與特征向量F2 連接,再連接兩層全連接層,最后經(jīng)過Softmax分類器輸出線蟲壽命階段分類的評估結(jié)果。
圖2 CNN雙路特征融合模型總體框架
秀麗隱桿線蟲圖像中有效特征區(qū)域較小,且不同壽命階段的線蟲圖像具有較高的相似性,與自然圖像分類任務(wù)相比,線蟲圖像分類任務(wù)更注重細(xì)粒度層面的特征信息。因此,本文在子模塊M1 中引入由Gao[14]等提出的密集連接網(wǎng)絡(luò)DenseNet 的網(wǎng)絡(luò)模型。該網(wǎng)絡(luò)模型在殘差結(jié)構(gòu)部分的思想借鑒于He[15]等提出的ResNet 網(wǎng)絡(luò)模型:通過使用殘差映射替代恒等映射的方式,可以有效地學(xué)習(xí)到每個殘差塊輸入與輸出的差異部分,在模型收斂到一定程度時,輸入的信息可以跳過部分模型,對深層模型進(jìn)行有效的訓(xùn)練,進(jìn)而降低了在過深的模型中存在網(wǎng)絡(luò)退化的梯度消失的問題。DenseNet 借鑒殘差映射的思路,將每一層的輸出密集連接后作為下一層的輸入使用,同時在相同的目標(biāo)精度下,其參數(shù)和計算量僅為ResNet的一半。
基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取子模塊M1 是整個線蟲壽命階段分類模型的基礎(chǔ)。該模塊由4個卷積模塊組成,分別標(biāo)記為b1、b2、b3、b4,如圖3所示。由于模塊b1 中的特征圖過大,在模型訓(xùn)練時對訓(xùn)練速度存在一定的影響。其次,模塊b1 中得到的淺層語義信息相比b2 存在一定的差距,對模型訓(xùn)練效果影響較小,因此在子模塊M1 的設(shè)計中,b1 由3 個卷積層構(gòu)成,b2、b3、b4 則均采用密集塊(Dense Block)結(jié)構(gòu)。每個卷積模塊間均采用過度塊連接(Transition Block),包括批歸一化處理(Batch Normalizaion)[16],激活函數(shù)ReLU和一個1×1大小的卷積核進(jìn)行卷積。該模塊可以在一定程度上起到加快網(wǎng)絡(luò)收斂,緩解網(wǎng)絡(luò)過擬合,防止梯度消失和梯度爆炸,減少網(wǎng)絡(luò)參數(shù)量的作用。將該模塊的最終輸出特征圖經(jīng)過全局均值池化后得到特征向量F1。使得向量F1 更能表達(dá)線蟲不同壽命階段的細(xì)粒度特征。
圖3 M1子模塊的特征提取過程
通過M1 模塊已經(jīng)得到線蟲圖像的特征向量F1,并且其中包含豐富的語義信息,但是ROI 輪廓信息等宏觀層面的信息則較為粗略。而且圖像在進(jìn)入M1 模塊前需要經(jīng)過均值池化,這一過程中很多較小的熒光蛋白亮斑會存在丟失現(xiàn)象。因此加入通過傳統(tǒng)圖像特征提取算法獲取到的聚集度信息來彌補(bǔ)這一部分的信息丟失,使最終提取到的語義信息更具有魯棒性。本文提出的聚集度特征提取子模塊M2 分為三個步驟,首先,使用快速傅里葉變換(FFT)對圖像進(jìn)行特征增強(qiáng)。其次,使用高斯-拉普拉(LOG)算子獲取所有熒光蛋白亮斑的坐標(biāo)信息。最后,使用得到的熒光蛋白亮斑坐標(biāo)信息計算得到聚集度信息Pi,并再用其求出特征向量F2,與M1模塊最終輸出的特征向量F1相連接,共同提升模型的分類準(zhǔn)確率。
在本文中,線蟲蟲體輪廓邊緣區(qū)域和熒光蛋白亮斑區(qū)域?qū)儆诟哳l信號區(qū)域,而大量由于曝光時間過長而模糊的噪聲區(qū)域?qū)儆诘皖l區(qū)域,因此可以使用傅里葉變換對該特征進(jìn)行加強(qiáng),并對噪聲區(qū)域進(jìn)行降噪處理。快速傅里葉變換是離散傅里葉變換(DFT)及其逆變換的快速計算方法。長寬為M,N的圖像可以被看作是f(x,y)的二維離散信號,其離散傅里葉變換公式為
利用分治的思想對離散傅里葉變換序列進(jìn)行拆分,使其可以在O(nlogn)時間內(nèi)完成離散傅里葉變換[17]。
斑點(diǎn)檢測通常是為了檢測出圖像中像素值與周邊不同的區(qū)域,常用的斑點(diǎn)檢測算法有基于微分方法的微分檢測算法和基于局部極值的分水嶺算法。由于本文中所需要分割的熒光蛋白亮斑形狀均較為規(guī)整,因此選擇微分檢測算法中LoG算子作為該模塊的核心算法,LoG算子的核函數(shù)為
其中,σ為二維高斯函數(shù)的標(biāo)準(zhǔn)差,通過改變σ的值,可以對不同尺度的斑點(diǎn)進(jìn)行檢測。本文中需要檢測的都是蛋白亮斑,即像素值較高的聚集點(diǎn)集。在9×9 的空間范圍內(nèi),如果某一點(diǎn)的拉普拉斯響應(yīng)值均大于其他26 個點(diǎn)的響應(yīng)值,則認(rèn)為該點(diǎn)是所需求的的熒光蛋白亮斑,將記為當(dāng)前亮斑半徑,當(dāng)前亮斑坐標(biāo)記作Ai(xi,yi,ri)。為避免亮 斑 被 重 復(fù) 計 算,對 于 亮 斑Aj(xj,yj,rj) 、Ak(xk,yk,rk),如果存在
則將亮斑Ak(xk,yk,rk)刪除。線蟲熒光蛋白亮斑檢測過程如圖4 所示,為方便展示,圖像對亮斑部分放大,并對圖4(c)部分做反色處理。
為了彌補(bǔ)M1 子模塊中圖像壓縮時丟失的熒光蛋白密度信息,本文基于先驗知識提出線蟲熒光亮斑聚集度信息Pi,為線蟲熒光亮斑點(diǎn)間距值中最小的i個值的均值。并將算得的前n個聚集度信息(P1,P2,…,Pn)作為特征向量F2,其中,如果i大于線蟲體內(nèi)的熒光蛋白數(shù),則Pi取極大值5000。當(dāng)線蟲壽命處于前1/3 時,其表現(xiàn)的熒光蛋白亮斑數(shù)通常不超過10 個,而當(dāng)線蟲壽命處于最后1/3 時,其表現(xiàn)的熒光蛋白亮斑數(shù)通常在60 以上,個別個體甚至能表達(dá)出上百個熒光蛋白亮斑。因此,在六分類實驗下,n 值過小會導(dǎo)致模型在對后兩類進(jìn)行分類時參考性較低,而n 值過大會導(dǎo)致模型對前兩類進(jìn)行分類時不具有區(qū)分度。經(jīng)實驗得出,當(dāng)n值取12時,模型具有最好的分類效果。
在使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型時,選取一個合適的損失函數(shù)能夠提高模型的準(zhǔn)確率和魯棒性。本文所提出的雙路特征融合模型是基于密集連接網(wǎng)絡(luò)設(shè)計的多分類網(wǎng)絡(luò)模型,因此使用多類交叉熵(Categorical Cross Entropy)作為損失函數(shù)。第i個樣本的真實標(biāo)簽為yji,預(yù)測值標(biāo)簽為yji,則對該樣本的多類交叉熵?fù)p失函數(shù)可定義為式中m 為該批次輸入網(wǎng)絡(luò)的圖像樣本數(shù),c 為分類類別數(shù)。多類交叉熵表示實際輸出概率與期望輸出概率分布的差距,其值越小表示模型訓(xùn)練的學(xué)習(xí)效果越好。
本文數(shù)據(jù)集圖像是由華中科技大學(xué)生命學(xué)院中法聯(lián)合實驗室通過熒光顯微鏡下拍攝攜帶外源性熒光素酶融合蛋白的活體線蟲圖像。拍攝的圖像來自26 批次,共412 條線蟲,分別取自線蟲的頭部,尾部,軀干三個部位,均勻分布在線蟲的各個壽命階段。共取得4593 張圖像樣本,并且將其中80%的圖像作為訓(xùn)練集,20%的圖像作為測試集。
本文的實驗環(huán)境采用的硬件配置為i7-8700K處理器,GPU 型號為NVIDIA GeForce GTX 1080,顯存為8GB。操作系統(tǒng)Ubuntu Server 16.04 64-bit;編程語言python 3.6。訓(xùn)練模型中的迭代次數(shù)設(shè)置為5000,batchsize 大小為16,學(xué)習(xí)率設(shè)為0.001,衰減率設(shè)為0.01,沖量設(shè)為0.1,使用SGD 算法進(jìn)行優(yōu)化。為了驗證所提出方法的有效性,本文采用準(zhǔn)確率A,精確率P,召回率R,和F1 分?jǐn)?shù)作為評價指標(biāo),具體計算公式為
其中,TP(True Positive)為真陽性,表示預(yù)測為正,實際也為正的樣本;FP(False Positive)為假陽性,表示預(yù)測為正,實際也為負(fù)的樣本;FN(False Negative)為假陰性,表示預(yù)測為負(fù),實際也為正的樣本;TN(True Negative)為真陰性,表示預(yù)測為負(fù),實際也為正的樣負(fù)。
為了分析不同網(wǎng)絡(luò)分支對模型的影響,將本文提出的M1 子模塊和M2 子模塊拆分,并對其輸出的特征向量F1 和F2 后分別添加4 個全連接層和Softmax 分類器,使其具有獨(dú)立的分類能力。分別完成對模型的訓(xùn)練及測試,測試結(jié)果如表1 所示,可以看出各子模塊均具有一定獨(dú)立的分類能力。圖5、6分別為僅使用M1子模塊和使用本文完整模型的混淆矩陣。通過對比圖5 與圖6,可以看出本文提出的M2 模塊的聚集度信息能顯著提升模型分類準(zhǔn)確度。
表1 各模塊消融實驗
圖5 M1子模塊分類效果混淆矩陣
圖6 本文方法分類效果混淆矩陣
為了驗證本文模型的分類效果,將本文使用的線蟲數(shù)據(jù)分別輸入至VGG16、ResNet50、InceptionV3、MobileNet 模型和本文方法,完成對模型的訓(xùn)練及測試,測試結(jié)果如表2 所示。可以看出,本文提出的方法較其他模型均有提升。同時,將本文提出的M2 模塊與其他分類網(wǎng)絡(luò)相結(jié)合,其分類精度均能有一定的提升,說明本文提出的M2 模塊具有一定的泛用性。
本文為實現(xiàn)秀麗隱桿線蟲壽命階段分類,提出了基于卷積神經(jīng)網(wǎng)絡(luò)的雙路特征融合模型對線蟲的壽命階段進(jìn)行評估。該模型可分為基于密集連接網(wǎng)絡(luò)的子模塊CNN 特征提取模塊M1 和使用傳統(tǒng)圖像處理算法計算熒光蛋白亮斑聚集度信息的聚集度特征提取模塊M2。實驗結(jié)果表明,與其他分類網(wǎng)絡(luò)相比,本文模型能有效提高分類精度和F1 評分,已基本滿足生物學(xué)研究方面對線蟲壽命階段的預(yù)測需求。在接下來的研究中,將進(jìn)一步對分類網(wǎng)絡(luò)模型和熒光蛋白特征提取模型進(jìn)行優(yōu)化,同時使用更多的數(shù)據(jù)集對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,進(jìn)一步提高線蟲壽命階段預(yù)測的準(zhǔn)確率。