日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 可穿戴設(shè)備
[導(dǎo)讀] 在上一期基于DragonBoard 410c開發(fā)板實(shí)現(xiàn)人臉識別文章中,已經(jīng)教大家如何利用Python實(shí)現(xiàn)人臉識別的第一個(gè)部分——人臉檢測功能,今天在前面人臉檢測的基礎(chǔ)上,

在上一期基于DragonBoard 410c開發(fā)板實(shí)現(xiàn)人臉識別文章中,已經(jīng)教大家如何利用Python實(shí)現(xiàn)人臉識別的第一個(gè)部分——人臉檢測功能,今天在前面人臉檢測的基礎(chǔ)上,進(jìn)一步教大家如何使用createFisherFaceRecognizer在dragonbaord 410c開發(fā)板上來進(jìn)行人臉識別,今天將重點(diǎn)介紹該方法的原理和調(diào)用方法,處理中只是以識別前面人臉檢測方法檢測出來的人臉和數(shù)據(jù)庫中存入的人臉進(jìn)行匹配,最終識別人臉對象。

首先我們需要準(zhǔn)備人臉數(shù)據(jù),這里我對使用上一期文章中的獲取人臉的方法進(jìn)行了封裝,寫成了getFace.py文件,通過執(zhí)行該文件在Dragonboard 410c上采集了三個(gè)人的人臉,每個(gè)人的人臉采集5次不同角度數(shù)據(jù),分別保存到了usrImg文件夾下的001、002、003文件夾中,對應(yīng)的命名為1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,這些數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),然后基于這些數(shù)據(jù)調(diào)用FaceRecognizer提供的方法來實(shí)現(xiàn)對測試人臉的預(yù)測。

準(zhǔn)備好數(shù)據(jù)后,就可以利用這些數(shù)據(jù)進(jìn)行簡單的人臉識別了,根據(jù)上述數(shù)據(jù),使用Python編寫程序,將數(shù)據(jù)導(dǎo)入到系統(tǒng)中,然后構(gòu)建對應(yīng)的訓(xùn)練數(shù)據(jù)集合和標(biāo)簽,其中相同的圖片對應(yīng)相同的標(biāo)簽數(shù)據(jù),具體的對應(yīng)方式如下:

           人臉圖片                      標(biāo)簽

      ./usrImg/001/1.jpg               0

      ./usrImg/001/2.jpg               0

      ./usrImg/001/3.jpg               0

      ./usrImg/001/4.jpg               0

      ./usrImg/001/5.jpg               0

      ./usrImg/002/1.jpg               1

      ./usrImg/002/2.jpg               1

      ./usrImg/002/3.jpg               1

      ./usrImg/002/4.jpg               1

      ./usrImg/002/5.jpg               1

      ./usrImg/003/1.jpg               2

      ./usrImg/003/2.jpg               2

      ./usrImg/003/3.jpg               2

      ./usrImg/003/4.jpg               2

      ./usrImg/003/5.jpg               2

      在讀取中,通過以下代碼來讀取到limg和lables兩個(gè)列表中:

      dir = ['./usrImg/001/','./usrImg/002/','./usrImg/003/']
      name = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg']
      lables = []
      limg = []
      n = 0
     for x in dir:
          for y in name:
              obj = cv2.imread(x+y,0)
              obj2=cv2.resize(obj,(400,500))
              limg.append(obj2)
              lables.append(n)
          n = n+1

然后就可以調(diào)用FaceRecognizer中提供的方法來進(jìn)行人臉訓(xùn)練了,具體代碼如下:

model = cv2.createFisherFaceRecognizer();

model.train(limg,np.array(lables))

完成訓(xùn)練后,讀取測試人臉,這里可以用上一期人臉識別文章中的代碼讀取獲取人臉,接著就可以進(jìn)行人臉測試了,具體代碼如下:

img1 = cv2.imread(‘test.jpg’,0)

test=cv2.resize(img1,(400,500))

result = model.predict(test)

print result

完成后,將代碼進(jìn)行保存,運(yùn)行腳本,就可以得到人臉檢測結(jié)果,將會輸出被檢測人臉匹配的標(biāo)簽和相似度,結(jié)果如下:

以上就是整個(gè)人臉識別實(shí)現(xiàn)的過程,后續(xù)blog中將進(jìn)一步完善如何利用攝像頭直接檢測人臉和識別出對應(yīng)的人,并且顯示姓名。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉