王 剛, 張瑞昊,, 劉學龍, 袁海東, 韓 旭*
(1.河北工業(yè)大學 機械工程學院,天津 300401; 2.中汽研(天津)汽車工程研究院有限公司,天津 300300)
風阻系數作為汽車在行駛過程中所受空氣阻力大小的主要評價指標,是汽車在造型設計階段研究的重要內容。減小風阻系數對于降低燃油消耗、延長汽車續(xù)航里程、提高車輛的行駛穩(wěn)定性和安全性等具有重要意義[1]。
目前,風洞試驗和計算流體力學(CFD)仿真是研究汽車風阻系數的兩種主要方法。在風洞試驗中,設計人員將汽車放置于由動力風扇產生的流場環(huán)境中以模擬在實際道路上的行駛工況,通過更改汽車造型以尋找最佳方案來減小空氣阻力。該方法得到的風阻系數較為準確,但其準備周期長,試驗成本高,且高度依賴設計人員經驗。CFD仿真利用計算機求解控制流體流動的微分方程,通過改變模型的幾何形狀來研究汽車外造型對空氣動力學性能的影響。相較于風洞試驗,CFD仿真不需要大規(guī)模的試驗設施,但在汽車造型設計初始階段,外造型方案的快速迭代仍需花費大量時間進行驗證。
為解決上述問題,風阻系數快速預測研究開始引起部分學者關注。目前風阻系數預測主要采用參數化方法,即通過選取對汽車風阻系數影響較大的外造型參數,利用遺傳算法或響應面模型等建立造型參數與阻力系數之間的映射關系。廉玉波等[2]使用三次響應面模型對接近角、離去角和前風擋傾角等參數與風阻系數進行擬合,并采用多島遺傳算法對整車進行了多目標優(yōu)化;張海林[3]使用Kriging近似模型構建了4組設計變量和阻力系數之間的快速響應關系,對某車身進行了風阻風噪協同優(yōu)化;李璇等[4]將前懸距離、行李箱長度和發(fā)動機罩傾角等作為徑向基神經網絡模型的輸入,對五種不同長細比的MIRA階背車型進行了風阻系數預測;王正炬等[5,6]通過分析整車外流場得到對風阻影響較大的車身關鍵參數,利用BP神經網絡實現了對車尾及整車風阻系數的快速預測。以上方法在預測模型輸入參數的處理上均采用將三維復雜模型簡化為低維特征的方式,但汽車外造型存在大量復雜曲面,一維或二維特征難以對其進行充分表達,使得參數化方法的預測精度普遍不高。另外,輸入參數的形式也限制了預測模型的發(fā)展。
卷積神經網絡最初用于二維圖像處理[7,8],其模擬了動物的圖像識別過程,使用圖像集的像素作為輸入向量?;谠撛?早期有學者將卷積神經網絡拓展到三維。Wu等[9]使用3D ShapeNets對體素形式的三維形狀進行分類與檢索;Zhang等[10]構建了FeatureNet并應用于機械零件CAD模型的相交平面識別?;隗w素化的三維卷積神經網絡可以有效地提取特征,但維度的增加令其計算與存儲開銷呈指數級增長。針對此問題,Graham等[11]構建了關于稀疏數據存儲、標記及運算的子流形稀疏網絡。夏祥騰等[12]將稀疏卷積神經網絡應用于點云分割,在高效計算的基礎上提升了分割效果。對于高維輸入數據,稀疏卷積神經網絡只對輸入的非零元素進行卷積操作,能顯著降低計算復雜度,提高訓練及推理效率。
本文融合稀疏八叉樹與卷積神經網絡對汽車風阻系數進行快速預測。將三維汽車模型外表面按照八叉樹結構離散化,通過在離散曲面上取點采樣生成結構化的平均法向量組,并將其作為整車外造型的特征。構建卷積神經網絡,通過卷積和池化等操作提取模型的特征,對提取到的特征進行回歸分析以預測在特定工況下汽車三維模型對應的風阻系數。相較于參數化方法,該方法能夠建立整車外造型特征與風阻系數的映射關系,并且具有更高的預測精度,可以在汽車造型設計前期作為方案的減阻判斷依據。
在基礎車型上選取造型參數變量,通過網格變形生成不同外造型的車輛模型。對基礎車型進行風阻系數仿真計算,并利用風洞試驗驗證仿真精度,之后對所有樣本進行仿真計算得到對應風阻系數以生成本文卷積神經網絡訓練所用數據集。
本文以某型號SUV為研究對象,長4.75 m,寬1.92 m,高1.62 m,按照該車型實際尺寸進行1∶1建模,在此基礎上使用網格變形技術[13]對該SUV進行幾何表面變形,選用變形參數如圖1所示,分別為機蓋前端距離地面高度H1,前保險杠下端距離地面高度H2,后備箱后沿距離地面高度H3,后備箱蓋長度L1,發(fā)動機蓋前緣傾角θ1,發(fā)動機蓋傾角θ2,前風擋傾角θ3,后風擋傾角θ4,后備箱蓋傾角θ5,前翼子板內收距離W1,后翼子板內收距離W2。為了確保生成模型的造型參數能夠在設定的樣本空間內均勻排列,采用均勻拉丁超立方[14,15]抽取樣本點,共生成200個不同外造型的汽車幾何模型。
在湍流的數值模擬方法中,雷諾平均法RANS相較于直接數值模擬法及大渦模擬法,能夠在保證計算精度的同時減小計算開銷。雷諾平均法控制方程為
圖1 外輪廓造型參數
?ui/?xi=0
(1)
(2)
選用RANS方法中Realizablek-ε湍流模型,其湍動能k及耗散率ε可通過以下方程求解
(3)
(4)
設置計算域尺寸長60 m,寬20 m,高10 m,地面分為滑移及非滑移地面,如圖2所示。選用切割體網格模型進行數值離散,為提高計算精度,在車外嵌套4層尺寸分別為16 mm,32 mm,64 mm和128 mm的加密區(qū)域,并在車體表面劃分5層邊界層,總厚度為8 mm,層與層之間厚度增長比為1.3,如圖3所示。計算域邊界條件設置列入表1,經過數值仿真計算,最終得到基礎車型風阻系數Cd=0.2508。
圖2 計算域
圖3 縱向對稱面網格
表1 計算域邊界條件
為驗證上述計算域網格離散方式及湍流模型的計算精度,在中國汽車技術研究中心有限公司的氣動-聲學風洞實驗室對基礎車型進行了風阻系數測試,如圖4所示。該風洞為3/4開放回流式風洞,最大風速為250 km/h,噴口面積為28 m2,滿足本次試驗的測試條件。
圖4 汽車風洞試驗
通過風洞試驗,對仿真模型的湍流粘度、湍流強度和亞松弛因子等參數進行了標定,在車速120 km/h、格柵關閉和車輪轉動的工況下,試驗所得風阻系數Cd=0.2426,仿真與試驗結果的相對誤差為3.38%,小于5%,符合精度要求。之后將所有汽車幾何模型樣本依次導入計算域并生成網格,采用相同的計算域邊界條件及網格加密方式,最終生成包含200個樣本的數據集,每個樣本包含三維汽車模型及其對應風阻系數。以上仿真計算均在中國汽車技術研究中心280核(單節(jié)點28核,10節(jié)點)服務器上進行,平均迭代時間為1.6094 s/步,最大迭代步數為3000,每個仿真的平均計算用時為4828.2 s。
八叉樹是一種基于遞歸分割的數據結構,其每個節(jié)點都有八個子節(jié)點,用于把三維空間劃分成多個體素。本文提出了一種基于八叉樹[16-18]結構的三維模型表示方法,如圖5所示。
圖5 三維模型的八叉樹表示
將三維模型放置于邊長為L的立方體包圍盒中,該立方體為八叉樹的根節(jié)點,對其進行均勻八等分,若等分之后子立方體中仍存在三維模型的幾何表面,則繼續(xù)對其進行分割,在每一次等分之前,遍歷當前深度處三維模型占據的所有非空立方體,并將當前深度處的非空立方體在下一個深度再次等分為8個子立方體,按此遞歸方式操作直到達到預定深度,八叉樹深度l處子立方體的邊長為a=L/2l。
用一組坐標(xl,yl,zl)表示八叉樹深度l處體素在其父節(jié)點中的位置,取值為0或1。定義體素在根節(jié)點中的坐標為(x,y,z),其中x=x1x2…xl,y=y1y2…yl,z=z1z2…zl。為便于管理所有體素,本文提出了一種雙N型排列方式對每個深度的所有節(jié)點進行排序,體素編號及其對應坐標如圖6所示。
如圖7所示,使用離散曲面的平均法向量來表示三維模型,既對復雜曲面進行了簡化,也能較為真實地還原模型的細節(jié)。因此,本文以規(guī)定八叉樹深度內體素包含模型幾何表面的平均法向量作為該體素的值,并將其按上述體素編號順序存儲在特征數組中,以此來表示三維模型的特征。
圖6 八叉樹節(jié)點坐標及排序
圖7 三維模型的法向量表示
基于三維模型的八叉樹表示方法,構建了一種卷積神經網絡對三維汽車模型進行特征提取及風阻系數預測,其整體結構如圖8所示,該方法只對三維形狀表面占據的稀疏八分體進行卷積操作。
將在規(guī)定深度體素內模型幾何表面的平均法向量組作為卷積神經網絡的輸入。法向量采樣過程如圖9所示,對于規(guī)定深度內的所有空體素,分配零向量作為輸入信號;對于規(guī)定深度內的所有非空體素,在其內部的三維模型表面形狀上取點采樣,將所有采樣點的法向量取平均值得到該體素內幾何表面的平均法向量,即
(5)
圖8 卷積神經網絡結構
圖9 體素內曲面法向量采樣流程
對于規(guī)定八叉樹深度內體素的卷積操作,卷積算子可以表示為
(6)
圖10展示了八叉樹深度l=2時輸入體素的稀疏卷積運算具體過程,其中有三個節(jié)點包含非零特征值,在進行卷積運算時,卷積核只對特征值不為0的體素進行卷積操作,這樣不會導致非空體素增加或減少,從而保持特征圖的稀疏性。
圖10 八叉樹結構體素的卷積和最大池化
在計算過程中,需要根據卷積核大小收集卷積核中心對應體素及其周圍體素特征值,由于每個體素對應的特征值存儲在數組中,若根據坐標對數組進行線性索引,隨著八叉樹深度的增加,計算機在執(zhí)行線性索引時會產生較大的時間開銷。為方便根據體素坐標快速查找其對應特征值,構建如圖11所示的哈希表,規(guī)定其鍵為體素在根節(jié)點中坐標組合而成的數值序列K=x1y1z1x2y2z2…xnynzn,值為體素對應特征值在特征數組內的下標編號d,哈希函數可以表示為
k=|intK|,H(k)=kmodp
(7a,7b)
式中 mod為取模運算,p為小于哈希表長度m的最大素數。輸入節(jié)點坐標,通過哈希表可以快速計算出特征值在數組內的下標編號,進而對特征值進行索引,以便高效地進行卷積運算。
圖11 哈希表
池化操作是一個降采樣過程,其從相應的采樣窗口中提取一定的特征作為低維輸出[19]。該操作可以減小特征圖的空間大小,以減少網絡的參數量和計算量,從而防止過擬合。如圖10所示,在八叉樹中應用最大池化操作可以從相同父節(jié)點的8個子節(jié)點中挑選出最大特征值并將其映射至父節(jié)點,最大池化函數可以表示為
(8)
激活函數在深度卷積神經網絡中起著至關重要的作用,其可以激活神經元的特征來解決非線性問題。目前,ReLU函數是深度卷積神經網絡中最常用的激活函數,其相對于Sigmoid函數和Tanh函數能夠防止梯度消失,并使網絡具有較好的稀疏性。其函數曲線如圖12所示。
圖12 ReLU激活函數曲線
本文每個卷積層之后均采用ReLU函數對網絡進行非線性映射,其計算公式為
f(x)=max(0,x)
(9)
式中x為卷積之后輸入激活函數的特征值。
本節(jié)構造了幾種不同結構的卷積神經網絡,并對構造的所有神經網絡進行訓練,研究了不同結構的卷積神經網絡對風阻系數預測精度的影響,并與參數化預測方法進行了對比。
神經網絡訓練及測試均在64位的Windows 10操作系統(tǒng)上進行,處理器型號為Intel(R)Core(TM)i9-11900K@3.50GHz,內存64GB,搭載Caffe深度學習框架。
神經網絡訓練是一個優(yōu)化過程,目的在于使損失函數最小化,使用反向傳播算法訓練網絡的權值和偏差。采用歐幾里得損失函數作為卷積神經網絡的目標損失函數,即
(10)
訓練包括對卷積層(wc,bc)和全連接層(wf,bf)的權值及偏差的訓練。將訓練參數表示為W=[wc,bc,wf,bf]。為了優(yōu)化訓練參數,使用反向傳播算法獲得可訓練參數的誤差梯度。然后,使用隨機梯度下降法SGD來更新權值和偏差,即
(11)
式中α為學習率。
采用9∶1的比例將數據集分為訓練集和測試集,數據集樣本數量為200,即用180個樣本進行訓練,20個樣本用于測試模型的精度。動量為0.9,權重衰減系數為0.0005,批量大小為18,初始學習率為0.1,迭代次數為3000。對輸出值進行歸一化,使所有的輸出值都在0~1范圍內。
通過改變卷積層數與全連接層數,研究了幾種卷積神經網絡結構。如表2所示,將一個具有3個卷積層和2個全連接層的CNN結構作為基礎模型,在基礎模型中進一步添加了卷積層和全連接層,共產生6種卷積神經網絡結構,之后對所有模型進行訓練。訓練完成后,LSCNN的收斂歷史如圖13所示,六種CNN結構的損失曲線在迭代2000步之后均收斂到0.01以下,展現出相同的收斂性。
表2 本文神經網絡結構參數
使用測試集中20個樣本對訓練好的CNN模型進行測試,將樣本輸入CNN模型中得到對應的風阻系數預測值。六種網絡結構的預測精度如圖14所示,由結構1~結構4的預測精度變化可以看出隨著卷積層數量的增加,預測精度有所提高。在6個卷積層的基礎上,全連接層數為2時,CNN模型預測精度最高,其風阻系數預測值與仿真值比較如圖15所示。
圖13 歐幾里得損失隨迭代次數變化曲線
圖14 不同結構的平均相對誤差
圖15 結構4預測值與仿真值對比
為進一步驗證本文構建的卷積神經網絡模型精度,將其與徑向基神經網絡、Kriging代理模型和二次響應面模型等參數化預測方法進行了對比,列入表3。使用均方根誤差RMSE及平均相對誤差MAPE作為評價指標,其計算公式為
(12)
(13)
式中n為測試集樣本個數。
參數化方法中,二次響應面模型產生的均方根誤差最小,為0.00675;Kriging模型產生的平均相對誤差最小,為1.918%。本文構建的六種SCNN模型預測精度均優(yōu)于參數化方法,其中結構4精度最高,均方根誤差及平均相對誤差分別為0.00469和1.453%。相較于參數化方法,本文方法在測試集上表現出了更好的預測精度及泛化能力。
表3 不同模型預測結果對比
為計算本文方法的預測效率,將測試集中20個樣本依次輸入訓練完成的SCNN模型,得到每個模型預測風阻系數的平均計算時間,列入表4。結果表明,預測精度最高的結構4計算用時為2.98 s,比CFD方法快1620倍。
表4 不同SCNN結構計算用時對比
提出了融合稀疏八叉樹與卷積神經網絡的風阻系數預測方法,構建并探究了不同結構的CNN模型及其對預測精度的影響,主要結論如下。
(1) 基于八叉樹的三維模型表示方法,使用平均法向量組作為整車外造型特征,能夠較好地保留原始三維模型的細節(jié),適用于作為卷積神經網絡的輸入。
(2) 與參數化方法相比,本文構建的卷積神經網絡預測模型省略了參數選取過程,直接建立了汽車幾何模型與風阻系數之間的映射關系,能夠在只給出汽車三維模型的基礎上對其風阻系數進行預測。
(3) 構建的六種SCNN結構的平均誤差均在1.8%以內,最優(yōu)SCNN模型預測平均誤差僅為1.453%,結果顯示本文提出的方法相比于參數化預測方法有著更高的預測精度。
(4) 經過訓練后,最優(yōu)SCNN模型計算速度比CFD仿真方法快1620倍。相較于風洞試驗,本文提出的方法能夠大大減小計算成本,可在汽車空氣動力學開發(fā)前期為風阻系數優(yōu)化提供指導依據及數據支撐。