1. 程式人生 > >嵌入式系統中的目標識別技術

嵌入式系統中的目標識別技術

corn 基本 ast 數據 vpd 機器人 同時 質量 關鍵點

在人們生活中大部分信息都是以眼睛來觀察到的。因此對視覺的研究,人們一直沒有停止前進的步伐。就像很多年前人類根據鳥的飛行特征而發明了飛機。實現了曾經遨遊天空的夢想。如今對視覺的研究,也希望有朝一日由機器人來代替人的雙眼做許多人類做不到的事情。下面就有尚觀教育培訓講師給大家講解一下嵌入式系統中的目標識別技術。
技術分享圖片
  計算機視覺的第一步是特征提取,即檢測圖像中的關鍵點並獲取有關這些關鍵點的有意義信息。特征提取過程本身包含四個基本階段:圖像準備、關鍵點檢測、描述符生成和分類。實際上,這個過程會檢查每個像素,以查看是否有特征存在於該像素中。

  特征提取算法將圖像描述為指向圖像中的關鍵元素的一組特征向量。本文將回顧一系列的特征檢測算法,在這個過程中,看看一般目標識別和具體特征識別在這些年經歷了怎樣的發展。

  早期特征檢測器

  Scale Invariant Feature Transform (SIFT)以及 Good Features To Track (GFTT) 是特征提取技術的早期實現。但這些屬於計算密集型算法,涉及到大量的浮點運算,所以它們不適合實時嵌入式平臺。

  以SIFT為例,這種高精度的算法,在許多情況下都能產生不錯的結果。它會查找具有子像素精度的特征,但只保留類似於角落的特征。而且,盡管 SIFT 非常準確,但要實時實現也很復雜,並且通常使用較低的輸入圖像分辨率。

  SIFT是一種計算密集型算法

  因此,SIFT 在目前並不常用,它主要是用作一個參考基準來衡量新算法的質量。因為需要降低計算復雜度,所以最終導致要開發一套更容易實現的新型特征提取算法。

  二代算法

  Speeded Up Robust Features (SURF) 是最早考慮實現效率的特征檢測器之一。它使用不同矩形尺寸中的一系列加法和減法取代了 SIFT 中浩繁的運算。而且,這些運算容易矢量化,需要的內存較少。

  接下來,Histograms of Oriented Gradients (HOG) 這種在汽車行業中常用的熱門行人檢測算法可以變動,采用不同的尺度來檢測不同大小的對象,並使用塊之間的重疊量來提高檢測質量,而不增加計算量。它可以利用並行存儲器訪問,而不像傳統存儲系統那樣每次只處理一個查找表,因此根據內存的並行程度加快了查找速度。

  然後,Oriented FAST and Rotated BRIEF (ORB) 這種用來替代 SIFT 的高效算法將使用二進制描述符來提取特征。ORB 將方向的增加與 FAST 角點檢測器相結合,並旋轉BRIEF描述符,使其與角方向對齊。二進制描述符與FAST和Harris Corner 等輕量級函數相結合產生了一個計算效率非常高而且相當準確的描述圖。

  SURF和ORB等計算效率超高的算法為 CNN 之類的功能更強大的框架提供了實現的可能

  CNN:嵌入式平臺目標識別的下一個前沿領域

  配有攝像頭的智能手機、平板電腦、可穿戴設備、監控系統和汽車系統采用智能視覺功能將這個行業帶到了一個十字路口,需要更先進的算法來實現計算密集型應用,從而提供更能根據周邊環境智能調整的用戶體驗。因此,需要再一次降低計算復雜度來適應這些移動和嵌入式設備中使用的強大算法的嚴苛要求。

  不可避免地,對更高精度和更靈活算法的需求會催生出矢量加速深度學習算法,如卷積神經網絡 (CNN),用於分類、定位和檢測圖像中的目標。例如,在使用交通標誌識別的情況下,基於 CNN 的算法在識別準確度上勝過目前所有的目標檢測算法。除了質量高之外,CNN 與傳統目標檢測算法相比的主要優點是,CNN 的自適應能力非常強。它可以在不改變算法代碼的情況下快速地被重新“訓練(tuning)”以適應新的目標。因此,CNN 和其他深度學習算法在不久的將來就會成為主流目標檢測方法。

  CNN 對移動和嵌入式設備有非常苛刻的計算要求。卷積是 CNN 計算的主要部分。CNN 的二維卷積層允許用戶利用重疊卷積,通過對同一輸入同時執行一個或多個過濾器來提高處理效率。所以,對於嵌入式平臺,設計師應該能夠非常高效地執行卷積,以充分利用 CNN 流。

  事實上,CNN 嚴格來說並不是一種算法,而是一種實現框架。它允許用戶優化基本構件塊,並建立一個高效的神經網絡檢測應用。因為 CNN 框架是對每個像素逐一計算,而且逐像素計算是一種要求非常苛刻的運算,所以它需要更多的計算量。

  不懈改進視覺處理器

  CEVA 已找到兩種其他方法來提高計算效率,同時仍繼續開發即將采用的算法,如 CNN。第一種是並行隨機內存訪問機制,它支持多標量功能,允許矢量處理器來管理並行負載能力。第二種是滑動窗口機制,它可以提高數據的利用率並防止相同的數據被多次重復加載。大多數成像過濾器和大型輸入幀卷積中都有大量的數據重疊。這種數據重疊會隨著處理器的矢量化程度增加而增加,可用於減少處理器和存儲器之間的數據流量,從而能降低功耗。這種機制利用大規模數據重疊,允許開發人員在深度學習算法中自由實現高效的卷積,一般會使 DSP MAC運算達到極高的利用率。

  集隨著嵌入式系統的發展,在未來嵌入式系統會從低端應用覆蓋到機器視覺應用,而且這種趨勢會越來越明顯。未來的世界可能就像我們看到的科幻電影中一樣是智能機器人競爭的時代。

嵌入式系統中的目標識別技術