本文譯自樹莓派雜誌102期(MagPi issue 102),原文標題為Add face recognition to your projects with Raspberry Pi(插圖來源取自雜誌內頁)。本篇使用CC 3.0 BY-NC-SA授權,若有任何不妥與指教敬請告知。若在實際操作中遇上問題,無法提供相關技術支援服務。

很難理解機器學習近年的發展究竟到什麼程度了。現在你可以利用一個低於50英鎊的電腦,以令人驚訝而滿意的準確率可靠地辨識人臉。

即使這類的計算能力通常超出微控制器的能力範圍,但為你的專案增添一個加裝高品質相機模組的樹莓派,仍舊開創了更多可能性。從簡易通知應用(發送「媽媽到家了!」訊息),到因應使用者需求調整功能設定,都有著更多期待和可能。

著手人臉辨識的設定及運行,可以參考本篇入門指南。

 

你將會需要:

(譯註:更多關於樹莓派高品質相機的內容,可參照「樹莓派HQ相機模組:操作入門指南」一文。)

 

1.準備樹莓派

為了讓人臉辨識順利運行,我們會需要一些馬力,因此推薦至少使用Raspberry Pi 3B+,更理想則是選用Raspberry Pi 4。額外的記憶體將會有顯著的不同。為了讓我們的專案有更多的資源運用可能,我們將Raspberry Pi OS Lite以no desktop方式安裝。

確認你有連接網路,並設置一組新的密碼,若需SSH則啟用,並以sudo apt -y update && sudo apt -y full-upgrade更新。最後以sudo raspi-config指令進到設定頁面,在Interfacing Options開啟相機。

 

2.連接相機

這個專案和過去的樹莓派相機相容不錯,但新的樹莓派官方高品質相機則會給你更好的成效。確保你在關閉樹莓派4的電源下連接相機。將排線如hsmag.cc/HQCameraGetStarted內指示連接。安裝完成後,啟動你的樹莓派4並測試相機是否順利運行。於命令列執行以下指令:

raspivid -o test.h264 -t 10000

執行後會錄製長達10秒的影片至你的SD卡。若是你有插入HDMI線,便能即時觀看相機所拍攝的畫面。在繼續下一步驟前,請花一些時間確認是否順利對焦。

 

3.安裝相關套件

我們使用的人臉辨識函式庫,是由Adam Geitgey長年維護。它涵蓋了許多範例程式碼,包括以Python 3設計使你能輕易地建立你自己的人臉辨識系統。較繁雜的是有大量的相關套件需要先行安裝。由於數量太多,這邊就不一一列舉,我們直接進入hsmag.cc/FacialRec頁面,就能複製貼上這些指令。這步驟在樹莓派4上會花一些時間完成,若是Model 3或更早的機型則會更久。

 

4.安裝程式庫

現在我們備齊一切,即可用簡單的指令安裝Adam的應用程式並以Python使用:

sudo pip3 install face_recognition

一旦安裝,可以下載一些範例程式並嘗試看看。

cd
git clone --single-branch https://github.com/ageitgey/face_recognition.git

這個資料庫中有許多範例程式,介紹軟體能如何應用,包含即時影像識別。可以自由地探索並搭配使用。

 

5.範例圖片

範例程式中的模型訓練圖片是使用歐巴馬,運行範例:

cd ./face_recognition/examples
python3 facerec_on_raspberry_pi.py

在你的智慧手機上,以你喜愛的搜尋引擎找到一張歐巴馬圖片,並將它對準相機鏡頭。保持對焦及良好光線,你就會看見:「I see someone named Barack Obama!」若是你看見訊息顯示它無法偵測到任何臉孔,則可換張不同的影像或是改善光線。也可以確認相機是否對焦並確保圖像跟相機的距離是妥當的。

程式碼hsmag.cc/GitHubFR

 

6.訓練模型

最後步驟是開始識別你自己的臉孔。建立一個目錄,並在內放入一些畫質不錯的類證件照照片,或是其他你想辨識的照片。接著就能編輯facerec_on_raspberry_pi.py腳本使用這些照片。現在你有了健全的人臉識別原型,這才只是開始。這些資料庫也能識別是否有人在那,能辨識像是眼睛、鼻子、嘴巴等特徵。用這些簡單的腳本開始嘗試更多可能!