本文转载自:PYNQ开源社区微信公众号
设计说明
本设计使用Ultra96开发板,使用InceptionV3网络,以及Vitis-AI的量化编译工具链,制作了一个五花分类装置。
本设计目的:利用Xilinx的DPU(Deep learning Processing Unit)IP,Vitis-AI工具链,快速的在FPGA上部署深度学习网络。
学习到的知识点:Keras InceptionV3的重训练;Vitis-AI在虚拟机中的部署;Vitis-AI量化、编译脚本的编写方法;dpu pynq、n2cube库的使用。
应用方向:本项目将一个简单的神经网络部署在Ultra96的PL端,由于DPU的硬件设计可以加速神经网络的推断速度,因此可以将更大型的神经网络部署在DPU中。
作品展示
功能实现
1、使用SSD Mobilenet的路面裂缝目标检测
2、使用InceptionV3的花朵分类任务
项目系统框图
技术方向说明
InceptionV3:
inception Module基本组成结构有四个成分。1*1卷积,3*3卷积,5*5卷积,3*3最大池化。最后对四个成分运算结果进行通道上组合。这就是Inception Module的核心思想。通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征。
Vitis-AI:
Vitis-AI 开发环境加速了在赛灵思硬件平台的AI推断,包括了IP核心、工具、库、以及样例设计。可以使用目前主流赛灵思开发板上使用。可以对训练好的AI模型进行量化以在DPU上获得更好的加速效果。
DPU:
DPU是用于加速深度学习推断的计算负载,广泛的在计算机视觉等应用中。
本项目已在GitHub开源,链接: https://github.com/MIracleyin/Flower5_u96