首页 > 文章 > Vitis AI 加速 GMSL 摄像头人脸检测 - 第一部分

Vitis AI 加速 GMSL 摄像头人脸检测 - 第一部分

Brian Wiec 2020年07月09日

本文是由四部分组成的系列文章的第一篇

简介

赛灵思为基于 Zynq Ultrascale+ 开发板的神经网络处理提供了大量的参考设计和示例,这些开发板基于预先构建的二进制文件或平台。扩展这些示例和/或者将它们集成到一个更特定于应用的系统中,通常是期望的下一步。例如,这可能涉及在定制电路板上部署或使用特定的传感器。

本文的目的是演示关键概念,这些概念对创建适用于边缘设备上基于 DPU 的神经网络加速的定制 Vitis 平台很有必要。

本文档与 2020_05_28_vitis_ai_multicam.zip 设计文件(或 git tag rev3)相关


期望

本文档并非旨在作为任何特定元素(例如摄像头接口、Vivado、Vitis AI 或 PetaLinux)的教程,而是要简化原型的制作过程。本文档也并非旨在为每个确切命令提供分步说明,而是提供类似于实验室笔记的描述,并突出解释关键概念。


参考材料


安装步骤

本文中演示的流程很复杂,涉及众多要安装和配置的工具、库、驱动程序和设计文件。为了节省用来收集不同来源的安装信息的时间,本节记录了在开发该平台时所使用的设置。想要了解任何有关特定项目的更多详细信息,请参阅相关的文档。

主机详情

本设计构建在 Ubuntu 18.04.3 LTS 机器上

ubuntu18.04.3

在文档的其余部分安装了几个安装包/库,但现在应该安装一些额外的安装包/库:

sudo apt-get install -y docker wget git make unzip

请注意,是从 Ubuntu 库中安装 docker。官方安装 docker 的方法可能更可取:

https://docs.docker.com/engine/install/ubuntu/

https://docs.docker.com/engine/install/linux-postinstall/

Docker 需要以普通用户身份运行。因此,将 docker 组添加到用户

sudo groupadd docker

sudo usermod -aG docker ${USER}

登录到新的终端会话,以便更改生效。

Vitis

downloads

2. 运行 xsetup 脚本来启动安装程序

3. 使用所需设置继续安装程序,并突出显示以下说明

    在“选择要安装的产品”页面,选择 Vitis

product-instal

在 Vitis 统一软件平台页面,确保启用 Vitis、Vivado、为 Alveo 和赛灵思边缘加速平台安装器件、Zynq Ultrascale+ MPSoC

vitis-instal

Petalinux

19.1

2. 按照 UG1144 安装所有必备的库

3. 运行 petalinux-v2019.2-final-installer.run 进行安装

Xilinx Runtime (XRT)

Vitis AI 加速流程(本设计用于部署 DPU)利用名为 XRT 的软件层,它统一了边缘(即 Zynq PS + PL)或云(即 x86+PCIe FPGA)设计上的加速器内核部署。该设计使用 Zynq PS 在部署期间运行 XRT,XRT 将在 Petalinux 构建期间安装到目标应用。但是,还需要将 XRT 安装到开发主机上,以便 Vitis 对其进行编译和链接。

对于嵌入式部署,可以按照 XRT 上的步骤从源代码构建 XRT 并将其安装到主机上 https://github.com/Xilinx/XRT/blob/master/src/runtime_src/doc/toc/build.rst

1. 克隆 XRT git repo

git clone https://github.com/Xilinx/XRT

2. 安装依赖关系

sudo src/runtime_src/tools/scripts/xrtdeps.sh

3.  构建运行时

cd build

./build.sh

4.  构建 .deb

cd build/Release

make package

cd ../Debug

make package

5.安装 .deb

sudo apt install --reinstall ./xrt_201830.2.1.0_18.10.deb

Docker 镜像

Vitis AI 工具作为需要获取的 docker 镜像提供

docker pull xilinx/vitis-ai:tools-1.0.0-cpu

docker pull xilinx/vitis-ai:runtime-1.0.0-cpu

列出 docker 镜像,以确保它们已正确安装并具有以下名称

docker-images

请注意,本设计中的脚本将使用 CPU 工具 docker 镜像,而不是 GPU 镜像


快速入门

安装完所有必需的工具后,执行以下步骤来构建和运行整个设计

1.  要构建整个设计,请执行以下命令:

source /2019.2/settings64.sh

source /2019.2/settings.sh

source /xrt/setup.sh

unzip _vitis_ai_multicam.zip

cd vitis_ai_multicam

make

2. 准备 SD 卡

a. 创建 FAT32 启动分区和 EXT4 rootfs 分区

b. 将 sd_card 目录下除 rootfs.tar.gz 外的所有文件复制到 FAT32 启动分区

c. 将 rootfs.tar.gz 提取到 EXT4 rootfs 分区

tar -xvf rootfs.tar.gz -C

3. 硬件设置

a. 将 SD 卡插入 ZCU102

b. 设置启动方式为 SD

c. 插入电源线

d. 将 Avnet FMC MULTICAM4-G FMC 卡与连接到 HPC0 的所有 4 个 AR0231 成像器相连

e  连接 DisplayPort 输出到 720p 显示器

f.  将 MicroUSB 电缆连接到 USB UART 连接器

g.  连接串行终端,波特率为 115200

4. 运行设计

a.  电路板上电

b.  登录

Username: root

Password: root

c. 运行演示

cd /mnt

facedetect

5. 其他

a. I2C 写入设置成像器有时可能会失败并显示以下错误:

error

如果发生这种情况,请重新运行 facedetect 和/或重新启动。


About Brian Wiec

About Brian Wiec

Brian Wiec 是底特律地区的一名现场应用工程师,为赛灵思汽车行业客户提供 ADAS、自动驾驶、信息娱乐和动力系统控制方面的应用支持。他加入赛灵思已有八年,具有视频、信号处理和嵌入式系统设计和实施的现场和工厂支持方面经验。Brian一向乐于与客户合作,帮助他们解决技术挑战,并积极参与客户创新举措。Brian业余时间喜欢和家人共度时光,爱好远足、听音乐、打曲棍球、观看大学橄榄球比赛(他是密歇根大学橄榄球队的球迷)。