董建江,田 野,張建興,欒振東*,杜增豐*
1. 中國海洋大學信息科學與工程學部物理與光電工程學院,山東 青島 266100 2. 中國科學院海洋研究所,中國科學院海洋地質與環(huán)境重點實驗室&深海極端環(huán)境與生命過程研究中心,中國科學院海洋大科學研究中心,山東 青島 266071
近年來近海生態(tài)系統(tǒng)受到全球變化和人類活動的多重影響,出現(xiàn)生境退化、資源衰退、生物多樣性降低等問題。海洋牧場建設是實現(xiàn)生境恢復和資源增殖的重要手段,是漁業(yè)產業(yè)結構轉型升級的重要抓手。海洋牧場的生物豐度統(tǒng)計等工作,以往通過人工解決,效率低、周期長、成本大且準確率不高。目前,已經有不少海洋牧場企業(yè)利用水下攝像系統(tǒng)開始視頻數據的收集和利用,實時信息量巨大,難以利用人工方法進行生物群落數據的提取,圖像分析技術與機器學習等在海洋牧場生物資源監(jiān)測研究中顯得尤為重要[1]。在水產養(yǎng)殖中應用人工智能、機器視覺技術及其他傳感器技術,可以實時的監(jiān)測生態(tài)環(huán)境等,并結合深度學習、隨機森林(random forest,RF)等算法實現(xiàn)機器視覺的識別分類檢測,對海洋生物進行分類識別統(tǒng)一分析,深入挖掘養(yǎng)殖過程數據,提高工作效率和決策可靠性。
水下目標探測所使用傳統(tǒng)的紅-綠-藍(RGB)相機取得圖像的技術越來越成熟。傳統(tǒng)的圖像處理方法[2-3]和基于機器學習、深度學習的目標檢測算法,如基于區(qū)域的快速卷積神經網絡(faster R-CNN)[3],You Only Look Once(YOLO)[4]等已廣泛應用于水下目標檢測。在理想的水下成像環(huán)境中,檢測速度和檢測結果均優(yōu)于傳統(tǒng)方法,各種算法的精度都能達到較為理想的水平。然而,傳統(tǒng)的RGB圖像檢測技術存在一系列問題。當水下成像環(huán)境較差且海洋動物具有保護色彩機制時,很難從復雜的背景中有效地檢測和識別實驗目標[5-6]。
高光譜成像技術可以提供比RGB圖像更高的光譜分辨率,可從紫外、可見光、近紅外到中紅外波段,提供豐富的光譜信息。高光譜數據一般由數百個相鄰的窄光譜波段獲取,可以解決傳統(tǒng)RGB圖像檢測技術所遇到的問題,也使其具有較好的目標識別能力和相似目標識別能力。經典的高光譜目標檢測算法包括由Reed和Yu開發(fā)的異常檢測器RXD算法[7]、核RXD (KRXD)算法[8]、正交子空間投影(OSP)算法[9]和約束能量最小化(CEM)算法[10]。Mohite等[11]使用高光譜數據檢測葡萄上的農藥殘留,比較了XGBoost、RF、SVM和人工神經網絡(ANN)四種分類器。此外,研究了LASSO和Elastic Net特征選擇的效用。結果表明,當同時使用LASSO和Elastic Net選擇的波段時,RF獲得了最準確的分類模型。目前,文獻中關于高光譜水下目標檢測與分類的研究較少。
隨機森林(RF)算法已成功應用于一系列高維數據分類研究,其中包括高光譜數據分析[12]。RF是一個bagging(即bootstrap聚合)集成過程,其中分類樹是從訓練數據中獲得的隨機樣本中生長出來的[13]。RF使用套袋和隨機變量選擇在集合中構建決策樹[14]。作為集成分類器,RF算法擁有幾個優(yōu)點:(1)該算法結合了特征之間的交互作用;(2)在計算上比裝袋或增壓更有效;(3)不容易出現(xiàn)過擬合現(xiàn)象;(4)提供了可變強度估計和內部誤差估計[13]。
本研究的目的是:(1)利用水下高光譜數據和三種RF算法建立模型,在水下環(huán)境中對五種海洋牧場常見的底棲動物進行分類識別;(2)評估RF、主成分分析的隨機森林(principal component analysis-random forest,PCA-RF)和遞歸特征消除的隨機森林(recursive feature elimination-random forest,RFE-RF)三種算法在水下高光譜數據分類分析中的效用,選擇可能產生最佳分類精度的波段子集。(3)比較RF、PCA-RF與RFE-RF算法的分類性能,測試不同特征選擇算法選擇的波段組合是否能夠提高最終的分類精度。
所使用的水下目標物的高光譜數據由中國科學院海洋研究所研發(fā)的水下推掃式高光譜成像儀獲得,采用標準鹵素燈(400~1 000 nm)作為水下主動照明光源,分光模組(Imspector V10,江蘇雙利合譜科技有限公司,中國)入射狹縫為30 μm,CCD(ICX,SONY,日本)像素數為1 392×1 040,掃描視場角為22°,通道數分1 440、720、360、176四檔,光譜分辨率和空間分辨率由通道數決定。整機兼容靜態(tài)定點掃描和動態(tài)巡航掃描,可坐底或者搭載無人艇或者水下機器人進行工作。
選用5種海洋牧場常見的經濟動物(蝦夷扇貝、櫛孔扇貝、脈紅螺、皺紋盤鮑、仿刺參)作為目標物,使用研發(fā)的水下推掃式高光譜成像儀,選用靜態(tài)定點式掃描,獲取以上5種目標物的高光譜數據。
實驗數據由收集的7張高光譜圖像提取。經過預處理,得到360個反射譜波段。在此提供了5張圖片的真實情況如圖1所示。為了獲得、訓練和評價分類模型,70%的光譜數據用于分類算法訓練集,訓練集數據來自圖1的高光譜圖像的反射譜數據;30%的光譜數據作為測試集用于分類模型評估,測試集數據來自額外的2張高光譜圖像的反射譜數據。
圖1 本研究所選擇的訓練集光譜數據由五張高光譜圖像(a)—(e)提取,目標為五種樣品,光譜分辨率2.8 nm;(f)為不同顏色標記的五種樣品,分別為仿刺參(紅色),蝦夷扇貝(綠色),脈紅螺(藍色),櫛孔扇貝(黃色),皺紋盤鮑(青色),樣品的標記與光譜提取及預處理由ENVI軟件完成Fig.1 The spectral data of the selected training set is extracted from five hyperspectral images (a)—(e),showing five target samples with a spectral resolution of 2.8 nm;(f) Five samples with different color markings,namely,imitation spiny ginseng (red),scallop (green),veined red snail (blue),ctenophore (yellow),and wrinkled disc abalone (cyan). The sample labeling,spectral extraction and pre-processing are done using ENVI software
所選擇的高光譜圖像的目標樣品有五種,分別為蝦夷扇貝、櫛孔扇貝、脈紅螺、皺紋盤鮑、仿刺參。在將他們進行分類識別之前,每個目標都打上相應的數字與顏色標簽。每種樣品在其表面隨機點與隨機區(qū)域全覆蓋共提取35條光譜,每張高光譜圖像提取175條光譜,五張高光譜圖像總共提取875條光譜構建為訓練集。測試集數據則是用另外兩張拍攝位置不同但其他實驗條件相同的高光譜圖像提取,總共提取375條光譜。
五種底棲動物樣品的數字標簽分別為:(1)仿刺參、(2)蝦夷扇貝、(3)脈紅螺、(4)櫛孔扇貝、(5)皺紋盤鮑。通過對五種樣品進行數字標簽標識,可以在隨機森林算法分類過程中用數字標簽輸出分類結果,提高目標識別便利性。
本研究的重點是建立對水下目標底棲動物的高光譜數據的隨機森林分類模型。實驗采集了363.87~1 047.92 nm光譜范圍內的數據。所收集的光譜曲線橫坐標為波長,縱坐標為反射譜強度,將收集到的光譜進行歸一化處理,圖2為五樣品的歸一化光譜曲線,光譜曲線顏色與樣品的顏色標簽相對應,分別為:仿刺參(紅色)、蝦夷扇貝(綠色)、脈紅螺(藍色)、櫛孔扇貝(黃色)、皺紋盤鮑(青色)。由于水體對光的吸收作用,選取了3 63.87與830.00 nm波長區(qū)間內的光譜。
圖2 五種樣品的歸一化反射譜光譜曲線Fig.2 Normalized reflectance spectral curves of the five samples
1.2.1 隨機森林(RF)
RF方法流程圖如圖3所示。
圖3 基于RF算法的高光譜數據分類方法流程圖Fig.3 Flowchart of hyperspectral data classification method based on RF algorithm
RF算法是一個決策樹的集合。由于其簡單、精度好,已在多個高光譜分類工作中使用[13]。決策樹是輸入數據的一種遞歸分割方法[15]。從根節(jié)點(樹的第一級)到葉節(jié)點進行分割,減少每次分割時的熵。葉節(jié)點是樹的最后一層也是熵最小的地方。其目的是在葉子中只保留同一類的樣品。從根節(jié)點到葉節(jié)點的路徑上有幾個分離節(jié)點。這些包括基于可用特征和應用于所選特征的閾值的決策規(guī)則。
盡管決策樹非??焖俸秃唵?但它們對噪聲非常敏感,經常過擬合訓練樣本。正因為如此,決策樹可以被歸類為弱學習者。為了克服這些缺點,將決策樹集成到一個強學習器中。在RF算法中,森林中的樹必須是不相關的,每棵樹都是唯一的,因此應用了隨機子空間(feature bagging)和bootstrap aggregating (bagging)技術。
Breiman在2001年提出了Bootstrap aggregating算法,它包括對訓練數據集樣本子集的隨機選擇和替換[15]。Ho在1995年提出隨機子空間由每個節(jié)點的所有輸入特征中隨機選擇的特征子集組成,并從所選擇的新特征子集中考慮在下一層產生較小熵的分割節(jié)點的特征[16]。
如前所述,這兩種技術在不增加趨勢的情況下使模型方差最小化。因此,當單個決策樹對噪聲敏感時,對于樹的集合的平均預測不敏感,前提是這些樹是不相關的。在完成森林后,每棵樹都為一個類投了一票,標簽由多數投票來定義。該算法的主要優(yōu)點是能很好地處理噪聲、可調參數少、計算代價低。
對于這項工作,RF算法使用了python軟件中的scikit-learn包的RandomForestClassifier庫實現(xiàn)。樹的數量設置為500,深度設置為8。這些值是在一個調優(yōu)過程之后定義的。使用RF進行5倍交叉驗證模型參數訓練,通過這個過程輸出最優(yōu)參數,超過最優(yōu)參數后整體精度也不會再顯著提高,因此設定了這些參數值。
在RF訓練過程中,三分之一不用于種樹的樣本(“out of bag”,或稱為OOB)用于計算:(1)OOB誤差,它提供了分類性能的內部度量;(2)變量重要性,這是基于準確性的平均下降或基尼指數[14]。
RF的一個有用的副產物是變量重要性,它可用于特征排序。因此,RF的變量重要性揭示了相關波段對模型分類的貢獻程度[15]。本研究中使用基尼系數重要性或排列重要性作為波段重要性的度量,以此選擇特征波段。基尼系數重要性是用森林中樹木數量歸一化的分裂變量的基尼系數雜質減少量的總和計算。
利用OOB觀測值計算分類精度平均下降時的變量重要性。它是通過測量當OOB觀測數據與原始觀測數據隨機排列時預測精度的變化來計算的。然后對所有樹的預測精度差取平均值,計算排列重要性值[17]。
1.2.2 基于主成分分析的隨機森林(PCA-RF)
PCA-RF算法流程如圖4所示。
圖4 基于PCA-RF算法的高光譜數據分類流程圖Fig.4 Flow chart of hyperspectral data classification based on PCA-RF algorithm
主成分分析(PCA)是常用的特征降維方法,其思想是求解一個正交線性變換,使原始數據可以用少數幾個正交方向線性表示,同時使得原始數據的信息量損失最小。然而,PCA變換使原始數據的物理意義發(fā)生了改變,而且,當波段間的相關性很弱時,PCA方法的效率會大大下降。本工作使用PCA對高光譜數據進行降維,提取隱藏在數據中的主成分,壓縮特征空間,再對主成分數據進行光譜特征提取,根據主成分數對模型的特征貢獻度分析,算法最終采用6個主成分分量進行特征提取。然后將PCA降維后的結果輸入RF分類器,得到分類準確度。利用python軟件中的sklearn.decomposition包的PCA庫實現(xiàn)數據的降維。
1.2.3 基于遞歸特征消除的隨機森林(RFE-RF)
圖5為RFE-RF算法的流程圖。
圖5 基于RFE-RF算法的高光譜數據特征選擇分類方法流程圖Fig.5 Flowchart of feature selection classification method for hyperspectral data based on RFE-RF algorithm
對于三種算法,70%的光譜數據作為訓練數據集,30%的光譜數據則是作為獨立的測試數據集,以提供模型精度的獨立估計。分類精度首先使用RF中的OOB誤差估計和混淆矩陣來評估,OOB誤差估計公式可參考Simone Vincenzi團隊的工作[19]。
實驗數據共360個波段,從RF算法運算得到的基于變量重要性的波段選擇結果來看(如圖6),準確度排名最高的前二十個波段組合為:367.48、371.08、471.22、365.67、412.75、374.70、372.89、458.38、445.57、451.06、456.55、454.72、378.31、438.26、380.12、407.30、469.39、449.23、443.74和473.06 nm,該順序按照變量重要性由高到低排列。
圖6 五種樣品的光譜波段變量重要性分布Fig.6 Importance distribution of spectral band variables for five samples
通過RF的變量重要性排序,篩選出排名較高,對模型貢獻度高的最佳波段數所對應的反射譜強度數據,再將RF運算結果中排名靠前的最佳特征波段數據輸入分類器中,通過優(yōu)化參數,得到分類準確度。通過對訓練集與測試集的劃分訓練,以及OOB誤差估計(圖7),優(yōu)化后的n_estimators值為400;max_depth值為8。
圖7 五種樣品的OOB誤差估計n_estimators為400時,OOB誤差為0.004 6Fig.7 OOB error estimation for five samplesOOB error is 0.004 6 when n_estimators=400
將數據的分類結果輸出混淆矩陣(圖8),可以看到五種樣品的識別情況。第三種(脈紅螺)樣品識別精度最低,為64%;第一種(仿刺參)與第四種(櫛孔扇貝)的識別精度最高,為100%;第二種(蝦夷扇貝)與第五種(皺紋盤鮑)的識別精度分別為91%與96%,總體分類精度較高。因為仿刺參與櫛孔扇貝的反射譜特征與其他四種樣品有明顯差異,所以兩種樣品更容易被識別,分類精度最高。實驗所提取的脈紅螺反射譜光譜曲線趨勢與光譜特征與其他樣品在某些波段部分相似,測試集中的75個脈紅螺樣品有20個被錯誤識別,因此識別精度最低。通過識別結果可知,脈紅螺有36%的幾率被識別為皺紋盤鮑。RF分類精度為90.13%,在n_estimators為400情況下OOB誤差為0.004 6,kappa系數為0.876 7,模型穩(wěn)定度優(yōu)異。
圖8 (a)根據測試集樣品數量輸出混淆矩陣;(b)根據樣品識別精度輸出混淆矩陣Fig.8 (a) Output confusion matrix based on the number of samples in the test set;(b) Output confusion matrix based on sample identification accuracy
主成分分析可以將數據從N維降低到M維,此時需要找到M個向量用于投影原始數據,使投影誤差(投影距離)最小。因此,可以對原始數據進行主成分分析,這樣就可以使用具有較少維度且不相關的數據來取代原始的高維數據,然后用變換后的數據進行建模。對經歸一化處理的光譜數據進行主成分分析降維,得到帕累托圖(Pareto chart)。通過帕累托圖可以推斷,當保留6個主成分時,特征貢獻率達到了99.92%,因此計算中采用前6個主成分。圖9給出了數據的PCA散點圖分布。將最佳解釋度選出的主成分數輸入PCA*RF分類器中,得到降維后的五種樣品的光譜分類精度。PCA-RF分類精度為95.20%,Explained variance(解釋度)0.999 2,kappa系數0.843 3,模型穩(wěn)定度優(yōu)異。
圖9 五種樣品高光譜數據的PCA主成分分布散點圖,主成分數設定為6Fig.9 Scatter plot of PCA principal component distribution for hyperspectral data of five samples with the first 6 principal components
圖10為五種樣品的高光譜數據在RFE-RF模型運行過程中的RFECV精度隨篩選特征數的變化。由RFE算法選擇了最佳波段子集,用于五種樣品的分類,如表1,提供了有關所選波段的細節(jié)。RFE選擇的波段范圍為400~1 000 nm。
表1 五種樣品的高光譜數據通過RFE所篩選的特征波段Table 1 Characteristic bands filtered by RFE for the hyperspectral data of the five samples
圖10 五種樣品的高光譜數據在RFE-RF模型中RFECV精度隨篩選特征數的變化Fig.10 Variation of RFECV accuracy with the number of screening features for RFE-RF model based on hyperspectral data of five samples
采用RF算法和所有波段進行底棲動物的分類,優(yōu)化的n_estimators和max_depth值也用于RFE。從表1可以看出,使用RFE算法對五種樣品進行分類得到了最佳的總體分類結果。RFE總共選擇了83個波段??傮w而言,RFE顯著降低了數據維度。與使用RF和所有波段相比,RFE-RF提供了更好的分類結果(分類精度為98.74%,kappa系數0.876 6)。
RFE算法已經在一些高光譜研究中使用[20],實現(xiàn)了顯著的維數下降,同時具有高分類性能。在本研究中,RFE實現(xiàn)了波段子集的顯著減少。此外,在本研究的實驗模型下,RFE-RF算法的準確度優(yōu)于RF與PCA-RF算法,產生了更小的子集和更好的分類精度。
本研究評估了高光譜數據在識別水下底棲動物方面的效用。更具體地說,我們評估了RF的三種使用方法,以獲得一個最佳主成分數或最佳波段子集,可用于區(qū)分不同水下樣品。RF包裝框架通過識別最優(yōu)波段子集顯著降低了原始數據集的維數,從而簡化了建模過程,最終提高了分類性能。本研究的總體結果表明,使用的三種RF算法令維數顯著下降,PCA-RF與RFE-RF都提高了分類精度,如表2。
表2 三種方法分類識別精度對比Table 2 Comparison of classification recognition accuracies of the three methods
旨在實現(xiàn)對海洋牧場水下底棲動物的原位識別,同時評估RF、PCA-RF、RFE-RF特征選擇算法在高光譜數據分析中的效用。運用高光譜手段,收集五種底棲動物樣品的高光譜圖像并提取樣品反射光譜,數據經過光譜歸一化預處理后用三種不同特征選擇方式的隨機森林算法進行分類,得到的分類精度分別為:RF 90.13%;PCA-RF 95.20%;RFE-RF 98.74%。結果表明,在本研究的水下分類模型中,RFE-RF算法的分類精度優(yōu)于RF與PCA-RF算法。此外,與使用RF的所有波段相比,RFE-RF顯著降低了維數,并提高了分類精度。RFE-RF模型體現(xiàn)了隨機森林運用在水下高光譜數據分類研究的可行性。