沈益駿, 黃昱洪, 何吉飛
(1.舟山出入境檢驗(yàn)檢疫局,浙江 舟山 316000;2.嵊泗出入境檢驗(yàn)檢疫局,浙江 溗泗 202450;3.戈朗海事技術(shù)咨詢有限公司,上海 201206)
針對傳統(tǒng)水尺計(jì)重[1]中目測船舶吃水值這一環(huán)節(jié)存在主觀性強(qiáng)、效率低等弊端,船舶工程等相關(guān)領(lǐng)域的一些專家學(xué)者基于激光、電子器件等提出了新的船舶水尺檢測方法:馬曉波等[2]利用水導(dǎo)電的原理設(shè)計(jì)了一種測量船舶吃水的測量尺;陳文煒等[3]提出了一種基于激光測距傳感器的船舶吃水測量系統(tǒng);鄭灼輝[4]研制了智能化船舶水尺檢測儀。然而,用上述幾類測量方法或儀器進(jìn)行水尺計(jì)重時必須先選取甲板線或船舶某處固定位置為基準(zhǔn)點(diǎn),再利用激光或者智能尺測量基準(zhǔn)點(diǎn)到水平面的距離,最后用計(jì)算公式間接算出船舶吃水值;此外,激光測距或智能尺在現(xiàn)階段還存在檢測過程復(fù)雜、測量精度不高的問題。以載質(zhì)量7萬t的散貨船為例,1 cm吃水誤差就可能導(dǎo)致貨物質(zhì)量70余t的差異。由此可見,在檢測源頭上盡量少引入誤差源,并且有效提升儀器設(shè)備的精準(zhǔn)度是準(zhǔn)確計(jì)重的關(guān)鍵。精度高意味著代價高,控制誤差源使測量過程變得更加煩瑣,可能嚴(yán)重影響港區(qū)正常作業(yè)。
鑒于此,本文提出基于圖像處理技術(shù)的船舶水尺標(biāo)志識別方法,操作人員借助攝像手段[5]采集水尺圖像,然后通過水尺識別程序精準(zhǔn)讀取船舶吃水值。在此之前,已有不少學(xué)者提出基于圖像處理技術(shù)的類似理論,但在水線識別、船舶實(shí)際吃水值計(jì)算上未有較好的處理方法。針對此類問題,本文不僅給出了解決方案,而且通過驗(yàn)證試驗(yàn)證明了該方案是切實(shí)可行的。
船舶水線準(zhǔn)確識別是該方案的第一步,也是最重要的一步。在沿海風(fēng)浪較大水域,由于波浪起伏在船體上所留下的水跡、船體自身攜帶的銹跡及不同時段光線等因素的干擾,用普通的圖像處理技術(shù)無法準(zhǔn)確讀取船舶實(shí)際吃水值。本文通過縱向顏色梯度積分曲線處理方法,可準(zhǔn)確識別水線;基于船舶水尺標(biāo)記規(guī)則字符,設(shè)計(jì)并優(yōu)化計(jì)算公式,然后據(jù)此開發(fā)軟件程序,實(shí)現(xiàn)根據(jù)導(dǎo)入的船舶水尺影像給出吃水值。
船舶水尺識別前提是獲取水尺圖像,因此水尺圖像采集是否規(guī)范與符合要求對后期精準(zhǔn)識別船舶吃水值至關(guān)重要。
由于波浪涌動具有周期性,如果僅對單張圖片進(jìn)行檢測分析,那么所得到的數(shù)據(jù)不能準(zhǔn)確代表船舶的實(shí)際吃水值。為使獲取的數(shù)據(jù)真實(shí)可信,船舶水尺圖像采集要求如下:動態(tài)視頻至少需要包括3個波浪峰谷周期,一般需在船舶同一位置至少拍攝3 min。視頻采集完畢后,需對圖像進(jìn)行預(yù)處理。首先對采集的動態(tài)視頻進(jìn)行等時間間隔截圖(截圖越多,數(shù)據(jù)越精準(zhǔn)),然后對所截取的水尺圖像逐次單張進(jìn)行分析檢測得出吃水值,最后對得到的吃水值進(jìn)行統(tǒng)計(jì)匯總、加權(quán)平均得出船舶在該處的實(shí)際吃水值。用該方法對其他5處水尺標(biāo)記點(diǎn)進(jìn)行相似操作,依次讀取吃水值。
船舶水尺是印刷或者點(diǎn)焊在船體上的,對稱分布在船首、船中、船尾左右兩側(cè)。如果船首、船尾鋼板呈弧度鋪設(shè),那么從某些角度拍攝的水尺圖像中的字符可能會變形,需要利用仿射變換或者非線性變換進(jìn)行幾何校正。郭秀艷[6]對此類問題進(jìn)行了具體闡述。本文要求采集的水尺圖像正置(船殼在上,水在下),而對于側(cè)置或倒置的水尺圖像應(yīng)將其調(diào)整至正置。
本文根據(jù)縱向顏色梯度原理識別水線,識別前要求水尺圖像已調(diào)整至正置,圖像呈現(xiàn)的水尺標(biāo)志清晰且無變形。
圖1 理想情況下水線模擬
理想情況下船體與水體兩種不同顏色介質(zhì)分界處的情況見圖1。取該圖片某固定橫坐標(biāo)X0處的空間色彩值TRGB的縱向序列{TRGB(X0,0),TRGB(X0,1),TRGB(X0,2),…},則縱向色差的評判標(biāo)準(zhǔn)公式可設(shè)定為
Δ=f(TRGB(X0,y+1)-TRGB(X0,y)),
y=0,1,2,…
(1)
然后,對三原色差值進(jìn)行等權(quán)加和:
(2)
圖2理想情況下水線處的梯度曲線
式中:R(X0,y)、G(X0,y)和B(X0,y)分別代表在坐標(biāo)(X0,y)處的紅色值、綠色值和藍(lán)色值。經(jīng)計(jì)算,初步得到縱向顏色梯度曲線,見圖2。
理想情況下水線處的梯度曲線只有一個脈沖峰值,其峰值處即對應(yīng)水線的位置。然而,在實(shí)際情況下,受光線、部分船體被水潤濕、銹跡及船體焊接邊界等因素干擾,梯度曲線呈現(xiàn)為多峰值的有噪聲曲線,見圖3。在背景亮度變化、干擾顏色未知的條件下,不能單純通過搜索最大脈沖峰值判斷水線位置。
圖3實(shí)際情況下水線處的梯度曲線
為解決實(shí)際情況下水線的識別問題,將縱向顏色梯度曲線調(diào)整為縱向顏色梯度積分曲線,經(jīng)過差值的累加,原來有噪聲的梯度曲線轉(zhuǎn)變?yōu)榕_階狀曲線,水線的識別方式由對原來的脈沖峰值的判斷轉(zhuǎn)化為對臺階狀曲線上升沿的判斷,見圖4。
圖4 經(jīng)差值累加后水線處的臺階狀曲線
圖5過濾干擾后水線處的噪聲曲線
噪聲區(qū)域帶來的干擾經(jīng)過積分后形成一段非常短的、不明顯的臺階,然后通過統(tǒng)計(jì)數(shù)據(jù)曲線的臺階擬合程度來識別水線。
經(jīng)上述方法處理后,噪聲區(qū)域帶來的干擾被有效過濾,水線能夠被準(zhǔn)確、快速地識別,見圖5。
在實(shí)際情況下船況錯綜復(fù)雜,如:在沿海風(fēng)浪較大的港區(qū),船體上時常有不規(guī)則的水跡線;在船舶滿載的情況下,水線上、下涂刷有兩種不同顏色油漆。雖然船體上的銹跡、光線等因素的干擾可用圖像顏色梯度積分方法濾除,但是船體上的水跡線和船體上的兩種顏色等勢必對后續(xù)吃水值的準(zhǔn)確識別造成干擾。為解決這一問題,在上述圖像顏色梯度積分方法基礎(chǔ)上,運(yùn)用彭將輝等[7]提出的一種采用數(shù)學(xué)、形態(tài)學(xué)與Canny算子相結(jié)合的方法識別水線。另外,在實(shí)際操作過程中,如遇水尺刻度兩側(cè)有載重線等異物,則應(yīng)對其進(jìn)行過濾處理,以免再度干擾對水線的準(zhǔn)確識別。在圖像處理實(shí)例中,水線一般都能被較好地識別出來,見圖6。
圖6 水線識別實(shí)例
船舶需要勘劃水尺,水尺實(shí)質(zhì)就是吃水的標(biāo)志[8]。識別船體上的水尺標(biāo)志通常有兩種思路:基于標(biāo)準(zhǔn)樣本的圖像匹配和基于圖像數(shù)據(jù)的模式識別。前者的優(yōu)點(diǎn)在于不需要機(jī)器學(xué)習(xí)和大量數(shù)據(jù)的訓(xùn)練,識別工作量小,程序運(yùn)行時間短;缺點(diǎn)在于目標(biāo)圖像需要與標(biāo)準(zhǔn)樣本圖像精準(zhǔn)匹配,限定于有限范圍內(nèi)的若干種匹配模式,適用廣泛性差、局限性大。后者的優(yōu)點(diǎn)在于識別的智能性高,適用于非標(biāo)準(zhǔn)形狀的圖像識別,普適性強(qiáng);缺點(diǎn)在于需要先采集不同類別、不同特征的數(shù)量龐大的樣本進(jìn)行訓(xùn)練,前期工作任務(wù)重,而且過量的學(xué)習(xí)會導(dǎo)致模式識別不能反映圖像本質(zhì)特征,可能出現(xiàn)識別效果失常。
船體上水尺的刻度字符具有形狀固定、規(guī)格一致等特點(diǎn),見圖7。以米制船舶水尺標(biāo)志為例,字體高度和上、下兩行字符之間的距離均為10 cm,字符寬度為2 cm[9]。待識別的目標(biāo)字符與標(biāo)準(zhǔn)樣本間具有強(qiáng)匹配關(guān)系,適用于上述第一種思路——基于標(biāo)準(zhǔn)樣本的圖像匹配,同時也能保證程序的處理速度。
圖7 米制船舶水尺標(biāo)志
圖8 拍攝的水尺圖像
此方法首先將拍攝的真實(shí)船體的水尺圖像作為獲取標(biāo)準(zhǔn)樣本圖像的基準(zhǔn),見圖8。將拍攝得到的高清圖像中包含的所有不重復(fù)字符截取出來,如2、4、6、8、10M等,將它們均調(diào)整為水平狀態(tài),同時保證所截取的圖像上、下、左、右邊緣緊貼字符邊緣;將截取出的圖像進(jìn)行二值化處理[10],如字符顏色全白、背景顏色全黑,即得到一系列標(biāo)準(zhǔn)樣本圖像。
基于上述標(biāo)準(zhǔn)樣本的圖像匹配方法簡述如下:
(1)在識別出水線后,取目標(biāo)圖像中水線以上涵蓋水尺字符的部分,沿用處理標(biāo)準(zhǔn)樣本圖像的方法進(jìn)行二值化處理,如接近字符的顏色全賦白(TRGB=255,255,255),接近背景的顏色全賦黑(TRGB=0,0,0)。
圖9 水尺標(biāo)志目標(biāo)圖像匹配曲線跳變
(2)逐行、逐列地統(tǒng)計(jì)顏色信息,在有字符出現(xiàn)的行和列中,由于存在白色像素點(diǎn),統(tǒng)計(jì)曲線會發(fā)生跳變,見圖9。根據(jù)各方向上的跳變沿,即可得到目標(biāo)圖像中所有字符的上、下、左、右4邊緣。
(3)考慮到船在水中晃動,所拍攝的圖像中字符有可能傾斜,有必要對截取出的字符做旋轉(zhuǎn)處理。旋轉(zhuǎn)角度的確定依據(jù)為:水尺發(fā)生傾斜通常會導(dǎo)致字符的檢測高度變大,兩字符間的檢測豎直間距變小,整體上二者的間距比大于1。根據(jù)間距比可估算水尺的傾斜角度,在傾斜角附近進(jìn)行間距比最小化的優(yōu)化,即可得到較準(zhǔn)確的傾斜角。根據(jù)所確定的傾斜角將圖像轉(zhuǎn)至正置,再將圖像緊貼數(shù)字邊緣切割,最后將圖像進(jìn)行二值化處理。二值化處理后的水尺標(biāo)志目標(biāo)圖像見圖10。
圖10 二值化處理后的水尺標(biāo)志目標(biāo)圖像
(4)將目標(biāo)圖像與各標(biāo)準(zhǔn)樣本圖像進(jìn)行匹配評估,具體匹配方法如下:將目標(biāo)圖像縮放為與標(biāo)準(zhǔn)樣本圖像相同的尺寸,逐個對像素點(diǎn)的顏色值做同或異(顏色相同為1,不同為0)統(tǒng)計(jì)并累加。圖片匹配累計(jì)值最大的標(biāo)準(zhǔn)樣本圖像中的字符,即可認(rèn)為與該目標(biāo)圖像中的字符相匹配[11]。將圖10與各標(biāo)準(zhǔn)樣本圖像進(jìn)行匹配,即可判定該目標(biāo)圖像中的字符為“10M”。
根據(jù)水尺的字符高度、字符間距均為10 cm和字符寬度為2 cm,制定船舶吃水值的求取方法如下:
(1)逐行掃描統(tǒng)計(jì)顏色信息以劃分各數(shù)字的上下邊緣。在程序軟件實(shí)際運(yùn)行中,紅色線表示數(shù)字上邊緣,黃色線表示其下邊緣。通過計(jì)算紅黃兩線距離判斷每10 cm對應(yīng)圖像的像素高度H0。
(2)設(shè)水線上方首個非主刻度字符(為數(shù)字)為n,n上方的首個主刻度字符中的數(shù)字為N,通過數(shù)據(jù)匹配判斷則易判定水線高度在N-1+0.1(n-1)與N-1+0.1n(單位:m)之間。
(3)進(jìn)一步精確計(jì)算水線與數(shù)字n下邊緣的間距為h,則h代表的實(shí)際距離為0.1h/H0。因此,船舶吃水值F的計(jì)算公式為
F=N-1+0.1n-0.1h/H0
(3)
為驗(yàn)證基于圖像處理技術(shù)的水尺標(biāo)志識別方法的準(zhǔn)確性,于2017年7月8日在浙江省舟山市老塘山港碼頭進(jìn)行了一次試驗(yàn)。當(dāng)日沿海風(fēng)力4~5級,陣風(fēng)6級,海邊涌浪比較大,讀水尺難度較大。舟山地處長江入??冢L(fēng)、浪等水文條件明顯比內(nèi)陸地區(qū)惡劣,由于《進(jìn)出口商品重量鑒定規(guī)程》等標(biāo)準(zhǔn)文件明確規(guī)定,在水尺計(jì)重時船舶吃水處浪高應(yīng)不大于0.5 m,所以在大風(fēng)、大浪等惡劣天氣不宜進(jìn)行試驗(yàn)。在本次試驗(yàn)中,為避免人工讀取水尺誤差,特地選取了水下壓力計(jì)[12](通過壓力計(jì)探頭所探測到的水體壓力可以反算出壓力計(jì)距水體表面的高度)的測量結(jié)果與水尺標(biāo)志識別結(jié)果進(jìn)行對比。
由于巴拿馬型和好望角型船為載質(zhì)量達(dá)數(shù)萬噸的散貨船,出于安全考慮,無法安裝壓力計(jì),故在老塘山港碼頭選取載質(zhì)量為3 000 t的小船作為試驗(yàn)對象。試驗(yàn)方法為:每隔30 min,在船中左側(cè)水尺標(biāo)志處進(jìn)行一次壓力計(jì)測量和基于圖像處理的水尺標(biāo)志識別試驗(yàn),共進(jìn)行20組。具體操作為:船舶停泊至碼頭后,在低潮時段通過工作小艇將水下壓力計(jì)送至船中左側(cè)水尺標(biāo)志處,接著由工作人員將水下壓力計(jì)安裝固定至船底位置(即船舶水尺基準(zhǔn)點(diǎn))。當(dāng)水位上漲時,水體淹沒船底,船體呈現(xiàn)漂浮狀態(tài),由壓力計(jì)可測量得到船底所在位置與海面的距離H(即為船舶實(shí)際吃水值,以下簡稱壓力計(jì)吃水值);與此同時,用攝像手段獲取水線處的圖像,錄入水尺標(biāo)志識別程序進(jìn)行讀數(shù)。20組試驗(yàn)結(jié)果見表1。
表1 水尺標(biāo)志識別結(jié)果與壓力計(jì)測量結(jié)果對比
表1中,差異率計(jì)算公式為
(4)
從表1中可以看出,水尺標(biāo)志識別結(jié)果差異率范圍為-0.57%~+0.95%,在誤差值浮動范圍內(nèi)剔除最大值和最小值,其余誤差值均小于0.015 m,符合設(shè)計(jì)之初對于誤差的預(yù)估,也符合船舶制表的準(zhǔn)確度在0.1%以內(nèi)、水尺計(jì)重的準(zhǔn)確度在0.5%以內(nèi)的要求。試驗(yàn)結(jié)果表明,基于圖像處理技術(shù)的水尺標(biāo)志識別方法具有較高的可靠性。在風(fēng)力較大的情況下能獲得如此好的試驗(yàn)結(jié)果,說明該方法具有普適性。
針對傳統(tǒng)水尺計(jì)重中目測船舶吃水值存在主觀性強(qiáng)、效率低等問題,本文對以往水尺圖像處理技術(shù)進(jìn)行創(chuàng)新和改進(jìn),結(jié)合水尺標(biāo)志圖像匹配和船舶吃水算法等手段,成功實(shí)現(xiàn)了從“人眼”識別水尺刻度到“機(jī)眼”識別水尺刻度的轉(zhuǎn)變,使水尺計(jì)重方法在獲得船舶吃水值這一重點(diǎn)環(huán)節(jié)更具準(zhǔn)確性和客觀性。
參考文獻(xiàn):
[1] 劉輝強(qiáng). 水尺計(jì)重及其誤差分析[D]. 大連: 大連海事大學(xué), 2010.
[2] 馬曉波, 杜柏松, 戴冉. 一種船舶吃水測量尺的設(shè)計(jì)[J]. 船海工程, 2016(3): 35-38. DOI: 10.3963/j.issn.1671-7953.2016.03.008.
[3] 陳文煒, 俞汲, 徐杰, 等. 一種船舶吃水測量系統(tǒng)[J]. 中國造船, 2013, 28(1): 166-171.
[4] 鄭灼輝. 一種新型智能化船舶水尺檢測儀[J]. 工業(yè)計(jì)量, 1999(6): 38-40.
[5] 沈益駿, 王琦, 武華偉. 水尺圖像分析檢測一體化程序開發(fā)及應(yīng)用研究[J]. 中國科技縱橫, 2014, 17: 44.
[6] 郭秀艷. 船舶水尺吃水值檢測方法研究[D]. 大連: 大連海事大學(xué), 2014.
[7] 彭將輝, 冉鑫. 基于圖像處理的船舶吃水線檢測方法[J]. 中國水運(yùn), 2012, 12(6): 66-67.
[8] 馮振玉. 水尺標(biāo)志的正確勘劃[J]. 中國船檢, 2015(10): 31-33.
[9] 劉揚(yáng)睿, 湯洪兵. 進(jìn)出口商品鑒定專業(yè)基礎(chǔ)[M]. 北京: 中國標(biāo)準(zhǔn)出版社, 2007: 18-120.
[10] 周廣程. 圖像處理技術(shù)在船舶吃水自動檢測系統(tǒng)中的應(yīng)用[D]. 南京: 南京理工大學(xué), 2006.
[11] 冉鑫, 彭將輝. 基于圖像處理的船舶水尺刻度識別[J]. 上海海事大學(xué)學(xué)報(bào), 2012, 33(2): 6-9.
[12] 陳熾彬. 崖城13-4氣田水下控制系統(tǒng)設(shè)計(jì)及應(yīng)用[J]. 中國海上油氣, 2015, 27(4): 126-130. DOI: 10.11935/j.issn.1673-1506.2015.04.019.