施亮,邢俊鑫,蔡艷婧
(1.香港理工大學 工程學院,香港 999077;2.江蘇省物聯網與視覺智能處理工程技術研發中心,江蘇 南通 226011)
船舶在航行過程中,附近環境狀況,特別是海上其他船舶、島嶼和礁石等各種目標通常是駕駛人員最關注的問題。準確分類海上目標,能有效提升駕駛人員對本船的控制能力,以及對本船附近環境的感知能力,不僅可以發現及追蹤其他船舶,還可以避開危險障礙物,確保船舶安全穩定航行。激光雷達具有快速獲取高精度點云數據的能力,且不受天氣和季節等因素的影響,是采集海上環境信息的有效手段,研究船舶激光雷達點云數據分類方法已成為眾多學者關注的熱點課題。
雷相達等利用整合遷移學習獲取包含強度值和高程等信息的點云特征圖,將其當作全卷積網絡的輸入,分類船舶激光雷達點云數據,該方法對單一和多目標均具有較好的分類性能,但創建分類模型時的參數優化過程較為復雜。任永梅等使用密度網格法將點云數據轉換為體素網格圖像,將其作為三維卷積神經網絡的輸入,通過特征提取和網絡訓練獲得船舶激光雷達點云數據分類結果,該方法能避免不均勻訓練樣本對分類結果的影響,但參數設定主觀性較強。為解決以上方法存在的不足,本文提出機器學習算法的船舶激光雷達點云數據分類方法,利用機器學習算法中學習速率快,且具有平衡誤差能力的隨機森林算法,分類船舶激光雷達點云數據。
使用多旋翼無人機搭載激光雷達系統,獲取船舶所處海洋環境的激光雷達點云數據,并將其運用形態學濾波算法進行處理,以區分出海洋點和海洋表面上的船舶以及礁石等非海洋點。形態學濾波算法由腐蝕、膨脹、開啟和閉合4 種運算組成。設置(,)代表船舶海洋環境激光雷達點云數據,(,)代表與點云數據尺寸和形狀均相關的結構元,若使用二維網格保存點云數據,其中行列 (,) 值與網格標號 (,)相對應,則腐蝕和膨脹2 種運算的定義分別如下式:

式中:結構元素的窗口用描述;原始點云數據中網格標號 (,) 的像素值用(,)描述;完成形態學運算后,點云數據中網格標號 (,)的 像素值用(,)描述。
結合以上2 個公式,可以得到開啟和閉合運算的定義:

船舶激光雷達點云數據濾波的過程如下:
1) 選取規模固定的結構元窗口,并設置點云高程閾值;
2) 采用開啟運算對船舶激光雷達點云數據進行濾波,利用腐蝕運算獲取窗口內各點的最小高程值,在此基礎上,運用膨脹運算獲取相應點的最大高程值;
3) 比較點云數據中各點的高程差,若其值超過設定閾值,則相應點為非海洋點,當完成全部點的判斷后,即可實現海洋與其表面物體的分離。
根據獲得的船舶激光雷達點云數據濾波結果,使用灰度共生矩陣提取其中非海洋點部分的紋理特征,具體過程描述如下:


2) 利用鄰近點集生成灰度共生矩陣。將船舶激光雷達非海洋點云數據的高程信息歸一化到 [0,]區間內,并結合上式創建灰度共生矩陣:


3) 船舶激光雷達非海洋點云數據紋理特征的計算。點云紋理特征主要包括同質度、不相似性和角二階矩,其中同質度用于反映紋理信息的清晰度,不相似性用于反映紋理信息的相似程度,角二階矩用于反映紋理信息的穩定性。描述3 種點云紋理特征的計算過程為:

針對船舶激光雷達非海洋點云數據中各點,分別計算0°,45°,90°和135°四個方向的3 種紋理特征,并進行平均值計算,所得結果即為提取的點云數據紋理特征。
將提取的船舶激光雷達非海洋點云數據紋理特征當作輸入樣本,將船舶、礁石、淺灘、海上養殖場、海草、島嶼、漁柵以及垃圾堆積物8 種海洋表面常見物體作為輸出,運用隨機森林算法對船舶激光雷達點云數據進行分類。
隨機森林由若干棵相互獨立的決策樹組成,并且這些決策樹可以并行構建。決策樹包含節點和有方向邊,其中節點分為葉節點和非葉子節點,兩者分別表示樣本的類別、判斷樣本類別的特征,各分支則代表輸出結果。在利用決策樹進行船舶激光雷達點云數據分類的過程中,以根節點為起點,依據非葉子節點表示的特征,搜索樣本中與之相匹配的特征,并依據輸出結果劃分樣本至相應分支的子節點,在此基礎上繼續移動到葉節點,樣本的類別即為葉節點所表示的類別。生成決策樹的關鍵環節為分裂特征選取,通常可以利用信息熵完成。假設船舶激光雷達非海洋點云數據紋理特征數據集用描述,則其信息熵的計算過程如下式:

式中:為數據集中包含的類別數,本文取8,即輸出的8 種海洋表面常見物體;p為數據集內類別的占比。由該式可得,數據集的信息熵與數據集內不同類別樣本占比的相似度具有正比關系。
設船舶激光雷達非海洋點云數據紋理特征數據集的分裂特征用描述,當完成分裂時,數據集的信息熵可轉化為下式:

式中:利用分裂特征將數據集進行劃分,所得份數用描述;第份數據集用R描述。
在分裂特征選取過程中,應將使數據集信息熵達到最小的特征,換言之,使數據集信息增益達到最大的特征選作分裂特征。數據集信息增益的計算過程如下式:

以下為運用隨機森林算法分類船舶激光雷達點云數據的具體過程:
1) 針對船舶激光雷達非海洋點云數據紋理特征構成的訓練樣本集,采用Bagging 算法從中抽取N個樣本當作訓練樣本子集,剩余樣本當作測試樣本子集。
2) 依據式(10)~式(12)所示過程,利用N個訓練樣本子集完成N個決策樹的構建。
3) 隨機從決策樹各節點的個特征中選擇N個待選特征,并從中選擇最優分裂特征以最大程度地分裂各決策樹,停止條件為節點內的訓練樣本具有相同的類別。
4) 隨機森林即N個決策樹構成的集合,利用該隨機森林對測試樣本子集進行分類,通過各決策樹的投票,將得票最多的類別作為船舶激光雷達點云數據分類結果。
選取范圍為875 m×695 m 的船舶航行海域當作實驗對象,海域內包含船舶、礁石和淺灘等目標,將激光雷達系統的回波次數設置為1~3 次,飛行高度設置為200~3 000 m,掃描角度和掃描頻率分別設置為0~60°、0~50 Hz,使用多旋翼無人機搭載該系統采集范圍海域的船舶激光雷達點云數據,將其運用本文方法依次實現濾波、紋理特征提取和分類處理。
本文方法采集的船舶激光雷達點云數據部分結果,用圖1 描述。從圖1 可以看出,本文方法采集的船舶激光雷達點云數據質量較高,可以清晰、完整地呈現船舶所處海域環境信息,因此表明,本文方法能為后續船舶激光雷達點云數據分類提供可靠的數據基礎。

圖1 船舶激光雷達點云數據部分結果Fig.1 Partial results of ship LIDAR point cloud data
隨機選取4 張艦船激光雷達點云數據,在不同結構元窗口大小下,利用Kappa 系數衡量本文方法對4 張點云數據的濾波效果,該指標的取值介于0~1 區間內,其值越接近于1,方法的濾波效果越優異,具體測試結果用表1 描述。分析表1 可以發現,隨著結構元窗口大小持續增加,經過本文方法的濾波處理后,4 張點云數據對應的Kappa 系數均呈現出先上升,后下降的趨勢,當結構元窗口為20 m 時,4 張點云數據對應的Kappa 系數均達到最大值,此時的濾波效果處于最高水平。因此表明,將結構元窗口設置為20 m,能獲得更理想的船舶激光雷達點云數據濾波性能。

表1 船舶激光雷達點云數據濾波Kappa 系數Tab.1 Filtering test results of ship LIDAR point cloud data
使用本文方法提取某船舶激光雷達點云數據中,船舶和漁柵2 種目標區域的紋理特征,所得結果用圖2描述。從圖2 可以看出,船舶目標區域的紋理特征值呈均勻分布,漁柵目標區域的紋理特征值呈現出中間高、兩邊低的分布趨勢,可表明本文方法能清晰呈現不同目標區域的點云數據特點,提取的紋理特征具有良好的可分性。

圖2 船舶激光雷達點云數據紋理特征提取結果Fig.2 Texture feature extraction results of ship LIDAR point cloud data
假設某船舶激光雷達點云數據中共包含4 個船舶、2 個海上養殖場和1 個垃圾堆積物,三者分別用實心三角形、正方形以及圓形表示,使用本文方法分類該點云數據,并分別以實線框、虛線框、加粗虛線框標記各目標的分類結果,具體用圖3 描述。從圖3可以看出,各標記框所標記的目標與其代表的目標類型完全一致,并且每個目標均被標記,因此表明本文方法可以全面、準確地分類船舶激光雷達點云數據。

圖3 船舶激光雷達點云數據分類結果Fig.3 Classification results of ship LIDAR point cloud data
為了全面掌握船舶所處海域的環境信息,從而保證船舶順利完成既定任務,提出了基于機器學習算法的船舶激光雷達點云數據分類方法,該方法使用多旋翼無人機搭載激光雷達系統,采集的海域環境點云數據質量較高,并且該方法具有較理想的點云數據濾波和紋理特征提取效果,同時能實現船舶激光雷達點云數據中多種目標的全面、準確分類,對提升船舶領域的探測水平具有重要意義。