?

一種基于Star算法的多路視頻穩像方法研究

2023-01-29 08:55王棟梁徐嘯康白宏陽郭宏偉
遙測遙控 2023年1期
關鍵詞:光流法導引頭矢量

王棟梁,徐嘯康,白宏陽,郭宏偉

(1 中國兵器工業試驗測試研究院 華陰 714200;2 南京理工大學能源與動力工程學院 南京 210094)

引言

隨著科技的進步,現代化戰爭逐漸向著信息化、智能化方向發展,其中制導武器的發展極為迅速。制導武器因其在戰場上能夠實現自主、高效費比地精準打擊而在戰場上扮演的角色越來越重要。在圖像導引頭中捷聯式導引頭與框架式導引頭相比,有著抗過載、體積小、成本低等優勢[1]。但捷聯式圖像導引頭具備這些優勢的同時也因導引頭與彈體固連的結構導致圖像導引頭獲取的目標視頻會隨著彈體擾動而產生抖動,嚴重影響了后續的目標跟蹤檢測精度。此外,在實際應用中發現單目圖像導引頭存在視野窄等弊端。借鑒仿生學原理,多路復眼圖像導引頭通過多路光學設計,可實現大視場并行探測,同時又不需要框架平臺,成本低??惯^載能力強,近幾年備受國內外研究學者的關注。由于無穩定平臺,解決捷聯式復眼導引頭的多路視頻抖動的穩像技術是復眼導引頭形成裝備需要突破的關鍵技術之一。

通常視頻穩像技術可分為機械式穩像、光學穩像和電子穩像技術三類[2]。機械式穩像技術是最早被應用的穩像技術,通常需要陀螺穩定平臺衰減低頻震動或采用減震裝置來隔離載體的抖動來實現穩像。光學穩像是通過采用光穩元件實現,當儀器受到載體擾動,穩像元件能夠借助慣性穩定機構保持穩定不動,滿足穩像要求。相比上述兩種方法,電子穩像技術則采用純數字圖像處理的方法,具備成本低、精度高、速度快等優點,成為穩像技術的重要研究方向,也更適用于解決捷聯式圖像導引頭存在的視頻抖動問題。

1 特征點提取算法

傳統電子穩像主要分為3 個步驟:運動估計、運動補償、圖像修補[3]。其中運動估計步驟最為重要,運動參數估計的準確與否很大程度地決定了后續視頻穩像的質量。目前主流的運動參數估計方法有塊匹配法、灰度投影法以及特征點匹配法[4,5]。塊匹配法對選取塊的尺寸大小十分敏感,灰度投影法在灰度信息單一的場景中處理效果較差,且這兩種方法易受背景影響,多應用于只有平移運動的參數估計,而基于特征點匹配的方法對平轉、旋轉以及縮放等變化場景皆有較好的估計效果[6]。

常用的特征點檢測方法主要有:SIFT(Scale Invariant Feature Transform,尺度不變特征變換)算法、SURF(Speed-Up Robust Feature,加速魯棒特征提?。┧惴?、FAST(Features from Accelerated Seg?ment Test,角點檢測)算法等。2004 年,SIFT 算法被D.Lowe[7]提出,該算法利用高斯差分算子結合梯度直方圖完成特征的描述,具有尺度、旋轉、光照以及平移等多方面的不變性,隨即用于電子穩像算法中特征點的提取,但是計算量大。2006年,Bay 等人[8]針對SIFT 算法在初始特征篩選步驟太過耗時的缺陷,提出了SURF算法,其利用積分圖像提升了計算效率,比SIFT 算法快近3 倍,不足之處是會增加誤匹配率。2006年,E.Rosten和T.Drummond[9]提出了一種簡單快速的特征點檢測方法,并在2010 年稍作修改發表了FAST。FAST 特征點檢測算法通過像素點之間像素值的比較從而確定特征點的位置,也正因此被認為是最快的特征點檢測算法,然而它不具備圖像尺度不變性。M.Agrawal 等 人[10]提 出 了CenSurE(Center Sur‐round Extremas,中心環繞極值)特征提取方法,采用了雙層濾波器來近似高斯拉普拉斯算子,大大減少了計算時間,然而由于其使用的是方型濾波器,在應對旋轉45o時性能較差。針對這個缺點,Star 特征提取算法[11],采用星型濾波器,由方形濾波器與旋轉45o后的方形濾波器組合而成。主要分為以下三個步驟:

①使用雙層濾波器構建尺度空間

CenSurE 構建尺度空間時采用簡單的雙層濾波器來近似高斯拉普拉斯。圖1 所示為方型濾波器,又稱CenSurE-DOB。CenSurE-DOB 濾波器的內核尺寸為(2n+1)×(2n+1),外核尺寸為(4n+1)×(4n+1)。設In為內核權重系數,On為外核權重系數。為了使這種濾波器的DC 響應為0,權重系數需滿足等式:

圖1 方型濾波器Fig.1 CenSurE-DOB

對尺度進行歸一化:

星型濾波器,即CenSurE-star,由方型濾波器和一個45°旋轉的方型濾波器組合而成,如圖2 所示。每個像素點的中心環繞哈爾小波響應值也由原始積分圖像和45°旋轉積分圖像疊加得到。CenSurE-star 生成尺度空間時采用7 個尺度,檢測子是在每一個像素上將濾波器與影像進行卷積運算,并利用積分圖像加速運算進程,從而獲取該像素對應尺度的空間值,循環計算各尺度便可得到近似的LoG空間。

圖2 星型濾波器Fig.2 CenSurE-star

②檢測局部極值點

采用非極大值抑制的方法檢測尺度空間極值點作為候選特征點。將尺度空間每個像素點與本尺度層的8 個鄰域點和上下相鄰兩尺度層的18 個鄰域點進行響應值比較,濾除小于設定閾值的極值點。

③濾除邊緣上的不穩定點

采用尺度適應的Harris 方法計算主曲率[12],表達式為:

式中:Lx、Ly為響應函數L在x和y方向的偏導,通過計算Ha的跡和行列式即可計算出相應的主曲率,主曲率閾值設為10。濾除大于閾值的候選點,即剔除邊緣響應,剩余的候選點即為包含了位置和尺度信息的CenSurE-star特征點。

Star特征提取算法不僅提供了尺度不變性,且穩定性好、計算效率高。本文基于Star算法,設計了Star與光流法結合的特征提取算法,加快了前后幀特征點的提取速度,降低了特征點的誤匹配率;同時針對多路抖動視頻產生的并行穩像問題,利用了并行開發庫的并行處理思路,提出了先對圖像進行分塊,后對圖像塊并行提取特征點的解決措施,大幅度減少了穩像耗時。

2 單路穩像算法設計

2.1 運動估計

運動估計模塊首先對待處理的抖動視頻提取連續兩幀圖像,灰度化處理完提取幀,改進后的特征點提取算法選取了Star算法提取當前幀的特征點,記做(xi,yi),然后利用金字塔光流法預測下一幀對應的特征點(xi',yi')。金字塔光流法的原理主要是:首先對相鄰兩幀圖像進行分層(方便理解,假設為3層)處理,然后計算當前幀已提取的特征點U0在各個層中的對應的點U1、U2和U3,接著從金字塔最高層開始,以U3作為下一幀中最高層的初始點V3計算當前最高層中的最小誤差點V'3以及得到相應的光流,再由計算出來的光流找到下一幀中第二層的V2作為初始點,經過相似計算后得到第二層的最小誤差點V'2,以此類推最終得到第0層的最小誤差點V'0,即特征點U0在下一幀中對應的特征點。

如圖3所示,金字塔光流法利用了當前幀已提取出來的特征點信息去跟蹤預測下一幀對應的特征點,加快了特征點的提取速度,提升了特征點匹配的準確率。

圖3 金字塔光流法原理圖Fig.3 Pyramid optical flow principle diagram

隨后,依據前后兩幀匹配特征點的位置(xi,yi)和,由計算公式(4)可得出前后兩幀圖像間的仿射變換矩陣H:

其中,H=,參數a11、a12、a21、a22表示視頻幀間的旋轉以及縮放部分,參數a13和a23則表示視頻幀間的平移運動。上述運動估計步驟具體流程如圖4所示。

圖4 改進后的運動參數估計步驟流程圖Fig.4 Flow chart of improved motion parameter estimation steps

2.2 運動平滑

相機在拍攝過程中,相機的運動矢量通常由主觀運動矢量和隨機抖動矢量結合而成,運動平滑步驟則需要濾除隨機抖動矢量,保留相機的主觀運動矢量,使得穩像后的視頻流運動軌跡平滑,以提升視頻穩像效果。

Kalman濾波器是常用的濾波器之一,它采取預測值加上觀測值的方法來計算當前時刻的估計值。本文采取Kalman濾波器對上述求出的運動參數做濾波平滑處理[13,14]。預測模型的具體計算公式為:

上式中,X(t|t-1)為第t幀對應狀態預測量,X(t-1|t-1)為第t-1 幀對應狀態的最優估計值,P(t|t-1)為第t幀對應的狀態協方差矩陣,F為系統轉移矩陣,Q為預測噪聲的方差陣。

Kalman濾波器的更新模型具體計算公式為:

上式中,M(t)為第t幀的Kalman 增益,Z(t)為觀測矩陣,I為單位矩陣,R為測量噪聲的協方差,P(t|t)為濾波后的協方差,H為均方誤差。

2.3 運動補償

根據已分離出來的抖動分量對圖像進行補償。首先,計算相鄰兩幀之間的運動矢量?Vk,累加得到當前幀圖像的絕對運動矢量Sk,得到每一幀圖像的絕對運動矢量Sk后,對Sk做平滑濾波,得到平滑后的絕對運動矢量Sk',則Sk'-Sk就是每一幀圖像的補償運動矢量,然后,加上補償運動矢量后的圖像序列,則可得到最終穩像后的視頻。

3 多路視頻的并行穩像及加速方法設計

由于單目導引頭的視場受限,彈體在實際飛行中需要采用多目導引頭,亦稱復眼導引頭,以提供一個更廣闊的視野。然而復眼導引頭受彈體抖動的影響也隨多目的數量被放大,由于多路視頻的同時輸入,對彈載處理器資源造成了一定的壓力,多路抖動視頻存在實時數字穩像的困難。

3.1 并行開發庫

目前對于圖像處理程序的并行化處理主要通過硬件和軟件兩個方面去實現。硬件方面主要是通過GPU、DSP、Intel多核處理器等多核平臺進行加速,軟件方面主要是利用并行化庫對軟件程序進行并行改造。當前常用的并行化庫有MPI(Message Passing Interface,消息傳遞并行編程環境)和OpenMP(Open Multi-Processing,共享存儲并行編程)。MPI在并行規模上伸縮性很強,適用于個人電腦以及超級計算機,但缺點是編程麻煩且并行效率低、內存開銷大;OpenMP 是一套共享存儲方式并行程序接口,采用Fork-Join 模型來實現程序的并行化,無需再進行復雜的線程創建、同步、負載平衡和銷毀工作,應用到多核結構上并行效率高、內存開銷小,因此可利用OpenMP并行開發庫對多路輸入視頻進行并行化穩像處理。

3.2 并行加速處理

針對穩像算法中耗時較多的步驟:運動估計以及運動濾波,設計改進后的并行穩像算法步驟流程圖如圖5所示:

圖5 并行穩像算法步驟流程圖Fig.5 Parallel video stabilization algorithm step

第一步:對輸入的多路視頻進行幀緩沖、循環提取連續兩幀圖像以及完成圖像灰度化預處理;

第二步:基于并行化庫OpenMP對預處理完后的當前幀先分塊再并行提取各圖像塊特征點,完成當前幀特征點的提取后進而并行采用光流法跟蹤提取下一幀的特征點;

第三步:對前后幀匹配的特征點,并行計算出各自對應的仿射變換矩陣H1、H2……Hi(i=1,2......n);

第四步:對上述通過仿射變換求出來的運動矢量,采用卡爾曼濾波器并行濾波,濾除各路的隨機抖動矢量[15];

第五步:為各路濾波后的運動矢量計算對應的補償運動矢量,各路圖像序列加上補償運動矢量,完成視頻穩像。

具體并行化處理程序示例如下:

#pragma omp parallel sections

#pragma omp section

{第1路當前幀特征點提取}

#pragma omp section

{第2路當前幀特征點提取}

……

#pragma omp section

{第n路當前幀特征點提取}

其中OpenMP 指導語句“#pragma omp parallel sections”用來明確開啟多線程的起始點,指導語句“#pragma omp section”用來明確子線程的起始點。

4 實驗與分析

4.1 實驗設置

本文最終選取了兩種平臺進行所設計算法性能的測試比較:PC 端與NVIDIA 的嵌入式開發板TX2,其中PC 端硬件配置如下:Intel(R) Core(TM) CPU i7-7700@3.60 GHz,16 G 內存,操作系統為Windows 10。軟件平臺選取包含Opencv 庫(3.4.3 版本)的Visual Studio 2013。TX2 的配置如下:操作系統為Ubuntu 16.04,編譯器為GCC 6.1版本。抖動視頻選取OTB100 數據集中的BlurCar系列作為輸入測試視頻。

4.2 評價指標

幀間峰值信噪比PSNR 是廣泛用于評價電子穩像效果的指標之一,通過比較連續兩幀圖像之間像素值的變化,最終客觀、定量地評價穩像算法的好壞。計算公式如下:

上式中EMSE為幀間均方差,W、H 分別為圖像長寬,I(x,y)為當前幀點(x,y)處的像素值,I'(x,y)為下一幀點(x,y)處的像素值,Imax為當前幀中圖像最大像素值。前后兩幀圖像之間RPSNR值越大,意味著視頻前后兩幀重合度越高,視頻穩像效果越好。

4.3 單路穩像效果比較

仿真測試視頻選取OTB 100 數據集中的Blur系列視頻以及外場試驗拍攝的旋轉抖動視頻。本文選取近幾年的穩像算法進行比較,分別是酒銳波等人[16]的基于FAST-9 角點檢測與光流法結合的穩像算法和曾強等人[17]的基于SURF 特征提取算法加 上BRIEF(Binary Robust Independent Elemen‐tary Features,二進制特征描述)運動估計的穩像算法。

圖6、圖7 為上述方法在復雜車輛抖動場景、旋轉抖動場景下的兩種抖動視頻中提取的特征點以及前后幀特征點匹配的效果圖。

圖6 場景1算法特征點匹配圖對比Fig.6 Scene 1 feature point matching map comparison

圖7 場景2算法特征點匹配圖對比Fig.7 Scene 2 feature point matching map comparison

觀察在上述不同場景下的特征點提取以及匹配效果圖,可以發現,對當前幀提取特征點后,FAST-9 算法提取得到的特征點呈現聚簇的現象,而SURF 算法與Star 算法提取到的特征點較均勻。隨后用光流法跟蹤提取下一幀相應的特征點,使用BRIEF 對三種算法提取到的前后幀特征點進行特征描述進而進行特征點匹配。在特征點匹配圖中,近乎水平的直線表明前后幀特征點獲得了準確的匹配,再觀察可知,FAST-9 算法與SURF 算法在場景1中均存在數量較多的誤匹配點,而改進后的Star算法近乎沒有誤匹配點,針對旋轉變化大的場景2,FAST-9 算法與SURF 算法的準確匹配率急劇下降,而改進后的Star算法依舊保持較高的準確匹配率。綜上2種典型場景下的特征點匹配效果圖,可以看出改進后的Star 算法相比另外兩種算法,可以更好地適應各種復雜背景下的特征點提取與匹配。

三種算法針對上述提到的BlurCar 系列視頻在PC 端以及TX2 兩種平臺下的具體穩像參數對比如圖8以及表1所示。

圖8 各場景下各算法穩像后提升PSNR對比Fig.8 Comparison of improved PSNR after image stabilization in various scenes

由表1 可以看出,本文算法穩像后的視頻在PSNR 提升方面略優于另外兩種算法,在PC 端以及TX2 平臺下穩像速度方面則有著明顯優勢,能夠較好地滿足實時穩像的需求。

4.4 并行穩像速度分析

為了定量對比串行與并行的穩像速度,本文選擇輸入同一抖動視頻BlurCar2。鑒于創建多線程的過程也會耗費時間,因此分別選取2 路、4 路和8 路同時輸入的情況作為串、并行穩像耗時比較。完成對整個抖動視頻的穩像操作后,再由已知的視頻幀數求出平均每幀穩像耗時。兩種平臺下的具體耗時對比如下表2所示:

表2 串、并行穩像速度對比Table 2 Serial and parallel image stabilization speed comparison

由表1 觀察可知:在PC 平臺下,多路視頻輸入的情況中,并行穩像的平均每幀耗時比串行穩像耗時依次減少了56.57%、59.64%和54.36%。相應的在TX2 平臺下,并行穩像的耗時也同樣減少了34.26%、29.76%和27.74%。綜上可見,改進后的穩像算法在應對多路抖動視頻的穩像問題上,極大程度減少了穩像步驟的耗時,能夠較好地滿足多路實時穩像的要求。

5 結束語

本文對電子穩像算法中運動估計模塊進行了研究,基于Star特征點提取算法,采用光流法跟蹤預測下一幀特征點,以BRIEF 二進制特征描述算法描述特征點,實現了圖像幀間的運動估計,最終完成了單路視頻的穩像。在此基礎上,采用OpenMP 并行開發庫對穩像算法進行了并行改造,實現了多路輸入視頻的并行實時穩像。最后,基于OTB100 數據集的BlurCar 系列視頻,本算法在PC 平臺下對4 路抖動視頻并行穩像的結果參數為:PSNR 平均提升4.62 dB,單幀耗時平均為14.51 ms。經實驗比較證實,本文的多路視頻穩像方法在速度以及穩像效果上提升明顯,具有一定的實際應用價值。

猜你喜歡
光流法導引頭矢量
矢量三角形法的應用
基于背景分類的監控視頻中的運動目標檢測算法綜述
Matlab下視頻處理系統設計與實現
權重系數自適應光流法運動目標檢測
基于矢量最優估計的穩健測向方法
全極化雷達導引頭抗干擾技術
三角形法則在動態平衡問題中的應用
半捷聯雷達導引頭視線角速度提取
一種捷聯式圖像導引頭的解耦算法
毫米波導引頭預定回路改進單神經元控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合