人臉識別之face_recognition:(三)face_recognition在樹莓派上的提速
阿新 • • 發佈:2018-12-15
在前面說過,樹莓派上使用face_recognition是十分慢的,這裡講解一下作者自己的提速方法:
face_recognition在不同機器上識別時間對比
可能是因為我在樹莓派上使用了多執行緒,opencv等原因樹莓派上識別時間比較久,後來關閉了多執行緒識別時間平均為13,但是可見樹莓派上識別任然是十分緩慢的。
裝置 | 使用語言 | 識別時間 |
---|---|---|
臺式ubuntu16.04 | python | 0.5s |
樹莓派 | python | 23 |
原因分析
在前面我有整理過face_recognition的資料,上面有介紹識別的過程。這裡主要分析軟體上的原因,不考慮硬體。
face_recognition的識別過程和時間分析如下(本測試全在樹莓派上進行):
識別步驟 | 作用 | 使用函式 | 花費時間 | 備註 |
---|---|---|---|---|
1 | 讀入圖片 | load_image_file | 0.02S | |
2 | 尋找人臉 | batch_face_locations | 8s | 使用hog |
3 | 提取特徵 | face_encodings | 6s | |
4 | 面部比較 | compare_faces | 0.05 | 比對了15張人臉特徵 |
可以看出時間主要花費在【尋找人臉】和【提取特徵】這兩步,所以解決方案從裡面開始入手。
提速方案
這裡只提出了一部分結局方案,其他的方案正在研究中,以後有其他的解決方案作者新增到這裡。
- 更換【尋找人臉】方法
這裡使用的HOG方法,這是face_recognitinon 裡面自帶的,雖然識別比較準確,但是速度相對較慢。所以這裡替換成opencv自帶的的HARR尋找人臉模型。
待續。。。