戰慶亮 , 葛耀君 白春錦
* (大連海事大學交通運輸工程學院,遼寧大連 116026)
? (同濟大學土木工程防災國家重點實驗室,上海 200092)
流場中的目標識別是國內外一致公認的技術難題與重要方向,如水下物體的目標識別,對海洋資源的經濟開發和領海的軍事研究尤為重要[1].目前對流體中目標識別主要通過光信號或聲信號[2]進行,實現目標的定位與識別.然而,基于光信號與聲信號的方法各有不同的難點,如光信號等在水中穿透能力有限、信號衰減快等[3-4]、聲信號受水體和地表反射的干擾大等[5],必須要進行復雜的信號處理工作.
由于浸入流場的固體會對流場的流動產生干擾,不可避免地在流場中形成尾流流場,外形不同的物體所引起的尾流結構是不同的,因此在尾流場中必然包含了物體的外形信息.然而,在較高雷諾數情況下,固體邊界引起其周圍的流場特征極為復雜,難以通過傳統的數學物理方法直接從中獲得物體的外形信息.隨著深度學習方法的發展,流體力學領域也逐步開始與深度學習方法相結合[6],得到了傳統數據分析手段無法實現的創造性方法與結果.深度學習能夠很好地從輸入映射到輸出層的特征表達[7],能自動提取特征并實現特征分類[8],已具有分析處理包含復雜抽象特征的能力,為科學研究提供了新思路與新方法[9].在目標識別問題中,深度學習的研究正處于起步階段,目前的研究主要針對水中圖像的識別問題[10-11]和聲信號的分析問題[12-13],取得了良好的效果.
現有基于數據驅動方法的流體力學研究已取得了重要突破,如計算網格的生成[14]、湍流模型的修正方法[15]、流場控制方程的稀疏識別[16]、數據驅動的大渦模擬模型[17]等.目前基于數據驅動的流體研究往往利用流場的空間特征進行流場特征識別、流動預測、求解湍流模式系數,如基于神經網絡模型的雷諾應力模型[18-19]、渦激振動的流動控制[20]、尾流狀態的流動控制[21]、高精度流場預測方法[22]、流場狀態的自動識別[23]等.采用空間信號作為模型的輸入數據需要瞬時的整個流場或整個區域的變量信息[24],進而得到流場特征的預測模型[25]等.然而,整個流場的瞬態信息在實際測量中很難獲得,一方面壓力、速度等傳感器難以實現全空間的同步測量,另一方面流場顯示等手段目前仍難以實現三維流場的全場測量.相比之下,一點處的流場信號容易測量獲得,然而其包含的信息量有限,傳統方法難以采用單點流場信息進行遠場流動信息的特征提取和識別.
基于上述問題,本文提出了采用一點處尾流流場時程信號進行目標外形識別的新方法,并研究用于流場特征分類和目標外形識別的參數選擇問題.以圓柱和方柱的尾流為研究對象,研究了采用時程數據進行兩種外形尾流特征提取的可行性,實現基于一點處流動信息的目標外形識別,并研究不同參數用于外形識別的準確性,獲得了最適合的流動參數,以期為流場中的目標識別研究提供新的方法與理論支撐.
本文研究中采用了基于卷積和全連接模型的深度學習方法,卷積神經網絡通常由卷積層、池化層和全連接層等計算層組成,全連接網絡主要由全連接層構成.
全連接網絡(multi-layer perceptron,MLP)是最簡單、應用最廣泛的深度學習模型,其特點是任意層的神經元與上一層的所有神經元都是相連的,這些相連的關系稱為權重.通常情況下,輸入與輸出的變換關系可表示為
式中y為第n層全連接層的輸出,w和b為第n層全連接層的權重和偏移矩陣.從全連接層的結構原理可以發現,每一個神經元都與上一層的各個神經元相關,如果用這種網絡結構進行時程數據的處理,將導致時程數據的每一個元素與上一層中其他元素的關系是完全等價的,僅僅將輸入的時程數據當做沒有先后順序特征的離散數據集來看待,丟失了時程數據中各個時刻前后之間的關系.本文所采用的全連接網絡結構如圖1 所示,為了防止過擬合,在各全連接層之前設置了dropout 層[26].
在卷積網絡中同樣會用到全連接層,其作用是將卷積層獲得的特征平鋪為向量形式,便于通過softmax 變化成標簽的對應關系.
卷積神經網絡(convolutional neural network,CNN)模仿了生物視覺的認知機制,通過對輸入數據進行逐層卷積和池化,層層提取蘊含在輸入數據中的拓撲結構特征.隨著網絡層數的逐漸增加,提取的特征不斷抽象,最終從原始輸入數據中得到具有平移旋轉不變性的魯棒特征.卷積神經網絡通常包括輸入層、卷積層、池化層和最后的全連接層.根據卷積層數不同、卷積核大小不同以及層間的連接機制,發展了許多基于卷積的經典神經網絡,如在圖像識別領域的Alexnet[27],Goolgenet[28],VGG[29]等,每一類網絡都有自身特點和最適用的問題類別.
1.2.1 卷積層(convolutional layer)
卷積神經網絡可由多個卷積層形成,每個卷積層由多個卷積核對輸入數據進行卷積運算,并進行非線性變換后得到輸出數據,將包含待求解權重的卷積核與局部的輸入數據進行矩陣的卷積運算,其中矩陣的離散卷積計算[30]如下

其中s和t為卷積核在輸入樣本二維空間的尺度,F為卷積核矩陣,G為與卷積核進行運算的局部樣本參數,k為卷積核的個數.一個卷積核可以看作一個視覺感知尺度,通過卷積層運算獲取圖像的特征.每個卷積層擁有多個卷積核函數,在實際計算中通常采用權值共享的方式,減少計算參數和計算量.激活函數可以對層輸出結果進行非線性變換,從而提升網絡的表達能力.常用的激活函數有sigmoid,tanh 和ReLU 方法.本文設計的模型通過在卷積層和全連接層中增加常用的ReLU 激活函數來增加模型的非線性,從而提升模型的學習能力.
1.2.2 標準化與池化層(batch normalization and pooling layer)
隨著網絡深度加深或者在訓練過程中,訓練數據的分布會逐漸發生偏移,使得激活函數向兩端靠近,導致神經網絡的梯度消失.因此需要BN 層對于每個神經元的輸入分布調整到標準的正態分布,使得激活函數的輸出對輸入值敏感,以此避免梯度彌散,保證計算的收斂速度.
通過池化層的計算,可以減少深度學習網絡中的參數數量,防止由于參數過多發生過擬合.一般可直接采用最大池化層將局部的最大值進行選擇性的保留,達到減少擬合參數的目的,表達式如下

式中,P為池化層的數據,l為特征圖的寬度,A為池化層的輸入參數,一般為上層網絡的特征矩陣,w為池化計算的局部范圍大小.
為了研究用于流場中物體外形識別的物理參數選擇問題,本文選擇圓柱與方柱作為識別目標,通過數值計算獲得兩種柱體的不同物理量時程數據集,進而采用不同參數對深度學習模型進行訓練與測試,比較得到適用于特征提取與識別的流場參數.
本文采用自主開發的三維非結構網格的流體計算程序zFlower 實現[31],計算程序使用非結構化網格對流場空間進行離散,具有良好的復雜區域適應性、局部加密靈活的優點.對流項采用適用于三維非結構網格中二階精度格式,梯度計算采用考慮非結構化網格面的高斯方法,包含了遠場的高階影響.通過Rhie-Chow 動量插值方法克服非物理震蕩.在時間上采用三層全隱式格式,具有二階精度及良好的穩定性.使用Smargorinsky 模型考慮小尺度渦對大尺度流場結構的影響.
流場整體計算域如圖2 所示,其中X,Y,Z分別代表來流的順流向、垂直于來流的橫流向以及障礙物的長度方向(展向).計算域的順流方向長40D,橫向長度40D,展向長度4D,其中D為流場中棱柱體的平面特征長度.為保證計算的準確性,靠近圓柱表面的第一層網格的厚度取為d=0.003D,底層網格Y+值約為1,局部網格劃分形式見圖3 所示.

圖2 整體計算域Fig.2 Computational domain


圖3 棱柱附近的網格劃分Fig.3 Mesh in the vicinity of prisms
根據克朗數(Crount number)要求選取時間步長dt,選取的基本時間步長為dt=0.05 s,其滿足克朗數的要求.通過三維非定常計算可以求得各算例的三維流場參數.
為了便于對上述的尾流結構進行特征提取與識別分類,在計算過程中進行了同步的流場數據采集.通過嵌入深度學習流場數據提取模塊,直接將計算過程中的每個外迭代步流場參數進行分類保存,形成不同參數的各測點時程參數.這些參數包含了基本的流場計算數據,也可輸出由基本數據衍生出的物理場,如參數的流向梯度場、參數脈動場等.流體計算方法可獲取足夠多且位置任意處的流場測點位置處物理場時程數據,彌補了物理試驗中傳感器干擾等影響,且可實現多點的同步數據測量.本算例的測點布置如圖4 所示.測點的選取位置為柱體的尾流區域,選取流向距離棱柱+2D~ +8D范圍內、橫向-3D~ +3D范圍內,展向一層范圍內的流場測點,單個算例中測點共3600 個.

圖4 尾流監測點位置示意圖Fig.4 Location of wake monitoring points
計算得到的2 個算例中總計7200 個測點的流場數據時程依據待識別目標形狀進行分類,建立相應的樣本標簽.同時,為便于模型的計算與建立,將2 個算例中各流場參數的樣本進行截取,得到相同采樣頻率與相同長度的待訓練樣本.樣本標簽設置與樣本數量見表1.

表1 樣本與標簽設置Table 1 Sample and label settings
為比較不同參數進行流場特征識別的準確性,本文選擇了6 種不同的流場時程樣本的參數進行比較,包括壓力P、順流速度U、橫向速度V、展向速度W、速度絕對值Vel和渦量Vort.為直觀展示待訓練樣本的數據特征,選擇代表性的壓力與橫向速度樣本集,從各樣本集中隨機選取了6 條待訓練的物理量時程進行展示,如圖5 所示.其中圖5(a)和圖5(b)分別表示圓柱和方柱尾流流場測點處的壓力時程,圖5(c)和圖5(d)為橫向速度時程.
圖5(a)中的6 條壓力時程曲線表示從尾流區隨機選取6 個位置不同的測點處的壓力時程樣本,由于測點位置不同,因而時程曲線具有不同的特征;圖5(b)中,由方柱引起的不同位置處的壓力擾動也呈現了不同的時序規律,且與圖5(a)中的時程特征明顯不同;圖5(c)與圖5(d)同樣具有復雜的特征,且橫向速度與壓力時程的曲線形狀是不同的.這些復雜的時程信號,即包含了引起流場擾動的物體外形信息,又包含了測點與目標物體的位置關系,同時受復雜的湍流狀態影響,導致難以通過傳統數學物理手段進行特征的提取與識別,無法實現目標外形的識別.

圖5 典型測點的流場參數時程Fig.5 Time history of flow field parameters at typical measuring points
根據圖像識別的卷積神經網絡模型原理,為了適應流場中物理量時域信號的一維特性,本文使用一維卷積構建了可用于流場數據深度學習的完全卷積神經網絡(fully convolutional neural network,FCN)模型[32].一維卷積在計算上只有一個維度,然而同樣具備二維CNN 對特征識別的平移不變性等優點.其網絡結構包括卷積層和池化層,最后通過全連接層輸出結果.具體的卷積層和池化層的運算如下式

輸入的流場時程數據經過卷積層進行特征提取,而后通過標準化層加速收斂,通過激活層進行非線性變換,形成一個卷積循環.整個網絡共有3 個卷積循環,而后連接全局最大池化層和全連接層,通過softmax 層變換到對應的輸出類別,整個網絡結構如圖6 所示.

圖6 FCN 結構示意圖Fig.6 Structure of fully convolutional neural network
本卷積神經網絡的主要設計參數包括卷積核的數量、大小以及卷積的計算步長,為保證整個模型的全連接層各個神經元都能獲得輸入數據的全部信息,網絡模型的具體參數如表2 所示.

表2 完全卷積神經網絡模型參數Table 2 Time convolution neural network model parameters
本模型的總參數共266 502 個,其中可迭代更新的參數共265 478 個.為對比卷積網絡的優勢,本文選取了傳統的多層MLP 模型進行對比,本文采用的MLP 網絡共含有3 個全連接層(fully connected layer,FCL)具體參數見表3,總參數共652 502 個,約為FCN 網絡參數的3 倍.

表3 全連接網絡模型參數Table 3 Time convolution neural network model parameters
由于同一標簽的樣本集中的測點分布位置不同,因此時程樣本存在很大的差異,為保證訓練集和測試集都較均勻的包含各位置處流場的樣本特征,在訓練過程中從整個尾流域均勻地隨機選取60%的樣本作為訓練集,剩余40%樣本作為驗證集.根據所選流場參數和深度學習模型,共進行了12 組計算算例,具體樣本與標簽設置情況見表4.

表4 算例設置Table 4 Parameters of cases
數值試驗與測試采用的硬件環境為:X1950-16 核心CPU,64 GB 內存,英偉達GTX3060 顯卡(顯存12 GB),軟件編譯環境為python3.6,采用GPU 加速計算.經過100 步訓練,得到了兩種方法的計算殘差和識別精度隨迭代次數的變化曲線,如圖7所示.由圖可知,完全卷積網絡的損失函數值在迭代過程中迅速逼近零,且訓練集和測試集的收斂性都遠優于全連接網絡;同時,在預測準確率方面,完全卷積模型也遠優于多層全連接網絡的結果.

圖7 不同參數識別精度比較Fig.7 Loss and accuracy curve of two models
選取各算例精度最高的模型作為最優模型,最優模型的結果匯總于圖8.比較最優模型在訓練時程集與測試時程集上的損失函數值與識別準確率,可以發現識別參數V時對于2 種外形的識別精度在訓練集上達到100%,在測試集上達到了99.894%,同時其模型的損失函數值也最低(如圖8(a)和圖8(b)所示).
選取各算例精度最高的模型作為最優模型,最優模型的結果匯總于圖8.比較最優模型在訓練時程集與測試時程集上的損失函數值與識別準確率,可以發現識別參數V時對于2 種外形的識別精度在訓練集上達到100%,在測試集上達到了99.894%,同時其模型的損失函數值也最低(如圖8(a)和圖8(b)所示).

圖8 最優模型的結果匯總Fig.8 Summary of best model of different cases
為了直觀展示本文模型對流場特征的提取與識別的準確性,將模型的識別結果映射到流場物理空間該測點所在位置處,得到結果的可視化圖像,如圖9所示.
圖中的紅色“ × ”號表示該測點輸出的結果中向量的最大值標簽與實際的類別不一致,即神經網絡給出的預測值是錯誤的;若識別結果是正確的,則在相應的測點位置處用圓圈“o”符號表示.進一步地,將輸出向量對應標簽位置的結果按照數值大小進行彩色區分,若其輸出的正確標簽概率大于90%,用綠色表示,80%~ 90%之間用淺綠色表示,70%~ 80%之間用藍色表示,60%~ 70% 之間用淺藍色表示,50%~ 60%之間用黃色表示,這樣就將識別結果正確的測點用不同顏色區分神經網絡判斷的“確信度”.
結合圖8 中各參數的損失值與識別精度,可以發現FCN 模型對所有參數的識別效果都比較理想,其中參數V-velocity 的識別精度與“確信度”均最高,如圖9(a1)和圖9(a2)所示.結果表明,FCN 模型只誤判了圓柱流場中靠近圓柱的一小部分測點,其余測點全部判斷正確且“確信度”高;方柱流場的預測結果中,測點識別的準確率達到了100%,精度高,也說明了橫向速度作為參數的時程曲線中,包含了不同外形物體引起的重要流場信息,且用本文的方法準確地進行了特征識別與提取.

圖9 不同流場位置的預測結果分布Fig.9 Distribution of predicted results at different position
對于其他參數,兩種模型表現各不相同,圖9 中選取了典型的順流速度U-velocity 來加以說明.由圖9(b1)和圖9(b2)中,卷積網絡依然可以達到較高的識別精度;然而采用全連接網絡時(如圖9(c)所示),其識別的準確率遠不如FCN 模型,對方柱尾流去兩側的測點產生了大范圍的“誤判”,而圓柱流場測點中雖準確率尚可,然而有較多測點的“確信度”低于90% (圖9(c1)中淺綠色、藍色、黃色的“o”形散點區域).綜合圖8 中各算例的模型損失值與預測精度,以及圖9 中的結果散點圖,可以發現采用橫向速度V-velocity 作為參數,可以得到更為有效的流場特征識別與提取模型.
(1)本文提出了基于尾流特征深度學習的流場中目標識別新方法,并實現了采用流場時程數據的深度學習的流場特征提取與特征分類方法.
(2)時程數據的卷積深度神經網絡的模型用于流場時程的特征識別的收斂性好、流場特征分類精度高,可實現基于一點信號的流場中目標的外形識別.其結果要遠優于文中3 倍參數的全連接網絡模型.
(3)本文所研究的6 種典型流場參數中,流場橫向速度的用于深度學習模型的流場特征識別精度最高,說明橫向速度中包含的物體形狀信息最豐富,可作為基于尾流流場的物體形狀識別的參數.
(4)本文所提出的方法僅通過尾流點的流場時程數據,即可實現無需人為干預的全自動外形識別,具有重要的應用價值與研究意義.