張 敏,劉明侯
(中國科學技術大學 工程科學學院,安徽 合肥 230027)
微流體液滴在生物化學反應、混合和強化傳熱傳質等領域具有廣泛應用,但不同應用對液滴特征需求差異較大[1]。微流體液滴特征可分為物理性質和化學性質,其中物理性質有液滴大小、形狀、速度、表面張力等;化學性質有分析物的組分和濃度[2]等。光學檢測是傳統的微流體液滴檢測方法,通過對圖像測量方法獲得液滴幾何參數[3]。也有研究者提出采用阻抗[4]、射頻(RF)微帶傳輸線[5]和光強等測量液滴組分濃度、速度、大小等參數。
Hadikhani等[6]提出采用神經網絡由液滴的圖像得到流體芯片中不同流體特性,如水/醇兩個通道流動參數速度。Mahdi等[7]使用人工神經網絡建立模型,用來預測油/水微流體系統中液滴的無量綱長度。該網絡的輸入量為影響微滴大小的多個參數,如流速、粘度、兩相表面張力和微通道的直徑等。此后,研究者還發展了基于機器學習的微流體流態預測[8]、層流控制和液滴尺寸控制[9]、穩定性識別技術[10]等。調研發現,上述技術并不適合同時識別液滴生成前即未分裂狀態。因此,本文旨在發展一個適用微流體液滴測量的多語義分割網絡,精確捕捉不同流態下液滴特征。
采用同一個微流控芯片中液滴產生試驗圖像構建數據集。在選取數據集時,為了模型具有較強的泛化性,考慮到數據集覆蓋范圍,分別選取不同試驗條件下整個液滴生成階段的試驗圖像,其中包含不同大小和形狀液滴的圖片。由于所選圖片試驗橫跨時間較長,所以圖片的光強、兩相速度、試驗背景雜物等也不同。整個數據集數量為200,選取部分液滴圖片如圖1所示。

圖1 數據集中部分液滴圖像
根據T形通道中液滴的生成過程,將圖像中的分散相微流體定義為3種語義區域,分別為液滴區、擠壓-滴狀區和液體區,在分割后的圖像中顯示為紅、綠、藍3種顏色,可利用RGB 3個通道分別呈現。液滴區是分裂后形成的單個完整液滴,邊界為連續相和分散相兩相界面,在分割圖像中以紅色顯示。擠壓-滴狀區是液滴生成過程中連續相和分散相及通道固體壁面三相作用生成的區域,在分割圖像中顯示為綠色。根據T形通道中不同的液滴生成機理,擠壓-滴狀區可分為擠壓區、滴狀區和擠壓-滴狀轉變區,此區域對于研究液滴的生成機制有著重要意義。液體區是還未與連續相接觸的分散相液體,通過此區域可以得到連續相與分散相兩相受力的起始位置,在分割圖像中顏色為藍色。圖2為數據集中一對原始圖像和標注的分割圖像示例圖。其中,上圖為原始圖像,中圖為標注的分割圖像,下圖為用方框標出了液滴區、擠壓-滴狀區和液體區3種語義區域的分割圖像。

圖2 數據集示例圖
在訓練模型之前,將整個數據集分為訓練集、驗證集和測試集。本試驗中,按照14∶3∶3的比例將200對圖像劃分為訓練集、驗證集和測試集。為了最終模型的可靠性,在劃分過程中,以不同液滴大小作為基準,將圖片等比例隨機分配至3個集合中。
本文構建了一種加入跳躍連接結構的完整解碼編碼器網絡,來實現小批量數據集下簡單語義的分割任務(見圖3)。此網絡模型的輸入為3層RGB原始圖像,最后輸出也為3層RGB分割后的圖像,各分類屬性分別展示為紅、綠、藍3種顏色。由于上述的語義分割任務不是特別復雜,為了避免網絡的過度學習和學習時計算資源的浪費,網絡將編碼區的下采樣次數和解碼區的上采樣次數都設為3。在卷積過程中,除最后一個1×1卷積后激活函數為sigmoid函數外,其余卷積后的激活函數均為ReLU函數。

圖3 微流體語義分割網絡結構
為了解決卷積后尺寸變小、圖像邊界信息丟失[11]等問題,在卷積前采用圖像填充(padding)操作。根據歸一化的原理,本文在處理時,對每個訓練的最小批(mini-batch)進行歸一化處理,即批歸一化(BN, batch normalization)操作。使用批歸一化后,可以使用更大的學習率進行訓練學習,訓練過程更加穩定,從而提高訓練速度。批歸一化可以代替dropout,在提高速度的同時不會增加過擬合。批歸一化后,訓練時對網絡的權重初始化和權重尺寸不再敏感。分類損失函數(CE)、加權損失函數(WCE)還有Dice損失函數都在多分類問題上表現良好,在訓練過程中,分別用上述3種損失函數進行學習,以便學習得到一個表現最優的網絡。自適應學習率算法在深度神經網絡中表現得相當魯棒,所以在訓練過程中,本文分別使用RMSprop算法和Adam算法作為優化器,進行網絡的訓練優化。
網絡進行特征學習時首先進行多次迭代(epoch)。在每一個迭代內,都有訓練和驗證2個部分。本文每隔一定迭代次數,抽樣顯示并驗證集中原始圖像經過語義分割網絡后輸出的結果圖,評估該權重時分割效果。圖4所示展示了采用dice損失函數和Adam優化器驗證集中同一張原始圖像在訓練過程中的分割結果變化。其中,a~f分別為10、45、95、200、400和835次迭代訓練分割結果。從圖4中可以發現,液滴區是最開始被學習到的部分。在第10次迭代時,網絡學到信息比較少,擠壓-滴狀區和液體區還未學習完全。到第45次迭代,網絡學習能力出現了反復,學習的擠壓-滴狀區和液體區出現了混淆,但此時液體區大部分已學習到。第95次和第200次迭代時,各區之間已無混淆狀況,3種區域的大部分內容已學習好,但在擠壓-滴狀區和液體區相鄰的區域,邊界學習的還不夠完全。到第400次和第835次迭代后,各區域的邊界都已經比較清晰。在擠壓-滴狀區中,能看到T型通道的拐角位置,細節呈現較好。從上述結果可以看出,網絡通過更多次迭代過程的不斷學習獲得了更優的特征,并最終呈現較好的分割效果。

圖4 訓練過程中的分割結果對比
網絡在測試時,將測試集中的原始圖像輸入到最終訓練完成的網絡模型中,可以得到與測試集對應的預測語義分割結果圖集合,預測的語義分割結果如圖5所示。其中,a使用了CE和Adam;b使用了WCE和Adam;c使用了Dice和RMSprop;d使用了Dice和Adam。整體來看,原始圖像中的3種語義均被良好分割。其中,液滴區在所有的模型中均分割良好,說明液滴區的分類學習對于網絡來說是3類任務中最容易的一種。a中語義分割時液體區下方像素未完全學到,b中液體區和擠壓-滴狀區的亮相界面學習有波動。相比較來看,c和d沒有出現此類小瑕疵。說明Dice損失對于微流體語義分割網絡的結果提升效果比較明顯。
模型評估時,將整個測試集中測試得到的結果圖與對應的標注圖像進行計算,可得到網絡的評估指標。
表1顯示了在使用Adam優化算法的情況下,選取不同損失函數時各網絡的評估指標值。使用3種損失函數時,準確率都比較高,分別達到了0.891、0.912和0.926,但精度、召回率和F1值卻沒有準確率那么高,說明數據存在不均衡的問題。仔細分析可以看出,相比起單純的多分類交叉熵損失,使用加權交叉熵損失有助于任務更好地學習,精確度、召回率和F1值都有一點提升的幅度。當使用損失Dice時,模型準確率和F1值分別達到0.926和0.606,且為最佳值。說明Dice損失比加權交叉熵損失函數更能改善數據不均衡的問題。

圖5 測試的分割圖像結果

表1 不同損失函數時網絡評估指標
選取Dice損失作為損失函數時,對比使用RMSprop作為優化器,使用Adam后網絡的準確率、精確率、召回率還有F1值都更高,分別提高了0.012、0.018、0.017和0.016。相比起優化器不變,加權交叉熵損失變為Dice損失后網絡精確率的大幅提高,Adam優化器比RMSprop優化器對網絡精度各項評價指標均提升在1.01%~3.05%之間,均衡但不明顯。
用原始液滴圖像作為輸入,各微流體液滴特征作為輸出的算法流程如圖6所示。整體算法分為微流體液滴多語義分割、液滴區特征檢測和擠壓-滴狀區特征檢測3部分。
原始液滴圖像輸入微流體液滴語義分割模型中,得到對應的語義分割圖像。在分割后的圖像中,通過對液滴區進行圖像處理,可以檢測到液滴的面積大小、中心位置、液滴的長度和高度、液滴邊界以及可包圍液滴的矩形框等特征。
在提取液滴區特征前,首先需要在圖像中分別找到各個液滴,包括3個步驟:液滴區圖像的提取、圖像開操作去除噪聲和連通域操作。液滴區的提取可以直接提取語義分割結果圖中的R通道像素值,將其轉存為一個新的灰度值圖像,進行二值化處理。為了提高整個算法流程的魯棒性,對圖像進行開操作去除各液滴間有可能出現的細小連接。此后,選擇8通道聯21:59 2021-8-30通域方法處理液滴,各個連通域代表不同的液滴,通過對各個連通域求區域屬性得到對應液滴的面積、中心坐標、液滴高度和寬度,即得到了液滴區的特征。

圖6 微流體液滴特征檢測總流程圖
擠壓-滴狀區特征檢測時,同時利用語義分割圖像中的擠壓-滴狀區和液體區。擠壓-滴狀區參數示意圖如圖7所示。對液體區圖像二值化處理后求區域屬性,得到的左上角起始點即為液滴開始形成曲面的位置,獲得的區域高度為液滴開始形成曲面的起始高度。對擠壓-滴狀區圖像二值化處理后求區域屬性,可以得到區域左上角坐標為(xg,yg),整個區域的高度為Hg,寬度為Wg,見圖7。在圖像中,通道交點為固定點,見圖7,坐標為(xr,yr)。根據上述參數,可以求得擠壓-滴狀區的縫隙ε、液滴頭部特征bw和bh。其中,bw=Wg+xa-xr,bh=yr-yg,ε=wc-bh=wc+yg-yr。
經過語義分割及圖像處理,最終得到的液滴特征檢測結果標記展示在原始圖像中。圖8所示為分別標記了液滴中心位置、液滴運動方向、液滴被包圍的矩形框的原始圖像。箭頭起始點為液滴的中心位置,方向為運動方向。從左到右,可以得到各液滴的特征檢測結果。其中,液滴中心像素點坐標分別為:(82,15)、(173,15)、(264,15)。液滴的高度分別為:18像素點、18像素點、17像素點,平均高度約為18像素點。液滴的寬度分別為39像素點、37像素點、38像素點,平均寬度約為38像素點。液滴面積分別為584像素點、582像素點、583像素點,液滴的平均大小為583像素點。此外,通過與前后多幀圖像的對比,3個液滴的速度均為每毫米37像素。在所有圖像中,1個像素點代表一個5 μm×5 μm的圖像方塊。將像素點換算為距離,可得圖8的試驗條件下產生的液滴平均高度和寬度約為90和190 μm,平均面積為14 575 μm2,液滴速度為185 μm/ms。由此可以看出,在此試驗條件下,液滴生成的過程已經趨于穩定,分裂得到的滴液以相對平穩的狀態進行運動。

圖7 擠壓-滴狀區參數示意圖

圖8 液滴區檢測結果示意圖
圖8中液滴開始形成液滴的起始高度為39像素點(195 μm)。由于還未形成液滴頭部,計算得到的液滴頭部參數均為負數。對同一試驗條件下的圖像進行處理,可分別得到不同時間液滴起始分裂高度。圖8的后一毫秒圖像中,液滴的起始分裂高度為28像素點,可以看出,在液滴生成過程中,隨著分散相連續相兩相曲面的形成并不斷分裂成液滴,起始位置上下進行浮動變化。
目前,機器學習方法對不同流態下擠壓-滴狀區和液滴等分散相區域的識別不具有通用性。本文通過加入跳躍結構、padding操作及批歸一化操作,構建了一個輸入輸出均為3層、從圖像到圖像、3層小模塊進行解碼編碼的微流體液滴語義分割網絡。基于Adam優化器結果表明,Dice損失函數比CE、WCE等優化性能更高;比較Adam和RMSprop優化器結果發現,前者對網絡精度各項評價指標均提升在1.01%~3.05%之間。本文使用深度學習方法進行語義分割后,能精確獲得包括液滴中心位置、尺寸(包括面積、寬度和高度)、速度,及擠壓-滴狀區的連續相液膜厚度、液滴頭部寬度和高度等液滴生成過程中的重要特征參數。