稀疏 & 集成的卷積神經網絡學習

       今天主要和大家說的是分類檢測過程中,一些稀疏和集成學習的相關知識,首先和大家說下圖像目標定位與檢測的方法分類。

       眾所周知,當前是信息時代,信息的獲得、加工、處理以及應用都有了飛躍發展。人們認識世界的重要知識來源就是圖像信息,在很多場合,圖像所傳送的信息比其他形式的信息更豐富、真切和具體。人眼與大腦的協作使得人們可以獲取、處理以及理解視覺信息,人類利用視覺感知外界環境信息的效率很高。事實上,據一些國外學者所做的統計,人類所獲得外界信息有 80% 左右是來自眼睛攝取的圖像。由此可見,視覺作為人類獲取外界信息的主要載體,計算機要實現智能化,就必須能夠處理圖像信息。尤其是近年來,以圖形、圖像、視頻等大容量為特征的圖像數據處理廣泛應用于醫學、交通、工業自動化等領域。

       自然界的一切圖像都是連續變化的模擬圖像,在日常生活中,這些圖像中的運動目標往往是我們比較關心的,如:行人、行駛的交通工具以及其他的物體。目標檢測和識別是計算機視覺和數字圖像處理的一個熱門方向,廣泛應用于機器人導航、智能視頻監控、工業檢測、航空航天等諸多領域。因此,目標識別也就成為了近年來理論和應用的研究熱點,它是圖像處理和計算機視覺學科的重要分支,也是智能監控系統的核心部分。它的目的就是如何快速、準確地檢測出監控視頻中的目標,即從序列圖像中將目標提取出來。

       隨著社會經濟的不斷發展,城市化步伐的不斷加速,城市的工作、生活秩序顯得越來越紊亂,實時的人數統計有著重要意義。如:可以通過統計等候電梯的人數來優化調度電梯,以此提高電梯的利用率,減少用戶的等待時間。可以通過統計經過十字路口、丁字路口人群流動繁忙的交通場合的人數,可以合理安排交通警察或保安人員的工作時間和工作額度。

       目標識別 是指用計算機實現人的視覺功能,它的研究目標就是使計算機具有從一幅或多幅圖像或者是視頻中認知周圍環境的能力(包括對客觀世界三維環境的感知、識別與理解)。目標識別作為視覺技術的一個分支,就是對視場內的物體進行識別,如人或交通工具,先進行檢測,檢測完后進行識別,然后分析他們的行為。目前,國際上許多高校和研究所,如麻省理工學學院、牛津大學等都專門設立了針對目標檢測和識別的研究組或者研究實驗室。美英等國家已經研究了大量的相關項目。一些著名公司和研究機構,如 IBM 、 Microsoft 、麻省理工學院等近幾年來投入了大量的人力物力來進行智能監控系統的研究,部分成果已經轉化為產品投入了市場。

       目前在國內的研究機構中,中國科學院自動化研究所下屬的模式識別國家重點實驗室視覺監控研究處于領先地位。自動化所在交通場景視覺監控、人的運動視覺監控和行為模式識別方面進行了深入研究。另外他們也總結了英國雷丁大學 VIEWS 的車輛交通監控原型系統的研究經驗,在之前的理論研究的基礎上,自行設計并初步實現了一個擁有完全自主知識產權的交通監控原型系統 vstart(Visual surveillance star) 。國內其他高校如上海交通大學、北京航空航天大學也對這方面進行了研究。

目標識別

目標識別的任務

       識別出圖像中有什么物體,并報告出這個物體在圖像表示的場景中的位置和方向。對一個給定的圖片進行目標識別,首先要判斷目標有沒有,如果目標沒有,則檢測和識別結束,如果有目標,就要進一步判斷有幾個目標,目標分別所在的位置,然后對目標進行分割,判斷哪些像素點屬于該目標。

目標識別的過程

      目標的識別大體框架:

       目標識別往包含以下幾個階段:預處理,特征提取,特征選擇,建模,匹配,定位。目前物體識別方法可以歸為兩類:一類是基于模型的或者基于上下文識別的方法,另一類是二維物體識別或者三維物體識別方法。對于物體識別方法的評價標準, Grimson 總結出了大多數研究者主要認可的 4 個標準:健壯性( robustness )、正確性( correctness )、效率( efficiency )和范圍( scope )。

訓練分類器所需訓練樣本的創建

      訓練樣本包括正樣本和負樣本;其中正例樣本是指待檢目標樣本 ( 例如人臉或汽車等 ) ,負樣本指其它不包含目標的任意圖片(如背景等),所有的樣本圖片都被歸一化為同樣的尺寸大小 ( 例如, 20x20) 。

預處理

      預處理是盡可能在不改變圖像承載的本質信息的前提下,使得每張圖像的表觀特性(如顏色分布,整體明暗,尺寸大小等)盡可能的一致,以便于之后的處理過程。預處理有生物學的對應。瞳孔,虹膜和視網膜上的一些細胞的行為類似于某些預處理步驟,如自適應調節入射光的動態區域等等。預處理和特征提取之間的界線不完全分明。有時兩者交叉在一起。它主要完成模式的采集、模數轉換、濾波、消除模糊、減少噪聲、糾正幾何失真等預處理操作。因此也要求相應的設備來實現。

       預處理經常與具體的采樣設備和所處理的問題有關。例如,從圖象中將汽車車牌的號碼識別出來,就需要先將車牌從圖像中找出來,再對車牌進行劃分,將每個數字分別劃分開。做到這一步以后,才能對每個數字進行識別。以上工作都應該在預處理階段完成。

       從理論上說,像預處理這種先驗式的操作是不應該有的。因為它并不為任何目的服務,所以完全可以隨意為之而沒有 “ 應該怎么做 ” 的標準,大部分情況下預處理是看著實驗結果說話。這是因為計算機視覺目前沒有一個整體的理論框架,無法從全局的高度來指導每一個步驟應該如何進行。在物體識別中所用到的典型的預處理方法不外乎直方圖均衡及濾波幾種。像高斯模糊可以用來使得之后的梯度計算更為準確;而直方圖均衡可以克服一定程度的光照影響。值得注意的是,有些特征本身已經帶有預處理的屬性,因此不需要再進行預處理操作。

預處理通常包括五種基本運算:

(1) 編碼:實現模式的有效描述,適合計算機運算。

(2) 閥值或者濾波運算:按需要選出某些函數,抑制另一些。

(3) 模式改善:排除或修正模式中的錯誤,或不必要的函數值。

(4) 正規化:使某些參數值適應標準值,或標準值域。

(5) 離散模式運算:離散模式處理中的特殊運算。

特征提取

由圖像或波形所獲得的數據量是相當大的。例如,一個文字圖像可以有幾千個數據,一個心電圖波形也可能有幾千個數據。為了有效地實現分類識別,就要對原始數據進行變換,得到最能反映分類本質的特征。這就是特征選擇和提取的過程。一般我們把原始數據組成的空間叫測量空間,把分類識別賴以進行的空間叫做特征空間,通過變換,可把在維數較高的測量空間中表示的模式變為在維數較低的特征空間中表示的模式。特征提取是物體識別的第一步,也是識別方法的一個重要組成部分,好的圖像特征使得不同的物體對象在高維特征空間中有著較好的分離性,從而能夠有效地減輕識別算法后續步驟的負擔,達到事半功倍的效果,下面是對一些常用的特征提取方法:

( 1 )顏色特征。顏色特征描述了圖像或圖像區域所對應的景物的表面性質,常用的顏色特征有圖像片特征、顏色通道直方圖特征等。

( 2 )紋理特征。紋理通常定義為圖像的某種局部性質,或是對局部區域中像素之間關系的一種度量。紋理特征提取的一種有效方法是以灰度級的空間相關矩陣即共生矩陣為基礎的,其他方法還有基于圖像友度差值直方圖的特征提取和基于圖像灰度共生矩陣的特征提取。

( 3 )形狀特征。形狀是刻畫物體的基本特征之一,用形狀特征區別物體非常直觀,利用形狀特征檢索圖像可以提高檢索的準確性和效率,形狀特征分析在模式識別和視覺檢測中具有重要的作用。通常情況下,形狀特征有兩類表示方法,一類是形狀輪廓特征描述,另一類是形狀區域特征。形狀輪廓特征主要有:直線段描述、樣條擬合曲線、博立葉描述子、內角直方圖以及高斯參數曲線等等,形狀區域特征主要有:形狀的無關矩、區域的面積、形狀的縱橫比等。

( 4 )空間特征。空間特征是指圖像中分割出來的多個目標之間的相互的空間位置或者相對方向關系,有相對位置信息,比如上下左右,也有絕對位置信息,常用的提取空間特征的方法的基本思想為對圖像進行分割后,提取出特征后,對這些特征建立索引。

目標比較盛行的有: Haar 特征、 LBP 特征、 HOG 特征和 Shif 特征等;他們各有千秋,得視你要檢測的目標情況而定。

特征選擇

再好的機器學習算法,沒有良好的特征都是不行的 ; 然而有了特征之后,機器學習算法便開始發揮自己的優勢。在提取了所要的特征之后,接下來的一個可選步驟是特征選擇。特別是在特征種類很多或者物體類別很多,需要找到各自的最適應特征的場合。嚴格地來說,任何能夠在被選出特征集上工作正常的模型都能在原特征集上工作正常,反過來進行了特征選擇則可能會丟掉一些有用的特征;不過由于計算上的巨大開銷,在把特征放進模型里訓練之前進行特征選擇仍然是相當重要的。

建模

       一般物體識別系統賴以成功的關鍵基礎在于,屬于同一類的物體總是有一些地方是相同的。而給定特征集合,提取相同點,分辨不同點就成了模型要解決的問題。因此可以說模型是整個識別系統的成敗之所在。對于物體識別這個特定課題,模型主要建模的對象是特征與特征之間的空間結構關系;主要的選擇準則,一是模型的假設是否適用于當前問題;二是模型所需的計算復雜度是否能夠承受,或者是否有盡可能高效精確或者近似的算法。

       模型表示涉及到物體具有那些重要屬性或特征以及這些特征如何在模型庫中表示,有些物體模型定義為一系列局部的統計特征,即 generative 模型,有些是采用物體的特征以及物體特征之間的相互關系定義的,比如位置關系等,即 discriminative 模型,或者是二者的混合模型。對于大多數物體來說,幾何特征描述是可以很有效的;但對于另外一些物體,可能需要更一般的特征或函數來表示。物體的表示應該包含所有相關信息,但沒用任何冗余信息,并且將這些信息以某種方式組織起來,使得物體識別系統的不同組元能夠容易訪問這些信息。

用訓練樣本來訓練分類器

       這得先明白分類器是什么?百度百科的解釋是: “ 使待分對象被劃歸某一類而使用的分類裝置或數學模型。 ” 可以這樣理解,舉個例子:人腦本身也算一個分類器,只是它強大到超乎想象而已,人對事物的識別本身也是一個分類的過程。人在成長或者學習過程中,會通過觀察 A 類事物的多個具體事例來得到對 A 類事物性質和特點的認識,然后以后遇到一個新的物體時,人腦會根據這個事物的特征是否符合 A 類事物性質和特點,而將其分類為 A 類或者非 A 類。(這里只是用簡單的二分類問題來說明)。那么訓練分類器可以理解為分類器(大腦)通過對正樣本和負樣本的觀察(學習),使其具有對該目標的檢測能力(未來遇到該目標能認出來)。

       分類器按特征類型分為數值型分類器和符號型兩大類。數值型分類器包括統計分類器(統計理論為基礎)、模糊分類器(模糊集理論為基礎)、人工神經元網絡(模擬生物神經系統的電子系統,也可以用軟件在計算機上實現)、人工智能分類器(基于邏輯推理或專家系統結構)。符號型分類器包括句法分類器(基于句法分析和自動機理論)、人工智能分類器(基于邏輯推理或專家系統結構)。其中符號型分類器具有更大的靈活性,所以能處理較為復雜的模式分類問題。但是目前對符號型分類器的研究遠沒有數值型分類器成熟。為了使分類檢測準確率較好,訓練樣本一般都是成千上萬的,然后每個樣本又提取出了很多個特征,這樣就產生了很多的的訓練數據,所以訓練的過程一般都很耗時的。

      目標比較盛行的分類器有: SVM 支持向量機、 AdaBoost 算法等。 其中:

  • 檢測行人的一般是 HOG 特征 +SVM ;

  • OpenCV 中檢測人臉的一般是 Haar+AdaBoost ;

  • OpenCV 中檢測拳頭一般是 LBP+ AdaBoost 。

隨著深度學習的興起,現在深度學習在物體識別上取得了相當好的成果。

匹配

       在得到訓練結果之后(在描述、生成或者區分模型中常表現為一簇參數的取值,在其它模型中表現為一組特征的獲得與存儲),接下來的任務是運用目前的模型去識別新的圖像屬于哪一類物體,并且有可能的話,給出邊界,將物體與圖像的其它部分分割開。一般當模型取定后,匹配算法也就自然而然地出現。在描述模型中,通常是對每類物體建模,然后使用極大似然或是貝葉斯推理得到類別信息;生成模型大致與此相同,只是通常要先估出隱變量的值,或者將隱變量積分,這一步往往導致極大的計算負荷;區分模型則更為簡單,將特征取值代入分類器即得結果。

        一般匹配過程是這樣的:用一個掃描子窗口在待檢測的圖像中不斷的移位滑動,子窗口每到一個位置,就會計算出該區域的特征,然后用我們訓練好的分類器對該特征進行篩選,判定該區域是否為目標。然后因為目標在圖像的大小可能和你訓練分類器時使用的樣本圖片大小不一樣,所以就需要對這個掃描的子窗口變大或者變小(或者將圖像變小),再在圖像中滑動,再匹配一遍。

目標識別方法

       物體識別方法就是使用各種匹配算法,根據從圖像已提取出的特征,尋找出與物體模型庫中最佳的匹配,它的輸入為圖像與要識別物體的模型庫,輸出為物體的名稱、姿態、位置等等。大多數情況下,為了能夠識別出圖像中的一個物體,物體識別方法一般由 5 個步驟組成:特征提取;知覺組織;索引;匹配;驗證。

經典的物體識別方法:

       1 ) Bag of words ( BoW )方法 。 BoW 方法主要是采用分類方法來識別物體, BoW 方法是來自于自然語言處理,在自然語言處理中是用來表示一篇文檔是有一袋子詞語組成的,在計算機視覺的物體識別方法中,將圖像比作文檔,將從圖像中提取的特征比作詞語,即一幅圖像是有一袋子特征組成的,如圖 1 所示。 BoW 方法首先需要一個特征庫,特征庫中的特征之間是相互獨立的,然后圖像可以表示為特征庫中所有特征的一個直方圖,最后采用一些生成性( generative )方法的學習與識別來識別物體。

        2 ) Partsand structure 方法 。 BoW 方法的一個主要缺點為特征之間是相互獨立的,丟失了位置信息, Parts and structure 方法采用了特征之間的關系,比如位置信息和底層的圖像特征,將提取出的特征聯系起來。 Pictorial Structure ( PS )提出的彈簧模型,物體部件之間的關系用伸縮的彈簧表示,對于特征之間的關系的模型表示,還有星型結構、層次結構、樹狀結構等。

       3 ) 生成性( generative )方法與鑒別性( Discriminative )方法 。生成性方法檢查在給定物體類別的條件下,圖像中出現物體的可能性,并以此判定作為檢測結果的得分,鑒別性方法檢查圖像中包含某個類別出現的可能性與其他類的可能性之比,從而將物體歸為某一類。

分割

一旦在圖像中潛在目標的位置找到了,就要從背景中盡可能準確的將目標提取出來,即將目標從背景中分割出來。當存在噪聲和雜波干擾時,信噪比可能很低,這是將會給分割造成困難。

目標的分割算法有很多。每個分割算法都要解決兩個問題:分割準則和執行方法。

( 1 ) MeanShift 聚類

Meanshift 聚類也可以用在邊緣檢測、圖像規則化、跟蹤等方面。基于 meanshift 的分割需要精密的參數調整以得到較好的分割效果,如顏色和空間核帶寬的選擇,區域尺寸最小值的閾值設定。

( 2 ) Graph-cut

圖像分割可以建模為 graph-cut 問題。圖 G 的頂點 V 由圖像像素點構成;通過剪除加權的邊分割為 N 個不相連的子圖。兩個子圖間被剪除的邊的權和稱為 cut 。權值由顏色、光照、紋理等因素計算得到。通常應用在跟蹤目標輪廓上;與 MeanShift 相比,它所需要參數較少,但計算開銷和內存開銷較大。

( 3 )主動輪廓

主動輪廓曲線將一個閉合輪廓曲線推演為目標邊界,從而實現圖像分割。這個過程由輪廓的能量函數來操縱。這個問題需要解決三個方面問題:一是能量函數的確定,二是輪廓曲線的初始化,三是輪廓表達方式的選擇。

存在問題

雖然目標識別已經被廣泛研究了很多年,研究出大量的技術和算法,識別方法的健壯性、正確性、效率以及范圍得到了很大的提升,但在目標檢測和識別這方面仍然存在著許多不足,體現在一下幾個方面。

( 1 )目標之間互遮擋和人體自遮擋問題,尤其是在擁擠狀態下,多人的檢測更是難處理。  

( 2 )獲取物體的觀測數據時會受到多方面的影響。在不同的視角對同一物體也會得到不同的圖像,物體所處的場景的背景以及物體會被遮擋,背景雜物一直是影響物體識別性能的重要因素,場景中的諸多因素,如光源、表面顏色、攝像機等也會影響到圖像的像素灰度,要確定各種因素對像素灰度的作用大小是很困難的,這些使得圖像本身在很多時候并不能提供足夠的信息來恢復景物。

( 3 )同樣的圖像在不同的知識導引下,會產生不同的識別結果,知識庫的建立不僅要使用物體的自身知識,如顏色、紋理、形狀等,也需要物體間關系的知識,知識庫的有效性與準備性直接影響了物體識別的準確性。

( 4 )物體本身是一個高維信息的載體,但是圖像中的物體只是物體的一個二維呈現,并且在人類目前對自己如何識別物體尚未了解清楚,也就無法給物體識別的研究提供直接的指導。

( 5 )目前人們所建立的各種視覺系統絕大多數是只適用于某一特定環境或應用場合的專用系統,而要建立一個可與人的視覺系統相比的通用視覺系統是非常困難的,雖然存在著很多困難。

( 6 )目標之間互遮擋,尤其是在擁擠狀態下,目標檢測很不穩定,檢測結果也很不理想,這個問題還需要進一步的研究解決。

未來研究思路

目標檢測和識別仍然存在著諸多的問題,以后目標識別可以從以下幾個方面改進:

( 1 )形狀特征的研究。目前大部分的形狀特征仍然是基于有向梯度,這是否是足夠的,形狀是否應該有更高一層的抽象表示,還值得進一步的研究。

( 2 )物體的表示與描述。如何描述物體,物體不應該是獨立的,物體與物體之間的交互應該考慮進來。物體不應該是一組獨立的特征的集合,物體識別應該放在一個更大的上下文環境中來重新考察。

*注:參考http://blog.csdn.net/liuheng0111/article/details/52348874

本次分享的主要分類方案: (中國科學院計算技術研究所多媒體計算研究組——唐勝 副研究員)

稀疏化的卷積神經網絡(SP-CNN)

  • 神經科學研究表明[1] :神經元之間

– 稀疏激活(Sparse Activity)
– 稀疏連接(Sparse Connectivity)

  • 一個類別可以用類別基元稀疏表達

  • 在全連接層中自適應地斷開不重要的連接,僅保留重要連接

– 去除不重要的連接引入的干擾噪聲
– 精簡模型,更適合于移動終端和嵌入式設備

注:[1] Thom M, Palm G. Sparse activity and sparse connectivity in supervised learning[J].
The Journal of Machine Learning Research, 2013, 14(1): 1091-1143.

SP-CNN:驗證集結果

在最后一個全連接層參數數量僅為原模型 9.12% 的情況下:Top-1和Top-5準確率分別提高了 0.72% 0.32%

CNN-SEL:Motivation

語義多態性

  • 類內差異大,需要大量樣本,以盡可能囊括可能的樣本情況

全局分類方法

  • 訓練復雜度高, 訓練RBF核SVM復雜度O(n2)-O(n3)

  • 分類面復雜,模型大,識別效率低

CNN-SEL:系統框架

基于CNN特征的稀疏集成學習[2]

  • 稀疏劃分:訓練時用稀疏編碼劃分子空間,大幅提高訓練效率

  • 稀疏融合:測試時用稀疏編碼進行多分類器融合,提高測試效率

  • 子分類面簡單、激發的子分類器個數少、 互為補充、提高分類精度

[2] Sheng Tang, Yan-Tao Zheng, Yu Wang, Tat-Seng Chua, “Sparse Ensemble Learning for Concept
13 Detection”, IEEE Transactions on Multimedia, 14 (1): 43-54, February 2012

CNN-SEL:稀疏劃分

CNN-SEL:稀疏融合

CNN-SEL:驗證集實驗

在CaffeNet能明顯提高準確率,在VGG上因為訓練SVM子分類器只用了5個不同位置的Crop,沒有考慮更為復雜的數據擴增方法,如多尺度、鏡像翻轉、對比度和顏色變化等,因而提高不明顯。

模型融合結果

目標定位方案

候選區域 :多種候選區域(Region Proposals)融合

密集區域融合 :利用最終結果的密集區域對目標位置進行回歸

類別聚類 :提出了使用CNN特征類別聚類的目標定位方法

目標定位: 多候選區域融合

多候選區域融合驗證集實驗

  • 為快速驗證,從1000個類別隨機選取50個類別

  • 為避免分類影響,假設分類準確度為100%,即取驗證集上的真實類別標簽(Ground truth)

  • 多候選區域融合有效提高了目標定位任務的準確率

密集區域融合:Motivation

白框為標注窗口;紅框為密集融合窗口;綠色框得分大于等于0.6;黃色框得分低于0.6大于0.3

LOC: 密集區域融合

  • 密集區域指在同一個目標附近大量類似的候選區域,可以看作同一目標位置的偏移。

  • 密集區域的判別函數通過計算兩個窗口的中心點距離和窗口之間的IoU來確定。

? 密集區域融合(DRF)

Dense Region Fusion

? 區域融合:將兩個區域的坐標取平均值。
? 得分融合:高得分窗口分數加上低得分窗口分數的一半。

LOC: 密集區域融合實驗結果

1.準確率提高,排除了高得分非目標窗口
2.重疊率提高,目標位置的偏移得到回歸

LOC: 基于CNN聚類的目標定位

將聚類后的類別作為一個大類訓練Fast R-CNN模型得到定位結果

目標定位系統框架-訓練

訓練:

1. 多區域模型:基于多候選區域融合的定位方法
2. 聚類定位模型:基于CNN特征特征類別聚類的定位方法

目標定位系統框架-測試

測試:

1. 模型融合:兩個模型在不同類別上準確率不同,根據驗證集上圖片類別的結果,選用準確度高的模型
2. 窗口融合:使用密集區域融合對定位位置進行回歸

 

來自:http://mp.weixin.qq.com/s/0E4V*N9z2sNvsGCvOI5RVA

 

 

 本文由用戶 murongqing 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!