用 Raspberry Pi 4 + OpenCV 4 做個人臉辨識放在辦公室打卡吧
辦公室打卡到底要用甚麼方法最好,是員工卡嗎?還是手機APP定位?還是用打卡鐘?在2020年之後一定是跟你說生物辨識最好,因為又有疫情影響,大家最愛的是「人臉辨識」系統,非接觸,難造假,順便量體溫,噴個酒精,一切都這麼美好,但是只有千金難買好系統,一套好用的人臉辨識系統加上網動輒1萬元台幣,這時工程師的我們一定要自己DIY來一個「人臉辨識」打卡下。
Raspberry Pi 4 的 OpenCV 4 準備
採用 opencv_facerecognition 解決方案
https://github.com/mickey9801/opencv_facerecognition
首先安裝相關的依賴以及DB
sudo apt-get update && sudo apt-get upgrade sudo apt-get install python3-opencv python3-picamera python3-numpy python3-pil sudo apt-get install sqlitebrowser
下載 opencv_facerecognition,並且解開壓縮
cd ~ wget https://github.com/mickey9801/opencv_facerecognition/archive/refs/heads/master.zip unzip master cd opencv_facerecognition-master/
設定環境人臉辨識的資料以及環境
等等會用到 haarcascade_frontalface_default.xml ,不要用 OpenCV 3版本的,要用之前安裝的版本,我將路徑放在下方
# 複製 xml cp ~/opencv/data/haarcascades/haarcascade_frontalface_default.xml ~/opencv_facerecognition-master/haarcascade_frontalface_default.xml # 設定環境 python3 setup.py
擷取人臉用來訓練圖像
如果你是用 usb webcam 可以執行 recordface_webcam.py ,如果是用 PiCam 就用 python3 recordface_picam.py,此時會先問你的名字,提供完名字後,會開啟相機,當相機偵測到人臉時候,按下 「f」 鍵,就會開始抓取 30 張人像,放在 dataset 下
python3 recordface_webcam.py # for using webcam python3 recordface_picam.py # for using PiCam v2
訓練人臉的圖像
在我們的系統中 OpenCV4,要修改 trainer.py 中的程式碼以符合現況
nano trainer.py
找到 recognizer = cv2.face.createLBPHFaceRecognizer() 把它改成 recognizer = cv2.face.LBPHFaceRecognizer_create()
#recognizer = cv2.face.createLBPHFaceRecognizer() # or recognizer = cv2.face.LBPHFaceRecognizer_create()
開始訓練,訓練完畢後會在目錄中取得一個 recognizer 目錄,裡面存放訓練後的資料
python3 trainer.py
開始辨識人臉
有了訓練資料後,就可以開始測試準度了,開始前記得也要改一下程式碼,符合現況
nano detector_picam.py
找到 Setup LBPH recognizer for face recognition,更改成下面的程式碼
# Setup LBPH recognizer for face recognition #recognizer = cv2.face.createLBPHFaceRecognizer() # or LBPHFaceRecognizer_create() recognizer = cv2.face.LBPHFaceRecognizer_create() # Load training data #recognizer.load(fname) # change to read() for LBPHFaceRecognizer_create() recognizer.read(fname)
存檔後執行 detector_picam.py,就可以在辦公室打卡了
python3 detector_webcam.py # for using webcam python3 detector_picam.py # for using PiCam v2
未來,再補影片~~相信OpenCV的安裝一定很多困難,只能說關關難關關過~~
近期留言