VitisAI(05)-Vitis Flow
本文承接VitisAI-04-PetaLinux Flow,介绍使用Xilinx的Vitis工具利用Vivado生成的design_1_wrapper.xsa文件以及PetaLinux编译的rootfs和内核镜像,生成制作好的SD卡镜像文件sd_card.img
本文承接VitisAI-04-PetaLinux Flow,介绍使用Xilinx的Vitis工具利用Vivado生成的design_1_wrapper.xsa文件以及PetaLinux编译的rootfs和内核镜像,生成制作好的SD卡镜像文件sd_card.img
本文承接VitisAI-03-Vivado Flow,介绍使用Xilinx的PetaLinux工具将Vivado生成的design_1_wrapper.xsa文件创建PetaLinux并编译生成Linux镜像和rootfs的过程
本文源自ARM CMSIS-NN项目的一篇论文”CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs”。CMSIS-NN是一种高效的内核,用于将最大化性能和最小化内存占用的神经网络应用于Arm Cortex-M处理器上。基于CMSIS-NN核的神经网络在推理运行时间上提高4.6倍,在能效上提高4.9倍
众所周知,在传统图像处理领域,不同的处理任务都有各自的一套评价标准,比如降噪任务中的 PSNR 和 SSIM,自动白平衡中的角度差,颜色还原中的色差,等等。但是,当我们把应用场景切换到 CV 领域后,照搬这套传统的图像质量评价(Image Quality Assessment, IQA)体系来评价一个成像系统的性能,很有可能无法得到客观、公正的结果。
从本文开始,将正式介绍VitisAI的工作流程。第一个流程就是Vivado Flow,在Vivado开发环境中创建一个硬件平台,最终的输出是xxx.xsa硬件描述文件,为后续的PetaLinux和Vitis提供基础。Vivado中的大部分的内容都是在Block Design中完成的,核心目标是创建一个Zynq UltraScale MPSoC的运行硬件环境,以及为DPU的正常运行提供硬件支持。这里需要注意,较老版本的VitisAI教程中,需要在Vivado中导入DPU的IP核,这种做法已经成为历史,本文介绍的流程中,在Vivado中是不需要导入DPU IP核的,只是对DPU运行环境进行支持,例如中断、时钟等
SPL在uboot的启动过程中是一个非常重要的概念,在uboot的启动相关代码中,可以看到很多与SPL相关判断和处理,了解SPL对于理解CPU以及整个系统的启动过程是很有帮助的。本文主要对以下内容进行介绍
Tom Mertens、Jan Kautz等人在”Exposure Fusion”这篇paper中提出了一种简单有效的曝光融合方法,通过将一组不同曝光的图像序列进行直接融合得到一副高质量图像,而不需要先将这些图像序列转化为HDR。传统的HDR做法采用多重曝光获得图像序列,需要将其转换为辐照度估计的radiance map,也就是HDR格式的高动态范围图像,然后再进行tone mapping,将高动态范围图像映射为低动态范围的显示设备能够显示的图像。本文对paper的方法进行介绍,并以python代码进行实作
图像金字塔对于执行多尺度的编辑操作非常有效,能够在保持图像细节的同时进行融合。Peter J. Burt等人在1983年的”The Laplacian Pyramid as a Compact Image Code”中提出了拉普拉斯金字塔用于图像压缩,后来该方法被用于图像融合效果很好
在第一篇文章”VitisAI-01-Overview”中,我简要介绍了什么是VitisAI、VitisAI相关的的技术栈、我的开发环境是什么样的以及需要安装下载哪些资源。本文对我的开发环境以及所需资源的下载安装进行一个更为详细的说明
阅读PDF格式的论文或者一些书籍时,经常希望将PDF文件中的图片提取出来,市面上有些PDF格式转换的工具可以做到,但是很多都要收费。通过Python的pymupdf库可以完成该功能