Quarky 人面辨識

  • 人面識別用於實時檢測人的面部,用於監視和跟踪人或物體。
  • 它被廣泛應用在與相機相關的技術之中,例如我們手機/單反相機中便有這類的系統

常見的例子有 :

  • 過往 Facebook 具有人臉檢測算法來檢測圖像中的人臉並進行識別並標記人物。
  • 現代手機具有面部解鎖功能如Face ID,可識別面部並檢查其是否被紀錄的人面。

Quarky 跟 Pictoblox 也能透過相機拍攝及編程分辨人臉 , 以做出一些簡單的保安系統。

所需物料 :

Quarky x 1

Pictoblox x 1

具鏡頭的電腦 / 平板 x 1

Pictoblox link (如使用藍牙連接)

USB Type C (如使用USB連接)

連接 Quarky :

PictoBlox

在上方工具列選取「Board」再選擇 Quarky 。

PictoBlox

以 USB Type C 或藍牙連接你的 Quarky , 假如使用藍牙請開啟 Picotoblox link。

加入 Face Recognition Extension :  

PictoBlox

加入 「Face Recognition 」 Extension , 按下左下角的「+」號以進入 Extension 頁面。

面部檢測的模組需要幾秒鐘來下載

下載完成時你將收到「Model loaded successfully」

認出人臉表情 :

PictoBlox

先利用「video on stage 及 show bounding box」來設定相機 , 然後加入「analyse image from camrea」分析拍攝到的影像 , 最後利用「Tobi」說出該人物的表情。

實例 :

PictoBlox

加入 Train Face Block :

PictoBlox
PictoBlox

加入全新自定義的 「Train Face」 Block , 作用跟Function相似 , 給予定義後只需把「Train Face」拖進編程便會做出定義的內容。我們可利用它來認出這人臉/人是誰。

設定 Backdrop :

在右下角可以選擇「Choose a Backdrop」 / 「Upload a Backdrop」等設成 Stage 的背景 ,

作用是當 Pictoblox 在學習分辨人物後可以即時轉到其他畫面 , 避免它誤認相機最新收到的影像為需辦認的人。

PictoBlox

這次選擇 Blue Sky 2 , 建議使用純色或不像人臉的圖片作Backdrop。

Define Train Face

PictoBlox

「define Train Face」在你建立出這個自定義Block後便會在 Pictoblox workspace出現 ,

加入 「turn on video on stage」以開啟鏡頭及stage以分辨人面 , wait 1 seconds 為間隔 ,

然後在「look」加入 switch back drop to Blue Sky 2(剛選擇的Blackdrop) ,

作用是在學習/認出等等的人臉前 stage 的影像會變成純色背負 , 這樣便能確保在訓練 Pictoblox 分辨人臉時能確保影像 input 是要訓練人臉而不是用家面對鏡頭時的人臉或其他影像。

加入 「add class 1 as ____ from camera」以進行訓練 , 名字可自行更改。

由於這次我會使用 Obama 的影像來進行分辨 , 所以改成「Obama」

點擊 「 Train Face」以進行訓練 , 把要被認出的的人臉放至相機前 , 成功訓練後 Stage 上該人臉會被方形框框住。

PictoBlox

加入「When Clicked」以啟動編程(進行人臉識別) ,  一樣先加入相機設定。

PictoBlox

加入 forever 「do face matching on camera」 , 目的是做出人臉辨識 ;

加入 if else 「 face is 1 class detected」即剛訓練的人臉 ,

if yes --> 在 Quarky display happy emotion , else --> display crying emotion

加入 Text to Speech 豐富編程 :

PictoBlox

加入 「Text to Speech」 Extension , 按下左下角的「+」號以進入 Extension 頁面。

PictoBlox

加入「speak Obama」及「speak who are you」作聲音提示 , 以做出無障礙的保安系統幫助視障人仕。