機器人是如何通過視覺實現目標跟蹤的?

中國工程科技知識中心 發佈 2022-05-23T14:56:02.299397+00:00

隨著研究人員不斷地深入研究,視覺目標跟蹤在近十幾年裡有了突破性的進展,使得視覺跟蹤算法不僅僅局限於傳統的機器學習方法,更是結合了近些年人工智慧熱潮—深度學習和相關濾波器等方法。

視覺跟蹤技術是計算機視覺領域(人工智慧分支)的一個重要課題,有著重要的研究意義。在軍事制導、視頻監控、機器人視覺導航、人機互動、以及醫療診斷等許多方面有著廣泛的應用前景。隨著研究人員不斷地深入研究,視覺目標跟蹤在近十幾年裡有了突破性的進展,使得視覺跟蹤算法不僅僅局限於傳統的機器學習方法,更是結合了近些年人工智慧熱潮—深度學習(神經網絡)和相關濾波器等方法。本文主要介紹以下幾點:什麼是視覺目標跟蹤(單目標跟蹤)、單目標跟蹤的基本結構(框架),目標跟蹤存在的挑戰,目標跟蹤經典相關方法及研究趨勢等。



01

單目標跟蹤任務簡介



目標跟蹤是計算機視覺領域的一個重要問題,目前廣泛應用在體育賽事轉播、安防監控和無人機、無人車、機器人等領域。下面是一些應用的例子。


車輛跟蹤


足球比賽


田徑比賽


視覺目標(單目標)跟蹤是指對圖像序列中的運動目標進行檢測、提取、識別和跟蹤,獲得運動目標的運動參數,如位置、速度、加速度和運動軌跡等,從而進行下一步的處理與分析,實現對運動目標的行為理解,以完成更高一級的檢測任務。


其具體任務即根據所跟蹤的視頻序列給定初始幀(第一幀)的目標狀態(位置、尺度),預測後續幀中該目標狀態。基本結構(框架)如下:


基本流程:輸入初始幀並指定期望跟蹤的目標,通常用矩形框標定(Input Frame),在下一幀中產生眾多候選框(Motion Model)並提取這些候選框的特徵(Feature Extractor),觀測模型(Observation Model)對這些候選框評分。最後在這些評分中找一個得分最高的候選框作為預測的目標(Prediction A),或者對多個預測值進行融合(Ensemble)得到更優的預測目標。至此算法完成了根據第一幀的信息對第二幀的預測,後續幀以此類推,同時根據指定規則更新模型(Model Updater)。


根據如上的框架,將目標跟蹤劃分為五項主要的研究內容,流程圖下圖所示:


流程圖


運動模型(Motion Model):如何產生眾多的候選樣本。特徵提取(Feature Extractor):利用何種特徵表示目標。觀測模型(Observe Model):如何對眾多候選樣本評分。模型更新(Model Updater):如何更新觀測模型使其適應目標的變化。集成方法(Ensemble):如何融合多個決策獲得一個更有的決策結構。


下圖的總結可以幫助更好的理解目標跟蹤算法是如何完成跟蹤任務的。


跟蹤任務流程


02

目標跟蹤算法分類



大多數的跟蹤方法主要集中對觀測模型的設計,根據觀測模型的不同可分為兩類:生成式模型(Generative Model)和判別式模型(Discriminative Model)。


生成式模型:通過提取目標特徵來構建表觀模型,然後在圖像中搜索與模型最匹配的區域作為跟蹤結果。不論採用全局特徵還是局部特徵,生成式模型的本質是在目標表示的高維空間中,找到與目標模型最相鄰的候選目標作為當前估計。此類方法的缺陷在於只關注目標信息,而忽略了背景信息,在目標外觀發生劇烈變化或者遮擋時候容易出現目標漂移(drift)或者目標丟失。


舉例:跟蹤器從當前幀知道了目標區域80%是紅色,20%是綠色,在下一幀中搜索算法回去找最符合這個顏色比例的區域。


生成式算法框架


判別式方法:將目標跟蹤看做是一個二元分類問題,通過訓練關於目標和背景的分類器將目標從背景中分離出來,從候選目標中確定目標,該方法可以顯著的區分背景和目標,性能魯棒,漸漸成為目標跟蹤領域主流方法。且目前大多數基於深度學習的目標跟蹤算法也屬於判別式方法。


舉例:在訓練時告訴跟蹤器,目標80%是紅色,20%是綠色,同時背景中有桔紅色,要格外注意,這樣分類器知道更多信息,效果也相對較好。


判別式算法框架


03

目標跟蹤任務的困難和挑戰



雖然目標追蹤的應用前景非常廣泛,但還是有一些問題限制了它的應用,主要問題例舉如下:

形態變化 - 姿態變化是目標跟蹤中常見的干擾問題。運動目標發生姿態變化時, 會導致它的特徵以及外觀模型發生改變, 容易導致跟蹤失敗。例如:體育比賽中的運動員、馬路上的行人。尺度變化 - 尺度的自適應也是目標跟蹤中的關鍵問題。當目標尺度縮小時, 由於跟蹤框不能自適應跟蹤, 會將很多背景信息包含在內, 導致目標模型的更新錯誤:當目標尺度增大時, 由於跟蹤框不能將目標完全包括在內, 跟蹤框內目標信息不全, 也會導致目標模型的更新錯誤。因此, 實現尺度自適應跟蹤是十分必要的。遮擋與消失 - 目標在運動過程中可能出現被遮擋或者短暫的消失情況。當這種情況發生時, 跟蹤框容易將遮擋物以及背景信息包含在跟蹤框內, 會導致後續幀中的跟蹤目標漂移到遮擋物上面。若目標被完全遮擋時, 由於找不到目標的對應模型, 會導致跟蹤失敗。圖像模糊 - 光照強度變化, 目標快速運動, 低解析度等情況會導致目標模糊, 尤其是在運動目標與背景相似的情況下更為明顯。因此, 選擇有效的特徵對目標和背景進行區分非常必要。


下圖是上述問題的一些實例。


目標跟蹤任務中的困難與挑戰


如上圖所示,目標跟蹤任務中的困難和挑戰包括:


1.形變;

2.光照變化;

3.相似干擾;

4.運動模糊;

5.背景干擾;

6.遮擋;

7.超出畫面;

8.尺度變化;

9.平面外宣傳;

10.平面內旋轉;

11.背景相似


04

目標跟蹤的資料庫



嚴謹的數據集是驅動算法的關鍵,前幾年目標跟蹤方向的資料庫資源相對匱乏,這也是目標跟蹤的發展相對落後於目標檢測的重要原因之一。下面簡要介紹了兩個權威的目標跟蹤方向的資料庫。


OTB50數據集


OTB可以說是做單目標跟蹤必跑的資料庫了,2013年的OTB50包含50個人工標註的視頻序列。由於在此之前目標跟蹤方向沒有比較公認的資料庫,所有的單跟蹤算法沒有一個統一的衡量,所以這個資料庫的意義非常重大,直接促進了單目標跟蹤算法的發展。後來又擴展為OTB100發送到TPAMI,有100個序列,難度更大更加權威。如果想要了解近年來比較厲害的跟蹤算法,可以參考吳毅老師的論文(附後)。


VOT資料庫


VOT Challenge是目標跟蹤領域的賽事,類似於圖形識別領域中的ImageNet挑戰賽。這些賽事通常都是標準數據集的來源,所以VOT數據集是一個常用的目標跟蹤數據集,所有序列支持免費下載。VOT競賽已經舉辦了9屆,每年競賽都會出現很多新的算法和別致的思路,2022年的VOT競賽也即將開啟,由於每年的評測序列都會更新,且標註的精確度逐年提高,VOT競賽也被視為視覺跟蹤領域最難的競賽,所以結果相對更可靠。


OTB和VOT區別:OTB包括25%的灰度序列,而VOT都是彩色序列,這也是造成很多顏色特徵算法性能差異的原因。兩個庫的評價指標不盡相同,具體請參考論文和競賽官網。


05

目標跟蹤經典算法



前幾年最熱門的生成式跟蹤方法是稀疏編碼(Sparse Coding), 而近來判別式跟蹤方法逐漸占據了主流地位,以相關濾波(CF:Correlation Filter)和深度學習(DL:Deep Learning)為代表的判別式方法取得了令人滿意的效果。本節按年份順序對經典算法進行一個簡單地梳理,其中各個算法的年份以論文發表的年份或者參加benchmark的年份為依據,幫助理解單目標跟蹤算法的演變和發展趨勢。針對於不同的跟蹤任務的挑戰各個算法所提出的解決思想值得我們學習體會,跟蹤算法的發展趨勢可見一斑。


LK Tracker 1981


LK Tracker應該是最早的目標跟蹤工作,它使用了光流的概念,如下圖所示,不同顏色表示光流不同的方向,顏色的深淺表示運動的速度。光流的計算非常簡單也非常快,但是它的魯棒性不好,基本上只能對平移且外觀不變的物體進行跟蹤。


光流法


2002 Mean Shift


Mean Shift採用均值漂移作為搜索策略,這是一種無參概率估計方法,該方法利用圖像特徵直方圖構造空間平滑的概率密度函數,通過沿著概率密度函數的梯度方向疊代,搜索函數局部最大值。在當時成為了常用的目標跟蹤方法,簡單易實現,但魯棒性較低。

MeanShift算法


2010 MOSSE


MOSSE(Minimum Output Sum of Squared Error)使用相關濾波來做目標跟蹤(不是第一個,但由於思路清晰、算法完整稱為相關濾波跟蹤算法的鼻祖),其速度能夠達到600多幀每秒,但是效果一般,主要是因為它只使用了簡單的原始像素特徵。


大致流程:


1、再入初始幀的groundtruth(包括中心點和矩形框的高寬)

2、對當前目標框進行隨機仿射變換生成128個樣本,每個樣本經過高斯函數計算得出響應值,最終結合公式得出濾波器模版(圖13中的FILTER)。

3、根據模版計算得出第二幀的響應圖,其中響應值最大的點為第二幀目標的中心點,並以此畫出目標框(圖13中的OUTPUT)。

4、根據第二幀的目標區域更新濾波器模版

5、重複3-4步


MOSSE算法


2012 CSK


CSK的作者針對MOSSE做出了一些改進,作者認為循環移位能模擬當前正樣本的所有的轉換版本(除邊界以外),因此採用循環矩陣進行密集採樣(對比MOSSE的隨機仿射採樣),並通過核函數將低維線性空間映射到高維空間,提高了相關濾波器的魯棒性。


循環矩陣是一種特殊的矩陣,它的一維形式就是由一個n維向量每次向右循環移動一個元素,直到生成一個n×n的矩陣,具體效果如下圖所示。


循環矩陣示意圖


2014 KCF


CSK的特徵輸入是單通道的灰度像素,而KCF利用的是HOG多通道特徵,核函數利用了高斯核函數。


方向梯度特徵效果圖


可以說CSK和KCF的結合才是完整的核化相關濾波器的演變趨勢,既有循環矩陣及傅立葉對角化簡化計算,又有對單通道特種應用的拓展,可以適應更多優秀的特徵描述。


2014 DSST


DSST作者將跟蹤分為兩個部分——位置變化和尺度變化。在跟蹤過程中,作者定義了兩個濾波器分別用於確定新目標的位置和尺度評估,提高了算法的魯棒性。


2015 MDNet


MDNet設計了一個輕量級的小型網絡學習卷積特徵表示目標。作者提出了一個多域的網絡框架。


在離線訓練時,特徵提取網絡是共享的,同時針對每個視頻序列構建一個新的檢測分支進行訓練。這樣特徵提取網絡可以學習到通用性更強的與域無關的特徵。


在跟蹤時,保留並固定特徵提取網絡,針對跟蹤序列構建一個新的分支檢測部分,用第一幀樣本在線訓練檢測部分之後再利用跟蹤結果生成正負樣本來微調檢測分支。


此外,MDNet在訓練中負樣本的生成用到了難例挖掘技術,隨著訓練的進行增大樣本的分類難度,從而使得網絡的判別能力越來越強。


如下圖所示,負樣本越來越難分。


難例挖掘


2015 SRDCF


SRDCF的作者考慮到若僅使用單純的相關濾波會導致邊界效應,也就是相關濾波採用循環移位採樣導致當目標移位到邊緣時會被分割開,此時得到的樣本中就沒有完整的目標圖像從而失去效果。


邊界效應


於是,作者的思路是既然邊界效應發生在邊界附近,那就忽略所有移位樣本的邊界部分像素,或者說限制讓邊界附近濾波器係數接近0,具體做法是加入空間正則化,懲罰邊界區域的濾波器係數,效果如下圖。


SRDCE空間正則化


2015 HCF


HCF的主要貢獻是把相關濾波中的HOG特徵換成了深度特徵,它使用的是VGG的3、4、5三個層來提取特徵,針對每層CNN訓練一個過濾器,並且按照從深到淺的順序使用相關濾波,然後利用深層得到的結果來引導淺層從而減少搜索空間。


HCF算法提取深度特徵


上圖是使用卷積可視化得到的,如圖中所示,在conv3中的特徵能夠比較清晰的看到目標的輪廓,但是在conv5中已經很難看到細節所在,但是,在conv5當中能夠看到的是,本層特徵包含了較多的語義信息,左半部分的高亮區域就是目標位置的所在的大概區域範圍,所以在高層特徵當中,能夠很容易的找到目標所在的大概區域範圍,然後逐步使用較低層次的特徵對目標進行精確定位。


2016 Staple


Staple提出了一種互補的方式。考慮到HOG特徵對形變和運動模糊比較敏感,但是對顏色變化能夠達到很好的跟蹤效果,color特徵對顏色比較敏感,但是對形變和運動模糊能夠有很好的跟蹤效果,因此作者認為若能將兩者互補就能夠解決跟蹤過程當中遇到的一些主要問題。於是,Staple使用HOG-KCF與color-KCF結合算法對目標進行跟蹤。

此算法的創新思路簡單直白,但效果很驚艷。


2016 TCNN


TCNN使用一個樹形的結構來處理CNN特徵。作者利用可靠性來分配預測目標的權重,採用的更新策略是每10幀刪除最前的節點,同時創建一個新的CNN節點,選擇能夠使新節點的可靠性最高的節點作為其父節點。這樣一直保持一個active set,裡面是10個最新更新的CNN模型,用這個active set來做跟蹤。但由於要更新網絡結構,速度較慢。


TCNN樹形結構更新示例


2016 siamFC


SiamFC方法的核心思想很簡單,就是將跟蹤過程規劃為一個相似性學習問題。即學習一個函數 f(z, x) 來比較樣本圖像 z 和搜索圖像 x 的相似性,如果兩個圖像相似度越高,則得分越高。為了找到在下一幀圖像中目標的位置,可以通過測試所有目標可能出現的位置,將相似度最大的位置作為目標的預測位置。


在深度學習中處理相似度問題最典型的是採用Siamese架構,SiamFC的網絡結構如下圖:


SiamFC網絡結構


2017 CFNet


CFNet採用孿生網絡的架構,訓練樣本(這裡指用來匹配的模板)和測試樣本(搜索的圖像區域)通過一個相同的網絡,然後只將訓練樣本做相關濾波操作,形成一個對變化有魯棒性的模板。為了抑制邊界效應,作者施加了餘弦窗並在之後又對訓練樣本進行了裁剪。


2018 UPDT


UPDT算法的主要思想是區別對待深度特徵和淺層特徵,深層特徵能通過數據增強來提升效果,同時深層特徵主打的是魯棒性而不是精度;相反,淺層特徵經數據增強後反而降低了效果,但同時它能夠很好地保證精度。因此,作者得出了深度模型和淺層模型先分別獨立訓練,最後再融合的方案。


2018 SiamRPN


SiamRPN在SiamFC的基礎上利用了Faster RCNN中的RPN,解決了之前深度學習跟蹤算法沒有domain specific(可理解為類間不區分)以及還需額外的尺度檢測與在線微調的問題。RPN回歸網絡的引入,一方面提高了精度,另一方面回歸過程代替多尺度檢測,使得速度有所提升。


SiamRPN網絡結構


2019 SiamRCNN


SiamRCNN發現重檢測很容易受到干擾物的影響從而產生模型漂移,從難例挖掘和運動軌跡動態規劃兩個角度入手,設計了一個利用第一幀和前一幀為模板的孿生網絡檢測結構,在短時跟蹤評價上效果驚人,在長時跟蹤評價上也有非常顯著的進步。


其中軌跡動態規划算法(TDPA)主要思想是通過重新檢測前一幀中所有的目標候選框,並將這些候選框隨時間分組到短目標軌跡中,同時跟蹤所有潛在的目標,包括干擾目標。然後根據視頻中所有目標對象和干擾對象的完整歷史軌跡選擇當前最佳對象。


2020 RPT框架


RPT算法框架由目標狀態估計網絡與在線分類網絡兩部分組成:


目標狀態估計網絡將跟蹤目標狀態表示為特徵點集,以提升對目標位姿變化、幾何結構變化的建模能力。在視覺目標跟蹤任務中,為了方便真值標註與特徵提取,目標狀態通常用矩形框進行表示。矩形框一方面是對目標區域的一種粗略表示,包含多餘的背景;另一方面不具備對目標位姿變化、幾何結構變化的建模能力,進而限制了回歸精度。因此,將跟蹤目標表示為一系列特徵點,通過監督學習目標區域內的語義關鍵點與極值點,實現更精細的目標狀態估計。


PRT目標狀態估計網絡


在線分類網絡由輕量的兩層全卷積神經網絡構成,使得RPT框架具備對抗周邊相似干擾物的強魯棒性。


RPT在線分類網絡


06

目標跟蹤的研究趨勢



本節淺析近幾年來目標跟蹤領域各種算法主流的研究趨勢和發展方向。


a) 信息提取


深度特徵


在現實場景中,物體是在三維的運動場中移動的。而視頻或圖像序列都是二維的信息,這其實是一些難題的根本原因之一。一個比較極端的例子就是理髮店門前經常會出現的旋轉柱,如果單純地從二維角度來看,柱子是向上運動的,可在實際的運動場中柱子是橫向運動的,觀測和實際的運動方向是完全垂直的。


旋轉柱效果圖


因此,為了能夠更好地跟蹤目標,我們需要提取儘可能好的特徵,此外最好能從視頻或圖像序列中學到更多豐富的信息(尤其是含語義的)。


時域和空間域結合


由於CNN能夠在學習的過程中能夠產生對樣本中各個區域有區分的關注度,因此可以不考慮邊界效應。對邊界效應的處理主要是在相關濾波類等需要循環移位的算法中出現。

事實上,目標跟蹤這一個任務本身就在利用時域信息,因為預測下一幀肯定需要上一幀的信息,然而僅僅利用上一幀的信息往往是不夠的,充分的利用時域信息在正則或者輔助記憶方面都可以取得一定的效果。


b) 元學習


當深度特徵興起之後,目標跟蹤中的許多算法都選擇遷移目標分類任務中的一些預訓練模型來提取特徵,這種遷移學習其實就包含了元學習的思想。例如MDNet將每個視頻看做一個域,在測試時新建一個域但同時保留了之前訓練時在其他域上學到的經驗,既能夠更快更好地在新的視頻序列上學習也避免了過擬合。


孿生網絡實際上也是元學習領域一種比較常用的結構,它本身學習了如何去判斷輸入之間的相似度。


c) 防止過擬合


目標跟蹤中由於模版更新或目標形變等因素造成的過擬合問題也是一個比較重要的關注點,下面是一些比較常見的方法:


  • 採用稀疏更新的方式(隔幾幀更新一次),相當於將利用單幀信息的更新變成了批處理的形式。
  • 每次更新採用最近幾幀的信息而不是只用目前幀的信息,其原理類似上一條。
  • 利用初始幀或者質量比較好的幾幀存儲的樣本來進行時域正則。
  • 對不同的情況採用不同的更新或者初始化的策略。
  • 使用掩模去除不可靠的信息。



(文章來源:知乎源潮、51cto)

關鍵字: