任志偉, 陳松貴, 王收軍, 王佳偉,2
(1. 天津理工大學(xué)機(jī)電工程國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心, 天津 300384; 2. 交通運(yùn)輸部天津水運(yùn)工程科學(xué)研究院 港口水工建筑技術(shù)國(guó)家工程實(shí)驗(yàn)室, 天津 300456)
充分認(rèn)識(shí)和了解波浪要素是人類進(jìn)行海洋與海岸水動(dòng)力基礎(chǔ)研究的必要條件,而波高和周期作為重要的波要素,緊密關(guān)聯(lián)著海岸工程的建設(shè),因此其測(cè)量方法和測(cè)量精度值得研究。傳統(tǒng)的實(shí)驗(yàn)室波高測(cè)量方法主要包括兩類:一是利用各類波高傳感器等儀器類裝置與水體直接接觸測(cè)量;二是利用圖像處理手段針對(duì)視頻間接測(cè)量。上述測(cè)量方法優(yōu)、缺點(diǎn):電容式波高傳感器通過(guò)電容值測(cè)量波高,然而,電荷數(shù)卻容易受電磁場(chǎng)環(huán)境干擾,致使傳感裝置采樣穩(wěn)定性下降[1];基于加速度計(jì)和陀螺儀結(jié)合的方法通過(guò)采集載體運(yùn)動(dòng)信息,利用姿態(tài)矩陣將陀螺儀輸出的姿態(tài)角信息轉(zhuǎn)換到地理坐標(biāo)系并進(jìn)行處理,去除原始加速度信號(hào)中的毛刺和直流分量后再對(duì)加速度信號(hào)進(jìn)行二次積分[2],進(jìn)而求出波高,但是每次進(jìn)行積分過(guò)程時(shí)受儀器溫度變化和工作環(huán)境等因素的影響會(huì)產(chǎn)生趨勢(shì)項(xiàng),從而影響測(cè)量結(jié)果的精度;超聲波測(cè)距儀依據(jù)聲波傳遞速度和發(fā)送與接收聲波的時(shí)間差值計(jì)算液位高度,但是超聲波在不同密度、壓力、溫度和濃度的傳播介質(zhì)中傳遞速度都不相同[3];基于光學(xué)的測(cè)量方法實(shí)現(xiàn)了非接觸式的測(cè)量[4],避免了因電子傳感裝置與水體的直接接觸而導(dǎo)致的測(cè)量誤差,但在強(qiáng)烈光照的工況下攝像機(jī)對(duì)波面的識(shí)別會(huì)受到影響;針對(duì)視頻圖像利用閾值分割的途徑也實(shí)現(xiàn)了非接觸式的測(cè)量,可通過(guò)測(cè)出水位值間接計(jì)算波高,但其不能分割光照強(qiáng)烈的視頻圖像,因而具有局限性;BP神經(jīng)網(wǎng)絡(luò)算法可用于波高的測(cè)量,但在對(duì)水位高度的預(yù)測(cè)中數(shù)值穩(wěn)定性表現(xiàn)較差[5];基于快速視覺(jué)的波高測(cè)量方法是用攝像機(jī)拍攝波浪運(yùn)動(dòng)過(guò)程,通過(guò)灰度化等圖像處理手段統(tǒng)計(jì)白色像素點(diǎn)數(shù)量[6],從而計(jì)算波高,但受其測(cè)量原理影響需向液體中添加藍(lán)色染料來(lái)突出水體,限制性很大。圖像處理中傳統(tǒng)的圖像分割方法主要有3種:基于閾值的分割方法、基于區(qū)域的分割方法和基于邊緣檢測(cè)的分割方法[7]。上述3種分割方式均存在著自身局限性。如閾值分割不考慮空間特征,因此對(duì)噪聲比較敏感,魯棒性不高;區(qū)域分割中的區(qū)域生長(zhǎng)法計(jì)算緩慢且對(duì)噪聲較敏感,分裂合并法可能會(huì)破壞區(qū)域邊界;邊緣檢測(cè)不能保證邊緣的連續(xù)性和封閉性,對(duì)于較高細(xì)節(jié)區(qū)域的處理存在不足,容易產(chǎn)生碎邊緣[8-9]。
近年來(lái)隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,基于深度學(xué)習(xí)的圖像分割成為了圖像處理中更加高效的方法,F(xiàn)CN、Seg-net、PSP-net和U-net等卷積神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)已有圖像數(shù)據(jù)的學(xué)習(xí),可實(shí)現(xiàn)高品質(zhì)的分割,其中U-net因其網(wǎng)絡(luò)結(jié)構(gòu)和編解碼特點(diǎn)相較于其他3種網(wǎng)絡(luò)的表現(xiàn)更加出色,在此背景下,本文利用U-net卷積神經(jīng)網(wǎng)絡(luò)對(duì)波浪運(yùn)動(dòng)視頻進(jìn)行圖像分割,進(jìn)而測(cè)量波高和周期。本文主要包括以下幾部分:第一部分介紹了U-net卷積神經(jīng)網(wǎng)絡(luò)的研究方法;第二部分將測(cè)量結(jié)果與波高傳感器進(jìn)行比較分析;第三部分進(jìn)行了本研究方法的適用性分析;第四部分對(duì)研究結(jié)果進(jìn)行了總結(jié)和展望。
U-net卷積神經(jīng)網(wǎng)絡(luò)是建立在全卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,實(shí)質(zhì)上屬于編碼-解碼模型[10-11],網(wǎng)絡(luò)架構(gòu)如圖1所示,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)由收縮路徑(見(jiàn)圖1左側(cè)部分)和擴(kuò)展路徑(見(jiàn)圖1右側(cè)部分)2部分組成,其中收縮路徑即是編碼過(guò)程,也叫下采樣過(guò)程,擴(kuò)展路徑即是解碼過(guò)程,也叫上采樣過(guò)程。在編碼過(guò)程中,每一次下采樣操作都通過(guò)2次same卷積進(jìn)行圖像的特征提取,所用的卷積核尺寸為3×3×3,卷積后通過(guò)ReLU激活函數(shù)進(jìn)行激活,之后接一個(gè)2×2的最大池化操作擴(kuò)大全局感受視野并對(duì)特征進(jìn)行壓縮及下采樣操作,每一步下采樣時(shí)特征通道數(shù)量加倍,特征圖尺寸減小到之前的一半,4次下采樣后開(kāi)始進(jìn)行編碼階段的上采樣,每次上采樣進(jìn)行反卷積操作會(huì)使特征通道數(shù)量減少到之前的一半,特征圖尺寸為前一次上采樣的2倍,結(jié)構(gòu)中特征圖尺寸如卷積塊體(藍(lán)色矩形)左下角數(shù)字所示,特征通道數(shù)量如卷積塊(藍(lán)色矩形)上端數(shù)字所示。最后通過(guò)1個(gè)1×1的卷積核將特征通道的數(shù)量降為所需數(shù)量,并用sigmoid激活函數(shù)進(jìn)行預(yù)測(cè)分類[12]。網(wǎng)絡(luò)的關(guān)鍵在于將編碼與解碼過(guò)程之間的跳躍層進(jìn)行了特征融合,減少了在編碼過(guò)程中進(jìn)行的最大池化操作所導(dǎo)致的底層特征信息的丟失,從而得到高品質(zhì)的分割結(jié)果。
(圖中紅色箭頭是指用3×3×3的same卷積核和Relu激活函數(shù)進(jìn)行卷積與激活處理,黃色箭頭是下采樣操作中采取的最大池化操作,綠色箭頭為上采樣過(guò)程中反卷積處理,紫色箭頭是指通道降維和類別輸出。The red arrow in the figure refers to the convolution and activation processing with the 3×3×3 same convolution kernel and Relu activation function. The yellow arrow is the maximum pooling operation taken in the downsampling operation, and the green arrow is the deconvolution processing in the upsampling process. The purple arrow refers to channel dimensionality reduction and category output.)
數(shù)據(jù)主要來(lái)源于大比尺波浪水槽中的模型實(shí)驗(yàn)。實(shí)驗(yàn)布置如圖2所示,大水槽全長(zhǎng)450 m、寬5 m、高8~12 m,水槽一端裝設(shè)造波機(jī),最大造波能力下的波高為3.5 m,造波周期為2~10 s,可以模擬真實(shí)海洋中的波浪,內(nèi)置4個(gè)波高傳感器來(lái)測(cè)量波高,傳感器量程為5 m,測(cè)量精度1%,并在水槽一側(cè)的墻壁頂端每隔7 m裝設(shè)1個(gè)高清攝像機(jī),共裝8個(gè),攝像機(jī)和波高傳感器采集幀率都為25 幀/s,且二者位置都與攝像機(jī)對(duì)齊,攝像機(jī)鏡頭視角可以完全覆蓋對(duì)面波浪的運(yùn)動(dòng),為避免標(biāo)尺體積對(duì)實(shí)驗(yàn)造成影響,所用標(biāo)尺為水槽墻壁上噴涂的刻度尺,其分辨率為2 cm。本文針對(duì)表1所示的9種工況進(jìn)行實(shí)驗(yàn)并將錄制的視頻存儲(chǔ)到計(jì)算機(jī),按幀制作成時(shí)間連續(xù)的2 048×1 536的高清照片并用張氏標(biāo)定法[13]進(jìn)行畸變矯正處理。
表1 實(shí)驗(yàn)工況參數(shù)表
(1.刻度尺Scale; 2.水位線Water level line; 3.波高傳感器Wave height sensor; 4.攝像機(jī)Camera; 5.計(jì)算機(jī)處理系統(tǒng)Computer processing system; 6.造波機(jī)Wave maker; 7.消波材料Wave-absorbing material.)
通過(guò)python中的labelme工具對(duì)獲取的波面圖像進(jìn)行標(biāo)簽集制作,制作標(biāo)簽如圖3(b)所示,其中黑色代表原圖中墻壁,白色代表水體區(qū)域。
深度學(xué)習(xí)中的數(shù)據(jù)集數(shù)量對(duì)神經(jīng)網(wǎng)絡(luò)模型優(yōu)良程度有著很大的影響,過(guò)少的數(shù)據(jù)集訓(xùn)練易產(chǎn)生過(guò)擬合現(xiàn)象[14],現(xiàn)有數(shù)據(jù)集可通過(guò)旋轉(zhuǎn)、平移、鏡像等數(shù)據(jù)增強(qiáng)方式進(jìn)行擴(kuò)充[15],本文采用圖像鏡像的方式對(duì)數(shù)據(jù)樣本進(jìn)行數(shù)據(jù)擴(kuò)增,結(jié)果如圖3所示,得到波面原圖和標(biāo)簽集的鏡像圖片。
圖3 數(shù)據(jù)增廣結(jié)果
在大比尺波浪水槽實(shí)驗(yàn)中采集了1 200張波面圖像,經(jīng)對(duì)原始波面圖像進(jìn)行數(shù)據(jù)增廣后,數(shù)據(jù)集增加為原來(lái)的2倍,隨機(jī)選擇其中80%的數(shù)據(jù)當(dāng)作訓(xùn)練集,另外20%作為驗(yàn)證集,訓(xùn)練次數(shù)(Epoch)50次,模型訓(xùn)練1次迭代所使用的樣本量(Batch size)設(shè)置為2。訓(xùn)練U-net神經(jīng)網(wǎng)絡(luò)模型的條件如表2所示。
表2 模型訓(xùn)練條件
由于本實(shí)驗(yàn)實(shí)質(zhì)上進(jìn)行的是水體和背景的二分類問(wèn)題,在二分類的情況下,模型最后需要預(yù)測(cè)的結(jié)果只有2種情況,對(duì)于每個(gè)類別本研究預(yù)測(cè)得到的概率為p和1-p,因此本文所用模型的損失函數(shù)選取為交叉熵?fù)p失函數(shù):
(1)
式中:N表示樣本總數(shù);yi表示樣本i的標(biāo)簽,正類為1,負(fù)類為0;pi表示樣本i預(yù)測(cè)為正的概率。訓(xùn)練時(shí)的損失值曲線變化如圖4所示,驗(yàn)證集數(shù)據(jù)的損失值最終降為0.01以下。
(圖中黑線為訓(xùn)練過(guò)程中數(shù)據(jù),紅線為驗(yàn)證過(guò)程中數(shù)據(jù)。The black line in the figure is the data during the training process, and the red line is the data during the verification process.)
本文所用U-net卷積神經(jīng)網(wǎng)絡(luò)模型的評(píng)價(jià)指標(biāo)為交并比(Intersection over Union,IoU)和正確率(Accuracy)。IoU是一個(gè)專用于評(píng)估分割性能的指標(biāo),計(jì)算公式如:
(2)
式中:A為真實(shí)標(biāo)簽;B為實(shí)際分割結(jié)果。
正確率(Accuracy)是評(píng)價(jià)分割結(jié)果正確性的評(píng)價(jià)指標(biāo),正確率越高,分類器越好。
(3)
式中:TP為神經(jīng)網(wǎng)絡(luò)正確劃分正例的個(gè)數(shù);TN為神經(jīng)網(wǎng)絡(luò)正確劃分負(fù)例的個(gè)數(shù);P為正例總數(shù);N為負(fù)例總數(shù)[16]。由表3可知,數(shù)據(jù)增廣方式進(jìn)一步提升了模型的分割精度。
表3 數(shù)據(jù)增廣前后模型指標(biāo)
本文用訓(xùn)練好的U-net卷積神經(jīng)網(wǎng)絡(luò)對(duì)表1所示的9種工況波面圖進(jìn)行圖像分割,得到圖5(a)所示的分割結(jié)果及水位線數(shù)據(jù)信息,其中,水位線的數(shù)據(jù)信息是對(duì)每張圖像分割結(jié)果以列為單位,自上而下遍布所有像素點(diǎn),當(dāng)掃描到白色像素點(diǎn)時(shí)記錄其高度位置信息,從而得到每張圖像的水位信息,將分割結(jié)果的水位線數(shù)據(jù)映射到原圖中檢測(cè)分割結(jié)果的精度,可見(jiàn)分割結(jié)果的水位能夠與原圖水位重合,如圖5(b)所示。
圖5 分割結(jié)果
實(shí)驗(yàn)對(duì)波高和周期要素的測(cè)量關(guān)鍵在于對(duì)波面圖像的分割,本文所利用的U-net卷積神經(jīng)網(wǎng)絡(luò)克服了光照波面對(duì)閾值分割測(cè)量法的影響,不會(huì)受到光照工況下的限制,相對(duì)具有更廣泛的使用空間,二者對(duì)光照波面的分割如圖6所示,其中閾值分割結(jié)果并不理想,這主要是因?yàn)楫?dāng)波面受到不均勻的光照影響時(shí),水體局部區(qū)域的顏色與墻壁相近(見(jiàn)圖6(a)),閾值分割結(jié)果如圖6(c)所示,黑色表水體,白色代表墻體,因?yàn)殚撝捣o(wú)法準(zhǔn)確的判斷其前景和背景,易將強(qiáng)光照射部分的水體錯(cuò)誤識(shí)別成墻體,所以部分光照區(qū)域的水體被分割成白色,此現(xiàn)象在光照強(qiáng)烈區(qū)域表現(xiàn)尤為明顯,而U-net卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練的過(guò)程中可以對(duì)圖像的顏色、亮度等元素進(jìn)行學(xué)習(xí),從而可準(zhǔn)確的實(shí)現(xiàn)對(duì)光照波面的圖像分割,分割效果如圖6(b)所示,其中,黑色代表墻體,白色代表水體。
圖6 兩種圖像分割法對(duì)光照波面的分割結(jié)果
對(duì)原波面圖像上的標(biāo)尺每10 cm拾取一個(gè)像素點(diǎn)記錄高度信息,并將像素點(diǎn)高度與標(biāo)尺上的實(shí)際刻度相對(duì)應(yīng),擬合像素高度和標(biāo)尺實(shí)際高度的轉(zhuǎn)換關(guān)系。利用該轉(zhuǎn)換關(guān)系即可完成水位線數(shù)據(jù)從像素高度到實(shí)際高度的轉(zhuǎn)換。提取每張圖像標(biāo)尺處的水位值,即可觀測(cè)水位的變化過(guò)程,繼而通過(guò)上跨零點(diǎn)法計(jì)算波高。
實(shí)驗(yàn)針對(duì)表1所示的9種工況,用U-net卷積神經(jīng)網(wǎng)絡(luò)、波高傳感器及像素識(shí)別3種方式進(jìn)行波形比較,其中,像素識(shí)別是通過(guò)手動(dòng)對(duì)每一幀波面圖片識(shí)別水位高度,識(shí)別分辨率計(jì)算方法為
(4)
式中:Cy表示每個(gè)像素點(diǎn)代表的實(shí)際距離;Ymax表示垂直方向像素坐標(biāo)最大值表示的實(shí)際高度;Ymin表示垂直方向像素坐標(biāo)最小值表示的實(shí)際距離;Ny表示垂直方向像素點(diǎn)數(shù)量。計(jì)算表明像素識(shí)別分辨率可達(dá)2 mm/pixel,相較于傳感器的厘米級(jí)測(cè)量精度更精確,依靠人力手動(dòng)識(shí)別每張波面圖像水位過(guò)程繁瑣耗時(shí),不具實(shí)際應(yīng)用性,但測(cè)量結(jié)果可靠,因此可作為測(cè)量結(jié)果的基準(zhǔn)值來(lái)比較U-net卷積神經(jīng)網(wǎng)絡(luò)的波浪測(cè)量方法的精度和波高傳感器的精度。觀察圖7可發(fā)現(xiàn)3種測(cè)量方法測(cè)得規(guī)則波和不規(guī)則波的波形曲線吻合度都較為一致,但在波峰處可發(fā)現(xiàn)U-net卷積神經(jīng)網(wǎng)絡(luò)測(cè)得的波高值和像素識(shí)別測(cè)量的更為接近,而傳感器測(cè)量的值相對(duì)偏大,這主要是由于波浪回落過(guò)程中形成的“掛水”現(xiàn)象導(dǎo)致的。
(圖中黑線為神經(jīng)網(wǎng)絡(luò)所測(cè)波高,紅線為波高傳感器所測(cè)波高,藍(lán)線為像素識(shí)別的波高。In the figure, the black line is the wave height measured by the neural network, the red line is the wave height measured by the wave height sensor, and the blue line is the wave height identified by the pixel.)
本文以像素識(shí)別結(jié)果為基準(zhǔn),針對(duì)規(guī)則波和JONSWAP譜不規(guī)則波各120個(gè)波高分別計(jì)算U-net卷積神經(jīng)網(wǎng)絡(luò)和傳感器測(cè)量的波高與周期的相對(duì)誤差,計(jì)算公式為:
(5)
式中:X指U-net卷積神經(jīng)網(wǎng)絡(luò)或傳感器的測(cè)定值;T指以像素識(shí)別為基準(zhǔn)的真實(shí)值。計(jì)算結(jié)果如圖8(a)所示,U-net卷積神經(jīng)網(wǎng)絡(luò)測(cè)量結(jié)果的誤差均小于傳感器,其中1~6組為規(guī)則波測(cè)量結(jié)果,U-net卷積神經(jīng)網(wǎng)絡(luò)計(jì)算的誤差最大為2.25%、最小為1.72%,傳感器的誤差最大為4.15%、最小為2.06%,7~9組不規(guī)則波中U-net卷積神經(jīng)網(wǎng)絡(luò)計(jì)算的誤差最大為2.3%、最小為1.45%,而傳感器最大誤差為4.1%、最小為1.8%,可見(jiàn),基于U-net卷積神經(jīng)網(wǎng)絡(luò)的波浪測(cè)量方法的測(cè)量精度比波高傳感器的測(cè)量精度更高。
(圖中白色矩形為波高傳感器的測(cè)量誤差,陰影矩形為U-net的測(cè)量誤差。The white rectangle in the figure is the measurement error of the wave height sensor, and the shaded rectangle is the measurement error of the U-net.)
U-net卷積神經(jīng)網(wǎng)絡(luò)對(duì)不同組次的測(cè)量誤差變化如圖9所示。在周期相同、波高不同的工況下,規(guī)則波的測(cè)量誤差都隨著波高的增大而增大,且波高越大,測(cè)量誤差越大。不規(guī)則波的測(cè)量誤差也隨波高增加而增加,且增加幅度更大,但都低于2.5%。此外,如圖8(b)所示,U-net卷積神經(jīng)網(wǎng)絡(luò)測(cè)得的平均周期相對(duì)誤差都在1%以內(nèi)。上述結(jié)果說(shuō)明了U-net卷積神經(jīng)網(wǎng)絡(luò)測(cè)量方法的準(zhǔn)確性良好。
(紅線是周期為6 s時(shí)的規(guī)則波,黑線是周期為3 s時(shí)的規(guī)則波,藍(lán)線是周期為3.4 s時(shí)的不規(guī)則波。The red line is a regular wave with a period of 6 s, the black line is a regular wave with a period of 3 s, and the blue line is an irregular wave with a period of 3.4 s.)
(1)卷積神經(jīng)網(wǎng)絡(luò)需要學(xué)習(xí)大量數(shù)據(jù)才能實(shí)現(xiàn)良好的圖像分割效果,網(wǎng)絡(luò)模型的高泛化能力離不開(kāi)種類繁多,數(shù)量豐富的數(shù)據(jù)集,前期數(shù)據(jù)集的搜集和模型的訓(xùn)練對(duì)本研究方法提出了一定的挑戰(zhàn)。
(2)本文提出的U-net卷積神經(jīng)網(wǎng)絡(luò)波浪測(cè)量方法建立在視頻圖像的基礎(chǔ)上,需要依靠波面圖像中的標(biāo)尺計(jì)算水位實(shí)際高度,因此,使用范圍局限于能夠完成圖像坐標(biāo)轉(zhuǎn)換的場(chǎng)景中。
(3)基于U-net卷積神經(jīng)網(wǎng)絡(luò)的圖像分割實(shí)質(zhì)為端至端的像素級(jí)預(yù)測(cè)分割,需對(duì)每個(gè)像素點(diǎn)都進(jìn)行類別判定輸出,因此計(jì)算量較大,目前速度上還未實(shí)現(xiàn)實(shí)時(shí)測(cè)量,未來(lái)可進(jìn)一步探索現(xiàn)場(chǎng)實(shí)時(shí)測(cè)量。
本文提出了一種基于U-net卷積神經(jīng)網(wǎng)絡(luò)的波浪測(cè)量方法,在保持非接觸式測(cè)量?jī)?yōu)點(diǎn)的基礎(chǔ)上克服了光照波面對(duì)閾值圖像分割測(cè)量影響較大的不足。實(shí)驗(yàn)結(jié)果表明,U-net卷積神經(jīng)網(wǎng)絡(luò)測(cè)量的相對(duì)誤差最大為2.25%,而傳感器誤差最大為4.15%,因此,U-net卷積神經(jīng)網(wǎng)絡(luò)的波浪測(cè)量方法比波高傳感器具有更高的波高測(cè)量精度,測(cè)量誤差隨波高的增大而增大,但平均波高相對(duì)誤差均在2.5%以內(nèi),測(cè)得的平均周期誤差都低于1%。上述結(jié)果證明了本研究方法的測(cè)量精度良好,為實(shí)驗(yàn)室的波浪測(cè)量提供了一種新的方法。