- 熱點文章
-
- 09-14關于高等職業院校弱電專業教改的探索
- 11-28東芝將在2009年CES帶來新水平的前沿技術
- 11-28互聯網:世界的鏡子
- 11-28中美文化論壇研討數字技術保護文化
- 11-28淺析“三鹿集團奶粉事件”危機根源
- 11-28新媒體的發展及其教育創新應用研究
- 11-28樓宇信息系統的現狀與應用以及發展趨勢
- 11-28中國2009世界郵展60城市巡郵漯河站啟動
- 11-28打造煥發生命活力的教育時空
- 11-28觀察中國管理教育30年
- 11-28駕馭論:科學發展的新智囊
- 11-28軟著陸將解讀中國管理國際化新走勢
- 11-28創建中國水電國際化強勢品牌
- 11-28管理科學進入新觀察時代
- 11-28全球化傳播語境下的家國建構
- 11-28網絡民主對公民社會建設的影響研究
- 11-28奧運后中國酒店業的發展分析
- 11-28國家創新系統下的大學科研管理研究
- 11-28高校數字圖書館建設及服務模式探討
- 11-28非均衡理論及我國房地產市場供求
- 11-28綠色、安全和通訊是汽車電子的未來
- 11-28敦煌莫高窟將為游客建"數字洞窟"
- 11-28思科新軟件平臺幫媒體公司建社交網絡
- 11-28蘋果喬布斯:用13年給IT業洗一次腦
- 11-28海外傳真:2008年數字印刷市場回顧
- 11-28東芝將在2009年CES帶來新水平的前沿技術
- 11-28互聯網:世界的鏡子
- 11-28中美文化論壇研討數字技術保護文化
- 11-28故宮國圖面臨“數字化”難題 缺乏專門人才
基于圖像處理的輪船吃水線計重系統的研究與實現
2023-10-24 09:31:00 來源:優秀文章
摘?要:觀測吸砂船吃水線是吸砂船計重中的重要一環,在人工觀測中,吃水線計重受人的主觀因素影響較大,涉及多方利益。基于此,利用圖像閾值分割和霍夫直線檢測確定吃水線在圖像中的位置,基于R-CNN前饋神經網絡,并利用PyTorch框架的深度學習算法,識別水尺字符,最終確定輪船的吃水深度,結合輪船的其他參數,進而確定輪船的載重量。偏差率僅在0.3%左右,有利于保障輪船的各方利益。
關鍵詞:吃水線計重;霍夫直線檢測;PyTorch框架;深度學習
中圖分類號:U692.73 文獻標識碼:B 文章編號:1671-2064(2023)13-0071-05
0 引言
在現代化進程中,中國的國際地位越來越高,成為世界第二大經濟體,海上進出口貿易增多,對于大型輪船的使用頻率越來越高。輪船的吃水線是評價輪船載重的重要指標,吃水線計重是我國輪船運輸行業運用最廣泛的一種計重方式,我國大宗商品運輸計重主要依靠吃水深度。在《進出口商品重量鑒定規程》中,根據輪船的浮力公式,記錄輪船裝載之后的吃水線數值。并依據輪船的圖表,經必要的校正,查算輪船排水量,結合輪船壓載水、淡水、燃油、船用物料及非貨物的重量測算,以確定裝載砂石重量的計重方法。該測量方法需要工作人員下到輪船的6個吃水點,通過人眼目測的方法確定吃水線位置,并且要觀察當時的水面情況,做好記錄,然后查詢輪船上的壓載水密度及水位、淡水儲量、燃油儲量、污水量等數據參數,在對照排水量表、校正表、水油艙計量表、靜水力曲線圖表等參數對比表后計算出輪船的載重量[1]。
在人工觀測的過程中,由于缺乏精密的測量儀器,輪船載重量的確定受人的主觀因素影響比較明顯。輪船計重的大小涉及多方利益,對于輪船方和地方及國家稅務都是不公平的。由于各個采區的采砂監管水域廣,涉及的輪船只比較多,調查取證困難,過度采砂對環境造成的傷害是不可逆的,因此輪船吃水線標定輪船載重是水尺計重領域的一個重點難點問題。提高吃水線計重的精準度、客觀性,對保障吃水線測量人員的人身安全,加強環境保護,遏制違法采砂的行為有著重要意義。
1 吃水線檢測
基于圖像處理的輪船吃水深度檢測歸根結底是圖像的目標檢測,主要檢測吃水線位置和吃水線位置所對應的字符的位置。圖像的目標檢測步驟,包括輸入圖片數據,灰度化、濾波、池化,邊緣檢測,吃水線粗定位,檢測出吃水線。
使用閾值分割法對輪船吃水線圖像進行處理。在圖像分割中閾值分割法比較常用,主要是通過比較目標與背景的差異,通過設置不同的閾值把圖像分為多個類型,從而實現目標與背景的分離。過程如圖1所示。
圖1 吃水線檢測過程圖
對于閾值分割:檢測圖像中每個像素點的像素值大小,判斷其是否滿足閾值要求,從而確定其屬于目標區域還是其他區域,屬于目標區域像素值置1,其他區域置0,得到一副二值圖像。用數學表達式來表示,則可設原始圖像f (x,y),T為閾值,閾值分割時則滿足下式:
(1)
灰度直方圖,是灰度圖像中不同像素點個數的統計圖,在圖像分割和圖像灰度變換等處理過程中起到重要的參考作用。從數學角度上看是一個與灰度值和該灰度值在圖像中出現的次數的數學函數,令x表示灰度值(一般0≤x≤255),則f (x)表示當x為特定灰度時,一幅圖像上灰度值為x的像素的數量,其中f (x)是一個離散的函數[2]。從圖形上來說,灰度直方圖就是一個平面圖,橫坐標表示不同的灰度級別,縱坐標表示具有各個灰度值或者灰度級別的像素在圖像中出現的次數或者概率。
如圖2所示,得到圖片經明度公式計算后的灰度圖片直方圖(依次為圖像1、圖像2、圖像3和圖像4)。
圖像1
圖像2
圖像3
圖像4
圖2 灰度直方圖
閾值法是最常見的區域分割算法,輪船吃水線圖像分為輪船的漆面區域和水面區域,圖片中從輪船的漆面到水面之間會發生像素的突變,在繪制灰度直方圖時,如圖2圖片會出現雙峰現象,如圖像1、圖像3、圖像4,(其中圖像1的三峰現象是由于漆面有黑色和紅色導致的),基于圖像固定閾值的圖像分割方法對于灰度直方圖為雙峰的輪船吃水線圖片吃水線檢測效果最佳,取波谷的像素范圍為固定閾值,能清楚地檢測出輪船吃水線。之后再進行霍夫直線檢測以確定吃水線在圖片中的位置,對于圖片,空間中的每一個像素點在圖片中是有固定坐標位置的,確定圖片中直線兩個點(x1,y1),(x2,y2),根據公式k=(y1-y2)/(x1-y2),b=y1-kx1,得到y=kx+b,確定直線函數方程。實驗結果如圖3所示。
圖3 閾值分割與霍夫直線檢測之后的照片
圖3所示的紅線是經霍夫檢測之后得到的直線,得到直線后程序會返回該直線首尾兩點的坐標,通過坐標確定直線的函數表達式以確定吃水線在圖片中的位置。結果如表1所示。
表1 直線函數方程
2 字符檢測
光學字符識別涉及檢測圖像上的文本內容,并將圖像轉換為計算機可以輕松理解的編碼文本。掃描和分析包含文本的圖像,以識別其中的字符。識別后,該字符將轉換為機器編碼的文本。
第一步字符目標檢測:為了確定目標在圖片中的位置,首先選擇吃水線圖像中的子圖像塊,然后通過目標檢測識別算法檢測圖像中的子圖像塊,字符和子圖像塊的位置確定,在這些子圖像塊中,由字符識別算法返回的類別概率很高。所以需要單獨訓練一個字符識別模型,此模型可以檢測圖像識別框中的9,但模型只能確定圖片中有9,無法確定其位置[3-6]。如圖4所示。
圖4 字符目標檢測
第二步字符定位:字符定位采用區域提議算法中的選擇搜索,使用顏色相似度原理,為圖像的每個通道計算25箱直方圖,將它們連接在一起,獲得25×3=75的最終描述符。任何兩個區域的顏色相似性通過直方圖相交距離來衡量。兩個區域的顏色相似度基于直方圖相交,可以計算為:
(2)
其中,是顏色描述中第
相的直方圖。
進行紋理相似度匹配之后,使用OpenCV和Python實現選擇性搜索,流程如圖5所示。
圖5 選擇性搜索流程圖
首先輸入圖片的路徑,使用選擇性搜索算法,通常有兩個選擇“快速”和“質量”,大多數情況下選擇快速方法。然后對圖片執行“選擇性搜索”,找到區域提議的數量,得到輸出圖像,對于輸出圖像,只需通過嵌套循環,以100個塊為單位循環區域建議(選擇性搜索將生成幾百到幾千個建議;將它們“分組”,以便更好地進行可視化),提取由“選擇性搜索”生成的每個區域提案周圍的邊界框坐標,并為每個區域提案繪制一個彩色矩形[7-8]。結果如圖6所示。
圖6 選擇性搜索結果
然后對邊界框進行回歸:給定預測的邊界框坐標(中心坐,標寬度,高度)及其對應的地面真實坐標
,將回歸器配置為了解兩中心之間的尺度不變轉換以及寬度和高度之間的對數尺度轉換,將p作為輸入。
(3)
其預測坐標示意圖如圖7所示。
圖7 預測的和真實的邊界框之間的轉換
應對這種變換的一個明顯的好處是,所有邊界框校正函數,都可以取
之間的任何值。他們的學習目標是:
(4)
標準回歸模型可以通過使用正則化使SSE損失最小化的方法來解決問題。
(5)
正則化項在這里很關鍵,R-CNN通過交叉驗證選擇最佳的。還值得注意的是,并非所有預測的邊界框都具有相應的真值框。例如,如果沒有重疊,則運行邊界框回歸是沒有意義的。在此,僅保留具有至少0.6 IoU的真實框的預測框,以訓練邊界框回歸模型。確定字符的邊框坐標。
第三步字符識別:字符的邊界框確定好了之后,使用區域提議CNN(R-CNN)進行對象檢測,R-CNN為深度前饋神經網絡,其包括三層,輸入層,隱藏層,和輸出層。如圖8所示。
圖8 R-CNN結構圖
在前饋網絡中,信息僅在前向方向上從輸入層穿過隱藏層(如果存在),再到輸出層。該網絡中沒有循環。前饋神經網絡有時被模糊地稱為多層感知器。第l層中的神經元數量n[l]用下式表示,l層中神經元的凈輸入、第l層中神經元的激活、第l層中神經元的權值分別可以用以下向量表示。
(6)
使用權重和輸入矢量來計算第l層中的神經元激活,公式如下。
(7)
在前饋神經網絡中,輸入信號在前向方向上從輸入層傳入隱藏層(如果存在),再到輸出層。該網絡中沒有反饋循環。前饋神經網絡有時被模糊地稱為多層感知器。過程如圖9所示。
圖9 R-CNN神經網絡處理數據流程
在R-CNN中,每個邊界框由圖像分類器進行獨立分類。有2000個區域建議,圖像分類器為每個區域,建議計算了一個特征圖。由于檢測速度的不理想,提出了一種稱為Fast R-CNN的方法,該方法大大加快了對象檢測的速度。想法是為整個圖像計算一個特征圖,而不是為2000個區域提案計算2000個特征圖。對于每個區域建議,感興趣區域(RoI)合并層從特征圖中提取固定長度的特征向量。然后將每個特征向量用于:將區域分為以下類別之一,如目標對象,背景和使用包圍盒回歸器提高原始包圍盒的精度[9]。
3 數據處理
水尺字符在圖片中呈一條直線數值排列,每個字符直接間隔為10cm且每個字符的高度為10cm,在確定吃水線位置之后,可以確定字符下端與吃水線直接的位置距離。在圖像中假定字符高度為L1,圖片中吃水線距離水線最近的字符下端位置為L2,字符讀數為L,則吃水線讀數為X=L-0.1L2/L1。如圖10所示。
圖10 吃水深度計算示意圖
通過吃水線函數方程,和字符邊框坐標可確定字符到吃水線的距離,取字符下邊框中點,計算該點到吃水線直線函數方程的距離L2,通過Fast R-CNN前饋神經網絡訓練SVHN數據集,采用PyTorch的深度學習框架。其中PyTorch是針對使用GPU和CPU進行深度學習的優化張量庫,可替代NumPy,并且可使用GPU和其他加速器功能,自帶自動微分庫,對實現神經網絡有很大作用。SVHN數據集是用于開發機器學習和對象識別算法的真實圖像數據集,包含所有的印刷體數字,且剪裁較小。本文用SVHN數據集訓練Fast R-CNN前饋神經網絡模型。使用具有6個隱藏層的神經網絡[10-13]。
激活Fast R-CNN前饋神經網之后,模型針對分類和本地化的任務進行了損失的優化,總體損失函數為:
(8)
其中:
(9)
在將模型進行損失平滑之后,使用PyTorch框架實現Fast R-CNN。首先訓練10個較低的學習效率結果,如圖11所示。
圖11 初始訓練結果
準確度大約為11%,準確度較低,這是隨機初始化模型的期望結果,隨著最優學習率速率范圍的擴大,即采用非線性ReLU函數,初始化模型之后首先采用非線性ReLU函數激活神經網絡,ReLU是深度神經網絡中非常流行的激活函數[14],其定義如下。
(10)
盡管它看起來像線性函數,但其確實是非線性函數,其圖像和導數圖像如圖12所示。
圖12 ReLU圖像與其導數圖像
在添加非線性函數ReLUs之后,以學習率1e-1進行訓練,進一步提高準確性。結果如圖13所示。
圖13 最終訓練結果
損失和準確度的變換如圖14所示,準確率為96%左右,損失下降到0.25左右,滿足準確率不低于95%的要求。
圖14 準確度和損失曲線
輸入第二部分中的四幅圖像,確定吃水線位置之后,檢測水尺字符數值,對比人工檢測結果與系統識別結果如表2所示,偏差率為0.3%左右。
表2 檢測結果對比
4 結論
為解決在吃水線計重時人工觀測的主觀性問題,采用基于圖像處理的輪船吃水線計量方法,采集吃水線位置水尺圖像,通過固定閾值分割和霍夫直線檢測的方法確定吃水在圖像中的位置(吃水線的函數關系),基于R-CNN前饋神經網絡并利用PyTorch框架的深度學習算法,識別水尺字符,使字符的識別率達到了96%,最終確定輪船的吃水深度,偏差率僅0.3%左右,完全達到行業標準。
參考文獻
[1] SN/T3023.2-2012,進出口商品重量鑒定規程 第2部分:水尺計重[S].
[2] 朱學海,羅隕飛.基于圖像處理與深度學習算法的船舶水尺智能讀數分析與研究[J].檢驗檢疫學刊,2020,30(3):102-105,111.
[3] 石宏華.視頻圖像在水庫水位檢測中的應用[D].蘇州:蘇州大學,2017.
[4] 謝懿.利用視覺圖像的吃水線檢測報警系統研究[J].艦船科學技術,2019,41(18):52-54.
[5] 薛銀濤.基于卷積神經網絡的船舶吃水線檢測算法[D].秦皇島:燕山大學,2019.
[6] 方志祥,余紅楚,黃守倩.海洋運輸網絡研究進展與趨勢探討[J].地球信息科學學報,2018,20(5):554-563.
[7] 李偉,張長勝,馮廣,等.基于圖像處理的指針式表盤自動讀取系統設計[J].電子科技,2018,31(6):24-26,35.
[8] 謝懿.利用視覺圖像的吃水線檢測報警系統研究[J].艦船科學技術,2019,41(18):52-54.
[10] 奚之貴,楊其華,應劉巍.基于Faster-RCNN的物流包裹圖像識別研究[J].科技通報,2021,37(1):56-59,64.
[11] 閆新慶,楊喻涵,陸桂明.基于改進Faster-RCNN的目標檢測算法研究[J].中國新通信,2021,23(1):46-48.
[12] 劉靖鈺,劉德兒,楊鵬,等.基于CNN網絡的帶遮擋車牌識別[J].測控技術,2021,40(2):53-57,63.
[13] 李逸,王晗,王瑞洲,等.基于圖像處理的細指針表盤識別方法研究[J].計算機測量與控制,2019,27(9):272-277.
[14] 蒼曉笛.基于改進shift算法的圖像識別系統研究與設計[J].自動化應用,2020,(5):60-61.
Research and Implementation of Ship Waterline Weighing System Based on Image Processing
XIONG Lukang1,YU Sheng2
(1.China Helicopter Research and Development Institute, Jingdezhen Jiangxi 333001;
2.Military Representative Office of Wuhan Bureau of Haizhuang in Nanchang, Nanchang Jiangxi 333000)
Abstract:Observing the waterline of the ship is an important part of the weight measurement of the ship, in manual observation, the weight of the waterline is greatly affected by human subjective factors and involves multiple interests. This paper uses image threshold segmentation and Hough line detection to determine the position of the waterline in the image, and proposes a deep learning algorithm based on the R-CNN feedforward neural network and using the PyTorch framework to recognize water gauge characters and finally determine the draught of the ship, Combined with other parameters of the ship, and then determine the load capacity of the ship. The deviation rate is only about 0.3%, which is conducive to protecting the interests of all parties in the ship.
Key words:waterline weighing;Hough line detection;PyTorch framework;deep learning