裸机Ubuntu16.04配置Dlib19.4 (Python人脸检测例子)
2018-03-01 15:03
627 查看
Windows版本Dlib配置链接: 地址
首先需要Cmake以及编译C++成python程序的工具【参考1】
[cpp] view plain copy sudo apt-get install libboost-python-dev cmake
如果没有setuptools工具的需要安装,指令如下:
python2.x:
python3.x
运行:(如果提示没权限记得 sudo su)
[cpp] view plain copy python setup.py install
import dlib
无任何异常说明安装成功~
先安装下pip,参考链接:地址
[cpp] view plain copy sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
然后安装skimage.io模块,参考:地址[cpp] view plain copy sudo pip install scikit-image
或者[cpp] view plain copy sudo apt-get install python-skimage
人脸检测
新建fr.py
[python] view plain copy #!/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 sys
import dlib
from skimage import io
detector = 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]))
运行:[cpp] view plain copy python fr.py 1.jpeg
效果如图:
1.准备工作
Dlib库下载链接: 地址首先需要Cmake以及编译C++成python程序的工具【参考1】
[cpp] view plain copy sudo apt-get install libboost-python-dev cmake
如果没有setuptools工具的需要安装,指令如下:
python2.x:
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
python3.x
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3.4
2.安装dlib
接着cd到Dlib的目录运行,参考:地址运行:(如果提示没权限记得 sudo su)
[cpp] view plain copy python setup.py install
3.测试
[cpp] view plain copy pythonimport dlib
无任何异常说明安装成功~
4.运行人脸检测
下面来运行经典的Dlib的landmark~先安装下pip,参考链接:地址
[cpp] view plain copy sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv
然后安装skimage.io模块,参考:地址[cpp] view plain copy sudo pip install scikit-image
或者[cpp] view plain copy sudo apt-get install python-skimage
人脸检测
新建fr.py
[python] view plain copy #!/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 sys
import dlib
from skimage import io
detector = 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]))
运行:[cpp] view plain copy python fr.py 1.jpeg
效果如图:
相关文章推荐
- 裸机Ubuntu16.04配置Dlib19.4 (Python人脸检测例子)
- 人脸关键点检测 ubuntu 16.04 + DLib + GPU(CUDA9 + cudnn7.0.5)
- Ubuntu下Python之dlib人脸检测
- Ubuntu 16.04+OpenFace的配置和简单人脸检测
- 阿里云 Ubuntu 16.04 64位 配置 python
- 在Ubuntu16.04中配置Anaconda(Python2.7)以支持Spark2.0(Pyspark)
- 在Ubuntu 16.04 中安装配置 Opencv 3.1 和 Python 2.7 / Python 3.5
- Python_人脸检测 (dlib库检测与opencv检测效果对比 含代码)
- Python 3 利用 Dlib 19.7 实现人脸检测和剪切
- ubuntu16.04安装配置mod_python,apxs,apache
- ubuntu16.04+eclipse+python(实际是PyDev)配置python开发环境
- Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
- Python学习之工具篇-在Ubuntu16.04下用Eclipse+PyDev配置Python开发环境
- python中使用OpenCV进行人脸检测的例子
- caffe安装及python接口配置(ubuntu16.04 only cpu)
- python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
- ubuntu 16.04 -- dlib安装与简单使用:人脸特征点标定/图像语义分割
- 人脸检测及识别python实现系列(1)——配置、获取实时视频流
- Ubuntu16.04 配置opencv3.1.0+python
- Caffe_Linux学习笔记(一)基于Ubuntu16.04+CPU only+Python2.7环境下的Caffe配置