基於GreenWaves GAPuino + PixArt PAJ6100 之AI圖像辨識方案

一、 前言

臉部辨識是一個從影像或影片中識別人物的系統,此技術已經存在幾十年,但在過去的幾年裡,它的應用越來越明顯和普及,因為它現在為創新解決方案提供技術支援,像蘋果推出Face ID功能取代指紋辨識,讓消費者也注意人臉辨識的應用。

臉部辨識在許多應用程式和行業垂直領域都很實用,在臉部上取出具有“辨別度”的特徵值,相同的一個人在不圖裝扮、表情與視角的情境之下,還具有非常類似的特徵值。相反地??,對於不同人的臉部,特徵值是不同的,必需很容易區別出來。在使用人工智能(AI)之前,使用特定算法:每個工程師必須開不同的算法,使用不同的模型,去準確達到臉部偵測、人臉特徵值的擷取以達到臉部辨識效果。

二、硬體介紹

本方案推薦使用GreenWaves Technologies GAPuino開發板搭配PixArt PAJ6100U6攝像頭模組,GAPuino使用SPI設定PAJ6100U6暫存器參數,透過CPI從PAJ6100U6取得圖像資料傳送至GAPuino,GAPuino進行推論演算法CNN或SSD,透過推論結果產生圖像歸類,例如人臉、貓及狗,當推論結果辨識為人臉時,即可控制門鎖開門或其他應用。

GreenWaves Technologies GAPuino內置GAP8晶片,GAP8是一款多核可編程超低功耗應用處理器,旨在為物聯網邊緣端(傳感器端)提供新一代超低功耗應用平台,用於將圖像,聲音等複雜信息在本地即完成一些較複雜運算,如卷積神經網絡推理等。GAP8物聯網應用處理器採用台積電55nm超低功耗製程,以致於讓長期依賴電池供電的邊緣設備可以智能化。GAP8採用八加一個基於RISC-V的高效內核的方式設計,並植入了自己的擴展指令集(DSP,向量化, SIMD,複數運算等),這讓它擁有極致的能效架構。

 原相(PixArt)科技的always-on低功耗電腦視覺感測器 (Ultra-Low Power Computer Vision) 產品以獨特的省電架構進行開發,PAJ6100U6 係由一個低功耗全域快門 QVGA (320x240) 感測器,以及一個具 90 度對角視野 (diagonal field of view) 的可回流焊光學鏡頭而組成。其可低至 1400uW (30fps QVGA) 的耗電功率,極低功耗下持續支援智慧觸發機制和視覺決策能力,對於須透過視覺來感知週遭環境的裝置,是不可或缺的一部分,適合為人工智慧學習裝置提供視覺相關服務,可應用於智能門鎖、智能玩具(Always ON臉部與表情偵測)、智能家電與物聯網。

三、系統流程

使用雲端平台或電腦進行訓練模型,當模型訓練完成後,使用gap_sdk內的nntool進行轉換,將轉換後的模型導入程式碼中,搭配PixArt全局式快門(Global Shutter)功能,取得完整圖像進行卷積神經網絡(Convolutional Neural Network;CNN )推論判斷,GAPuino只具備推論功能,模型的部分請使用者自行訓練。GAPuino可視為超低功耗Edge AI,無需連接網路,當模型訓練完後,燒錄製GAPuino內即可運作。

卷積神經網路(Convolutional Neural Network, CNN)是一種前饋神經網路,一直是深度學習中最重要的一部份,CNN 在影像辨識中甚至可以超越人類辨識的精準度,許多影樣辨識的模型也都是以CNN的架構為基礎去做延伸。

SSD(Single Shot MultiBox Detector)其中Single shot表示SSD算法屬於one-stage方法,MultiBox表示SSD是多框預測。將邊界框的輸出空間離散為不同層特徵圖上的一組不同尺寸和長寬比的默認框,其主要為在圖片的不同位置進行密集抽樣,抽樣時可以採用不同尺度和長寬比,適用於處理多種尺寸的對象。



四、場景應用1

智能門鎖,程式內部流程請查看方案方塊圖, GAPuino透過CPI取得PixArt PAJ6100U6圖像資料後,經由內部CNN計算輸出結果,再根據CNN結果輸入至SSD取得臉型框的座標,過濾框座標大小,若框座標過小則代表為誤判區需要做移除,進行過濾後才是最終結果,如果臉型座標列表長度不為0則能夠開啟門鎖,反之則回到PixArt PAJ6100U6進行下一次的循環,下方為部分程式碼。

 

short int *Output_1;
short int *Output_2;
short int *Output_3;
short int *Output_4;
short int *Output_5;
short int *Output_6;
while (true){
ImageIn = get camera raw data;

face_detectionCNN(ImageIn, Output_1, Output_2, Output_3, Output_4, Output_5, Output_6);

SDD3Dto2DSoftmax_80_60_12(Output_1, tmp_buffer_classes, OUTPUT_1_Q, 2);
SDD3Dto2D_80_60_24(Output_4, tmp_buffer_boxes, 0, 0);
Predecoder80_60(tmp_buffer_classes, tmp_buffer_boxes, anchor_layer_1, &bbxs, OUTPUT_4_Q);

SDD3Dto2DSoftmax_40_30_14(Output_2, tmp_buffer_classes, OUTPUT_2_Q, 2);
SDD3Dto2D_40_30_28(Output_5, tmp_buffer_boxes, 0, 0);
Predecoder40_30(tmp_buffer_classes, tmp_buffer_boxes, anchor_layer_2, &bbxs, OUTPUT_5_Q);

SDD3Dto2DSoftmax_20_15_16(Output_3, tmp_buffer_classes, OUTPUT_3_Q, 2);
SDD3Dto2D_20_15_32(Output_6, tmp_buffer_boxes, 0, 0);
Predecoder20_15(tmp_buffer_classes, tmp_buffer_boxes, anchor_layer_3, &bbxs, OUTPUT_6_Q);

convertCoordBboxes(&bbxs, 160, 120);
non_max_suppress(&bbxs);

for(int i = 0; i < bbxs.num_bb; i++){
if (bbxs.bbs[i].w >= 15 && bbxs.bbs[i].h >= 15){
Show red frame;
Control door lock open/close signal;
}
}
}

 

GAPuino搭配PixArt PAJ6100U6攝像頭,應用臉部辨識功能,配置於智能門鎖上,當判別為臉型時,門鎖系統可以判斷是否開門,當距離攝像頭1.4公尺時,發現照片內有臉型就進行開門,下圖為顯示結果,藍色方匡為辨識區域,辨識到臉型後右上方顯紅色區塊。




智能門鎖整體搭配GAPuino與PixArt PAJ6100U6攝像頭,門鎖整體方案於(基于Qualcomm QCA4024 的双模全自动智能门锁Turnkey 方案)將控制線對接至GAPuino開發板上,透過GAPuino做判斷是否開門,目前專案為當發現臉型時驅動門鎖開門,整體圖片如產品應用圖所示。

五、場景應用2

貓/狗臉辨識智慧型餵食器,將TFlite模型抽換為狗或貓模型,並針對模型進行程式碼調整,當辨識到貓或狗才開啟食物閘門,保持飼料新鮮不受潮。



參考資料

PixArt PAJ6100U6

GreenWaves Technologies. 

基于Qualcomm QCA4024 的双模全自动智能门锁Turnkey 方案

卷積神經網路- 維基百科

目标检测|SSD原理与实现- 知乎



►場景應用圖

►展示板照片

►方案方塊圖

►Pixart PAJ6100

►核心技術優勢

1. GAP8晶片內有8個核心運算。 2. GAP8是一顆超低功耗人工智慧(AI)晶片,使用電池即可運作。 3. CNN推論臉型辨識。 4. 支援TensorFlow Lite模型。 5. IoT Edge裝置,Local即可判斷。 6. 無隱私問題,影像不會上傳至雲端。

►方案規格

【GreenWaves GAPuino主板】 1. GAP8晶片8 x 8mm, 0.40mm pitch, 68-pin QFN。 2. Quad SPI 快閃記憶體 256 Mbit、HyperBus 組合 DRAM/快閃記憶體 512 Mbit 快閃記憶體 + 64 Mbit DRAM。 3. 外接攝影機的攝影機連接器。 4. 1 mW 時 200 MOPS,幾十 mW 時大於 8 GOPS。 5. 最小 2 μA 待機電流、整合式設計可降低系統成本。 6. USB 轉 GAP8 JTAG + UART、重置按鈕。 【PixArt PAJ6100 Camera】 1. Global Shutter圖像傳感器技術。 2. 尺寸QVGA 320 x 240。 3. 影格速率30fps。 4. 系統時鐘 6MHz。 5. 支持電壓 VDD33:3.3V、VDD18:1.8V、VDDIO:1.2V~1.8V。 6. 平均運作工耗 1400μW@ 30fps QVGA。

相關影片

GreenWaves GAPuino AI 圖像辨識方案

GreenWaves GAPuino AI 圖像辨識方案