移動端對象檢測追蹤有何挑戰,高通又提出怎樣的解決方案?

查看引用/信息源請點擊:映維網

計算機視覺的用例幾乎無窮無盡

映維網 2019年10月29日)計算機視覺應用程序通常需要處理多幀圖像,入通過視頻捕獲的圖像。這個處理過程最重要的其中一個方面是,能夠在對象移動以及視口更改時識別和追蹤對象。從機器人視覺處理和自動駕駛起到,到安全錄像和增強現實,這種功能的用例幾乎無窮無盡。

盡管這對于功能強大的移動處理器而言似乎微不足道,而且我們人類可以輕松實現,但要在數字世界中重現這一功能確實不易。高通的Felix Baum日前撰文向我們介紹這一領域所面臨的挑戰,以及潛在的解決方案。下面是映維網的具體整理:

1. 運動幀的挑戰

分析視頻幀提出了大量的挑戰,其中很大一部分是由于給定場景涉及的變量數十分巨大。以下是開發對象檢測與追蹤應用程序時應考慮的挑戰:

  1. 對象轉換:對象可以隨時間平移,旋轉和縮放。
  2. 對象遮擋:對象可能會被其他對象部分或完全遮擋。
  3. 運動模糊:根據諸如運動對象的速度,記錄幀速率等因素,圖像可能會變得模糊。
  4. 快速運動:對象在幀之間的轉換速度可能非常快,并且會根據對象本身的速度,以及對象相對于幀捕獲速率而變化。
  5. 場景混亂:場景可能包含復雜的特征和大量對象。
  6. 對象之間的相似性:諸如人臉之類的對象可能包含大量相似的特征,所以很難進行區分。
  7. 環境影響:照明,雨水和霧度變化等影響都會影響圖像質量。
  8. 追蹤失敗:對象可能消失,然后全部或部分重新出現。解決這個問題需要重新檢測對象。
  9. 攝像頭轉換:攝像頭的位置,方向和視口設置會隨時間變化。

幸運的是,社區已經開發了一系列的方法,而且由于邊緣處理能力的提高,現在大量的方法已經變得可用。

2. 方法

在追蹤對象的移動之前,我們需要了解對象的外觀,同時要記住對象的外觀可能會隨著幀而變化。應對所述挑戰的第一步是開發視覺外觀模型,如下圖所示

它由將用于識別對象并將其與唯一標識符(如對象ID)相關聯的算法組成。負責這一操作的組件通常稱為分類器,其作用是將圖像數據塊作為輸入,并產生輸出圖像包含已識別對象的概率。

一旦有了識別對象的機制,下一步就是確定運動模型(即本地化)。它由確定對象在多幀中的位置的算法組成,并且可以包括預測未來位置的功能。

視覺外觀和運動模型是一般對象追蹤過程的基礎,這個過程通常涉及確定對象的初始狀態及其外觀,估計其運動并計算其位置。這種算法統稱為追蹤算法,其中包括外觀模型和運動模型的計算。在特定情況下,兩個模型的計算相互饋送以得出結果。

3. 追蹤算法的分類

在研究特定算法之前,重要的是要知道現有追蹤算法的一般分類。

  1. 基于檢測的追蹤算法跨視頻幀工作,其可以檢測對象并確定追蹤軌跡,并且通常可以處理跨幀對象出現和失效的情況。另一方面,無檢測追蹤算法必須在視頻的第一幀初始化對象。無檢測追蹤通常用于對象在幀之間保持靜態的情況。
  2. 單對象追蹤。顧名思義,即便場景中存在多個對象,單對象算法都只會追蹤在第一幀中識別的單個對象。多對象追蹤算法能夠多個對象,即使它們是在第一幀之后才進入場景。
  3. 當捕獲視頻片段后,可以采用離線追蹤算法,并且可以離線進行處理。在這里,計算可以在兩個方向(即前一陣到下一幀,反之亦然)分析素材,從而增強追蹤預測的計算能力。另外,訓練同樣是離線進行。另一方面,在線(即實時)追蹤算法只能分析當下時刻之前捕獲的幀,并使用依賴于過去幀的預測計算來幫助確定對象在下一幀中的移動位置。
  4. 目標表征和定位方法(如基于內核的追蹤和輪廓追蹤)的計算復雜度較低,因為它們主要是根據輪廓等特征來追蹤對象屬性。另一方面,諸如卡爾曼濾波器和粒子濾波器之類的濾波和數據關聯方法使用有關場景和對象的已知信息,評估與對象及其位置相關的不同假設,并可以處理隨時間變化的對象。

4. 方法和算法

隨著對象追蹤在近年來成為了視覺處理中的熱門話題,社區正在不斷開發各種方法和算法。下面我們將列舉多個算法,從而幫助你對進一步了解計算機科學領域的廣度和深度。

GORURN等基于卷積神經網絡的離線追蹤器首先針對數千個視頻進行訓練,并旨在處理單對象追蹤。接下來,它確定對象在視頻第一幀的邊界框,并在隨后的幀中進行追蹤。盡管它不處理對象遮擋,但可以處理視點,光照和對象形狀的變化。

質心追蹤(Centroid Tracking)會在每一幀中獲取對象的邊界框。可以使用任何數量的算法(如上述基于卷積神經網絡的方法)來計算邊界框。然后,質心追蹤將計算邊界框的中心,并為其指定ID。在每個后續幀中,算法會嘗試確定新計算的邊界框是否可以與前一幀中標識的邊界框相關聯。如果可以建立關聯,則計算新位置,從而實現對象的追蹤。

You Only Look Once (YOLO)追蹤是一種深度學習方法,它將幀劃分為多個區域,并應用神經網絡預測每個區域的邊界框和概率。接下來,它通過預測概率對邊界框進行加權以識別對象。如果發現對象標識匹配的概率,則表明在給定的一組幀中實現了對象追蹤。 如下圖所示。

當然,你可以找到許多其他算法,但上面列舉的算法可以向你展示問題是有非常多的不同解決方案。

5. 移動端的對象追蹤

高通對對象陌生并不陌生。我們的Qualcomm Computer Vision SDK包括用于檢測和追蹤對象,特征(如面容和文本),以及運動的API。Qualcomm Neural Processing SDK則可以用于執行AI算法,而Machine Vision SDK則適用于機器人和自動駕駛汽車應用。另外,你可以關注包含用于數學運算的Qualcomm Math Library。當然,我們的高通曉龍移動平臺可以通過Qualcomm Hexagon DSP處理器,Qualcomm Spectra圖像信號處理器和Qualcomm Adreno GPU等功能來執行對象檢測和追蹤算法。

6. 總結

對象檢測和追蹤是計算機視覺中的關鍵組件,因為它們可以幫助實現從錄像分析到自動機器人等一系列的用例。就如同應用程序幾乎是無窮無盡一樣,為應對挑戰而開發的巧妙方法和算法同樣如此。

原文鏈接http://www.timpen.com/news/68042.html
轉載須知:轉載摘編需注明來源映維網并保留本文鏈接
英文閱讀:點擊前往映維網合作伙伴 RoadtoVR 閱讀專業英文報道
入行必讀:深度分析:AR的過去、現在、未來與現實

更多閱讀推薦......

發表評論(僅展示精選評論)

資訊 bet36体育在线