張立民 姜 杰 方 偉 劉 凱
(海軍航空大學 煙臺 264001)
座艙模擬飛行訓練,是指通過配備油門、拉桿、腳蹬等真實的操縱原件,結合視景系統和動感平臺還原真實的飛行體驗,可以對飛行員進行起飛、降落、空中加油、編隊飛行、戰術對抗以及面對復雜情況下的應急處置訓練。其低成本、低風險和高效果、高回報的訓練方式,對未來真實訓練作戰具有重要的戰略意義。通過對座艙模擬飛行訓練中的飛行員頭部姿態進行解算和跟蹤,可以實現頭位跟蹤瞄準、注意力分配、疲勞度檢測等功能,這對于提升飛行員訓練水平具有十分重要的意義。
目前對于飛行員頭位跟蹤的方法還停留在傳統的光電法和電磁法,運用機械、傳感器等手段對飛行員頭部進行跟蹤定位,在座艙模擬飛行訓練環境中,通過計算機視覺結合機器學習算法,可以實現對飛行員頭位的實時跟蹤解算,有效提升訓練效果。相較于傳統方法,簡單便捷,對飛行員頭部無負擔,結算定位快速準確,受干擾小,采用HOG對特征提取相比于Haar,可以很好地描述了形狀、外觀信息,提取特征點多,并且對光線變化和小量的空間平移不敏感,計算復雜度小。
飛行員頭位跟蹤方法,首先通過HOG提取視頻中單幀圖像的特征,經SVM對特征進行分類,完成人臉檢測,然后通過Heatmaps對圖像中人臉關鍵點進行標記,最后運用Posit算法完成對飛行員頭位的跟蹤定位。
HOG即方向梯度直方圖(Histogram of Orient?ed Gradient),是被廣泛應用于計算機視覺和圖像處理的一種特征提取算法,可以對圖像特征加以描述的算子,通過計算圖像中各個區域的方向梯度直方圖,從而完成對特征的提取和統計[1]。其核心思想就是對圖像進行梯度信息的統計,梯度主要存在于圖像的邊緣區域,局部目標可以被梯度和邊緣密度分布加以描述,HOG具有對圖像的幾何變換、光學變化具有高魯棒性的優點[2]。
對于圖像中每個像素的梯度計算公式如下:
式中,Gx(x,y),Gy(x,y)分別為圖像中位置為(x,y)的像素點的水平與豎直方向的梯度值,I(x,y)為像素點的灰度值。
像素點(x,y)的梯度幅值和大小由以下公式表示:
通過對于圖像的每一個像素點計算其梯度,然后將每一個像素點的梯度方向進行匯總,以直方圖的方式表示,把梯度幅度值的大小作為直方圖的權重。
由于局部的光線變化和前后景對比度的變化會使梯度發生較大的變化,因此需要對梯度強度進行歸一化處理,完成對光線、陰影和圖像邊緣的壓縮,從而使得到的特征計算結果更具魯棒性[3]。
歸一化的過程為將上述所有圖像塊進行匯總,使其組合成大的、在空間上連通的區域,然后將所有小圖像塊的特征進行串聯,用以反映圖片的整體特征,在得到圖像的特征向量后,通過訓練支持向量機(SVM)對特征進行分類,完成人臉檢測。通過訓練后的二分類器判斷該區域是否存在人臉,再運用非極大抑制算法(NMS)來合并重復檢測區域,最終得到檢測結果。其步驟如圖1所示。
圖1 HOG-SVM算法對人臉檢測步驟圖
由于HOG是基于邊緣特征,只關注了物體的邊緣和形狀信息,對目標的表現信息并沒有有效利用,因此對于遮擋問題不能很好地處理,并且因為梯度本身的性質,導致對噪聲較為敏感,因此提出了結合人臉關鍵熱圖處理遮擋問題的方法。
關鍵點熱圖(Landmark Heatmaps)是在關鍵點位置周圍具有高強度的圖像,它隨關鍵點位置的距離而變化,利用關鍵點熱圖,可以推斷出人臉的關鍵點位置,從而對它們進行細化[4~5]。熱圖的計算公式如下:
其中,H表示熱圖圖像,Tt(St-1)是根據前一階段生成的關鍵點估計轉換產生的標準位姿,Si是第i個關鍵點的標準位姿。
對于人臉關鍵點熱圖生成的過程可概括為以下步驟[6~7]。
1)設定內核形狀的半徑作為輸出網格的大小。
2)獲取x,y的最小值和最大值來生成序列號,將序列號用以構建網格。
3)通過添加x,y的網格坐標計算每個網格的中心點。
4)計算每個網格點的密度值,將密度值按強度大小進行排列,得到強度列表。
5)通過顏色網格得到可視化結果。
熱力圖對面部特征進行提取,可以有效克服遮擋問題,提升檢測定位精度。
POSIT(Pose from Orthography and Scaling with Iterations)算法[8~9],是一種迭代算法,通過正交投影從單幅圖像中估計物體的姿態。需要已知可檢測和匹配圖像中四個或更多不共面的特征點及其對應的坐標位置。算法的核心思想是首先建立人臉模型得到初始頭部姿態,然后通過求解線性方程得到頭部的旋轉矩陣和平移向量,最后不斷迭代近似姿態計算正交投影,經過尺寸變換得到頭部姿態。
首先建立人臉的模型,模型公式如下[12]:
其中,(α,β,γ)表示頭部姿態的三個旋轉角度,N表示面部標定的特征點個數,qi表示待測的面部特征點,pi表示對應的三維通用標量,s為伸縮因子。旋轉矩針R由三個矩陣相乘,表示如下:
在得到飛行員頭部由世界坐標系到攝像機坐標系的旋轉矩陣和平移向量后,通過旋轉矩陣計算的得到歐拉角即為頭部姿態。
POSIT算法的優勢在于只需用到極少數點的信息,同時又避免了求解復雜非線性方程的過程。但是POSIT存在累計誤差的問題,為此設定了圖像誤差的閾值,如果超過閾值,就重新進行初始化。
實驗采用FDDB(Face Detection Data Set and Benchmark)數據集進行人臉檢測實驗,該數據集選取野外拍攝的2845圖片中共計5171張人臉,是被廣泛用于人臉檢測的權威數據集,本文選取2000張正面人臉圖像作為正樣本,選取3000背景圖片作為負樣本,分別抽取用于600個正樣本和1000個負樣本用于訓練分類器,訓練后的分類器其結果見表1。
表1 訓練后分類器結果
以誤報樣率為x軸,以召回率為y軸,繪制ROC曲線,見圖2。
圖2 SVM分類器ROC曲線圖
將HOG-SVM法與Viola&Jones算法作對比,其結果如表2所示。
表2 兩種方法實驗結果對比
實驗結果表明,該方法相比于Viola&Jones算法檢出率高,魯棒性好。
對于面部關鍵點測試,采用AFLW(Annotated Facial Landmarks in the Wild)數據集,該數據集包含多姿態、多視角的人臉數據,主要用于評估面部關鍵點檢測效果,其中共有21997張圖,25993張面孔,每張人臉標注21個關鍵點,共380k個關鍵點。
實驗測試結果如圖3所示。
圖3 人臉關鍵點熱力圖
對人臉特征點檢測,熱力圖法相比于基于模型的方法,可以有效克服遮擋問題,從而獲得更為準確的定位。
最后,在真實場景中進行測試,效果見圖4。
圖4 真實場景下測試效果圖
連續視頻中每秒檢測并輸出頭部姿態速率可達36幀,滿足實時性要求。
將計算機視覺的方法應用于飛行員的模擬飛行訓練中,具有開創性的意義,相較于傳統的光電法、電磁法測量飛行員頭位數據,具有設備簡單測量范圍大、抗干擾強的優勢,但相比于最新的深度學習的方法,仍需要手動標記人臉特征,人臉檢測耗時長,準確度和實時性仍有待于提升,在后續的研究中,將進行有針對性的改進。