国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python實現(xiàn)人臉識別(face_recognition)

這篇具有很好參考價值的文章主要介紹了python實現(xiàn)人臉識別(face_recognition)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、定義

1、介紹

本項目是世界上最強大、簡潔的人臉識別庫,你可以使用Python和命令行工具提取、識別、操作人臉。
本項目的人臉識別是基于業(yè)內(nèi)領先的C++開源庫dlib中的深度學習模型,用Labeled Faces in the Wild人臉數(shù)據(jù)集進行測試,有高達99.38%的準確率。但對小孩和亞洲人臉的識別準確率尚待提升。
Labeled Faces in the Wild是美國麻省大學安姆斯特分校(University of Massachusetts Amherst)制作的人臉數(shù)據(jù)集,該數(shù)據(jù)集包含了從網(wǎng)絡收集的13,000多張面部圖像。

github和官網(wǎng)網(wǎng)址:

https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chinese.md
https://face-recognition.readthedocs.io/en/latest/face_recognition.html

2、人臉識別步驟:

1)人臉檢測

要想識別人臉,首先需要在圖像或者視頻幀中找到所有人臉的位置,并將人臉部分的圖像切割出來。

可以使用方向梯度直方圖(HOG)來檢測人臉位置。先將圖片灰度化,因為色彩對于找到人臉位置并無明顯作用,接著計算圖像中各像素的梯度。

python實現(xiàn)人臉識別(face_recognition)

通過將圖像變換為HOG形式,我們就可以提取圖像的特征,從而獲取人臉位置。

2)人臉對齊

一張圖片中的人臉可能是傾斜的,或者僅僅是側(cè)臉。為了方便給人臉編碼,需要將人臉對齊成同一種標準的形狀。


人臉對齊的第一步就是人臉是特征點估計。Dlib有專門的函數(shù)和模型,能夠?qū)崿F(xiàn)人臉68個特征點的定位。

python實現(xiàn)人臉識別(face_recognition)


找到特征點后,就可以通過圖像的幾何變換(仿射、旋轉(zhuǎn)、縮放),使各個特征點對齊(將眼睛、嘴等部位移到相同位置)。

3)人臉編碼

python實現(xiàn)人臉識別(face_recognition)


訓練一個神經(jīng)網(wǎng)絡,將輸入的臉部圖像生成為128維的預測值。
訓練的大致過程為:將同一人的兩張不同照片和另一人的照片一起喂入神經(jīng)網(wǎng)絡,不斷迭代訓練,使同一人的兩張照片編碼后的預測值接近,不同人的照片預測值拉遠。也就是減小類內(nèi)距離,增大類間距離。具體算法參考facenet[3]。

python實現(xiàn)人臉識別(face_recognition)

4)識別身份

預先將所有人的連放入人臉庫中,全部用上述的神經(jīng)網(wǎng)絡編碼為128維并保存。識別時,將人臉預測為128維的向量后,與人臉庫中的數(shù)據(jù)進行比對。

比對方法有很多種,可以直接找出閾值范圍內(nèi)歐氏距離最小的人臉,或者訓練一個末端的SVM或者knn分類器,直接生成人的代號(身份)。
knn分類器構建方法可參考這個代碼。

python實現(xiàn)人臉識別(face_recognition)

整體的使用python實現(xiàn)人臉識別的代碼可以參考使用OpenCV,Python和深度學習進行人臉識別。

二、通過python代碼實現(xiàn)

1、安裝

1)windows系統(tǒng)?python3.10下安裝 dlib?

Steins-Gate-Divergence-Meter-Clock-VisitorCounter/dlib-19.22.99-cp310-cp310-win_amd64.whl at main · longsongline/Steins-Gate-Divergence-Meter-Clock-VisitorCounter · GitHub

2)安裝?face_recognition 庫文章來源地址http://www.zghlxwxcb.cn/news/detail-433678.html

pip3 install face_recognition

2、代碼案例?

# coding=utf-8
import sys
import cv2
from PIL import Image,ImageDraw,ImageFont
import numpy as np
import face_recognition

# 加載已知人臉圖像
known_image = face_recognition.load_image_file("know_img.jpg")

# 提取已知人臉的編碼
known_face_encoding = face_recognition.face_encodings(known_image)[0]

# 初始化攝像頭
video_capture = cv2.VideoCapture(0)

def cv2AddChineseText(frame, name, position, fill):
    font = ImageFont.truetype('simsun.ttc', 30)
    img_pil = Image.fromarray(frame)
    draw = ImageDraw.Draw(img_pil)
    draw.text(position, name, font=font, fill=fill)
    return np.array((img_pil))

while True:
    # 讀取攝像頭中的圖像
    ret, frame = video_capture.read()

    # 將圖像轉(zhuǎn)換為RGB格式
    rgb_frame = frame[:, :, ::-1]

    # 檢測圖像中的人臉
    face_locations = face_recognition.face_locations(rgb_frame)
    face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)

    # 在圖像中標記人臉位置
    for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
        # 判斷檢測到的人臉是否和已知人臉匹配
        matches = face_recognition.compare_faces([known_face_encoding], face_encoding, tolerance=0.38)

        # 如果匹配,則標記人臉為已知人臉
        name = "unknow"
        if True in matches:
            name = "know"

        # 在圖像中標記人臉位置和姓名
        cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
        # cv2.putText(frame, name, (left + 6, bottom - 6), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255), 1)
        frame = cv2AddChineseText(frame, name, (left, top - 38), (0, 0, 255))
        

    # 顯示圖像
    cv2.imshow('Video', frame)

    # 按下q鍵退出程序
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 釋放攝像頭
video_capture.release()

# 關閉所有窗口
cv2.destroyAllWindows()

到了這里,關于python實現(xiàn)人臉識別(face_recognition)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python 通過opencv及face_recognition識別人臉

    python 通過opencv及face_recognition識別人臉

    效果: 使用Python的cv2庫和face_recognition庫來進行人臉檢測和比對的 0是代表一樣 認為是同一人。 代碼:

    2024年02月03日
    瀏覽(20)
  • 人臉識別 Face Recognition 入門

    人臉識別 Face Recognition 入門

    找論文搭配 Sci-Hub 食用更佳 ?? Sci-Hub 實時更新 : https://tool.yovisun.com/scihub/ 公益科研通文獻求助:https://www.ablesci.com/ 人臉識別流程:檢測、對齊、(活體)、預處理、提取特征(表示)、人臉識別(驗證) 傳統(tǒng)方法試圖通過一兩層表示來識別人臉,例如過濾響應、特征直方圖

    2024年02月04日
    瀏覽(23)
  • 人臉識別(Java+ Face++實現(xiàn))

    人臉識別(Java+ Face++實現(xiàn))

    Face++的核心技術是基于深度學習的人臉識別技術,其算法在準確率和速度方面都處于領先地位。該公司的產(chǎn)品和服務包括人臉識別SDK、人臉識別API、人臉比對服務、人臉檢測服務、活體檢測服務等。這些產(chǎn)品和服務廣泛應用于金融、公安、零售、物流等領域。并且,F(xiàn)ace++提供

    2024年02月07日
    瀏覽(23)
  • face-api實現(xiàn)人臉識別。

    face-api實現(xiàn)人臉識別。

    訪問地址 JavaScript API for face detection and face recognition in the browser implemented on top of the tensorflow.js core API 官方說明 翻譯:在tensorflow.js核心API之上實現(xiàn)的用于瀏覽器中人臉檢測和人臉識別的JavaScript API 訪問tensorflow.js 部分代碼 藍奏云:https://wwud.lanzouw.com/iLnE516oj2eh 百度云:https://

    2024年02月10日
    瀏覽(17)
  • 【face-api.js】前端實現(xiàn),人臉捕獲、表情識別、年齡性別識別、人臉比對、視頻人臉追蹤、攝像頭人物識別

    【face-api.js】前端實現(xiàn),人臉捕獲、表情識別、年齡性別識別、人臉比對、視頻人臉追蹤、攝像頭人物識別

    官網(wǎng)看下簡介,在線預覽看下效果 官方的github文件拷下來 npm i face-api.js 把模型文件拷進你的項目 主要是在圖片或視頻元素上,蓋一個相同大小的canvas 先是錄入一些圖片的描述信息,然后比較描述信息,判斷人臉的相似度 人臉檢測器有兩種, SSD 和 Tiny 兩種,SSD較大,Tiny用

    2024年02月11日
    瀏覽(95)
  • vue+face-api.js實現(xiàn)前端人臉識別功能

    vue+face-api.js實現(xiàn)前端人臉識別功能

    近期做了一個前端vue實現(xiàn)人臉識別的功能,主要功能邏輯包含:人臉識別,人臉驗證,喚起攝像頭視頻流之后從三個事件(用戶點頭、搖頭、眨眼睛)中隨機選中兩個事件,待兩個事件通過判斷后人臉靜止不動3秒鐘后截取視頻流生成圖片,上傳到阿里或者騰訊oss,通過oss返回

    2024年02月05日
    瀏覽(25)
  • 基于Face++,使用Spring Boot+Elemnet-UI實現(xiàn)人臉識別登錄。

    基于Face++,使用Spring Boot+Elemnet-UI實現(xiàn)人臉識別登錄。

    上一篇文章只是封裝了人臉檢測的一些工具類,要實現(xiàn)刷臉登錄,我們首先得思考一個問題,就是如何將我們的人臉和登錄賬戶信息進行綁定,讓它通過人臉就能識別到當前登錄的賬戶是誰的賬戶。 這個問題我們可以這樣解決,我瀏覽Face++的官網(wǎng)發(fā)現(xiàn)它還有人臉比對的一個

    2024年02月04日
    瀏覽(18)
  • OpenCV人臉識別,訓練模型為cv2.face.LBPHFaceRecognizer_create()

    OpenCV人臉識別,訓練模型為cv2.face.LBPHFaceRecognizer_create()

    OpenCV內(nèi)部自帶有三種人臉檢測方式:LBPH人臉識和其他兩種方法(Eigen人臉識別,F(xiàn)isherFace人臉識別)本次主要說明第一種方式LBPH檢測。 1.創(chuàng)建需要訓練的圖片的集文件夾,和識別功能測試圖片集的文件夾。 圖(1)訓練圖集文件夾? ?圖(1.1)taylorswift照片(盡量選用背景沒其

    2024年02月07日
    瀏覽(22)
  • opencv 進階13-Fisherfaces 人臉識別-函數(shù)cv2.face.FisherFaceRecognizer_create()

    opencv 進階13-Fisherfaces 人臉識別-函數(shù)cv2.face.FisherFaceRecognizer_create()

    PCA 方法是 EigenFaces 方法的核心,它找到了最大化數(shù)據(jù)總方差特征的線性組合。不可否認,EigenFaces 是一種非常有效的方法,但是它的缺點在于在操作過程中會損失許多特征信息。 因此,在一些情況下,如果損失的信息正好是用于分類的關鍵信息,必然會導致無法完成分類。

    2024年02月11日
    瀏覽(91)
  • Python進階——實現(xiàn)人臉識別

    Python進階——實現(xiàn)人臉識別

    前言 嗨嘍,大家好呀~這里是愛看美女的茜茜吶 今天我們來實現(xiàn)一下人臉識別~ 先問大家一個問題 什么是百度Aip模塊? 百度AI平臺提供了很多的API接口供開發(fā)者快速的調(diào)用運用在項目中 本文寫的是使用百度AI的在線接口SDK模塊(baidu-aip)進行實現(xiàn)人臉識別 除了人臉識別,其他

    2024年02月03日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包