国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        使用Python的人臉識別系統

        2022-05-30 18:10
        磐創AI
        關注

        介紹

        人臉識別不同于人臉檢測。在人臉檢測中,我們只檢測了人臉的位置,在人臉識別任務中,我們識別了人的身份。

        在本文中,我們將在人臉識別庫的幫助下,使用python構建一個人臉識別系統。

        市場上有許多用于人臉識別的算法。這一計算機視覺挑戰是從視頻和圖片中檢測人臉。許多應用程序可以構建在識別系統之上。許多大公司出于安全和身份驗證的目的而采用識別系統。

        識別系統用例

        人臉識別系統在現代得到廣泛應用,許多新的創新系統都建立在識別系統之上。

        有幾個用例:

        尋找失蹤者識別社交媒體上的帳戶識別汽車中的駕駛員考勤系統

        多種實現面部識別的算法取決于其性能和準確性。

        傳統人臉識別算法

        傳統的人臉識別算法不符合現代人臉識別標準。它們旨在使用舊的傳統算法識別面部。

        OpenCV 提供了一些傳統的面部識別算法。

        image.png

        這些方法在提取圖像信息和匹配輸入和輸出圖像的方式上有所不同。

        LBPH 算法是一種簡單但非常有效的方法,仍在使用中,但與現代算法相比速度較慢。

        人臉識別深度學習

        有多種基于深度學習的面部識別算法可供使用。

        DeepFaceDeepID series of systemsFaceNetVGGFace

        一般來說,基于地標的人臉識別器對人臉圖像進行拍攝,并試圖找到眉毛、嘴角、眼睛、鼻子、嘴唇等基本特征點。有60多個地標。

        人臉識別涉及的步驟

        1.人臉檢測:定位人臉,記下每個人臉定位的坐標,并在每個人臉周圍繪制一個邊界框。

        2.面部對齊。標準化人臉以獲得快速訓練。

        3.特征提取。從面部圖片中提取局部特征進行訓練,這一步由不同的算法執行不同的操作。

        4.人臉識別。將輸入人臉與我們數據集中的一個或多個已知人臉進行匹配。

        本文重點介紹使用庫 face_recognition 實現人臉識別,該庫基于深度學習技術,并承諾使用單個訓練圖像的準確率超過 96%。

        執行

        使用python實現人臉識別系統。使用 face_recognition 庫實現基于深度學習的人臉識別系統。

        1. 設置人臉識別庫:

        為了安裝人臉識別庫,我們需要先安裝dlib

        · dlib:它是一個現代 C++ 工具包,包含與機器學習相關的算法和工具。

        # installing dlib

        pip install dlib

        · 安裝實際的人臉識別庫face recognition。

        # installing face recognition

        pip install face recognition

        · Opencv用于一些圖像預處理

        # installing opencv

        pip install opencv


        Note: Sometimes installing dlib throws error in that case install install the C++ development toolkit using vs_code community .

        導入庫

        import cv2

        import numpy as np

        import face_recognition

        2. 加載圖片:

        我們完成了庫的安裝和導入。是時候將一些示例圖像加載到face_recognition庫中了。

        該face_recognition庫僅支持 BGR 格式的圖像。在打印輸出圖像時,我們應該使用 OpenCV 將其轉換為 RGB。

        Face_recognition僅加載 BGR 格式的圖像。

        import cv2

        import numpy as np

        import face_recognition

        img_bgr = face_recognition.load_image_file('student_images/modi.jpg')

        img_rgb = cv2.cvtColor(img_bgr,cv2.COLOR_BGR2RGB)

        cv2.imshow('bgr', img_bgr)

        cv2.imshow('rgb', img_rgb)

        cv2.waitKey

        輸出→ BGR 與 RGB

        3.檢測和定位人臉:

        face_recognition庫可以自行快速定位人臉,我們不需要使用haar_cascade或其他技術。

        img_modi=face_recognition.load_image_file('student_images/modi.jpg')

        img_modi_rgb = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)

        #--------- Detecting Face -------

        face = face_recognition.face_locations(img_modi_rgb)[0]

        copy = img_modi_rgb.copy()

        # ------ Drawing bounding boxes around Faces------------------------

        cv2.rectangle(copy, (face[3], face[0]),(face[1], face[2]), (255,0,255), 2)

        cv2.imshow('copy', copy)

        cv2.imshow('MODI',img_modi_rgb)

        cv2.waitKey(0)

        4. 樣本圖像識別:

        該face_recognition庫基于深度學習,它支持單次學習,這意味著它需要一張圖片來訓練自己檢測一個人。

        img_modi = face_recognition.load_image_file('student_images/modi.jpg')

        img_modi = cv2.cvtColor(img_modi,cv2.COLOR_BGR2RGB)

        #------to find the face location

        face = face_recognition.face_locations(img_modi)[0]

        #--Converting image into encodings

        train_encode = face_recognition.face_encodings(img_modi)[0]

        #----- lets test an image

        test = face_recognition.load_image_file('student_images/modi2.jpg')

        test = cv2.cvtColor(test, cv2.COLOR_BGR2RGB)

        test_encode = face_recognition.face_encodings(test)[0]

        print(face_recognition.compare_faces([train_encode],test_encode))

        cv2.rectangle(img_modi, (face[3], face[0]),(face[1], face[2]), (255,0,255), 1)

        cv2.imshow('img_modi', img_modi)

        cv2.waitKey(0)

        上面的代碼拍了兩張總理的照片,因為兩張照片都是同一個人,所以它返回了true。

        face_recognition.face_encodings(imgelon)[0]→返回傳遞圖像的編碼。

        face_recognition.compare_faces([train_encode],test_encode) 獲取經過訓練的編碼列表和未知圖像的測試編碼。如果兩個測試編碼在訓練編碼中匹配,則返回True ;否則,它會返回False.

        了解人臉識別的工作原理

        1.我們將人的照片和他們的名字傳遞給模型。

        2.該模型拍攝每張照片,將它們轉換為某種數字編碼,并將它們存儲在一個列表中,并將所有標簽(人名)存儲在另一個列表中。

        3.在預測階段,當我們傳遞未知人的圖片時,識別模型會將該人的圖像轉換為編碼。

        4.在將未知人的圖像轉換為編碼后,它會嘗試根據距離參數找到最相似的編碼。與未知人的編碼距離最小的編碼將是最接近的匹配。

        5.在獲得最接近的匹配編碼后,我們從該列表中獲取該編碼的索引并使用索引。我們找到檢測到的人的名字。

        識別系統的挑戰

        這些都是識別系統面臨的重大挑戰,需要解決。

        · 姿勢:識別系統容易受到人體姿勢的影響。面部識別系統將無法預測該人的面部是否不可見。

        · 照明:照明會極大地改變面部輪廓。用于人臉識別的照片應在適當的照明條件下拍攝。

        · 面部表情:不同的面部表情會導致對同一個人的圖像的不同預測。

        · 低分辨率:低分辨率圖片包含的信息較少,因此不適合人臉識別訓練。

        結論

        本文討論了如何使用 python 和單次圖像訓練技術實現人臉識別系統。你可以進一步使用像 python Tkinter 這樣的 GUI 來設計基于 GUI 的考勤系統。我們看到了影響識別系統的各種挑戰以及如何解決這些挑戰。


               原文標題 : 使用Python的人臉識別系統

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 北辰区| 人人操超碰| 久久久久久av| 露脸丨91丨九色露脸| 亚洲AV成人无码电影网| 欧美整片sss| 欧美+国产+无码+麻豆| 久久伊人五月天| 北川| 巴彦县| 伊宁市| jizz喷水| 墨竹工卡县| 国产jizz| 高清无码18禁| 91人妻人人澡人人爽人人精品| 国产精品午夜福利视频| 哈密市| 瑞安市| 偶偶福利影院| 亚洲激情AV| 老司机久久精品| 永久免费mv入口| 国产制服丝袜在线视频观看| 亚卅精品| 熟女亚州综合| A片丝袜| 黄陵县| 久久55| 99中文精品7| 久久99精品视频| 久久无码网站| AV资源站| 伊人一区| 国产精品传媒| 婷婷五月麻豆| 北安市| 寻甸| 丁香婷婷社区| 激情婷婷五月| 精品国模|