当前位置: 首页 > 网络应用技术

有多少个版本的Python可以安装DLIB(安装了不同版本的Python)

时间:2023-03-08 17:27:46 网络应用技术

  如今,可以使用多少个版本的Python来安装DLIB知识。其中,它还将解释具有不同版本的Python的Python的安装。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  本文目录清单:

  1. python pip安装dlib失败了?2。如何基于Dlib 3的Python部署面部识别算法。问题:

  兼容问题,相应的软件包支持的操作系统,受支持的Python版本

  安装问题,某些袋子只能通过源代码安装,或安装离线车轮方法

  支票包的安装文件

  python使用dlib执行面部检测和面部关键点标记

  Dlib简介:

  首先,介绍Dlib

  DLIB是一个跨平台C ++公共库。除了线程支持,网络支持,测试和许多工具外,DLIB还是机器学习的功能强大的C ++库,包括机器学习中常用的许多常用算法。在同一时间,它支持一个大型数值算法的数量,例如矩阵,大整数,随机数操作等。

  DLIB还包含大量图形模型算法。

  最重要的是,DLIB的文档和示例非常详细。

  Dlib主页:

  该博客描述的面部标签的算法也来自DLIB库。Dlib用回归时间算法的合奏实现一个毫秒的面对准

  本文非常出名。它将自动弥补Google上的一毫秒。这是CVPR 2014(国际计算机视觉和模型识别会议)的最高国际论文。毫秒级可以达到相当准确的面部标记,其中包括大约一半 - 千边线,脸部尚不清楚。论文本身的算法非常复杂。有兴趣的学生可以下载它。

  Dlib实现了这篇最新论文的算法,因此Dlib脸的Facemark算法非常先进,并且Dlib的面部检测库也很准确。我们的项目受硬件的限制。在这种情况下,我以前尝试过一些面部库,并且识别率非常低,而DLIB的效果简直是出乎意料的。

  与C ++相比,我仍然更喜欢使用Python。同时,DLIB也支持Python,但我在配置过程中触摸了很多指甲。Internet上的大多数DLIB信息用于C ++。DLIB,在这里与您分享:

  Dlib用于Python配置:

  因为它是使用Python来开发计算机视觉事物,所以这些Python的科学计算库是必不可少的。在这里,我介绍了常用的科学计算库的安装。安装这些图书馆的学生可以忽略正确的正确。

  我的环境是Ubuntu14.04:

  每个人都知道Ubuntu带有Python2.7,许多Ubuntu System软件基于Python2.7。一旦我的系统的Python版本变得混乱,我的大脑想卸载Python2.7,然后…………似乎提醒我我想卸载数千个软件。我没有直接看。当我对Ctrl + C做出反应时,系统消失了一半...

  因此,我发现我想制作一个系统,这句话比RM -RF ...功能更强大。

  sudo apt-get删除python2.71

  首先安装两个Python第三张库的下载和安装工具。ubuntu14.04似乎已预先安装easy_install

  以下过程在终端中执行:

  1.安装PIP

  sudo apt-get安装python-pip1

  2.安装轻松安装

  sudo apt-get install python-stetoops1

  3.测试easy_install

  有时,系统环境很复杂,安装时将安装在其他Python版本上。

  sudo easy_install Mechanizize1

  4.测试安装是否成功

  输入python壳进入终端

  python1

  进入Python壳后

  导入机械化1

  如果没有错误,则安装成功。如果找不到,它可能是其他Python版本的途径。

  同时,我还测试了PIL的基本库

  进口pil1

  如果没有错误,则意味着PIL已预先安装

  5.安装numpy

  下一个安装numpy

  首先,您需要安装python-dev来编译扩展库

  sudo apt-get安装python-dev1

  之后,您可以安装Numpy,并安装易于安装

  sudo easy_install numpy1

  有时您有时会使用Easy-Antall安装Numpy进行下载,并且只能使用APT-GET安装:

  sudo apt-get安装numpy1

  不建议这样做的原因是,在系统环境或更多python版本之后,您可能不知道要安装numpy安装numpy,然后非常麻烦。我几次遇到了这个问题。我不知道它是运气还是什么,所以风险仍然很大,因此请尝试使用Easy-Antall安装它。

  测试了类似的导入numpy

  Python

  导入numpy1234

  如果没有错误,它将成功

  以下安装过程是相同的,我将以相同的方式对其进行反映。不要忘记测试每个步骤。

  6.安装Scipy

  sudo apt-fin安装python-scipy1

  7.安装matplotlib

  sudo apt-get安装python-matplotlib1

  8.安装Dlib

  当时安装DLIB的过程太困难了。我在互联网上说我不知道该如何匹配。我不匹配它。我基本上尝试了stackoverflow上的方法。我已经设置了,这真的很棒。18.18我没有亲自配备自己,我没有谈论它。我将与您分享我的配置过程18.17:

  1.首先,您必须安装libboost,否则不能使用它。

  sudo apt-get安装libboost-python-dev cmake1

  2.在DLIB的官方网站上下载DLIB,您将下载带有DLIB库的C ++版本的压缩软件包和示例文档,Python Dlib库的代码示例等。

  我使用的版本是DLIB-18.17,每个人都可以在这里下载:

  输入Python_examples后,使用BAT文件进行编译。该编译需要安装第一python-dev和cmake

  CD至DLIB-18.17/PYTHON_EXAMPLES

  https://www.shouxicto.com/article/compile_dlib_python_module.bat 123

  之后,您将获得DLIB.SO,并将其复制到DistapaPages目录以使用它。

  在这里,您也可以使用我直接编译.So库,但是您还必须安装LibBoost,否则Python无法致电SO Library,下载地址:

  复制。

  sudo cp dlib.so/usr/lib/python2.7/dist-packages/1

  最新的DLIB18.18似乎没有此BAT文件。相反,它是一个设置文件,因此安装它不应该很麻烦。您可以直接安装18.18,也可以直接下载和复制我的.SO库。这两个方法不应该麻烦?

  有时需要以下两个库。建议您一起安装

  9.安装弹丸

  sudo apt-get安装python-skimage1

  10.安装iMtools

  sudo easy_install imtools1

  Dlib面对地标演示

  环境配置结束后,让我们首先查看DLIB提供的示例程序

  1.面部检测

  DLIB-18.17/python_examples/face_detector.py源程序:

  补充人的面孔。Face,如果您是互联网制作#或加倍的互联网。导入系统

  导入dlib

  从弹丸导入io

  检测器= dlib.get_frontal_face_detector()

  win = dlib.image_window()

  打印(“ a”);对于sys.argv [1:]:

  打印(“ a”);

  打印(“处理文件:{}”。格式(f))

  img = io.imread(f)

  #第二个参数中的1表示我们应该对图像进行示例

  # 1次。这将使一切变得更大,并使我们能够发现更多

  #面。

  dets =检测器(IMG,1)

  print(“检测:{}”。

  print(“检测{}:左:{} top:{}右:{}底部:{}”。格式(

  i,d.left(),d.top(),d.richt(),d.bottom()))))

  win.clear_overlay()

  win.set_image(img)

  win.add_overlay(DETS)

  探测器匹配。这可以用来#打破识别异常方向的面孔。如果(lan(sys.argv [1:])0):

  img = io.imread(sys.argv [1])

  dets,得分,idx = detector.run(img,1)for i,d in e Menumerate(dets):

  print(“检测{},得分:{},face_type:{}”。格式(

  

  我简化了源代码并添加了一个注:face_detector0.1.py

  # - * - 编码:UTF-8 - * - 导入系统

  导入dlib

  从弹丸导入io#使用dlib的frontal_face_detector作为我们的功能提取器= dlib.get_frontal_face_detector()#parameter,sys.argv [0]表示代码本身,因此参数从fting sys.sys.sys.argv [1:]获取图片路径,:#output当前处理的图片地址处理的图片地址

  打印(“处理文件:{}”。格式(f)##

  img = io.imream(f)#use检测器用于返回的结果

  dets =检测器(img,1)#dets元素编号是面孔的数量

  print(“检测到面孔的数量:{}”。格式(len(dets))##

  #我是面部序列号

  #left:面部脸左边界之间的距离;右:面部右侧的左边界的距离

  #top:脸部面部边界之间的距离;底部:脸部面部图片之间的边界之间的距离

  对于,d在枚举中(设计):

  打印(“ dets {}”。格式(d))

  print(“检测{}:左:{}顶部:{}右:{}底部:{}”

  .format(i,d.left(),d.top(),d.richt(),d.bottom())##也可以获取更全面的信息,例如获得面部和检测器的匹配程度

  dets,得分,idx = detector.run(img,1)

  对于,d在枚举中(设计):

  print(“检测{},dets {},得分:{},face_type:{}”。格式(i,d,scores [i],idx [i]))))))))))))))))

  #draw thuption(DLIB的UI库可以直接绘制DETS)

  win.set_image(img)

  win.add_overlay(dets)#waiting用于单击

  dlib.hit_enter_to_continue()12345678911111131314171920222222222222272728293333333434344444444444950

  分别测试一个人的脸和多个面孔。以下是操作的结果:

  只需在运行时将图片文件路径添加到背面

  python face_detector0.1.py https://www.shouxicto.com/article/data/3.jpg12

  一张脸:

  双面人:

  在这里,我们可以看到侧面和探测器的匹配比正面小得多

  2.面部的钥匙点提取

  面部检测我们使用DLIB自己的面部检测器(检测器)。关键点提取需要特征提取器。为了构建功能提取器,预训练模型至关重要。

  除了自己培训外,您还可以使用官方模型。该模型可以从DLIB SourceForge库下载:

  arks.dat.bz2

  您也可以从我的连接中下载:

  该库支持提取68个关键点。一般来说,这足够了。如果您需要更多功能点,则需要训练自己。

  DLIB-18.17/python_examples/face_landmark_detection.py源程序:

  功能与线性结合

  以下是在Ubuntu下为Python安装Dlib的方法:

  1.在官方网站DLIB官方网站上下载最新版本的DLIB

  由于DLIB最初是C ++库,因此它被安装为Python第三部分库。

  2.下载Boost将C ++编译到Python中,并同时下载CMAKE

  命令:sudo apt-get安装libboost-python-dev cmake1111

  3.然后切换到DLIB-18.17/python_examples目录

  然后运行

  https://www.shouxicto.com/article/compile_dlib_python_module.bat 11

  它将生成dlib。

  4.此脚本还添加了执行权限

  这样,可以在DLIB-18.17/python_examples中导入DLIB库,但不能

  在Python第三库的文件夹下复制Dlib.SO

  sudo cp dlib.so/usr/lib/python2.7/dist-packages/11

  因此安装了dlib库

  因为该项目中有许多依赖库,所以我只是下载了Anaconda。这是Python发行版本,包括Python和许多常见的软件库,并且再次安装了Bag Manager Conda.Python。

  1.下载Anaconda的链接:

  我下载了与Python2.7版本相对应的64个-bit Anaconda4.2.0,我的计算机系统是Win64。

  2.当前的问题被转换为如何使用Anaconda(Anaconda不包含DLIB库)安装第三张库,在您自己的计算机上运行cmd.exe,并直接在默认路径上直接执行以下程序以成功安装它:

  conda install -c menpo dlib = 18.18

  3.如果执行正常,则应显示上面的图。几天来困扰我的问题终于解决了。太多的弯路也是学习的过程。我希望每个人都能获得一些东西。

  简单的介绍

  该库可以通过Python或命令行实现面部识别功能。在户外面部检测数据库基础标准中,在深度学习面部识别技术中使用DLIB的准确率为99.38%。

  GitHub上有相关的链接和API文档。

  下面提供的一些相关源代码或文档。库的当前版本为v0.2.0。单击文档以查看API文档。我们可以查看一些与功能相关的说明。

  安装

  安装配置非常简单,只需逐步按照Github上的说明即可。

  根据您的Python版本输入说明:

  PIP安装face_rcognition11

  或者

  PIP3安装face_rcognition11

  通常,在安装过程中会出现错误,并且在安装DLIB时会发生错误,并且错误可能卡在此处。由于pip在编译DLIB时会出现错误,因此我们需要手动编译DLIB以进行安装。

  根据给出的解决方案:

  1.首先下载DLIB的源代码。

  git克隆

  2.编译Dlib。

  CD Dlib

  mkdir构建

  CD构建

  cmake .. -ddlib_use_cuda = 0 -duse_avx_instructions = 1

  CMAKE -BUILD1234512345

  3.编译并安装Python扩展程序包。

  CD ..

  python3 setup.py install -yes use_avx_instructions -no dlib_use_cuda121212

  注意:此安装步骤被认为没有GPU,因此不支持CUDA。

  手动编译Dlib后,我们可以在Python中导入Dlib。

  恢复后,您可以成功配置它。

  根据您的Python版本输入说明:

  PIP安装face_rcognition11

  或者

  PIP3安装face_rcognition11

  安装成功后,我们可以在Python中正常导入face_recognition。

  写面部识别程序

  写PY文件:

  # - * - 编码:UTF-8 - * -

  #

  #侦探面

  导入face_recognition

  导入CV2

  #阅读图片并识别脸部

  img = face_recognition.load_image_file(“ silicon_valley.jpg”)

  face_locations = face_recogninion.face_locations(img)

  打印face_locations

  #调用OpenCV功能显示图像

  img = cv2.imread(“ silicon_valley.jpg”)

  CV2.NamedWindow(“原始图片”)

  cv2.imshow(“原始图片”,img)

  #每个人的脸和标记

  facenum = len(face_locations)

  对于我的范围(0,facenum):

  top = face_locations [i] [0]

  正确= face_locations [i] [1]

  底部= face_locations [i] [2]

  左= face_locations [i] [3]

  开始=(左,顶部)

  end =(右,底部)

  颜色=(55,255,155)

  厚度= 3

  cv2.Rectangle(IMG,开始,结束,颜色,厚度)

  #显示识别结果

  CV2.NamedWindow(“识别”)

  cv2.imshow(“识别”,img)

  CV2.Waitkey(0)

  

  注意:此处使用Python-OpnCV。您必须配置OpenCV以成功运行。

  操作结果:

  该程序在当前目录中读取指定的图片,然后识别该人的脸,并标记每个人的脸。

  (使用美国戏剧硅谷的图片)

  编写面部比较程序

  首先,我在目录中放了几张图片:

  这是一张工作的照片和奥巴马的照片,还有一张未知的照片。

  编程:

  #adm图片中的脸

  导入face_recognition

  jobs_image = face_recognition.load_image_file(“ jobs.jpg”);

  obama_image = face_recognition.load_image_file(“ obama.jpg”);

  unknown_image = face_recognition.load_image_file(“ unknown.jpg”);

  jobs_encoding = face_recognition.face_encodings(jobs_image)[0]

  obama_encoding = face_recognition.face_encodings(obama_image)[0]

  unknown_encoding = face_recognition.face_encodings(unknown_image)[0]

  结果= face_recognition.compare_faces([jobs_encoding,obama_encoding],unknown_encoding)

  标签= ['jobs','obama']

  打印('结果:'+str(结果))

  对于I范围(0,LEN(结果)):

  如果结果[i] == true:

  print('该人是:'+标签[i])12345678910111313141718123478911111121314161718

  操作结果:

  未知的照片是通过乔布斯确定的。

  真实的时间识别相机

  代码:

  # - * - 编码:UTF-8 - * -

  导入face_recognition

  导入CV2

  video_capture = cv2.VIDEOCAPTURE(1)

  obama_img = face_recognition.load_image_file(“ obama.jpg”)

  obama_face_encoding = face_recognition.face_encodings(obama_img)[0]

  face_locations = []

  face_encodings = []

  face_names = []

  process_this_frame = true

  而真:

  ret,frame = video_capture.read()

  small_frame = cv2.Resize(帧,(0,0),fx = 0.25,fy = 0.25)

  如果process_this_frame:

  face_locations = face_recogninion.face_locations(small_frame)

  face_encodings = face_recognition.face_encodings(small_frame,face_locations)

  face_names = []

  对于face_encodings中的face_encoding:

  match = face_recognition.compare_faces([[obama_face_encoding],face_encoding)

  如果匹配[0]:

  名称=“巴拉克”

  别的:

  名称=“未知”

  face_names.append(名称)

  process_this_frame = not proces_this_frame

  for(顶部,右,底部,左),zip名称(face_locations,face_names):)::

  顶 *= 4

  正确 *= 4

  底部 *= 4

  左 *= 4

  cv2.Rectangle(框架,(左,顶部),(右下,底部),(0,0,255),2)

  cv2.Rectangle(帧,(左,底部-35),(右,底部),(0,0,255),2)

  font = cv2.font_hershey_duplex

  cv2.putText(帧,名称,(左+6,底部6),字体,1.0,(255,255,255),1)

  cv2.imshow('视频',框架)

  如果cv2.waitkey(1)0xff == orde('q'):

  休息

  Video_capture.Release()

  

  识别结果:

  我在手机上的百度上尝试了几张照片,该程序认可了奥巴马。

  这个图书馆很酷!

  可以使用不同版本的Python安装和安装多少个版本的Python。我想知道您是否从中找到了所需的信息?如果您想进一步了解此信息,请记住要收集对该网站的关注。