【科普文】 深度學習:使用PowerVR實現計算機視覺
嵌入式視覺產品的市場需求量大,且呈不斷髮展壯大之勢,其範圍包括消費產品如手機、膝上型電腦、電視、可穿戴裝置、汽車安全、安全與資料分析等。來自ABI、Gartner和TSR的最新資料表明,智慧相機產品的總市場(TAM)量在2019年時將超過30億臺。
計算機視覺的使用者案例包括計算攝影、擴增實境、揮手感控及場景感知。當下,很多手機能通過人臉檢測自動調整相機對焦和曝光,而像美圖手機這樣的產品還能實時美化人臉。在近期召開的嵌入式視覺聯盟會議上,百度公司釋出了一款深度神經網路應用程式(DNN)。該程式允許使用者直接從相機實時輸入流中識別成千上萬的物件。百度在移動應用程式處理器上實現了他們的神經網路,其使用PowerVR GPU來匹配影象實時資料庫的物件。
百度離線移動應用款
對於汽車市場而言,在車輛上新增計算機視覺可以減少事故的發生。例如,美國人民每年的駕駛里程為兩萬億英里,而每年大約有六百萬輛機動車發生事故。而相比之下,谷歌的無人駕駛汽車原型已經在公路上完成了超過一百萬英里的駕駛里程,卻沒有發生任何一起因計算機故障引起的事故,這充分說明了計算機視覺在推動這個市場轉型時的巨大潛力。如今,很多製造商會提供高階駕駛員輔助系統(ADAS)。該系統在使用傳統的雷達和鐳射雷達技術時,也使用了視覺化資料來實現安全功能,如盲點檢測、行人檢測和自動緊急制動。
對於監測市場而言,將計算機視覺新增到安全攝像頭可降低閉路電視運營商的成本,同時又可提高可靠性。例如,使用先進的人群分析演算法,則可通過檢測步行模式的細微變化來識別物件(如隱藏的武器)的存在。在消費市場中,Nest等公司的安防產品可通過智慧手機提醒使用者其家中發生的異動,並過濾掉不重要的異動行為如影子在牆上的移動或樹木的迎風擺動。
超市等零售環境傳統上主要依靠支付和商店忠誠度來跟蹤消費者的行為,而使用計算機視覺則為新客戶的開發帶來了契機。Vadaro等公司生產的零售相機可以通過評估顧客的年齡、性別、停留時間及關注的產品來識別顧客是新顧客還是老顧客。這些相機還能給零售商和廣告商反饋有價值的資訊,並通過自動化任務如計算排隊等候人數等來改善服務質量。
Vadaro Eagle零售分析感測器
計算機視覺演算法
計算機視覺演算法涉及到許多不同型別的任務,通常呈流水線形式,如下所示:
典型的計算機視覺處理流水線
• 影象預處理任務包括降噪、色彩標準化、伽馬校正和去翹曲。
• 特徵提取和描述即標識影象中可精確測量的點和區。後續階段的處理則可在已簡化的特徵上操作,這樣可避免全尺寸影象操作,也因此降低了計算難度。
• 影象配準即對準多重影象以簡化畫素級的對比工作。例如,使影象作為全景或HDR影象縫合在一起。
• 對於需要了解三維空間如三維模型重建的視覺演算法,深度計算改善了其效能和穩固性。
• 物件識別用於標識代表物件類別的畫素或特徵。由於此任務極其複雜,許多演算法都基於機器學習和人工智慧技術。
• 運動分析是從多個視訊幀中提取資訊,如輔助預測車輛或行人等物件在一段時間內的運動軌跡。
• 啟發法可促進瞬間決策,如允許快速移動的車輛進行糾正操縱。
特徵提取和描述
特徵提取將含有大量畫素的影象轉換成已縮減的特徵點集,即特徵向量(或描述符號)。一個好的演算法從輸入資料中提取相關資訊是為了以縮減的影象代替全尺寸影象來完成後續的視覺任務。其共同的特徵包括邊緣、角落及具有共享屬性如亮度或色彩(即斑點)的區域。比較知名的特徵探測器有Sobel和Canny邊緣探測器、Harris和FAST的角點探測器及高斯差分 (DoG)斑點探測器。示例如下。
邊緣、角落和高斯差分
尺度不變特徵變換演算法
SIFT(尺度不變特徵變換演算法)是最早期的特徵探測器,精準度高。SIFT從DoG尺度空間極值點中檢測斑點,融入Harris檢測的變體,丟棄了類似邊緣的特徵值。正如下圖所示,SIFT演算法為多尺度影象(或octave)計算尺度空間金字塔。在每個多尺度影象中,通過高斯核卷積影象獲得多個模糊影象,這可抑制高頻空間資訊。DoG操作從另一個低模糊版的相同影象中減去一個模糊影象,從而保留頻率範圍之間的空間資訊。通過將其中一個模糊影象縮減2倍畫素取樣及重複計算,可連續對octave進行計算。最終的輸出是產生一個迷你圖。迷你圖包括octave的多個DoG尺度空間影象在內,還包含了代表特徵點的高變體區域。
高斯差分金字塔
加速強健特徵
SIFT計算精準度雖高,但計算成本大,這對於嵌入式裝置的實時執行不實用。隨後,運算效率高的SURF(加速強健特徵)檢測器便開始迅速發展。SURF使用一系列簡化的矩形過濾器代替了SIFT繁重的卷積操作。簡化的矩形過濾器近似高斯平滑濾波器,通過預計算積分影象並將其儲存在一個數組中,以此有效地實現過濾。正如下圖所示,A區的積分影象是其左上區域畫素強度的總和,而通過計算D-B-C+A四個陣列, 便可計算在固定時間下矩形內的畫素總和。
積分影象
哈爾特徵
較為盛行的Viola-Jones人臉檢測演算法也使用了矩形特徵,即通常所說的哈爾特徵(如下圖所示)。這些特徵的計算即:減去陰影矩形中的畫素總和,計算清晰矩形中畫素的總和,並使用這些特徵找出影象中類似人臉區域的屬性,如:眼部區域比上臉頰(特徵B)區域更暗,鼻樑區域又比眼部區域(特徵C)更亮。通過在此粒度區域層進行操作,哈爾特徵可有效地辨別人臉面部表情的變化。
Viola-Jones物件檢測框架的四種特徵型別
直方圖
另一個較為流行的特徵描述符是方向梯度直方圖(HOG),其使用在許多汽車ADAS系統中,用於檢測路面行人。如下圖所示,HOG將影象分成單元格,並通過強度梯度分佈描述區域性出現的物件。這些單元格捕獲的梯度結構是典型的區域性形態,可容忍區域性幾何形狀的細小變化,這也使得HOG更適於檢測直立行走的人,且無論其是否發生輕微的肢體動作均可檢測。
HOG檢測的行人
HOG通過過濾影象卷積核來計算梯度值。隨後,單元格內的每個畫素則在梯度計算的基礎上對基於方向的直方圖通道進行加權投影。並將單元格組成記憶體塊,以對照度和對比度的變化進行歸一化處理。HOG在沒有進行定向和取向的單一影象上操作,這使得HOG的計算成本比SIFT更低。然而,HOG所需的卷積和直方圖計算則比SURF在積分影象上的加減法操作計算成本更高。
物件識別
物件識別即在代表某一類物件如人或汽車的影象中標識畫素組。由於此項任務的計算複雜性,很多演算法均基於機器學習和人工智慧,如使用級聯分類器或神經網路。通常首先進行離線訓練,併產生一個可隨後與新影象匹配的資料庫。此訓練步驟的計算量大,可能需要花費數天或數週在超級計算機上執行。然而,與資料庫匹配新影象則工作量小,因此適合在嵌入式裝置上實時執行。
級聯分類器
Viola-Jones人臉檢測框架使用了學習演算法來篩選最佳的人臉特徵和序列分類器。匹配演算法使用哈爾特徵使滑動視窗在影象上移動,以檢測可能的匹配。哈爾特徵是弱分類器,在孤立狀態下準確度低,因此Viola-Jones對加權弱分類器進行了線性組合,即加強版的分類器。加強版的分類器使演算法快速拒絕非人臉影象得同時,又可以高概率的檢測到人臉,因此極大平衡了效能和準確度。正如下圖所示,在級聯的每個階段,均可測試當前視窗影象的少量特徵:那些沒有被拒絕及可以進入下一階段的特徵。Viola-Jones序列分類器使用了38級的級聯,每級難度逐漸加深。第一級為簡單的注意提示,使用了兩個特徵以獲得0%的假陰性率和40%的假陽性率,這大約佔整個級聯評估次數的一半。
哈爾級聯分類器
支援向量機
特徵空間很大時,使用級聯非常有效,因為級聯僅僅關注執行程度最佳的特徵。當所有的特徵都要用於解決方案時(例如基於HOG特徵的行人檢測演算法),則通常使用更為簡單的基於監督式學習的演算法。支援向量機(SVM)便是一大例證。SVM使用學習演算法來識別影象模式。相比需要巧妙結合諸多弱分類器的加強版分類器,SVM建立了一個模型,並在一組訓練樣本的基礎上,將一個影象分配為兩種類別。在SVM模型中,將訓練樣本表示為空間中的點進行對映,這樣,單獨類別的樣本便可以被儘可能寬的清晰間隔分開。
一旦訓練影象包含了特定的物件,SVM分類器便可提供物件在其它影象中存在的置信水平,並通過這個閥值來做出二元判定。訓練及匹配基於SVM的分類器比級聯更加簡單,這是一大優勢,但其計算成本卻很大。
卷積神經網路
準確檢測各式各樣物件的需求大大推動了分層機器學習模型研究的發展,如卷積神經網路(CNN)。CNN試圖模仿人類視覺系統。正如下圖所示,CNN的核心操作是影象卷積和縮減畫素取樣。卷積過濾器座標是代表神經元之間連線強度的權重,而縮減畫素取樣操作可以在不同層次找到物件。這些操作需要不斷重複多次,由此產生了一套高層次的特徵,並形成一個可進行最終輸出預測的全連通圖。
CNN框架
由於CNN為每個影象畫素執行卷積操作,因此相比其它基於手動設計特徵的物件檢測如SURF和HOG,其計算成本更大。雖難度加深,但精準度更高:基於CNN的檢測器在物件檢測質量方面遙遙領先。此外,由於CNN儲存了所有的學習引數,因此不用改變底層演算法亦可將其調整到許多不同型別的物件中。兼具準確度與靈活性使其在當下廣為流行,相信在不久的將來,CNN亦將成為主流趨勢。
轉載地址:http://imgtec.eetrend.com/article/6273 原文地址:http://blog.imgtec.com/powervr/deep-dive-implementing-computer-vision-with-powervr