自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

開(kāi)發(fā) 后端 人臉識(shí)別
近幾年來(lái)興起了一股人工智能熱潮,讓人們見(jiàn)到了AI的能力和強(qiáng)大,比如圖像識(shí)別,語(yǔ)音識(shí)別,機(jī)器翻譯,無(wú)人駕駛等等??傮w來(lái)說(shuō),AI的門檻還是比較高,不僅要學(xué)會(huì)使用框架實(shí)現(xiàn),更重要的是,需要有一定的數(shù)學(xué)基礎(chǔ),如線性代數(shù),矩陣等。今天就和大家交流下如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的人臉對(duì)比,非常有趣!

近幾年來(lái),興起了一股人工智能熱潮,讓人們見(jiàn)到了AI的能力和強(qiáng)大,比如圖像識(shí)別,語(yǔ)音識(shí)別,機(jī)器翻譯,無(wú)人駕駛等等??傮w來(lái)說(shuō),AI的門檻還是比較高,不僅要學(xué)會(huì)使用框架實(shí)現(xiàn),更重要的是,需要有一定的數(shù)學(xué)基礎(chǔ),如線性代數(shù),矩陣,微積分等。

幸慶的是,國(guó)內(nèi)外許多大神都已經(jīng)給我們?cè)旌?ldquo;輪子”,我們可以直接來(lái)使用某些模型。今天就和大家交流下如何實(shí)現(xiàn)一個(gè)簡(jiǎn)易版的人臉對(duì)比,非常有趣!

整體思路:

  • 預(yù)先導(dǎo)入所需要的人臉識(shí)別模型
  • 遍歷循環(huán)識(shí)別文件夾里面的圖片,讓模型“記住”人物的樣子
  • 輸入一張新的圖像,與前一步文件夾里面的圖片比對(duì),返回最接近的結(jié)果

使用到的第三方模塊和模型:

模塊:os,dlib,glob,numpy

模型:人臉關(guān)鍵點(diǎn)檢測(cè)器,人臉識(shí)別模型

1.導(dǎo)入需要的模塊和模型

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

這里解釋一下兩個(gè)dat文件:

它們的本質(zhì)是參數(shù)值(即神經(jīng)網(wǎng)絡(luò)的權(quán)重)。人臉識(shí)別算是深度學(xué)習(xí)的一個(gè)應(yīng)用,事先需要經(jīng)過(guò)大量的人臉圖像來(lái)訓(xùn)練。所以一開(kāi)始我們需要去設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),來(lái)“記住”人類的臉。

對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),即便是同樣的結(jié)構(gòu),不同的參數(shù)也會(huì)導(dǎo)致識(shí)別的東西不一樣。在這里,這兩個(gè)參數(shù)文件就對(duì)應(yīng)了不同的功能(它們對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也不同):

shape_predictor.dat這個(gè)是為了檢測(cè)人臉的關(guān)鍵點(diǎn),比如眼睛,嘴巴等等;dlib_face_recognition.dat是在前面檢測(cè)關(guān)鍵點(diǎn)的基礎(chǔ)上,生成人臉的特征值。

所以后面使用dlib模塊的時(shí)候,其實(shí)就是相當(dāng)于,調(diào)用了某個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),再把預(yù)先訓(xùn)練好的參數(shù)傳給我們調(diào)用的神經(jīng)網(wǎng)絡(luò)。順便提一下,在深度學(xué)習(xí)領(lǐng)域中,往往動(dòng)不動(dòng)會(huì)訓(xùn)練出一個(gè)上百M(fèi)的參數(shù)模型出來(lái),是很正常的事。

2.對(duì)訓(xùn)練集進(jìn)行識(shí)別

在這一步中,我們要完成的是,對(duì)圖片文件夾里面的人物圖像,計(jì)算他們的人臉特征,并放到一個(gè)列表里面,為了后面可以和新的圖像進(jìn)行一個(gè)距離計(jì)算。關(guān)鍵地方會(huì)加上注釋,應(yīng)該不難理解,具體實(shí)現(xiàn)為:

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

當(dāng)你做完這一步之后,輸出列表descriptors看一下,可以看到類似這樣的數(shù)組,每一個(gè)數(shù)組代表的就是每一張圖片的特征量(128維)。然后我們可以使用L2范式(歐式距離),來(lái)計(jì)算兩者間的距離。

舉個(gè)例子,比如經(jīng)過(guò)計(jì)算后,A的特征值是[x1,x2,x3],B的特征值是[y1,y2,y3], C的特征值是[z1,z2,z3],

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

那么由于A和B更接近,所以會(huì)認(rèn)為A和B更像。想象一下極端情況,如果是同一個(gè)人的兩張不同照片,那么它們的特征值是不是應(yīng)該會(huì)幾乎接近呢?知道了這一點(diǎn),就可以繼續(xù)往下走了。

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

3.處理待對(duì)比的圖片

其實(shí)是同樣的道理,如法炮制,目的就是算出一個(gè)特征值出來(lái),所以和第二步差不多。然后再順便計(jì)算出新圖片和第二步中每一張圖片的距離,再合成一個(gè)字典類型,排個(gè)序,選出最小值,搞定收工!

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

4.運(yùn)行看一下

這里我用了一張“斷水流大師兄”林國(guó)斌的照片,識(shí)別的結(jié)果是,果然,是最接近黎明了(嘻嘻,我愛(ài)黎明)。但如果你事先在訓(xùn)練圖像集里面有放入林國(guó)斌的照片,那么出來(lái)的結(jié)果就是林國(guó)斌了。

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

為什么是黎明呢?我們看一下輸入圖片里的人物***與每個(gè)明星的距離,輸出打印一下:

用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的人臉識(shí)別,原來(lái)我和這個(gè)明星如此相似

 

沒(méi)錯(cuò),他和黎明的距離是最小的,所以和他也最像了!

Python就是這么有趣好玩,可以玩爬蟲,探秘?cái)?shù)據(jù)分析,量化金融來(lái)賺錢,也可以來(lái)撩妹子做自動(dòng)化工作,機(jī)器學(xué)習(xí)領(lǐng)域就更好了,人臉識(shí)別,自然語(yǔ)言處理,數(shù)據(jù)預(yù)測(cè)和挖掘!
【責(zé)任編輯:龐桂玉 TEL:(010)68476606】
責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2020-08-19 09:25:32

Python人臉識(shí)別人工智能

2017-03-20 08:58:02

Python人臉識(shí)別AI

2024-06-12 12:57:12

2010-08-25 21:50:36

配置DHCP

2009-04-29 01:39:57

破解美萍萬(wàn)象

2019-05-17 16:27:10

中科曙光

2014-07-22 10:51:02

密碼安全

2024-10-14 13:07:40

Spring框架Boot

2020-06-04 12:55:44

PyTorch分類器神經(jīng)網(wǎng)絡(luò)

2022-02-15 13:00:29

人工智能人臉識(shí)別機(jī)器學(xué)習(xí)

2019-05-23 08:55:41

代碼開(kāi)發(fā)工具

2019-08-13 09:35:13

人工智能人臉識(shí)別技術(shù)

2013-12-10 22:35:56

CloudStackIaaS自動(dòng)化

2024-11-01 07:00:00

人臉識(shí)別Python機(jī)器學(xué)習(xí)

2019-08-02 17:48:16

戴爾

2015-02-10 10:08:59

JavaScript

2021-08-13 10:01:19

人臉識(shí)別人工智能數(shù)據(jù)

2022-06-13 06:33:04

瀏覽器瀏覽器插件

2024-09-30 06:04:02

人臉識(shí)別Python機(jī)器學(xué)習(xí)

2020-07-20 10:00:52

Python翻譯工具命令行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)