嵌入式視覺領域的機器學習

朗銳智科1發表於2018-04-10

機器學習最重要的應用之一是嵌入式機器視覺領域,各類系統正在從視覺使能系統演進為視覺引導自動化系統。嵌入式視覺應用與其他更簡單的機器學習應用的區別在於它們採用二維輸入格式。在眾多機器學習應用中極為常用的神經網路是深度神經網路 (DNN)。這類神經網路擁有多個隱藏層,能實現更復雜的機器學習任務。
在機器學習實現方案中,通過使用稱為卷積神經網路 (CNN) 的網路結構,因為它們能夠處理二維輸入。CNN 是一類前饋網路,內建多個卷積層和子取樣層以及一個單獨的全連通網路,以執行最終分類。鑑於 CNN 的複雜性,它們也歸屬深度學習類別。在卷積層中,輸入影像被細分為一系列重疊的小模組。在進行進一步的子取樣和其它階段之前,該卷積的結果先通過啟用層建立啟用圖,然後應用到最終的全連通網路上。CNN 網路的具體定義因實現的網路架構而異,但它一般會包含至少下列元:
卷積 – 用於識別影像中的特徵
修正線性單元(reLU)- 用於在卷積後建立啟用圖的啟用層
最大池化 – 在層間進行子取樣
全連通 – 執行最終分類
這些元中每一個元的權重通過訓練決定,同時 CNN 的優勢之一在於訓練網路相對容易。通過訓練生成權重需要龐大的影像集,其中既有需要檢測的物件,也有偽影像。這樣能讓我們為 CNN 建立所需的權重。由於訓練流程中所涉及的處理要求,訓練流程一般執行在提供高效能運算的雲處理器上。
框架
機器學習是一個複雜的課題,尤其是在每次不得不從頭開始,定義網路、網路架構和生成訓練演算法的時候。為幫助工程師實現網路和訓練網路,有一些行業標準框架可供使用,例如 Caffe 和 Tensor Flow。Caffe 框架為機器學習開發人員提供各種庫、模型和 C++ 庫內的預訓練權重,同時提供 Python 和 Matlab 繫結。該框架能讓使用者無需從頭開始即能建立網路並訓練網路,以開展所需的運算。為便於重複使用,Caffe 使用者能通過 model zoo 共享自己的模型。Model Zoo 提供多種能根據所需的專門任務實現和更新的模型。這些網路和權重定義在 prototxt 檔案中。在用於機器學習環境時,prototxt 檔案是用於定義推斷引擎的檔案。


相關文章