周石慶,麻望池,盛炟,伍洋濤,卜令君
(湖南大學土木工程學院,湖南長沙 410082)
近年來隨著我國工農業的快速發展,大量工農業廢水被排入水體,導致水體富營養化,進而引發一系列藻類爆發問題[1-2].高藻水中的藻類在水廠中被去除主要是通過混凝工藝,若混凝效果不佳則會導致未被混凝沉淀的藻類進入濾池,造成濾池的堵塞,甚至導致水廠的癱瘓,嚴重威脅水廠的供水安全[3-4].
高藻水混凝處理的關鍵在于混凝劑投藥量的確定.混凝劑投藥量的確定方法主要有兩種,一種是人工經驗投加法,即通過水廠管理人員的經驗確定投加量.但是大部分水廠都缺少藻類爆發時混凝劑投加的經驗,因此依靠人工經驗難以確定高藻水混凝工藝過程所需的混凝劑投加量.另一種則是通過在線絮凝技術投加混凝劑,其中包括流動電流檢測技術、光學檢測技術、透光脈動檢測技術、在線顆粒計數儀、基于人工神經網絡和多水質參數的控制方法等[5-8].以上技術一般都是通過對混凝過程中某個或幾個參數進行獲取,并將提取到的參數與出水效果建立對應關系,最終確定投藥量.針對某一特定水質,這種方法可能有比較好的效果,但是應對如高藻水類復雜水質,其效果得不到保證,因此并未得到普及[9].
如今隨著智慧水務的發展,人工智能技術不斷普及,絮凝控制過程智能化是發展的必然趨勢[10-12].因此本文提出一種基于DenseNet卷積神經網絡模型的藻類絮體圖像識別方法,即通過采集高藻水在不同混凝條件下產生的絮體圖像,同時記錄對應的去除率作為絮體圖像的標簽,建立數據集.基于現有深度學習模型,采用遷移學習的方式對不同去除率對應的藻類絮體圖像進行訓練,以計算機提取特征的方式替代人工特征提取.建立基于圖像分類的藻細胞去除率預測模型.實現對含藻水體混凝處理的去除率預測,從而能夠依據藻類去除效果確定投藥量.
CCD(Charge-coupled Devic)數碼顯微鏡,六連攪拌儀(MY3000-6F),紫外分光光度計(T6 新世紀),硫酸鋁[Al2(SO4)3·18H2O],次氯酸鈉(NaClO).銅綠微囊藻,購自中國科學院水生生物研究所(FACHB-315),選擇BG-11 培養基在人工培養箱中培養,培養溫度為(25±1)℃,光暗比為12 h/12 h,光照強度為3 500 lx.
將處于穩定期的銅綠微囊藻溶液與充分沉淀后的南方地區某水庫水混合,配置成不同吸光度(OD680)的藻溶液,以模擬藻爆發真實水質情況.考慮到水廠的處理流程中有預氧化過程,因此整個處理流程分為預氧化過程和混凝過程.預氧化過程在混凝攪拌儀中進行,向燒杯中投加目標劑量的氧化劑,同時設置水力條件為10 r/min,緩慢攪拌10 min完成預氧化過程.混凝過程中,混凝劑的選擇為硫酸鋁,投加量為10 mg/L,混凝實驗的水力條件設置為:先以250 r/min 快速混合1 min,再以100 r/min 混合3 min,然后以40 r/min 緩慢混合10 min,沉淀30 min,水樣取自沉淀后水面下1 cm,記錄出水OD680值.
混凝結束階段,緩慢攪拌,同時緩緩吸取水樣置于培養皿中.利用CCD 數碼顯微鏡進行圖像采集,采集第一張圖像時對相機的鏡頭高度、焦距、各光學參數進行設置,而后實驗全過程中攝像機的參數設置、鏡頭高度均保持不變.通過改變進水藻細胞濃度、混凝劑投加量、有效氯投加量獲得了36 種工況,每種工況重復3 次,去除效果如圖1 所示,每次實驗記錄約30 張絮體圖像,同時記錄每張絮體圖像樣本和對應的去除率,實驗中為了保證樣本具有代表性,實驗設計過程中樣本絮體圖像對應的去除率盡可能覆蓋了所有的去除率.

圖1 不同混凝條件下藻類去除效果Fig.1 Algae removal efficiency under different coagulation conditions
將以上36 種工況獲得的圖像樣本按照其對應去除率的大小分為3類,此3類去除率區間即為絮體圖像的3 種標簽.第一類是去除率小于60%的情況,此類情況一般是藻高爆發情況,混凝過程效果不佳,藻類未被有效去除,不采取措施很可能造成水廠癱瘓;第二類是去除率在60%~90%之間,需要對混凝劑投加量做出調整以達到更好的去除效果;第三類是去除率大于90%以上,一般認為水廠混凝已經達到較好的去除效果.同時為了保證每種區間的絮體圖像相對平衡,本文對部分絮體圖像進行了隨機刪減.
DenseNet 模型源于ResNet 模型,ResNet 模型的優秀源于它可以訓練出更深的卷積神經網絡(Convolutional Neural Networks,CNN)模型,從而提高模型的準確度.而DenseNet 模型延續了ResNet 模型的思路,但不同于ResNet,它提出了一個密集連接機制,稱為密集塊(Dense Block),密集塊中每個層需要接受前面所有層作為其額外輸出.
對于一個L層的網絡,其共包含個連接,所以DenseNet網絡在l層的輸出為

式中:Hl是非線性轉化函數,包括批標準化、線性整流函數和卷積.
這種特殊的連接方式需要各個層的特征圖大小一致.因此,DenseNet網絡采用了密集塊和轉化層的結構,轉化層主要由卷積層和池化層組成,可以實現特征圖的大小變換.網絡的具體結構和參數如圖2和表1所示.

表1 DenseNet-121網絡結構參數表Tab.1 DenseNet-121 network structure parameter table

圖2 DenseNet網絡結構圖Fig.2 DenseNet network structure diagram
本文采用上下翻轉、左右翻轉、隨機裁剪等數據增強方式對采集到的3 000 余張圖像進行預處理[13].為消除不同大小的圖片可能帶來的不利影響,統一將目標絮體圖像歸一化為224×224 的圖像[14],并以去除率區間為標簽構建絮體圖像數據集.部分樣本絮體圖像如圖3 所示.同時打散并劃分訓練集、驗證集和測試集.具體劃分結果見表2.

圖3 絮體圖像數據集樣本Fig.3 Floc image dataset samples

表2 絮體圖像數據集劃分Tab.2 Floc image data set partition
由于DenseNet-121模型架構較深,比較復雜,從頭開始訓練需要消耗大量計算機資源和使用大量數據,而本文所使用的數據集為實驗室采集,數量遠遠不夠.因此本文利用遷移學習對模型進行訓練,遷移學習主要的實現方法是將一個已經訓練好的模型參數移植至需要訓練的模型中去,只用訓練后幾層網絡即可實現目標模型的訓練[15].本文中固定DenseNet-121 的部分網絡參數,對最后一層即分類層進行調整,將輸出改為3 個,重新訓練最后幾層的網絡參數,完成模型訓練.
模型訓練基于Python 語言的編程環境,使用了TensorFlow 2.0 框架、Pycharm 開發環境在計算機上訓練模型,計算機處理器為Intel Core i5-8400,內存大小為16 G,顯卡為Nvidia GeForce 1060,模型訓練的過程中采用了自適應估計算法(Adaptive Moment Estimation)對目標模型進行優化[16].設置學習率為0.001,訓練批量大小為32,訓練輪數為50.
使用分類交叉熵損失函數將模型訓練50 輪后,實驗結果如圖4 所示.由實驗結果可知DenseNet-121模型在較短時間內,訓練集和驗證集的準確性都提升到一個較高的水平,經過50 輪的訓練,模型的驗證集準確度達到了91%,測試集的準確度達到了89.5%.

圖4 模型訓練結果Fig.4 Model training results
混淆矩陣是模型精度評價的一種方式(見圖5),能夠實現分類結果的可視化,從而直觀地看出模型預測結果和實際結果的差異,便于分析模型的優劣.用戶精度(User Accuracy)和生產者精度(Producer Accuracy)是混淆矩陣中的兩個重要指標.在本文的背景下,用戶精度指的是某去除率區間的絮體圖像被正確識別到該去除率區間的數量和該去除率區間的絮體圖像總數的比例.生產者精度指的是某去除率區間的絮體圖像被正確識別到該去除率區間的數量和被識別成該去除率區間的絮體圖像總數的比例(見表3).

圖5 模型測試的混淆矩陣Fig.5 Confusion matrix of model testing

表3 模型測試精度表Tab.3 Model test accuracy table
結果表明在測試集的638張圖片中,有571張圖片被正確分類至相應的去除率標簽中,達到了預期的效果.但值得注意的是,28 張實際標簽值為60%~90%的絮體圖像被分類至90%~100%,而有23 張實際標簽值為90%~100%的絮體圖像被分類至60%~90%.以上兩種情況是造成模型誤差的主要原因,可能是因為有幾種工況的去除率在90%左右,所以模型難以將其正確分類.
為驗證DenseNet-121 網絡的優越性,我們補充測試了VGG-16 和ResNet-101 兩種常用的卷積神經網絡用以對比研究.如表4所示.

表4 不同卷積神經網絡的預測精度對比Tab.4 Comparison of prediction accuracy of different convolution neural networks
結果顯示,從整體精度來看,VGG-16 對本文數據集的預測精度為80.7%,ResNet-101 對本文數據集的預測精度為67.3%.顯然DenseNet-121 網絡優于其他兩種常用的卷積神經網絡,且在辨別去除率在60%~90%之間的絮體圖像時有絕對的優勢.
為測試模型對數據集以外的圖像的識別準確性,本文取某水庫水配置銅綠微囊藻溶液進行模型泛化實驗.實驗中隨機設置了3 種不同混凝條件,每個條件下采集3 張,共計9 張圖片進行圖像分類,以測試模型的泛化性能(見表5).
測試的結果如表5所示,對于3種不同混凝條件下產生的絮體圖像,模型均能夠給出準確的去除率區間.表明模型能夠對數據集以外的高藻水混凝產生的絮體做出識別并進行去除率的預測.

表5 DenseNet網絡模型泛化性能測試結果Tab.5 Test results of generalization performance of DenseNet network
基于深度學習的藻類混凝去除率預測方法,通過DenseNet-121網絡實現不同去除率區間圖像的分類以預測銅綠微囊藻混凝過程的去除效果.通過實驗室設計不同混凝條件建立藻類絮體圖像數據集,同時構建基于DenseNet 網絡的深度學習模型,實現對混凝過程藻類去除率的預測.結果顯示,模型的準確性達到90%.與VGG和ResNet模型相比,DenseNet模型具有更高的精度,且在60%~90%區間藻類絮體圖像的識別精度上有顯著的優勢.同時通過對數據集之外的銅綠微囊藻混凝產生的絮體圖像進行識別,驗證了模型的泛化能力.