日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 知識(shí)百科

用Python進(jìn)行人臉識(shí)別「包括源代碼」

來(lái)源: 責(zé)編: 時(shí)間:2023-08-07 16:30:20 272觀看
導(dǎo)讀 Python可以從圖像或視頻中檢測(cè)和識(shí)別你的臉。人臉檢測(cè)與識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)之一。人臉識(shí)別的應(yīng)用包括人臉解鎖、安全防護(hù)等,醫(yī)生和醫(yī)務(wù)人員利用人臉識(shí)別來(lái)獲取病

7hw28資訊網(wǎng)——每日最新資訊28at.com

Python可以從圖像或視頻中檢測(cè)和識(shí)別你的臉。7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉檢測(cè)與識(shí)別是計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn)之一。7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉識(shí)別的應(yīng)用包括人臉解鎖、安全防護(hù)等,醫(yī)生和醫(yī)務(wù)人員利用人臉識(shí)別來(lái)獲取病歷和病史,更好地診斷疾病。7hw28資訊網(wǎng)——每日最新資訊28at.com

關(guān)于Python人臉識(shí)別7hw28資訊網(wǎng)——每日最新資訊28at.com

在這個(gè)python項(xiàng)目中,我們將構(gòu)建一個(gè)機(jī)器學(xué)習(xí)模型,該模型從圖像中識(shí)別人。我們?cè)陧?xiàng)目中使用了人臉識(shí)別API和OpenCV。7hw28資訊網(wǎng)——每日最新資訊28at.com

隨時(shí)了解最新的技術(shù)趨勢(shì)7hw28資訊網(wǎng)——每日最新資訊28at.com

加入DataFlair的電報(bào)!7hw28資訊網(wǎng)——每日最新資訊28at.com

工具與圖書館 Python-3.x CV2-4.5.2 矮胖-1.20.3 人臉識(shí)別-1.3.07hw28資訊網(wǎng)——每日最新資訊28at.com

若要安裝上述軟件包,請(qǐng)使用以下命令。7hw28資訊網(wǎng)——每日最新資訊28at.com

pip install numpy opencv-python7hw28資訊網(wǎng)——每日最新資訊28at.com

要安裝FaceRecognition,首先安裝dlib包。7hw28資訊網(wǎng)——每日最新資訊28at.com

pip install dlib7hw28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,使用以下命令安裝面部識(shí)別模塊7hw28資訊網(wǎng)——每日最新資訊28at.com

pip install face_recognition7hw28資訊網(wǎng)——每日最新資訊28at.com
下載人臉識(shí)別Python代碼7hw28資訊網(wǎng)——每日最新資訊28at.com

請(qǐng)下載python面部識(shí)別項(xiàng)目的源代碼: 人臉識(shí)別工程代碼7hw28資訊網(wǎng)——每日最新資訊28at.com

項(xiàng)目數(shù)據(jù)集7hw28資訊網(wǎng)——每日最新資訊28at.com

我們可以使用我們自己的數(shù)據(jù)集來(lái)完成這個(gè)人臉識(shí)別項(xiàng)目。對(duì)于這個(gè)項(xiàng)目,讓我們以受歡迎的美國(guó)網(wǎng)絡(luò)系列“老友記”為數(shù)據(jù)集。該數(shù)據(jù)集包含在面部識(shí)別項(xiàng)目代碼中,您在上一節(jié)中下載了該代碼。7hw28資訊網(wǎng)——每日最新資訊28at.com

建立人臉識(shí)別模型的步驟7hw28資訊網(wǎng)——每日最新資訊28at.com

在繼續(xù)之前,讓我們知道什么是人臉識(shí)別和檢測(cè)。7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉識(shí)別是從照片和視頻幀中識(shí)別或驗(yàn)證一個(gè)人的臉的過(guò)程。7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉檢測(cè)是指在圖像中定位和提取人臉(位置和大小)以供人臉檢測(cè)算法使用的過(guò)程。7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉識(shí)別方法用于定位圖像中唯一指定的特征。在大多數(shù)情況下,面部圖片已經(jīng)被移除、裁剪、縮放和轉(zhuǎn)換為灰度。人臉識(shí)別包括三個(gè)步驟:人臉檢測(cè)、特征提取、人臉識(shí)別。7hw28資訊網(wǎng)——每日最新資訊28at.com

OpenCV是一個(gè)用C++編寫的開(kāi)源庫(kù).它包含了用于計(jì)算機(jī)視覺(jué)任務(wù)的各種算法和深度神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。7hw28資訊網(wǎng)——每日最新資訊28at.com

1.準(zhǔn)備數(shù)據(jù)集7hw28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建2個(gè)目錄,訓(xùn)練和測(cè)試。從互聯(lián)網(wǎng)上為每個(gè)演員選擇一個(gè)圖片,并下載到我們的“火車”目錄中。確保您所選擇的圖像能夠很好地顯示人臉的特征,以便對(duì)分類器進(jìn)行分類。7hw28資訊網(wǎng)——每日最新資訊28at.com

為了測(cè)試模型,讓我們拍攝一張包含所有強(qiáng)制轉(zhuǎn)換的圖片,并將其放到我們的“test”目錄中。7hw28資訊網(wǎng)——每日最新資訊28at.com

為了您的舒適,我們?cè)黾恿伺嘤?xùn)和測(cè)試數(shù)據(jù)與項(xiàng)目代碼。7hw28資訊網(wǎng)——每日最新資訊28at.com

2.模型的訓(xùn)練7hw28資訊網(wǎng)——每日最新資訊28at.com

首先導(dǎo)入必要的模塊。7hw28資訊網(wǎng)——每日最新資訊28at.com

import face_recognition as fr7hw28資訊網(wǎng)——每日最新資訊28at.com
import cv27hw28資訊網(wǎng)——每日最新資訊28at.com
import numpy as np7hw28資訊網(wǎng)——每日最新資訊28at.com
import os7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉識(shí)別庫(kù)包含幫助人臉識(shí)別過(guò)程的各種實(shí)用程序的實(shí)現(xiàn)。7hw28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,創(chuàng)建2個(gè)列表來(lái)存儲(chǔ)圖像(人員)的名稱及其各自的臉編碼。7hw28資訊網(wǎng)——每日最新資訊28at.com

path = "./train/"7hw28資訊網(wǎng)——每日最新資訊28at.com
known_names = []7hw28資訊網(wǎng)——每日最新資訊28at.com
known_name_encodings = []7hw28資訊網(wǎng)——每日最新資訊28at.com
images = os.listdir(path)7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉編碼是一種值的矢量,它代表著臉部特征之間的重要度量,如眼睛之間的距離、額頭的寬度等。7hw28資訊網(wǎng)——每日最新資訊28at.com

我們循環(huán)遍歷火車目錄中的每個(gè)圖像,提取圖像中的人的姓名,計(jì)算其臉編碼向量,并將信息存儲(chǔ)在相應(yīng)的列表中。7hw28資訊網(wǎng)——每日最新資訊28at.com

for _ in images:7hw28資訊網(wǎng)——每日最新資訊28at.com
image = fr.load_image_file(path + _)7hw28資訊網(wǎng)——每日最新資訊28at.com
image_path = path + _7hw28資訊網(wǎng)——每日最新資訊28at.com
encoding = fr.face_encodings(image)[0]7hw28資訊網(wǎng)——每日最新資訊28at.com
known_name_encodings.append(encoding)7hw28資訊網(wǎng)——每日最新資訊28at.com
known_names.append(os.path.splitext(os.path.basename(image_path))[0].capitalize())7hw28資訊網(wǎng)——每日最新資訊28at.com
3.在測(cè)試數(shù)據(jù)集中測(cè)試模型7hw28資訊網(wǎng)——每日最新資訊28at.com

如前所述,我們的測(cè)試數(shù)據(jù)集只包含一個(gè)包含所有人員的圖像。7hw28資訊網(wǎng)——每日最新資訊28at.com

使用CV2 imread()方法讀取測(cè)試映像。7hw28資訊網(wǎng)——每日最新資訊28at.com

test_image = "./test/test.jpg"7hw28資訊網(wǎng)——每日最新資訊28at.com
image = cv2.imread(test_image)7hw28資訊網(wǎng)——每日最新資訊28at.com

人臉識(shí)別庫(kù)提供了一種名為Face_Locations()的有用方法,它定位圖像中檢測(cè)到的每個(gè)人臉的坐標(biāo)(左、下、右、上)。使用這些位置值,我們可以很容易地找到臉編碼。7hw28資訊網(wǎng)——每日最新資訊28at.com

face_locations = fr.face_locations(image)7hw28資訊網(wǎng)——每日最新資訊28at.com
face_encodings = fr.face_encodings(image, face_locations)7hw28資訊網(wǎng)——每日最新資訊28at.com

我們循環(huán)遍歷每個(gè)面部位置及其在圖像中的編碼。然后,我們將這種編碼與“列車”數(shù)據(jù)集中的人臉編碼進(jìn)行比較。7hw28資訊網(wǎng)——每日最新資訊28at.com

然后計(jì)算人臉距離,即計(jì)算測(cè)試圖像編碼和訓(xùn)練圖像編碼之間的相似性。現(xiàn)在,我們從它選取最小值距離,表示測(cè)試圖像的這張臉是訓(xùn)練數(shù)據(jù)集中的人之一。7hw28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,使用CV2模塊中的方法繪制一個(gè)帶有面部位置坐標(biāo)的矩形。7hw28資訊網(wǎng)——每日最新資訊28at.com

for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):7hw28資訊網(wǎng)——每日最新資訊28at.com
matches = fr.compare_faces(known_name_encodings, face_encoding)7hw28資訊網(wǎng)——每日最新資訊28at.com
name = ""7hw28資訊網(wǎng)——每日最新資訊28at.com
face_distances = fr.face_distance(known_name_encodings, face_encoding)7hw28資訊網(wǎng)——每日最新資訊28at.com
best_match = np.argmin(face_distances)7hw28資訊網(wǎng)——每日最新資訊28at.com
if matches[best_match]:7hw28資訊網(wǎng)——每日最新資訊28at.com
name = known_names[best_match]7hw28資訊網(wǎng)——每日最新資訊28at.com
cv2.rectangle(image, (left, top), (right, bottom), (0, 0, 255), 2)7hw28資訊網(wǎng)——每日最新資訊28at.com
cv2.rectangle(image, (left, bottom - 15), (right, bottom), (0, 0, 255), cv2.FILLED)7hw28資訊網(wǎng)——每日最新資訊28at.com
font = cv2.FONT_HERSHEY_DUPLEX7hw28資訊網(wǎng)——每日最新資訊28at.com
cv2.putText(image, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)7hw28資訊網(wǎng)——每日最新資訊28at.com

使用CV2模塊的imShow()方法顯示圖像。7hw28資訊網(wǎng)——每日最新資訊28at.com

cv2.imshow("Result", image)7hw28資訊網(wǎng)——每日最新資訊28at.com

使用imwrite()方法將圖像保存到當(dāng)前工作目錄中。7hw28資訊網(wǎng)——每日最新資訊28at.com

cv2.imwrite("./output.jpg", image)7hw28資訊網(wǎng)——每日最新資訊28at.com

釋放未被釋放的資源(如果有的話)。7hw28資訊網(wǎng)——每日最新資訊28at.com

cv2.waitKey(0)7hw28資訊網(wǎng)——每日最新資訊28at.com
cv2.destroyAllWindows()7hw28資訊網(wǎng)——每日最新資訊28at.com

Python人臉識(shí)別輸出7hw28資訊網(wǎng)——每日最新資訊28at.com

讓我們看看模型的輸出。7hw28資訊網(wǎng)——每日最新資訊28at.com

7hw28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-119-2348-0.html用Python進(jìn)行人臉識(shí)別「包括源代碼」

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: DeepMind開(kāi)源了MuJoCo!Meta竟用來(lái)讓「骷髏手」盤核桃

下一篇: 云安全日?qǐng)?bào)220524:IBM大數(shù)據(jù)可擴(kuò)展存儲(chǔ)設(shè)備發(fā)現(xiàn)特權(quán)提升漏洞,需要盡快升級(jí)

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 永安市| 鄂温| 武城县| 湘阴县| 咸宁市| 贵阳市| 临洮县| 博白县| 武强县| 潞西市| 辽宁省| 巴南区| 长春市| 鄢陵县| 桓仁| 安平县| 三河市| 神农架林区| 开鲁县| 驻马店市| 大渡口区| 怀化市| 十堰市| 南乐县| 全椒县| 大丰市| 辽阳市| 读书| 赞皇县| 五峰| 资中县| 凤城市| 固原市| 云安县| 鄄城县| 宁晋县| 宜春市| 黄大仙区| 红原县| 桓仁| 方正县|