HTML
-
为验证本算法的有效性和可靠性,本文中采用两组机载可见光/红外光成像光谱仪(airborne visible infrared imaging spectrometer, AVIRIS)真实高光谱数据进行仿真实验。仿真环境:CPU处理器为Intel Core i7-7700HQ,主频为2.80GHz,内存为8.00GB,软件为MATLAB R2017a。
-
数据1选取的是AVIRIS传感器拍摄的美国SanDiege海军机场的部分数据,波长范围为0.37μm~2.51μm,去除低信噪比和水蒸气吸收比较严重的波段,保留波段为189个。空间分辨率为3.5m,截取的区域大小为100pixel×100pixel,存在38个异常目标。数据2选取的是AVIRIS传感器拍摄的美国洛杉矶机场的数据,波长范围为0.37μm~2.51μm,去除低信噪比和水蒸气吸收比较严重的波段,保留波段为205个。空间分辨率为7.1m,截取的区域大小为100pixel×100pixel,存在2个异常目标。图 2和图 3分别为两组数据的目标分布图。
-
为验证本算法的可靠性与适用性,分别采用RX算法、LRX算法与SABPAD算法对两组数据进行仿真实验。图 4为3种算法对数据1的检测结果及对应的3维图像。图 5为3种算法对数据2的检测结果及对应的3维图像。
从以上两组数据的检测结果可以看出,3种算法都能识别出大部分异常目标,但RX算法检测出的异常目标大部分为背景,虚警率较高,LRX算法较大程度上降低了虚警率,检测结果与RX算法相比有较大的提升。SABPAD算法与LRX算法相比检测结果有所提升,降低了虚警率,提高了检测精度。
图 4和图 5中从定性的角度分析了检测结果,下面从定量的角度进行分析。算法检测到的异常目标数、目标像元数和虚警数是衡量算法性能的3个重要指标。对于数据1,设检测到的总的像元数为400,RX算法能检测到38个异常目标中的10个,检测到的目标像元数为25个,虚警数为375个。LRX算法能检测到32个异常目标,目标像元数为163个,虚警数为237个。SABPAD算法能检测到36个异常目标,目标像元数为188个,虚警数为212个。对于数据2,设检测到的总的像元数为100,RX算法能检测到2个异常目标,检测到的目标像元数为4个,虚警数为96个。LRX算法能检测到2个异常目标,目标像元数为6个,虚警数为94。SABPAD算法能检测到2个异常目标,目标像元数为7个,虚警数为93个。检测结果如表 1所示。
anomaly
target
numbertarget
pixel
numberfalse
alarm
numberdata 1 RX algorithm 10 25 375 LRX algorithm 32 163 237 SABPAD algorithm 36 188 212 data 2 RX algorithm 2 4 96 LRX algorithm 2 6 94 SABPAD algorithm 2 7 93 通过表 1不难发现:当目标数较多时,RX算法和LRX算法容易造成目标漏检,而SABPAD算法几乎可以将所有异常目标都检测出来。并且SABPAD算法虚警率更低,检测精度更高。采用接收机工作特性(receiver operating characteristic,ROC)曲线和曲线下面积(area under the curve, AUC)值衡量检测结果。ROC曲线反映了检测率随虚警率的变化关系,横坐标表示虚警率,纵坐标表示检测率,向左上方弯曲越多,则AUC值越大,算法检测结果越好,精度越高。ROC曲线越直,AUC值越小,算法检测结果越差,精度越低。图 6为3种算法在两组数据上的ROC曲线图。3种算法AUC值和运行时间如表 2所示。
RX algorithm LRX algorithm SABPAD algorithm AUC time/s AUC time/s AUC time/s data 1 0.7068 0.4522 0.7695 49.7660 0.8012 62.3915 data 2 0.8406 0.2005 0.9786 53.5378 0.9839 59.8437 Table 2. AUC values and running time of three anomaly detection algorithms
根据ROC曲线图和AUC值可以发现:SABPAD算法在两组数据的检测性能优于其它两种算法,具有更好的适用性。从ROC曲线图可以看出,SABPAD算法在虚警率较低的情况下仍然具有很好的检测性能,背景抑制能力较强。与RX算法相比,LRX算法通过使用双窗口模型选择背景模型时,尽可能减少了异常像元的干扰,得到更精确的检测结果,但受限于窗口尺寸及异常像元分布随机性的影响,内外窗口间的背景像元仍不可避免地混入了异常像元。SABPAD算法在LRX算法的基础上对背景像元的选择进行了优化,将背景像元中异常程度较大的像元剔除,进一步确保了背景像元中不包含异常像元,提高了检测精度,与LRX算法相比,该算法在两组数据检测结果中的AUC值分别提高了0.0317和0.0053。SABPAD算法取得了很好的效果。