項和雨,鄒 斌,唐 亮,陳維國,饒凱鋒,劉 勇,馬 梅,楊 艷
1 湖北大學,數學與統計學學院,應用數學湖北省重點實驗室,武漢 430062 2 無錫中科水質環境技術有限公司,無錫 214024 3 北京工業大學,北京現代制造業發展基地,北京 100124 4 中國科學院生態環境研究中心,環境模擬與污染控制國家重點聯合實驗室,北京 100085 5 中國科學院生態環境研究中心,中國科學院飲用水科學與技術重點實驗室,北京 100085 6 中國科學院大學,資源與環境學院,北京 101407 7 武漢晴川學院,計算機學院,武漢 430204
浮游植物的定性定量檢測是水環境檢測的重要內容之一,對浮游植物進行快速準確識別將有助于對水域環境的監測、評價、開發和利用[1- 3]。特別地,當水體富營養化引發浮游植物大量繁殖[4-6]尤其是藍藻水華泛濫[7-8],造成公共飲水威脅和巨大經濟損失時[9],浮游植物的快速準確識別愈漸凸顯其重要性。2017年無錫“供水危機”之后[10-11],國家、省市投入了大量的財力進行太湖綜合整治。在藍藻打撈、控源截污、生態清撤、引江濟太等一系列措施下,太湖營養鹽的控制取得了顯著的成效,水質出現明顯的改善[12]。盡管太湖水質的不斷持續改善,但是太湖藍藻水華每年仍然如期而至,個別年份暴發的面積和頻次甚至出現反復。2019年2月20日生態環境部,就重點湖庫水質及藍藻水華監測發文《關于做好2019年重點湖庫藍藻水華防控工作的通知》,提出2019年1月至5月全國大部分地區氣溫較常年同期偏高,要求保障飲用水安全,各地應積極采取相關措施防控湖庫藍藻水華災害。因此,浮游植物監測是一項非常重要而緊迫的工作。長期、有效的浮游植物監測數據積累是揭示富營養化機理和藍藻水華暴發機制的基礎工作,也是防控藻類水華的重要數據支撐。浮游植物生長在復雜的水生環境中,種類繁多且形態不一,準確而高效地識別水體中的浮游植物是監測工作中的重大挑戰。
當前浮游植物識別方法主要分為三類[13-14]:(1)人工分類,即專家借助顯微鏡對浮游植物樣本進行識別。這種方法最基本最方便,但耗時耗力,識別者往往需要經過專門的訓練。(2)分子標記,基于浮游植物特征性化學組成成分或DNA等遺傳物質[15]進行分類,如分光光譜法、熒光光譜法、液相色譜法、流式細胞儀法[16]和分子探針技術等。這些方法較為可靠,但需要昂貴的儀器和精細的操作,難以推廣。(3)利用圖像處理與模式識別技術分類。盡管人工分類是基于形態學的經典方法,應用最為廣泛,但是隨著浮游植物監測要求的不斷提高,尤其是監測頻次的不斷增加,這種“高要求”和“人力成本”之間的矛盾愈加凸顯。因此,自動化監測作為人工監測的輔助手段被認為是未來浮游植物監測的一個重要研究方向。
利用浮游植物圖像進行自動化識別已有很多嘗試[17],是實現浮游植物識別自動化的重要途徑。經典的圖像識別方法包含圖像的預處理、圖像分割、特征提取和圖像分類四個步驟。例如,Stefan等[18]提取傅里葉描述子和矩不變量等47種特征,利用判別分析方法對藍綠藻進行自動識別;Luo等[19]通過傅里葉頻譜特征得到特征向量,利用BP神經網絡對圓形硅藻進行自動分類;Mansoor等[20]利用圖像處理技術和多重感知機前饋人工神經網絡實現了四種藍藻的自動識別;Walker等[21]應用貝葉斯決策函數和熒光輔助圖像對湖中兩種主要浮游植物進行分類。這些方法的弊端在于需要利用傳統的圖像分割算法來輔助浮游植物定位,并且需要手工設計特征。面對不同的圖像識別任務,需要先設計不同的圖像分割算法和特征提取算法,這難以滿足現場快速自動測量的要求。深度學習方法克服了這些缺點,得益于精心設計的網絡結構,深度卷積神經網絡可以自動學習圖像的表征,端到端的輸出分類結果,兼顧準確率、效率且易于擴展。
目前,利用深度學習方法進行浮游植物識別的研究較少,萬永清等[22]基于深度學習框架Caffe對三種藻類進行識別,雖達到100%的識別率,但識別種類較少,而且未詳細描述數據集以及所用神經網絡模型的結構和參數。本文以太湖的11種優勢屬為研究對象,基于深度學習中的殘差注意力網絡模型[23],提出一種新的深度卷積神經網絡RAN- 11,并搭建出易推廣的浮游植物自動化識別系統,對于提高浮游植物識別準確率和效率具有重要意義。該系統有助于自動化、快速識別水體中的常見浮游植物種類和數量,對于實現水體中浮游植物的自動化監測具有重要價值。
本研究組在太湖多個試點收集水樣,然后利用自主研發的數字圖像自動采集系統采集了多批浮游植物圖像。最后,考慮到浮游植物種類的復雜性和樣本數量的不均衡性,僅標注了太湖水體中的優勢屬,包括微囊藻,游絲藻,溝鏈藻,長孢藻,裸藻,盤星藻,轉板藻,針桿藻,星桿藻,浮絲藻和柵藻共計11個屬(圖1)。
浮游植物的顯微鏡圖像像素高、尺寸大,且在拍攝過程中氣泡、雜質、相互遮擋等因素會造成圖像清晰度和辨識度難以達到算法識別的標準。為了能夠更好地對浮游植物進行標注及算法識別,本研究組開發了一套可以快速對超大圖像進行切割的工具軟件,該工具可將2cm×2cm區域中的72000×72000像素的超大圖像切割為邊長7200的矩形圖像。專家對切割后的11種浮游植物交叉標注,截取邊長在200- 260nm的浮游植物圖像共計1036張,按照等比例縮放成分辨率為224×224的PNG格式圖片,最后按3∶1∶1的比例將1036張圖像隨機分為訓練集、驗證集和測試集。
本文采用深度學習框架Pytorch搭建網絡,在一臺Win10工作站上進行網絡訓練和測試。該工作站配備Intel(R) Xeon(R) Platinum 8268 CPU 和NVIDIA Quadro GV100 GPU,主頻2.90GHz,顯存32G。

圖1 浮游植物掃描圖Fig.1 Microphotography of dominant phytoplankton in Lake Taihu (Automatic light scanning system)
近年來,圖像分類方法多側重于學習特征表達[24],代表是詞包模型(Bags of Words,BoW)[25]和深度學習模型。其中詞包模型在2005- 2012年期間表現優異,多次斬獲PASCAL VOC分類競賽冠軍。至2012年深度學習模型崛起,逐漸代替詞包模型成為圖像分類任務的主流方法,屢次刷新ImageNet大規模視覺識別競賽(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)的最高記錄。
1.3.1詞包模型
詞包模型成熟于自然語言處理領域,主要通過計算文檔中單詞出現的頻率來對文檔進行表達和描述。在圖像處理的分類問題中,詞包模型將每個圖像的局部特征看成一個視覺單詞,形成詞包進行分類,其基本流程如下:
(1)底層特征提取。對每一張圖像提取特征,如SIFT特征或SURF特征;
(2)構建碼本。使用K-means算法對提取的特征聚類,用聚類中心構建視覺碼本;
(3)特征匯聚。利用視覺碼本對圖像特征編碼,獲取圖像的詞包作為新的特征描述;
(4)使用分類器對詞包進行分類,如邏輯斯蒂回歸分類器或支持向量機。
1.3.2殘差注意力網絡
He等[26]通過實驗猜測,深的網絡的求解器很難去利用多層網絡擬合恒同映射g(x)=x,因而在網絡層數加深時難以求解目標函數H(x)。為此,He開創性地在卷積層之間加入快捷連接(即在主分支外另起一個分支,兩個分支的輸入皆為x,輸出相加),執行恒同映射,形成殘差塊。這樣,原本求H(x)的問題,憑借快捷連接轉化為求解另一個函數F(x)=H(x)-x的問題。可以發現,在恒同映射恰為目標函數H(x)的極端情形下,殘差塊完全避免了擬合恒同映射這一難題。由殘差塊堆積而成的深度殘差網絡(ResNet)[26]因為足夠深并且容易優化,在ILSVRC 2015中獲得了圖像分類任務的冠軍。
人類的視覺注意力機制是通過向目標區域投入更多注意力資源,以獲取更多所關注目標的細節信息而抑制其他無用信息。注意力機制可以通過加權來實現。Wang等[23]通過不同的注意力模塊來學習針對其特性而專門化的注意力,即令Hi,c(x)=(1+Mi,c(x))×Fi,c(x),其中,Fi,c(x)代表圖像的特征圖的第i個位置第c個通道的特征值,Mi,c(x)∈[0,1]代表該特征值的權重,Hi,c(x)為納入了注意力機制的特征輸出。由此構建的殘差注意力網絡Attention- 56和Attention- 92[23]在三種基準數據集上取得了優異的識別效果。
Wang等[23]把自底向上、自上而下的前饋結構(軟掩模分支)作為注意力模塊的一部分,以改變特征上的權重,形成越來越精細的注意力。在該模型中先下采樣再上采樣確保了特征矩陣和權重矩陣的維度一致可以逐點相乘,改變快捷連接的個數和輸出尺寸確保各個模塊的注意力的精細程度不同,由此奠定了殘差注意力網絡的基礎。
考慮到Leaky ReLU激活函數[27]在輸入為負時仍舊可以產生非零的激活值,從而能促進反向傳播過程中網絡參數的更新,使網絡收斂更快,因此本文使用Leaky ReLU激活函數代替ReLU激活函數。進一步地,為獲取更好的圖像表征,本文對淺層特征降采樣后與深層特征按通道拼接,并用大步長卷積層代替池化層。但這些改變會增加網絡的計算負擔。因此,本文通過消融實驗改變注意力模塊和殘差塊的個數,并大幅調整相應的通道數以適應特征變換,由此形成卷積神經網絡RAN- 11。RAN- 11為residual attention network- 11的縮寫,其中“11”表示該網絡主要由表1中的11種模塊組成。

表1 RAN- 11的網絡參數

圖2 殘差塊Fig.2 Residual block
1.4.1構建殘差塊
殘差塊由主分支和快捷連接組成,如圖2。其中主分支由3層卷積層串聯組成,每個卷積層都會配備一個批量歸一化層和一個激活函數層,其順序為:批量歸一化層-Leaky ReLU激活函數層-卷積層。殘差注意力網絡模型與ResNet所采用的恒等映射不同,在殘差注意力網絡模型的快捷連接中包含額外的卷積塊,該卷積塊的輸入與主分支的輸入相同,其輸出則與主分支的輸出相加后前向傳播。
1.4.2構建注意力模塊
根據軟掩模分支中快捷連接的個數差異可將注意力模塊分為A1、A2和A3三類,如圖3(網絡層以大寫英文字母標識,“I”代表上采樣層,“S”代表Sigmoid激活層,“x”和“+”分別代表逐點相乘和逐點相加,其余縮寫見表1)。以A1為例,輸入之后的第一個模塊和輸出之前的最后一個模塊均為殘差塊,二者中間是主分支和軟掩模分支。主分支由兩個殘差塊串聯組成;軟掩模分支主要包含三對“下采樣層-上采樣層”和兩個快捷連接,快捷連接的起點前和終點后皆為殘差塊。A2、A3的結構與A1類似,兩個分支的輸出的乘積與主分支的輸出之和作為最后一個殘差塊的輸入向前傳播。

圖3 注意力模塊Fig.3 Attention modules
1.4.3構建RAN- 11
RAN- 11包含1個A1模塊、1個A2模塊和2個A3模塊,注意力模塊個數多于Attention- 56但少于Attention- 92,其網絡結構見圖4。RAN- 11主要借助調整殘差塊參數對特征圖進行維度變換。此外,對恰好位于注意力模塊之后的殘差塊,其輸出會與恰好位于注意力模塊之前的殘差塊的輸出,按通道拼接后再前向傳播。

圖4 RAN- 11的網絡結構Fig.4 Network structure of RAN- 11
對RAN- 11、Attention- 56[23]、Attention- 92[23]、DenseNet- 161[28]、BoW[25]五種模型在相同的計算環境下進行對比實驗,實驗結果見表2。表2中的評價指標分為三部分:(1)模型對單一浮游植物類別的查準率[29];(2)浮游植物的隨機測試Top-k準確率。模型評價中常用的準確率指標即指Top- 1準確率,表示預測正確的樣本數量在總樣本數量中的占比。Top-k準確率相較于Top- 1準確率擴大了誤差容忍程度,對某一樣本,只要在預測概率為Top-k的類別中包含樣本的正確類別,就認為該樣本預測正確;(3)模型的推理速率,即該模型平均每秒可以處理多少幀圖像。
由表2知,本文提出的算法RAN- 11在除星桿藻外其余種類的查準率都在90%以上,而在其他模型中,查準率在90%以下的類別的數目均不少于兩類。同時,RAN- 11是取得100%查準率的類別的數目最多的算法,為5種。從總體來看,RAN- 11的Top- 1、Top- 2和Top- 3準確率均是五種算法中最高的,分別為95.67%、98.56%和100%。最后從推理速率來評估,由于深度神經網絡普遍具有海量參數,盡管使用GPU加速,其速率還是慢于經典的詞包模型。以此為代價,深度神經網絡的Top-k準確率遠高于詞包模型,Top- 1準確率普遍比詞包模型高10個百分點以上。同時,RAN- 11的推理速率為41.5 fps,是幾種深度學習模型中表現最好的。僅從殘差注意力網絡模型的角度來看,Attention- 92通過增加注意力模塊的個數在取得優于Attention- 56的準確率的同時,卻犧牲了推理速率,幀速從41.2 fps下降到23.6 fps。RAN- 11在適當增加注意力模塊個數的同時引入多尺度特征和Leaky ReLU激活函數,使得準確率和推理速率都獲得提升,特別是準確率相較于Attention- 56提升近一個百分點。

表2 RAN- 11和其他模型的對比實驗
在評估算法結果的同時,本文對表2中4種深度學習算法的訓練過程進行可視化分析。深度學習實驗中常用回合(Epoch)表示訓練集中全部樣本完成一次前向傳播和一次反向傳播的過程,用批量尺寸(Batch size)表示神經網絡每次梯度更新所處理的樣本數,稱神經網絡每處理完一個批量的樣本為一次迭代(Iteration)。回合數和批量通常決定了一個網絡要訓練多久。本文將所有網絡的批量均設置為16,訓練200個回合,并利用可視化工具TensorBoard記錄訓練過程中訓練集損失隨迭代次數、驗證集準確率隨回合數的變化情況,以確保深度學習算法正常運行。特別地,由于記錄的損失數據波動較大不利于觀察比較,本文先用三次樣條插值來填充離散數據點,再利用移動平均濾波器對訓練損失數據進行平滑后處理。可視化結果見圖5和圖6。

圖5 損失變化曲線Fig.5 Variation of loss

圖6 準確率變化曲線Fig.6 Variation of accuracy
由圖5和圖6知,訓練損失在第3000—4000次迭代之間便已趨于穩定,驗證集準確率在第75—100個回合之間便已達到最高,這與現有參數設置下一個回合包含約40次迭代相一致。綜合損失和準確率變化可知,模型在訓練達100個回合時便可以停止更新,此時模型的準確率趨于穩定,而訓練時間可以壓縮掉1/2,這有利于進行網絡調參和模型快速迭代。此外,我們觀察到圖5中藍色曲線基本位于其他曲線下側,圖6中藍色曲線基本位于其他曲線上側。這表明RAN- 11損失下降速率最快、準確率上升速率最快,即算法收斂性好,這得益于我們采用了更好的激活函數Leaky ReLU來代替ReLU,使得即使激活函數的輸入值為負時神經元仍然可以更新參數。
對于大規模的浮游植物圖像識別任務而言,在模型的推理速率相差不是很大的情況下,識別準確率即使提高1%也會帶來更大實際使用價值,因此RAN- 11對Attention56和Attention92的提升是非常有益的,但仍存在改進空間。為進一步提高識別效果,我們可以考慮從以下幾方面對現有算法進行改進。
表2中算法對星桿藻的最高查準率為86.96%,其中RAN- 11算法對星桿藻的查準率僅有82.61%。查看混淆矩陣[30]發現,星桿藻查準率低主要源于相對多的鉤鏈藻被誤識別。在部分訓練集圖像中,破碎的星桿藻不再呈星狀,而是和鉤鏈藻一樣都呈現黃色和白色交錯的鏈狀,后者確實存在較大的被誤識別為星桿藻的可能性。在后續工作中,我們將針對性地引入圖像的顏色增強以豐富訓練集的顏色變化,避免神經網絡對這種黃白交錯的形態過度學習,從而提升識別查準率和總體準確率。
相對于大型圖像識別任務而言,目前浮游植物的有標注數據量還有待增加。浮游植物的顯微鏡圖像中存在大量的相互重疊、遮擋、模糊、物種數量不均勻等現象,導致參與訓練的標注圖片中某些浮游植物的可鑒別的數量特別稀少,不足以支撐深度學習的訓練過程。另外,目前的模型是在有監督的條件下進行的,人工標注的過程非常耗時耗力,因此后續可以考慮引入半監督或者無監督的深度學習方法,將大量的未標注圖片中的有用信息加入到訓練模型中,豐富樣本的種類和數量。
最后,在實際應用中如何將識別過程系統化是一項重要的挑戰。實驗表明RAN- 11在浮游植物識別中取得具有競爭力的識別效果,因此可以基于RAN- 11構建出一種浮游植物自動化識別系統,如圖7。

圖7 浮游植物自動化識別系統Fig.7 Automatic phytoplankton identification system
該系統由三大模塊組成:(1)圖像獲取模塊。主要負責抽取試點收集水樣,并通過顯微鏡及圖像獲取裝置,獲取浮游植物顯微鏡圖像;(2)圖像預處理模塊。主要借助計算機軟件完成浮游植物圖像的切割、標注等,形成可供網絡訓練或測試的數據集。其中,如果目的是預測浮游植物類別則不需要標注圖像。如果沒有權重則需要先標注圖像并輸入RAN- 11訓練;(3)圖像識別模塊。加載已訓練的權重,對預處理的浮游植物圖像進行快速自動分類。該系統不依賴于水域環境,不需要手工設計特征,加載已有權重文件和待測試的浮游植物樣本,便可以端到端的輸出識別結果,具有很好的推廣性。鑒于圖像預處理模塊的工作耗時占比大,尤其是圖像標注,需要為每張圖片建立標簽,在后續工作中,可利用模型推斷結果對數據集進行預標注后再進行人工修正,提高浮游植物圖像的標注效率,逐步完善該系統。
本文以太湖浮游植物的11個優勢屬為數據來源,提出了一種新的的殘差注意力網絡模型RAN- 11,可以以高準確率快速識別浮游植物,并構建了一種具有競爭力的浮游植物自動化識別系統,得到以下結論:
(1)RAN- 11因其精心設計的網絡結構可以取得比原殘差注意力網絡Attention- 56和Attention- 92更好的識別結果,在準確率和速度上均優于原算法。
(2)深度學習方法的識別效果遠優于傳統的以手工設計特征為主的圖像識別方法。雖然傳統方法如BoW計算量小、速度快,但難以彌補識別效果上的不足。
(3)基于深度學習的浮游植物識別方法,可以準確而高效地對所關注的水體中的浮游植物進行分類,極大地提高了水質檢測的可靠性和易操作性,可有力促進水質監測和保護。
(4)當前深度學習方法在浮游植物識別領域的應用較少,但具有廣闊的應用前景。本文構建的浮游植物圖像識別系統,易于在實際應用中推廣,對于實現水體中浮游植物的自動化監測具有重要意義。