Select Page

用 Raspberry Pi 4 + OpenCV 4 做個人臉辨識放在辦公室打卡吧

Views: 304

辦公室打卡到底要用甚麼方法最好,是員工卡嗎?還是手機APP定位?還是用打卡鐘?在2020年之後一定是跟你說生物辨識最好,因為又有疫情影響,大家最愛的是「人臉辨識」系統,非接觸,難造假,順便量體溫,噴個酒精,一切都這麼美好,但是只有千金難買好系統,一套好用的人臉辨識系統加上網動輒1萬元台幣,這時工程師的我們一定要自己DIY來一個「人臉辨識」打卡下。

Raspberry Pi 4 的 OpenCV 4 準備

採用 opencv_facerecognition 解決方案

https://github.com/mickey9801/opencv_facerecognition

首先安裝相關的依賴以及DB

Shell

下載 opencv_facerecognition,並且解開壓縮

Shell

設定環境人臉辨識的資料以及環境

等等會用到 haarcascade_frontalface_default.xml ,不要用 OpenCV 3版本的,要用之前安裝的版本,我將路徑放在下方

Shell

擷取人臉用來訓練圖像

如果你是用 usb webcam 可以執行 recordface_webcam.py ,如果是用 PiCam 就用 python3 recordface_picam.py,此時會先問你的名字,提供完名字後,會開啟相機,當相機偵測到人臉時候,按下 「f」 鍵,就會開始抓取 30 張人像,放在 dataset 下

Shell

訓練人臉的圖像

在我們的系統中 OpenCV4,要修改 trainer.py 中的程式碼以符合現況

Shell

找到 recognizer = cv2.face.createLBPHFaceRecognizer() 把它改成 recognizer = cv2.face.LBPHFaceRecognizer_create()

Python

開始訓練,訓練完畢後會在目錄中取得一個 recognizer 目錄,裡面存放訓練後的資料

Shell

開始辨識人臉

有了訓練資料後,就可以開始測試準度了,開始前記得也要改一下程式碼,符合現況

Shell

找到 Setup LBPH recognizer for face recognition,更改成下面的程式碼

Python

存檔後執行 detector_picam.py,就可以在辦公室打卡了

Shell

未來,再補影片~~相信OpenCV的安裝一定很多困難,只能說關關難關關過~~

2022年最新真正可以安裝 OpenCV 4 在 Raspberry Pi 4上(一鍵安裝)

Views: 629

講在前面,碰觸 OpenCV 已經快20年了,但每次碰每次都需要編譯,各個平台編譯和支援庫都不一樣,即便我已經做了 N 次,我每次要在不同平台導入,都要花上一整天才能編譯成功,老天爺太折磨人了,還好永遠都有大神幫忙協助,這一次靠著 Q-engineering 協助,終於可以成功在 Raspberry Pi 4 執行 OpenCV 4 了。

Raspberry Pi 4 上確認平台是 32 bit or 64bit

Shell

先執行 uname -a 確認輸出是否有關鍵字 armv7l , 有的話是 32-bit 版本,如果你有看到關鍵字是 aarch64 則是 64 位元的 OS,要注意 32 bit 和 64 bit 的安裝方法是不同的,以下先示範 32 bit 的安裝方法

OpenCV 版本介紹

現在要安裝的話,推薦都是要安裝 OpenCV 4 以上的版本,在去年 2021 年底推出了 4.5.5 ,完整的支援 DNN module.

OpenCV 安裝前更新 Raspberry Pi

Shell

加大 Raspberry Pi 的 swapfile

開啟以及編輯 dphys-swapfile

Shell

找到 CONF_MAXSWAP ,將值調大超過最少 1024 以上,我自己是調到 4096 後,存檔後離開

Plain Text

重新啟動服務

Shell

重頭戲,在 RPI 中一鍵安裝 OpenCV 4

Shell

接下來只要你的前置作業無誤,等上約1.5小時就可以看到安裝 OpenCV 成功的訊息

不用一鍵安裝的可以按照順序輸入指令

Shell

檢查 Raspberry Pi 是否有安裝 OpenCV 成功

Shell

不藏私,來做人臉辨識吧!!

參考資料

https://qengineering.eu/install-opencv-4.5-on-raspberry-pi-4.html

https://qengineering.eu/install-opencv-4.5-on-raspberry-64-os.html