周石慶,麻望池,盛炟,伍洋濤,卜令君
(湖南大學(xué)土木工程學(xué)院,湖南長沙 410082)
近年來隨著我國工農(nóng)業(yè)的快速發(fā)展,大量工農(nóng)業(yè)廢水被排入水體,導(dǎo)致水體富營養(yǎng)化,進(jìn)而引發(fā)一系列藻類爆發(fā)問題[1-2].高藻水中的藻類在水廠中被去除主要是通過混凝工藝,若混凝效果不佳則會(huì)導(dǎo)致未被混凝沉淀的藻類進(jìn)入濾池,造成濾池的堵塞,甚至導(dǎo)致水廠的癱瘓,嚴(yán)重威脅水廠的供水安全[3-4].
高藻水混凝處理的關(guān)鍵在于混凝劑投藥量的確定.混凝劑投藥量的確定方法主要有兩種,一種是人工經(jīng)驗(yàn)投加法,即通過水廠管理人員的經(jīng)驗(yàn)確定投加量.但是大部分水廠都缺少藻類爆發(fā)時(shí)混凝劑投加的經(jīng)驗(yàn),因此依靠人工經(jīng)驗(yàn)難以確定高藻水混凝工藝過程所需的混凝劑投加量.另一種則是通過在線絮凝技術(shù)投加混凝劑,其中包括流動(dòng)電流檢測(cè)技術(shù)、光學(xué)檢測(cè)技術(shù)、透光脈動(dòng)檢測(cè)技術(shù)、在線顆粒計(jì)數(shù)儀、基于人工神經(jīng)網(wǎng)絡(luò)和多水質(zhì)參數(shù)的控制方法等[5-8].以上技術(shù)一般都是通過對(duì)混凝過程中某個(gè)或幾個(gè)參數(shù)進(jìn)行獲取,并將提取到的參數(shù)與出水效果建立對(duì)應(yīng)關(guān)系,最終確定投藥量.針對(duì)某一特定水質(zhì),這種方法可能有比較好的效果,但是應(yīng)對(duì)如高藻水類復(fù)雜水質(zhì),其效果得不到保證,因此并未得到普及[9].
如今隨著智慧水務(wù)的發(fā)展,人工智能技術(shù)不斷普及,絮凝控制過程智能化是發(fā)展的必然趨勢(shì)[10-12].因此本文提出一種基于DenseNet卷積神經(jīng)網(wǎng)絡(luò)模型的藻類絮體圖像識(shí)別方法,即通過采集高藻水在不同混凝條件下產(chǎn)生的絮體圖像,同時(shí)記錄對(duì)應(yīng)的去除率作為絮體圖像的標(biāo)簽,建立數(shù)據(jù)集.基于現(xiàn)有深度學(xué)習(xí)模型,采用遷移學(xué)習(xí)的方式對(duì)不同去除率對(duì)應(yīng)的藻類絮體圖像進(jìn)行訓(xùn)練,以計(jì)算機(jī)提取特征的方式替代人工特征提取.建立基于圖像分類的藻細(xì)胞去除率預(yù)測(cè)模型.實(shí)現(xiàn)對(duì)含藻水體混凝處理的去除率預(yù)測(cè),從而能夠依據(jù)藻類去除效果確定投藥量.
CCD(Charge-coupled Devic)數(shù)碼顯微鏡,六連攪拌儀(MY3000-6F),紫外分光光度計(jì)(T6 新世紀(jì)),硫酸鋁[Al2(SO4)3·18H2O],次氯酸鈉(NaClO).銅綠微囊藻,購自中國科學(xué)院水生生物研究所(FACHB-315),選擇BG-11 培養(yǎng)基在人工培養(yǎng)箱中培養(yǎng),培養(yǎng)溫度為(25±1)℃,光暗比為12 h/12 h,光照強(qiáng)度為3 500 lx.
將處于穩(wěn)定期的銅綠微囊藻溶液與充分沉淀后的南方地區(qū)某水庫水混合,配置成不同吸光度(OD680)的藻溶液,以模擬藻爆發(fā)真實(shí)水質(zhì)情況.考慮到水廠的處理流程中有預(yù)氧化過程,因此整個(gè)處理流程分為預(yù)氧化過程和混凝過程.預(yù)氧化過程在混凝攪拌儀中進(jìn)行,向燒杯中投加目標(biāo)劑量的氧化劑,同時(shí)設(shè)置水力條件為10 r/min,緩慢攪拌10 min完成預(yù)氧化過程.混凝過程中,混凝劑的選擇為硫酸鋁,投加量為10 mg/L,混凝實(shí)驗(yàn)的水力條件設(shè)置為:先以250 r/min 快速混合1 min,再以100 r/min 混合3 min,然后以40 r/min 緩慢混合10 min,沉淀30 min,水樣取自沉淀后水面下1 cm,記錄出水OD680值.
混凝結(jié)束階段,緩慢攪拌,同時(shí)緩緩吸取水樣置于培養(yǎng)皿中.利用CCD 數(shù)碼顯微鏡進(jìn)行圖像采集,采集第一張圖像時(shí)對(duì)相機(jī)的鏡頭高度、焦距、各光學(xué)參數(shù)進(jìn)行設(shè)置,而后實(shí)驗(yàn)全過程中攝像機(jī)的參數(shù)設(shè)置、鏡頭高度均保持不變.通過改變進(jìn)水藻細(xì)胞濃度、混凝劑投加量、有效氯投加量獲得了36 種工況,每種工況重復(fù)3 次,去除效果如圖1 所示,每次實(shí)驗(yàn)記錄約30 張絮體圖像,同時(shí)記錄每張絮體圖像樣本和對(duì)應(yīng)的去除率,實(shí)驗(yàn)中為了保證樣本具有代表性,實(shí)驗(yàn)設(shè)計(jì)過程中樣本絮體圖像對(duì)應(yīng)的去除率盡可能覆蓋了所有的去除率.
圖1 不同混凝條件下藻類去除效果Fig.1 Algae removal efficiency under different coagulation conditions
將以上36 種工況獲得的圖像樣本按照其對(duì)應(yīng)去除率的大小分為3類,此3類去除率區(qū)間即為絮體圖像的3 種標(biāo)簽.第一類是去除率小于60%的情況,此類情況一般是藻高爆發(fā)情況,混凝過程效果不佳,藻類未被有效去除,不采取措施很可能造成水廠癱瘓;第二類是去除率在60%~90%之間,需要對(duì)混凝劑投加量做出調(diào)整以達(dá)到更好的去除效果;第三類是去除率大于90%以上,一般認(rèn)為水廠混凝已經(jīng)達(dá)到較好的去除效果.同時(shí)為了保證每種區(qū)間的絮體圖像相對(duì)平衡,本文對(duì)部分絮體圖像進(jìn)行了隨機(jī)刪減.
DenseNet 模型源于ResNet 模型,ResNet 模型的優(yōu)秀源于它可以訓(xùn)練出更深的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型,從而提高模型的準(zhǔn)確度.而DenseNet 模型延續(xù)了ResNet 模型的思路,但不同于ResNet,它提出了一個(gè)密集連接機(jī)制,稱為密集塊(Dense Block),密集塊中每個(gè)層需要接受前面所有層作為其額外輸出.
對(duì)于一個(gè)L層的網(wǎng)絡(luò),其共包含個(gè)連接,所以DenseNet網(wǎng)絡(luò)在l層的輸出為
式中:Hl是非線性轉(zhuǎn)化函數(shù),包括批標(biāo)準(zhǔn)化、線性整流函數(shù)和卷積.
這種特殊的連接方式需要各個(gè)層的特征圖大小一致.因此,DenseNet網(wǎng)絡(luò)采用了密集塊和轉(zhuǎn)化層的結(jié)構(gòu),轉(zhuǎn)化層主要由卷積層和池化層組成,可以實(shí)現(xiàn)特征圖的大小變換.網(wǎng)絡(luò)的具體結(jié)構(gòu)和參數(shù)如圖2和表1所示.
表1 DenseNet-121網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)表Tab.1 DenseNet-121 network structure parameter table
圖2 DenseNet網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 DenseNet network structure diagram
本文采用上下翻轉(zhuǎn)、左右翻轉(zhuǎn)、隨機(jī)裁剪等數(shù)據(jù)增強(qiáng)方式對(duì)采集到的3 000 余張圖像進(jìn)行預(yù)處理[13].為消除不同大小的圖片可能帶來的不利影響,統(tǒng)一將目標(biāo)絮體圖像歸一化為224×224 的圖像[14],并以去除率區(qū)間為標(biāo)簽構(gòu)建絮體圖像數(shù)據(jù)集.部分樣本絮體圖像如圖3 所示.同時(shí)打散并劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集.具體劃分結(jié)果見表2.
圖3 絮體圖像數(shù)據(jù)集樣本Fig.3 Floc image dataset samples
表2 絮體圖像數(shù)據(jù)集劃分Tab.2 Floc image data set partition
由于DenseNet-121模型架構(gòu)較深,比較復(fù)雜,從頭開始訓(xùn)練需要消耗大量計(jì)算機(jī)資源和使用大量數(shù)據(jù),而本文所使用的數(shù)據(jù)集為實(shí)驗(yàn)室采集,數(shù)量遠(yuǎn)遠(yuǎn)不夠.因此本文利用遷移學(xué)習(xí)對(duì)模型進(jìn)行訓(xùn)練,遷移學(xué)習(xí)主要的實(shí)現(xiàn)方法是將一個(gè)已經(jīng)訓(xùn)練好的模型參數(shù)移植至需要訓(xùn)練的模型中去,只用訓(xùn)練后幾層網(wǎng)絡(luò)即可實(shí)現(xiàn)目標(biāo)模型的訓(xùn)練[15].本文中固定DenseNet-121 的部分網(wǎng)絡(luò)參數(shù),對(duì)最后一層即分類層進(jìn)行調(diào)整,將輸出改為3 個(gè),重新訓(xùn)練最后幾層的網(wǎng)絡(luò)參數(shù),完成模型訓(xùn)練.
模型訓(xùn)練基于Python 語言的編程環(huán)境,使用了TensorFlow 2.0 框架、Pycharm 開發(fā)環(huán)境在計(jì)算機(jī)上訓(xùn)練模型,計(jì)算機(jī)處理器為Intel Core i5-8400,內(nèi)存大小為16 G,顯卡為Nvidia GeForce 1060,模型訓(xùn)練的過程中采用了自適應(yīng)估計(jì)算法(Adaptive Moment Estimation)對(duì)目標(biāo)模型進(jìn)行優(yōu)化[16].設(shè)置學(xué)習(xí)率為0.001,訓(xùn)練批量大小為32,訓(xùn)練輪數(shù)為50.
使用分類交叉熵?fù)p失函數(shù)將模型訓(xùn)練50 輪后,實(shí)驗(yàn)結(jié)果如圖4 所示.由實(shí)驗(yàn)結(jié)果可知DenseNet-121模型在較短時(shí)間內(nèi),訓(xùn)練集和驗(yàn)證集的準(zhǔn)確性都提升到一個(gè)較高的水平,經(jīng)過50 輪的訓(xùn)練,模型的驗(yàn)證集準(zhǔn)確度達(dá)到了91%,測(cè)試集的準(zhǔn)確度達(dá)到了89.5%.
圖4 模型訓(xùn)練結(jié)果Fig.4 Model training results
混淆矩陣是模型精度評(píng)價(jià)的一種方式(見圖5),能夠?qū)崿F(xiàn)分類結(jié)果的可視化,從而直觀地看出模型預(yù)測(cè)結(jié)果和實(shí)際結(jié)果的差異,便于分析模型的優(yōu)劣.用戶精度(User Accuracy)和生產(chǎn)者精度(Producer Accuracy)是混淆矩陣中的兩個(gè)重要指標(biāo).在本文的背景下,用戶精度指的是某去除率區(qū)間的絮體圖像被正確識(shí)別到該去除率區(qū)間的數(shù)量和該去除率區(qū)間的絮體圖像總數(shù)的比例.生產(chǎn)者精度指的是某去除率區(qū)間的絮體圖像被正確識(shí)別到該去除率區(qū)間的數(shù)量和被識(shí)別成該去除率區(qū)間的絮體圖像總數(shù)的比例(見表3).
圖5 模型測(cè)試的混淆矩陣Fig.5 Confusion matrix of model testing
表3 模型測(cè)試精度表Tab.3 Model test accuracy table
結(jié)果表明在測(cè)試集的638張圖片中,有571張圖片被正確分類至相應(yīng)的去除率標(biāo)簽中,達(dá)到了預(yù)期的效果.但值得注意的是,28 張實(shí)際標(biāo)簽值為60%~90%的絮體圖像被分類至90%~100%,而有23 張實(shí)際標(biāo)簽值為90%~100%的絮體圖像被分類至60%~90%.以上兩種情況是造成模型誤差的主要原因,可能是因?yàn)橛袔追N工況的去除率在90%左右,所以模型難以將其正確分類.
為驗(yàn)證DenseNet-121 網(wǎng)絡(luò)的優(yōu)越性,我們補(bǔ)充測(cè)試了VGG-16 和ResNet-101 兩種常用的卷積神經(jīng)網(wǎng)絡(luò)用以對(duì)比研究.如表4所示.
表4 不同卷積神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度對(duì)比Tab.4 Comparison of prediction accuracy of different convolution neural networks
結(jié)果顯示,從整體精度來看,VGG-16 對(duì)本文數(shù)據(jù)集的預(yù)測(cè)精度為80.7%,ResNet-101 對(duì)本文數(shù)據(jù)集的預(yù)測(cè)精度為67.3%.顯然DenseNet-121 網(wǎng)絡(luò)優(yōu)于其他兩種常用的卷積神經(jīng)網(wǎng)絡(luò),且在辨別去除率在60%~90%之間的絮體圖像時(shí)有絕對(duì)的優(yōu)勢(shì).
為測(cè)試模型對(duì)數(shù)據(jù)集以外的圖像的識(shí)別準(zhǔn)確性,本文取某水庫水配置銅綠微囊藻溶液進(jìn)行模型泛化實(shí)驗(yàn).實(shí)驗(yàn)中隨機(jī)設(shè)置了3 種不同混凝條件,每個(gè)條件下采集3 張,共計(jì)9 張圖片進(jìn)行圖像分類,以測(cè)試模型的泛化性能(見表5).
測(cè)試的結(jié)果如表5所示,對(duì)于3種不同混凝條件下產(chǎn)生的絮體圖像,模型均能夠給出準(zhǔn)確的去除率區(qū)間.表明模型能夠?qū)?shù)據(jù)集以外的高藻水混凝產(chǎn)生的絮體做出識(shí)別并進(jìn)行去除率的預(yù)測(cè).
表5 DenseNet網(wǎng)絡(luò)模型泛化性能測(cè)試結(jié)果Tab.5 Test results of generalization performance of DenseNet network
基于深度學(xué)習(xí)的藻類混凝去除率預(yù)測(cè)方法,通過DenseNet-121網(wǎng)絡(luò)實(shí)現(xiàn)不同去除率區(qū)間圖像的分類以預(yù)測(cè)銅綠微囊藻混凝過程的去除效果.通過實(shí)驗(yàn)室設(shè)計(jì)不同混凝條件建立藻類絮體圖像數(shù)據(jù)集,同時(shí)構(gòu)建基于DenseNet 網(wǎng)絡(luò)的深度學(xué)習(xí)模型,實(shí)現(xiàn)對(duì)混凝過程藻類去除率的預(yù)測(cè).結(jié)果顯示,模型的準(zhǔn)確性達(dá)到90%.與VGG和ResNet模型相比,DenseNet模型具有更高的精度,且在60%~90%區(qū)間藻類絮體圖像的識(shí)別精度上有顯著的優(yōu)勢(shì).同時(shí)通過對(duì)數(shù)據(jù)集之外的銅綠微囊藻混凝產(chǎn)生的絮體圖像進(jìn)行識(shí)別,驗(yàn)證了模型的泛化能力.