向睿捷 劉浩 路珍 肖澤宇 劉海鵬 王寅初 彭曉* 嚴(yán)偉*
(1)深圳大學(xué)物理與光電工程學(xué)院,深圳市光子學(xué)與生物光子學(xué)重點(diǎn)實(shí)驗(yàn)室,光電子器件與系統(tǒng)教育部/廣東省重點(diǎn)實(shí)驗(yàn)室,深圳 518060;2)中國(guó)科學(xué)院煙臺(tái)海岸帶研究所,煙臺(tái) 264003;3)國(guó)家基礎(chǔ)學(xué)科公共科學(xué)數(shù)據(jù)中心,北京 100190)
微藻是一類單細(xì)胞原生生物,在多種水生環(huán)境中廣泛分布[1]。微藻的種類非常多,其生長(zhǎng)速度快,數(shù)量巨大,光合作用效率和單位面積產(chǎn)量均較高[2],可以反復(fù)再生。微藻含有大量不飽和脂肪酸、多糖、維生素等營(yíng)養(yǎng)物質(zhì)[3]。微藻在自然環(huán)境中扮演重要的生產(chǎn)者角色,為多種水生動(dòng)物提供物質(zhì)和能量來源。同時(shí),微藻作為重要的原材料,在多個(gè)領(lǐng)域中發(fā)揮重要作用:微藻富含蛋白質(zhì)和維生素等物質(zhì),可以用于制成食品、營(yíng)養(yǎng)品、飼料[4]及多種重要藥物[5];微藻的脂質(zhì)含量高,可以用于制造生物柴油[6];通過發(fā)酵可產(chǎn)生醇類[7]及氫氣[8],減少因化石燃料帶來的環(huán)境污染;微藻對(duì)水中碳、氮、磷等常見元素具有良好的降解能力[9],也對(duì)重金屬、微塑料等污染物有吸附處理的能力[10-11],可以用于廢水處理;用于廢水處理后的微藻還可以用于生物燃料及一些營(yíng)養(yǎng)素的制備[12],使微藻得到充分利用。
微藻在國(guó)內(nèi)外都有大規(guī)模養(yǎng)殖,市場(chǎng)規(guī)模不斷擴(kuò)大。目前中國(guó)是世界上最大的微藻生產(chǎn)國(guó),年產(chǎn)量超過10 000噸干重,產(chǎn)值達(dá)到20億美元[13]。在中國(guó),微藻產(chǎn)業(yè)布局廣泛,規(guī)模巨大,應(yīng)用豐富,而微藻養(yǎng)殖是產(chǎn)業(yè)中重要的一環(huán)。養(yǎng)殖過程中,微藻可能會(huì)受到雜菌入侵或異藻污染,影響微藻的生長(zhǎng)情況,進(jìn)而影響各種產(chǎn)物的純度和質(zhì)量。此外,微藻養(yǎng)殖環(huán)境需要進(jìn)行合理布置,否則微藻會(huì)死亡或過度生長(zhǎng),影響微藻養(yǎng)殖。因此,需要實(shí)時(shí)對(duì)微藻的生長(zhǎng)情況進(jìn)行檢測(cè)。通過定期提取養(yǎng)殖水樣進(jìn)行檢測(cè),可以獲取包括數(shù)量、種類在內(nèi)的一系列信息,以及時(shí)調(diào)整養(yǎng)殖環(huán)境的各項(xiàng)條件,做出相應(yīng)應(yīng)對(duì)措施。
傳統(tǒng)微藻檢測(cè)方法通過光學(xué)顯微成像或光譜分析的方法進(jìn)行檢測(cè)。這些方法存在對(duì)人員、設(shè)備、時(shí)間等要求較高,難以實(shí)現(xiàn)實(shí)時(shí)實(shí)地對(duì)藻類進(jìn)行檢測(cè)。近年來,已經(jīng)出現(xiàn)基于結(jié)合機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的計(jì)算機(jī)視覺方法對(duì)微藻進(jìn)行檢測(cè)的方法[14],如結(jié)合支持向量機(jī)、隨機(jī)森林、人工神經(jīng)網(wǎng)絡(luò)[15]、卷積神經(jīng)網(wǎng)絡(luò)[16]等模型對(duì)采集到的微藻圖像進(jìn)行處理,對(duì)微藻進(jìn)行識(shí)別與分類的方法。采用這些方法得到的效果較好,但對(duì)硬件水平要求較高,占用數(shù)據(jù)存儲(chǔ)空間較大,難以在便攜式設(shè)備上實(shí)現(xiàn)。本文搭建了一套便攜式光學(xué)顯微系統(tǒng),開發(fā)了基于YOLOv3算法的卷積神經(jīng)網(wǎng)絡(luò),將其部署到微型計(jì)算機(jī)上,實(shí)現(xiàn)了實(shí)時(shí)便攜微藻檢測(cè)。在YOLOv3算法的基礎(chǔ)上,本文分別作了以下改進(jìn):a. 引入跨區(qū)域殘差連接機(jī)制,它將殘差層處理前后的圖像進(jìn)行張量相加處理,提高神經(jīng)網(wǎng)絡(luò)對(duì)圖像的處理能力;b. 引入注意力選擇機(jī)制,根據(jù)特征圖的重要性調(diào)整權(quán)重,提高了神經(jīng)網(wǎng)絡(luò)對(duì)特征的提取能力和學(xué)習(xí)能力;c. 引入加載跨區(qū)域殘差連接機(jī)制提高了神經(jīng)網(wǎng)絡(luò)的處理能力,在此基礎(chǔ)上,本文將原有優(yōu)化器改為Adam優(yōu)化器,通過結(jié)合歷史梯度的變化結(jié)果和優(yōu)化梯度下降過程,在加快收斂過程和增強(qiáng)學(xué)習(xí)能力等方面取得了良好的效果。
對(duì)微藻進(jìn)行圖像數(shù)據(jù)采集通常采集其形態(tài)信息或光譜信息?;诖?,微藻的光學(xué)檢測(cè)方法可以分為兩類:光學(xué)顯微成像法和光譜分析法。近年來,隨著計(jì)算機(jī)技術(shù)的發(fā)展,逐漸出現(xiàn)了結(jié)合計(jì)算機(jī)視覺和深度學(xué)習(xí)技術(shù)的新型微藻檢測(cè)方法。
1.1.1 光學(xué)顯微成像
光學(xué)顯微成像是生物和醫(yī)學(xué)領(lǐng)域常用的成像工具[17-18],其在微藻領(lǐng)域也有廣泛的應(yīng)用。光學(xué)顯微成像又分為明場(chǎng)顯微成像、暗場(chǎng)顯微成像、相襯成像、微分干涉成像、熒光顯微成像等。明場(chǎng)顯微成像使用白光光源均勻照明樣品,使用物鏡對(duì)物體進(jìn)行成像;暗場(chǎng)顯微成像在明場(chǎng)顯微成像的基礎(chǔ)上引入了一個(gè)環(huán)形光闌,有效濾除了背景光對(duì)圖像信息的干擾,提高了成像質(zhì)量;相襯成像在暗場(chǎng)顯微成像的基礎(chǔ)上,在光路中引入了一個(gè)相位片,將樣品的相位信息轉(zhuǎn)化為可以被觀察到的振幅信息;微分干涉成像在暗場(chǎng)成像的基礎(chǔ)上,將光源改為線偏振光,并在光路中引入兩塊沃拉斯頓棱鏡以將偏振光分為兩束,將樣品從背景中區(qū)分出來;熒光顯微成像激發(fā)微藻本身的內(nèi)源色素產(chǎn)生熒光,或使用熒光分子標(biāo)記,激發(fā)熒光,實(shí)現(xiàn)對(duì)微藻樣品的觀察。
目前,國(guó)際上認(rèn)可的標(biāo)準(zhǔn)檢測(cè)方法是光學(xué)顯微成像方法[19]。但該方法有兩個(gè)缺點(diǎn):一是對(duì)實(shí)驗(yàn)人員有很高的要求,需要其具有高水平專業(yè)知識(shí)和大量工作經(jīng)驗(yàn),以保證檢測(cè)與分類的準(zhǔn)確率;二是該方法的效率低下,需要耗費(fèi)大量時(shí)間進(jìn)行檢測(cè)分類。此外,熒光顯微成像尤其需要復(fù)雜的實(shí)驗(yàn)儀器和高條件的實(shí)驗(yàn)場(chǎng)地,這使得熒光顯微成像的實(shí)驗(yàn)條件和實(shí)驗(yàn)成本需求很高,不便于進(jìn)行實(shí)時(shí)實(shí)地的微藻檢測(cè)分類。
1.1.2 光譜分析
光譜分析即對(duì)微藻中含有的某些色素的光譜進(jìn)行分析,從而對(duì)微藻進(jìn)行檢測(cè)的方法。測(cè)量的光譜可以是吸收光譜也可以是熒光光譜。
對(duì)于吸收光譜,當(dāng)光通過微藻液時(shí),微藻色素會(huì)對(duì)不同波長(zhǎng)的光有不同程度的吸收。通過測(cè)量吸收光譜,并對(duì)光譜數(shù)據(jù)進(jìn)行分析,可以分析微藻液中微藻的種類、濃度等信息[20]。吸收光譜與不同色素對(duì)不同波長(zhǎng)光的摩爾吸光比、微藻濃度等變量都有關(guān)系,可以通過對(duì)光譜數(shù)據(jù)進(jìn)行一定計(jì)算,得出吸收光譜與這些變量的關(guān)系,從而獲得想要的信息[21]。對(duì)于熒光光譜,可以通過提取樣品中的色素后激發(fā)熒光[22],也可以原位激發(fā)熒光[23],然后對(duì)其光譜進(jìn)行計(jì)算分析。
與光學(xué)顯微成像相比,光譜分析的方法檢測(cè)速度較快,但檢測(cè)精度較低,對(duì)高濃度和雜藻摻雜的樣品測(cè)量效果不佳,且光譜分析的方法對(duì)實(shí)驗(yàn)條件要求較高,因此不利于進(jìn)行實(shí)時(shí)高通量檢測(cè),同時(shí),該方法需要標(biāo)準(zhǔn)的光譜數(shù)據(jù)作為對(duì)比,若樣品受到污染,檢測(cè)精度將大大降低,若使用提取色素再激發(fā)熒光的光譜分析方法,處理過程復(fù)雜,處理時(shí)間漫長(zhǎng),無法做到實(shí)時(shí)高效微藻檢測(cè)。
隨著計(jì)算機(jī)技術(shù)的蓬勃發(fā)展,計(jì)算機(jī)視覺在多個(gè)領(lǐng)域得到廣泛應(yīng)用。計(jì)算機(jī)視覺處理圖像速度快,在圖像檢測(cè)與目標(biāo)識(shí)別等方面具有一定優(yōu)勢(shì)。傳統(tǒng)的計(jì)算機(jī)視覺包括圖像處理、特征提取與模型匹配算法、立體視覺等部分,通過引入機(jī)器學(xué)習(xí)技術(shù),可以進(jìn)一步提高計(jì)算機(jī)視覺處理圖像的效率和準(zhǔn)確率,可以完成更加復(fù)雜的任務(wù)。機(jī)器學(xué)習(xí)將提取出的圖像特征輸入神經(jīng)網(wǎng)絡(luò)模型進(jìn)行,得到輸出的目標(biāo)檢測(cè)數(shù)據(jù)。早期對(duì)微藻進(jìn)行檢測(cè)與分類僅通過處理圖像并提取特征,使用簡(jiǎn)單的機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,在特征和目標(biāo)之間建立映射關(guān)系的方法實(shí)現(xiàn)[24-25]。然而,這種方法具有一定的局限性。例如,提取的特征僅有輪廓形狀、以灰度值分布表示的紋理等,訓(xùn)練效果不佳。因此,研究人員又提出了結(jié)合機(jī)器學(xué)習(xí),對(duì)圖像數(shù)據(jù)直接提取特征并建立映射的微藻檢測(cè)方法。最初對(duì)圖像進(jìn)行傅里葉變換并提取特征向量并將其傳入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練[26],之后又出現(xiàn)了使用支持向量機(jī)的主動(dòng)學(xué)習(xí)模型[27]、結(jié)合混合特征向量[28]、語義特征提?。?9]和支持向量機(jī)的分類模型與無監(jiān)督分類模型[30]等多種分類方法。機(jī)器學(xué)習(xí)需要對(duì)特征進(jìn)行提取,仍需要進(jìn)行圖像分割、特征提取等多個(gè)復(fù)雜步驟。機(jī)器學(xué)習(xí)對(duì)圖像數(shù)據(jù)圖像的特征數(shù)據(jù)要求很高,泛化能力較差,且圖像數(shù)據(jù)需要研究人員手動(dòng)標(biāo)注。因此,機(jī)器學(xué)習(xí)的應(yīng)用仍然有一定的局限性。
近年比較熱門的深度學(xué)習(xí)技術(shù)避免了機(jī)器學(xué)習(xí)的多個(gè)問題,因此結(jié)合深度學(xué)習(xí)對(duì)微藻進(jìn)行檢測(cè)分類的方法有廣闊的應(yīng)用前景。深度學(xué)習(xí)本質(zhì)上也是一種機(jī)器學(xué)習(xí)的方法,但與機(jī)器學(xué)習(xí)不同的是,它將特征提取交給神經(jīng)網(wǎng)絡(luò)模型進(jìn)行,避免了復(fù)雜的特征提取工作,應(yīng)用范圍更加廣泛。深度學(xué)習(xí)引入了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN),通過訓(xùn)練不斷調(diào)整特征提取網(wǎng)絡(luò)的參數(shù),可以得到最適合的檢測(cè)模型,收獲比機(jī)器學(xué)習(xí)更好的效果[31]。深度學(xué)習(xí)是近年來的熱點(diǎn)研究方向,基于Mask-RCNN[32]、Alex-Net[33]等模型的微藻檢測(cè)方法都有較高的準(zhǔn)確率。目前深度學(xué)習(xí)在微藻檢測(cè)方面的應(yīng)用局限于單一藻類的檢測(cè),而對(duì)于多種藻類的檢測(cè)分類的研究較少。因此,本論文將深度學(xué)習(xí)應(yīng)用于多種藻類的檢測(cè)分類。
在有監(jiān)督的學(xué)習(xí)環(huán)境下,將梯度下降算法和多層前饋神經(jīng)網(wǎng)絡(luò)結(jié)合可以形成反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)[34]。BP神經(jīng)網(wǎng)絡(luò)包括前向傳播和反向傳播兩個(gè)部分。其中,前向傳播將輸入的數(shù)據(jù)經(jīng)神經(jīng)網(wǎng)絡(luò)各層依次處理后輸出。反向傳播通過損失函數(shù),將前向傳播的結(jié)果與真實(shí)值對(duì)比,獲得損失值,并根據(jù)損失值使用梯度下降算法調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)中各節(jié)點(diǎn)連接函數(shù)的權(quán)重。重復(fù)這個(gè)訓(xùn)練過程,可以不斷降低神經(jīng)網(wǎng)絡(luò)的損失值,提高神經(jīng)網(wǎng)絡(luò)的性能。訓(xùn)練結(jié)束后,使用未參加訓(xùn)練的數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行評(píng)估。
對(duì)于BP神經(jīng)網(wǎng)絡(luò)而言,其中各層的連接是通過全連接方式來進(jìn)行的。使用全連接層提取特征會(huì)引入大量的參數(shù)運(yùn)算,使得BP神經(jīng)網(wǎng)絡(luò)需要處理大量數(shù)據(jù)[35]。因此,BP神經(jīng)網(wǎng)絡(luò)對(duì)部署平臺(tái)的性能要求很高,不利于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的進(jìn)行以及圖像特征信息的提取。
為了降低運(yùn)算量,增加特征信息提取能力,使用卷積層代替全連接層對(duì)特征進(jìn)行提取,形成了CNN[36]。CNN一般由卷積層、池化層、全連接層相連組成。此外,需要引入一定的算法,構(gòu)造CNN的具體結(jié)構(gòu)。
在CNN中,卷積層對(duì)輸入的數(shù)據(jù)進(jìn)行特征提取。對(duì)于圖像數(shù)據(jù)來說,卷積層采用卷積核對(duì)圖像數(shù)據(jù)進(jìn)行特征提取。卷積核是一個(gè)方陣,其大小m為奇數(shù)。通過使用卷積核依次對(duì)圖像上的每個(gè)像素做卷積運(yùn)算可以獲得圖像的特征圖。對(duì)于彩色圖像,它分為RGB 3個(gè)單色通道,因此需要對(duì)RGB 3個(gè)通道的每個(gè)通道單獨(dú)進(jìn)行卷積運(yùn)算。通過使用小尺寸的卷積核可以提高特征圖的局部感受野[37]。卷積層提取的特征圖輸入池化層進(jìn)行處理。在池化層中,特征圖經(jīng)過下采樣過程,使用一定大小的窗口函數(shù)對(duì)特征圖進(jìn)行池化。窗口函數(shù)也是一個(gè)卷積核,但其對(duì)特征圖的卷積過程并不是對(duì)每個(gè)像素進(jìn)行,而是設(shè)定一定的步長(zhǎng)。因此,在池化的過程中就會(huì)跳過單位步長(zhǎng)的像素[38]。這樣做得到的特征圖降低了尺寸,但在識(shí)別小尺寸目標(biāo)時(shí)可能會(huì)導(dǎo)致特征信息丟失。為盡量減少特征信息丟失問題,本文將步長(zhǎng)設(shè)定為2。窗口函數(shù)分為最大值池化和平均值池化兩種。下采樣過程增大了特征圖局部感受野,聚合特征并降低了特征圖的尺寸。經(jīng)過多層卷積層和池化層后,由全連接層綜合所有特征并輸出。
前向傳播時(shí),各層之間使用激活函數(shù)連接。激活函數(shù)都是非線性函數(shù),以在計(jì)算過程為線性的卷積神經(jīng)網(wǎng)絡(luò)引入非線性效應(yīng),增強(qiáng)學(xué)習(xí)能力。激活函數(shù)對(duì)加權(quán)求和后的結(jié)果進(jìn)行計(jì)算并輸出。常見激活函數(shù)有Sigmoid函數(shù)、tanh函數(shù)、Softmax函數(shù)及Relu函數(shù)等。其中,Relu函數(shù)相比其他函數(shù),能夠有效解決梯度消失現(xiàn)象[39]。反向傳播過程使用損失函數(shù)來計(jì)算最終輸出與真實(shí)值之間的誤差,稱為損失值。通過一定的算法不斷減小損失值,可使卷積神經(jīng)網(wǎng)絡(luò)的性能優(yōu)化到最佳。最基本的算法是梯度下降算法,使用梯度來調(diào)整損失值,直至接近最小值。在梯度下降算法中,用學(xué)習(xí)率來表示對(duì)輸入量每次的調(diào)整度。
YOLO(You Only Look Once)是一種目標(biāo)檢測(cè)算法,它包含特征提取、編碼、解碼3個(gè)部分。其中前兩個(gè)部分在卷積神經(jīng)網(wǎng)絡(luò)中分別對(duì)應(yīng)特征提取網(wǎng)絡(luò)和編碼器。解碼部分則是使用解碼器將神經(jīng)網(wǎng)絡(luò)處理圖像的輸出結(jié)果轉(zhuǎn)化為圖像中對(duì)目標(biāo)的標(biāo)記,輸出標(biāo)記目標(biāo)位置的矩形框、標(biāo)記目標(biāo)類型和準(zhǔn)確率作為預(yù)測(cè)結(jié)果。YOLO目標(biāo)檢測(cè)算法有多個(gè)版本,本文使用的是YOLOv3算法[40],其特征提取網(wǎng)絡(luò)為DarkNet53。YOLOv4[41]在YOLOv3的基礎(chǔ)上作出許多改進(jìn),但直接使用YOLOv4訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型在本文開發(fā)的系統(tǒng)中使用效果不佳,這可能是由于YOLOv4對(duì)于性能要求較高,系統(tǒng)無法滿足。本文嘗試保留YOLOv3的大部分結(jié)構(gòu),不使用YOLOv4的特征提取網(wǎng)絡(luò)CSPDarkNet53,僅將編碼器換為YOLOv4使用的編碼器,它在YOLOv3的編碼器基礎(chǔ)上引入了空間金字塔池化(spatial pyramid pooling,SPP)[42]和PAN-net[43],以增強(qiáng)其多尺度檢測(cè)的能力。
YOLOv3的特征提取網(wǎng)絡(luò)對(duì)輸入圖像數(shù)據(jù)進(jìn)行處理后,可以得到3種大小的目標(biāo)框,用于標(biāo)定目標(biāo)位置、尺寸以及特征信息。每種目標(biāo)框都是一個(gè)三維張量。3種目標(biāo)框的大小與輸入圖像的尺寸以及目標(biāo)的類別數(shù)量有關(guān)。如果輸入圖像的尺寸為a,目標(biāo)類別為b,那么3種目標(biāo)框的初始大?。ㄓ纱蟮叫。﹎,n,p如式(1)~(3)所示:
本文使用的輸入圖像為RGB三通道圖像,尺寸為416×416。使用的藻類共4類,因此目標(biāo)類別即4類。根據(jù)尺寸數(shù)據(jù)和目標(biāo)類別數(shù)據(jù),可以得到(m,n,p)分別為(52,52,27),(26,26,27),(13,13,27)。由于m目標(biāo)框長(zhǎng)寬尺寸為n目標(biāo)框的兩倍,p目標(biāo)框的4倍,將輸入圖像按13×13的尺寸大小分為多個(gè)檢測(cè)圖。在每個(gè)檢測(cè)圖中,每個(gè)像素都設(shè)定以其為中心的3種初始大小的目標(biāo)框。對(duì)于每一個(gè)框都需要9個(gè)變量來修正目標(biāo)框,又由于輸入圖像為RGB三通道圖像,因此變量數(shù)為27個(gè)。每個(gè)框單一通道的9個(gè)變量中,一個(gè)用于描述置信度、兩個(gè)用于描述目標(biāo)框中心點(diǎn)偏移坐標(biāo)(tx,ty)、兩個(gè)用于描述目標(biāo)框尺寸的變化比例(th,tw)、5個(gè)用于描述目標(biāo)類別。
置信度是一個(gè)位于0和1之間的值,用于描述目標(biāo)框有多大的概率存在一個(gè)真實(shí)目標(biāo)。該值越接近1,則目標(biāo)框內(nèi)存在一個(gè)真實(shí)目標(biāo)的可能越大,反之則越小。在使用置信度時(shí)通常會(huì)設(shè)置一個(gè)閾值,若置信度高于該閾值,則認(rèn)為該目標(biāo)框內(nèi)檢測(cè)到物目標(biāo),反之則認(rèn)為未檢測(cè)到目標(biāo)。以此區(qū)分目標(biāo)框是否檢測(cè)到目標(biāo)。tx,ty分別表示目標(biāo)框中心坐標(biāo)在x,y兩個(gè)方向相對(duì)初始目標(biāo)框左上角坐標(biāo)的偏移量。th,tw分別描述最終目標(biāo)框的長(zhǎng)寬相對(duì)初始目標(biāo)框的變化比例。若(sx,sy)為像素在其所屬檢測(cè)圖中的坐標(biāo),(h,w)分別為初始目標(biāo)框的長(zhǎng)和寬,則最終得到的目標(biāo)框位(s′x,s′y)和長(zhǎng)寬尺寸(h′,w′)的解碼公式如下所示:
在求出目標(biāo)框位置和長(zhǎng)寬尺寸后,使用softmax函數(shù)對(duì)4個(gè)變量進(jìn)行處理,分別得到目標(biāo)屬于4種微藻的概率。在得到所有的目標(biāo)框之后,使用非極大值抑制將檢測(cè)到同一個(gè)目標(biāo)的多個(gè)目標(biāo)框刪除,僅留下一個(gè)置信度最高的目標(biāo)框。至此一輪使用算法對(duì)CNN的訓(xùn)練完成。
本文CNN的特征提取網(wǎng)絡(luò)使用的是DarkNet53特征提取網(wǎng)絡(luò),其結(jié)構(gòu)如圖1所示。輸入圖像進(jìn)入DarkNet53后,首先進(jìn)行卷積和下采樣。使用32個(gè)卷積核提取圖像中特征信息,再使用64個(gè)卷積核進(jìn)行下采樣。這個(gè)過程在提取特征再提取特征信息的同時(shí)降低了特征圖尺寸。
在進(jìn)行初步卷積下采樣之后,將提取出的特征圖經(jīng)過多層由殘差層和下采樣層組成的模組繼續(xù)提取特征。其中,殘差層將特征圖進(jìn)行卷積標(biāo)準(zhǔn)化之后與其本身相加,用以增強(qiáng)卷積結(jié)果和特征圖本身之間的聯(lián)系。在DarkNet53中,在經(jīng)過初步卷積和下采樣層之后,特征圖依次經(jīng)過5個(gè)部分,分別為1、2、8、8、4個(gè)殘差層與一個(gè)下采樣層組成的模塊。在整個(gè)特征提取過程中,在如圖所示的3個(gè)位置獲得編號(hào)為0、1、2的3個(gè)輸出結(jié)果,用于后續(xù)的目標(biāo)識(shí)別及分類過程。編號(hào)0的輸出通道數(shù)為1 024,對(duì)應(yīng)最小尺寸的特征圖;編號(hào)1的輸出通道數(shù)為512,對(duì)應(yīng)的特征圖尺寸為編號(hào)0的2倍;編號(hào)2的輸出通道數(shù)為256,對(duì)應(yīng)的特征圖尺寸為編號(hào)1的2倍。
Fig. 1 Structure of DarkNet53 feature extraction network (plot with NN-SVG[44])
在對(duì)CNN的編碼輸出結(jié)果進(jìn)行解碼得到最終結(jié)果之前,需要對(duì)模型經(jīng)過多輪訓(xùn)練,以盡可能使神經(jīng)網(wǎng)絡(luò)對(duì)輸入圖像的目標(biāo)識(shí)別與分類性能達(dá)到最佳。在每一輪訓(xùn)練結(jié)束后,需要使用損失函數(shù)計(jì)算損失,以調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù)。將輸出結(jié)果與真實(shí)目標(biāo)框的參數(shù)通過損失函數(shù)得到損失。損失為置信度損失、位置損失和分類損失3個(gè)部分的和。其中,置信度損失為真實(shí)值與輸出結(jié)果之間的二元交叉熵,位置損失為真實(shí)值與輸出結(jié)果的坐標(biāo)損失與長(zhǎng)寬損失的和,類別損失為各類別與輸出結(jié)果類別的二元交叉熵的和。通過計(jì)算出每個(gè)目標(biāo)對(duì)于3種尺寸的目標(biāo)框損失值之和,可以使用優(yōu)化算法進(jìn)行反向傳播,進(jìn)行模型訓(xùn)練。
為了在訓(xùn)練過程中綜合衡量CNN的性能,需要引入除損失值外的指標(biāo)。常用的指標(biāo)有準(zhǔn)確率(precision)、召回率(recall)、F1值和平均精度(mean average precision,mAP)值等。其中,準(zhǔn)確率和召回率通常是矛盾的,需要一個(gè)參數(shù)綜合考慮準(zhǔn)確率和召回率。本文采用mAP值作為綜合衡量CNN性能的指標(biāo)。通過觀察mAP值隨訓(xùn)練輪次的變化可以了解神經(jīng)網(wǎng)絡(luò)的訓(xùn)練狀況和當(dāng)前性能。
訓(xùn)練過程中,需要將初始圖像數(shù)據(jù)制作為數(shù)據(jù)集對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在數(shù)據(jù)集中,所有圖像數(shù)據(jù)按8∶1∶1的比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。訓(xùn)練集直接用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,作為輸入圖像;驗(yàn)證集則在一輪訓(xùn)練結(jié)束后,通過反向傳播過程調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù);測(cè)試集則在每輪訓(xùn)練過程結(jié)束后用于評(píng)估神經(jīng)網(wǎng)絡(luò)的性能,僅用于評(píng)估,不參與神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程。
如圖2所示,跨區(qū)域殘差連接機(jī)制是將輸入殘差層之前的特征圖和經(jīng)殘差層處理后的特征圖進(jìn)行張量相加,將得到的新特征圖作為輸出的機(jī)制。使用此機(jī)制輸出的特征圖與原來未使用此機(jī)制輸出的特征圖尺寸是相同的,因此可以直接用于后續(xù)目標(biāo)識(shí)別和分類。
Fig. 2 Structure of cross-region residual connetcions
注意力選擇機(jī)制根據(jù)各個(gè)特征圖的重要性調(diào)整權(quán)重,它增加重要特征圖的權(quán)重并降低次要特征圖的權(quán)重,以提高特征提取能力和CNN對(duì)目標(biāo)的學(xué)習(xí)能力。本文使用的注意力選擇機(jī)制結(jié)構(gòu)基于CBAM(convolutional block attention module)[45]構(gòu)建。輸入的特征圖首先經(jīng)過通道最大值池化和通道平均池化獲得各通道的最大值和平均值,然后經(jīng)過兩次卷積可以完成注意力選擇過程(圖3)。之后,根據(jù)權(quán)重對(duì)輸入特征圖進(jìn)行卷積,得到單通道的權(quán)重選擇圖。將權(quán)重選擇圖與空間池化之前的特征圖相乘,得到注意力選擇后的特征圖。
Fig. 3 Structure of attention selection
本文設(shè)計(jì)了一套光學(xué)顯微成像系統(tǒng)并結(jié)合深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)微藻的快速自動(dòng)檢測(cè),詳細(xì)情況如下。
實(shí)驗(yàn)過程中,本文使用了4種微藻:小球藻(Chlorellasp.)、集胞藻(Synechocystissp.PCC6803)、三角褐指藻(Phaeodactylum tricornutum)以及紫球藻(Porphyridium cruentum)。這4種微藻由中國(guó)科學(xué)院煙臺(tái)海岸帶研究所合作課題組提供。
4種微藻的培養(yǎng)環(huán)境如下:三角褐指藻的培養(yǎng)溫度為16~17℃,光量子強(qiáng)度為100 μmol?m-2?s-1;其余3種微藻的培養(yǎng)溫度為23℃,光照強(qiáng)度為50 μmol?m-2?s-1。光照周期均為12L∶12D,均用標(biāo)準(zhǔn)的f2培養(yǎng)基培養(yǎng)。
微藻樣品制備過程如下:各取100 μl 4種微藻樣品加入400 μl蒸餾水混合均勻,得到4種微藻的稀釋液。取4種稀釋液各100 μl全部混合均勻,得到400 μl混合液。取適量混合液滴在載物臺(tái)的凹槽中,用蓋玻片壓平。靜置5 min,待微藻樣品液沉降完畢即可進(jìn)行顯微成像。對(duì)于每種微藻樣品液,更改物鏡視野獲取10張分辨率為1 760×1 180的圖像,用于制作圖像數(shù)據(jù)集進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
實(shí)驗(yàn)過程中使用的光學(xué)顯微成像系統(tǒng)是基于明場(chǎng)顯微成像原理搭建,主要分為照明光路和成像光路兩部分。照明光路由白光光源和準(zhǔn)直光路組成(圖4),其中白光光源是白光LED,產(chǎn)生白色照明光,經(jīng)過準(zhǔn)直光路后變?yōu)榫鶆蛘彰鞴猓糜谡彰魑⒃鍢悠芬骸3上窆饴酚奢d物臺(tái)、物鏡、反射鏡、成像透鏡以及圖像采集設(shè)備組成。載物臺(tái)用于存放微藻樣品液,使用蓋玻片按壓,將螺旋藻液限制在樣品臺(tái)的凹槽內(nèi),以便于成像。物鏡使用一塊20倍物鏡(型號(hào)PLN20X,奧林巴斯),用于對(duì)螺旋藻進(jìn)行成像。反射鏡用于轉(zhuǎn)折光路,方便圖像采集。成像透鏡是一塊消色差膠合透鏡(型號(hào)MAD418-A,麓邦光電),將物鏡收集的圖像信息投影到成像設(shè)備上。圖像采集設(shè)備是一臺(tái)CMOS工業(yè)相機(jī)(型號(hào)MV-SUF401GC,邁德威視),可拍攝最高2 048×2 048分辨率的彩色圖像。將相機(jī)通過USB與計(jì)算機(jī)相連,可使用相關(guān)配套軟件獲得其采集的螺旋藻圖像,并使用微型計(jì)算機(jī)對(duì)圖像進(jìn)行處理,輸出結(jié)果。控制系統(tǒng)為一部微型計(jì)算機(jī)(Raspberry Pi4 model B)。
本實(shí)驗(yàn)中使用的數(shù)據(jù)集經(jīng)過圖像采集、預(yù)處理等過程制作。首先取3.1中制作的4種微藻樣液各20 μl,加入320 μl蒸餾水混合均勻。從400 μl微藻液中取適量微藻液,使用搭建的光學(xué)顯微成像系統(tǒng)進(jìn)行成像,將獲得的微藻圖像分割為尺寸為416×416的圖像。使用labelimg軟件對(duì)圖像進(jìn)行手動(dòng)標(biāo)記,標(biāo)記出每個(gè)目標(biāo)的真實(shí)目標(biāo)框(圖5)。標(biāo)記結(jié)束后軟件為每個(gè)圖像新建一個(gè)同名xml文件,以記錄各目標(biāo)框的信息。這些信息包括目標(biāo)框的左上角和右下角坐標(biāo)、目標(biāo)框內(nèi)目標(biāo)的種類。一共使用了500張分割好的圖片作為數(shù)據(jù)集,其中400張為訓(xùn)練集,50張為驗(yàn)證集,50張為測(cè)試集。這些圖像經(jīng)過一定的預(yù)處理,包括隨機(jī)裁剪、翻轉(zhuǎn)、對(duì)比度調(diào)整等方法。
數(shù)據(jù)集制作完成后即輸入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。訓(xùn)練開始時(shí),初始學(xué)習(xí)率設(shè)為0.000 1,進(jìn)行200輪訓(xùn)練。當(dāng)訓(xùn)練進(jìn)行到100輪時(shí),學(xué)習(xí)率降為初始學(xué)習(xí)率的10%,進(jìn)行到150輪時(shí),學(xué)習(xí)率降為初始學(xué)習(xí)率的1%。
Fig. 4 Schematic diagram (a) and structural image (b) of the microscopy imaging system
Fig. 5 Image labeling using labelimg
使用3.2中制作的數(shù)據(jù)集和訓(xùn)練方式進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖6所示。其中,前4輪訓(xùn)練時(shí)神經(jīng)網(wǎng)絡(luò)尚處于不穩(wěn)定狀態(tài),mAP值無法計(jì)算。
Fig. 6 Curves of loss (a) and mAP value (b) of the convolution neural network
由圖6a可知,神經(jīng)網(wǎng)絡(luò)的損失值在初始階段快速降低,經(jīng)過一定輪次的訓(xùn)練之后,損失值的降低變緩,并最終在一定范圍內(nèi)上下波動(dòng)。這說明神經(jīng)網(wǎng)絡(luò)可以有效提取輸入圖像的特征,并將目標(biāo)用目標(biāo)框標(biāo)記出來。由圖6b可知,在訓(xùn)練的開始階段,mAP值快速增長(zhǎng)。在訓(xùn)練到約50輪時(shí),神經(jīng)網(wǎng)絡(luò)的mAP值增長(zhǎng)放緩,并開始出現(xiàn)上下波動(dòng)。在訓(xùn)練到200輪后,神經(jīng)網(wǎng)絡(luò)的mAP值和損失值在一定范圍內(nèi)上下波動(dòng),但整體上沒有明顯變化。此時(shí)可以認(rèn)為神經(jīng)網(wǎng)絡(luò)已經(jīng)達(dá)到最好的訓(xùn)練效果,若繼續(xù)訓(xùn)練,神經(jīng)網(wǎng)絡(luò)不再進(jìn)行“學(xué)習(xí)”過程,而是轉(zhuǎn)為“記憶”過程。在此過程中,神經(jīng)網(wǎng)絡(luò)會(huì)出現(xiàn)過擬合現(xiàn)象,因此在200輪停止訓(xùn)練。最高的mAP值在191輪出現(xiàn),為0.84。該mAP值說明,即使卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)訓(xùn)練到接近最好效果,其性能仍然未達(dá)到足以準(zhǔn)確識(shí)別微藻的要求(mAP值在0.9附近)。因此,需要對(duì)卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和目標(biāo)檢測(cè)算法進(jìn)行一定的改進(jìn)。
本文在卷積神經(jīng)網(wǎng)絡(luò)和目標(biāo)檢測(cè)算法的基礎(chǔ)上對(duì)使用的特征提取網(wǎng)絡(luò)進(jìn)行了一定的改進(jìn),之后使用改進(jìn)后的特征神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以進(jìn)一步達(dá)到要求。注意到Y(jié)OLOv4在YOLOv3的基礎(chǔ)上引入了注意力機(jī)制并更改了殘差連接的機(jī)制,本文使用兩種方法分別進(jìn)行改進(jìn),分別在殘差層中引入跨區(qū)域殘差連接機(jī)制和引入注意力選擇機(jī)制。
分別使用加載跨區(qū)域殘差連接機(jī)制和加載注意力選擇機(jī)制的DarkNet53特征提取網(wǎng)絡(luò)進(jìn)行訓(xùn)練。其中,前者將輸出進(jìn)行殘差連接,后者將DarkNet53的殘差層增加CBAM。將兩種神經(jīng)網(wǎng)絡(luò)加載之前的數(shù)據(jù)集進(jìn)行訓(xùn)練。訓(xùn)練過程略有改動(dòng),在訓(xùn)練過程中,初始學(xué)習(xí)率仍為0.000 1,但前20輪將學(xué)習(xí)率設(shè)為初始學(xué)習(xí)率的50%。從第21輪開始,學(xué)習(xí)率恢復(fù)初始學(xué)習(xí)率。在訓(xùn)練輪次達(dá)到100輪時(shí),學(xué)習(xí)率調(diào)整為初始學(xué)習(xí)率的10%。在訓(xùn)練輪次達(dá)到150輪時(shí),學(xué)習(xí)率調(diào)整為初始學(xué)習(xí)率的1%。與此同時(shí),使用2.3中使用的卷積神經(jīng)網(wǎng)絡(luò)(特征提取網(wǎng)絡(luò)為原有DarkNet53)以本文的訓(xùn)練方式訓(xùn)練,作為對(duì)照。在訓(xùn)練的前4輪,神經(jīng)網(wǎng)絡(luò)處于不穩(wěn)定狀態(tài),無法進(jìn)行mAP值的計(jì)算。從第5輪開始計(jì)算每輪訓(xùn)練結(jié)束后的mAP值作為訓(xùn)練結(jié)果,如圖7所示。
Fig. 7 Curves of original and improved convolution neural networks
可以認(rèn)為,加載注意力選擇機(jī)制對(duì)原有卷積神經(jīng)網(wǎng)絡(luò)并沒有明顯的優(yōu)化作用,而加載跨區(qū)域殘差連接機(jī)制有一定的優(yōu)化作用?;诩虞d跨區(qū)域殘差連接機(jī)制的DarkNet53,本文進(jìn)行了進(jìn)一步優(yōu)化,將卷積神經(jīng)網(wǎng)絡(luò)中原進(jìn)行反向傳播時(shí)使用的優(yōu)化器改為Adam優(yōu)化器[46],并使用多階段多方法組合策略。除此之外,其他訓(xùn)練條件保持不變。訓(xùn)練結(jié)果如表1所示。與加載跨區(qū)域殘差連接機(jī)制的DarkNet53相比有一定提高。
當(dāng)CNN的訓(xùn)練結(jié)束后,可以將其部署在微型計(jì)算機(jī)上。部署過程中,由于微型計(jì)算機(jī)性能和存儲(chǔ)容量的限制,對(duì)CNN進(jìn)行一定的模型優(yōu)化,在盡量降低對(duì)神經(jīng)網(wǎng)絡(luò)的性能損失的條件下縮小神經(jīng)網(wǎng)絡(luò)的尺寸,提高對(duì)圖像的處理速度。優(yōu)化后,根據(jù)微型計(jì)算機(jī)的運(yùn)行環(huán)境加載神經(jīng)網(wǎng)絡(luò)。
部署完成后,使用新制的微藻液樣品對(duì)系統(tǒng)性能進(jìn)行測(cè)試。微藻樣品制備完成后,使用本系統(tǒng)進(jìn)行微藻識(shí)別分類。拍攝一張?jiān)紙D像輸入系統(tǒng)對(duì),經(jīng)過處理后,以多張尺寸為416×416的照片輸出結(jié)果,部分輸出結(jié)果如圖8所示,使用目標(biāo)框?qū)⒉煌愋秃统叽绲奈⒃宸诸悩?biāo)記。
Table 1 Traning results of original and improved convolution neural networks
使用微藻顯微檢測(cè)系統(tǒng)可以有效檢測(cè)出4種藻類并分類,使用對(duì)應(yīng)大小的目標(biāo)框?qū)⑵湓趫D像中標(biāo)注出來,準(zhǔn)確率較高(圖8)。另外,圖片中有部分預(yù)測(cè)集胞藻的目標(biāo)框概率較低。推測(cè)出現(xiàn)這種現(xiàn)象的原因是系統(tǒng)檢測(cè)到了保留部分特征的死亡集胞藻。對(duì)于一些離焦微藻,系統(tǒng)并沒有檢測(cè)出,這可能是因?yàn)橹谱鲾?shù)據(jù)集時(shí),并沒有對(duì)離焦微藻進(jìn)行標(biāo)注。系統(tǒng)對(duì)各種尺寸的氣泡和異物都有較好的區(qū)分能力,沒有出現(xiàn)將其誤檢為微藻的情況。
Fig. 8 Output of the microalgae microscopy detection system
在系統(tǒng)處理完成后,獲取系統(tǒng)對(duì)模型的統(tǒng)計(jì)數(shù)據(jù),得到結(jié)果為小球藻12個(gè)、集胞藻218個(gè)、三角褐指藻15個(gè)以及紫球藻8個(gè)。使用人工對(duì)同一張?jiān)紙D像進(jìn)行計(jì)數(shù),對(duì)比可以發(fā)現(xiàn):小球藻全部檢出,沒有誤檢;集胞藻漏檢5個(gè),均為離焦漏檢,誤檢1個(gè),將一個(gè)離焦微藻誤檢為集胞藻;三角褐指藻沒有漏檢,但是將一個(gè)離焦微藻誤檢為三角褐指藻;紫球藻全部檢出,沒有誤檢。基于以上數(shù)據(jù),按公式(8)計(jì)算系統(tǒng)每種藻類檢測(cè)結(jié)果的相對(duì)誤差,并對(duì)每種藻類檢測(cè)結(jié)果的相對(duì)誤差取平均值,作為系統(tǒng)誤差的最終結(jié)果。其中x′代表人工計(jì)數(shù)結(jié)果,x代表系統(tǒng)處理結(jié)果。經(jīng)過計(jì)算,得到本系統(tǒng)的檢測(cè)誤差為2.47%。
為了滿足對(duì)微藻養(yǎng)殖過程中定期實(shí)時(shí)檢測(cè)生長(zhǎng)狀況的需求,彌補(bǔ)傳統(tǒng)光學(xué)檢測(cè)方法的不足,本文提出一種基于深度學(xué)習(xí)的微藻顯微檢測(cè)系統(tǒng)。系統(tǒng)基于深度學(xué)習(xí)搭建卷積神經(jīng)網(wǎng)絡(luò),使用目標(biāo)檢測(cè)算法對(duì)微藻進(jìn)行顯微檢測(cè)。系統(tǒng)基于明場(chǎng)成像原理搭建,將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)部署在微型計(jì)算機(jī)上,具有小型化便攜特點(diǎn),可以對(duì)微藻進(jìn)行實(shí)時(shí)檢測(cè),具有一定的應(yīng)用意義。
本文使用YOLOv3目標(biāo)檢測(cè)算法,使用DarkNet53特征提取網(wǎng)絡(luò)。經(jīng)過初步測(cè)試發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)對(duì)微藻的檢測(cè)性能不足,因此對(duì)其進(jìn)行一定的改進(jìn)。通過分別引入跨區(qū)域殘差連接機(jī)制和注意力選擇機(jī)制,發(fā)現(xiàn)跨區(qū)域殘差連接機(jī)制能夠提高神經(jīng)網(wǎng)絡(luò)的mAP值至最高0.90。在此基礎(chǔ)上,將優(yōu)化器由原有梯度下降算法改為Adam優(yōu)化器,并使用多階段多方法組合策略,將mAP值進(jìn)一步提高到最高0.92。使用未參與訓(xùn)練的測(cè)試圖像進(jìn)行測(cè)試,得到其誤差為2.47%??紤]到本系統(tǒng)大大提高了檢測(cè)速度,對(duì)檢測(cè)條件的要求低,這一誤差是可以接受的。綜上所述,本文提出的微藻顯微檢測(cè)系統(tǒng)具有檢測(cè)精度較高,檢測(cè)速度較快,設(shè)備便攜的特點(diǎn)。