前言
在公司需要研究人臉辨識的東西,發現蠻多資料都會提到dlib這個套件,查了官網發現這是個C++的library,可用於機器學習、影像辨識、機器視覺等工作,也有提供Python API,感覺可以研究看看,說不定還能藉由它來建立人臉資料庫。
安裝
- 先用 anaconda 建立環境
conda create -n dlib python=3.6
- 進入虛擬環境
activate dlib
- 安裝套件 (除了裝dlib之外,姑且也將其他常用套件一併安裝)
pip install dlib
pip install opencv-python
pip install matplotlib
pip install scipy
pip install scikit-image
```
人臉檢測器
=====
dlib內建不少人臉相關的模組,呼叫起來也很方便,用它建立一個人臉辨識基本上應該是非常夠用的。這邊先簡單找個範例執行一下,有空再來靠它建立人臉資料庫。
```
import cv2
import dlib
import matplotlib.pyplot as plt
img = cv2.imread("data/00000/00001.png")
detector = dlib.get_frontal_face_detector()
face_rects = detector(img, 0)
for i, d in enumerate(face_rects):
x1 = d.left()
y1 = d.top()
x2 = d.right()
y2 = d.bottom()
cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 4, cv2.LINE_AA)
plt.imshow(img)
plt.show()
```
參考
==
* [Python影像辨識筆記(四):使用dlib辨識器. 安裝dlib套件 | by Yanwei Liu | Medium](https://yanwei-liu.medium.com/python%E5%BD%B1%E5%83%8F%E8%BE%A8%E8%AD%98%E7%AD%86%E8%A8%98-%E5%9B%9B-%E4%BD%BF%E7%94%A8dlib%E8%BE%A8%E8%AD%98%E5%99%A8-c75a633e9853)