標籤:分類 資料集 csdn 難度 ural zed aar 連網 cas
文章連結: http://pan.baidu.com/s/1bQBJMQ 密碼:4772
作者在這裡提出了基於神經網路的Cascade方法,Cascade最早可追溯到Haar Feature提取時用到的Adaboost演算法(參考這個部落格:http://blog.csdn.net/zouxy09/article/details/7922923),作者在這裡將它和神經網路結合到了一起,可謂創新。
關鍵字:Cascade;Calibration;
為了提高圖片的測試速度,作者在這裡使用了Cascade,級聯了6個CNN,結構如下:
這六個CNN共分為兩類,一類網路(12-net,24...)(它們是2分類)去分類,同時產生候選框;一類網路(12-Calibration-net,24...)(它們是45分類)是對候選框進行位置矯正,它們的結構如下:
大致分析一下它的流程:(個人見解,可能有的地方有錯誤,非常歡迎指正~)
訓練階段:
作者先從AFLW資料集中的圖片中進行裁剪獲得人臉圖片作為正樣本,再從背景中裁剪獲得負樣本;
將正樣本resized為12*12的大小,輸入到12-net中進行訓練;
將每一個正樣本進行scale、x軸、y軸變換(共45種變換),產生45張圖片,再貼上標配,輸入到12-Calibration-net中進行訓練,變換參數見下:
之後24、48網路的訓練同理;
測試階段:
輸入測試圖片,先對它進行scale變換,形成影像金字塔,再將金字塔中的每一張圖片輸入到級連網絡中;
先進入12-net中,利用sliding-Window,獲得特徵圖,設定一個閥值,一方面進行分類,一方面獲得大於閥值的候選框;
將12-net的輸出中大於閥值但是類別為非人臉的作為12-Calibration-net的負樣本,大於閥值同時類別為人臉的作為12-Calibration-net的正樣本,(注意這時候後面的網路便已經與原輸入圖片無關了)
這些候選框經過12-Calibration-net後每一個都輸出45個得分,在經過下面的操作,獲得最終變換的參數,即可獲得調整後的框位置:
接著再將12-Calibration-net的輸出先resized為24*24,再送到24-net的輸入中,再進行分類,又剔除了一部分,接著再向後面的網路傳輸。。。
使用這種Cascade方法的好處就是:
(1)由於將一個大網路分解成多個小網路進行訓練,訓練難度減小,所需要的訓練集也減小;
(2)雖然訓練時資料準備較花時間,但由於分解成了小網路,計算複雜度降低,測試時間縮短,可以實現即時監測;
《A Convolutional Neural Network Cascade for Face Detection》