周春云,吳葉呈
(揚州萬方科技股份有限公司,江蘇 揚州 225000)
近年來,端智能正逐漸變為趨勢,與服務端智能相比,具有低延時、兼顧數據隱私、節省云端資源等優勢,目前已經在工業質檢、無人巡檢等應用場景中發揮了巨大價值。隨著無人機技術的快速發展,針對光學遙感圖像的實時檢測需求也日益增多,尤其是針對遙感圖像的飛機目標檢測技術可廣泛用于偵察、救援等方面,具有十分重要的研究意義。隨著傳感器設備的發展,遙感圖像數據的分辨率以及規模不斷擴展,如何在端側設備中實現精準、快速檢測目標成為一個亟須解決的問題。
傳統光學遙感圖像信息提取主要依賴人工傳統機器學習算法對光譜、紋理、形狀等底層特征進行描述,如SIFT(Scale Invariant Feature Transform)、HOG(Histogram of Oriented Gradients)、SURF(Speeded-Up Robust Features)等[1],該檢測方法包含了特征區域提取、特征提取、分類器分類以及檢測結果處理等步驟,存在流程復雜、時間復雜度高等問題。此外,在實際應用中,由于數據采集過程中存在遮擋、抖動、輻射等因素的影響,導致收集的遙感圖像數據差異較大、質量不高,此時的檢測精度將會受到嚴重影響。深度學習技術的出現,為遙感圖像目標檢測提供了新思路。基于深度學習的目標檢測模型能夠自動提取特征,不僅避免人工設計特征的復雜流程,并且能夠學習到遙感圖像中更加豐富的高層語義特征[2],同時基于深度學習的目標檢測技術在具有復雜背景的情況下依然能夠保持較高的精度和速度。基于深度學習的目標檢測模型主要分為基于區域提議網絡(Region Proposal Network,RPN)的兩階段算法和直接回歸邊界框(Bounding Box)的單階段算法,單階段算法雖然精度稍差,但具有較快的速度,近年來涌現了多種針對單階段目標檢測進行優化的算法,精度和速度都有了較大提升。YOLO(You Only Look Once)系列是典型的one-stage(單階段)目標檢測模型,該方法通過特征提取網絡對輸入圖像提取特征后,直接對目標位置和類別信息進行預測,與兩階段方法相比具備更快的檢測速度[3],能夠為端側實現遙感圖像目標快速精準檢測提供有利的技術支撐。
受軟、硬件條件的限制,人工智能技術在國產處理器平臺中的發展明顯滯后于國外X86等商用平臺,嵌入式設備算力資源、存儲空間以及續航等有限,而智能化應用又對速度和精度都有著很高的要求,深度卷積神經網絡目標檢測模型具有網絡層次深、參數量大等特點,這就為其在算力不足的國產平臺上執行訓練以及在端側部署應用帶來了巨大挑戰。目前在人工智能計算領域,國產平臺上傳統的芯片計算架構已無法支撐深度學習等模型計算需求,需要新的底層硬件來更好地儲備數據、加速計算過程。在國外,英偉達主打的GPU加速模塊較為成熟,Intel圍繞FPGA構建產業,推出模仿人腦的人工智能芯片,谷歌也推出了第二代TPU芯片。但上述芯片所配套軟件棧沒有進行開源,因此在國產平臺中無法完成適配且無法實現從硬件到軟件的技術完全自主可控。國產人工智能處理器起步較晚,但已有多家單位相繼推出了適應于深度神經網絡計算的AI芯片,如華為的昇騰系列產品、百度的昆侖芯等,且其配套生態較為成熟,為其在國產平臺完成適配提供了保障。通過形成CPU+協處理器的異構計算系統,可有效解決國產設備計算能力不足的問題,規避了傳統的芯片計算架構難以支撐深度學習模型計算需求的問題,為遙感圖像目標檢測模型的部署應用提供了加速支撐能力。
本文首先針對遙感圖像目標檢測模型的開發和部署,基于國產飛騰服務器以及昇騰Atlas200dk智能終端構建基礎開發和推理運行環境,在充分考慮國產平臺算力以及AI加速卡算子支持等因素的情況下,提出了一種基于改進YOLOv5s輕量化深度學習網絡的遙感圖像飛機目標檢測方法,不僅能夠減輕深度學習模型在國產平臺上的訓練壓力、提升模型的運行效率,同時也能夠保證模型在端側場景下的檢測精度和實時性。
YO L O v 5 模型是當前通用的目標檢測算法之一,被廣泛應用于各類對象檢測中,與YOLOv4模型相比,YOLOv5結合了近幾年深度學習領域多種較為優秀的思想,具備更高的檢測精度和速度。YOLOv5主要由輸入模塊、Backbone骨干網絡、Neck頸部模塊以及Head頭部檢測模塊四個部分組成。其中Backbone骨干網絡由CSPDarkNet53構成,主要用于實現目標特征提取。Neck頸部模塊由FPN和PAN結構構成,主要用于實現目標特征的融合處理。Head頭部檢測模塊主要用于最終的回歸預測,輸出檢測目標的位置和類別信息。YOLOv5網絡有s、m、l、x四種版本結構,其中,YOLOv5s模型是YOLOv5系列中深度最小、特征圖寬度最小的網絡模型,對部署硬件設備的要求較低。
在深度神經網絡模型中,模型參數越多雖然其表達能力也越強,但也同時帶來了信息過載問題,為進一步提升模型的精度,通過引入注意力機制使得網絡更加關注感興趣區域,忽略目標以外的復雜背景干擾信息。注意力機制起源于自然語言處理領域,其本質與人類觀察事物的機制類似,能夠使得模型在提取特征時更加具有針對性。注意力機制是通過掩碼實現,不同位置具有不同的注意權重,在訓練過程中模型將學習每張圖片中的關鍵區域,并通過權重將關鍵特征標識出來,從而過濾掉無用信息。其中,CBAM[4]模(Convolutional Block Attention Module)是一種輕量級的、即插即用的注意力模塊。CBAM模塊結構主要包含了通道注意力(Channel Attention Module,CAM)模塊和空間注意力(Spacial Attention Module,SAM)模塊兩個獨立的子模塊,能夠在通道和空間兩個維度上生成注意力圖。增加該模塊不會產生過多的參數,可在各類網絡中進行使用,且能夠提高模型對小目標的檢測能力[5]以及提升模型的泛化能力。
因此,本文在YOLOv5s模型基礎上通過增加CBAM模塊實現優化,改進后的模型結構如圖1所示。

圖1 改進YOLOv5s模型網絡結構
通過在YOLOv5s模型的Backbone部分的C3后面添加CBAM,以此提升特征圖中的目標在通道和空間上的注意力。由于遙感圖像具有數據量大、小目標多且含有復雜的背景信息的特點,通過增加通道和空間注意力模塊,能夠捕捉和檢測目標強相關的關鍵特征,弱化其他不重要的無關信息,從而實現模型精度的提升。
模型訓練環境基于國產飛騰2 0 0 0+服務器進行搭建,適配國產麒麟操作系統、P y t hon開發環境、CANN5.0.3、開源Pytorch1.8.1計算框架,通過國產多核處理器完成輕量化模型訓練和驗證,模型訓練環境中的CANN主要用于模型轉換。
模型推理運行環境基于國產華為Atlas200dk智能終端設備搭建,適配AI芯片驅動、CANN5.0.3,訓練完成的模型最終在Atlas200dk中進行部署和推理測試,模型推理運行環境中的CANN主要提供了模型推理運行加速庫。
本文數據集選用的是開源RSOD遙感圖像數據集,以其中的飛機目標作為檢測對象。通過旋轉、添加噪聲、對比度變換、縮放等操作對數據集進行擴增,最終得到共2 230張圖像,并按照8∶1∶1將數據集切分為訓練集、驗證集和測試集。
本文中的目標檢測模型采用平均精度(Average Precision,AP)、模型大小(MB)、每秒檢測幀數(Frames Per Second,FPS)作為評價指標。其中,AP為IoU閾值為0.5時的值。
根據國產平臺的設備性能,模型訓練配置批處理大小Batch Size為16,訓練周期Epoch為200,初始學習率為0.01,采用SGD隨機下降梯度法訓練模型,輸入尺寸大小為640×640。
Atlas200dk支持的部署模型格式為om模型,基于Pytorch框架訓練好的模型格式為pt格式,將其部署到Atlas200dk智能終端上,需要進行模型格式轉換。具體實現步驟如下。
①首先將訓練好的pt格式模型轉換為onnx中間表示格式,onnx是一種開放式的文件格式,能夠使得不同類型的模型在各類主流框架間實現互轉。
②采用CANN中的模型轉換工具ATC(Ascend Tensor Compiler,昇騰張量編譯器)將onnx中間格式模型轉換為昇騰AI處理器支持的om格式離線模型。ATC工具支持將onnx、pb、caffe等格式模型轉換為om模型,在進行模型轉換時,會在權重數據、內存使用、算子調度等方面對原始模型進行優化,從而使得模型能夠在昇騰AI處理器上實現更高的性能。
③基于CANN中的模型推理接口開發模型推理程序,將om模型和推理運行程序部署在Atlas200dk中執行測試。
本文采用模型的訓練結果如表1所示,本文的模型AP達到了96.9%,轉換前模型的大小為17 MB,由于ATC工具在模型轉換過程中會對部分算子進行融合處理,通過ATC轉換工具轉換后的om模型大小縮減到了15.33 MB。將om模型在Atlas200dk終端設備中進行部署測試,其檢測效率達到了48.5 FPS,能夠滿足實時性檢測要求。

表1 不同模型指標對比情況
為了驗證本文采用模型的性能,將采用本文模型與改進前的YOLOv5s-baseline、兼顧精度和體積的NanoDet輕量化模型的性能進行了對比。與YOLOv5s-baseline相比,本文采用模型的精度提升了1.2%,轉換前的YOLOv5s-baseline模型大小與本文采用模型相差較大,轉換后的模型僅比本文采用模型減少了0.53 MB,由于增加了3個CBAM模塊,本文采用模型的推理性能略差于YOLOv5s-baseline。本文采用模型與輕量級模型NanoDet進行相比,雖然檢測速率遠不及NanoDet,但檢測精度比NanoDet模型提高了6.8%,NanoDet在小目標以及重疊目標的檢測上效果不及本文采用模型,存在較多漏檢情況。
為充分說明本文采用模型的優越性,挑選了具有不同背景、含有小目標樣本以及包含重疊目標的測試結果圖片。該模型基本能夠準確地標注出遙感圖像中所有的飛機目標,針對部分小目標以及重疊目標也能夠實現準確標注。
本文中首先基于國產飛騰2000+平臺和Atlas200dk智能終端構建了訓練模型并部署運行環境,在充分考慮國產平臺算力和AI芯片算子支持等因素基礎上,針對遙感圖像目標檢測提出了一種基于改進YOLOv5s輕量化深度學習網絡的目標檢測方法,并在智能終端設備中驗證了模型的檢測性能。實驗表明,本文提出的方法在遙感圖像飛機目標檢測應用中,AP值達到了96.9%,在Atlas200dk終端設備中部署的模型僅為15.33 MB,其檢測效率達到了48.5FPS,與改進前的模型相比,雖然模型大小有少部分增加,但提高了模型的檢測精度,且在資源受限的終端設備中也能夠具備較高的檢測效率,雖然犧牲了檢測效率,但仍然能夠滿足端側部署的實時性檢測要求。本研究成果可推廣至紅外、雷達等圖像目標檢測應用場景。■