龙芯2K1000+AI,实现自主边缘计算实例开发

 技术方案     |      2021-08-19 09:00:23    |      小编
边缘计算、人工智能是电子信息领域的研究和应用热点,使用龙芯2K1000配合松科智能国产神经网络加速棒,可以实现在嵌入式边缘计算领域的AI算力支撑。

开发教程

▶ 环境搭建

1. 设备准备
龙芯2K1000设备采用了龙芯教育派作为主控硬件平台,实现用户端配置功能龙芯教育派是基于龙芯2K1000处理器的软硬件全开源教育产品。

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


尊龙凯时(中国区)人生就是搏!_活动8862



功能

描述

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,是一款自主的、高性能的、通用神经网络加速棒。同时支持 X86 平台、ARM 平台、龙芯平台等主流平台的运行。其内置 CNN 网络加速引擎,可以实现高性能、低功耗的 CNN 网络模型的加速。TPU 架构设计先进,可以高效完成多路动态视频流的人脸检测、跟踪、特征提取和识别,高效支持墨镜、口罩、性别、年龄等属性检测,提供强大的可编程运算能力,满足 CNN 算法实时性处理的运算要求。其内置芯片有自定义指令集和编程框架,除可运行人脸识别算法外,还支持其他主流的CNN 算法移植,包括服装识别、表情识别、背包识别等。同时也支持其他计算机视觉 CNN 算法移植和应用。

尊龙凯时(中国区)人生就是搏!_首页5989
2. 电源要求
龙芯教育派可以为加速棒供电,教育派功耗在8W左右,加速棒功耗在3W左右,电源可以使用5V 3A的快充Type-C电源供电,这次使用的是小米的快充。

龙芯教育派和松科智能TPU已完成兼容适配认证并上线电商平台ICeasy,可以直接访问www.iceasy.com购买。




3. 硬件连接


尊龙凯时(中国区)人生就是搏!_产品4396



先连接 HDMI 显示接口,再接入 USB 摄像头和加速棒,尽量避免热插拔,接入完后再上电操作。




4.软件部署
本次部署预设的人脸识别SDK,用户也可以自行训练模型后进行部署。
参考资料可以访问
http://community.gdsoke.com/#/?index=0



(1)加速棒人脸识别SDK DEFaceR 目录结构如下



尊龙凯时(中国区)人生就是搏!_image971


├── 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)部署芯片侧组件
将芯片板接到主控上,根据芯片硬件模块类型烧写芯片固件版本 。短接电路板上跳帽,重启,执行 # sh burn_nand.sh mini-pcie等待到提示 download dp1000 -> OK 时,拔掉短接跳帽,重启,等待 1 分钟后, lsusb 能看到 Linux-USB "Gadget Zero"设备 。

(**此步骤在TPU出厂前已经完成,正常情况下用户不需执行以上操作)

执行部署脚本,将芯片侧组件传输到芯片侧 # sh deploy.sh。
DEFaceR 目录下使用 sh deploy.sh 命令部署模型:

尊龙凯时(中国区)人生就是搏!_项目3379

5.运行Demo
配置参数,打开 build/$(HOST_CPU)目录下有个 setting.ini,根据提示修改需要的配置 参数 部署完,运行命令 sh run.sh 启动 Demo 等待加载。

尊龙凯时(中国区)人生就是搏!_产品4961
为便于展示识别功能,demo 程序提供了人员入库途径,用户可以将照片拷贝至 build/$(HOST_CPU)/face_image 目录下,当 demo 程序启动时,会遍历 build/$(HOST_CPU)/face_image 目录 如果存在照片,则以文件名(不包含后缀,程序内部会自动去掉后缀)为人员姓名入 库, 入库成功的照片会被拷贝至 build/$(HOST_CPU)/face_image/ok 目录,否则拷贝至 build/$(HOST_CPU)/face_image/error 目录。如果入库失败,则说明照片不符合要求。

常见的照片问题如下:
A.无法检测到人脸 
B.人脸太小,小于 100 个像素
C.人脸模糊不清

入库成功的人员信息保存在 build/$(HOST_CPU)/facedb.db 数据库文件中,下次启动就不用重新入库,同时也可以通过删除 build/$(HOST_CPU)/facedb.db 文件来清库。





Tag: AI 2K1000 人脸识别 人工智能 机器视觉
尊龙凯时(中国区)人生就是搏!_项目194
分享上面的二维码给朋友,即可直达此页!