by Rain Chu | 3 月 17, 2022 | AI , Tool , 人臉辨識 , 語音辨識
Views: 25
VIDEO
還記得 2013 年,我用圖形演算法寫了一個跟電視裡面的 Show Girl 玩剪刀、石頭、布,贏的就拿到 Candy ,是真的會從螢幕後面跑出一粒糖果的那種遊戲,靈感來源自於 Candy Crush ,只是我的是真實版本,不能線上玩得,2013 年寫這樣的軟體應該是很厲害的那種,2022 年居然不需要再寫程式碼就可以自己訓練模型,只要在短短的程式碼去呼叫就可以使用它了,What!
2013年版本的圖形辨識手部完玩剪刀、石頭、布
VIDEO
來看看年輕版本的我
Teachable Machine 介紹
Images,圖像分類器,https://medium.com/@warronbebster/4bfffa765866 Sounds,聲音分類器,https://medium.com/@warronbebster/4212fd7f3555 Poses,人體的姿勢分辨器,https://medium.com/@warronbebster/f4f6116f491
Teachable Machine Images
Images 可以很快速且簡易的製作圖像分類器,比起 Microsoft Azure Custom vision 要來的簡單些,但功能要來的少一些,最大的好處是支援 tensorflow 以及 https://www.tensorflow.org/js,這樣可以很快速且方便的讓我把模型放在 Edge 端。
Teachable Machine Sounds
聲音分類器比較難懂,可以看看強者學弟林智源它們公司的產品,簡單的說明,他是可以讓記者在訪問火箭升空的現場時,還可以分離人聲以及火箭的噪音的服務,如果你也想要自行訓練模型的話,就是要用到這個功能了。
迪威智能,https://dwave.cc/
Teachable Machine Poses
一個跟 Processing 、 Kinect 、 OpenNI 類似功能的應用服務,回想在 2011 年拿下微軟的 kinect for windows 第一屆的無限可能獎,說起會拿這個獎也很意外,那天比賽時後其實只取前三名,我在等到第一名公布後都沒有自己的名字後,突然間評審說還有一個跟第一名實在無法區分的獎項,是由評審們討論出來要加開的,叫做無限可能獎,才又找我原本失落的心,不枉費我前一天沒睡覺在開發這套看電子結婚照,還可以虛空把照片抓到自己手機的軟體。
VIDEO
我在 2:19 秒,Motion Welcome
VIDEO
Kinect MotionWelcome Demo
Teachable Machine 的輸出
這是最關鍵的一環,可以輸出各種模型給各種市面上的終端設備使用,Android、Coral、Raspberry Pi、Intel Vino等,這也是我覺得最強大的部分,也是最能說服我採用 Teachable Machine 的功能
Teachable Machine 應用
Teachable Machine 官網
https://teachablemachine.withgoogle.com/
寫在最後,下一次要示範一下如何在 raspberry pi 中,如果大家有想看的題目可以留言給我
by Rain Chu | 3 月 14, 2022 | AI , OpenCV , Python , Raspberry Pi , 人臉辨識
Views: 335
辦公室打卡到底要用甚麼方法最好,是員工卡嗎?還是手機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 中的程式碼以符合現況
找到 recognizer = cv2.face.createLBPHFaceRecognizer() 把它改成 recognizer = cv2.face.LBPHFaceRecognizer_create()
#recognizer = cv2.face.createLBPHFaceRecognizer() # or
recognizer = cv2.face.LBPHFaceRecognizer_create()
開始訓練,訓練完畢後會在目錄中取得一個 recognizer 目錄,裡面存放訓練後的資料
開始辨識人臉
有了訓練資料後,就可以開始測試準度了,開始前記得也要改一下程式碼,符合現況
找到 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的安裝一定很多困難,只能說關關難關關過~~
近期留言