1. 程式人生 > >基於深度學習的場景分類演算法

基於深度學習的場景分類演算法

目前出現的相對流行的場景分類方法主要有以下三類:

(1)     基於物件的場景分類

這種分類方法以物件為識別單位,根據場景中出現的特定物件來區分不同的場景;

 基於視覺的場景分類方法大部分都是以物件為單位的,也就是說,通過識別一些有

代表性的物件來確定自然界的位置。典型的基於物件的場景分類方法有以下的中間步驟:

特徵提取、重組和物件識別。

缺點:底層的錯誤會隨著處理的深入而被放大。例如,上位層中小物件的識別往往會受到下屬層

相機感測器的原始噪聲或者光照變化條件的影響。尤其是在寬敞的環境下,目標往往會非常分散,

這種方法的應用也受到了限制。需要指出的是,該方法需要選擇特定環境中的一些固定對

象,一般使用深度網路提取物件特徵,並進行分類。

演算法:AlexNet

                    除了傳統的卷積層、pooling層、全連線層。AlexNet加入了

                    (1)非線性啟用函式:ReLU;

                    (2)防止過擬合的方法:Dropout,Dataaugmentation。同時,使用多個GPU,LRN歸一化層。

演算法:VGG-Net。

                    不同於AlexNet的地方是:VGG-Net使用更多的層,通常有16-19層,而AlexNet只有8層。

                    同時,VGG-Net的所有 convolutional layer 使用同樣大小的 convolutional filter,大小為 3 x 3。

演算法:GoogLeNet。

提出的Inception結構是主要的創新點,這是(Network In Network)的結構,即原來的結點也是一個網路。

在單層卷積層上使用不同尺度的卷積核就可以提取不同尺寸的特徵,單層的特徵提取能力增強了。其使用之後整個網路結構的寬度和深度都可擴大,能夠帶來2-3倍的效能提升。

演算法:ResNet。

ResNet引入了殘差網路結構(residual network),通過在輸出與輸入之間引入一個shortcut connection,而不是簡單的堆疊網路,這樣可以解決網路由於很深出現梯度消失的問題,從而可可以把網路做的很深。這種方法目前也是業界最高水準了。

(2)    基於區域的場景分類;

首先通過目標候選候選區域選擇演算法,生成一系列候選目標區域,

          然後通過深度神經網路提取候選目標區域特徵,並用這些特徵進行分類。

演算法:RCNN

          技術路線:selective search + CNN + SVMs

          演算法:Fast-R-CNN

          步驟:輸入一幅影象和Selective Search方法生成的一系列Proposals,通過一系列卷積層

                    和Pooling層生成feature map,然後用RoI(region ofineterst)層處理最後一個卷積層

                    得到的feature map為每一個proposal生成一個定長的特徵向量roi_pool5

                    RoI層的輸出roi_pool5接著輸入到全連線層, 產生最終用於多工學習的特徵並用於

計算多工Loss。

                    全連線輸出包括兩個分支:

1.SoftMax Loss:計算K+1類的分類Loss函式,其中K表示K個目標類別。

                    2.RegressionLoss:即K+1的分類結果相應的Proposal的Bounding Box四個角點座標值。

                    最終將所有結果通過非極大抑制處理產生最終的目標檢測和識別結果。

          演算法:Faster-R-CNN:

                    Faster-R-CNN演算法由兩大模組組成:1.PRN候選框提取模組 2.Fast R-CNN檢測模組。

                    其中,RPN是全卷積神經網路,通過共享卷積層特徵可以實現proposal的提取;

                    FastR-CNN基於RPN提取的proposal檢測並識別proposal中的目標。

(3)    基於上下文的場景分類:

這類方法不同於前面兩種演算法,而將場景影象看作全域性物件而非影象中的某一物件或細節,

這樣可以降低區域性噪聲對場景分類的影響。

將輸入圖片作為一個特徵,並提取可以概括影象統計或語義的低維特徵。該類方法的目的

即為提高場景分類的魯棒性。因為自然圖片中很容易摻雜一些隨機噪聲,這類噪聲會對

區域性處理造成災難性的影響,而對於全域性影象卻可以通過平均數來降低這種影響。

基於上下文的方法,通過識別全域性物件,而非場景中的小物件集合或者準確的區域邊界,

因此不需要處理小的孤立區域的噪聲和低階圖片的變化,其解決了分割和目標識別分類方法遇到的問題。

演算法:基於Gist的場景分類

步驟:通過 Gist 特徵提取場景影象的全域性特徵。Gist 特徵是一種生物啟發式特徵,

          該特徵模擬人的視覺,形成對外部世界的一種空間表

          示,捕獲影象中的上下文資訊。Gist 特徵通過多尺度

          多方向 Gabor 濾波器組對場景影象進行濾波,將濾波後

          的影象劃分為 4 × 4 的網格,然後各個網格採用離散傅

          裡葉變換和視窗傅立葉變換提取影象的全域性特徵資訊。

          用CNN 進一步學習更深層次的特徵,並在 CNN 最高層進行場景分類