一種基于卷積神經網絡的光學遙感圖像飛機檢測方法
【專利摘要】本發明公開了一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,包括以下步驟:S1、訓練樣本的獲取;S2、圖像預處理;S3、網絡模型的構建;S4、模型的訓練;S5、檢測結果的優化。本發明將深度學習引入飛機檢測的應用當中,構建基于卷積神經網絡的飛機檢測結構模型,借助優化圖像預處理、訓練樣本獲取和改進訓練結構等方式,解決了飛機朝向多樣性的問題,提高了檢測算法的性能,使得飛機檢測算法能夠有效應對復雜的地物因素,抗干擾能力強,魯棒性好。
【專利說明】
一種基于卷積神經網絡的光學遙感圖像飛機檢測方法
技術領域
[0001] 本發明涉及光學遙感圖像飛機檢測領域,具體的說是一種基于卷積神經網絡的光 學遙感圖像飛機檢測方法。
【背景技術】
[0002] 由于遙感圖像分辨率的增強,人們能夠從中獲取的信息大幅增加,基于遙感圖像 的目標檢測和識別研究在許多領域都得到廣泛的應用。尤其是遙感圖像飛機檢測對軍事和 民用都有著重大意義,利用遙感衛星獲取的高清機場影像,能夠分析飛機部署情況,為作戰 計劃的調整及航班的調度提供了依據。
[0003] 但是多數算法需要人工提取樣本特征,特征的選擇和提取主觀性較強,沒有相對 應的實驗對比驗證,并且飛機檢測的準確率和魯棒性不夠高,沒有一種算法能夠快速而準 確地檢測出各種類型圖像中的飛機。而基于卷積神經網絡的飛機檢測算法善于刻畫問題內 部的結構,利用更清晰簡明的方式表達復雜的特征,故而能夠大大提高目標檢測性能。
【發明內容】
[0004] 本發明的目的在于提供一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其 能夠有效提升檢測準確率,增強檢測算法的泛化能力。
[0005] 為實現上述目的,本發明采用以下技術方案:
[0006] -種基于卷積神經網絡的光學遙感圖像飛機檢測方法,包括以下步驟:
[0007] S1、訓練樣本的獲取,得到用于訓練的正負樣本數據;
[0008] S2、圖像預處理,得到訓練模型的輸入數據和待檢測的遙感圖像;
[0009] S3、網絡模型的構建,根據輸入數據的特征及不同層級的功能,構建一個適用于飛 機檢測的卷積神經網絡結構模型;
[0010] S4、模型的訓練,初始化結構參數,利用每個層級的誤差函數不斷調整網絡結構;
[0011] S5、檢測結果的優化,借助非極大值抑制算法對飛機檢測結果進行優化。
[0012] 進一步地,所述步驟S1包括以下分步驟:
[0013] S11、對每個飛機圖像塊進行八個方向旋轉,以一定像素規格截取旋轉后的飛機圖 像作為正樣本;
[0014] S12、將圖像中的飛機區域抹去,然后對剩余圖像執行SLIC超像素分割操作,利用 超像素分割算法得到超像素中心點,根據中心點得到原始負樣本,接著借助k-means算法聚 類獲取最終負樣本。
[0015] 更進一步地,步驟S1中正負樣本及分割操作中超像素塊的規格均基于遙感圖像的 地面分辨率進行設定。
[0016] 進一步地,所述步驟S2包括以下分步驟:
[0017] S21、對于S1中得到的正負樣本進行像素歸一化操作;
[0018] S22、利用超像素分割算法對待檢測圖像進行預處理。
[0019] 更進一步地,所述超像素規格參數同負樣本獲取步驟中的設定一致。
[0020] 進一步地,所述步驟S3包括以下分步驟:
[0021] S31、利用特定的卷積核與每一層的輸入數據卷積得到下一層的特征圖;
[0022] S32、借助特征映射層合并多個相似的特征,使得特征具備平移、縮放不變性。
[0023] 進一步地,所述步驟S4包括以下分步驟:
[0024] S41、初始化卷積神經網絡的結構參數;
[0025] S42、借助BP算法對各層級的參數進行調整,直到達到預設條件。
[0026]采用上述技術方案后,本發明與【背景技術】相比,具有如下優點:
[0027] 1、本發明將深度學習算法應用于基于光學遙感圖像的飛機檢測,通過改進網絡結 構,構建適用于飛機檢測的網絡模型,提升了算法的檢測準確率及魯棒性。基于深度學習的 飛機檢測算法能夠自動學習輸入數據的特征,研究人員無需糾結于各種特征的選取。
[0028] 2、借助超像素分割的樣本獲取和圖像預處理方法,避免等步長的滑窗檢測,提升 算法的檢測效率。將訓練正樣本進行多方向旋轉擴展,解決飛機朝向多樣性的問題。對初始 負樣本進行k-means聚類,既去除了輸入數據的冗余信息,又使得訓練集中各類別數據分布 均勻,為后續訓練出優秀的檢測模型提供了堅實的基礎。
【附圖說明】
[0029] 圖1為本發明一種基于卷積神經網絡的光學遙感圖像飛機檢測方法的工作流程 圖。
[0030] 圖2為本發明所獲取到的正負樣本示意圖。
[0031 ]圖3為本發明超像素分割后的遙感圖像示意圖。
[0032] 圖4為本發明所構建的卷積神經網絡結構模型示意圖。
[0033] 圖5為本發明對待檢測圖像進行檢測的結果示意圖。
【具體實施方式】
[0034]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0035] 實施例
[0036]在對本實施例進行詳細描述之前,需要指出的是,本實施例所提供的基于卷積神 經網絡的光學遙感圖像飛機檢測方法,能夠快速準確地檢測出光學遙感圖像中的飛機,同 時又能夠保證較高的檢測準確率和對不同地物背景的魯棒性。
[0037]在本實施例中,均假定遙感圖像的地面分辨率為0.45米。對于其他地面分辨率的 遙感圖像,正、負樣本塊和超像素塊包含的像素數目做相應調整,使得正、負樣本塊和超像 素塊對應的實際地面區域大小保持不變。
[0038]請參閱圖1,本發明提供了一種基于卷積神經網絡的光學遙感圖像飛機檢測方法, 包括以下步驟:
[0039] S1、訓練樣本的獲取,得到用于訓練的正負樣本數據。
[0040]訓練樣本包括正樣本和負樣本。人工選取每一架飛機的中心點,然后基于中心點 截取160X160像素大小的圖像塊,用于產生正樣本;同時借助超像素分割和k-means聚類方 法獲取負樣本(參考圖2所示)。該步驟具體通過以下步驟實現:
[0041 ] S11、對每個飛機圖像塊進行八個方向旋轉,截取旋轉后圖像塊中間的100 X 100像 素大小的圖像塊,作為正樣本。每個飛機圖像塊可以得到八個正樣本;
[0042] S12、將圖像中的飛機區域抹去,然后對剩余圖像執行SLIC超像素分割操作,超像 素塊大小為30X30像素,規則度為500。利用超像素分割算法得到超像素中心點,以每個超 像素塊的中心點為基準截取出100X 100像素大小的圖像塊作為原始負樣本,接著借助k-means算法將原始負樣本聚成10000個類別,每個類別選取10個圖像塊組成最終負樣本集。 [0043] S2、圖像預處理,得到訓練模型的輸入數據和待檢測的遙感圖像。
[0044] 對正負樣本圖像進行像素歸一化操作,根據以下公式進行加權平均可以獲取較為 合理的灰度圖像:
[0045] gray = r*wr+g*wg+b*wb
[0046] 其中加權系數Wr = 0·299,wg = 0·588,wb = 0·114。利用上式,將三通道的正負樣本 圖像進行灰度化操作。
[0047] 該步驟具體通過以下步驟實現:
[0048] S21、對于S1中得到的正負樣本進行像素歸一化操作;
[0049] S22、利用SLIC超像素分割方法對待檢測圖像進行分割(參考圖3所示),此處的超 像素塊規格為30 X 30像素,規則度也取500,最終得到每個超像素塊的中心點。
[0050] S3、網絡模型的構建,根據輸入數據的特征及不同層級的功能,構建一個適用于飛 機檢測的卷積神經網絡結構模型。
[0051] 請參閱圖4,卷積神經網絡的結構模型由七個層級組成,每一層都囊括需要訓練的 權值參數。特征提取層和特征映射層交替出現,將輸入特征在更高層次進行表達,使各個特 征之間更容易區分。該步驟具體通過以下步驟實現:
[0052] S31、利用11 XII大小的卷積核與每一層的輸入數據卷積得到下一層的特征圖。每 個特征圖并不是全連接于上一層的每個特征圖,而是選擇其相鄰的三個特征組合,這樣抽 取的特征便是互不重復的,同時減少了網絡結構的復雜程度;
[0053] S32、特征映射層能夠合并多個相似的特征,使得特征具備平移、縮放不變性。通過 均值池化操作,即將上一層的2X2局部鄰域取均值,作為下一層的特征圖,實現對上一層特 征的亞采樣,然后加上偏置參數,輸入sigmoid函數進行處理,不斷訓練網絡結構,局部感受 野的大小設置為4。
[0054] S4、模型的訓練,初始化結構參數,利用每個層級的誤差函數不斷調整網絡結構。 該步驟具體通過以下步驟實現:
[0055] S41、初始化卷積神經網絡的結構參數;
[0056] S42、借助BP算法對各層級的參數進行調整,直到達到預設條件。
[0057]在卷積神經網絡的訓練階段,僅僅是在輸出層給定了帶標簽的數據,在網絡結構 不斷重復反向調整的過程中,需要一個準則來衡量當前時刻的誤差,那么通過計算softmax 分類器中的損失函數,利用損失量的變化去控制訓練過程,使其在恰當的時刻停止訓練,以 達到最優的效果,本實施例中當連續兩次訓練的損失量變化小于5%,即認為是恰當的時 刻。
[0058]優選地,所述損失函數的計算公式為:
[0060] 其中,C表示最終的類別數,^為第η個輸入樣本的第k維輸出預測值,J(表示對應 的實際輸出值。
[0061] 為了計算各個隱藏層中的誤差,我們可以通過BP算法的反向調整來間接計算得 到。那么我們先求出輸出層的誤差E對偏置的偏導數:
[0063]
%誤差對當前層的單個神經元u的偏導數,在我們的網絡結構中
j所以能直接根據下式求出各層級誤差:
[0065]式中,《^/+1>為第1+1層的權值系數,得到各層級的誤差敏感因子后,根據誤差E、權 值系數和誤差敏感因子 < 的對應關系,可以求出更新后的系數,如下式所示:
[0067] 其中,為更新后的權值系數,η為學習速率,此處設定為〇.8,z(/1為1-1層的 輸入。
[0068] S5、檢測結果的優化,借助非極大值抑制算法對飛機檢測結果進行優化。
[0069] 請參閱圖5,當對待檢測圖像進行飛機檢測時,利用方框將檢測到的飛機標記出 來,但由于有些超像素塊的中心點較為相近,導致飛機可能被標記多次,為保留最準確的標 記,需要去掉多余的方框。為了解決這一問題,常用的方法為基于貪婪的非極大值抑制算 法,該方法的主要操作步驟如下:
[0070] (1)檢測結果中的每個窗口都有相應的正樣本得分,按照這個得分從大到小進行 排序;
[0071] (2)選定序列中的第一個窗口,將其作為當前的操作的抑制窗口;
[0072] (3)設定一個抑制閾值,本實施例優選80%,計算該窗口與其他窗口的重合面積, 去除與之重合面積大于預設閾值的窗口;
[0073] (4)選取序列中的下一個窗口作為當前操作抑制窗口,重復步驟(3)直到所有的多 余窗口被去除。
[0074]以上所述,僅為本發明較佳的【具體實施方式】,但本發明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍 為準。
【主權項】
1. 一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征在于,包括以下步驟: 51、 訓練樣本的獲取,得到用于訓練的正負樣本數據; 52、 圖像預處理,得到訓練模型的輸入數據和待檢測的遙感圖像; 53、 網絡模型的構建,根據輸入數據的特征及不同層級的功能,構建一個適用于飛機檢 測的卷積神經網絡結構模型; 54、 模型的訓練,初始化結構參數,利用每個層級的誤差函數不斷調整網絡結構; 55、 檢測結果的優化,借助非極大值抑制算法對飛機檢測結果進行優化。2. 如權利要求1所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于,所述的訓練樣本的獲取方法通過以下實現:利用多方向旋轉擴展飛機樣本和超像素 分割的方法獲取正負樣本。3. 如權利要求2所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于,所述步驟S1包括以下分步驟: 511、 對每個飛機圖像塊進行八個方向旋轉,以一定像素規格截取旋轉后的飛機圖像作 為正樣本; 512、 將圖像中的飛機區域抹去,然后對剩余圖像執行SLIC超像素分割操作,利用超像 素分割算法得到超像素中心點,根據中心點得到原始負樣本,接著借助k-means算法聚類獲 取最終負樣本。4. 如權利要求3所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于,步驟S1中正負樣本及分割操作中超像素塊的規格均基于遙感圖像的地面分辨率進行 設定。5. 如權利要求2所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于,所述步驟S2包括以下分步驟: 521、 對于S1中得到的正負樣本進行像素歸一化操作; 522、 利用超像素分割算法對待檢測圖像進行預處理。6. 如權利要求5所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于,步驟S22所述超像素分割算法中超像素塊的規格基于遙感圖像的地面分辨率進行設 定。7. 如權利要求1-6任一項所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方 法,其特征在于,所述步驟S3包括以下分步驟: 531、 利用特定的卷積核與每一層的輸入數據卷積得到下一層的特征圖; 532、 借助特征映射層合并多個相似的特征,使得特征具備平移、縮放不變性。8. 如權利要求2所述的一種基于卷積神經網絡的光學遙感圖像飛機檢測方法,其特征 在于:所述步驟S4包括以下分步驟: 541、 初始化卷積神經網絡的結構參數; 542、 借助BP算法對各層級的參數進行調整,直到達到預設條件。
【文檔編號】G06K9/46GK106096655SQ201610415366
【公開日】2016年11月9日
【申請日】2016年6月14日 公開號201610415366.4, CN 106096655 A, CN 106096655A, CN 201610415366, CN-A-106096655, CN106096655 A, CN106096655A, CN201610415366, CN201610415366.4
【發明人】程明, 張志遠, 王程, 李軍
【申請人】廈門大學