(大連海事大學 信息科學技術學院,遼寧 大連 116026)
散裝貨船所運輸的礦砂、煤炭、谷物等貨物都具有不易用衡器計量的特點,國際上通常利用水尺計重的方法進行交接。船舶水尺計重依據阿基米德原理求取載貨量,船舶吃水深度測量是該過程中最為重要的環節,通常需要專業的水尺檢定人員觀測吃水線在水尺上的位置來實現[1]。由于傳統的人工觀測法容易受到觀測者經驗和海浪起伏的影響而產生偏差,近年來超聲波測距儀被用于測量甲板和水面之間的距離并由此換算出吃水深度,使用這種方法,溫度和濕度對測距精度造成的影響明顯[2]。其他基于電導、電容、光電傳感等測量方法在實際測量中的應用也很有限,主要是因為這類傳感器的安裝和日常維護中的諸多不便[3-5]。為此,考慮基于圖像處理的水尺計重系統借助具備高清攝像功能的爬壁機器人采集水尺圖像,利用數字圖像處理技術實現船舶吃水深度的自動分析,通過分析涵蓋多個波浪起伏的多幅水尺圖像來綜合判定吃水深度,降低風浪所造成的影響。采用這種方法,整個測量過程都可被數字化地記錄下來,便于在發生貿易糾紛時為事后查驗提供證據。
依據國內通行的《駁船水尺計重技術規程》,水尺計重系統由數據采集子系統和數據處理子系統構成,并通過4G網絡來實現兩者間的數據交換,見圖1。

圖1 船舶水尺計重系統構成
數據采集子系統在平板電腦的控制下分別實現水尺圖像采集、水油倉空當高度測量和港水密度測量工作,并通過4G網絡將數據上傳至數據處理子系統。數據處理子系統的核心是一臺高性能的數據服務器,接收平板電腦傳送的水尺圖像及其他測量數據,計算得到船舶的載重量。通過4G網絡回傳測量結果至平板電腦進行顯示,利用數據庫應用程序將相關測量數據和計算結果保存在數據庫中。
借助爬壁機器人實現水尺圖像的采集是數據采集子系統中的關鍵。船舶的6面水尺中,近岸側的3面水尺便于從碼頭上進行觀察,另一側的3面水尺則通常需要借助小艇或繩梯接近觀察。傳統的人工觀測容易受到風浪影響,同時對檢定人員的安全也構成威脅[6]。借助爬壁機器人,可接近水尺進行圖像采集來替代傳統的人工觀測。操作者可從船舷任意位置放下爬壁機器人,根據攝像機傳送至平板電腦的實時圖像控制機器人游走于船側板,即使在非可視區域也能順利完成水尺圖像采集[7],見圖2。由于輕微風浪便會導致吃水線在水尺上的位置呈現起伏變化,傳統人工觀測法在風浪較大時準確地判斷吃水深度較為困難,因此也是檢定過程中最容易引起貨運雙方質疑的關鍵。利用數字圖像處理技術快速分析能夠涵蓋多個波浪起伏的水尺圖像,再對所得的吃水深度求取算術平均作為輸出結果,能夠有效提高船舶吃水深度判定的準確性。

圖2 借助爬壁機器人進行水尺圖像采集現場
通常情況下由爬壁機器人采集的水尺圖像(圖3)并不適合直接進行水尺數值化。主要歸因于受海水侵蝕和污漬影響而產生的圖像噪聲,以及受拍攝位置限制而導致的字符形變。根據水尺字符的顏色特征和排列特點,利用二值化圖像垂直投影統計中呈現出的計數增高剪裁出圖4a)所示的局部圖像??紤]到標準的米制水尺中作為吃

圖3 爬壁機器人所采集的某散貨船外側水尺圖像

圖4 水尺字符圖像的預處理結果
水深度參考的字符僅包含數字“0~9”和字母“M”,可采用處理文字圖像常用的形態學算法對圖像進行降噪。對比圖4a)與圖4b)可以看出,降噪后圖像中的孤立噪聲明顯減少,字符邊緣變得平滑且未發生結構上的明顯改變。在圖4b)的水平方向上做投影統計,同樣利用其中呈現出的計數增高便可得到圖4c)所示的字符圖像。字符中的錯切變形角度則可利用圖4d)所示的投影方法提取,即當投影角度θ與錯切變形角度相等時投影長度L可取得最小值,矯正結果見圖4e)。
考慮到水尺標注通常符合《船舶水尺標志勘劃標準》的樣式,采用模板匹配算法對圖像中的字符進行識別比較快捷[8]。由于該方法僅對字符的簡單特征進行比較,在區分“6”“8”“9”幾個相似字符時的準確率稍低,特別是在海水侵蝕導致字符局部污損的情況下。為提高字符識別的準確率,采用能夠權衡字符多個特征權重來進行判定的神經網絡算法更為合適[9-11]。用于字符識別的典型三層BP-神經網絡見圖5。

圖5 用于字符識別的神經網絡結構
設神經網絡輸入為x1,x2,…,xi,…,xN,則將隱含層輸出y1,y2,…,yj,…,yL和神經網絡輸出o1,o2,…,ok,…,oM表示為
(1)
(2)

BP-神經網絡的輸入層由93個節點組成,涵蓋了水尺字符的輪廓特征、網格特征、投影特征等多個參數。輸出層由11個節點組成,分別對應數字“0~9”和字母“M”。隱含層由48個節點組成,其中每個節點都分別與輸入層和輸出層的全部節點相連接。當神經網絡的輸出結果o1,o2,…,ok,…,oM與期望值d1,d2,…,dk,…,dM不相符時,可將產生的誤差E反向傳輸至網絡之中。
(3)
按照梯度下降法調整層間權值vij和wjk。
(4)
(5)
經過多次往復便可得到正確的輸出結果,進而通過多幅典型水尺圖像的反復訓練,最終形成適應性較強的神經網絡結構。
得益于爬壁機器人在采集水尺圖像時可以靈活地調整拍攝角度,吃水線在圖像中的位置和方向可控,給吃水線識別帶來了較多方便。識別的關鍵在于排除水面波動引起的反射光干擾,準確區分船側板與水面之間的界線,常用的檢測算子包括Sobel、Log、Canny等[12-13]。在利用以上傳統邊緣檢測算子進行識別時,確定濾波器的大小和閾值存在較大困難,還時常得到上下2條難辨真假的吃水線。其中的假水線是由于波浪起伏在船側板留下的水痕,見圖6a)。受到海水浸潤的船側板會發生亮度變化,造成其與相鄰區域灰度值上的不連續,這種特征在晴朗的天氣下尤為明顯。

圖6 水尺圖像的RGB空間分量及其直方圖
考慮到船側板與水面在顏色上存在明顯的差異,考慮基于彩色圖像分割算法對不同顏色空間的圖像進行分析,實現吃水線在水尺圖像中的準確定位。
觀察水尺圖像6a)所對應的灰度直方圖6e)可以看出,在灰度值分布較為集中的區域隱約存在雙峰結構。提取RGB空間分量圖6b)、c)、d),對比其直方圖6f)、g)、h)的分布特征發現,R空間直方圖中呈現出明顯的雙峰結構。由于散貨船浸沒在水下部分的側板通常涂裝具有特殊防腐蝕作用的紅色油漆,而貨物碼頭的渾濁海水多呈現暗綠色至暗黃色,所以兩者之間在灰度值分布上會呈現出較明顯的差別。于是可以在R空間直方圖中選取兩峰間最低處所對應的灰度為閾值T,對圖像中的船側板和水面進行準確分割。則對于R空間圖像中的任意像素點R(x,y),根據閾值T分割得到的像素點RBW(x,y)表示為
(6)
式中:1為目標;0為背景。
海水浸潤導致對R空間圖像影響較小,而且以直方圖中2峰間最低處對應的灰度為閾值能夠避免局部顏色差異帶來的干擾,分割結果中未留下假水線的明顯痕跡,見圖7。

圖7 基于彩色圖像分割的吃水線識別結果
進一步提取圖7a)所示的分割結果可得到圖7b)所示的邊緣像素點。所得圖像中一條由邊緣像素點構成的吃水線已清晰可辨,不過圖像中的噪聲點也造成了吃水線的不連續,而且這種情況在吃水線橫跨過水尺字符時表現得尤為突出。利用霍夫變換把不連續的像素組裝成線段,并選取其中橫跨整幅圖像的那一條得到圖7c)所示的吃水線。在選取吃水線時可將其位置限定在下半部分圖像中,將其角度限定在±15°之間,以提高對其判定的速度和準確率。再將吃水線重新映射到原圖中,形成圖7d)所示的吃水線位置標記。
吃水深度計算的關鍵在于比較吃水線在數字化水尺上的位置,還應特別注意水尺圖像中不同字符間距的變化情況。攝像機與水尺間的拍攝角度會導致字符間距發生變化。通常圖像中越靠近吃水線的字符間距越小,利用非線性擬合確定吃水線上下2個字符間像素所代表的吃水深度變化量??紤]到利用霍夫變換求取的吃水線位置可達到亞像素量級,使得吃水深度最終計算精度達到1 mm,明顯高于規程中10 mm的單次觀測精度要求。此外,可進一步求取20P連續水尺圖像的平均吃水深度作為最終輸出結果,以降低波浪起伏對吃水深度計算帶來的影響。
首先在6 000 t遠洋實習船“育鯤”上進行船舶水尺計重系統功能測試,又在黃驊港的多條散貨船上進行了現場實驗。黃驊港某57 000 t散貨船的外側三面水尺測量結果見圖8,利用裝載煤炭的15 min作業間隔時段便得以完成測量,耗時相對于借助小艇或繩梯進行觀測的傳統方法優勢明顯。20P連續水尺圖像的平均吃水深度輸出分別為3.056、5.942和8.786 m,而單幅圖像所得吃水深度的波動范圍均超過100 mm。

圖8 某散貨船外水尺測量結果
基于圖像采集和處理的水尺計重方法能夠滿足《駁船水尺計重技術規程》的要求,并且不需要對船舶進行改造或加裝傳感器。借助具備高清攝像功能的爬壁機器人采集水尺圖像,可以避免檢定人員攀爬繩梯接近水尺的危險。利用數字化圖像處理技術分析吃水深度,可以消除傳統人工觀測中主觀因素的影響。求取多幅水尺圖像的平均吃水深度作為輸出結果,更可有效降低風浪所造成的影響,特別順應現代化港口對精細化管理的需求。此外,考慮到水尺計重工作即使在夜間也應照常進行,此時所拍攝水尺圖像中的顏色特征會發生明顯變化。因而還需要研究權衡RGB、YUV、HSV等多種顏色空間分量來綜合判定吃水線位置的方法,以進一步提高水尺圖像處理算法的適應性。