首頁 > 軟體

Python實現臉部辨識的詳細圖文教學

2022-08-23 18:01:32

叨叨幾句

哈嘍兄弟們,今天實現一下臉部辨識。

先問大家一個問題

什麼是百度Aip模組?

百度AI平臺提供了很多的API介面供開發者快速的呼叫運用在專案中

本文寫的是使用百度AI的線上介面SDK模組(baidu-aip)進行實現臉部辨識

除了臉部辨識,其他api功能的呼叫也同理。

準備工作

本機環境

  • 系統:win11
  • Python版本:3.9.7
  • 編輯器:VS2022

安裝baidu-aip模組

win + R 輸入cmd開啟命令提示字元

執行安裝百度AI模組

pip install baidu-aip

登入百度AI平臺建立應用

開啟百度AI平臺 進行登入

在控制檯中找到臉部辨識

按自己要求建立應用

最後得到應用的AppID API Key Secret Key

記下值 等等會用到

AppID:10000000
API Key:xxxxxxxxxxxxxxxxxxxxxxxx
Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

程式碼流程

匯入baidu-aip模組

開啟VS2022(VSCode PyCharm Sypder等同理)建立一個py檔案
輸入

from aip import AipFace

宣告上文獲取的AppID API Key Secret Key

APP_ID = '10000000'
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx'
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

初始化百度AIP 臉部辨識模組

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

建立人臉檢測函數

def face_detect(image):
    result = client.detect(image, image_type='BASE64')
    print(result)
    return result

輸入的圖片image必須是BASE64格式

將圖片轉為BASE64格式

匯入base64包

import base64

將圖片開啟為 BASE64格式

但是匯入到百度AI中需要為字串格式,所以返回為字串

def imageToBase64(imagePath):
    with open(imagePath, 'rb') as f:
        image = base64.b64encode(f.read())
        return str(image, encoding='utf-8')

開啟圖片進行檢測

先準備一張圖片pic1.jpg

呼叫函數

face_detect(imageToBase64("pic1.jpg"))

提示呼叫成功:

遇到的問題

執行時候提示:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)

win + R 輸入 regedit開啟登入檔,找到

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings

把ProxyEnable的值改為0

再執行即可

延伸出使用其他功能

除了人臉檢測還可以使用人臉比、人臉搜尋對等函數,呼叫方法同理,比如人臉比對。

def face_match(image1, image2):
    result = client.match([
    {
        'image': image1,
        'image_type': 'BASE64',
    },
    {
        'image': image2,
        'image_type': 'BASE64',
    }
   ])
    print(result)
    return result

人臉搜尋

def face_search(image,group_id_list):
    result = client.search(image, image_type='BASE64',group_id_list=group_id_list)
    print(result)
    return result

APP_ID API_KEY SECRET_KEY 需要修改為自己的

總結

到此這篇關於Python實現臉部辨識的文章就介紹到這了,更多相關Python臉部辨識內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com