《人工智能應(yīng)用與體驗(yàn)》課件 項(xiàng)目7 刷臉簽到系統(tǒng)_第1頁
《人工智能應(yīng)用與體驗(yàn)》課件 項(xiàng)目7 刷臉簽到系統(tǒng)_第2頁
《人工智能應(yīng)用與體驗(yàn)》課件 項(xiàng)目7 刷臉簽到系統(tǒng)_第3頁
《人工智能應(yīng)用與體驗(yàn)》課件 項(xiàng)目7 刷臉簽到系統(tǒng)_第4頁
《人工智能應(yīng)用與體驗(yàn)》課件 項(xiàng)目7 刷臉簽到系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

刷臉簽到系統(tǒng)基于開源的Face_recognition庫實(shí)現(xiàn)人臉識(shí)別情景導(dǎo)入現(xiàn)在,人臉識(shí)別的技術(shù)已經(jīng)布滿了大街小巷,移動(dòng)支付端的刷臉支付,沒有現(xiàn)金與手機(jī)也可以買東西了,小區(qū)門口設(shè)置了刷臉進(jìn)小區(qū)的裝置,極大提高了小區(qū)物業(yè)管理的效率;上班考勤刷臉就能打卡,;而這些全部歸功于當(dāng)下很成熟的計(jì)算機(jī)視覺技術(shù)——人臉識(shí)別。總?cè)蝿?wù)分析基于Face_recognition實(shí)現(xiàn)人臉識(shí)別任務(wù)一基于Face_Recognition實(shí)現(xiàn)人臉定位人臉識(shí)別

人臉識(shí)別,是基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)。用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動(dòng)在圖像中檢測(cè)和跟蹤人臉,進(jìn)而對(duì)檢測(cè)到的人臉進(jìn)行臉部識(shí)別的一系列相關(guān)技術(shù),通常也叫做人像識(shí)別、面部識(shí)別。

現(xiàn)今人臉識(shí)別產(chǎn)品已廣泛應(yīng)用于金融、司法、公安、政府、航天、電力、工廠、教育、醫(yī)療及眾多企事業(yè)單位等領(lǐng)域。Face_recognition

Face_recognition是一個(gè)強(qiáng)大、簡(jiǎn)單、易上手的人臉識(shí)別開源項(xiàng)目,并且配備了完整的開發(fā)文檔和應(yīng)用案例。你可以使用Python和命令行工具提取、識(shí)別、操作人臉。安裝Face_recognition1)你可以直接通過pip安裝:

!pipinstallface_recognition2)可以直接通過import導(dǎo)入并使用:importface_recognition定位人臉

實(shí)現(xiàn)步驟:1、導(dǎo)入相關(guān)包2、讀取待檢測(cè)圖片

3、定位圖片中的人臉位置

調(diào)用face_recognition中的face_locations函數(shù),可以定位圖像中識(shí)別出的所有人臉位置信息,返回值是列表形式,列表中每一行是一張人臉的位置信息,包括[top,right,bottom,left]。

4、輸出人臉示例代碼:#人臉識(shí)別庫importface_recognition#繪圖庫importmatplotlib.pyplotaspltimage=face_recognition.load_image_file("./data-sets/馬文.png")

face_locations=face_recognition.face_locations(image,model="cnn")#遍歷人臉坐標(biāo)forface_locationinface_locations:top,right,bottom,left=face_locationprint("人臉像素坐標(biāo)高:{},左:{},下:{},右:{}".format(top,left,bottom,right))face_image=image[top:bottom,left:right]plt.imshow(face_image)plt.show()定位人臉

原圖

輸出任務(wù)二

基于Face_Recognition實(shí)現(xiàn)人臉比對(duì)人臉比對(duì)我們通過人眼看上邊兩張圖片就知道這兩張照片上不是同一個(gè)人,那么如何讓計(jì)算機(jī)判斷兩張圖片里的人物是不是同一個(gè)呢?定位人臉

實(shí)現(xiàn)步驟:1、導(dǎo)入相關(guān)包

2、加載人臉圖片并獲取人臉編碼3、加載另一張人臉圖片并獲取人臉編碼4、人臉比對(duì)

通過compare_faces函數(shù),判斷圖像中的人臉是否為已知。face_pare_faces(known_face_encodings,face_encoding_to_check,tolerance=0.6)作用:判斷一張人臉圖像是否在已知人臉列表存在匹配項(xiàng)。其中參數(shù)known_face_encodings表示已知人臉的編碼列表;face_encoding_to_check表示一張未知人臉的編碼;tolerance表示兩張臉的向量距離小于該值則歸類為同一個(gè)人,默認(rèn)閾值0.6。

舉個(gè)例子:encoding列表=[同學(xué)1的編碼,同學(xué)2的編碼,同學(xué)3的編碼];需要判斷的人臉編碼=同學(xué)3的編碼compare_faces(encoding列表,需要判斷的人臉編碼)=[False,False,True]因?yàn)閏ompare_faces()將需要判斷的人臉編碼與encoding列表中的第一個(gè)編碼進(jìn)行比較,發(fā)現(xiàn)不是同一張臉,所以函數(shù)輸出列表的第一個(gè)元素是False。以此類推,所以將人臉編碼與列表中的第三碼進(jìn)行比較會(huì)發(fā)現(xiàn)是同一張臉,所以所以函數(shù)輸出列表的第三個(gè)元素是True。定位人臉示例代碼:importface_recognitionimportmatplotlib.pyplotasplt#查看已知的人臉圖像p1=plt.imread("./faces/楊立昆.jpg")plt.imshow(p1)plt.show()image=face_recognition.load_image_file("./faces/楊立昆.jpg")#因?yàn)閳D片中只有一個(gè)人臉,我們調(diào)用face_encodings后讀取輸出列表中的第一個(gè)結(jié)果yang_encoding=face_recognition.face_encodings(image)[0]#查看需要判斷的人臉圖像p2=plt.imread("./faces/杰弗里.jpg")plt.imshow(p2)plt.show()#加載一張未知照片unknown_image=face_recognition.load_image_file("./faces/杰弗里.jpg")unknown_encoding=face_recognition.face_encodings(unknown_image)[0]#加載一張未知照片unknown_image=face_recognition.load_image_file("./faces/杰弗里.jpg")unknown_encoding=face_recognition.face_encodings(unknown_image)[0]#將未知照片與已知照片進(jìn)行比對(duì)results=face_pare_faces([yang_encoding],unknown_encoding)ifresults[0]==True:print("這是一張楊立昆的照片!")else:print("這不是楊立昆的照片!")任務(wù)三

實(shí)現(xiàn)圖像中的人臉識(shí)別人臉識(shí)別

如左圖,是深度學(xué)習(xí)三巨頭:楊立昆(YannLeCun)、杰弗里辛頓(GeoffreyHinton)、約書亞本吉奧(YoshuaBengio)。

基于Face_recognition,如何對(duì)圖片中的人臉進(jìn)行識(shí)別并標(biāo)注上名字呢?人臉識(shí)別

實(shí)現(xiàn)步驟:1、導(dǎo)入相關(guān)包

2、加載已知人臉圖片(假設(shè)已知楊立昆、杰弗里辛頓,約書亞本吉奧未知)3、加載待識(shí)別人臉圖片4、框出人臉并標(biāo)記人名

ps:我們主要用到Pillow庫中的兩個(gè)模塊:Image和ImageDraw。

Image模塊是Pillow庫的基礎(chǔ)模塊,只有Image類型的圖片數(shù)據(jù)才可以被Pillow庫處理。ImageDraw模塊可用于創(chuàng)建新圖像、對(duì)現(xiàn)有圖像進(jìn)行注釋或潤色,以及動(dòng)態(tài)生成圖形以供Web使用。本任務(wù)中,我們將使用ImageDraw模塊對(duì)圖像進(jìn)行標(biāo)注:1、將人臉用矩形框出來2、對(duì)人臉進(jìn)行姓名標(biāo)注請(qǐng)打開派Lab查看示例代碼人臉識(shí)別

由于向模型提供了左邊二者的圖片,所以,在這張合照中,可以正確打上人名,同理最右邊的為未知人臉。任務(wù)四

實(shí)現(xiàn)視頻中的人臉識(shí)別人臉識(shí)別

針對(duì)下面這個(gè)視頻,能否在視頻中出現(xiàn)的指定人臉打上人名呢?人臉識(shí)別

實(shí)現(xiàn)步驟:1、導(dǎo)入相關(guān)包

2、加載已知人臉圖片3、定義人臉識(shí)別函數(shù)4、讀取待檢測(cè)圖片,輸出識(shí)別結(jié)果

5、讀取待檢測(cè)視頻

6、配置輸出視頻的參數(shù)

7、進(jìn)行視頻人臉識(shí)別和標(biāo)注

OpenCVOpenCV是計(jì)算機(jī)視覺領(lǐng)域一個(gè)圖像和視頻處理庫,用于各種圖像和視頻分析,如面部識(shí)別和檢測(cè),車牌閱讀,照片編輯,高級(jí)機(jī)器人視覺,光學(xué)字符識(shí)別等。OpenCV用C++語言編寫,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和MacOS。對(duì)于python而言,在引用OpenCV庫的時(shí)候需要寫為importcv2。OpenCV視頻信號(hào)時(shí)由一系列的圖像構(gòu)成的,這些圖像稱為幀,播放幀的速度稱為幀速率,通常使用幀/秒表示,即FPS(FramesPe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論