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

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

開(kāi)發教程

▶ 環境搭建

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

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


圖片



功能

描述

CPU

龍芯2K1000處理器

內(nèi)存

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

BIOS

32Mb SPI FLASH

GPIO

2.54mm間距22路GPIO雙排插針

網絡

1個(gè)千兆自(zì)協商網口(标準RJ45)

USB

2路USB2.0,2路USB3.0

EJTAG

1個(gè)EJTAG調試接口(預留)

接口

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

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

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

外存

M.2接口 16GB SSD硬盤

電源

5V,至少(shǎo)2A,TYPE C接口

按鍵

一(yī)個(gè)硬件(jiàn)複位按鍵

尺寸

100mm*100mm



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

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

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




3. 硬件(jiàn)連接


圖片



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




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



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



圖片


├── 3rdparty:三方庫源碼和安裝文件(jiàn)

├── include:SDK 頭文件(jiàn)

├── lib:SDK 庫和依賴庫

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

├── dp1000:dp1000 芯片側組件(jiàn)

├── build:demo 應用

├── src:demo 源碼

├── deploy.sh:部署芯片側組件(jiàn)腳本

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

└── ReadMe.txt:本文件(jiàn)



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

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

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

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

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

圖片

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

圖片
為便于展示識别功能,demo 程序提供了人(rén)員入庫途徑,用戶可以将照(zhào)片拷貝至 build/$(HOST_CPU)/face_image 目錄下(xià),當 demo 程序啟動時,會(huì)遍曆 build/$(HOST_CPU)/face_image 目錄 如果存在照(zhào)片,則以文件(jiàn)名(不(bù)包含後綴,程序內(nèi)部會(huì)自(zì)動去掉後綴)為人(rén)員姓名入 庫, 入庫成功的照(zhào)片會(huì)被拷貝至 build/$(HOST_CPU)/face_image/ok 目錄,否則拷貝至 build/$(HOST_CPU)/face_image/error 目錄。如果入庫失敗,則說(shuō)明(míng)照(zhào)片不(bù)符合要求。

常見(jiàn)的照(zhào)片問(wèn)題如下(xià):
A.無法檢測到人(rén)臉 
B.人(rén)臉太小,小于 100 個(gè)像素
C.人(rén)臉模糊不(bù)清

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





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

分享上面的二維碼給朋友,即可直達此頁!