人臉偵測:安裝 dlib 的 Python 環境
前言
在公司需要研究人臉辨識的東西,發現蠻多資料都會提到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()