天天看點

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

簡介

GreenWaves Technologies在GAP8上移植了AliOS Things, 并釋出了一個全棧級人臉識别應用(包含訓練架構,資料集,以及針對GAP8的移植,現可運作在GAPoC機器視覺參考設計闆上)。該人臉識别應用由人臉檢測和人臉識别兩套算法組成:人臉檢測采用的是Viola-Jones經典人臉檢測算法,人臉識别則基于SqueezeNet卷積神經網絡來得以實作。此應用示範了GAP8如何在極低的功耗下靈活地運作不同的算法。

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

啟動後,該應用不停通過攝像頭采集圖像,并用人臉檢測算法在圖像中尋找人臉。直到檢測到一張人臉後,人臉識别算法才會啟動。使用者也可使用PIR傳感器來喚醒晶片,并執行人臉檢測,這樣可以進一步減小系統在無人情況下的功耗。當人臉被檢測到,人臉檢測算法會輸出人臉在圖像中的坐标資訊。提取人臉圖像并将其大小調整至128像素×128像素。此圖像為人臉識别算法模型的輸入,經過模型推理過後,模型将提取并輸出512個16bits,即1KB的特征參數。

在學習過程中,這些特征參數可通過藍牙,被傳輸至手機安卓APP上,并完成标注。标注後的參數将被存儲在本地資料庫中。當同一張臉再一次經過該神經網絡推理後,則會産生一套1KB的特征參數。經過和本地資料庫中參數進行比對,從中選出相關度最高的或沒有資料庫中無比對人臉,則可實作本地對的人臉識别。

該應用基于一款QVGA(320*240像素)分辨率的攝像頭。人臉檢測部分功耗約1毫瓦/幀,每秒最多可處理約70幀。

人臉識别神經網絡功耗約為22毫瓦/幀/秒。此神經網絡隻有在人臉被檢測到後才會啟動,約需要400毫秒完成識别。此神經網絡在Labelled Faces in the Wild dataset (LFW)資料集上達到了96%的準确率。(

Link

)

得益于其低功耗的特點,該人臉識别方案可被內建到大量不同的物聯網裝置中而對裝置的電池壽命影響微乎其微。

得益于AliOS Things, 使用者可以通過使用不同的傳輸模組,如LoRa, BLE等與阿裡雲進行連接配接,更好地進行資訊背景管理,裝置管理以及擷取各種日志服務。

GreenWaves正式釋出了整個人臉識别應用,包括訓練腳本、基于BSD開源許可的GAP AutoTiler模型。可通路如下連結擷取全部資料:

https://github.com/GreenWaves-Technologies/AliOS-Things/tree/gap8_rel3.0.0_demos/app/example/gap_face_reid

硬體平台介紹

該應用算法主要基于GreenWaves Technologies的第一代物聯網應用處理器 – GAP8。GAP8是一款多核可程式設計超低功耗應用處理器,旨在為物聯網邊緣端(傳感器端)提供新一代超低功耗應用平台,用于将圖像,聲音等複雜資訊在本地即完成一些較複雜運算,如卷積神經網絡推理等。人臉識别應用現支援公司提供的GAPoC A型計算機視覺參考設計闆,其他闆卡也會陸續支援開放。

GAPoC A參考設計闆上載有主要元器件有:

  • GAPMod 核心闆:
    • GAP8 晶片
    • HyperRAM: 64Mbit
    • HyperFlash: 512Mbit
  • On Semiconductor MT9V034 攝像頭
    • 最高分辨率:Wide-VGA (752 H x 480 V)
    • 輸出:灰階圖 (NIR增強)
    • 接口:CPI并口

硬體平台配套手冊與原理圖連結:

https://pan.baidu.com/s/11zt0UcIl77QA9OMbWblC8w

提取碼:h8mk

該展示應用其他相關硬體

• Adafruit 2.8 TFT顯示屏 (SPI接口)

• 按鍵相關元器件

• 基于安卓的智能手機

硬體配置

基于GAPoC A的人臉識别參考設計套件在傳遞時已完成後述硬體預設配置。使用者可以根據自己項目需求來修改配置, 相關闆卡詳細介紹,敬請下載下傳并閱讀上文手冊。

GAPoC A型闆撥碼開關配置:

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

顯示屏連接配接:

顯示子產品通過以下方法連接配接到GAPoc A闆的Conn3接口

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

注意:該闆卡不提供5V接口,可用3.3V接口為螢幕供電。

AliOS Things環境搭建

此釋出版本基于AliOS Things rel 3.0.0版本,GreenWaves基于此版本完成了AliOS Things在GAP8晶片及GAPoC A闆卡的移植:

https://github.com/GreenWaves-Technologies/AliOS-Things

(該版本正在送出,測試,完成AliOS認證流程。認證後,代碼将回流至AliOS Things主枝)

環境依賴:

該版本現隻支援Linux作業系統,其依賴的主要工具有:

  1. AOS Cube: AliOS Things 工具集,是一套基于 python 的指令行工具集合,涵蓋 OS 鏡像的編譯建構,工具鍊及元件庫的管理以及基礎設施相關腳本等等。該工具在Linux下的安裝與配置請參考: https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-Linux-Environment-Setup?spm=a2c6h.13066369.0.0.6e2e6e72iv6TOJ
  2. GAP8編譯鍊工具: https://github.com/GreenWaves-Technologies/gap_riscv_toolchain_ubuntu_18
  3. OpenOCD燒寫工具: https://github.com/GreenWaves-Technologies/gap8_openocd

下載下傳,安裝與配置:

  1. 編譯鍊工具下載下傳與安裝:
  2. clone https://github.com/GreenWaves-Technologies/gap_riscv_toolchain_ubuntu_18.git

cd gap_riscv_toolchain_ubuntu_18

./install.sh

  1. OpenOCD 下載下傳與安裝:
  2. https://github.com/GreenWaves-Technologies/gap8_openocd.git

cd gap8_openocd

./bootstrap

./configure && make

sudo make install

如不想安裝進系統預設位置,則用此指令代替上述configure:

./configure --prefix=/YOUR/PATH/

AliOS Things (GAP8版本)下載下傳

git clone

https://github.com/GreenWaves-Technologies/AliOS-Things.git

環境配置與應用編譯

所有的環境配置與編譯過程均基于aos工具套件,指令與步驟如下:

  1. aos make menuconfig
    《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:
  2. 如下圖所示, 在界面中選擇Applications -> Builtin Examples -> Select example -> gap_face_reid
    《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:
  3. 按ESC回到第第一個界面,并且配置BSP,選擇gapoc_a平台: BSP -> GAPOC_A
    《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:
  4. 儲存退出,并執行編譯:
  5. make clean && aos make

以上指令與配置也可使用以下指令代替:

aos make gap_face_reid@gapoc_a -c config && aos make

編譯完成後,工具将編譯所生成的二進制可執行檔案及檔案系統等置于:AliOS-Things/out/gap_face_reid@gapoc_a/binary

闆卡燒寫與人臉識别應用測試

闆卡的硬體連接配接

  1. 将闆卡jtag接口與下載下傳器進行連接配接, 并通過USB連接配接電腦。 使用者可根據openOCD介紹,選擇jtag下載下傳器 (
  2. 通過闆卡電源接口,或通過電池(3.6V AA電池),打開電源開關為GAPoC A闆卡供電。
  3. 通過指令進行燒寫并在闆卡上執行:
  4. upload

人臉識别應用測試

當上述步驟完成後,程式即已執行在GAP8中,并進入了檢測模式

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

在第一次執行時,由于資料庫中沒有人臉,算法會将所有人識别為陌生人(Stranger), 如下圖所示:

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

但這些陌生人臉特征将暫時性地儲存在晶片中。按下下圖中所示按鈕,應用将進入配置模式(人臉标注模式):

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

該模式将使用藍牙模組,等待與手機APP相連接配接。在手機上打開該APP:

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

點選“scan”使用APP掃描該裝置, app将列出附近檢測到的藍牙裝置。

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

在裝置清單中選擇“GreenWaves-GAPOC”,等待裝置連接配接。

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

裝置連接配接後,點選“REFRESH”, 裝置将将所有陌生人的圖檔傳輸到APP上。等待所有圖檔傳輸完成後,選擇并點選效果最好的圖檔,并為其命名。

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

命名後點選“Remember”, 将标注資訊儲存。剩餘不需要的圖檔,可點選“Drop”丢棄。

完成以上操作後,點選disconnect, 裝置将自動進入“識别”模式

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

APP連結:

https://pan.baidu.com/s/1QpuZJ8WFMm34upuyxRh0Pg

提取碼:FHk3

以上操作,也可參考該應用展示視訊:

https://www.bilibili.com/video/av82386972

GreenWaves Technologies 與GAP8晶片簡介:

GreenWaves Technologies 是一家成立于2014年的無晶圓半導體初創公司。旨在為圖像,聲音,以及震動等邊緣傳感裝置賦予超低功耗邊緣計算能力,實作超低功耗嵌入式人工智能。 公司以物聯網市場智能化為己任,為市場提供超低功耗與超高能效的嵌入式人工智能物聯網平台。其業界首款物聯網應用處理器--GAP8,讓長期依賴電池完成人工智能推理運算的應用成為可能。

GAP8物聯網應用處理器采用台積電55nm超低功耗制程,以緻于讓長期依賴電池供電的邊緣裝置可以智能化。作為全球首款物聯網應用處理器,GAP8采用八加一個基于RISC-V的高效核心的方式設計,并植入了自己的擴充指令集(DSP,向量化, SIMD,複數運算等),這讓它擁有極緻的能效架構。GAP8晶片内內建了電源管理等功能。GreenWaves為整個SoC設定了五種工作模式,讓電壓和頻率可以實時動态調整到最優狀态,能效上可以實作20倍優于市場現有同類産品。

更多資訊,敬請通路:

http://greenwaves-technologies.com/

支援郵箱:[email protected]

釘釘技術支援與交流群号:30002134

《GAP8人工智能物聯網晶片》:毫瓦級人臉識别 – 識别篇簡介硬體平台介紹AliOS Things環境搭建GreenWaves Technologies 與GAP8晶片簡介:

套件購買:請通過網站,釘釘群聯系我們。

線上購買平台即将開放,敬請期待,如有任何不便,敬請諒解。