1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      Python怎么構(gòu)建人臉識(shí)別模型

      這篇文章主要講解了“Python怎么構(gòu)建人臉識(shí)別模型”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python怎么構(gòu)建人臉識(shí)別模型”吧!

      創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)手機(jī)網(wǎng)站制作設(shè)計(jì)、微商城、網(wǎng)站托管及網(wǎng)頁(yè)維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都PE包裝袋行業(yè)客戶提供了網(wǎng)站維護(hù)服務(wù)。

      01 介紹

      你是否意識(shí)到,每當(dāng)你上傳照片到Facebook上,平臺(tái)都會(huì)用人臉識(shí)別算法來(lái)識(shí)別圖片中的人物?目前還有一些政府在用人臉識(shí)別技術(shù)來(lái)識(shí)別和抓捕罪犯。此外,最常見(jiàn)的應(yīng)用就是通過(guò)自己的臉部解鎖手機(jī)。

      計(jì)算機(jī)視覺(jué)的子領(lǐng)域應(yīng)用得非常廣泛,并且全球很多商業(yè)活動(dòng)都已經(jīng)從中獲益。人臉識(shí)別模型的使用在接下來(lái)的幾年內(nèi)還會(huì)繼續(xù)增長(zhǎng),所以一起來(lái)了解如何從零開(kāi)始構(gòu)建人臉識(shí)別模型吧!

      本文首先會(huì)介紹人臉識(shí)別模型的內(nèi)部工作原理。隨后結(jié)合一個(gè)簡(jiǎn)單的案例,我們將通過(guò)Python進(jìn)行案例實(shí)踐。在本文的***部分,你將完成你的***個(gè)人臉識(shí)別模型!

      02 理解人臉識(shí)別的工作原理

      為了理解人臉識(shí)別算法工作原理,我們首先來(lái)了解一下特征向量的概念。(譯者注:此處的特征向量指機(jī)器學(xué)習(xí)的概念,不同于矩陣?yán)碚摗#?/p>

      每個(gè)機(jī)器學(xué)習(xí)算法都會(huì)將數(shù)據(jù)集作為輸入,并從中學(xué)習(xí)經(jīng)驗(yàn)。算法會(huì)遍歷數(shù)據(jù)并識(shí)別數(shù)據(jù)中的模式。例如,假定我們希望識(shí)別指定圖片中人物的臉,很多物體是可以看作模式的:

      • 臉部的長(zhǎng)度/寬度。

      • 由于圖片比例會(huì)被調(diào)整,長(zhǎng)度和高度可能并不可靠。然而,在放縮圖片后,比例是保持不變的——臉部長(zhǎng)度和寬度的比例不會(huì)改變。

      • 臉部膚色。

      • 臉上局部細(xì)節(jié)的寬度,如嘴,鼻子等。

      顯而易見(jiàn),此時(shí)存在一個(gè)模式——不同的臉有不同的維度,相似的臉有相似的維度。有挑戰(zhàn)性的是需要將特定的臉轉(zhuǎn)為數(shù)字,因?yàn)闄C(jī)器學(xué)習(xí)算法只能理解數(shù)字。表示一張臉的數(shù)字(或訓(xùn)練集中的一個(gè)元素)可以稱為特征向量。一個(gè)特征向量包括特定順序的各種數(shù)字。

      舉一個(gè)簡(jiǎn)單的例子,我們可以將一張臉映射到一個(gè)特征向量上。特征向量由不同的特征組成,如:

      • 臉的長(zhǎng)度(cm)

      • 臉的寬度(cm)

      • 臉的平均膚色(R,G,B)

      • 唇部寬度(cm)

      • 鼻子長(zhǎng)度(cm)

      當(dāng)給定一個(gè)圖片時(shí),我們可以標(biāo)注不同的特征并將其轉(zhuǎn)化為如下的特征向量:

      Python怎么構(gòu)建人臉識(shí)別模型

      如此一來(lái),我們的圖片現(xiàn)在被轉(zhuǎn)化為一個(gè)向量,可以表示為(23.1,15.8,255,224,189,5.2,4.4)。當(dāng)然我們還可以從圖片中衍生出無(wú)數(shù)的其他特征(如,頭發(fā)顏色,胡須,眼鏡等)。然而在這個(gè)簡(jiǎn)單的例子中,我們只考慮這五個(gè)簡(jiǎn)單的特征。

      現(xiàn)在,一旦我們將每個(gè)圖片解碼為特征向量,問(wèn)題就變得更簡(jiǎn)單。明顯地,當(dāng)我們使用同一個(gè)人的兩張面部圖片時(shí),提取的特征向量會(huì)非常相似。換言之,兩個(gè)特征向量的“距離”就變得非常小。

      此時(shí)機(jī)器學(xué)習(xí)可以幫我們完成兩件事:

      • 提取特征向量。由于特征過(guò)多,手動(dòng)列出所有特征是非常困難的。一個(gè)機(jī)器學(xué)習(xí)算法可以自動(dòng)標(biāo)注很多特征。例如,一個(gè)復(fù)雜的特征可能是:鼻子長(zhǎng)度和前額寬度的比例。手動(dòng)列出所有的這些衍生特征是非常困難的。

      • 匹配算法:一旦得到特征向量,機(jī)器學(xué)習(xí)算法需要將新圖片和語(yǔ)料庫(kù)中的特征向量進(jìn)行匹配。

      既然我們對(duì)人臉識(shí)別如何工作有了基本的理解,讓我們運(yùn)用一些廣泛使用的Python庫(kù)來(lái)搭建自己的人臉識(shí)別算法。

      03 案例學(xué)習(xí)

      首先給定一些人物臉部的圖片——可能是一些名人,如Mark Zuckerberg, Warren Buffett, Bill Gates, Shah Rukh Khan等,并把這些人臉看作我們的語(yǔ)料庫(kù)。現(xiàn)在,我們給定一些其他名人的新圖片(“新人物”),并判斷這些“新人物”是否在語(yǔ)料庫(kù)中。

      以下是語(yǔ)料庫(kù)中的圖片:

      Python怎么構(gòu)建人臉識(shí)別模型

      如圖所示,我們所列舉的名人有Barack Obama, Bill Gates, Jeff Bezos, Mark Zuckerberg, Ray Dalio 和Shah Rukh Khan。

      現(xiàn)在,假定“新人物”如下:

      Python怎么構(gòu)建人臉識(shí)別模型

      ▲注:以上所有圖片均來(lái)自Google圖片

      顯而易見(jiàn),這是Shah Rukh Khan。然而對(duì)電腦來(lái)說(shuō),這個(gè)任務(wù)很有挑戰(zhàn)性。因?yàn)閷?duì)于我們來(lái)說(shuō),我們可以輕易地將圖片的多種特征結(jié)合來(lái)判斷這是哪個(gè)人物。然而對(duì)電腦而言,學(xué)習(xí)如何識(shí)別人臉是非常不直觀的。

      有一個(gè)神奇但是簡(jiǎn)單的python庫(kù)封裝了以上提及的內(nèi)容——可以根據(jù)臉部特征生成特征向量并且知道如何區(qū)分不同的臉。這個(gè)python庫(kù)叫做face_recognition。它應(yīng)用了dlib——一個(gè)現(xiàn)代C++工具包,其中包含了一些機(jī)器學(xué)習(xí)算法來(lái)幫助完成復(fù)雜的基于C++的應(yīng)用。

      Python中的face_recognition庫(kù)可以完成大量的任務(wù):

      • 發(fā)現(xiàn)給定圖片中所有的臉。

      • 發(fā)現(xiàn)并處理圖片中的臉部特征。

      • 識(shí)別圖片中的臉。

      • 實(shí)時(shí)的人臉識(shí)別。

      接下來(lái),我們將探討其中的第三種任務(wù)——識(shí)別圖片中的臉。

      你可以在github的如下鏈接中獲取face_recognition庫(kù)的源代碼。

      04 Python應(yīng)用

      這部分包括使用face_recognition庫(kù)搭建簡(jiǎn)單人臉識(shí)別系統(tǒng)的代碼。這是一個(gè)應(yīng)用操作的部分,我們將在下一部分解讀代碼來(lái)理解更多細(xì)節(jié)。

      # import the libraries  import os  import face_recognition  # make a list of all the available images  images = os.listdir('images')  # load your image  image_to_be_matched = face_recognition.load_image_file('my_image.jpg')  # encoded the loaded image into a feature vector  image_to_be_matched_encoded = face_recognition.face_encodings(      image_to_be_matched)[0]  # iterate over each image  for image in images:      # load the image      current_image = face_recognition.load_image_file("images/" + image)      # encode the loaded image into a feature vector      current_image_encoded = face_recognition.face_encodings(current_image)[0]      # match your image with the image and check if it matches      result = face_recognition.compare_faces(          [image_to_be_matched_encoded], current_image_encoded)      # check if it was a match      if result[0] == True:          print "Matched: " + image      else:          print "Not matched: " + image

      文件結(jié)構(gòu)如下:

      facialrecognition:

      • fr.py

      • my_image.jpg

      • images/

      • barack_obama.jpg

      • bill_gates.jpg

      • jeff_bezos.jpg

      • mark_zuckerberg.jpg

      • ray_dalio.jpg

      • shah_rukh_khan.jpg

      • warren_buffett.jpg

      我們的根目錄,facialrecognition包括:

      • fr.py的形式的人臉識(shí)別代碼。

      • my_image.jpg – 即將被識(shí)別的圖片(“新人物”)。

      • images/ – 語(yǔ)料庫(kù)。

      如果你按照前文創(chuàng)建文件結(jié)構(gòu)并執(zhí)行代碼,如下是你能得到的結(jié)果:

      Matched: shah_rukh_khan.jpg  Not matched: warren_buffett.jpg  Not matched: barack_obama.jpg  Not matched: ray_dalio.jpg  Not matched: bill_gates.jpg  Not matched: jeff_bezos.jpg  Not matched: mark_zuckerberg.jpg

      顯而易見(jiàn),新名人是Shah Rukh Khan 并且我們的人臉識(shí)別系統(tǒng)可以識(shí)別!

      05 理解Python代碼

      現(xiàn)在讓我們解讀代碼來(lái),并理解其工作原理:

      # import the libraries  import os  import face_recognition

      以上是引入操作。我們將通過(guò)已經(jīng)建好的os庫(kù)來(lái)讀入語(yǔ)料庫(kù)中的所有圖片,并且通過(guò)face_recognition來(lái)完成算法部分。

      # make a list of all the available images  images = os.listdir('images')

      這個(gè)簡(jiǎn)單的代碼將幫助我們識(shí)別語(yǔ)料庫(kù)中所有圖片的路徑。一旦執(zhí)行這些代碼,我們可以得到:

      images = ['shah_rukh_khan.jpg', 'warren_buffett.jpg', 'barack_obama.jpg', 'ray_dalio.jpg', 'bill_gates.jpg', 'jeff_bezos.jpg', 'mark_zuckerberg.jpg']

      現(xiàn)在,以下代碼將加載新人物的圖片:

      # load your image  image_to_be_matched = face_recognition.load_image_file('my_image.jpg')

      為了保證算法可以解析圖片,我們將人物臉部圖片轉(zhuǎn)化為特征向量:

      # encoded the loaded image into a feature vector  image_to_be_matched_encoded = face_recognition.face_encodings(      image_to_be_matched)[0]

      剩余的代碼相對(duì)簡(jiǎn)單:

      # iterate over each image  for image in images:      # load the image      current_image = face_recognition.load_image_file("images/" + image)      # encode the loaded image into a feature vector      current_image_encoded = face_recognition.face_encodings(current_image)[0]      # match your image with the image and check if it matches      result = face_recognition.compare_faces(          [image_to_be_matched_encoded], current_image_encoded)      # check if it was a match      if result[0] == True:          print "Matched: " + image      else:          print "Not matched: " + image

      此時(shí),我們:

      • 對(duì)每個(gè)圖像進(jìn)行循環(huán)操作。

      • 將圖像解析為特征向量。

      • 比較語(yǔ)料庫(kù)中已經(jīng)加載的圖片和被識(shí)別的新人物圖片。

      • 如果兩者匹配,我們就顯示出來(lái)。如果不匹配,我們也要顯示結(jié)果。

      如上所示,結(jié)果顯示這個(gè)簡(jiǎn)單的人臉識(shí)別算法進(jìn)行得很順利。讓我們嘗試將my_image替換為另一個(gè)圖片:

      Python怎么構(gòu)建人臉識(shí)別模型

      當(dāng)你再次運(yùn)行這個(gè)算法,將會(huì)看到如下結(jié)果:

      Not matched: shah_rukh_khan.jpg  Not matched: warren_buffett.jpg  Not matched: barack_obama.jpg  Not matched: ray_dalio.jpg  Not matched: bill_gates.jpg  Not matched: jeff_bezos.jpg  Not matched: mark_zuckerberg.jpg

      很明顯,系統(tǒng)沒(méi)有將馬云識(shí)別為以上的任何一個(gè)名人。這意味著我們的算法在以下方面都表現(xiàn)得很好:

      • 正確地識(shí)別那些在語(yǔ)料庫(kù)中存儲(chǔ)的人。

      • 對(duì)語(yǔ)料庫(kù)中不存在的人物進(jìn)行標(biāo)注。

      06 人臉識(shí)別算法的應(yīng)用

      人臉識(shí)別是一個(gè)成熟的研究方向,已被廣泛地應(yīng)用在工業(yè)界和學(xué)術(shù)界。例如,一個(gè)罪犯在中國(guó)被捕可能就得益于人臉識(shí)別系統(tǒng):系統(tǒng)識(shí)別了他的臉并發(fā)出警報(bào)。由此可見(jiàn),面部識(shí)別可以用來(lái)減少犯罪。還有許多其他有趣的人臉識(shí)別案例:

      • 面部身份驗(yàn)證:Apple在iPhones中引入了Face ID以用于面部身份驗(yàn)證。一些銀行也嘗試使用面部身份驗(yàn)證來(lái)解鎖。

      • 用戶服務(wù):馬來(lái)西亞的一些銀行安裝了新的人臉識(shí)別系統(tǒng),用于識(shí)別有價(jià)值的銀行客戶,以便銀行為其提供個(gè)人服務(wù)。進(jìn)而銀行可以通過(guò)維持這類用戶并提升用戶滿意度來(lái)獲取更多收益。

      • 保險(xiǎn)行業(yè):很多保險(xiǎn)公司正在通過(guò)運(yùn)用人臉識(shí)別系統(tǒng)來(lái)匹配人的臉和ID提供的照片,使賠付過(guò)程變得更簡(jiǎn)單。

      感謝各位的閱讀,以上就是“Python怎么構(gòu)建人臉識(shí)別模型”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python怎么構(gòu)建人臉識(shí)別模型這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


      本文題目:Python怎么構(gòu)建人臉識(shí)別模型
      標(biāo)題來(lái)源:http://ef60e0e.cn/article/gdcsdd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        同心县| 晋江市| 如皋市| 普兰店市| 辽阳市| 明星| 获嘉县| 友谊县| 察隅县| 保德县| 沅陵县| 年辖:市辖区| 嘉荫县| 杨浦区| 灵丘县| 灵山县| 封丘县| 呼玛县| 东宁县| 曲阜市| 弥勒县| 永吉县| 临湘市| 垦利县| 南汇区| 盐池县| 永昌县| 通许县| 通河县| 南江县| 崇州市| 井陉县| 韩城市| 黔西| 安丘市| 如皋市| 林西县| 汤阴县| 无极县| 密山市| 新郑市|