0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【EdgeBoard体验】开箱与上手

云创硬见 2019-09-04 10:45 次阅读

摘要:简介 市面上基于嵌入式平台的神经网络加速平台有很多,今天给大家带来是百度大脑出品的EdgeBoard。按照官网文档 的介绍,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC系列芯片打造的一款深度学习加速套件,也就是比较常 见的利用FPGA进行加速的方案。 开箱 收到的EdgeBoard,是一个淡黄的纸盒子,将其打开,里面...

简介

市面上基于嵌入式平台的神经网络加速平台有很多,今天给大家带来是百度大脑出品的EdgeBoard。按照官网文档的介绍,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC列芯片打造的一款深度学习加速套件,也就是比较常见的利用FPGA进行加速的方案。

开箱

收到的EdgeBoard,是一个淡黄的纸盒子,将其打开,里面共有四样物品,分别为

  • EdgeBoard本体一块,相比官网上的图片,多出了散热器、风扇以及起到保护作用的亚克力板

  • 已经刷好固件的SD卡一张

  • 12V2A适配器一个,接头为2P间距为3.81的接线端子

  • MicroUSB线一条

EdgeBoard板子做工不错,按照官网资料,他分为主板和电源板两部分,加上散热器后组合后的长宽高为120×80×50。板子具体的硬件资源就不过多介绍了,官方目前也没公布具体硬件框图。

启动系统

将配套SD卡插入电脑,可以发现他已经烧录好了固件,应该是可以直接启动的(官方资料内没有找到烧录SD卡的方式,如果这张卡丢了的话……)

1. 将SD卡插入SD卡槽,使用MicroUSB线连接电脑,设备管理器里会出现USB to UART的设备。

2. 使用任意串口终端打开串口(以Xshell为例),COM口号设置为设备管理所看到的串口号,其余设置如下

  • Band Rate: 115200

  • Data Bits:8

  • Stop Bits:1

  • Parity: None

  • Flow Control: None

3. 将接线端子连接到电源插座,接通电源适配器,可以看到电源灯亮起,风扇传来了怒吼,这个风扇实测转速为6000转,长时间调试时候,噪音略微明显。上电后,可以看到串口终端内显示出了boot数据。

XilinxZynqMPFirstStageBootLoaderRelease2017.4Apr232019-13:19:54NOTICE:ATFrunningonXCZU9EG/siliconv4/RTL5.1at0xfffea000,withPMUfirmwareNOTICE:BL31:Securecodeat0x0NOTICE:BL31:Nonsecurecodeat0x8000000NOTICE:BL31:v1.3(release):47af34bNOTICE:BL31:Built:04:10:38,Apr232019U-Boot2017.01(Apr232019-12:20:25+0800)XilinxZynqMPZCU102revBforOpenAiI2C:readyDRAM:2GiBELLevel:EL2ChipID:xczu9egMMC:sdhci@ff160000:0(eMMC),sdhci@ff170000:1(SD)readinguboot.env

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

PetaLinux2017.4edge_board/dev/ttyPS0edge_boardlogin:

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

root@edge_board:~#

总结:系统启动还是比较容易的,不过在启动过程中遇到一个问题,如果插着网线的话,U-Boot会选择从网络启动,会导致系统启动偏慢

配置SSH与SMB开发环境

EdgeBorad已经配置好了SSH终端以及SMB文件共享服务器,也可参照官方使用步骤:https://ai.baidu.com/docs#/EdgeBoard%20quick%20start/23cb95ae

1. 在串口终端查看板子IP

root@edge_board:~#ifconfigeth0Linkencap:EthernetHWaddr00:0a:35:00:00:09inet6addr:fe80::20a:35ff:fe00:9/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:39errors:0dropped:0overruns:0frame:0TXpackets:122errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:4964(4.8KiB)TXbytes:25813(25.2KiB)Interrupt:30eth0:avahiLinkencap:EthernetHWaddr00:0a:35:00:00:09inetaddr:169.254.1.162Bcast:169.254.255.255Mask:255.255.0.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
Interrupt:30loLinkencap:LocalLoopbackinetaddr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUPLOOPBACKRUNNINGMTU:65536Metric:1RXpackets:2errors:0dropped:0overruns:0frame:0TXpackets:2errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1RXbytes:140(140.0B)TXbytes:140(140.0B)

2. 使用串口读出来的IP,本例中为169.254.1.162即可连接上SSH与SMB。本地输入:\169.254.1.162 即可访问edgeboard文件。Win7系统需要注意一些配置,具体请查看Edgeboard使用说明。

总结:环境都配置好了,上手还是很简单,在用户目录下发现存在.xfce4的配置文件,莫非带了图形界面?手头没有DP线,后面会试试。

EasyDL+EdgeBoard搭建带性别检测的人脸识别模型

Edge的卖点之一,就是支持导入EasyDL生成的模型,EasyDL平台是一个使用几十、几百张图片就能训练出一个效果还不错的模型训练平台,官方宣称,对于不了解深度学习用户,可以仅仅依靠可视化操作即可完成深度学习训练。

1. 登录EasyDl官网创建物体检测模型 http://ai.baidu.com/easydl/。

2. 创建训练的数据集,本次测试在百度新闻里抓取了20张包含人脸的图片。

3. 数据集标注,Easydl支持在线标注,只需选中图片用鼠标在图片上拉出一个框即可。

4. 数据集标注完成后即可训练模型,由于要测试的模型是基于SSD的目标检测,所以此次选中精度较低模型。(高精度是基于RetinaNet的模型),点击开始训练,大概需要30分钟左右,即可训练完成。

5. 在线校验模型,训练完成后点击校验模型,可以查看测试模型训练效果。此次发现误识别一个女生为男生,猜测大概是训练集太小,不过人脸识别功能到是没问题。

6. 模型导出:由于Easydl还没正式发布模型导出功能,因此此次是通过联系后台人员导出的模型。7. 将Easydl导出的模型,通过SMB传输到EdgeBoard内替换原有的params、model.encrypted:

\169.254.1.162\roothome\workspace\sample\sample_easydl\model

8. 重新编译模型,步骤如下:

insmod/home/root/workspace/driver/fpgadrv.kocd/home/root/workspace/sample/sample_easyd//如果没有build目录,创建一个mkdirbuildcdbuildrm-rf*cmake..make

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

a、在网络上随意下载一张人物图,修改名字为1.jpg并替换\\169.254.1.162\roothome\workspace\sample\sample_easydl\image内的原有图片。b.执行./paddle_edgeboard

10. 查看图片输出结果。 打开\169.254.1.162\roothome\workspace\sample\sample_easydl\build\result.jpg和命令行预测出的四个目标一致,这里由于没有调整阈值所以检测出来四个框。

总结:本次是创建了一个简单的Easydl模型并且数据集准备的也小,所以精度不是很高,从可用性和快速部署方面Edgeboard和Easydl的结合可以帮助我们快速开发相关应用产品

运行usb摄像头输入预测示例

通过官方文档,发现板子支持USB摄像头以及海思的IPC摄像头接口,翻箱倒柜找到了两个摄像头接下来我们就试试用USB摄像头进行实时的输入检测。

1. 连接设备

直接将摄像头插入到底板的USB口上即可

2. 在开发板中,附带了usb摄像头的驱动与示例工程,依次执行以下命令

//查看设备文件是否产生,正常是/dev/video2ls/dev/video*insmod/home/root/workspace/driver/fpgadrv.kocd/home/root/workspace/sample/sample_usbmkdirbuildcdbuildrm-rf*cmake..make

3. 执行预测命令

./paddle_edgeboard

输出结果如下:可以看到实时的检测结果,输出格式为目标的位置,如下图所示

总结:本次是通过命令行方式进行的USB摄像头测试,并输出每一帧的目标检测结果,实时性能达到10FPS,效果还不错。但是随机附带的例程并没有实时可视化的功能,我们没能看到实际预测的结果,比较遗憾。

运行海思ipc摄像头输入预测示例

1. 连接设备,将海思IPC摄像头排线插入插槽内,上电后,摄像头电源指示灯会一并亮起

2. 依次执行以下命令

insmod/home/root/workspace/driver/fpgadrv.kosudochmod+x/home/root/workspace/driver/media-ctl/home/root/workspace/driver/media-ctl-v-f'"a0010000.v_tpg":0[fmt:SRGGB8/1920x1080field:none]'cd/home/root/workspace/sample/sample_bt1120mkdirbuildcdbuildrm-rf*cmake..make

3. 执行预测命令

./paddle_edgeboard

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

4. 查看摄像头采集图片可视化图

ls/dev/video*/dev/video0/dev/video1insmod/home/root/workspace/driver/fpgadrv.kosudochmod+x/home/root/workspace/driver/media-ctl/home/root/workspace/driver/media-ctl-v-f'"a0010000.v_tpg":0[fmt:SRGGB8/1920x1080field:none]'cd/home/root/workspace/tools/bt1120/mkdirbuildcdbuildcmake..make./bt1120

总结:海思ipc摄像头使用方法与USB基本一致,还是有个共同的缺点,没有办法进行实时的可视化效果,无法直观观察到模型运行的效果。

感受

经过一周的试用,对EdgeBoard也有了初步的了解,总体来说:

优点

1. 自带环境丰富,无需配置交叉编译环境即可使用。

2. 默认的smb+ssh环境基本满足了开发需求,实现了到手即用。

3. 与EasyDL结合后,进行目标分类or目标检测的嵌入式集成基本做到了傻瓜化,模型训练容易上手。

4. 从上手来看,EdgeBoard作为一个异构的ARM+FPGA加速平台,基本上做到了无需了解嵌入式与FPGA的程度即可使用

缺点

1. 板子试用摄像头,缺乏可视化环境,如果可以实现一个小的流媒体服务器或使用DP接口输出,对模型效果的评估可能可以更加直观。

2. 风扇噪音较大,在室内长时间开发还是略微吵闹,可能因为没有开发调速策略导致。

3.部分win7系统修改系统策略后,仍然无法正常使用SMB连接目标板,希望后续版本可以移植SFTP后续会尝试一下一些已有模型,深度挖掘一下这块板子的功能


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    Ubuntu系统快速上手

    Ubuntu系统快速上手概述和操作说明
    的头像 发表于 04-12 16:25 146次阅读
    Ubuntu系统快速<b class='flag-5'>上手</b>

    【ELF 1开发板试用】开箱检测

    【ELF 1开发板试用】开箱检测 有人说:开箱验货很简单!我的观点是:开箱验货也要“有要求,走流程”!以下是开箱检测过程记录。 一、确定开箱
    发表于 11-24 11:29

    快速上手micro ros在RT-Thread上

    快速上手micro ros && RT-Thread(serial和udp方式)
    的头像 发表于 10-26 16:13 368次阅读
    快速<b class='flag-5'>上手</b>micro ros在RT-Thread上

    为何选择ElfBoard学习嵌入式?看看首发用户的开箱分享就懂了!

    本篇开箱文章来源于ELF1S的首批购买用户Novart1007,感谢分享!就在本月,飞凌嵌入式面向学习者推出了全新子品牌——ElfBoard,并发布了ELF1及ELF1S两款非常有竞争力的开发板产品
    的头像 发表于 10-21 15:35 304次阅读
    为何选择ElfBoard学习嵌入式?看看首发用户的<b class='flag-5'>开箱</b>分享就懂了!

    新手学习哪些语音模块比较快上手

    新手学习哪些语音模块比较快上手
    发表于 10-16 07:24

    平头哥Lichee D1 DocK Pro开发板上手评测

    平头哥Lichee D1 DocK Pro开发板上手评测
    的头像 发表于 09-28 16:15 613次阅读
    平头哥Lichee D1 DocK Pro开发板<b class='flag-5'>上手</b>评测

    基于STM32U5的B-U585I-IOT02A开发板开箱

    基于STM32U5的B-U585I-IOT02A开发板开箱
    的头像 发表于 09-26 16:20 900次阅读
    基于STM32U5的B-U585I-IOT02A开发板<b class='flag-5'>开箱</b>

    EdgeBoard使用指南

    电子发烧友网站提供《EdgeBoard使用指南.pdf》资料免费下载
    发表于 09-15 10:56 0次下载
    <b class='flag-5'>EdgeBoard</b>使用指南

    易于上手的入门级Cortex-M0显示屏方案

    易于上手的入门级Cortex-M0显示屏方案
    的头像 发表于 08-10 11:28 447次阅读
    易于<b class='flag-5'>上手</b>的入门级Cortex-M0显示屏方案

    指纹识别开箱配送机器人——智能楼宇工厂医院配送机器人介绍

    随着智能送物机器人的越来越普及,不同的场景对信息安全的要求也越来越高,各种需要生物特征识别取货的需求也就越来越多。针对这种情况,鲸启智能机器人结合自身比较稳定的机器人产品,正式对外发布了多维安全开箱
    的头像 发表于 08-02 16:02 232次阅读

    人脸识别开箱配送机器人——智能楼宇送物机器人方案介绍

    随着智能工厂配送和智能楼宇配送机器人产品的不断升级,需求也在从简单配送逐步延伸到精准配送。而精准配送就会涉及到指定人员的开箱操作,防止拿错,放错。 鲸启智能配送机器人自行研发和升级了开箱技术,提供
    的头像 发表于 08-02 16:00 488次阅读

    【KV260视觉入门套件试用体验】简单开箱和Ubuntu系统上手

    到KV260开发套件本体了: 好了,开箱完成。 二、Ubuntu系统上手 拆开包装,接下来就需要准备开机启动了。开机启动之前,需要先下载系统镜像,并将系统镜像烧录到SD卡上,再将SD插入到开发板上
    发表于 07-28 21:56

    安信可Rd-01人体感应模组上手教程

    安信可Rd-01人体感应模组上手教程来啦,享受毫米波雷达带来的极致体验
    的头像 发表于 07-17 10:57 369次阅读
    安信可Rd-01人体感应模组<b class='flag-5'>上手</b>教程

    #开箱视频#盘古50K开发板开箱教程#紫光同创盘古系列FPGA开发板@小眼睛FPGA盘古系列开发板~

    #开箱视频#盘古50K开发板开箱教程#紫光同创盘古系列FPGA开发板@小眼睛FPGA盘古系列开发板~
    发表于 06-09 16:50

    【CW32饭盒派开发板试用体验】+机械臂游戏项目(开源)(1)开箱试验舵机

    我很高兴能得到 CW32饭盒派开发板试用体验机会,想利用业余时间,做个机械臂游戏项目,用咱们的这个开发板,让更多的人了解此国产芯片的项目,了解此开发板,此项目开源,可以为更多的工程师上手提供经验
    发表于 04-28 20:10