陶聲祥,艾 磊
(陸軍炮兵防空兵學院 高過載彈藥制導控制與信息感知實驗室, 合肥 230031)
數字槍瞄系統是近幾年新興的一種槍用瞄準系統,其關鍵技術主要包括大面陣圖像傳感器采集圖像技術,數字圖像處理技術,數據高速傳輸技術。研究表明:在一些復雜的戰(zhàn)場環(huán)境下,數字槍瞄技術能很好的解決目標圖像抖動問題,同時還可以非直接式瞄準,保護了射手。因此,世界各國紛紛投入經費,大力研究。我國的數字槍瞄系統研究的起步較晚,但對大面陣CMOS圖像傳感器成像等技術的研究已比較成熟,文獻[1]完成了高清CMOS圖像傳感器多通道數據傳輸系統設計,文獻[2]對數字槍瞄系統中的關鍵技術進行了研究,搭建了實驗平臺,但對戰(zhàn)場目標還沒有做到自動識別。
在目標識別算法方面,卷積神經網絡(CNN)模型是目前熱度極高的研究課題,國內外文獻都對其進行了深入的研究[3-6],并將其運用于各個領域,取得了不錯的識別效果。據報道,該算法已經實現了對硬件平臺的移值[7]。由于在一些機載、車載平臺上觀瞄圖像容易出現抖動,本文在搭建了數字槍瞄系統實驗平臺的基礎上,通過數據傳輸接口將圖像信息傳輸至PC端,接著對抖動圖像進行了預處理,進一步減小了抖動圖像的影響,同時運用了改進CNN的目標識別算法,使該系統可以自動識別目標,提高目標識別的識別率與準確度,以便在作戰(zhàn)過程中輔助射手進行決策,精確打擊目標。
數字槍瞄系統硬件平臺如圖1所示,該系統主要有大面陣CMOS圖像傳感器成像電路,FPGA驅動與控制電路,圖像高速傳輸與顯示驅動電路組成。其中圖像傳感器采用ON公司的一英寸大面陣CMOS圖像傳感器NOIV1SE5000A,該型CMOS圖像傳感器有效像素為2 592像素×2 048像素,可實現75幀每秒的高速傳輸,采集的圖像數據傳輸至FPGA中進行圖像處理,采用的是LDVS傳輸技術,具有高速傳輸,低功耗,較強的抗噪聲等優(yōu)點。FPGA采用的是Altera公司的CycloneⅢ系列的EP3C25Q24,其定位是低功耗,低成本且易于設計,由于其具有強大的硬件資源,共有24 624個邏輯單元,結合Quartus Ⅱ軟件的集成IP核讓基帶處理模塊的設計變得輕松易于實現。在圖像高速傳輸與顯示電路中,采用的是TI公司的DS90UB925Q芯片,可以實現高清數字圖像的遠距離、高速傳輸,最終圖像顯示在顯示屏上。其工作原理如圖2所示,可實現對1 000 m以上目標進行清晰成像。
圖1 數字槍瞄系統硬件平臺
圖2 數字槍瞄系統工作原理
在戰(zhàn)場環(huán)境下,運動過程中的連續(xù)拍攝觀瞄,時常會出現圖像抖動,嚴重影響對目標的識別的準確度,因此,對抖動圖像的預處理顯得十分重要。目前的抗抖動處理方法主要有光學防抖動,機械式防抖動和軟件算法防抖動。由于戰(zhàn)場環(huán)境惡劣,地勢起伏較大,車載或機載槍瞄設備連續(xù)拍攝時,圖像序列抖動,甚至觀測者暈眩。光學防抖動,補償光學鏡片組需要可以移動,效果不好,為此本文采用了基于灰度投影法的穩(wěn)像算法對抖動圖像進行處理。首先進行圖像灰度投影,根據圖像序列灰度的投影值的變化及規(guī)律性得到運動矢量,接著對運動矢量的高頻部分進行均值濾波處理,以減小抖動對圖像的影響,通過當前圖像幀的灰度投影與參考圖像幀的灰度投影做互相關運算,得到圖像序列運動位移矢量,最后對圖像序列運動位移矢量的反向進行修正,得到減小了抖動的圖像序列輸出[8]。
灰度映射也稱灰度投影,圖像序列中的圖像在經過直方圖均衡化預處理之后,需要對圖像水平和垂直的灰度值進行映射,將一個二維圖像的信息轉換為兩個獨立一維信息[8],水平灰度投影與垂直灰度投影的方法類似,下面給出垂直投影的計算方法:
(1)
(2)
colProii(x) =coli(x)-colToti
(3)
其中coli(x)為第i幀圖像中第x列灰度值,grei(x,y)為第i幀圖像中坐標(x,y)處的灰度值,LC為列數;colProii(x)表示第i幀圖像中第x列的灰度映射[8]。
由于每一幅圖像的邊緣信息是唯一的,所以當圖像的抖動較大時,就會造成圖像失真,對運動矢量的計算將產生不利的影響,這時可通過濾波處理以消除圖像邊緣的垂直水平投影值,這里采用了升余弦濾波器進行濾波[10],保留了大部分中間的波形,減小了圖像的邊緣信息,對圖像精度進一步提高。
運動位移矢量是通過對圖像序列的垂直、水平灰度投影值做互相關運算得到的,最終計算結果曲線圖的波谷值即為當前圖像幀與參考幀的位移矢量,下面列出垂直位移矢量的計算公式,水平位移矢量的計算也相同。
(4)
式(4)中:1≤x≤2m+1,LC為圖像幀的列數,colk(i)和colr(i)分別為第k幀圖像和參考圖像r幀的第i列的灰度投影值,m為相對于參考幀一側的搜索寬度,根據文獻[8],這里取30。設Ymin為當R(x)值為最小值時候y的值,第k幀相對于參考幀圖像垂直位移大小為
δy=m+1-Ymin
(5)
垂直位移矢量在被計算出來之后,就可以將當前圖像進行空間變換,垂直方向移動-δy的距離,減小抖動對圖像序列輸出的影響。
通過對連續(xù)拍攝圖像抖動的分析可知,其圖像運動矢量的軌跡可以看作在一定時間內是平滑的,而抖動屬于隨機振動,具有無規(guī)律,高頻變化的特點,因此可以采用均值濾波進行平滑處理,減小圖像抖動的影響,因而可以對原始序列的第一幀修正,得到穩(wěn)定的第二幀,以此類推,穩(wěn)定的后一幀由前一幀得到,但如果一開始就出現修正錯誤就會導致錯誤一直傳播到后面,為了避免錯誤的傳播,采用的改進補償方法步驟如下,首先根據下式計算:
(6)
式(6)中um,n、um,t分別表示原始和平滑濾波過后水平運動參數,vm,n和vm,t表示垂直方向相關的運動參數,計算出結果后如圖3進行判斷。
圖3 運動參數補償判斷步驟
一個典型的卷積神經網絡(CNN)結構如圖4所示,主要由輸入層、卷積層、池化層、全連接層和輸出層(分類器) 構成[9]。其中卷積層和采樣層為池化層為隱性層,卷積層和池化層可以交替進行,每一層都有多個特征圖,每個特征圖都有多個神經元,每個特征圖通過卷積核濾波可以提取輸入的特征,然后經過池化層按照最大或平均值采樣,經過維數的變化,輸入到全連接層,全連接層的作用是將所有特征變成一種識別標簽,之后可以通過激活函數(一般常用的激活函數有sigmoid 函數、雙曲正切函數tanh、Softplus函數以及使用廣泛的ReLU函數)進入最后的輸出層,最后一層相當于一個分類器,可以采用邏輯回歸、Softmax回歸甚至是SVM(支持向量機)[8]進行結果的判斷與分類。
常見的激活函數有sigmoid函數、雙曲正切函數tanh、Softplus函數以及使用廣泛的ReLU函數。sigmoid函數與雙曲正切函數tanh是研究初期最常見的兩種激活函數,對中間部分的信號激活增益大,對兩側部分的增益小,在特征映射上有一定的好處,但Sigmoid函數在飽和的時候梯度較小,比較緩和,容易造成過擬合,沒法繼續(xù)進行訓練,不能很好地產生稀松數據;而雙曲正切函數tanh是關于零點反對稱,不符合生物神經元的基本特性。后來不飽和的非線性激活函數ReLU函數以及Softplus函數被提出來了,其中ReLU函數使用最為廣泛,ReLU函數、Softplus函數如圖5所示,其計算表達式分別如下:
f(x)=max(0,x)
(7)
f(x)=ln(ex+1)
(8)
ReLU函數將小于0的信號全部強制變成0,大于0的信號則保持不變,使網絡變得稀疏,避免了過擬合的現象。但當梯度下降過大的時候,訓練容易停止,信號強度一直為0,神經元不再被激活,而Softplus函數使整個網絡變得平滑,是ReLu函數的平滑表示,存在的問題是不具備稀疏性。
圖4 卷積神經網絡的典型結構
圖5 不飽和的非線性函數
常見的激活函數存在一些問題。本文對其進行了一些改進,運用了改進的激活函數[11-12],其計算公式如下:
(9)
這樣而來改進的激活函數,小于0的信號采用了ReLu函數的優(yōu)點,強制轉化為0,從何具備了稀疏的特性,而大于0的部分采用了Softplus函數的優(yōu)點使其同時具備了平滑的特性。該激活函數的函數曲線和導函數曲線如圖6所示。
圖6 改進的激活函數與其導函數曲線
由圖6可看出,改進的激活函數既具備了稀疏性又具備了平滑的特性,解決了卷積神經網絡過擬合不收斂的問題,同時函數計算簡單,收斂更快。為了避免改進過后的網絡使圖像信息過于稀疏,導致圖像信息丟失嚴重,設計了兩種改進激活函數的卷積神經網絡模型ReLu+Softplus(a)、ReLu+Softplus(b)來進行訓練學習[11],如圖7所示。
圖7 改進的卷積神經網絡結構
實驗數據集的制作主要通過兩個步驟,一是從互聯網上下載,二是使用數字槍瞄鏡進行連續(xù)抖動地拍攝軍事目標的模型,獲取的圖像數據并通過數據接口傳至PC終端。由于訓練樣本量較小,所以訓練樣本將軍事目標共分為8類,其中包括坦克,裝甲車,作戰(zhàn)士兵、自行火炮,暗堡,直升機等如圖所示,每類目標圖像共制作2 000張作為卷積神經網絡訓練樣本,部分訓練樣本如圖8所示,其中訓練樣本的合理選擇是提高識別率的關鍵,因此在保持足夠訓練樣本數量的條件下,采用了比如目標定位、角度旋轉、尺度縮放等方法對訓練樣本進行處理,將訓練樣本的關鍵特征給模型訓練,使無關的訓練特征盡可能少,提高識別精度。
圖8 部分訓練樣本
除了每類2 000個訓練樣本圖像之外,還需要制作1 000張圖像為測試樣本,其中要求測試樣本中有一部分是數字槍瞄系統抖動拍攝的圖像,且將其圖像像素大小統一,實驗流程如圖9所示,首先通過數字槍瞄系統采集圖像,然后將獲取到的圖像通過傳輸接口傳輸至PC端進行抖動處理與目標識別,驗證改進卷積神經網絡目標識別的可行性。
圖9 實驗流程
根據上文的實驗流程,為了獲取抖動圖像處理的效果,取其中連續(xù)拍攝,并且存在抖動現象的10幀圖像進行實驗。實驗處理前后垂直方向的灰度投影值如圖10(a)、圖10(b),從圖中可以看出,實驗處理前后的垂直灰度投影值波形相差不大,但有些幀頻橫坐標方向存在較大的抖動偏移,經過圖像抖動處理之后,偏移量減小,處理前后10幀的投影值曲線趨于穩(wěn)定,實驗表明圖像抖動減小比較明顯。
圖10 實驗處理前后的垂直投影曲線
在連續(xù)拍攝抖動圖像序列中,兩幀之間主要產生水平方向和垂直方向的抖動偏移,圖11白色區(qū)域表明兩幀圖像抖動的偏移量,經過處理后,抖動的偏移量明顯減少。
圖11 圖像抖動處理前后兩幀差
根據實驗流程,設定兩個卷積層的濾波器個數分別為6和16,均為5×5的卷積核,兩個下采樣層均采用核的大小為2×2的均值下采樣方式,采取分批訓練的方式對網絡進行訓練,最后通過測試得出卷積神經網絡在不同激活函數下的識別度效果圖,如圖12所示。
根據識別圖12可以看出,根據本文制作的數據集,在迭代4 000次之后,對于所有的卷積神經網路模型的損失函數下降到最低,識別率都達到飽和無法進一步上升。對于數字槍瞄鏡獲取的目標,改進的激活函數比使用其他激活函數的CNN模型在相同迭代次數下的識別效果要好,其中采用改進激活函數的卷積神經網絡ReLu+Softplus(b)的識別效果最好,但識別速度準確度還有待提高。其識別效果如圖13所示。
圖12 實驗效果
圖13 識別效果
本文圍繞數字槍瞄系統的自動目標識別技術研究展開,依據搭建的數字槍瞄系統實驗平臺,對其獲取圖像序列存在的抖動問題,提出了基于灰度投影法的來進行圖像消抖的預處理,實驗表明,采用這種辦法能有效的減小圖像序列抖動,之后本文提出了基于改進激活函數的CNN模型來進行軍事目標的識別,并制做了模型訓練樣本和測試樣本,通過實驗結果表明,改進激活函數的CNN模型比使用其他激活函數的識別速度快,識別率高。卷積神經網絡在數字槍瞄系統的應用,為下一步在數字槍瞄系統中實現自動目標跟蹤提供了新的方案。對提高我軍的作戰(zhàn)水平,輔助作戰(zhàn)人員實現智能化決策有較大的實際意義。