图片人脸检测——Dlib版(四)
上幾篇給大家講了OpenCV的圖片人臉檢測,而本文給大家?guī)淼氖潜萇penCV更加精準的圖片人臉檢測Dlib庫。
往期目錄
視頻人臉檢測——Dlib版(六)
OpenCV添加中文(五)
圖片人臉檢測——Dlib版(四)
視頻人臉檢測——OpenCV版(三)
圖片人臉檢測——OpenCV版(二)
OpenCV環(huán)境搭建(一)
更多更新,歡迎訪問我的github:https://github.com/vipstone/faceai
dlib與OpenCV對比
識別精準度:Dlib >= OpenCV
Dlib更多的人臉識別模型,可以檢測臉部68甚至更多的特征點
效果展示
人臉的68個特征點
安裝dlib
下載地址:https://pypi.org/simple/dlib/?選擇適合你的版本,本人配置:
Window 10 + Python 3.6.4
我現在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl
使用命令安裝:
pip3 install D:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl
顯示結果: Processing d:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1
為安裝成功。
下載訓練模型
訓練模型用于是人臉識別的關鍵,用于查找圖片的關鍵點。
下載地址:http://dlib.net/files/
下載文件:shape_predictor_68_face_landmarks.dat.bz2
當然你也可以訓練自己的人臉關鍵點模型,這個功能會放在后面講。
下載好的模型文件,我的存放地址是:C:\Python36\Lib\site-packages\dlib-data\shape_predictor_68_face_landmarks.dat.bz2
解壓:shape_predictor_68_face_landmarks.dat.bz2得到文件:shape_predictor_68_face_landmarks.dat
代碼實現
#coding=utf-8import cv2 import dlibpath = "img/meinv.png" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#人臉分類器 detector = dlib.get_frontal_face_detector() # 獲取人臉檢測器 predictor = dlib.shape_predictor("C:\\Python36\\Lib\\site-packages\\dlib-data\\shape_predictor_68_face_landmarks.dat" )dets = detector(gray, 1) for face in dets:shape = predictor(img, face) # 尋找人臉的68個標定點# 遍歷所有點,打印出其坐標,并圈出來for pt in shape.parts():pt_pos = (pt.x, pt.y)cv2.circle(img, pt_pos, 2, (0, 255, 0), 1)cv2.imshow("image", img)cv2.waitKey(0) cv2.destroyAllWindows()?
?
?
?
?
連載目錄:
《OpenCV環(huán)境搭建(一)》
《圖片人臉檢測——OpenCV版(二)》
《視頻人臉檢測——OpenCV版(三)》
《圖片人臉檢測——Dlib版(四)》
?
更多動態(tài),請關注我的GitHub:https://github.com/vipstone/faceai
?
總結
以上是生活随笔為你收集整理的图片人脸检测——Dlib版(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让mysql索引更快一点
- 下一篇: 面试官 | Oracle JDK 和 O