沈美麗,張睿
(青島理工大學理學院,山東 青島 266520)
隨著無人機在軍用及民用領域的快速推廣和應用,加大對無人機的法律法規監管、加快無人機反制技術的研發已經迫在眉睫[1]。在反無人機探測跟蹤技術中,視覺技術擁有目標可視化、可主動跟蹤的優勢,能夠彌補雷達不能有效辨識目標的缺陷。由于無人機在圖像中成像像素少,特征獲取困難,且在無人機遠近飛行過程中存在的尺度變換等問題,對跟蹤的準確性和魯棒性要求較高,因此針對遠距離無人機等弱小目標的高度與距離測量是一個比較困難的問題。
現有的視覺測量主要包括單目、雙目與結構光視覺測量等。其中,結構光由于光源的限制,應用的場合比較固定;雙目視覺難點在于特征點的匹配,并且在三維場景[1]投影為二維圖像的過程中存在著畸變、噪聲,導致圖像深度和不可見部分的信息丟失情況,影響了測量的精度和效率;單目視覺結構簡單、成本低,系統工作量小且運算速度快[2],本系統設計采用單目視覺進行測距。
當前的單目視覺測距按照測量的原理主要分為基于已知物體的測量方法[3-4]和基于已知運動的測量方法[5-8]。基于已知物體的測量方法是指在已知物體信息以及攝像機內外參數的條件下利用攝像機獲取目標圖像并得到深度信息;基于已知運動的測量方法是指利用攝像機的參數與移動信息結合攝像機拍攝的圖像信息測得目標的距離信息。根據本文所設計系統的應用場景選擇前一種測距方法。
基于三角計算關系的測高測距算法[16-17]采用單幅圖像,在已知目標物體的實際尺寸值情況下,根據攝像機的焦距、俯仰角參數和搭建的平臺高度并結合目標跟蹤算法返回的目標跟蹤框大小來估算深度信息。整個過程分為兩步,獲取跟蹤框及距離估計。下面將對算法原理進行具體介紹。
根據實際情況,在測距測高[18-19]過程中主要分為兩種情況,即攝像頭水平放置與攝像頭傾斜放置。第一種攝像頭水平放置情況的原理圖如圖1 所示。

圖1 攝像頭水平放置測高測距原理圖
圖1 中,鏡頭平面與實際地面垂直,攝像機放置于距離地面Hg處,f為攝像機的焦距,O為鏡頭光心,目標經過相機的光心成像于像平面上,假設實際目標所在平面與相機平面的距離為d,目標的實際高度為Ho,在成像面上的高度為ho,目標下沿距離攝像機放置的水平面的垂直高度為Ha,對應成像面中目標距離中心坐標的高度ha。根據三角形計算原理,存在以下關系:

在實際檢測前,需要對攝像機進行標定,即在待檢測目標已知實際尺寸Ho、距離d的情況下,測試出準確的f值。在使用變焦鏡頭的情況下,需要對不同倍的焦距進行多次標定。即:

得到攝像機的焦距f后,可通過在成像面上的高度為ho計算得出目標的水平距離:

并可進一步求得目標距攝像機水平面的高度Ha,可求得目標的實際高度H:

第二種攝像頭傾斜放置情況的原理圖如圖2所示。

圖2 攝像頭傾斜放置測高測距原理圖
在傾斜放置的情況下,攝像機與水平面的仰視角度為α,成像面、鏡頭所在平面與攝像機觀察的實際物體所在面均相對垂直面傾斜相同角度α,實際物體尺寸Ho位于垂直面,但攝像機仰視觀察時認為物體尺寸為,其對應關系為:



物體實際高度為:

可知,攝像機水平放置時即α=0,是攝像機仰視放置的一個特例。目標高度的顯示值為整個物體的中心點與整幅視頻圖像中心點的上下距離比較,是相對鏡頭畫面中點的相對值,不是相對地面的絕對高度值。
將1.1 算法原理與Galoogahi 等人于2017 年提出的一種用于視覺跟蹤的學習性背景感知相關濾波器背景感知相關濾波器,即BACF(Background-Aware Correlation Filters) 跟蹤算法[9-10]相結合。BACF 跟蹤算法速度較快,可達到35.3 frame/s,將背景信息作為負樣本進行更新,減輕了邊界效應,成功率較高且具有較好的尺度變換功能,在一定范圍內能夠對運動目標進行較好的跟蹤,當運動目標移動過快,移出檢測框時則會丟失目標。結合后算法整體流程如圖3 所示。

圖3 測高測距算法流程圖
本文實現了在對無人機目標進行跟蹤的同時評估出目標距離攝像頭的高度與距離的功能,使用大疆精靈2 無人機錄制遠近距離視頻進行跟蹤、測高測距實驗。其中近距離視頻可對實際距離進行測量,可分析準確度,遠距離視頻因實際距離難以測量,因此只能對跟蹤與測距的效果進行一個較為直觀的判斷,無法進行具體的分析。實驗測試采用3段視頻,分別是近距離尺度變換視頻(圖4 和圖5)、遠距離尺度變換視頻(圖6)、田間飛行視頻(圖7)。

圖4 無人機近距離尺度變換視頻手動畫框效果圖

圖5 無人機近距離尺度變換視頻自動跟蹤效果圖

圖6 無人機遠距離尺度變換視頻效果圖

圖7 無人機田間飛行視頻效果圖
該近距離視頻采用手機攝像頭錄制,對焦距重新進行計算后選用攝像頭焦距為1 038.857 1 mm。在無人機近距離尺度變換視頻中,自動跟蹤時能夠實現無人機由遠及近時目標框跟隨目標物體運動且隨著目標尺寸的變化而變化,在一定距離范圍內結果與手動劃取目標框的結果相近,跟蹤效果以及尺度變換效果較好,但距離較遠時誤差較大。
因遠距離視頻中無人機目標較小,攝像頭在拍攝過程中對焦距進行調整,如圖6 所示(目標位于長方形框的中心)。在程序中,焦距參數調整為原參數的10 倍。該視頻共840 幀,截取了106 幀、305幀、505 幀和702 幀進行觀察,在視頻運行過程中,無人機目標一直在向遠離攝像頭的方向移動。具體估測數據如表1 所示。

表1 無人機遠距離尺度變換視頻數據顯示
可見該算法的幀率大約在48 frame/s 左右,隨著無人機由近及遠的運動中,目標尺寸逐漸減小,跟蹤算法的尺度變換效果較好,距離由137 m 逐漸變化到251 m。
田間飛行視頻中無人機目標較大,可以清晰地看到無人機目標的遠近距離移動,視頻中無人機反復進行遠近移動,尺度變化明顯。
近距離視頻可以確定真實值,可以對錄制的無人機近距離尺度變換視頻的測高測距算法進行準確度評價,視頻為靜態無人機的定點錄制視頻,從4.8 m 到1.2 m,每次移動0.6 m 進行測試,一組共記錄7 組數據,分別對手動畫框、自動跟蹤畫框進行準確度測試,通過相對誤差來反映算法的準確度,相對誤差等于真實值與測試值的差值除以真實值,分析數據如表2 所示。

表2 無人機近距離視頻手動畫框與自動跟蹤框相對誤差
由表2 可知,使用手動畫框進行測距時,相對誤差很小,距離顯示基本是準確的。在記錄數據過程中,因視頻錄制過程中跟蹤框會自行調整,因此數據持續變動,僅記錄了每個時刻的大致數值,小數點后保留兩位。結合跟蹤算法自動對目標進行跟蹤畫框時,隨著距離的靠近誤差在逐漸減小。相對于手動畫框而言,相對誤差增大了約5%。跟蹤算法在尺度變化時的準確度對測距結果影響較大。直觀數據如圖8。

圖8 無人機近距離視頻手動畫框與自動跟蹤框準確度比較
提出了針對特定無人機目標的基于三角計算的測高測距算法,在已知目標實際大小,攝像頭焦距、俯仰角等參數的情況下,將相似三角形原理與BACF 算法相結合,實現了對無人機目標進行跟蹤的同時評估出目標距離攝像頭的高度與距離。由實驗結果可知,該算法可對無人機目標進行有效跟蹤并評估其距離,平均相對誤差為5%。另外,高度的測量是利用目標的中心坐標點相對整幅圖像中心的高度值或相對整幅圖像下沿的高度值,不具有很好的實際意義。
算法在鎖定目標并進行跟蹤后,可實時判斷出目標相對攝像頭的高度與距離,可為后續的反制措施提供有效的位置信息,在接近敏感區域時能及時預警,對于確保重要人員、場所的安全具有重要意義。所提算法除可應用于反無人機光電模塊中的跟蹤與檢測步驟外,還可推廣應用于其他待追蹤目標的距離評估中。