天天看點

caffe人臉檢測基于python和alexnet模型實作的人臉檢測

基于python和alexnet模型實作的人臉檢測

轉:https://blog.csdn.net/aiwodaqinshi/article/details/81366588

系統環境:ubuntu16.04 核心:4.15.0-29-generic

首先要配置好caffe的環境,caffe環境的搭建就不在這裡說了

下面開始進入正題:正式實作人臉檢測功能

接下來所需要的所有檔案及腳本: https://download.csdn.net/download/aiwodaqinshi/10580383

注:由于上傳檔案大小被限制了,圖檔就不上傳了,想要詳細按照流程進行一遍此實驗的需要自己準備圖檔資料源,

如果隻是想達到最終人臉檢測的效果,模型和調用author.py腳本我已經上傳隻需要适當修改路徑即可。

1 建立工程目錄

1.建立一個目錄face_detect,用來存儲此次工程項目,最好建立在目前使用者的家目錄下

2.在face_detect目錄建立一個train目錄和一個val目錄,分别用來儲存訓練的圖檔和測試的圖檔。

3.train目錄下建立一個0目錄和1目錄,分别存放人臉圖檔和非人臉圖檔

講過上面的操作,現在目錄結構應該是下面這樣。

caffe人臉檢測基于python和alexnet模型實作的人臉檢測

2 制作LMDB資料源

4.給樣本打标簽

本次試驗中人臉的資料标簽為0,非人臉的資料标簽為1,然後再face_detect目錄下建立一個train.txt檔案,用來存儲标簽,一會制作LMDB模型時會用到。train.txt 檔案的格式為:

1/xxx1.jpg 1

0/xxx.0jpg 0

其中xxx0為非人臉圖檔的檔案名,xxx1為人臉圖檔的檔案名

接着再建立一個val.txt檔案格式同上

注:train.txt檔案val.txt檔案會上傳,圖檔太大了超過了限制就不上傳了。

5.制作LMDB資料源

通過提前寫好的 face-lmdb.sh腳本(腳本也會上傳)放到工程目錄face_detect下,隻需要将腳本中内容适當修改即可制作好資料源。

需要修改的内容有:

注:face-lmdb.sh腳本也會上傳

  • 第五行:路徑改為目前工程目錄的絕對路徑,就是/home/yourname/face_detect
  • 第六行:路徑改為目前工程目錄的絕對路徑,同上
  • 第七行:caffe安裝的工具的檔案下,例如我的是 /home/zzy/caffe/build/tools
  • 第九行:改為工程目錄中中train目錄的絕對路徑
  • 第十行:改為工程目錄中val目錄的絕對路徑

    此處修改看着不太懂可以參考我的腳本檔案進行修改。

    修改完後,儲存,執行此腳本即可生成LMDB資料源,此過程時間較長,這是在face_detect下會生成如下兩個目錄。

    caffe人臉檢測基于python和alexnet模型實作的人臉檢測

3 訓練模型

6.将一開始準備好的網絡模型檔案(train.prototxt)及超參數檔案(solver.prototxt)放到face_detect目錄中,

然後執行train.sh腳本即可對模型進行訓練,

train.sh需要改的地方就是路徑問題,這裡就不多說了。

指行完train.sh腳本會生在face_detect下生成model目錄,目錄下生成如下模型,這裡疊代了50000次

注:模型檔案以及超參數檔案和train.sh腳本也都會上傳

caffe人臉檢測基于python和alexnet模型實作的人臉檢測

4 實作多尺度人臉檢測

根據deploy.prototxt檔案(全連接配接時使用)和deploy_full_conv.prototxt檔案(全卷積時使用)

以及上一步中生成的_iter_50000.caffemodel模型,生成alexnet_iter_50000_full_conv.caffemodel模型檔案

innerToConv.py腳本實作這一過程,腳本見 http://www.mamicode.com/info-detail-1918510.html

然後執行author.py腳本即可

最終實際效果圖。

caffe人臉檢測基于python和alexnet模型實作的人臉檢測

繼續閱讀