樹莓派一鍵部署系列之二:openface人臉識別程序

openface圖像識別

自從大神們發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)對圖像識別的特殊功能以后,人臉識別技術(shù)發(fā)展非常迅速,各種新算法層出不窮。在有效訓練的情況下,基于openface的人臉識別已經(jīng)非常精準。我嘗試用openface識別家里的家庭成員,基本沒有出錯的。本文教你如何在樹莓派上,部署人臉識別程序。

為了讓大家很方便的使用到這個程序,筆者將將所有準備工作都編譯到docker鏡像中去了,這樣大家可以跳過繁雜的安裝過程。

首先您要先確定您的樹莓派操作系統(tǒng)(raspbian)的版本要至少為jessie,如果還沒有升級到這個版本,請先刷到這個版本。樹莓派板卡最好為pi 3,前面幾代應(yīng)該也能運行(筆者沒有測試過),但CPU速度比較慢,運行時間會比較長。

數(shù)據(jù)準備

首先你要確定你要識別哪些人,每個人拍攝3-5張照片,最好是這個人正臉和側(cè)臉不同角度拍攝的照片,光線可以有明暗區(qū)別。這些照片,作為訓練數(shù)據(jù)使用。另外,每個人再另外準備1-2張照片,作為待識別的照片。這些照片,請按照以下方式存儲:

準備的數(shù)據(jù)目錄結(jié)構(gòu)

以上以一個家庭父親、母親、小孩三個對象為示意,說明目錄樹的結(jié)構(gòu)該怎么設(shè)置。

部署程序

部署的過程其實只有一行代碼,在你的當前位置下,運行:

curl -s https://raw.githubusercontent.com/flyingtimes/face-recognizer/master/install.sh|bash

這是一個腳本,會自動幫你把源代碼下載下來,如果沒有安裝docker,會自動安裝docker,并下載相關(guān)的docker鏡像。openface所需的所有組件都已經(jīng)在docker中預(yù)先準備好了,您只要運行程序就行了。整個過程需要下載1.5G左右的數(shù)據(jù),請耐心等待。同時,程序還會下載run_train.sh 和 run_test.sh腳本。

訓練數(shù)據(jù)

在你的當前位置下,運行(其中 $PWD代表當前路徑):

bash run_train.sh $PWD

開始人臉識別

在你的當前位置下,運行:

bash run_detect.sh $PWD father_test.jpg

其中father_test.jpg是你要識別的文件名稱,可以是任意名稱,必須放在detect目錄下。

輸出的結(jié)果應(yīng)該類似如下內(nèi)容:

=== /detect/father_test.jpg ===

Predict father with 0.67 confidence.


注意事項

* 訓練數(shù)據(jù)如果有變化,需要重新進行訓練

* 如果只是利用已經(jīng)生成的模型來檢測,則直接運行run_detect.sh就行

* 對于沒有訓練過的照片的識別率是比較低的,必須先“學習”,然后識別率才會比較高

* 照片越多,訓練時間越長,考慮樹莓派的運行速度較慢,建議一開始玩每個人的照片在3-5張比較合適,當然如果你愿意等,照片越多準確率越高。


Enjoy it,在此基礎(chǔ)上,嘗試用你的樹莓派攝像頭,來做一個人臉識別的們鎖吧!

PS:

近期由于“網(wǎng)絡(luò)安全原因”,部分讀者反映有幾種異常情況,統(tǒng)一回復(fù)如下:

1)在git clone的時候等待很久,實際是因為網(wǎng)絡(luò)原因無法在github上抓取代碼,我把項目代碼共享到百度網(wǎng)盤 https://pan.baidu.com/s/1eRJsuJK ,大家可以隨意下載。下載后進入face-recognition-master 運行 bash install.sh 即可。

2)有部分用戶在執(zhí)行過程中,顯示“docker未安裝”,然后長時間等待。這種情況也是因為網(wǎng)絡(luò)不良導(dǎo)致無法安裝docker。建議在樹莓派上反復(fù)執(zhí)行:

curl -sSL https://get.docker.com | sh? ? ?直到成功為止。

3)鏡像下載是一個比較長的過程,建議耐心等待。鏡像文件托管到dockerhub上,如果不成功,建議在網(wǎng)絡(luò)良好的時候執(zhí)行 docker pull clarkchan/rpi-tensorflow-imagenet

4) 部分用戶在執(zhí)行的時候反映“memory”問題,主要是前幾代樹莓派內(nèi)存不足,無法運行程序?qū)е碌?,請確認你的硬件升級到樹莓派3

PS(2018-06-03):

今天重新運行了一次,發(fā)現(xiàn)由于網(wǎng)絡(luò)原因,原來的安裝腳本有些步驟我也不能用了。順便修改了一下。改了幾個地方:

1) docker的安裝。由于官網(wǎng)經(jīng)常失聯(lián),安裝改為apt-get install docker-ce,不從官網(wǎng)直接下載了。

2)鏡像獲取的時候,改使用root權(quán)限,避免permission denied 問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容