劉婉君
(四川大學計算機學院,成都610065)
平面目標跟蹤是增強現實領域中一種針對平面目標的三維跟蹤技術,同時也是各種視頻應用中的一個基本任務[1]。隨著社會智能化進程的加快,其需求和應用場景不斷擴大。近年來,無人駕駛汽車、SLAM 系統等領域的出現,使得平面目標跟蹤技術對于跟蹤的精確性和魯棒性要求也越來越高。回顧過去的幾十年,在前人的不斷努力和探索中,目標跟蹤已取得了長足的進步,技術相對成熟。雖然各類優秀的算法和有效的新理論相繼涌現,但現有的平面目標跟蹤算法依舊無法完全適應各種惡劣的跟蹤條件,特別是在視點移動過程中造成的運動模糊、遮擋、超出視野等復雜情況下仍面臨著巨大挑戰。
本文針對上述問題,介紹了一種結合邊緣幾何約束和直線特征的平面目標跟蹤算法。在直線檢測基礎上,利用光流點確定平面物體的凸包范圍篩選候選直線,再求解相鄰兩幀之間的直線重合度,構建像素點鄰域內線段描述子,并基于重合度和特征向量相似度實現平面目標邊緣直線的匹配,同時引入單應性矩陣對角點坐標進行約束,以確定最終目標位置。
到目前為止,常用的平面目標跟蹤方法大致可分為三類,一是基于關鍵點的方法[2-3],需要提取原始特征構建周圍點的二維描述符,以最近鄰的方式進行匹配,但一旦出現重復紋理或者關鍵點稀疏,特征點可能會失效。二是基于模板的方法[4],直接利用像素的外觀特征,不考慮特征點,然后通過最小化測量兩幀間誤差來估算模板的轉換參數,通常容易受到局部遮擋和快速運動等擾動因素的影響。三是基于圖的方法[5],采用一種幾何圖形匹配方法,輸出匹配度最好、關系最優的候選圖,最后轉化為跟蹤目標的圖像位置,此類方法對視點變化比較敏感。
上述算法在一般場景中都能工作良好,但復雜環境下跟蹤的穩定性和準確性卻難以得到保證,而本文算法不僅適用于室內,還能很好地適應戶外場景,極大拓展了自身的應用范圍。并且在直線特征描述子構建過程中充分考慮了旋轉、尺度變化等因素,與以前的方法相比,克服了視點遠近帶來的局限性,在保證有效跟蹤的基礎上,能夠一定程度上減少對跟蹤器的跟蹤性能[6]的影響。
算法將初始圖像幀中已標定的四個頂點坐標作為輸入,通過預處理操作篩選出目標周圍符合要求的部分候選直線,滿足重合度和特征相似度約束的則認為匹配成功,輸出為視頻序列下一幀中平面目標的具體位置信息。具體流程如圖1 所示。

圖1 算法流程圖
首先把彩色圖像轉換為灰度圖像,并進行高斯平滑濾波消除圖像噪聲。之后通過Canny 算子[7]檢測圖像平面內的有效直線,其原理類似于其他梯度算子,不同的是它會從水平、垂直和對角線四個不同的方向計算梯度幅值估計邊緣強度,尋找像素點局部最大值。其中非最大值抑制可以較好地減少寬度細化邊緣,接著再用雙閾值處理和連接合并斷裂的短線段。然后對時刻t 的視頻幀中平面物體邊緣按比采樣獲得輪廓點集,利用Lucas-Kanade 稀疏光流法[8]進行跟蹤。該算法基于三個不變性假設:①亮度恒定,②像素偏移小,③空間一致性,可大致計算出t+1 時刻對應點的圖像坐標。由光流跟蹤結果能夠確定目標物體所在位置的凸包范圍,位于該區域內的直線將作為候選直線用于后續重合度約束和直線特征構建處理。
假設攝像機運動微小,視頻相鄰兩幀之間運動偏移量不大。在理想情況下,基于前提條件相互重合或匹配的兩條直線線段理應基本平行,并接近于一條直線。但實際匹配過程中,絕大多數的候選直線與待匹配直線都存在一定的距離和角度,如圖2,l 表示待匹配直線,l’表示候選直線。

圖2 候選直線與待匹配直線位置關系
為突出兩條直線重合區域間的大小變化,本文采取積分求解面積的方法。以待匹配直線和候選直線交點作為原點,所交銳角的角平分線為x 軸建立新的坐標系。(x1,y1)和(x2,y2)分別對應重合區域的起點和終點坐標。設x 代表重合區域內位于待匹配直線上的點的橫坐標,s 表示任意點x 的距離,有:

為避免式(1)中的s 值因兩直線斜率相近較小而導致失效,直線重合度函數公式(2)的定義引入了模糊數學中常見的隸屬度概念,然后在定義域內繼續對該函數求定積分,所得結果即為待匹配直線與當前候選直線段重合區域的長度。

式中dis 設置為候選直線和待匹配直線對應的起點距離和終點距離的均值,分別計算當前幀中每條候選直線的重合度。本文中重合度下限為待匹配直線長度的1/2,當O( l,l' )大于等于該閾值時,則保留其重合度值,記錄匹配結果。
直線特征描述子的構建如圖3 所示,在候選直線上按順時針方向等距采點,并沿x 軸或y 軸方向確定鄰域范圍。為解決尺度因素影響,鄰域大小可根據圖像和邊緣像素比自適應調整。分別選取所在直線梯度方向上下各兩個點a1,a2,b1,b2和邊緣上一點pt,基于Lab顏色模型計算a、b 方向上采樣點與直線上的點的通道梯度值,以保證特征向量具有光照不變性和旋轉不變性。然后將其封裝成一個多維向量d(ii=1,2,…,n),最終候選線段n 個采樣點的特征向量組合構成直線特征描述子D=(d1,d2,d3,…,dn)。

圖3 直線特征向量示意圖
候選直線的匹配需要對特征向量進行重定位,即確定候選直線的特征描述子對應于待匹配直線描述子的相對位置。根據直線預處理過程光流跟蹤結果計算邊緣的最小外接圓,以圓的半徑作為基準,將候選直線的起點和終點投影到該線段上,相應占比為直線匹配的具體范圍。皮爾遜相關系數能夠反映兩個變量之間的線性相關程度,因此本文選取該統計指標作為匹配的衡量標準之一。對多維的直線描述子均一化為一維的特征向量,按積差方法得到相似度,同時求解梯度方向的殘差和。以重合度約束為前提,候選直線中相似度最高的成為平面目標的匹配邊緣。
跟蹤過程中,由于目標被遮擋或相機出現瞬間抖動造成圖像模糊,可能會出現直線特征的丟失或是找不到任何對應的直線段,從而匹配失敗。本文主要是通過單應性變換來完成平面目標邊緣的修補和校正,從相鄰兩幀提取SIFT 特征點后恢復出單應性矩陣,利用同一平面的變換關系將當前幀的角點投射到下一幀,以此解決邊緣遮擋直線特征描述子提取失敗的問題,確保跟蹤的穩定性。
實驗環境為Intel Core i5-7400 CPU,8G 運行內存,以OpenCV 3.4.3、Boost、Eigen、Ceres 等開源庫作為支持,在虛擬機Ubuntu 16.04 操作系統下運行。根據場景首幀中人工標注的角點坐標,針對移動視點視頻里的平面目標進行定位跟蹤,紅色框內為跟蹤目標,第一張為初始標定幀。與Ferns[3]算法對比,相同場景下同幀實驗結果如下,(a)(b)分別為Ferns 和本文算法,。圖4 為室內場景遮擋的情況,視頻某些幀會不定時出現遮擋物,圖5 為超出視野,目標物體部分位于圖像平面外不可見,此時Ferns 算法跟蹤不穩定,容易產生偏差和形變,甚至丟失跟蹤目標,而本文提出的方法,可以準確地定位到平面目標物體,可見整體上是優于Ferns 算法的。
本文針對平面物體存在部分遮擋、超出視野的移動視點視頻影像,提出基于幾何約束和直線特征的目標跟蹤算法。該算法不僅利用了直線的幾何特征,同時參考了周圍點的顏色信息,不同于其他基于特征點的描述子構建方法,本文引入了尺度因子,能夠有效規避縮放帶來的極大多數問題,而且攝像機的旋轉受益于特征點采樣時的方向校正,也能保持較好的穩定性。其次對于視頻中的每幀進行在線處理,可以極大擴寬在增強現實領域的應用。但當視點快速移動出現明顯的運動模糊時,本文算法較難提取到足夠特征,因此如何提高適應性將是未來的工作重心。

圖4 遮擋

圖5 超出視野