一种改进的高光谱图像CEM目标检测算法
一種改進的高光譜圖像CEM目標檢測算法
人工智能技術與咨詢?
來源:《?應用物理》?,作者付銅銅等
關鍵詞:?高光譜圖像;光譜重排;CEM算法;目標檢測;?
摘要:?約束能量最小化(Constrained Energy Minimization, CEM)目標檢測算法廣泛應用于高光譜目標檢測中。本文在分析CEM算法的推導過程后,發現圖像像元的選擇,可以改善自相關系數,因此提出一種改進的CEM目標檢測算法。該方法首先對高光譜數據集進行光譜重排、一階微分,增加目標與背景的差異性;計算目標光譜與數據集中光譜點的相似度,求取CEM算法的自相關矩陣時去除與目標相似度高的像元,減少自相關矩陣對目標的抑制。為進一步抑制背景,增加算法的普適性,加入對數算子。最后對合成高光譜數據和真實高光譜數據進行試驗,結果表明,與傳統算法相比,提出的算法可以對偽裝目標進行有效識別,而且對小目標和大面積目標檢測都具有適用性。
1. 引言
高光譜遙感技術獲得物質連續的光譜曲線,具有“光譜合一”的特點 [1] ,被列為遙感技術在20世紀三個最顯著的進展之一 [2] [3] 。高光譜技術廣泛應用于目標檢測。根據先驗經驗是否可知,目標檢測方法可分為有監督檢測和無監督檢測。無監督目標檢測中經典算法為RX算法。文獻 [4] 在RX中加入核函數提出一種非線性的異常目標檢測算法:KRX (Kernel RX, KRX)算法。有監督目標檢測中經典算法為CEM算法和自適應余弦一致性估計(Adaptive cosine Consistency Estimation, ACE)算法。文獻 [5] 提出一種加權ACE算法。文獻 [6] 提出一種基于雙時間段檢測的CEM算法。本文通過研究CEM算法,通過改善自相關矩陣及加入對數算子,提出一種不僅適用于大面積目標而且適用于小目標的改進的CEM (Modified Constrained Energy Minimization, MCEM)算法。
2. CEM算法
3. 改進的CEM算法
分析CEM算子可知,影響檢測結果的量只有兩個:目標先驗光譜適量?dd?和自相關矩陣?RR?,當給定?dd?后,自相關矩陣?RR?的準確度直接影響算法的精確度。研究CEM算子的推導過程的兩個約束條件可知,?RR?是為了限制背景的輸出,它由背景像元光譜求出。然而CEM算子在計算?RR?時把目標也計入其中,從而導致算子對目標的抑制。如果把疑似目標剝離?RR?的計算,那么我們就能得到更加精確有效的檢測結果。在確定疑似目標過程中,往往會把非目標當做目標,算子對這些像元就會有一定的增強。為了抑制這些像元,我們加入對數算子,對背景進行進一步抑制。至此,本文提出一種改進后的CEM算法:MCEM算法。步驟如下:
4. 試驗及結果分析
將提出的MCEM算法與CEM算法、ACE算法和RX算法進行比較,來驗證提出算法的優越性。實驗中所用高光譜數據來自美國RIT (Rochester Institute of Technology, RIT)大學的高光譜目標檢測項目。高光譜圖像大小為280 *800,包含126個波段,光譜范圍為400~2500 nm。高光譜圖像全景如圖2所示。
4.1. 成高光譜試驗
截取圖2中右下角200 *200區域的綠色森林區作為背景,如圖3所示。數據集中存在一白色色汽車標準光譜。白色汽車如圖4所示。我們選取幾處綠色區域的光譜求取平均值,作為綠色背景光譜。我們把背景光譜和汽車標準光譜按一定的比例線性混合,并加入噪聲作為偽裝目標。偽裝目標光譜合成公式如下:
car為汽車的標準光譜,bac為背景光譜,sa為噪聲,通常為高斯白噪聲。此處我們取n = 6。目標植入坐標分別為(50, 50)、(50, 100)、(50, 150)、(100, 50)、(100, 100)、(100, 150)、(150, 50)、(150, 100)、(150, 150)。背景光譜、汽車標準光譜和偽裝目標光譜如圖5所示。
Figure 6. Test results of four algorithms
圖6. 四種算法的檢測結果
相比接受器操作特性(Receiver Operating Characteristic, ROC)曲線來說,ROC曲線下面積(Area Under roc Curve, AUC)值能更好地衡量算法的性能。AUC值越大,表示算法檢測效率越高。AUC值可以更好地定性顯示算法檢測能力大小。為更好地定量分析算法的優劣性,我們使用AUC值和算法運行時間來評判算法的優劣性。
表1為圖6對應算法檢測結果的AUC值和算法運行時間。算法的AUC值與圖6檢測結果一致,四種算法的檢測效果由好到壞依次為:MCEM算法、CEM算法、ACE算法和RX算法。MCEM算法結果明顯優于CEM算法,雖然MCEM算法需要更多時間,但MCEM算法能有效地抑制背景,消耗一定的時間從而提高檢測精度是有意義的。
| RX算法 | CEM算法 | ACE算法 | MCEM算法 | |
| AUC | 0.999974942 | 0.999974981 | 0.999974968 | 0.999974986 |
| 運行時間 | 0.933461 | 1.271415 | 1.462738 | 1.716750 |
Table 1. Comparisons of algorithmic performance
表1. 算法性能對比圖
4.2. 真實高光譜試驗
Figure 8. The yellow fabric target
圖8. 黃色織物目標
為驗證算法的有效性,分別使用ACE、CEM、未加對數算子的MCEM和MCEM算法對圖像進行目標檢測。目標檢測結果如圖9所示。
由圖9可以看出,ACE算法可以對背景進行有效地抑制,但是目標附近的像元也被極大地增強,因此ACE算法識別出的目標點比實際的目標點面積大。CEM算法可以有效地識別目標,并有效地限制背景輸出,但是有些背景像元點輸出明顯高于周圍像元輸出。而未加對數算子的MCEM算法檢測結果與CEM算法檢測結果,幾乎一模一樣。說明不增加對數算子的MCEM算法對單個目標的識別效果與CEM算法相比,沒有得到有效地改善。而MCEM算法檢測結果對CEM中的突出點也有較好地抑制。與傳統算法相比,MCEM算法對單個目標的檢測也有不錯的性能。在該實驗中,各算法的AUC值和運行時間如表2所示。
Figure 9. Target detection results of algorithms
圖9. 各算法目標檢測結果圖
| ACE算法 | CEM算法 | 未加對數算子的MCEM算法 | MCEM算法 | |
| AUC | 0.9978 | 0.9984 | 0.9984 | 0.9986 |
| 運行時間 | 0.365457 | 0.304341 | 0.342657 | 0.368282 |
Table 2. Comparisons of algorithmic performance
表2. 算法性能對比圖
由表2可知,CEM算法運行時間少于ACE算法,而CEM算法AUC值大于ACE算法的AUC值,可看出在該實驗中,CEM算法優于ACE算法。未加對數算子的MCEM算法AUC值與CEM算法AUC值相同,但其運行時間明顯高于CEM算法,故未加對數算子的MCEM算法對小目標的識別效果比CEM算法差。MCEM算法的運行時間大于CEM算法運行時間,但MCEM算法AUC值高于CEM算法的AUC值,即MCEM算法消耗更多的時間來保證算法的檢出率,同時降低算法的虛警率,這對我們來說是可以接受的。
5. 結論
本文通過光譜重排、一階微分增大光譜的差異性,尋找疑似目標,從而改善自相關矩陣,并通過加入對數算子抑制背景,極大提高了目標檢測準確性,同時也保證了算法對大面積目標和小目標檢測的實用性。但該算法還有一定的局限性:一、該算法需要以目標光譜為基準對數據進行重排,因此對目標光譜的要求較高,然而目標光譜有時很難得到。二、該算法通過光譜重排、一階微分增大相似光譜的差異性,當通過上述步驟后,還是無法降低目標光譜和背景光譜的相似度時,該算法效果不明顯。
我們的服務類型
公開課程
人工智能、大數據、嵌入式? ? ? ? ? ? ??? ?? ?
內訓課程
普通內訓、定制內訓? ? ? ? ? ? ? ?? ??? ? ??
項目咨詢
技術路線設計、算法設計與實現(圖像處理、自然語言處理、語音識別)
總結
以上是生活随笔為你收集整理的一种改进的高光谱图像CEM目标检测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java面试知识点:集合、Set、泛型、
- 下一篇: 目标检测矩形框与polygon数据增加-