Steam即将上线全民VR录屏工具VRCapture
06-18
简介 市场上有很多基于嵌入式平台的神经网络加速平台。
今天给大家带来的是百度大脑出品的EdgeBoard。
根据官网文档,EdgeBoard是一款基于Xilinx Zynq Ultrascale+ MPSoC系列芯片的深度学习加速套件,是目前比较常见的采用FPGA进行加速的解决方案。
开箱收到的 EdgeBoard 是一个浅黄色纸盒。
当你打开它时,里面有四个物品,包括 EdgeBoard 主体。
与官网图片相比,多了散热器、风扇和防护。
使用亚克力板,固件已经刷入,一张SD卡,一个12V2A适配器,连接器是2P间距3.81的接线端子,一条MicroUSB线,一块EdgeBoard板子做工精良,根据官网介绍资料显示,它分为主板和电源板两部分,加上散热器的长宽高合计为×80×50。
该板子的具体硬件资源不再详细介绍,官方硬件框图尚未公布。
启动系统并将支持的SD卡插入计算机。
可以发现固件已经烧录好了,应该可以直接启动了(官方资料没有找到烧录SD卡的方法,如果卡丢失了……) 1、将SD卡插入SD 卡插槽并使用 MicroUSB 电缆将其连接到计算机。
USB 转 UART 设备将出现在设备管理器中。
2、使用任意串口终端打开串口(以Xshell为例),将COM口号设置为设备管理看到的串口号,其余设置如下: Band Rate:00Data Bits: 8个停止位:1个奇偶校验:无流量控制:无3。
连接接线端子 将其插入电源插座并打开电源适配器。
可以看到电源灯亮了,风扇在轰鸣。
该风扇的测量速度为 0.0 rpm。
长时间调试时,噪音稍显明显。
上电后,可以看到串口终端中显示了启动数据。
1. Xilinx Zynq MP 第一阶段引导加载程序 2. 4 月 23 日 - 13:19:54 发布 3. 注意:ATF 在 XCZU9EG/silicon v4/RTL5.1 上运行,地址为 0xfffea,带有 PMU 固件 4. 注意:BL31:安全0x0 处的代码 5. 注意:BL31:0x6 处的非安全代码。
注意:BL31:v1.3(发布):47af34b 7. 注意:BL31:构建:4 月 23 日 04:10:38 8. U-Boot .01(4 月 23 日 - 12:20:25 0)Xilinx ZynqMP ZCUrevB OpenAi 9、I2C:就绪 10、DRAM:2 GiB 11、EL 级别:EL2 12、芯片 ID:xczu9eg 13、MMC:sdhci@ff00:0(eMMC)、sdhci@ff00:1(SD) 14. 读取 uboot。
env 可以看到 Xilinx 特定的 FSBL 数据。
可以看出,这款主板的基本配置应该是精简版的ZCU,配备2G DRAM。
等待几秒后,内核启动,串口中出现登录信息。
1. PetaLinux .4 edge_board /dev/ttyPS0 2. edge_board 登录:输入用户名 root 和密码 root 进入系统。
出现终端标志,表示启动成功。
1. root@edge_board:~# 总结:启动系统比较容易,但是启动过程中遇到了问题。
如果插上网线,U-Boot会选择从网络启动,这会导致系统启动缓慢。
配置SSH SMB 开发环境EdgeBorad 已配置SSH 终端和SMB 文件共享服务器。
也可以参考官方的使用步骤: 在串口终端查看板子IP 1. root@edge_board:~# ifconfig 2. eth0 Link encap: Ethernet HWaddr 00:0a :35:00:00:09 3. inet6 addr : fe80::20a:35ff:fe00:9/64 范围:链接 4. UP 广播运行多播 MTU:度量:1 5. RX 数据包:39 错误:0 丢弃: 0 溢出: 0 帧: 0 6. TX 数据包:错误:0 丢弃:0 溢出:0 运营商:0 7.冲突:0 txqueuelen:8.RX 字节:(4.8 KiB) TX 字节:3 (25.2 KiB) 9.中断:30 10.eth0:avahi 链路 encap:以太网HWaddr 00:0a:35:00:00:09 11. inet addr:..1.Bcast:...掩码:..0.0 12. UP 广播运行多播 MTU :公制:1 13、1、中断:30 2 、lo Link encap:Local Loopback 3、inet addr:.0.0.1 Mask:.0.0.0 4、inet6 addr: ::1/Scope:Host 5、UP LOOPBACK RUNNING MTU: 6 Metric: 1 6. RX 数据包: 2 个错误:0 个丢弃:0 个溢出:0 个帧:0 7. TX 数据包:2 个错误:0 个丢弃:0 个溢出:0 个载波:0 8. 冲突:0 txqueuelen:1 9.RX 字节:(.0 B) TX 字节:(.0 B) 2. 使用从串行端口读出的 IP,在本例中为 ..1。
您可以连接到 SSH 和 SMB 并在本地输入:\..1。
您可以访问edgeboard文件。
Win7系统需要注意一些配置,具体请查看Edgeboard说明。
总结:环境已经配置完毕,上手非常容易。
我在用户目录下发现了.xfce4的配置文件。
难道它有图形界面吗?我手头没有DP线,等会儿试试。
EasyDL+EdgeBoard 构建带有性别检测的人脸识别模型。
Edge的卖点之一是支持导入EasyDL生成的模型。
EasyDL平台是一个模型训练平台,可以使用几十上百张图片训练出效果很好的模型。
官方声称,不懂深度学习的用户可以仅依靠视觉操作完成深度学习训练。
1.登录EasyDl官网创建物体检测模型并创建训练数据集。
在本次测试中,从百度新闻中捕获了 20 张包含人脸的图片。
3.数据集标注,Easydl支持在线标注,只需选中图片,用鼠标在图片上拉出一个方框即可。
4.数据集标注完成后,就可以训练模型了。

由于待测试的模型是基于SSD的目标检测,因此本次选择精度较低的模型。
(高精度基于RetinaNet模型)。
单击开始训练。
完成训练大约需要30分钟。
5.在线验证型号。
训练完成后,点击验证模型即可查看测试模型的训练效果。
这次,发现一名女孩被误认为是男孩。
推测是训练集太小,但是人脸识别功能没问题。
6.模型导出:由于Easydl还没有正式发布模型导出功能,所以这次是通过联系后端人员导出模型的。
7. 将 Easydl 导出的模型通过 SMB 传输到 EdgeBoard 并替换原来的 params 和 model.encrypted: \..1.\roothome\workspace\sample\sample_easydl\model8。
重新编译模型。
步骤如下: 1. insmod /home/root/workspace/driver/fpgadrv.ko 2. cd /home/root/workspace/sample/sample_easyd 3. // 如果没有构建目录,则创建一个 4. mkdir build 5. cd build 6. rm -rf * 7. cmake .. 8. make 9. 编程成功后,运行预测程序。
1.a.从网上随机下载一个人的图片,将名称更改为1.jpg并替换\\..1.\roothome\workspace\sample\sample_easydl\image中的原始图片。
3.b.执行./paddle_edgeboard 10.查看图像输出结果。
打开\..1.\roothome\workspace\sample\sample_easydl\build\result.jpg,与命令行预测的四个目标一致。
这里,由于未调整阈值,因此检测到四个框。
总结:这次我们创建了一个简单的Easydl模型,数据集较小,所以准确率不是很高。
Edgeboard和Easydl的结合可以帮助我们在可用性和快速部署方面快速开发相关应用产品。
运行 USB 摄像头输入预测示例。
通过官方文档,我们发现该板支持USB摄像头和海思的IPC摄像头接口。
我们翻遍了盒子,发现了两台相机。
接下来,我们尝试使用USB摄像头进行实时输入检测。
1.连接设备,将摄像头直接插入底板的USB口。
2. 开发板自带USB摄像头驱动和示例工程。
按照顺序1执行以下命令。
// 检查设备文件是否生成。
通常是 /dev /video2 2. ls /dev/video* 3. insmod /home/root/workspace/driver/fpgadrv.ko 4. cd /home/root/workspace/sample/sample_usb 5. mkdir build 6. cd构建 7.rm - rf * 8,cmake .. 9,make3。
执行预测命令1../paddle_edgeboard 输出结果如下:可以看到实时检测结果,输出格式为目标位置,如下图所示。
总结:本次通过命令行USB摄像头测试就是这样进行的,输出每一帧的目标检测结果。
实时性能达到10FPS,效果还不错。
但包含的例程不具备实时可视化功能。
遗憾的是我们没能看到实际的预测结果。
运行海思IPC 摄像头输入预测示例 1. 连接设备,将海思IPC 摄像头线插入插槽。
通电后,相机电源指示灯会同时亮起 2. 依次执行以下命令 1. insmod /home/root /workspace/driver/fpgadrv.ko 2. sudo chmod +x /home/root/workspace/driver /media-ctl 3. /home/root/workspace/driver/media-ctl -v -f '"a.v_tpg" :0[fmt:SRGGB8/x4, field:none]' 5. cd /home/root/工作区/样本/sample_bt6. mkdir build 7. cd build 8. rm -rf * 9. cmake .. 10. make 3. 执行预测命令1、./paddle_edgeboard 输出结果如下:可以看到实时检测结果,无可视图像例程中生成了,接下来就是测试相机采集效果了。
4. 查看摄像头采集图像的可视化效果 1. ls /dev/video* 2. /dev/video0 /dev/video1 3. insmod /home/root/workspace/driver/fpgadrv.ko 4. sudo chmod +x /home/ root/workspace/driver/media-ctl 5./home/root/workspace/driver/media-ctl -v -f '"a.v_tpg":0[fmt:SRGGB8/x6,字段:无]' 7. cd /home/root/workspace/tools/bt/ 8. mkdir build 9. cd build 10. cmake .. 11. make 12. ./bt 总结:海思ipc摄像头的使用方法基本相同USB的,还是有共同点缺点:无法实时可视化,无法直观观察模型运行的效果。
经过一周的试用,我对EdgeBoard有了初步的了解。
总体:优点1、自带丰富的环境,无需配置交叉编译环境即可使用。
2、默认的smb+ssh环境基本满足开发需求,即可使用。
3.与EasyDL结合后,目标分类或目标检测的嵌入式集成基本万无一失,模型训练很容易上手。
4、从上手的角度来看,EdgeBoard作为异构ARM+FPGA加速平台,基本不需要了解嵌入式和FPGA的水平就可以使用。
缺点 1、板子使用摄像头,缺乏视觉环境。
如果能够实现小型流媒体服务器或者使用DP接口输出,对模型效果的评估可能会更加直观。
2.风扇噪音大。
在室内使用时间长了还是有一点噪音。
这可能是由于缺乏调速策略造成的。
3、部分win7系统修改系统策略后,仍然无法正常使用SMB连接目标板。
我们希望后续版本能够移植SFTP。
未来我们会尝试一些现有的模型,深入探索这块板子的功能。
雷锋网版权所有Litchll撰写的文章,未经授权禁止转载。
详情请参阅转载说明。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-17
06-17
06-18
最新文章
Android旗舰之王的过去与未来
智能手表不被开发、AR眼镜被推迟,Meta的产品经历了一波三折
为什么Cybertruck是特斯拉史上最难造的车?
更新鸿蒙3后,文杰允许你在车里做PPT了
新起亚K3试驾体验:追求“性价比”,韩系汽车仍不想放弃
阿维塔15登场!汽车配备了增程动力,理想情况下会迎来新的对手吗?
马斯克宣布创建 ChatGPT 竞争对手! OpenAI的CEO给他泼了冷水, GPT-5可能会发生巨大变化
骁龙无处不在,是平台也是生态