重磅干貨,第一時(shí)間送達(dá) 人臉識別 “面部識別”名稱本身就是一個(gè)非常全面的定義,面部識別是通過數(shù)字媒體作為輸入來識別或檢測人臉的技術(shù)執(zhí)行過程。 人臉識別的準(zhǔn)確性可以提供高質(zhì)量的輸出,而不是忽略影響其的問題因素。在這里,要確保運(yùn)行我們的模型,必須確保在本地系統(tǒng)中安裝了庫。 pip install face_recognition 如果在 face_recognition庫的安裝過程中遇到一些問題或錯(cuò)誤,可以點(diǎn)擊以下鏈接:https://www./watch?v=xaDJ5xnc8dc 人臉識別本身無法提供清晰的輸出,因此出現(xiàn)了OpenCV實(shí)現(xiàn)的概念。 預(yù)先錄制的視頻中的人臉識別輸出示例。 OpenCV OpenCV是python中一個(gè)著名的庫,用于實(shí)時(shí)應(yīng)用程序。OpenCV在計(jì)算機(jī)世界中就像樹的根一樣非常重要。 face_recognition中的OpenCV對我們訓(xùn)練為輸入的面部圖像進(jìn)行聚類和特征提取。它以圖像中的地標(biāo)為目標(biāo),以迭代方式在計(jì)算機(jī)視覺的深度學(xué)習(xí)方法中訓(xùn)練它們。 在本地系統(tǒng)中安裝OpenCV pip install opencv-python 使用深度學(xué)習(xí)算法,OpenCV檢測可作為聚類,相似性檢測和圖像分類的表示。 為什么我們使用OpenCV作為實(shí)時(shí)Face_Recognition中的關(guān)鍵工具? 人類可以輕松檢測到面部,但是我們?nèi)绾斡?xùn)練機(jī)器識別面部?OpenCV在這里填補(bǔ)了人與計(jì)算機(jī)之間的空白,并充當(dāng)了計(jì)算機(jī)的愿景。 以一個(gè)實(shí)時(shí)的例子為例,當(dāng)一個(gè)人遇到新朋友時(shí),他會記住這些人的臉,以備將來識別。一個(gè)人的大腦反復(fù)訓(xùn)練后端的人臉。因此,當(dāng)他看到那個(gè)人的臉時(shí),他說:“嗨,約翰!你好嗎?”。 對面部的識別和可以為計(jì)算機(jī)提供與人類相同的思維方式。 OpenCV是計(jì)算機(jī)視覺中的重要工具。如果我們使用OpenCV,則遵循以下步驟: · 通過輸入提取數(shù)據(jù)。 · 識別圖像中的面部。 · 提取獨(dú)特的特征,以建立預(yù)測思想。 · 該特定人的性格特征,如鼻子,嘴巴,耳朵,眼睛和面部主要特征。 · 實(shí)時(shí)人臉識別中人臉的比較。 · 識別出的人臉的最終輸出。 使用OpenCV python的Face_Recognition: 代碼下載:https://github.com/eazyciphers/deep-machine-learning-tutors/tree/master/Real-Time Face RecognitionGitHub 導(dǎo)入所有軟件包: import face_recognition import cv2 import numpy as np 加載并訓(xùn)練圖像: # Load a sample picture and learn how to recognize it. Jithendra_image = face_recognition.load_image_file("jithendra.jpg") Jithendra_face_encoding = face_recognition.face_encodings(Jithendra_image)[0] # Load a sample picture and learn how to recognize it. Modi_image = face_recognition.load_image_file("Modi.jpg") Modi_face_encoding = face_recognition.face_encodings(Modi_image)[0] 人臉編碼: # Create arrays of known face encodings and their names known_face_encodings = [ Jithendra_face_encoding, Modi_face_encoding, ] known_face_names = [ "Jithendra", "Modi" ] 主要方法: 當(dāng)實(shí)時(shí)人臉識別為true時(shí),它將檢測到人臉并按照代碼中的以下步驟操作: · 抓取實(shí)時(shí)視頻中的一幀。 · 將圖像從BGR顏色(OpenCV使用的顏色)轉(zhuǎn)換為RGB顏色(face_recognition使用的顏色) · 在實(shí)時(shí)視頻的幀中找到所有面部和面部編碼。 · 循環(huán)瀏覽此視頻幀中的每個(gè)面孔,并檢查該面孔是否與現(xiàn)有面孔匹配。 · 如果一個(gè)人臉無法識別現(xiàn)有人臉,則將輸出視為未知或未知。 · 識別后,否則在識別出的臉部周圍畫一個(gè)方框。 · 用其名稱標(biāo)記識別的面部。 · 識別后顯示結(jié)果圖像。 退出: # Hit 'q' on the keyboard to quit! 釋放攝像頭的手柄: # Release handle to the webcam 輸入和輸出 在訓(xùn)練過程中提供給模型的樣本輸入…。 輸入 用于訓(xùn)練代碼的樣本圖像 樣本輸入圖像進(jìn)行訓(xùn)練 輸出: 記錄輸出 代碼參考:https : //github.com/eazyciphers/deep-machine-learning-tutors 參考文獻(xiàn): https://www./2018/09/24/opencv-face-recognition/ https://www./blogs/opencv-face-recognition https://zh./wiki/Facial_recognition_system 交流群 |
|