物体检测移植到海思的板子上_【EdgeBoard体验】开箱与上手

摘要: 简介 市面上基于嵌入式平台的神经网络加速平台有很多,今天给大家带来是百度大脑出品的EdgeBoard。 按照官网文档 的介绍,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC系列芯片打造的一款深度学习加速套件,也就是比较常 见的利用FPGA进行加速的方案。 开箱 收到的EdgeBoard,是一个淡黄的纸盒子,将其打开,里面... 简介  市面上基于嵌入式平台的神经网络加速平台有很多,今天给大家带来是百度大脑出品的EdgeBoard。 按照官网文档的介绍,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC列芯片打造的一款深度学习加速套件,也就是比较常见的利用FPGA进行加速的方案。 开箱 收到的EdgeBoard,是一个淡黄的纸盒子,将其打开,里面共有四样物品,分别为 •      EdgeBoard本体一块,相比官网上的图片,多出了散热器、风扇以及起到保护作用的亚克力板 •      已经刷好固件的SD卡一张 •      12V2A适配器一个,接头为2P间距为3.81的接线端子 •      MicroUSB线一条  16bc2acf74bfc69fe70b590a35649129.png 6deffec6a36c2fe2f5bf9c220772bd4f.png EdgeBoard板子做工不错,按照官网资料,他分为主板和电源板两部分,加上散热器后组合后的长宽高为120×80×50。 板子具体的硬件资源就不过多介绍了,官方目前也没公布具体硬件框图。 启动系统 将配套SD卡插入电脑,可以发现他已经烧录好了固件,应该是可以直接启动的(官方资料内没有找到烧录SD卡的方式,如果这张卡丢了的话……) 1. 将SD卡插入SD卡槽,使用MicroUSB线连接电脑,设备管理器里会出现USB to UART的设备。 5ac2bc58014f56e8edf1a3271a65c480.png 2. 使用任意串口终端打开串口(以Xshell为例),COM口号设置为设备管理所看到的串口号,其余设置如下 •      BandRate: 115200 •      DataBits:8 •      StopBits:1 •      Parity:None •      FlowControl: None 4d1984b76f8e617f5fbb63314abe851d.png 26223468defc37e254d95a6700b26a42.png 3. 将接线端子连接到电源插座,接通电源适配器,可以看到电源灯亮起,风扇传来了怒吼,这个风扇实测转速为6000转,长时间调试时候,噪音略微明显。 上电后,可以看到串口终端内显示出了boot数据。 981b0fceb4aa1bb07c5b8b28a04ff54f.png

0d568c67593a5cd1d70a1edc8c69cab8.png

可以看到Xilinx特有的FSBL数据,从中可以看出这个板子的基本配置应该是ZCU102的精简版,配备了2G的DRAM。 等待几秒钟后,kernel启动完毕,串口内出现登录信息。

601adb09ded7659ec8ab112b19d3de7a.png

输入用户名root,密码root,即可进入系统,出现了终端标识,代表启动成功。

4382afe20710244fdb8d8e9406932403.png

总结: 系统启动还是比较容易的,不过在启动过程中遇到一个问题,如果插着网线的话,U-Boot会选择从网络启动,会导致系统启动偏慢 配置SSH与SMB开发环境 EdgeBorad已经配置好了SSH终端以及SMB文件共享服务器,也可参照官方使用步骤: https://ai.baidu.com/docs#/EdgeBoard%20quick%20start/23cb95ae 1.    在串口终端查看板子IP

1d9de94bb603b5bac855a72fdae99ebc.png

2. 使用串口读出来的IP,本例中为169.254.1.162即可连接上SSH与SMB。 本地输入: \169.254.1.162 即可访问edgeboard文件。 Win7系统需要注意一些配置,具体请查看Edgeboard使用说明。 ddf7de19dd41c97ebc2fcf793174951d.png 总结: 环境都配置好了,上手还是很简单,在用户目录下发现存在.xfce4的配置文件,莫非带了图形界面? 手头没有DP线,后面会试试。 EasyDL+EdgeBoard搭建带性别检测的人脸识别模型 Edge的卖点之一,就是支持导入EasyDL生成的模型,EasyDL平台是一个使用几十、几百张图片就能训练出一个效果还不错的模型训练平台,官方宣称,对于不了解深度学习用户,可以仅仅依靠可视化操作即可完成深度学习训练。 1. 登录EasyDl官网创建物体检测模型 http://ai.baidu.com/easydl/。 01d513893df8bbba8430d16f10d60710.png 2. 创建训练的数据集,本次测试在百度新闻里抓取了20张包含人脸的图片。 461322cbfe01587c40dbe02f6740a6a2.png 3. 数据集标注,Easydl支持在线标注,只需选中图片用鼠标在图片上拉出一个框即可。 4771008ee0eb747e69c9724f4d42f4d6.png 4. 数据集标注完成后即可训练模型,由于要测试的模型是基于SSD的目标检测,所以此次选中精度较低模型。 (高精度是基于RetinaNet的模型),点击开始训练,大概需要30分钟左右,即可训练完成。 e48b8ea64cb6bbbc61e8b76fc1c31129.png 5. 在线校验模型,训练完成后点击校验模型,可以查看测试模型训练效果。 此次发现误识别一个女生为男生,猜测大概是训练集太小,不过人脸识别功能到是没问题。 b50b99a73a67003b3be0eaf965d55b89.png 6. 模型导出: 由于Easydl还没正式发布模型导出功能,因此此次是通过联系后台人员导出的模型。 7. 将Easydl导出的模型,通过SMB传输到EdgeBoard内替换原有的params、model.encrypted: \169.254.1.162\roothome\workspace\sample\sample_easydl\model 5beb2d67c5f1758c46984177ea52c5a1.png 8. 重新编译模型,步骤如下:

bef7ff55d555ead92d52c791e95d48ab.png

1d019336c3c7243c0a22fae04b5008f4.png

9. 编程成功之后,运行预测程序。

19aaf8515d8dd463a3e4c4767b61e881.png

1705a8e59efb719ede66f7f79405eeb3.png

10. 查看图片输出结果。 打开\169.254.1.162\roothome\workspace\sample\sample_easydl\build\result.jpg和命令行预测出的四个目标一致,这里由于没有调整阈值所以检测出来四个框。 d4952b5d607320067fb7d5ce77a51664.png 总结: 本次是创建了一个简单的Easydl模型并且数据集准备的也小,所以精度不是很高,从可用性和快速部署方面Edgeboard和Easydl的结合可以帮助我们快速开发相关应用产品。 运行usb摄像头输入预测示例 通过官方文档,发现板子支持USB摄像头以及海思的IPC摄像头接口,翻箱倒柜找到了两个摄像头接下来我们就试试用USB摄像头进行实时的输入检测。 1. 连接设备 直接将摄像头插入到底板的USB口上即可 f9a030b0a8586070618c2e758be57444.png 2. 在开发板中,附带了usb摄像头的驱动与示例工程,依次执行以下命令

c9910773a0107b52279c59e8e6a27414.png

3. 执行预测命令

285a3e0094e5bd909399d7cb26b08439.png

输出结果如下: 可以看到实时的检测结果,输出格式为目标的位置,如下图所示 7d3dd98672c698e2a51a99eeac533024.png 总结: 本次是通过命令行方式进行的USB摄像头测试,并输出每一帧的目标检测结果,实时性能达到10FPS,效果还不错。 但是随机附带的例程并没有实时可视化的功能,我们没能看到实际预测的结果,比较遗憾。 运行海思ipc摄像头输入预测示例 1. 连接设备,将海思IPC摄像头排线插入插槽内,上电后,摄像头电源指示灯会一并亮起 66eedbcca971510793f0ae745ab00fd2.png 2. 依次执行以下命令

97b20a5e0457c8834bbe3deed41da4ae.png

3. 执行预测命令

f14036c7cca91f62f78c48883653be13.png

输出结果如下: 可以看到实时的检测结果,例程里无可视化图片生成,下一步先测试一下摄像头采集地效果。 4aa67c17e64348313c508048f374cd94.png 4. 查看摄像头采集图片可视化图

c812380d0d586c67a55a86c213436c82.png

e948e6c3ed0ae4f493bef8b3bbd6a15c.png

总结: 海思ipc摄像头使用方法与USB基本一致,还是有个共同的缺点,没有办法进行实时的可视化效果,无法直观观察到模型运行的效果。 感受 经过一周的试用,对EdgeBoard也有了初步的了解,总体来说: 优点    1.自带环境丰富,无需配置交叉编译环境即可使用。    2.默认的smb+ssh环境基本满足了开发需求,实现了到手即用。    3.与EasyDL结合后,进行目标分类or目标检测的嵌入式集成基本做到了傻瓜化,模型训练容易上手。    4.从上手来看,EdgeBoard作为一个异构的ARM+FPGA加速平台,基本上做到了无需了解嵌入式与FPGA的程度即可使用 缺点    1.板子试用摄像头,缺乏可视化环境,如果可以实现一个小的流媒体服务器或使用DP接口输出,对模型效果的评估可能可以更加直观。    2.风扇噪音较大,在室内长时间开发还是略微吵闹,可能因为没有开发调速策略导致。    3.部分win7系统修改系统策略后,仍然无法正常使用SMB连接目标板,希望后续版本可以移植SFTP后续会尝试一下一些已有模型,深度挖掘一下这块板子的功能 关于云创硬见

云创硬见是国内最具特色的电子工程师社区,融合了行业资讯、社群互动、培训学习、活动交流、设计与制造分包等服务,以开放式硬件创新技术交流和培训服务为核心,连接了超过30万工程师和产业链上下游企业,聚焦电子行业的科技创新,聚合最值得关注的产业链资源, 致力于为百万工程师和创新创业型企业打造一站式公共设计与制造服务平台。

cb2972fe52ba59f16e11406cca1b5a66.png 735b19ed5bfe07ac0500dccfffbdabe9.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值