龍芯2K1000+AI,實現自主邊緣計算實例開發

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

開發教程

▶ 環境搭建

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

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


圖片



功能(néng)

描述

CPU

龍芯2K1000處理器

内存

闆載2GB DDR3,主頻400Mhz

BIOS

32Mb SPI FLASH

GPIO

2.54mm間距22路GPIO雙排插針

網絡

1個千兆自協商網口(标準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個片選)

顯示和音頻接口

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

外存

M.2接口 16GB SSD硬盤

電源

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

按鍵

一個硬件複位按鍵

尺寸

100mm*100mm



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

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

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




3. 硬件連接


圖片



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




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



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



圖片


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

├── include:SDK 頭文件

├── lib:SDK 庫和依賴庫

├── bin:SDK 工具

├── 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)目錄下
如果需要重新編譯三方庫,可在 3rdparty 目錄下通過 build 腳本編譯

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

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

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

圖片

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

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

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

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





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

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