杜 林,李廣年,鄭彭軍
(寧波大學,浙江 寧波 315000)
船體建模技術與幾何變形方法長久以來一直是船舶性能優(yōu)化過程中,特別是基于SBD 技術船型優(yōu)化中的重要研究方向,其與CFD 數值計算方法組成CAD-CAE 協(xié)同設計優(yōu)化體系[1-2]。目前,船體曲面建模方法的研究主要集中在基于NURBS 曲面(Non-Uniform Rational B-Splines,即非均勻有理B 樣條)的傳統(tǒng)船體參數化建模方法上。關于船體曲面變形與光順方法也主要依托于NURBS 的表達式擬合模型,通過徑向基函數插值[3-4]、Self-Blending 方法[5]、流曲線方法[6]等實現三維自動變形,包括船體曲線和曲面光順性準則在內的其他相關研究也已非常成熟[6-7]。
計算機視覺技術和人工智能技術在近10 年時間里實現了跨越式發(fā)展,已廣泛應用于各個行業(yè)。1998年的卷積神經網絡(Convolutional Neuronal Networks,簡稱CNN)模型LeNet,實現了手寫數字樣本精確分類[8]。2017年AlexNet采用修正線性單元解決了網絡較深時的梯度彌散問題,使得CNN 的分類準確度空前提高[9]。計算機視覺技術不僅用于模擬生物視覺的認知機制,同時在序列型數據生成方面也取得了重要成果。2014 年Goodfellow 等[10]首次提出生成式對抗網絡(Generative Adversarial Networks,簡稱GAN)模型。2016年,Radford等[11]提出了深度卷積生成式對抗網絡模型。我國學者在基于計算機視覺的三維模型重構研究上取得了國際領先成果[12-14]。近些年,越來越多的研究者將計算機視覺技術應用于海洋工程和流體力學領域[15-16]。其中,基于CNN 的船舶檢測與船舶分類技術已經較為成熟[17-19],在阻力性能預報方面也取得了一定的研究成果[20]。
船體曲面具有非常復雜的幾何形狀,不僅包括連續(xù)性和非連續(xù)性曲面,還常伴有附體結構(舭龍骨、減搖鰭等)。常規(guī)優(yōu)化系統(tǒng)內的參數建模方法主要基于NURBS 曲面技術通過調節(jié)控制點位置和權重完成曲面變形,較難實現非連續(xù)曲面變形和附體結構變形。從數據類型上分析,船體型值數據與圖片數據都是序列相關型數據,所以廣泛用于圖片和視頻數據處理的計算機視覺技術,也同樣適用于船體型值數據處理。本文作者依托這一共性特征,首先采用卷積神經網絡對船體曲面區(qū)域進行分類預測,證明其能夠較為準確地分辨船體區(qū)域特征;然后分別采用一體式(All-In-Once,簡稱AIO)和分區(qū)式(Separative Method,簡稱SPM)策略建立生成式對抗網絡模型,并分別構造船體曲面,證明兩種策略的可行性;最后通過對比生成模型與真實船型間的特征差異,分析一體式與分區(qū)式策略的局限性,并提出改進方法。本文旨在證明將計算機視覺技術引入船體型線設計的可能性,并探索進一步研究所要面對的潛在問題,為相關研究內容提供理論和實踐上的支持。
本文基于長期科研過程中所積累的大量船體型值數據,通過Lackenby變換、曲面融合等方法得到了一個包含250艘船體型線的數據集(包括拖網漁船、油船、散貨、集裝箱、驅逐艦等)。數據集中的船型將按照7:3比例隨機劃分為訓練集與驗證集,用于卷積神經網絡的訓練和驗證,其部分樣本如圖1所示。
圖1 船型數據集部分船型特征Fig.1 Some models of the ship hull database
船型數據集的多樣性分別體現在樣本的主尺度分布情況(如表1所示)和樣本幾何特征分布情況(如表2所示)。
表1 船型數據集的樣本主尺度分布情況Tab.1 Distribution of ship’s principal dimensions in database
表2 船型數據集幾何特征分布情況Tab.2 Statistics of ship hulls’characteristics in database
采用3 種方案(2×4,2×6,2×8)對數據集內的所有船型樣本進行區(qū)域分割。具體分割和編碼方法如圖2 所示。以2×8 方案為例,將無量綱化船體沿xz方向均勻分割,自船艉向船艏從小到大編碼(0~7區(qū),8~15區(qū)),從甲板向基線方向進行編碼(7~8區(qū)域)。
圖2 區(qū)域分割和編碼方式(2×8情況)Fig.2 Subdivision and numbering method(Case 2×8)
為保證輸入樣本的數據尺度相同,所有分割法均保證數據解析度為32×32,如圖3所示,其中顏色的深淺代表半寬值大?。ㄉ钌咏?,淺色接近0)。對于同一艘船,采用不同的分割形式所觀測到的特征有差異,說明不同切割方式的長寬比對特征采集有影響,但不在本文研究范圍之內。
圖3 在32×32解析度下不同分割方案的球艏部分數據可視化情況Fig.3 Bulbous bow visualization with 32×32 resolution in different subdivision cases
為了消除尺度對船體形狀認知的影響,提高卷積神經網絡的分類準確性,本文對船體型值數據進行無量綱化處理,半寬值數據歸入0~1范圍內,船長和型深方向的數據按照分割方案進行無量綱化處理。以2×8為例,船長方向數據歸入-4~4區(qū)間內,型深方向數據歸入-1~1區(qū)間內。
卷積神經網絡模型源于生物視覺原理,通過模擬生物視覺感受野(Receptive Field)的功能對序列相關型數據進行特征提取。卷積神經網絡模型主要包括:代表網絡訓練結果優(yōu)劣的損失函數;用于求解最小損失函數值使得模型訓練過程收斂的優(yōu)化算法;提取數據特征的卷積層;降低參數數量級的池化層(降維);負責輸出結果的全連接層神經網絡(分類)。
損失函數是用來評估網絡模型的預測值f(x)與真實值Y的差異程度。一般函數值是一個非負實數,以L(Y,f(x))表示。一般來說,得到的損失函數值越小,說明模型的魯棒性越強,具有較高的預測精度和良好的泛化性。較為常見的損失函數包括:
(1)平均絕對誤差損失(Mean Absolute Error Loss,簡稱MAE,又稱L1損失):
(2)均方誤差損失(Mean Squared Error Loss,簡稱MSE,又稱L2損失):
(3)交叉熵損失(Cross-Entropy Loss,簡稱CEL又稱對數似然損失,Log-likelihood Loss):
本文通過卷積神經網絡監(jiān)督學習模型進行分類預測。在損失函數和激活函數的選擇上,采用在解決圖片分類問題中較為常見的二元交叉熵損失函數(Binary-Cross-Entropy Loss)與Sigmoid 激活函數組合。優(yōu)化算法的選擇對多元分類模型的性能非常重要,相同的模型,由于選擇不同的優(yōu)化算法,可能導致其性能差異巨大,甚至導致模型訓練無法收斂。常用的優(yōu)化算法主要包括梯度下降類算法、動量算法以及自適應梯度類算法。本文所采用的Adam 算法利用梯度的一階矩估計和二階矩估計來動態(tài)調整學習率。Adam 的優(yōu)點主要在于經過偏置矯正后,每次迭代的學習率都有一個范圍,類似于動量算法,參數迭代非常穩(wěn)定。
本文基于Pytorch平臺構建了用于對艏艉曲面特征進行二分類的卷積神經網絡模型,如圖4所示。網絡輸入層是32×32的二維數組,為了更完整地提取型線邊緣的特征信息,在輸入層四周添加一層數值為0 的元素,則原數組變?yōu)?4×34。用4 個3×3 的卷積核,以步長為1,分別得到4 組32×32 特征數組(第一卷積層);用4 個3×3 的卷積核,以步長為2,分別得到4 組15×15 特征數組(第二卷積層)。重復用3×3 的卷積核,步長值交替取1 和2,經過兩次后分別得到13×13 和6×6 特征數組。將6×6 的卷積層轉置成一維數組后,建立一個全連接網絡,以此一維數組為輸入,以1 個1×2 獨熱編碼(即僅有1 個元素為1,其他都為0)為輸出。如果網絡所輸出的獨熱編碼(one-hot code)為[1,0],則意味著網絡判定所輸入的船體型值屬于船艉,如果是[0,1],則判斷為船艏。
圖4 用于船體艏艉型線特征分類的卷積神經網絡結構圖Fig.4 Structure of CNN for ship hull’s stern and front classification
在區(qū)域數目增多時,獨熱編碼數組的尺度隨其增大,以2×8 分割方式為例,CNN 輸出的獨熱編碼數組中第10 區(qū)的數值高于其他區(qū)域(柱狀圖),如圖5 所示,即模型判定輸入特征與第10 區(qū)域數據特征更匹配。神經網絡輸出區(qū)域判定結果為1×16的獨熱編碼,且10號區(qū)域對應元素為1。
圖5 獨熱編碼輸出判斷樣本所屬區(qū)域方法Fig.5 One-hot code classification method
本文基于Pytorch 框架構建船型數據集和卷積神經網絡模型,按照上述內容設定損失函數與優(yōu)化算法,所有分割方案數據集統(tǒng)一經過epoch=30 的訓練后(由于分割方式不同導致樣本數量不同,所以圖6橫軸坐標不同,但所有分割方式的epoch數量都是30),損失函數值變化過程如圖6所示。
圖6 卷積神經網絡模型的損失函數值隨訓練收斂的過程Fig.6 Convergence process of CNN training in different cases
初步構建的卷積神經網絡模型在不同分割方案下的分類性能表現如表3所示,其在2×4,2×6,2×8三種方案中表現為訓練準確率隨分割區(qū)域的增多而逐漸下降。
表3 卷積神經網絡模型解決船體型線區(qū)域分類問題的性能Tab.3 Performance of CNN in solving various hull subdivision classification cases
由此可知,本文基于卷積神經網絡模型所構建的船體曲面特征認知機制,能夠較為準確地辨別2×4 分割方案下的船體曲面特征。以此為依據,本文在構建曲面特征生成機制時,分區(qū)式生成法將采用2×4 方案,并依照相同的網絡結構設計GAN模型的判別器網絡。
本文設計了兩種曲面生成方法:一體式和分區(qū)式方法。一體式方法是通過一個生成器網絡與一個判別器網絡進行對抗(一對一對抗),直接生成一個完整的船體曲面。分區(qū)式方法是通過多個生成器與多個判別器網絡進行對抗(多對多對抗),依次生成各個船體曲面區(qū)域而完成建模。
基于生成式對抗網絡的船體曲面分區(qū)式建模過程如圖7 所示。首先,根據所采用的曲面生成策略,對船型數據進行曲面離散和區(qū)域分割等預處理工作;然后,基于卷積神經網絡建立船體曲面特征認知機制;最后,生成器將初始樣本輸入基于曲面特征認知機制的判別器,令其對比樣本特征與標準曲面特征,如果樣本符合船體曲面特征要求則輸出,否則更新生成器網絡的超參數后生成新樣本,并再次由判別器判斷,迭代此過程直至兩個網絡實現納什均衡,能夠穩(wěn)定輸出具有船體曲面特征的數據,則GAN網絡訓練完成。本文采用Adam優(yōu)化算法和交叉熵損失函數對網絡進行訓練。
圖7 生成式對抗網絡的船體曲面生成流程示意圖(分區(qū)式方法)Fig.7 Process of ship hull form generating by GAN(Separative method)
一體式方法的生成器和判別器網絡結構如圖8所示,其生成器網絡是一個逆卷積解碼器的結構,包括2 個全連接層和3 個反卷積層。其輸入層是由一個隨機正態(tài)分布種子生成器來生成1×200 的隨機種子。生成器網絡的輸出層是經過3次反卷積計算的64×128單通道二維數組。判別器網絡是一個典型的卷積神經網絡模型,包括3 個卷積層和2 個全連接層,輸入層為裝載無量綱半寬數據的64×128單通道二維數組,輸出層是1個標量(結果接近1則判定輸入數據與數據集船型接近,接近0則判定輸入數據為隨機噪聲)。判別器網絡通過交替輸入隨機噪聲和標準船型,采用誤差反向傳播訓練模型,直至判別器的損失函數收斂或迭代達到最大次數。
圖8 一體式方法的判別器與生成器網絡結構示意Fig.8 Network structure of AIO method
基于船體曲面特征認知機制的研究結果可知,卷積神經網絡模型能夠在2×4分割方案下,較為準確地認知32×32 的船體曲面特征(測試集分類準確率為98.17%)。所以,采用2×4 方案構建GAN 模型實現船體曲面的分區(qū)式特征認知與生成,具備一定的先驗性依據。
判別器網絡基于LeNet 模型,包括3 個卷積層和1 個全連接層,如圖9(a)所示,輸入層為32×32 的二維單通道矩陣,輸出層為1×1 的標量,通過交替輸入當前區(qū)域的型值特征樣本和隨機噪聲,采用誤差反向傳播來訓練判別器網絡,直至損失函數值收斂或迭代達到最大次數。生成器網絡依舊是一個反卷積解碼器的結構,其包括2 個全連接層和3 個反卷積層,其輸入層由一個隨機正態(tài)分布種子生成器生成1×200的隨機種子,其輸出層是經過3次反卷積計算的32×32單通道二維數組。
圖9 分區(qū)式方法的判別器與生成器網絡結構示意Fig.9 Network structure of separative method
一體式方法的判別器損失變化一直較為穩(wěn)定(絕大部分在5 以下波動),其生成器損失值在初始迅速上升后(超過9),迅速趨于平穩(wěn)(200步之前)并持續(xù)波動,如圖10(a)~(b)所示。
圖10 兩種策略生成式對抗網絡模型的損失函數在訓練中的變化Fig.10 Loss functions of GAN in training process of two methods
分區(qū)式方法的判別器損失值波動更?。ù蟛糠旨性?.5以下),但整個訓練過程仍存在個別較高的損失值(10 000 次附近),如圖10(c)所示;其生成器損失值一直在相對較低的位置震蕩(1~5 之間),而且并沒有和一體式網絡一樣出現在訓練初期生成器損失值激增的情況,如圖10(d)所示。
一體式方法的訓練過程中,出現了勢均力敵的對抗表現(判別器和生成器的損失值均持續(xù)較大范圍的波動,且判別器損失值趨于減小,生成器損失值先增高后降低并持續(xù)波動)。在分區(qū)式方法的訓練過程中,判別器則明顯較為強勢(整個過程具有很小且較穩(wěn)定的損失值),生成器在同判別器的對抗中沒有出現損失值先增大后減小的情況,其迅速被判別器支配,這可能導致生成樣本趨同化。
從信息密度上分析,單個樣本的信息量從一體式的64×128降至分區(qū)式的32×32,這使得判別器能夠獲取更微觀的特征,但生成器的自由度卻降低了,所以判別器性能相較于生成器更強勢。損失函數僅能體現網絡訓練是否收斂,若要衡量網絡的實際性能則需進一步分析生成樣本質量。
一體式方法所生成的船型如圖11(b)所示,其中#1模型艉部特征與#2生成船型具有明顯區(qū)別;#2生成模型具有較為平滑的水下艏部結構,基線附近的特征也與#1生成船型區(qū)別明顯??傮w來看,一體式生成船型的船體輪廓較為模糊,連續(xù)區(qū)域顏色分布不均勻表明其曲面有較為明顯的噪聲,即曲面有義性較差,但其呈現出了較為多樣的船體曲面形狀。相比11(a)中數據集船型,雖然樣本質量仍有明顯差距,但在多樣性方面具有較為突出的表現。
圖11 一體式生成方法所生成的船型樣本的側視圖Fig.11 Samples generated by GAN with AIO method
從生成樣本的總體質量來講,清晰度和噪音情況略優(yōu)于一體式方法,如圖12 所示。但相較于數據集中的真實船型,仍具有肉眼可見的區(qū)別和缺陷。如0 區(qū)(艉部甲板方向的區(qū)域),生成船型#1、#2的艉封板顏色比數據集中的真實船型#1、#2 更淺,且邊緣部分有明顯噪點,這說明0 區(qū)曲面光順程度較差;2 區(qū)(船舯靠艏部的甲板方向區(qū)域),數據集中的真實船型#2 具有肉眼可見的梯度變化(右下角顏色較淺,半寬值較小),而生成船型#1、#2對應區(qū)域中的梯度變化難以觀測;4區(qū)(船艉基線方向),生成船型#1、#2的輪廓較為模糊,而真實船型#1的輪廓較為清晰。
圖12 分區(qū)式生成方法所生成的船型樣本的側視圖Fig.12 Samples generated by GAN with separative method
將兩種方法生成的二維數組導出后,本文對無量綱化數據進行了放大、曲面光順與降噪處理后,船型數據三維可視化曲面如圖13~14所示。一體式方法所生成的船體曲面總體上具有較好的曲面質量,如圖13 所示(左舷為原始生成數據,右舷為降噪和光順后數據),但仍存在肉眼可見的曲面凹凸(如圖艉部)。同時,艏部水線以下雖具有生成球艏特征的趨勢,但不夠明顯和完整,反而破壞了曲面質量。
圖13 一體式生成方法所生成的船體曲面(曲面降噪和畸變修復后)Fig.13 Surface generated by GAN with AIO method(smoothened and faired)
對于分區(qū)式方法生成的船體曲面,各區(qū)域內部具有較好的曲面光順度,特別是經過降噪處理后,各區(qū)域曲面質量有所提升,如圖14 所示。但由于在生成過程中,各生成器與判別器的訓練是相互獨立的,并沒有考慮到生成曲面區(qū)域之間的銜接問題,所以各區(qū)域的邊緣處具有肉眼可見的明顯曲面畸變(3、6、7區(qū)域)。
圖14 分區(qū)式生成方法所生成的船體曲面(曲面降噪和畸變修復后)Fig.14 Surface generated by GAN with separative method(smoothened and faired)
本文旨在探索采用計算機視覺技術建立船體曲面特征的認知和生成機制的可行性,嘗試構建基于卷積神經網絡的船體曲面特征的認知機制,以及基于生成式對抗網絡的船體曲面特征的生成機制。研究得到了如下結論:
(1)通過卷積神經網絡模型對不同分割方案下的船體曲面區(qū)域特征識別精度研究,初步證明了計算機視覺方法能夠分辨不同船體曲面的區(qū)域特征,證明了基于卷積神經網絡模型建立船體曲面特征認知機制的可行性;
(2)采用一體式方法(AIO)的生成式對抗網絡模型,能夠生成具有較好曲面全局完整性的船型樣本,但其訓練成本較高、損失函數收斂不穩(wěn)定,容易出現模式崩潰現象,且其在個別區(qū)域內仍難以避免凹凸,降低了生成樣本的實用性;
(3)采用分區(qū)式方法(SPM)的生成式對抗網絡模型,訓練成本低、損失函數相對較為穩(wěn)定,模式崩潰現象出現較少,能夠快速生成較為理想的區(qū)域曲面,但由于各生成器間沒有全局約束,導致所生成的曲面區(qū)域之間無法光順銜接,區(qū)域連接處具有較為明顯的曲面畸變,導致生成船型不具備曲面有義性。
綜上,基于計算機視覺技術建立船體曲面特征認知與生成機制具有一定的可行性,其中,基于卷積神經網絡模型的特征認知機制能夠準確地分辨不同的曲面區(qū)域(2×4分割方案下的測試集識別精度達到98.17%)。但目前的研究表明,本文所采用的一體式和分區(qū)式生成方法均具有各自的局限性,難以獨立滿足實際工程應用對生成曲面的多樣性和有義性的要求。在后續(xù)研究中,將在基于計算機視覺技術的船體曲面生成機制方面,特別在兩種生成方法的融合與改進方面開展進一步的探索和研究。