教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承20年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
课程简介:
课程目标:
课程大纲:
Xilinx-FPGA人工智能设计与实现技术培训
1. 演示FPGA AI项目视频文件,让学员对FPGA AI项目的应用范围和实现方法有一个直观的认识。
2. FPGA AI环境搭建。介绍虚拟机VMware、Ubuntu、Vitis、docker、Vitis AI、CMake、Opencv、XRT和Model Zoo的安装和环境变量设置。
3. FPGA AI开发原理和流程。介绍深度学习处理单元DPU、AI优化器、AI量化器、AI编译器、运行时XRT、DPU指令集等Vitis AI主要概念、开发流程、专有命令和API接口。
4. FPGA AI开发板介绍和使用。Alveo系列、Versal系列、ZynqMP系列,重点介绍本课程所用开发板Kria KV260、Ultra96、ZCU104,内容包括开发板硬件接口和连接、镜像烧录、网络配置、通讯软件和例程演示。
5. Kria KV260 AI开发板加速原理和自带例程详解。介绍开发板自带的两种加速核Smartcam、Aibox-reid实现原理、C++、Python和GStreamer VVAS三种语言例程演示和程序解析,其中包含VART调用DPU流程和命令,比特流和kernel载入、输入预处理、模型运行和输出参数后处理全过程。
1. KV260 Smartcam硬件平台制作。全制作过程采用非项目开发形式Vitis、Vivado设计与编译,介绍makefile、Vitis、Vivado、Tcl批处理文件,其中对于涉及到Vitis开发软件亦做了简单介绍,也可以用Vitis或Vivado Gui界面打开分析编译。
2. 口罩识别yolov3和yolov3-tiny模型训练、PC验证和移植KV260全流程。这是一个包括模型修改、数据集训练、模型转化与固化、量化与编译、镜像生成,其训练模型首先在PC机上使用Keras框架上进行验证,再将镜像放到KV260上进行实操验证。并对其中用到的命令、PC机程序和FPGA上程序进行讲解。
3. KV260 Vitis AI 1.4 yolov4-tiny模型编译生成xmodel,开发板后处理程序解读,开发板实操x11和hdmi显示和影响时延因素分析,本节生成的模型也在下面的Gstreamer编程中使用。
4. Ultra96 yolov2-tiny Vitis AI 1.3模型转换与固化、量化与编译、开发板图像预处理程序、DPU AI调用命令集和DPU输出后处理程序(包括目标阈值筛选、非最大值抑制 NMS和目标框绘制)和目标跟踪算法程序,掌握yolo模型目标识别后处理程序和用户算法程序的编写。
1. 介绍多媒体GStreamer框架和插件,包括Element、Queue、Tee、Pad、Bin等基本元素,filesrc、v4l2src、kmssink、h264parse、x264enc等主要模块,和qp、leaky、control-rate、target-bitrate、periodicity-idr、gop-length等主要参数,并在PC虚拟机上进行pipeline编程练习。
2. 介绍Xilinx基于Gstreamer框架的视频开发套件Vitis Video Analytics SDK (VVAS),包括硬件与软件对应的层次结构,主要组件omxh264enc、omxh264dec、ivas_xfilter、ivas_xmetaaffixer等的作用与命令格式,并以框图上逐次增加功能模块的方式讲解VVAS pipeline语言如何编写,掌握用这种高度集成和方便的工具实现FPGA AI视觉应用编程。
3. 利用在前面的课程中编译得到的yolov2-tiny xmodel模型,使用VVAS编程语言讲解编写目标识别pipeline, 实现在KV260上的视频文件读取、图像预处理、DPU运行、后处理、视频输出和存盘的所有功能。
4. 基于KV260的自带人脸识别模型和人物跟踪模型,分别讲解编写VVAS pipeline人脸识别和人物跟踪,输出显示在HDMI上,同时改变Gstreamer VVAS参数直观感受不同的参数对视频带来的影响,讲解如何正确设置Gstreamer VVAS参数。
练习
答疑