python dlib学习(一):人脸检测
生活随笔
收集整理的這篇文章主要介紹了
python dlib学习(一):人脸检测
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
dlib畢竟是一個(gè)很有名的庫了,有c++、Python的接口。使用dlib可以大大簡化開發(fā),比如人臉識(shí)別,特征點(diǎn)檢測之類的工作都可以很輕松實(shí)現(xiàn)。同時(shí)也有很多基于dlib開發(fā)的應(yīng)用和開源庫,比如face_recogintion庫(應(yīng)用一個(gè)基于Python的開源人臉識(shí)別庫,face_recognition)等等。
環(huán)境安裝
不算復(fù)雜,我只在Linux和win下跑過。安裝配置不算難,直接貼鏈接了。
Linux下的安裝在這篇博客中介紹了(應(yīng)用一個(gè)基于Python的開源人臉識(shí)別庫,face_recognition),不做贅述。
win下安裝教程:
python 安裝dlib和boost
Windows環(huán)境 安裝dlib(python) 總結(jié)
程序
注:程序中使用了python-opencv、dlib,使用前請配置好環(huán)境。
程序中已有注釋。
運(yùn)行結(jié)果
運(yùn)行程序,后綴是圖片的名稱。
官方例程:
最后附上官方程序:
#!/usr/bin/python # The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt # # This example program shows how to find frontal human faces in an image. In # particular, it shows how you can take a list of images from the command # line and display each on the screen with red boxes overlaid on each human # face. # # The examples/faces folder contains some jpg images of people. You can run # this program on them and see the detections by executing the # following command: # ./face_detector.py ../examples/faces/*.jpg # # This face detector is made using the now classic Histogram of Oriented # Gradients (HOG) feature combined with a linear classifier, an image # pyramid, and sliding window detection scheme. This type of object detector # is fairly general and capable of detecting many types of semi-rigid objects # in addition to human faces. Therefore, if you are interested in making # your own object detectors then read the train_object_detector.py example # program. # # # COMPILING/INSTALLING THE DLIB PYTHON INTERFACE # You can install dlib using the command: # pip install dlib # # Alternatively, if you want to compile dlib yourself then go into the dlib # root folder and run: # python setup.py install # or # python setup.py install --yes USE_AVX_INSTRUCTIONS # if you have a CPU that supports AVX instructions, since this makes some # things run faster. # # Compiling dlib should work on any operating system so long as you have # CMake and boost-python installed. On Ubuntu, this can be done easily by # running the command: # sudo apt-get install libboost-python-dev cmake # # Also note that this example requires scikit-image which can be installed # via the command: # pip install scikit-image # Or downloaded from http://scikit-image.org/download.html. import sysimport dlib from skimage import iodetector = dlib.get_frontal_face_detector() win = dlib.image_window()for f in sys.argv[1:]:print("Processing file: {}".format(f))img = io.imread(f)# The 1 in the second argument indicates that we should upsample the image# 1 time. This will make everything bigger and allow us to detect more# faces.dets = detector(img, 1)print("Number of faces detected: {}".format(len(dets)))for i, d in enumerate(dets):print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(i, d.left(), d.top(), d.right(), d.bottom()))win.clear_overlay()win.set_image(img)win.add_overlay(dets)dlib.hit_enter_to_continue()# Finally, if you really want to you can ask the detector to tell you the score # for each detection. The score is bigger for more confident detections. # The third argument to run is an optional adjustment to the detection threshold, # where a negative value will return more detections and a positive value fewer. # Also, the idx tells you which of the face sub-detectors matched. This can be # used to broadly identify faces in different orientations. if (len(sys.argv[1:]) > 0):img = io.imread(sys.argv[1])dets, scores, idx = detector.run(img, 1, -1)for i, d in enumerate(dets):print("Detection {}, score: {}, face_type:{}".format(d, scores[i], idx[i]))總結(jié)
以上是生活随笔為你收集整理的python dlib学习(一):人脸检测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习入门学习笔记:(2.4)线性判别
- 下一篇: python dlib学习(二):人脸特