魏瑀皓,姚永明
(陸軍工程大學指揮控制工程學院,南京 210001)
通過衛星遙感影像識別特定目標在軍事情報偵察、水運資源合理運用、智慧交通管理等領域具有十分廣闊的應用前景。隨著深度神經網絡在計算機視覺領域的發展,衛星遙感影像的判別解讀也逐漸從人工的方式向智能的方向轉變。特別是當前衛星遙感成像技術不斷發展,影像的分辨率不斷提升,地面目標呈現了更為豐富和明顯的特征,不斷拓展了其研究與應用的空間。然而,更為精準的成像也為通過智能方法檢測地面目標帶來了挑戰,天氣、季節的變化對于成像的擾動體現得更為明顯。因此,對于以上模型開展針對性的魯棒性測試,評估其環境適應性,以發現其潛在缺陷,對其在實際中的應用轉化具有重要意義。
蛻變測試[1]是一種緩解測試預言問題的常用方法,在多類復雜軟件測試中己經得到成功應用。這種方法具有靈活的特點,可根據待測軟件應滿足的各種測試屬性構造相應的蛻變關系,進而檢測軟件中潛在的故障,在預期輸出難以確定的情形下可對軟件進行有效測試。近年來,蛻變測試在深度學習模型測試領域的研究與應用越來越廣泛,許多研究人員根據模型任務的不同提出了多種蛻變關系,并有針對性地檢測出了模型的缺陷。
為有效評估衛星遙感目標檢測模型的魯棒性這一測試屬性,根據蛻變測試原理,提出了兩種蛻變關系,并根據相應的蛻變關系構造衍生用例,同時根據變異測試原理提出相應的量化指標。選取在衛星遙感影像數據集上訓練的通用目標檢測模型YOLOv7以及面向衛星遙感影像檢測的YOLOv7+CNeB 改進模型為測試對象,構造相應的測試集進行魯棒性測試,結果顯示,該方法可有效發現模型的部分缺陷,相應的量化指標在一定程度上體現了模型的魯棒性。
近年來,深度學習模型在視覺領域的各類任務中取得了較好的效果,其應用領域也不斷拓展。一方面,Faster R-CNN[2]、YOLO 系列[3]、SSD 系列[4]等通用目標檢測模型不斷發展,已具備較強的特征學習能力,針對不同的下游任務構建相應數據集進行訓練,便可達到較好效果,例如AI-TOD 航空圖像數據集[5]、TGRS-HRRSD衛星影像數據集[6]。另一方面,隨著深度學習可解釋性的研究不斷推進,圍繞不同下游任務特點,修改卷積核、添加注意力機制等,可以進一步提升模型在特定任務中的表現,例如YOLOv5m+CBAM[7]、FCOS[8]、YOLT[9]。
魯棒性是一種深度學習模型重要的測試屬性,其度量深度學習模型對于擾動的適應性(resilience)[10]。Katz 等[11]重點研究了對抗魯棒性這一魯棒性重要的子類,并根據作用范圍的不同,將魯棒性分為針對所有輸入的全局魯棒性和針對某一特定輸入的局部魯棒性。Moosavi-Dezfooli 等[12]提出了DeepFool, 計算“愚弄”深度網絡的擾動(添加噪聲),從而量化其魯棒性。Bastani 等[13]提出了三個衡量魯棒性的指標:①點向魯棒性,表明分類器的最小輸入變化不具有魯棒性;②對抗性頻率(adversarial frequency),表示輸入改變分類器結果的頻率;③對抗嚴重性,表示輸入與其最近的對抗示例之間的距離。
衡量魯棒性的一種自然方法是檢查在噪聲擾動下的模型的正確性表現,即一個健壯的模型應該在噪聲擾動下仍然能保持性能。對抗樣本是一種模型魯棒性評估重要的測試輸入。這種樣本基于Szegedy 等[14]提出的概念,通過黑盒或白盒的方法人為地構造擾動并添加到原始樣本中,進而測試模型對這些對抗樣本的行為。值得注意的是,近年來,這種人為的蓄意對抗攻擊往往被歸納于安全性這一范疇,而魯棒性更傾向于模型應用場景中的自然擾動,如自動駕駛天氣、光照、白晝等自然條件。因此,針對不同應用場景,構建相應的魯棒性測試輸入具有重要意義。
軟件測試預言問題是指軟件在測試過程中需要在給定的輸入下能夠區分出軟件正確行為和潛在的錯誤行為,解決測試預言問題的關鍵是確定與測試輸入相對應的正確的預期輸出作為測試基準。然而,深度學習模型往往存在結果不確定性,因此,對其開展測試面臨著測試預言問題。
蛻變測試是一種解決測試預言問題的常用方法,其核心思想在于構造蛻變關系,來描述待測系統測試輸入的變化與輸出變化的關系與規律。這種關系,可以基于嚴密的數理邏輯以及形式化證明,也可以基于測試人員的經驗以及對于待測軟件和應用場景的理解。近年來,蛻變測試也被應用到機器學習算法和深度學習模型的測試中。在CV 領域,Xie 等[15]提出了一種針對有監督的機器學習分類算法的蛻變測試方法,并總結出了十一種蛻變關系。Dwarakanath等[16]提出了一種針對圖像分類的DNN 系統的蛻變測試方法,并總結出了四種蛻變關系。
提出的蛻變測試框架如圖1所示。

圖1 蛻變測試框架圖
首先提出兩種蛻變關系。
(1)淡云層遮擋不改變模型輸出結果。該蛻變關系模擬成像時,某些區域受到淡云層遮擋(厚云層遮擋下目標信息完全丟失),如圖2所示。

圖2 濃云層(左上紅框區域)與淡云層(中下黃框區域)
(2)明暗度變化不改變模型輸出結果。該蛻變關系模擬成像時,季節或時間導致的光照強度變化,如圖3所示。

圖3 同一地域不同明暗度示例

圖4 原始用例與衍生用例示例
上述兩種蛻變關系均來源于現實場景,在實際應用中均有所體現。
而后,隨機選取原始測試用例,基于相應的蛻變關系,采用傳統CV 的方法構造相應的衍生測試用例集。最后,對比檢測模型在原始用例集和衍生用例集的表現差異,評估模型的魯棒性。
2.2.1 淡云層遮擋
采用兩種方式實現衛星遙感圖像添加淡云層遮擋。第一種方法通過Photoshop 構造分層云彩,而后隨機裁剪云彩圖像,疊加到原始用例上,進而實現淡云層遮擋。第二種方法通過PIL庫實現。PIL 庫是一個具有強大圖像處理能力的第三方庫,不僅包含了豐富的像素、色彩操作功能,還可以用于圖像歸檔和批量處理。具體通過PIL編寫相應算法,隨機構造不同半徑、不同透明度的云層,實現相應遮擋。增加淡云層算法示例如算法1所示。

2.2.2 明暗度調節
在計算機視覺中,HSV(Hue,Saturation,Value)通道是一種常用的顏色空間。HSV 模型將顏色的屬性分為色相、飽和度和明度三個維度,使得對顏色的描述更加直觀。因此,在生成衍生用例時,主要在HSV 空間中進行相關操作。首先,將圖像從默認的RGB 空間轉換到HSV 空間,而后直接調節明度(Value)通道的值,并將其限制在(0,255)的有效范圍內,最后合并通道,并轉換回到RGB 空間,生成衍生用例。增加亮度算法示例如算法2所示。

由于某些目標的邊界框可能會在每輪預測過程中出現較小的漂移現象,通過(bk,lk,ck)三元組來斷言目標檢測輸出的相等性過于嚴格。因此,采用交并比來度量預測結果與實際結果的差異,即在相同的標簽下,IoU 大于某一閾值,則認為滿足了蛻變關系與輸出相等性。
本文所提出的蛻變關系與衍生用例生成過程均建立在魯棒性這一測試屬性上,因此,受變異測試思想啟示,引入類似于殺死率的魯棒性評估指標,通過計算滿足蛻變關系的用例比例來衡量模型的魯棒性。該指標s計算方式如式(1)所示。
以TGRS-HRRSD 遙感影像數據集為訓練數據集。該數據集由中國科學院西安光學精密機械研究所光學影像分析與學習中心制作,共有13 個類別,包含21761 張獲取自谷歌地球的0.15~1.2 mGSD 影像以及4961 張獲取自百度地圖的0.6~1.2 mGSD 影像,對40000 多個目標對象進行了標注。選取飛機(airplane)和船舶(ship)兩類目標進行訓練與檢測,其中飛機目標訓練集包含2448 張樣本,測試集包含2451 張樣本;船舶目標訓練集包含1898 張樣本,測試集包含1988張樣本。
實驗使用兩個模型進行測試。以通用目標檢測模型YOLOv7作為基準模型,以添加了類注意力模塊CNeB 的面向衛星遙感小目標檢測的YOLOv7+CNeB 為對照模型。訓練過程中,保持輸入為1280*1280,初始學習率為0.01,epoch為100 次,batch size 為16,采用引入動量的隨機梯度下降的優化方式,動量設置為0.937,不采用預訓練權重。
實驗軟件環境為Ubuntu22.04,Python 3.8,PyTorch 2.0.0,CUDA 12.0,CUDNN 8.1;硬件環境中,CPU 為Intel Xeon Gold 6126,GPU 為RTX2080Ti。
3.4.1 衍生用例生成
首先生成相應的衍生用例。從測試集中隨機選取兩類目標樣本各200 張,并采用3.2 中的衍生用例生成方法,分別生成淡云層遮擋、亮度變暗的衍生用例。原始用例與衍生用例示例如圖6所示。
3.4.2 魯棒性評估
進而,將原始用例和衍生用例分別輸入兩個模型,觀察模型輸出是否滿足蛻變關系,并通過魯棒性指標進行量化評估。設置閾值為0.8,即在同一正確的預測標簽下,IoU 大于0.8即表示滿足蛻變關系。測試結果見表1。

表1 測試結果(s/%)
結果表明,兩個模型在大部分的用例上均能保證相同的輸出,尤其是在應對明暗度的變化上,基本都能滿足蛻變關系,對該特征變化較為魯棒。而增加云層遮擋后,兩個模型的表現出了較大的行為差異,表明模型對該變化魯棒性不佳。這可能由于訓練數據中很少有被云層遮擋的樣本,導致模型對此類數據泛化能力不佳。值得注意的是,兩個模型對于被遮擋的“船舶”目標比“飛機”目標差異更小,這表明由于云層的顏色與飛機顏色相近,遮擋后飛機的特征更為不明顯,導致效果不佳。但總體來看,面向衛星遙感影像目標檢測的改進模型,在應對兩種變化的能力總體優于基準模型。這可能由于改進后的模型對小目標的細粒度特征學習能力更強,使得其在預測過程中,仍能挖掘更為豐富的特征以支持其決策。
作為軟件開發到落地的關鍵環節,智能技術在衛星遙感影像目標識別的應用不斷深入與拓展,也為相應的測試工作帶來了挑戰。針對魯棒性這一測試屬性,面向衛星遙感目標檢測模型,提出了一種基于蛻變測試的魯棒性測試方法,構造了兩種魯棒性蛻變關系,并提出相應指標以量化。實驗證明,該方法具有一定的有效性與直觀性。后續,將繼續圍繞衛星影像目標檢測模型其他相關測試屬性開展相應研究,充分挖掘現實應用場景中可能存在的問題以及潛在的缺陷,不斷完善測試方法,改善相應模型以及提升軟件的質量。