當前位置:首頁 » 編程語言 » python人臉識別系統

python人臉識別系統

發布時間: 2022-08-08 00:29:58

❶ 關於python人臉識別的問題

應該是沒有找到分類器編碼文件,把 haarcascade_frontalface_default.xml, haarcascade_eye.xml文件放到項目根目錄下,再用cv.CascadeClassifier(path1), cv.CascadeClassifier(path2)兩個API導入,另python下windows的文件路徑要用 \\ 或者 /

❷ 人臉識別軟體

人臉識別軟體如下:

1、Ageitgey

Ageitgey是最流行的免費人臉識別軟體,它在GitHub上也有37.6k的星星。該軟體可以通過Python API或其二進制命令行工具使用。這個平台有關於安裝的所有說明,這使得它更加有趣和流行。

2、CompreFace

CompreFace於2020年在GitHub上發布,擁有約900顆星星。它是少數幾個只需一個docker compose命令即可使用的自託管REST API自由人臉識別軟體之一。該軟體可以識別多個視頻流中的人臉。CompreFace還有一個用於管理用戶角色和面部集合的UI。

3、DeepFace

DeepFace於2020年在Github上發布,擁有約1100顆星星。這個免費的人臉識別軟體支持不同的人臉識別方法,如FaceNet和Insightface。

4、FaceNet

FaceNet是一個由谷歌研究人員創建的免費人臉識別程序,它是一個開源Python庫,實現了該程序。FaceNet具有很高的准確性,但唯一的缺點是它沒有RESTAPI。

5、InsightFaceInsightFace

是另一款免費人臉識別軟體,擁有約800顆星星。該軟體使用最新和准確的人臉識別方法。

❸ 如何在Python裡面怎麼搭建人臉識別環境


❹ 如何利用python進行精準人臉識別

要調用api介面,建議用face++的,支付寶的人臉識別都是用的這個。可能需要一點費用,不貴,代碼里把fece++的api介面放進代碼就行,還可以可以檢測情緒,年齡等等的。

當然也有其他公司人臉識別的api介面,自己發現吧,其實很多,但基本都不會免費,有的可以試用

❺ 人臉識別為什麼用python開發

可以使用OpenCV,OpenCV的人臉檢測功能在一般場合還是不錯的。而ubuntu正好提供了python-opencv這個包,用它可以方便地實現人臉檢測的代碼。

寫代碼之前應該先安裝python-opencv:

#!/usr/bin/python
#-*-coding:UTF-8-*-

#face_detect.py

#FaceDetectionusingOpenCV.Basedonsamplecodefrom:
#http://python.pastebin.com/m76db1d6b

#Usage:pythonface_detect.py<image_file>

importsys,os
fromopencv.cvimport*
fromopencv.highguiimport*
fromPILimportImage,ImageDraw
frommathimportsqrt

defdetectObjects(image):
""""""
grayscale=cvCreateImage(cvSize(image.width,image.height),8,1)
cvCvtColor(image,grayscale,CV_BGR2GRAY)

storage=cvCreateMemStorage(0)
cvClearMemStorage(storage)
cvEqualizeHist(grayscale,grayscale)

cascade=cvLoadHaarClassifierCascade(
'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml',
cvSize(1,1))
faces=cvHaarDetectObjects(grayscale,cascade,storage,1.1,2,
CV_HAAR_DO_CANNY_PRUNING,cvSize(20,20))

result=[]
forfinfaces:
result.append((f.x,f.y,f.x+f.width,f.y+f.height))

returnresult

defgrayscale(r,g,b):
returnint(r*.3+g*.59+b*.11)

defprocess(infile,outfile):

image=cvLoadImage(infile);
ifimage:
faces=detectObjects(image)

im=Image.open(infile)

iffaces:
draw=ImageDraw.Draw(im)
forfinfaces:
draw.rectangle(f,outline=(255,0,255))

im.save(outfile,"JPEG",quality=100)
else:
print"Error:cannotdetectfaceson%s"%infile

if__name__=="__main__":
process('input.jpg','output.jpg')

❻ 如何用Python實現簡單人臉識別

你可以使用opencv庫提供的人臉識別模塊,這樣子會比較快

❼ 如何線上部署用python基於dlib寫的人臉識別演算法

python使用dlib進行人臉檢測與人臉關鍵點標記

Dlib簡介:

首先給大家介紹一下Dlib

我使用的版本是dlib-18.17,大家也可以在我這里下載:

之後進入python_examples下使用bat文件進行編譯,編譯需要先安裝libboost-python-dev和cmake

cd to dlib-18.17/python_examples

./compile_dlib_python_mole.bat 123

之後會得到一個dlib.so,復制到dist-packages目錄下即可使用

這里大家也可以直接用我編譯好的.so庫,但是也必須安裝libboost才可以,不然python是不能調用so庫的,下載地址:

將.so復制到dist-packages目錄下

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

最新的dlib18.18好像就沒有這個bat文件了,取而代之的是一個setup文件,那麼安裝起來應該就沒有這么麻煩了,大家可以去直接安裝18.18,也可以直接下載復制我的.so庫,這兩種方法應該都不麻煩~

有時候還會需要下面這兩個庫,建議大家一並安裝一下

9.安裝skimage

sudo apt-get install python-skimage1

10.安裝imtools

sudo easy_install imtools1

Dlib face landmarks Demo

環境配置結束之後,我們首先看一下dlib提供的示常式序

1.人臉檢測

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

#!/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 THE DLIB PYTHON INTERFACE# Dlib comes with a compiled python interface for python 2.7 on MS Windows. If# you are using another python version or operating system then you need to# compile the dlib python interface before you can use this file. To do this,# run compile_dlib_python_mole.bat. This 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 -U scikit-image# Or downloaded from . import sys

import dlib

from skimage import io

detector = dlib.get_frontal_face_detector()

win = dlib.image_window()

print("a");for f in sys.argv[1:]:

print("a");

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.# 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) for i, d in enumerate(dets):
print("Detection {}, score: {}, face_type:{}".format(
d, scores[i], idx[i]))5767778798081

我把源代碼精簡了一下,加了一下注釋: face_detector0.1.py

# -*- coding: utf-8 -*-import sys

import dlib

from skimage import io#使用dlib自帶的frontal_face_detector作為我們的特徵提取器detector = dlib.get_frontal_face_detector()#使用dlib提供的圖片窗口win = dlib.image_window()#sys.argv[]是用來獲取命令行參數的,sys.argv[0]表示代碼本身文件路徑,所以參數從1開始向後依次獲取圖片路徑for f in sys.argv[1:]: #輸出目前處理的圖片地址
print("Processing file: {}".format(f)) #使用skimage的io讀取圖片
img = io.imread(f) #使用detector進行人臉檢測 dets為返回的結果
dets = detector(img, 1) #dets的元素個數即為臉的個數
print("Number of faces detected: {}".format(len(dets))) #使用enumerate 函數遍歷序列中的元素以及它們的下標
#下標i即為人臉序號
#left:人臉左邊距離圖片左邊界的距離 ;right:人臉右邊距離圖片左邊界的距離
#top:人臉上邊距離圖片上邊界的距離 ;bottom:人臉下邊距離圖片上邊界的距離
for i, d in enumerate(dets):
print("dets{}".format(d))
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}"
.format( i, d.left(), d.top(), d.right(), d.bottom())) #也可以獲取比較全面的信息,如獲取人臉與detector的匹配程度
dets, scores, idx = detector.run(img, 1)
for i, d in enumerate(dets):
print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))

#繪制圖片(dlib的ui庫可以直接繪制dets)
win.set_image(img)
win.add_overlay(dets) #等待點擊
dlib.hit_enter_to_continue()041424344454647484950

分別測試了一個人臉的和多個人臉的,以下是運行結果:

運行的時候把圖片文件路徑加到後面就好了

python face_detector0.1.py ./data/3.jpg12

一張臉的:

兩張臉的:

這里可以看出側臉與detector的匹配度要比正臉小的很多

2.人臉關鍵點提取

人臉檢測我們使用了dlib自帶的人臉檢測器(detector),關鍵點提取需要一個特徵提取器(predictor),為了構建特徵提取器,預訓練模型必不可少。

除了自行進行訓練外,還可以使用官方提供的一個模型。該模型可從dlib sourceforge庫下載:

arks.dat.bz2

也可以從我的連接下載:

這個庫支持68個關鍵點的提取,一般來說也夠用了,如果需要更多的特徵點就要自己去訓練了。

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

#!/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 and# estimate their pose. The pose takes the form of 68 landmarks. These are# points on the face such as the corners of the mouth, along the eyebrows, on# the eyes, and so forth.## This face detector is made using the classic Histogram of Oriented# Gradients (HOG) feature combined with a linear

❽ python人臉識別所用的優化演算法有什麼

python三步實現人臉識別

Face Recognition軟體包

這是世界上最簡單的人臉識別庫了。你可以通過Python引用或者命令行的形式使用它,來管理和識別人臉。

該軟體包使用dlib中最先進的人臉識別深度學習演算法,使得識別准確率在《Labled Faces in the world》測試基準下達到了99.38%。

它同時提供了一個叫face_recognition的命令行工具,以便你可以用命令行對一個文件夾中的圖片進行識別操作。

特性

在圖片中識別人臉

找到圖片中所有的人臉

這里是一個例子:

1
  • https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_picture
  • 熱點內容
    androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:84
    win2008伺服器搭建網站 發布:2024-04-27 07:26:51 瀏覽:640
    java的vector 發布:2024-04-27 07:05:00 瀏覽:204
    舊電腦共享伺服器 發布:2024-04-27 06:32:21 瀏覽:339
    java程序練習 發布:2024-04-27 06:24:00 瀏覽:438
    sql30 發布:2024-04-27 06:22:10 瀏覽:55
    怎樣防止sql注入 發布:2024-04-27 06:11:25 瀏覽:236
    安卓為什麼不能登蘋果系統的游戲 發布:2024-04-27 06:11:23 瀏覽:601
    編程日課 發布:2024-04-27 05:56:54 瀏覽:620
    漏洞上傳工具 發布:2024-04-27 05:50:58 瀏覽:717