導航:首頁 > 網路數據 > python大數據人臉比對

python大數據人臉比對

發布時間:2023-05-10 03:01:39

『壹』 基於python如何建立人臉庫

您好,基於Python建立人臉庫的方法如下:
1. 安裝Python和相關包:首先,您需要安裝Python和相關的包,如OpenCV、NumPy等,以便使用Python來處理圖像和視頻。
2. 獲取人臉數據:您需此盯要獲取足夠多的人臉數據,以便訓練模型。
3. 提取特徵:使用Python中的OpenCV庫,您可以提取人臉圖像中的特徵,以便進行識別。
4. 訓練模型:使用提取的特徵,您可以訓練一個機器學習森敗和模型,以便識別不同的人臉。
5. 測試模型:最後,您可以使用測試數據來測試模型的准確性,以確保它能夠准確地識別不同枯旁的人臉。

『貳』 python人臉識別戴口罩的人臉和不戴口罩的人臉哪個相同

一般情況下,人臉識別技術是無法識別戴口罩的。因為基於人臉識別原理來講人臉識別基於深度學習實現,利用卷積神經網路(CNN)對海量的人臉圖片進行學習,卷積出包括表徵人臉的臉型、鼻子、眼睛、嘴唇、眉毛等等的特徵模型,對輸入的圖像提取出對區分不同人臉有用的特徵向量。通過特徵向量在特徵空間里進行比對,同一人乎頃的不同照片提取出的特徵,在特徵空間里距離很近,不同人的臉在特徵空間里相游頃圓距較遠。通過人臉的特徵提取、比對進行的人臉識別。帶著口罩往往展現的面部特徵較小,在火車站這樣神塌的場景下,每天數據量很大,核驗人員身份精度要求比較高,往往很難實現。

而針對你所說的戴著口罩可以識別的情況,我通過我們虹軟的人臉識別演算法也進行了測試,當注冊人臉時戴著口罩的話後續人臉比對也是可以通過的。

『叄』 Python太好用了!AI初學者快速體驗人臉檢測

我們使頌宴用python進行AI識別測試,具體方式是是開啟本地電腦的攝像頭進行實時的識別,或者直接傳入一張圖片進行行人檢測,在分析代碼把數據源傳入到識別,看到的是source=』0』,但是這個參數是打開本地電腦的攝像頭流,再進行行人檢測。

但我們需要對此處進行修改,使用rtsp流,進行AI行人識別,下面需要進行分析代碼,找到可以修改的地方,或者摸個參數,來進行RTSP流的修改。

已經找到了視頻流在哪裡傳進去的了,下面就是進行分析裡面的代碼進行改成rtsp流,把rtsp流寫進去,汪知來做到實時分析,實現行人檢測的效果。

在進行分析的時候,發現source這個參數只有LoadStreams用到過,而且是直接傳進去的。

進入source參數裡面查看,發現裡面有一個默認的值,就是讀文件,如果不是文件,就把source=[source],再進行source值遍歷。在遍歷中還使用到了opencv打開本地電腦的攝像機流,再開一個線程進行實時行人識別。

代碼中使用了opencv中cv2.VideoCapture的函數,從網上查找這個函數的用法得知,此函數是可以直接傳入rtsp流地址的,所以問題解決就簡單多了。cv2.VideoCapture這個函數是可以傳入rtsp地址的,所以傳入rtsp地址進行嘗試,發現傳入rtsp地址是沒有問題的。困櫻消

只要修改source這個參數即可,最終實現了檢測:

『肆』 如何線上部署用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大數據人臉比對相關的資料

熱點內容
樹莓派java開發 瀏覽:173
蘋果往安卓轉移數據的代碼在哪裡 瀏覽:113
win10usable 瀏覽:629
網站空間怎麼開啟ip訪問 瀏覽:943
找不到指定的素材文件 瀏覽:429
筆記本怎麼拷文件夾里 瀏覽:729
在文件管理中找不到下載好的音頻 瀏覽:627
linuxu盤文件掛載 瀏覽:105
ios網路喚醒 瀏覽:133
iphone5c電信4g 瀏覽:118
如何製作指定網站快捷方式 瀏覽:482
江西電網招聘進什麼網站 瀏覽:816
巨龍之主城升級條件 瀏覽:356
c讀取文件夾下所有文件 瀏覽:767
java中main方法必須寫在類外面 瀏覽:905
linux查找文本 瀏覽:225
設某文件系統採用多級目錄結構 瀏覽:59
電腦里的文件無法刪除提示找不到 瀏覽:707
ios微信無法更新655 瀏覽:223
抖音收藏文件怎麼發送到微信 瀏覽:208

友情鏈接