龍芯2K1000+AI,實現自主邊緣計算實例開(kāi)發

 技術方案     |      2021-08-19 09:00:23    |      小(xiǎo)編
邊緣計算、人工(gōng)智能是電(diàn)子信息領域的研究和應用熱點,使用龍芯2K1000配合松科智能國産神經網絡加速棒,可以實現在嵌入式邊緣計算領域的AI算力支撐。

開(kāi)發教程

▶ 環境搭建

1. 設備準備
龍芯2K1000設備采用了龍芯教育派作爲主控硬件平台,實現用戶端配置功能龍芯教育派是基于龍芯2K1000處理器的軟硬件全開(kāi)源教育産品。

詳情可訪問 http://www.loongnix.cn/index.php/%E9%BE%99%E8%8A%AF%E6%95%99%E8%82%B2%E6%B4%BE


圖片



功能

描述

CPU

龍芯2K1000處理器

内存

闆載2GB DDR3,主頻(pín)400Mhz

BIOS

32Mb SPI FLASH

GPIO

2.54mm間距22路GPIO雙排插針

網絡

1個千兆自協商(shāng)網口(标準RJ45)

USB

2路USB2.0,2路USB3.0

EJTAG

1個EJTAG調試接口(預留)

接口

2路CAN接口,4路串口(LVTTL*3,RS232*1),4路PWM,2路I2C,1路SPI(2個片選)

顯示和音頻(pín)接口

1路HDMI(TYPE A接口) br 1路3.5mm國際的音頻(pín)輸入/輸出接口

外(wài)存

M.2接口 16GB SSD硬盤

電(diàn)源

5V,至少2A,TYPE C接口

按鍵

一(yī)個硬件複位按鍵

尺寸

100mm*100mm



SKTPU1000 1V0 TPU,是一(yī)款自主的、高性能的、通用神經網絡加速棒。同時支持 X86 平台、ARM 平台、龍芯平台等主流平台的運行。其内置 CNN 網絡加速引擎,可以實現高性能、低功耗的 CNN 網絡模型的加速。TPU 架構設計先進,可以高效完成多路動态視頻(pín)流的人臉檢測、跟蹤、特征提取和識别,高效支持墨鏡、口罩、性别、年齡等屬性檢測,提供強大(dà)的可編程運算能力,滿足 CNN 算法實時性處理的運算要求。其内置芯片有自定義指令集和編程框架,除可運行人臉識别算法外(wài),還支持其他主流的CNN 算法移植,包括服裝識别、表情識别、背包識别等。同時也支持其他計算機視覺 CNN 算法移植和應用。

圖片
2. 電(diàn)源要求
龍芯教育派可以爲加速棒供電(diàn),教育派功耗在8W左右,加速棒功耗在3W左右,電(diàn)源可以使用5V 3A的快充Type-C電(diàn)源供電(diàn),這次使用的是小(xiǎo)米的快充。

龍芯教育派和松科智能TPU已完成兼容适配認證并上線電(diàn)商(shāng)平台ICeasy,可以直接訪問www.iceasy.com購買。




3. 硬件連接


圖片



先連接 HDMI 顯示接口,再接入 USB 攝像頭和加速棒,盡量避免熱插拔,接入完後再上電(diàn)操作。




4.軟件部署
本次部署預設的人臉識别SDK,用戶也可以自行訓練模型後進行部署。
參考資(zī)料可以訪問
http://community.gdsoke.com/#/?index=0



(1)加速棒人臉識别SDK DEFaceR 目錄結構如下(xià)



圖片


├── 3rdparty:三方庫源碼和安裝文件

├── include:SDK 頭文件

├── lib:SDK 庫和依賴庫

├── bin:SDK 工(gōng)具

├── dp1000:dp1000 芯片側組件

├── build:demo 應用

├── src:demo 源碼

├── deploy.sh:部署芯片側組件腳本

├── run.sh:運行 demo 程序腳本

└── ReadMe.txt:本文件



(2)環境設置
由于 host 與 device 之間通訊需要操作權限,所以首先需要切換到 root 用戶 把 DEFaceR 固件包拷貝在教育派上,cd DEFaceR 目錄輸入 su 進入 root 權限
需要先聲明環境變量 HOST_CPU,HOST_CPU 取決于 host 側 CPU 類型,例如 CPU 爲 loongson,則可以執行:# export HOST_CPU=loongson

(3)編譯 demo
在根目錄執行 make 直接編譯,應用程序安裝在 build/$(HOST_CPU)目錄下(xià)
如果需要重新編譯三方庫,可在 3rdparty 目錄下(xià)通過 build 腳本編譯

(4)部署芯片側組件
将芯片闆接到主控上,根據芯片硬件模塊類型燒寫芯片固件版本 。短接電(diàn)路闆上跳帽,重啓,執行 # sh burn_nand.sh mini-pcie等待到提示 download dp1000 -> OK 時,拔掉短接跳帽,重啓,等待 1 分(fēn)鍾後, lsusb 能看到 Linux-USB "Gadget Zero"設備 。

(**此步驟在TPU出廠前已經完成,正常情況下(xià)用戶不需執行以上操作)

執行部署腳本,将芯片側組件傳輸到芯片側 # sh deploy.sh。
DEFaceR 目錄下(xià)使用 sh deploy.sh 命令部署模型:

圖片

5.運行Demo
配置參數,打開(kāi) build/$(HOST_CPU)目錄下(xià)有個 setting.ini,根據提示修改需要的配置 參數 部署完,運行命令 sh run.sh 啓動 Demo 等待加載。

圖片
爲便于展示識别功能,demo 程序提供了人員(yuán)入庫途徑,用戶可以将照片拷貝至 build/$(HOST_CPU)/face_image 目錄下(xià),當 demo 程序啓動時,會遍曆 build/$(HOST_CPU)/face_image 目錄 如果存在照片,則以文件名(不包含後綴,程序内部會自動去(qù)掉後綴)爲人員(yuán)姓名入 庫, 入庫成功的照片會被拷貝至 build/$(HOST_CPU)/face_image/ok 目錄,否則拷貝至 build/$(HOST_CPU)/face_image/error 目錄。如果入庫失敗,則說明照片不符合要求。

常見的照片問題如下(xià):
A.無法檢測到人臉 
B.人臉太小(xiǎo),小(xiǎo)于 100 個像素
C.人臉模糊不清

入庫成功的人員(yuán)信息保存在 build/$(HOST_CPU)/facedb.db 數據庫文件中(zhōng),下(xià)次啓動就不用重新入庫,同時也可以通過删除 build/$(HOST_CPU)/facedb.db 文件來清庫。





Tag: AI 2K1000 人臉識别 人工(gōng)智能 機器視覺

分(fēn)享上面的二維碼給朋友,即可直達此頁!