如何訓練Raspberry Pi進行面部識別
當您解鎖手機(FaceID)或允許Google或Apple對照片進行排序時,您正在使用面部識別軟件。許多Windows PC也允許您用臉來登錄。但是,當您可以為Raspberry Pi編寫自己的面部識別程序并使用它們來執(zhí)行比登錄更有趣的事情時,為什么還要讓移動設備和PC充滿樂趣。
在本文中,我們將向您展示如何訓練Raspberry Pi識別您和您的家人/朋友。然后,我們將設置Raspberry Pi以在識別到某個人時發(fā)送電子郵件通知。
Raspberry Pi面部識別項目如何工作?
對于Raspberry Pi面部識別,我們將利用OpenCV,face_recognition和imutils軟件包基于我們收集并作為數(shù)據(jù)集提供的一組圖像來訓練Raspberry Pi 。我們將運行train_model.py來分析數(shù)據(jù)集中的圖像,并在文件encodings.pickle中創(chuàng)建名稱和面孔之間的映射。
訓練完Pi之后,我們將運行facial_req.py來檢測和識別面部。我們還提供了其他代碼,可在識別到人臉時觸發(fā)向您發(fā)送電子郵件。
根據(jù)您的Raspberry Pi型號和您的互聯(lián)網(wǎng)速度,此Raspberry Pi面部識別項目至少需要3個小時才能完成。本教程的大部分內容基于運行終端命令。如果您不熟悉Raspberry Pi上的終端命令,我們強烈建議您先回顧25個以上的Raspberry Pi用戶需要了解的Linux命令。
面罩識別:如果您正在尋找一個可以識別某人是否戴著口罩或不佩戴口罩的項目,我們計劃在以后的帖子中介紹該主題,將TensorFlow添加到我們的機器學習算法中。
免責聲明:本文旨在供個人使用。我們希望我們的用戶在收集,使用和/或共享數(shù)據(jù)時充分披露和通知。我們希望我們的用戶完全遵守所有適用的國家,州和市法律。
Raspberry Pi面部識別所需的功能
Raspberry Pi 3或4。(不建議在此項目中使用Raspberry Pi ZeroW。)
電源/ microSD /鍵盤/鼠標/顯示器/ HDMI電纜(適用于Raspberry Pi)
USB網(wǎng)絡攝像頭
可選:7英寸Raspberry Pi觸摸屏
可選:代表Pi觸摸屏
第1部分:Raspberry Pi面部識別的安裝依賴項
在此步驟中,我們將安裝OpenCV,face_recognition,imutils,并臨時修改我們的交換文件,以準備將Raspberry Pi用于機器學習和面部識別。
OpenCV是一個開源軟件庫,用于通過機器學習功能處理實時圖像和視頻。
我們將使用Python face_recognition包來計算每個人臉周圍的邊界框,計算人臉嵌入并比較編碼數(shù)據(jù)集中的人臉。
Imutils 是一系列便利功能,可在Raspberry Pi上加速OpenCV計算。
計劃至少2個小時才能完成Raspberry Pi面部識別教程的這一部分。我已經記錄了每個命令通過WiFi連接以40.5 Mbps的下載速度加載Raspberry Pi 4 8??GB的時間。
1.將網(wǎng)絡攝像頭插入Raspberry Pi的USB端口之一。如果您使用Raspberry Pi相機進行面部識別,則需要執(zhí)行一些額外的步驟。請參閱本文底部附近的使用Raspberry Pi攝像頭而不是USB網(wǎng)絡攝像頭一節(jié)。
Raspberry Pi面部識別
2.引導您的Raspberry Pi。如果還沒有microSD卡,請參閱我們的文章, 首次設置Raspberry Pi或如何安裝無頭Raspberry Pi。在開始任何項目之前,最好先運行“ sudo apt-get update && sudo apt-get upgrade”。
3.打開一個終端。您可以按CTRL +T。
4.通過在終端中運行以下命令來安裝OpenCV。此安裝基于PiMyLifeUp的帖子。將每個命令復制并粘貼到Pi的終端中,按Enter,并使其完成后再移至下一個命令。如果出現(xiàn)提示,“是否要繼續(xù)?(y / n)”按y,然后按Enter鍵。
標簽: RaspberryPi面部識別